综合查询静态页面完善

This commit is contained in:
BianLzhaoMin 2025-04-03 14:23:20 +08:00
parent 2ded2f4034
commit 78539242b6
22 changed files with 719 additions and 59 deletions

View File

@ -121,7 +121,8 @@
{
"path": "pages/comprehensiveQuery/index",
"style": {
"navigationBarTitleText": "综合查询"
"navigationBarTitleText": "custom",
"navigationStyle": "custom"
}
}
],

View File

@ -0,0 +1,79 @@
<template>
<!-- 照片分类 -->
<view class="photo-class">
<view class="title"> 照片分类 </view>
<view>
<up-grid :border="false" col="5">
<up-grid-item v-for="(icon, index) in iconList" :key="index">
<up-image width="40" height="40" :src="icon.iconUrl" />
<text class="grid-text">{{ icon.title }}</text>
<text class="count">5100</text>
</up-grid-item>
</up-grid>
</view>
</view>
</template>
<script setup>
import { ref } from 'vue'
import icon_1 from '@/static/image/home_1.png'
import icon_2 from '@/static/image/home_2.png'
import icon_3 from '@/static/image/home_3.png'
import icon_4 from '@/static/image/home_4.png'
import icon_5 from '@/static/image/home_5.png'
const props = defineProps({
totalCount: {
type: Number,
default: () => 0,
},
})
const iconList = ref([
{
jumpPath: '/pages/safetyViolations/index',
title: '安全违章',
iconUrl: icon_1,
},
{
jumpPath: '/pages/qualityInspection/index',
title: '质量检查',
iconUrl: icon_2,
},
{
jumpPath: '/pages/safetyMeasure/index',
title: '安全措施',
iconUrl: icon_3,
},
{
jumpPath: '/pages/coordinatePhotos/index',
title: '协调照片',
iconUrl: icon_4,
},
{
jumpPath: '/pages/importantMatters/index',
title: '重要事项',
iconUrl: icon_5,
},
])
</script>
<style lang="scss" scoped>
.photo-class {
width: 100%;
& .title {
padding: 36rpx 0;
font-size: 17px;
font-weight: bold;
}
.grid-text {
font-size: 12px;
}
.count {
font-size: 11px;
color: #666;
}
}
</style>

View File

@ -0,0 +1,251 @@
<template>
<!-- 最近上传 -->
<view class="photo-class">
<view class="title">
<view>最近上传</view>
<view>我的收藏</view>
</view>
<view>
<up-grid :border="false" col="2">
<up-grid-item v-for="(icon, index) in iconList" :key="index">
<!-- <up-image width="40" height="40" :src="icon.iconUrl" />
<text class="grid-text">{{ icon.title }}</text>
<text class="count">5100</text> -->
<view class="grid-item-box">
<up-image
width="100%"
height="120"
:src="icon.iconUrl"
@tap="onHandleImage(icon.iconUrl)"
/>
<view class="collect">
<view>2024-02-06</view>
<view @tap="onHandleCollect(icon)">
<up-icon
size="18"
:color="icon.collect ? '#f56c6c' : '#999'"
:name="icon.collect ? 'heart-fill' : 'heart'"
/>
</view>
</view>
<view class="photo-type" :style="setBackgroundColor(icon)">
{{ icon.title }}
</view>
</view>
</up-grid-item>
</up-grid>
</view>
</view>
<!-- 展示图片 -->
<up-popup :show="showImg" mode="center" @close="showImg = !showImg" bgColor="transparent">
<view class="img-show-box">
<up-image width="100%" height="100%" :src="showImgUrl" />
<view class="upload-btn">
<view @tap="onHandleYtUpload"> 原图下载 </view>
<view @tap="onHandleSyUpload"> 水印下载 </view>
</view>
</view>
</up-popup>
</template>
<script setup>
import { computed, ref } from 'vue'
import icon_1 from '@/static/image/home_1.png'
import icon_2 from '@/static/image/home_2.png'
import icon_3 from '@/static/image/home_3.png'
import icon_4 from '@/static/image/home_4.png'
import icon_5 from '@/static/image/home_5.png'
const props = defineProps({
totalCount: {
type: Number,
default: () => 0,
},
})
const showImg = ref(false)
const showImgUrl = ref('')
const iconList = ref([
{
jumpPath: '/pages/safetyViolations/index',
title: '安全违章',
collect: false,
type: 1,
iconUrl:
'https://fc1tn.baidu.com/it/u=3320401609,696579967&fm=202&src=780&ernie_sim_online&mola=new&crop=v1',
},
{
jumpPath: '/pages/qualityInspection/index',
title: '质量检查',
type: 2,
collect: false,
iconUrl:
'https://fc1tn.baidu.com/it/u=3320401609,696579967&fm=202&src=780&ernie_sim_online&mola=new&crop=v1',
},
{
jumpPath: '/pages/safetyMeasure/index',
title: '安全措施',
collect: false,
type: 3,
iconUrl:
'https://fc1tn.baidu.com/it/u=3320401609,696579967&fm=202&src=780&ernie_sim_online&mola=new&crop=v1',
},
{
jumpPath: '/pages/coordinatePhotos/index',
title: '协调照片',
collect: true,
type: 4,
iconUrl:
'https://fc1tn.baidu.com/it/u=3320401609,696579967&fm=202&src=780&ernie_sim_online&mola=new&crop=v1',
},
{
jumpPath: '/pages/importantMatters/index',
title: '重要事项',
collect: true,
type: 5,
iconUrl:
'https://fc1tn.baidu.com/it/u=3320401609,696579967&fm=202&src=780&ernie_sim_online&mola=new&crop=v1',
},
{
jumpPath: '/pages/safetyMeasure/index',
title: '安全措施',
collect: false,
type: 3,
iconUrl:
'https://fc1tn.baidu.com/it/u=3320401609,696579967&fm=202&src=780&ernie_sim_online&mola=new&crop=v1',
},
{
jumpPath: '/pages/coordinatePhotos/index',
title: '协调照片',
collect: true,
type: 4,
iconUrl:
'https://fc1tn.baidu.com/it/u=3320401609,696579967&fm=202&src=780&ernie_sim_online&mola=new&crop=v1',
},
{
jumpPath: '/pages/importantMatters/index',
title: '重要事项',
collect: true,
type: 5,
iconUrl:
'https://fc1tn.baidu.com/it/u=3320401609,696579967&fm=202&src=780&ernie_sim_online&mola=new&crop=v1',
},
])
//
const onHandleCollect = (icon) => {
icon.collect = !icon.collect
console.log('取消收藏')
}
//
const onHandleImage = (url) => {
console.log('图片点击了')
showImgUrl.value = url
showImg.value = true
}
//
const setBackgroundColor = (icon) => {
if (icon?.type === 1) return { backgroundColor: '#f56c6c' }
if (icon?.type === 2) return { backgroundColor: '#19be6b' }
if (icon?.type === 3) return { backgroundColor: '#ff9900' }
if (icon?.type === 4) return { backgroundColor: '#f56ccf' }
if (icon?.type === 5) return { backgroundColor: '#00bfbf' }
}
//
const onHandleYtUpload = () => {
showImg.value = false
}
//
const onHandleSyUpload = () => {
showImg.value = false
}
</script>
<style lang="scss" scoped>
.photo-class {
width: 100%;
margin-top: 24rpx;
& .title {
display: flex;
justify-content: space-between;
align-items: center;
padding: 36rpx 0;
& view:first-child {
font-size: 17px;
font-weight: bold;
}
& view:last-child {
margin-right: 16rpx;
color: #4a6fff;
font-size: 14px;
letter-spacing: 1rpx;
}
}
.grid-item-box {
position: relative;
width: 95%;
// height: 100rpx;
margin-bottom: 10rpx;
display: flex;
flex-direction: column;
box-shadow: 0 1px 2px rgba(0, 0, 0, 0.3);
border-bottom-right-radius: 16rpx;
border-bottom-left-radius: 16rpx;
.photo-type {
position: absolute;
padding: 0 10rpx;
right: 20rpx;
top: 10rpx;
height: 48rpx;
line-height: 48rpx;
font-size: 12px;
border-radius: 24rpx;
color: #fff;
}
}
.collect {
padding: 16rpx 18rpx;
display: flex;
align-items: center;
justify-content: space-between;
font-size: 12px;
}
}
.img-show-box {
width: 100vw;
height: 40vh;
position: relative;
.upload-btn {
width: 100%;
position: absolute;
bottom: 0;
left: 0;
display: flex;
align-items: center;
& view {
padding: 30rpx 0;
width: 50%;
color: #fff;
text-align: center;
letter-spacing: 2px;
background-color: rgba(0, 0, 0, 0.3);
}
& view:first-child {
margin-right: 1px;
}
}
}
</style>

View File

@ -0,0 +1,48 @@
<template>
<!-- 照片总数 -->
<view class="total-count">
<view>
<view class="count">21,635,54 &nbsp;</view>
<view class="count-text">照片总数</view>
</view>
<view>
<up-image width="48" height="48" shape="circle" :src="imgSrc" />
</view>
</view>
</template>
<script setup>
import imgSrc from '@/static/image/photo_total.png'
const props = defineProps({
totalCount: {
type: Number,
default: () => 0,
},
})
</script>
<style lang="scss" scoped>
.total-count {
width: 100%;
margin-top: 20rpx;
padding: 36rpx 28rpx;
display: flex;
align-items: center;
justify-content: space-between;
background-color: #eef1ff;
border-radius: 18rpx;
box-sizing: border-box;
.count {
font-size: 18px;
font-weight: bold;
letter-spacing: 1rpx;
}
.count-text {
margin-top: 12rpx;
font-size: 14px;
color: #666;
}
}
</style>

View File

@ -1,16 +1,287 @@
<template>
<!-- 综合查询一级页面 -->
<view class="qualityInspection"> </view>
<!-- 照片统计一级页面 -->
<view class="comprehensive-query" :style="{ paddingTop: safeAreaInsets?.top + 44 + 'px' }">
<NavBarModal :navBarTitle="`照片统计`" />
<!-- 筛选框 -->
<view class="filter-box">
<up-input placeholder="输入标题" v-model="photoSearchValue">
<template #prefix>
<up-icon name="search" size="24" @tap="onSearchPhoto" />
</template>
<template #suffix>
<text class="search-text" @tap="onHandleSeniorSearch">高级筛选</text>
</template>
</up-input>
</view>
<view class="photo-container">
<PhotoTotal />
<PhotoClass />
<PhotoRecent />
</view>
<view class="loading-text">
{{ finish ? '没有更多数据了~' : '正在加载...' }}
</view>
</view>
<up-back-top :scroll-top="scrollTop"></up-back-top>
<!-- 高级筛选框 -->
<up-popup
mode="right"
safeAreaInsetTop
:show="rightPopupShow"
@close="rightPopupShow = !rightPopupShow"
>
<view class="senior-popup">
<up-list>
<view class="senior-title">
<up-icon name="pushpin-fill" color="#333" size="24" />
<text>高级筛选</text>
</view>
<up-form
labelWidth="100"
labelAlign="center"
labelPosition="left"
style="padding-right: 20rpx"
:style="{ paddingBottom: safeAreaInsets?.top + 50 + 'px' }"
>
<TitleTipModal :TitleTip="`通用信息查询`" />
<up-form-item prop="projectName" label="搜索查询">
<up-input placeholder="请输入" />
</up-form-item>
<up-form-item prop="projectName" label="开始日期">
<up-input placeholder="请选择">
<template #prefix>
<up-icon name="calendar" size="16" />
</template>
</up-input>
</up-form-item>
<up-form-item prop="projectName" label="结束日期">
<up-input placeholder="请选择">
<template #prefix>
<up-icon name="calendar" size="16" />
</template>
</up-input>
</up-form-item>
<up-form-item prop="projectName" label="工程">
<up-input placeholder="请选择工程名称">
<template #suffix>
<up-icon name="arrow-down" size="16" />
</template>
</up-input>
</up-form-item>
<up-form-item prop="projectName" label="专业">
<up-input placeholder="请选择专业">
<template #suffix>
<up-icon name="arrow-down" size="16" />
</template>
</up-input>
</up-form-item>
<up-form-item prop="projectName" label="工序">
<up-input placeholder="请选择工序">
<template #suffix>
<up-icon name="arrow-down" size="16" />
</template>
</up-input>
</up-form-item>
<TitleTipModal :TitleTip="`安全违章照片`" />
<up-form-item prop="projectName" label="类型">
<up-checkbox-group placement="row">
<up-checkbox activeColor="red" label="违章照片" />
<up-checkbox activeColor="green" label="整改照片" />
</up-checkbox-group>
</up-form-item>
<up-form-item prop="projectName" label="违章地点">
<up-input placeholder="请输入" />
</up-form-item>
<up-form-item prop="projectName" label="违章描述">
<up-input placeholder="请输入" />
</up-form-item>
<up-form-item prop="projectName" label="违章说明">
<up-input placeholder="请输入" />
</up-form-item>
<TitleTipModal :TitleTip="`质量检查照片`" />
<up-form-item prop="projectName" label="类型">
<up-checkbox-group placement="row">
<up-checkbox activeColor="red" label="缺陷照片" />
<up-checkbox activeColor="green" label="整改照片" />
</up-checkbox-group>
</up-form-item>
<up-form-item prop="projectName" label="检查地点">
<up-input placeholder="请输入" />
</up-form-item>
<up-form-item prop="projectName" label="检查描述">
<up-input placeholder="请输入" />
</up-form-item>
<up-form-item prop="projectName" label="整改说明">
<up-input placeholder="请输入" />
</up-form-item>
<TitleTipModal :TitleTip="`安全措施落实照片`" />
<up-form-item prop="projectName" label="检查地点">
<up-input placeholder="请输入" />
</up-form-item>
<up-form-item prop="projectName" label="检查描述">
<up-input placeholder="请输入" />
</up-form-item>
<TitleTipModal :TitleTip="`协调照片`" />
<up-form-item prop="projectName" label="类型">
<up-checkbox-group placement="row">
<up-checkbox activeColor="red" label="建设前" />
<up-checkbox activeColor="green" label="建设中" />
<up-checkbox activeColor="green" label="恢复后" />
</up-checkbox-group>
</up-form-item>
<up-form-item prop="projectName" label="建设地点">
<up-input placeholder="请输入" />
</up-form-item>
<TitleTipModal :TitleTip="`重要事项及宣传照片`" />
<up-form-item prop="projectName" label="标题">
<up-input placeholder="请输入" />
</up-form-item>
</up-form>
</up-list>
<!-- 按钮组 -->
<view class="btns">
<view>
<view>
<up-button
size="small"
type="primary"
icon="search"
text="查询"
@tap="onHandleSearch"
/>
</view>
<view style="margin-left: 18rpx">
<up-button size="small" icon="reload" text="重置" @tap="onHandleReset" />
</view>
</view>
</view>
</view>
</up-popup>
</template>
<script setup>
import NavBarModal from '@/components/NavBarModal/index'
import TitleTipModal from '@/components/TitleTipModal/index'
import PhotoTotal from './components/photo-total.vue'
import PhotoClass from './components/photo-class'
import PhotoRecent from './components/photo-recent'
import { ref } from 'vue'
import { onLoad, onReachBottom, onPageScroll } from '@dcloudio/uni-app'
const scrollTop = ref(0)
const finish = ref(true)
const photoSearchValue = ref('')
const rightPopupShow = ref(false)
const { safeAreaInsets } = uni.getSystemInfoSync()
//
const onSearchPhoto = () => {
console.log('onSearchPhoto')
}
//
const onHandleSeniorSearch = () => {
console.log('高级搜索')
rightPopupShow.value = true
}
//
const onHandleSearch = () => {
rightPopupShow.value = false
}
//
const onHandleReset = () => {
rightPopupShow.value = false
}
onReachBottom(() => {
console.log('滚动触底事件--')
})
//
onPageScroll((e) => {
scrollTop.value = e.scrollTop
})
</script>
<style lang="scss" scoped>
.comprehensiveQuery {
.comprehensive-query {
height: 100%;
background-color: #f6f9ff;
box-sizing: border-box;
.filter-box {
padding: 16rpx 0;
.search-text {
font-size: 14px;
letter-spacing: 1rpx;
color: #4a6fff;
}
::v-deep .u-input {
width: 85%;
margin: 0 auto;
background-color: #f3f4f6;
}
}
.photo-container {
padding: 0 30rpx;
}
}
//
.senior-popup {
width: 90vw;
height: 100vh;
overflow: hidden;
.senior-title {
padding: 24rpx 30rpx;
display: flex;
align-items: center;
background-color: #f5f5f5;
& text {
margin-left: 4rpx;
letter-spacing: 2rpx;
}
}
.btns {
width: 100%;
height: 50px;
padding: 18rpx 0;
position: absolute;
bottom: 0;
right: 0;
border-top: 1px solid #cac6c6;
background-color: #fff;
box-sizing: border-box;
& view {
margin-right: 18rpx;
display: flex;
justify-content: flex-end;
}
}
}
::v-deep .u-checkbox {
margin-right: 5px;
}
//
.loading-text {
text-align: center;
font-size: 26rpx;
color: #8c8c8c;
padding: 32rpx 0;
letter-spacing: 1rpx;
}
</style>

View File

@ -2,7 +2,7 @@
<!-- 新增 修改 详情表单-->
<up-form
labelWidth="80"
labelAlign="right"
labelAlign="center"
labelPosition="left"
ref="addAndEditModelRef"
:model="addAndEditModel"

View File

@ -1,6 +1,6 @@
<template>
<!-- 协调照片一级页面 -->
<view class="coordinate-photos">
<view class="coordinate-photos" :style="{ paddingTop: safeAreaInsets?.top + 44 + 'px' }">
<NavBarModal
:navBarTitle="`协调照片`"
:uploadRecordUrl="uploadRecordUrl"
@ -19,6 +19,7 @@ import AddAndEditForm from './components/addAndEditForm.vue'
import { ref } from 'vue'
import { onLoad } from '@dcloudio/uni-app'
const { safeAreaInsets } = uni.getSystemInfoSync()
const addAndEditFormType = ref(1)
const uploadRecordUrl = ref('/pages/coordinatePhotos/upload-record/index')

View File

@ -1,8 +1,8 @@
<template>
<!-- 新增 修改 详情表单-->
<up-form
labelWidth="auto"
labelAlign="right"
labelWidth="70"
labelAlign="center"
labelPosition="left"
ref="addAndEditModelRef"
:model="addAndEditModel"

View File

@ -1,6 +1,6 @@
<template>
<!-- 重要事项一级页面 -->
<view class="safetyViolations">
<view class="safetyViolations" :style="{ paddingTop: safeAreaInsets?.top + 44 + 'px' }">
<NavBarModal
:navBarTitle="`重要事项及宣传类`"
:uploadRecordUrl="uploadRecordUrl"
@ -19,6 +19,7 @@ import AddAndEditForm from './components/addAndEditForm.vue'
import { ref } from 'vue'
import { onLoad } from '@dcloudio/uni-app'
const { safeAreaInsets } = uni.getSystemInfoSync()
const addAndEditFormType = ref(1)
const uploadRecordUrl = ref('/pages/importantMatters/upload-record/index')

View File

@ -117,42 +117,44 @@ const onSubmitLogin = debounce(() => {
.validate()
.then(async (valid) => {
if (valid) {
// uni.$u.toast('')
// setTimeout(() => {
// uni.switchTab({ url: '/pages/workbenches/index' })
// }, 500)
try {
console.log(
'%c🔍 登录请求入参 %c',
'background: linear-gradient(90deg, #FF6B6B, #4ECDC4); color: white; padding: 5px 10px; border-radius: 5px; font-weight: bold;',
'',
opinionModel.value,
)
const res = await loginApi(opinionModel.value)
console.log(
'%c🔍 登录请求出参 %c',
'background: linear-gradient(90deg, #FF6B6B, #4ECDC4); color: white; padding: 5px 10px; border-radius: 5px; font-weight: bold;',
'',
res,
)
sendLoading.value = false
if (res.code === 200) {
memberStore.setToken(res.token)
uni.$u.toast('登录成功')
getUserInfo()
sendLoading.value = false
setTimeout(() => {
uni.switchTab({ url: '/pages/workbenches/index' })
}, 500)
} else {
uni.$u.toast('登录失败' + res.message)
}
} catch (error) {
sendLoading.value = false
}
// try {
// console.log(
// '%c🔍 %c',
// 'background: linear-gradient(90deg, #FF6B6B, #4ECDC4); color: white; padding: 5px 10px; border-radius: 5px; font-weight: bold;',
// '',
// opinionModel.value,
// )
// const res = await loginApi(opinionModel.value)
// console.log(
// '%c🔍 %c',
// 'background: linear-gradient(90deg, #FF6B6B, #4ECDC4); color: white; padding: 5px 10px; border-radius: 5px; font-weight: bold;',
// '',
// res,
// )
// sendLoading.value = false
// if (res.code === 200) {
// memberStore.setToken(res.token)
// uni.$u.toast('')
// getUserInfo()
// setTimeout(() => {
// uni.switchTab({ url: '/pages/workbenches/index' })
// }, 500)
// } else {
// uni.$u.toast('' + res.message)
// }
// } catch (error) {
// sendLoading.value = false
// }
}
})
.catch(() => {
//
sendLoading.value = false
})
}, 500)

View File

@ -85,13 +85,16 @@ const onCancelLogout = () => {
<style lang="scss" scoped>
.my-container {
height: 100%;
display: flex;
flex-direction: column;
background-color: #f0f2f5;
.my-info {
padding: 42rpx 0 42rpx 42rpx;
height: 10%;
height: 20%;
display: flex;
align-items: center;
background-color: #fff;
box-sizing: border-box;
.my-info-right {
margin-left: 12rpx;
font-size: 14px;
@ -120,7 +123,7 @@ const onCancelLogout = () => {
}
.my-info-list {
height: 90%;
height: 80%;
display: flex;
flex-direction: column;
justify-content: space-between;
@ -133,7 +136,7 @@ const onCancelLogout = () => {
.logout-btn {
width: 95%;
margin: 0 auto;
margin-bottom: 120rpx;
margin-bottom: 30rpx;
}
}
}

View File

@ -2,7 +2,7 @@
<!-- 新增 修改 详情表单-->
<up-form
labelWidth="70"
labelAlign="right"
labelAlign="center"
labelPosition="left"
ref="addAndEditModelRef"
:model="addAndEditModel"

View File

@ -1,6 +1,6 @@
<template>
<!-- 质量检查一级页面 -->
<view class="quality-inspection">
<view class="quality-inspection" :style="{ paddingTop: safeAreaInsets?.top + 44 + 'px' }">
<NavBarModal
:navBarTitle="`质量检查`"
:uploadRecordUrl="uploadRecordUrl"
@ -19,6 +19,7 @@ import AddAndEditForm from './components/addAndEditForm.vue'
import { ref } from 'vue'
import { onLoad } from '@dcloudio/uni-app'
const { safeAreaInsets } = uni.getSystemInfoSync()
const addAndEditFormType = ref(1)
const uploadRecordUrl = ref('/pages/qualityInspection/upload-record/index')
@ -32,7 +33,6 @@ onLoad((query) => {
<style lang="scss" scoped>
.quality-inspection {
height: 100%;
padding-top: 54px;
box-sizing: border-box;
.container {
background-color: #f6f9ff;

View File

@ -2,7 +2,7 @@
<!-- 新增 修改 详情表单-->
<up-form
labelWidth="70"
labelAlign="right"
labelAlign="center"
labelPosition="left"
ref="addAndEditModelRef"
:model="addAndEditModel"

View File

@ -1,6 +1,6 @@
<template>
<!-- 安全措施落实一级页面 -->
<view class="safety-measure">
<view class="safety-measure" :style="{ paddingTop: safeAreaInsets?.top + 44 + 'px' }">
<NavBarModal
:navBarTitle="`安全措施落实`"
:uploadRecordUrl="uploadRecordUrl"
@ -19,6 +19,8 @@ import AddAndEditForm from './components/addAndEditForm.vue'
import { ref } from 'vue'
import { onLoad } from '@dcloudio/uni-app'
const { safeAreaInsets } = uni.getSystemInfoSync()
const addAndEditFormType = ref(1)
const uploadRecordUrl = ref('/pages/safetyMeasure/upload-record/index')
@ -32,7 +34,6 @@ onLoad((query) => {
<style lang="scss" scoped>
.safety-measure {
height: 100%;
padding-top: 54px;
box-sizing: border-box;
.container {
background-color: #f6f9ff;

View File

@ -2,7 +2,7 @@
<!-- 新增 修改 详情表单-->
<up-form
labelWidth="70"
labelAlign="right"
labelAlign="center"
labelPosition="left"
ref="addAndEditModelRef"
:model="addAndEditModel"

View File

@ -1,6 +1,6 @@
<template>
<!-- 安全违章一级页面 -->
<view class="safetyViolations">
<view class="safetyViolations" :style="{ paddingTop: safeAreaInsets?.top + 44 + 'px' }">
<NavBarModal
:navBarTitle="`安全违章`"
:uploadRecordUrl="uploadRecordUrl"
@ -19,6 +19,8 @@ import AddAndEditForm from './components/addAndEditForm.vue'
import { ref } from 'vue'
import { onLoad } from '@dcloudio/uni-app'
const { safeAreaInsets } = uni.getSystemInfoSync()
const addAndEditFormType = ref(1)
const uploadRecordUrl = ref('/pages/safetyViolations/upload-record/index')
@ -32,7 +34,7 @@ onLoad((query) => {
<style lang="scss" scoped>
.safetyViolations {
height: 100%;
padding-top: 54px;
box-sizing: border-box;
.container {
background-color: #f6f9ff;

View File

@ -1,6 +1,6 @@
<template>
<!-- 安全违章 ---- 上传记录 -->
<view class="upload-record">
<view class="upload-record" :style="{ paddingTop: safeAreaInsets?.top + 44 + 'px' }">
<NavBarModal :navBarTitle="`安全违章`" />
<view class="container">
<view class="search-input">
@ -91,6 +91,7 @@ import NavBarModal from '@/components/NavBarModal/index'
import { ref, reactive } from 'vue'
import { debounce } from 'lodash-es' //
const { safeAreaInsets } = uni.getSystemInfoSync()
const onSearchKeyword = ref('')
const finish = ref(false)
const upListRef = ref(null) //
@ -143,7 +144,6 @@ const onHandleBackTop = () => {}
<style lang="scss" scoped>
.upload-record {
height: 100%;
padding-top: 54px;
box-sizing: border-box;
background-color: #f6f9ff;
.container {

View File

@ -45,7 +45,7 @@ const onHandleJumpPage = (path) => {
.icon-card {
width: 90%;
background-color: #fff;
margin: 30rpx auto 0;
margin: 0 auto 30rpx;
border-radius: 6rpx;
.title {

View File

@ -67,8 +67,8 @@ if (userPermissions.value.length > 0) {
.workbenches-container {
height: 100%;
background-color: #f6f9ff;
padding-bottom: 60px;
overflow-y: auto;
padding-top: 30rpx;
box-sizing: border-box;
// overflow: hidden;
}
</style>

Binary file not shown.

After

Width:  |  Height:  |  Size: 842 B

BIN
src/static/image/screen.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 302 B