From eb5d50f5ce1ddc9c32ca54276952e68d0f132e0e Mon Sep 17 00:00:00 2001 From: zhouwenxuan <1175765986@qq.com> Date: 星期二, 27 二月 2024 14:08:57 +0800 Subject: [PATCH] bug修改 --- src/assets/images/cardHeader1.png | 0 src/assets/images/choosed2.png | 0 src/layout/components/Sidebar/menu.js | 36 ++-- src/assets/images/choosed.png | 0 src/layout/index.vue | 5 src/views/safetyReview/projectManage/components/signConfirm.vue | 7 src/views/safetyReview/projectManage/components/expertsList.vue | 26 ++ src/views/safetyReview/userManage/expertUsers/components/projectDialog.vue | 7 src/views/safetyReview/projectManage/components/uploadReviewRcd.vue | 10 src/assets/images/back1.png | 0 src/views/safetyReview/userManage/expertUsers/index.vue | 4 src/assets/images/bg2.png | 0 src/views/safetyReview/projectManage/components/rateConclusion.vue | 39 ++-- src/views/safetyReview/projectManage/components/employNoticeRecord.vue | 4 src/views/safetyReview/projectManage/components/evaluatePlan.vue | 15 + src/views/homePage.vue | 6 src/views/safetyReview/userManage/expertUsers/components/expertDialog.vue | 47 +++-- src/views/safetyReview/projectManage/components/mapLocation.vue | 90 +++++----- src/views/safetyReview/projectManage/components/confirmEnd.vue | 8 src/assets/images/itemStatus2-1.png | 0 src/views/safetyReview/projectManage/components/projectArchive.vue | 20 +- src/views/safetyReview/projectManage/components/siteCheckRcd.vue | 96 ++++++----- src/layout/components/TagsView/index.vue | 2 src/assets/images/bg1.png | 0 src/views/originLogin.vue | 2 src/assets/images/cardHeader2.png | 0 src/views/safetyReview/projectManage/process.vue | 45 +++- src/views/safetyReview/projectManage/index.vue | 6 28 files changed, 265 insertions(+), 210 deletions(-) diff --git a/src/assets/images/back1.png b/src/assets/images/back1.png new file mode 100644 index 0000000..f2ead8e --- /dev/null +++ b/src/assets/images/back1.png Binary files differ diff --git a/src/assets/images/bg1.png b/src/assets/images/bg1.png new file mode 100644 index 0000000..3e4c519 --- /dev/null +++ b/src/assets/images/bg1.png Binary files differ diff --git a/src/assets/images/bg2.png b/src/assets/images/bg2.png new file mode 100644 index 0000000..62844db --- /dev/null +++ b/src/assets/images/bg2.png Binary files differ diff --git a/src/assets/images/cardHeader1.png b/src/assets/images/cardHeader1.png new file mode 100644 index 0000000..46148f4 --- /dev/null +++ b/src/assets/images/cardHeader1.png Binary files differ diff --git a/src/assets/images/cardHeader2.png b/src/assets/images/cardHeader2.png new file mode 100644 index 0000000..95e2b91 --- /dev/null +++ b/src/assets/images/cardHeader2.png Binary files differ diff --git a/src/assets/images/choosed.png b/src/assets/images/choosed.png index cabdfb0..90901bc 100644 --- a/src/assets/images/choosed.png +++ b/src/assets/images/choosed.png Binary files differ diff --git a/src/assets/images/choosed2.png b/src/assets/images/choosed2.png new file mode 100644 index 0000000..4ee8bde --- /dev/null +++ b/src/assets/images/choosed2.png Binary files differ diff --git a/src/assets/images/itemStatus2-1.png b/src/assets/images/itemStatus2-1.png new file mode 100644 index 0000000..33d3948 --- /dev/null +++ b/src/assets/images/itemStatus2-1.png Binary files differ diff --git a/src/layout/components/Sidebar/menu.js b/src/layout/components/Sidebar/menu.js index 20c8ce0..3c54d3d 100644 --- a/src/layout/components/Sidebar/menu.js +++ b/src/layout/components/Sidebar/menu.js @@ -9,86 +9,86 @@ { path: '/institution', name: 'Institution', - meta: { title: '机构公示',icon: 'form',affix: true } + meta: { title: '机构公示',icon: 'chart',affix: true } }, { path: '/notice', name: 'Notice', - meta: { title: '公告发布',icon: 'form', affix: true } + meta: { title: '公告发布',icon: 'email', affix: true } }, { path: '/law', name: 'Law', - meta: { title: '法律法规',icon: 'form', affix: true } + meta: { title: '法律法规',icon: 'excel', affix: true } }, { path: '/userManage', redirect: '/userManage/supervise', - meta: { title: '用户管理',icon: 'form'}, + meta: { title: '用户管理',icon: 'peoples'}, children: [ { path: 'supervise', name: 'supervise', - meta: { title: '监管用户管理',icon: 'form'} + meta: { title: '监管用户管理',icon: 'monitor'} }, { path: 'institutionUser', name: 'institutionUser', - meta: { title: '机构用户管理',icon: 'form'} + meta: { title: '机构用户管理',icon: 'list'} }, { path: 'expertUsers', name: 'expertUsers', - meta: { title: '专家用户管理',icon: 'form'} + meta: { title: '专家用户管理',icon: 'logininfor'} } ] }, { path: '/expertManage', redirect: '/expertManage/experts', - meta: { title: '厅专家库管理',icon: 'form'}, + meta: { title: '厅专家库管理',icon: 'post'}, children: [ { path: 'experts', name: 'experts', - meta: { title: '厅专家库',icon: 'form'} + meta: { title: '厅专家库',icon: 'server'} }, { path: 'applyRecords', name: 'applyRecords', - meta: { title: '专家申请记录',icon: 'form'} + meta: { title: '专家申请记录',icon: 'skill'} } ] }, { path: '/baseSet', redirect: '/baseSet/evaluate', - meta: { title: '基础设置',icon: 'form'}, + meta: { title: '基础设置',icon: 'dict'}, children: [ { path: 'evaluate', name: 'evaluate', - meta: { title: '评价类型管理',icon: 'form'} + meta: { title: '评价类型管理',icon: 'build'} }, { path: 'expertsType', name: 'expertsType', - meta: { title: '专家类型管理',icon: 'form'} + meta: { title: '专家类型管理',icon: 'clipboard'} }, { path: 'business', name: 'business', - meta: { title: '业务范围管理',icon: 'form'} + meta: { title: '业务范围管理',icon: 'cascader'} }, { path: 'area', name: 'area', - meta: { title: '地区维护管理',icon: 'form'} + meta: { title: '地区维护管理',icon: 'component'} }, { path: 'major', name: 'major', - meta: { title: '专业方向管理',icon: 'form'} + meta: { title: '专业方向管理',icon: 'documentation'} } ] @@ -104,12 +104,12 @@ { path: '/userManage', redirect: '/userManage/supervise', - meta: { title: '用户管理',icon: 'form'}, + meta: { title: '用户管理',icon: 'peoples'}, children: [ { path: 'expertUsers', name: 'expertUsers', - meta: { title: '专家用户管理',icon: 'form'} + meta: { title: '专家用户管理',icon: 'logininfor'} } , ] }, diff --git a/src/layout/components/TagsView/index.vue b/src/layout/components/TagsView/index.vue index d5d492f..59a8aa3 100644 --- a/src/layout/components/TagsView/index.vue +++ b/src/layout/components/TagsView/index.vue @@ -335,4 +335,4 @@ } } } -</style> \ No newline at end of file +</style> diff --git a/src/layout/index.vue b/src/layout/index.vue index 3ddb165..679e264 100644 --- a/src/layout/index.vue +++ b/src/layout/index.vue @@ -27,7 +27,8 @@ const sideTheme = computed(() => settingsStore.sideTheme); const sidebar = computed(() => useAppStore().sidebar); const device = computed(() => useAppStore().device); -const needTagsView = computed(() => settingsStore.tagsView); +// const needTagsView = computed(() => settingsStore.tagsView); +const needTagsView = false; const fixedHeader = computed(() => settingsStore.fixedHeader); const classObj = computed(() => ({ @@ -108,4 +109,4 @@ .mobile .fixed-header { width: 100%; } -</style> \ No newline at end of file +</style> diff --git a/src/views/homePage.vue b/src/views/homePage.vue index ac24b1e..4cc13a1 100644 --- a/src/views/homePage.vue +++ b/src/views/homePage.vue @@ -5,7 +5,7 @@ <div class="main-content"> <div class="top" style="z-index: 1"> <div class="top-cont"> - <div class="logo blueFont">智慧安评</div> + <div class="logo blueFont">新疆维吾尔自治区智慧安评服务平台</div> <div class="time"> <div> <span>{{state.date}}</span> @@ -48,7 +48,7 @@ </div> <!-- 底部 --> <div class="el-login-footer"> - <span>Copyright © All Rights Reserved.</span> + <span>Copyright ©2023-{{nowYear}} All Rights Reserved.</span> </div> </div> </template> @@ -64,6 +64,7 @@ const { proxy } = getCurrentInstance() const route = useRoute() const router = useRouter() +const nowYear = ref(); // 时间格式化 const timeForm = { hour12: false, @@ -92,6 +93,7 @@ const getDateTime = () => { const curTime = new Date().toLocaleString('zh', timeForm).replace(/\//g, '-'); state.date = curTime.slice(0, 10); + nowYear.value = curTime.slice(0, 4); let week = ['日', '一', '二', '三', '四', '五', '六']; let day = new Date().getDay(); state.weekDay = '星期' + week[day]; diff --git a/src/views/originLogin.vue b/src/views/originLogin.vue index f683008..6b7c7aa 100644 --- a/src/views/originLogin.vue +++ b/src/views/originLogin.vue @@ -7,7 +7,7 @@ <img :src="loginImgPng"> </div> <el-form ref="loginRef" :model="loginForm" :rules="loginRules" class="login-form"> - <h3 class="title">智慧安评</h3> + <h3 class="title">新疆维吾尔自治区智慧安评服务平台</h3> <el-form-item prop="username"> <el-input v-model="loginForm.username" diff --git a/src/views/safetyReview/projectManage/components/confirmEnd.vue b/src/views/safetyReview/projectManage/components/confirmEnd.vue index 491f0b5..a21b20d 100644 --- a/src/views/safetyReview/projectManage/components/confirmEnd.vue +++ b/src/views/safetyReview/projectManage/components/confirmEnd.vue @@ -3,7 +3,7 @@ <el-form ref="formRef" :model="state.formData" :rules="state.rules" class="register-form" label-position="top"> <el-row :gutter="30"> <el-col :span="6"> - <el-button type="primary" @click="addRectify('add',{})">新增整改</el-button> + <el-button type="primary" @click="addRectify('add',{})" :disabled="projectType.value ==='detail'">新增整改</el-button> </el-col> </el-row> <el-table :data="state.recitificationList" :border="true" style="margin: 20px 0"> @@ -19,8 +19,8 @@ </el-table-column> <el-table-column label="操作" align="center" class-name="small-padding fixed-width"> <template #default="scope"> - <el-button link type="primary" @click="addRectify('edit',scope.row)">编辑</el-button> - <el-button link type="danger" @click="del(scope.row)">删除</el-button> + <el-button link type="primary" @click="addRectify('edit',scope.row)" :disabled="projectType.value ==='detail'">编辑</el-button> + <el-button link type="danger" @click="del(scope.row)" :disabled="projectType.value ==='detail'">删除</el-button> </template> </el-table-column> </el-table> @@ -89,8 +89,10 @@ } } +const projectType = ref('') const riskOpen = async (type,val) => { // await getList(val); + projectType.value = type; state.formData.projectId = val; if(type === 'confirm') { const res = await doConfirm({projectId: val}); diff --git a/src/views/safetyReview/projectManage/components/employNoticeRecord.vue b/src/views/safetyReview/projectManage/components/employNoticeRecord.vue index bf53ce7..9811559 100644 --- a/src/views/safetyReview/projectManage/components/employNoticeRecord.vue +++ b/src/views/safetyReview/projectManage/components/employNoticeRecord.vue @@ -51,7 +51,7 @@ <el-table-column label="未到现场勘验原因" prop="reason" align="center" class-name="small-padding fixed-width"></el-table-column> <el-table-column label="是否已告知" align="center" class-name="small-padding fixed-width"> <template #default="scope"> - <el-radio-group v-model="scope.row.informed" size="large" @change="(value)=>changePerson(value,scope.row)"> + <el-radio-group v-model="scope.row.informed" size="large" @change="(value)=>changePerson(value,scope.row)" :disabled="projectType==='detail'"> <el-radio :label="1" size="large">是</el-radio> <el-radio :label="0" size="large">否</el-radio> </el-radio-group> @@ -102,9 +102,11 @@ }); +const projectType = ref(''); const riskOpen = async (type,val) => { state.formData.projectId = val state.projectId = val + projectType.value = type; // await getWorksList(val) if(type === 'detail' || type === 'edit' ){ const res = await getWorkDetail({projectId: val}) diff --git a/src/views/safetyReview/projectManage/components/evaluatePlan.vue b/src/views/safetyReview/projectManage/components/evaluatePlan.vue index 3c5427f..b177222 100644 --- a/src/views/safetyReview/projectManage/components/evaluatePlan.vue +++ b/src/views/safetyReview/projectManage/components/evaluatePlan.vue @@ -80,7 +80,7 @@ </el-col> <el-col :span="6"> <div style="width: 100%;display: flex;justify-content: right"> - <el-button type="primary" icon="Plus" @click="openWorksDialog('add',{})">添加成员</el-button> + <el-button type="primary" icon="Plus" @click="openWorksDialog('add',{})" :disabled="projectType==='detail'">添加成员</el-button> </div> </el-col> </el-row> @@ -102,8 +102,8 @@ <el-table-column label="未到现场勘验原因" prop="reason" align="center" class-name="small-padding fixed-width"></el-table-column> <el-table-column label="操作" align="center" class-name="small-padding fixed-width"> <template #default="scope"> - <el-button link @click="openWorksDialog('edit',scope.row)">修改</el-button> - <el-button link type="danger" @click="delMember(scope.row)">删除</el-button> + <el-button link @click="openWorksDialog('edit',scope.row)" :disabled="projectType==='detail'">修改</el-button> + <el-button link type="danger" @click="delMember(scope.row)" :disabled="projectType==='detail'">删除</el-button> </template> </el-table-column> </el-table> @@ -113,7 +113,7 @@ </el-col> <el-col :span="6"> <div style="width: 100%;display: flex;justify-content: right"> - <el-button type="primary" icon="Plus" @click="openDeviceDialog('add',{})">添加设备</el-button> + <el-button type="primary" icon="Plus" @click="openDeviceDialog('add',{})" :disabled="projectType==='detail'">添加设备</el-button> </div> </el-col> </el-row> @@ -132,8 +132,8 @@ </el-table-column> <el-table-column label="操作" align="center" class-name="small-padding fixed-width"> <template #default="scope"> - <el-button link @click="openDeviceDialog('edit',scope.row)">修改</el-button> - <el-button link type="danger" @click="delDeviceItem(scope.row)">删除</el-button> + <el-button link @click="openDeviceDialog('edit',scope.row)" :disabled="projectType==='detail'">修改</el-button> + <el-button link type="danger" @click="delDeviceItem(scope.row)" :disabled="projectType==='detail'">删除</el-button> </template> </el-table-column> </el-table> @@ -279,10 +279,11 @@ } }) - +const projectType = ref(''); const riskOpen = async (type,val) => { state.formData.projectId = val state.projectId = val + projectType.value = type; for(let i of state.formData.estimateSchedules){ i.projectId = val } diff --git a/src/views/safetyReview/projectManage/components/expertsList.vue b/src/views/safetyReview/projectManage/components/expertsList.vue index 8c4d603..2d78c70 100644 --- a/src/views/safetyReview/projectManage/components/expertsList.vue +++ b/src/views/safetyReview/projectManage/components/expertsList.vue @@ -38,7 +38,7 @@ </el-select> </el-form-item> <el-form-item label="专业方向"> - <el-select v-model="queryParams.major" value-key="id" style="width: 250px" placeholder="专业方向"> + <el-select v-model="queryParams.major" clearable value-key="id" style="width: 250px" placeholder="专业方向"> <el-option v-for="item in majorList" :key="item.id" @@ -47,8 +47,8 @@ /> </el-select> </el-form-item> - <el-form-item label="专业方向"> - <el-select v-model="queryParams.post" style="width: 250px" placeholder="请选择职务"> + <el-form-item label="职务"> + <el-select v-model="queryParams.post" clearable style="width: 250px" placeholder="请选择职务"> <el-option v-for="item in postList" :key="item.id" @@ -130,8 +130,14 @@ <el-table-column label="职称" prop="jobTitle" align="center" /> <el-table-column label="专业方向" prop="majorNames" align="center" width="100" /> <el-table-column label="评价师等级" prop="level" align="center" width="100" /> - <el-table-column label="业绩汇总" prop="summary" align="center" /> - <el-table-column label="最近评价时间" prop="lastTime" align="center" width="120" /> + <el-table-column label="业绩汇总" prop="summary" align="center"> + <template #default="scope"> + <div style="cursor:pointer;color: #3b82f6;" @click="openList(scope.row)"> + <span>{{scope.row.projectCount}}</span> + </div> + </template> + </el-table-column> + <el-table-column label="最近评价时间" prop="lastEstimateTime" align="center" width="120" /> </el-table> <pagination @@ -148,12 +154,14 @@ </span> </template> </el-dialog> + <project-dialog ref="projectRef" @getList="getList"></project-dialog> </div> </template> <script setup> import {getCurrentInstance, onMounted, reactive, ref, toRefs,defineEmits} from "vue"; import {getDictList} from "@/api/backManage/evaluate"; import {ElMessage, ElMessageBox} from "element-plus"; +import projectDialog from "@/views/safetyReview/userManage/expertUsers/components/projectDialog.vue" import Cookies from "js-cookie"; import {delMonitor, getExpertList, getMonitorList} from "@/api/sysUsers"; const { proxy } = getCurrentInstance(); @@ -243,7 +251,9 @@ ...item, socialAttach: item.socialAttach.map(s => { return import.meta.env.VITE_APP_BASE_API + '/' + s.path}), medicalAttach: item.medicalAttach.map(s => { return import.meta.env.VITE_APP_BASE_API + '/' + s.path}), - salaryAttach: item.salaryAttach.map(s => { return import.meta.env.VITE_APP_BASE_API + '/' + s.path}) + salaryAttach: item.salaryAttach.map(s => { return import.meta.env.VITE_APP_BASE_API + '/' + s.path}), + lastEstimateTime: item.personProjectVO ? item.personProjectVO.lastEstimateTime.slice(0,10) : '', + projectCount: item.personProjectVO ? item.personProjectVO.projectCount : '' } }) console.log('RES',data.dataList) @@ -253,6 +263,10 @@ } loading.value = false } +const projectRef = ref(); +const openList = (val) => { + projectRef.value.openDialog(val); +} const getMajor = async () => { const queryParams = { diff --git a/src/views/safetyReview/projectManage/components/mapLocation.vue b/src/views/safetyReview/projectManage/components/mapLocation.vue index 27b8fd2..e566954 100644 --- a/src/views/safetyReview/projectManage/components/mapLocation.vue +++ b/src/views/safetyReview/projectManage/components/mapLocation.vue @@ -1,41 +1,41 @@ <template> - <el-dialog - v-model="state.mapLocationVisible" - append-to-body - :close-on-click-modal="false" - width="75%" - :title="state.title" - > - <div class="mapLocation_head"> - <div> - <el-alert - title="点击地点获取经纬度信息" - type="info" - :closable="false" - > - </el-alert> - </div> - <div class="mapLocation_latlng"> - <span>经度:</span> - <el-input class="mapLocation_latlng_input" id="lng" v-model="state.longitude"></el-input> - </div> - <div class="mapLocation_latlng"> - <span>纬度:</span> - <el-input class="mapLocation_latlng_input" id="lat" v-model="state.latitude"></el-input> - </div> - </div> - <div class="mapLocation_body"> - <baidu-map class="map" ak="BkZdiHBj9aGrMdVFM48r2njNiMzsekga" v="3.0" type="API" :center="state.center" :zoom="15" scroll-wheel-zoom @ready="initMap" @click="getPosition"> - <bm-marker :position="{lng: state.longitude, lat: state.latitude}" :dragging="true" animation="BMAP_ANIMATION_BOUNCE"> - <bm-label content="选择地点" :labelStyle="{color: 'red', fontSize : '24px'}" :offset="{width: -35, height: 30}"/> - </bm-marker> - </baidu-map> - </div> - <div align="right" style="margin-top: 10px"> - <el-button @click="state.mapLocationVisible = false">取消</el-button> - <el-button type="primary" @click="submitLatLng()">确认</el-button> - </div> - </el-dialog> + <el-dialog + v-model="state.mapLocationVisible" + append-to-body + :close-on-click-modal="false" + width="75%" + :title="state.title" + > + <div class="mapLocation_head"> + <div> + <el-alert + title="点击地点获取经纬度信息" + type="info" + :closable="false" + > + </el-alert> + </div> + <div class="mapLocation_latlng"> + <span>经度:</span> + <el-input class="mapLocation_latlng_input" id="lng" v-model="state.longitude"></el-input> + </div> + <div class="mapLocation_latlng"> + <span>纬度:</span> + <el-input class="mapLocation_latlng_input" id="lat" v-model="state.latitude"></el-input> + </div> + </div> + <div class="mapLocation_body"> + <baidu-map class="map" ak="BkZdiHBj9aGrMdVFM48r2njNiMzsekga" v="3.0" type="API" :center="state.center" :zoom="15" scroll-wheel-zoom @ready="initMap" @click="getPosition"> + <bm-marker :position="{lng: state.longitude, lat: state.latitude}" :dragging="true" animation="BMAP_ANIMATION_BOUNCE"> + <bm-label content="选择地点" :labelStyle="{color: 'red', fontSize : '24px'}" :offset="{width: -35, height: 30}"/> + </bm-marker> + </baidu-map> + </div> + <div align="right" style="margin-top: 10px"> + <el-button @click="state.mapLocationVisible = false">取消</el-button> + <el-button type="primary" @click="submitLatLng()">确认</el-button> + </div> + </el-dialog> </template> <script setup> @@ -100,19 +100,19 @@ } } .mapLocation_head{ - width:100%; - height:100px; + width:100%; + height:100px; } .mapLocation_body{ - width:100%; - height:500px + width:100%; + height:500px } .mapLocation_latlng{ - padding-top:10px; - display:inline-block; - margin-right: 20px; + padding-top:10px; + display:inline-block; + margin-right: 20px; } .mapLocation_latlng_input{ - width:250px; + width:250px; } </style> diff --git a/src/views/safetyReview/projectManage/components/projectArchive.vue b/src/views/safetyReview/projectManage/components/projectArchive.vue index 18e88a6..94f3b59 100644 --- a/src/views/safetyReview/projectManage/components/projectArchive.vue +++ b/src/views/safetyReview/projectManage/components/projectArchive.vue @@ -32,10 +32,10 @@ <template #default="scope"> <el-upload accept=".pdf,.doc,.docx" :action="state.uploadUrl" - :disabled="state.disabled" + :disabled="projectType === 'detail'" :headers="state.header" method="post" - :on-success="handleAvatarSuccess" + :on-success="(res, uploadFile)=>handleAvatarSuccess(res, uploadFile,scope.row)" v-model:file-list="scope.row.fileList" :on-remove="handleRemove" :data="state.uploadData" @@ -198,7 +198,8 @@ ElMessage.warning("当前用户暂无权限"); return; } - if(state.actualContract.actualContractMoney == '') { + + if(state.actualContract.actualContractMoney == '' || !state.actualContract.actualContractMoney) { ElMessage.warning("请输入项目合同额"); return; } @@ -293,14 +294,15 @@ } }; -const handleAvatarSuccess = (res, uploadFile) => { +const handleAvatarSuccess = (res, uploadFile,val) => { if(res.code === 200){ - console.log("if",state.uploadList) - // ElMessage({ - // type: 'success', - // message: '文件上传成功' - // }) + ElMessage({ + type: 'success', + message: '文件上传成功' + }) }else { + const delVal = state.uploadList.findIndex(i => i.id === val.id); + state.uploadList[delVal].fileList.splice(state.uploadList[delVal].fileList.indexOf(uploadFile),1) ElMessage({ type: 'warning', message: res.message diff --git a/src/views/safetyReview/projectManage/components/rateConclusion.vue b/src/views/safetyReview/projectManage/components/rateConclusion.vue index 94f2f8c..0496c97 100644 --- a/src/views/safetyReview/projectManage/components/rateConclusion.vue +++ b/src/views/safetyReview/projectManage/components/rateConclusion.vue @@ -23,18 +23,20 @@ <el-row :gutter="30"> <el-col :span="18"> <el-form-item> - <el-upload accept="image/*,.pdf,.doc,.docx,.xlsx,.xls" - :action="state.uploadUrl" - :disabled="state.disabled" - :headers="state.header" - method="post" - :on-success="handleAvatarSuccess" - :on-exceed="showTip" - v-model:file-list="state.fileList" - :on-remove="handleRemove" - :data="state.uploadData" - :on-preview="handlePreview" - :limit='1' + <el-upload + v-if="state.formData.isReviseManual === 1" + accept="image/*,.pdf,.doc,.docx,.xlsx,.xls" + :action="state.uploadUrl" + :disabled="state.disabled" + :headers="state.header" + method="post" + :on-success="handleAvatarSuccess" + :on-exceed="showTip" + v-model:file-list="state.fileList" + :on-remove="handleRemove" + :data="state.uploadData" + :on-preview="handlePreview" + :limit='1' > <el-button type="primary">附件上传</el-button> <template #tip> @@ -175,17 +177,18 @@ const handleAvatarSuccess = (res) => { if(res.code === 200){ getProcessFiles() - console.log("if",state.fileList) - // ElMessage({ - // type: 'success', - // message: '文件上传成功' - // }) + ElMessage({ + type: 'success', + message: '文件上传成功' + }) }else { + state.fileList.splice(state.fileList.indexOf(uploadFile),1) ElMessage({ type: 'warning', - message: '文件上传失败' + message: res.message }) } + } const handlePreview = (file) => { let path = ""; diff --git a/src/views/safetyReview/projectManage/components/signConfirm.vue b/src/views/safetyReview/projectManage/components/signConfirm.vue index 844442c..c529f8d 100644 --- a/src/views/safetyReview/projectManage/components/signConfirm.vue +++ b/src/views/safetyReview/projectManage/components/signConfirm.vue @@ -10,7 +10,8 @@ <span>{{ scope.row.planPerson.playRole === 1?'项目负责人': scope.row.planPerson.playRole === 2? '项目组成员':scope.row.planPerson.playRole === 3? '过程控制负责人':scope.row.planPerson.playRole === 4? - '机构评价负责人':scope.row.planPerson.playRole === 5?'技术负责人':''}} + '机构评价负责人':scope.row.planPerson.playRole === 5? + '技术负责人':scope.row.planPerson.playRole === 6?'内部审核员':''}} </span> </template> </el-table-column> @@ -24,7 +25,7 @@ <el-table-column label="扫脸时间" prop="faceRecord.updateTime" align="center" width="120"/> <el-table-column label="是否扫脸" prop="username" align="center"> <template #default="scope"> - <span v-if="scope.row.facePic">是</span> + <span v-if="scope.row.facePic.length>0">是</span> <span v-else>否</span> </template> </el-table-column> @@ -135,7 +136,7 @@ commitPic: item.insurancePath ? [import.meta.env.VITE_APP_BASE_API + '/' + item.insurancePath] : [], } }) - console.log("res",res) + console.log("res", state.tableData) }else { ElMessage.warning(res.message) } diff --git a/src/views/safetyReview/projectManage/components/siteCheckRcd.vue b/src/views/safetyReview/projectManage/components/siteCheckRcd.vue index cc1b345..5ccb7de 100644 --- a/src/views/safetyReview/projectManage/components/siteCheckRcd.vue +++ b/src/views/safetyReview/projectManage/components/siteCheckRcd.vue @@ -38,7 +38,7 @@ </el-col> <el-col :span="6"> <el-form-item prop="isSafetyCheck" label="编制现场安全检查表"> - <el-radio-group v-model="state.formData.isSafetyCheck" size="large" @change="changeRadio"> + <el-radio-group v-model="state.formData.isSafetyCheck" size="large" @change="changeRadio" :disabled="projectType==='detail'"> <el-radio :label="1" size="large">是</el-radio> <el-radio :label="0" size="large">否</el-radio> </el-radio-group> @@ -48,7 +48,7 @@ <el-row :gutter="30"> <el-col :span="24" v-if="state.formData.isSafetyCheck == 1"> <el-form-item label="安全检查表上传" prop="assAccessoryFiles"> - <el-upload accept="image/*,.pdf,.doc,.docx,.xlsx,.xls" :action="state.uploadUrl" :data="{moduleType: 5,projectId: props.projectId}" :headers="state.header" method="post" :on-success="(res, uploadFile)=>handleAvatarSuccess(res, uploadFile,5)" :on-exceed="showTip" :on-preview="handlePictureCardPreview" :limit='1' v-model:file-list="state.safetyList" :before-upload="picSize" :on-remove="(file, uploadFiles)=>handleRemove(file, uploadFiles,5)"> + <el-upload :disabled="projectType==='detail'" accept="image/*,.pdf,.doc,.docx,.xlsx,.xls" :action="state.uploadUrl" :data="{moduleType: 5,projectId: props.projectId}" :headers="state.header" method="post" :on-success="(res, uploadFile)=>handleAvatarSuccess(res, uploadFile,5)" :on-exceed="showTip" :on-preview="handlePictureCardPreview" :limit='1' v-model:file-list="state.safetyList" :before-upload="picSize" :on-remove="(file, uploadFiles)=>handleRemove(file, uploadFiles,5)"> <el-button type="primary">附件上传</el-button> <template #tip> <div class="el-upload__tip">上传文件尺寸小于5M,最多可上传1份</div> @@ -71,7 +71,7 @@ <el-row style="border: 1px dashed #999;border-radius: 4px;padding: 10px;margin-top: 20px"> <el-col :span="24"> <el-form-item label="主要装置前合影照片" prop="deviceImages"> - <el-upload accept="image/*" :action="state.uploadUrl" :data="{moduleType: 1,projectId: props.projectId}" list-type="picture-card" :headers="state.header" method="post" :on-success="(res, uploadFile)=>handleAvatarSuccess(res, uploadFile,1)" :on-exceed="showTip" :on-preview="handlePictureCardPreview" :limit='10' v-model:file-list="state.beforeDeviceList" :before-upload="picSize" :on-remove="(file, uploadFiles)=>handleRemove(file, uploadFiles,1)" > + <el-upload accept="image/*" :disabled="projectType === 'detail'" :action="state.uploadUrl" :data="{moduleType: 1,projectId: props.projectId}" list-type="picture-card" :headers="state.header" method="post" :on-success="(res, uploadFile)=>handleAvatarSuccess(res, uploadFile,1)" :on-exceed="showTip" :on-preview="handlePictureCardPreview" :limit='10' v-model:file-list="state.beforeDeviceList" :before-upload="picSize" :on-remove="(file, uploadFiles)=>handleRemove(file, uploadFiles,1)" > <el-icon><Plus /></el-icon> <template #tip> <div class="el-upload__tip">上传照片尺寸小于5M,最多可上传10张</div> @@ -83,7 +83,7 @@ <el-row style="border: 1px dashed #999;border-radius: 4px;padding: 10px;margin-top: 20px"> <el-col :span="24"> <el-form-item label="现场勘验照片" prop="investingationImages"> - <el-upload accept="image/*" :action="state.uploadUrl" :data="{moduleType: 2,projectId: props.projectId}" list-type="picture-card" :headers="state.header" method="post" :on-success="(res, uploadFile)=>handleAvatarSuccess(res, uploadFile,2)" :on-exceed="showTip" :on-preview="handlePictureCardPreview" :limit='10' v-model:file-list="state.siteCheckList" :before-upload="picSize" :on-remove="(file, uploadFiles)=>handleRemove(file, uploadFiles,2)" > + <el-upload accept="image/*" :disabled="projectType === 'detail'" :action="state.uploadUrl" :data="{moduleType: 2,projectId: props.projectId}" list-type="picture-card" :headers="state.header" method="post" :on-success="(res, uploadFile)=>handleAvatarSuccess(res, uploadFile,2)" :on-exceed="showTip" :on-preview="handlePictureCardPreview" :limit='10' v-model:file-list="state.siteCheckList" :before-upload="picSize" :on-remove="(file, uploadFiles)=>handleRemove(file, uploadFiles,2)" > <el-icon><Plus /></el-icon> <template #tip> <div class="el-upload__tip">上传照片尺寸小于5M,最多可上传10张</div> @@ -95,7 +95,7 @@ <el-row style="border: 1px dashed #999;border-radius: 4px;padding: 10px;margin-top: 20px;margin-bottom: 20px"> <el-col :span="24"> <el-form-item label="企业陪同人员照片" prop="ccompanyImages"> - <el-upload accept="image/*" :action="state.uploadUrl" :data="{moduleType: 3,projectId: props.projectId}" list-type="picture-card" :headers="state.header" method="post" :on-success="(res, uploadFile)=>handleAvatarSuccess(res, uploadFile,3)" :on-exceed="showTip" :on-preview="handlePictureCardPreview" :limit='10' v-model:file-list="state.companyList" :before-upload="picSize" :on-remove="(file, uploadFiles)=>handleRemove(file, uploadFiles,3)" > + <el-upload :disabled="projectType === 'detail'" accept="image/*" :action="state.uploadUrl" :data="{moduleType: 3,projectId: props.projectId}" list-type="picture-card" :headers="state.header" method="post" :on-success="(res, uploadFile)=>handleAvatarSuccess(res, uploadFile,3)" :on-exceed="showTip" :on-preview="handlePictureCardPreview" :limit='10' v-model:file-list="state.companyList" :before-upload="picSize" :on-remove="(file, uploadFiles)=>handleRemove(file, uploadFiles,3)" > <el-icon><Plus /></el-icon> <template #tip> <div class="el-upload__tip">上传照片尺寸小于5M,最多可上传10张</div> @@ -253,10 +253,11 @@ } } - +const projectType = ref(''); const riskOpen = async (type,val) => { state.formData.projectId = val state.projectId = val + projectType.value = type; if(type === 'detail' || type === 'edit' ){ // await getDetail(val) } @@ -464,54 +465,56 @@ } const handleRemove = async (file, uploadFiles,type) => { - ElMessageBox.confirm( - '确定删除该附件?', - '提示', - { - confirmButtonText: '确定', - cancelButtonText: '取消', - type: 'warning', - }) - .then( async() => { - const res = await delFile(file.id) - if(res.code == 200){ - ElMessage({ - type: 'success', - message: '文件已删除' - }) + + ElMessageBox.confirm( + '确定删除该附件?', + '提示', + { + confirmButtonText: '确定', + cancelButtonText: '取消', + type: 'warning', + }) + .then( async() => { + const res = await delFile(file.id) + if(res.code == 200){ + ElMessage({ + type: 'success', + message: '文件已删除' + }) + if(type == 1){ + await getBeforeFiles() + } + if(type == 2){ + await getSiteCheckFiles() + } + if(type == 3){ + await getCompanyFiles() + } + if(type == 5){ + await getSafetyFiles() + } + }else{ + ElMessage({ + type: 'warning', + message: res.message + }) + } + }) + .catch(()=>{ if(type == 1){ - await getBeforeFiles() + getBeforeFiles() } if(type == 2){ - await getSiteCheckFiles() + getSiteCheckFiles() } if(type == 3){ - await getCompanyFiles() + getCompanyFiles() } if(type == 5){ - await getSafetyFiles() + getSafetyFiles() } - }else{ - ElMessage({ - type: 'warning', - message: res.message - }) - } - }) - .catch(()=>{ - if(type == 1){ - getBeforeFiles() - } - if(type == 2){ - getSiteCheckFiles() - } - if(type == 3){ - getCompanyFiles() - } - if(type == 5){ - getSafetyFiles() - } - }) + }) + } defineExpose({ @@ -527,4 +530,5 @@ } } + </style> diff --git a/src/views/safetyReview/projectManage/components/uploadReviewRcd.vue b/src/views/safetyReview/projectManage/components/uploadReviewRcd.vue index 58a404b..dd293c2 100644 --- a/src/views/safetyReview/projectManage/components/uploadReviewRcd.vue +++ b/src/views/safetyReview/projectManage/components/uploadReviewRcd.vue @@ -4,7 +4,7 @@ <el-row :gutter="30"> <el-col :span="18"> <el-form-item label="附件上传"> - <el-upload accept="image/*,.pdf,.doc,.docx" :action="state.uploadUrl" :data="{moduleType: 6,projectId: props.projectId}" :headers="state.header" method="post" :on-success="handleAvatarSuccess" :on-exceed="showTip" v-model:file-list="state.fileList" :before-upload="picSize" :on-remove="handleRemove"> + <el-upload :disabled="projectType === 'detail'" accept="image/*,.pdf,.doc,.docx" :action="state.uploadUrl" :data="{moduleType: 6,projectId: props.projectId}" :headers="state.header" method="post" :on-success="handleAvatarSuccess" :on-exceed="showTip" v-model:file-list="state.fileList" :before-upload="picSize" :on-remove="handleRemove"> <el-button type="primary">上传评审记录</el-button> <template #tip> <div class="el-upload__tip">上传文件尺寸尺寸小于2M</div> @@ -19,7 +19,7 @@ <el-table-column label="操作" header-align="center" class-name="small-padding fixed-width" width="120"> <template #default="scope"> <el-button link type="primary" @click="checkFile(scope.row)">查看</el-button> - <el-button link type="danger" @click="handleRemove(scope.row,[])">删除</el-button> + <el-button link type="danger" @click="handleRemove(scope.row,[])" :disabled="projectType === 'detail'">删除</el-button> </template> </el-table-column> </el-table> @@ -58,10 +58,13 @@ getReviewFiles(props.projectId) }) +const projectType = ref(''); const riskOpen = async (type,val) => { + projectType.value = type; if(type === 'detail' || type === 'edit' ){ await getReviewFiles } + if(type === 'add' || type === 'clickEdit') { const valid = await formRef.value.validate(); if(valid){ @@ -159,9 +162,10 @@ if(res.code == 200){ getReviewFiles() }else{ + state.fileList.splice(state.fileList.indexOf(uploadFile),1) ElMessage({ type: 'warning', - message: '文件上传失败' + message: res.message }) } } diff --git a/src/views/safetyReview/projectManage/index.vue b/src/views/safetyReview/projectManage/index.vue index ae959cb..c1fe209 100644 --- a/src/views/safetyReview/projectManage/index.vue +++ b/src/views/safetyReview/projectManage/index.vue @@ -119,7 +119,7 @@ <el-table-column label="归档确认" prop="" align="center" width="150"> <template #default="scope"> <div style="cursor:pointer;color: #3b82f6;" > - <span @click="goMenu('toThirteen',scope.row)">{{scope.row.activeConfirm}}</span> + <span v-if="scope.row.process === 5" @click="goMenu('toThirteen',scope.row)">{{scope.row.activeConfirm}}</span> <!-- <span v-else></span>--> </div> </template> @@ -493,10 +493,6 @@ }); const goMenu = (toPath,val) => { console.log("val",val) - if(toPath ==='toThirteen' && val.personRecognition && val.personRecognition. recognitionCnt === 0){ - ElMessage.warning('未进行签字确认,无法查看!') - return; - } toProcess('edit',val,toPath); } diff --git a/src/views/safetyReview/projectManage/process.vue b/src/views/safetyReview/projectManage/process.vue index 65e713e..ce05957 100644 --- a/src/views/safetyReview/projectManage/process.vue +++ b/src/views/safetyReview/projectManage/process.vue @@ -3,8 +3,10 @@ <div class="flow"> <div class="content" :class="{show: isShowMenu}" > <div class="content-middle" @click="clickMenu(true)"> - <div style="margin-right:20px;height: 85px;display: flex;align-items: center;flex-shrink: 1;"> - <img :src="projectPng"> + <div class="project-title"> +<!-- <img :src="projectPng">--> + <span>项目</span> + <span>阶段</span> </div> <div v-for="item in menuList" :key="item.id" style="flex: 1" :class="{choose: item.status === 1 || item.status === 2}"> <div class="header-item"> @@ -53,7 +55,7 @@ <sign-confirm ref="signConfirmRef" v-if="selectedObj.id === 13" @getNextStatus="getNextStatus" :projectId="projectId"></sign-confirm> <confirm-end ref="confirmEndRef" v-if="selectedObj.id === 14" @getNextStatus="getNextStatus" :projectId="projectId"></confirm-end> </div> - <div style="display: flex;align-items: center;justify-content: center;margin-bottom: -20px"> + <div style="display: flex;align-items: center;justify-content: center;margin-bottom: -30px;margin-top: 10px"> <el-button type="primary" v-if="selectedObj.id !== 1" style="width: 80px" @click="back">上一步</el-button> <el-button type="warning" style="width: 80px" v-if="(projectStatus === 'add' && selectedObj.status === 1 && selectedObj.id !== 14)||(projectStatus === 'edit' && selectedObj.status === 1 && selectedObj.id !== 14) " @click="save">保存</el-button> <el-button type="warning" style="width: 80px" v-if="(projectStatus === 'edit' && selectedObj.status !== 1 && selectedObj.id !== 13 && selectedObj.id !== 14 && reportProcess != 14) || (projectStatus === 'add' && selectedObj.status !== 1 && selectedObj.id !== 14 && reportProcess != 14) " @click="clickEdit">变更</el-button> @@ -83,7 +85,7 @@ import status0Png from "@/assets/images/status0.png" import status1Png from "@/assets/images/status1.png" import status2Png from "@/assets/images/status2.png" -import itemStatus2Png from "@/assets/images/itemStatus2.png" +import itemStatus2Png from "@/assets/images/itemStatus2-1.png" import { useRoute } from 'vue-router' import {getProjectStatus} from "@/api/projectManage/project" import ContractManage from "./components/contractManage"; @@ -924,7 +926,7 @@ max-height: 85px; cursor: pointer; background-color: hsla(0,0%,100%,.97); - background-image: url(../../../assets/images/bg.png); + //background-image: url(../../../assets/images/bg2.png); background-repeat: no-repeat; background-size: 100% 84px; overflow: hidden; @@ -947,7 +949,7 @@ pointer-events: auto; transform: translateX(-50%); width: 118px; - background-image: url(../../../assets/images/back.png); + background-image: url(../../../assets/images/back1.png); } .choose .header-item{ color: #fff; @@ -964,6 +966,18 @@ display: flex; flex-direction: row; box-shadow: 0 0 18px 3px rgba(145,146,171,.2); + .project-title{ + margin-right: 20px; + height: 85px; + display: flex; + align-items: center; + flex-shrink: 1; + flex-direction: column; + justify-content: center; + font-size: 20px; + font-weight: 700; + color: rgb(255, 140, 138); + } } .header-item{ position: relative; @@ -995,11 +1009,11 @@ font-size: 19px; color: #626c8b; border: 1px solid #fff; - background: rgba(198,230,255,.2); + background: rgba(233 223 211 / 20%); border-radius: 8px; display: flex; align-items: center; - width: 70%; + width: 80%; padding-left: 20px; padding-right: 15px; cursor: pointer; @@ -1011,13 +1025,13 @@ line-height: 20px; text-align: center; border-radius: 50%; - background: #b9c2d5; + background: #f3ccb0; margin-right: 10px; min-width: 21px; min-height: 21px; } .item-icon-status1{ - color: #3b75ff; + color: #f17235; background: #fff; } .item-icon-status2{ @@ -1031,13 +1045,13 @@ cursor: pointer; color: #fff; border: 1px solid #c6e6ff; - background: linear-gradient(90deg,#57b6ff,#3b75ff); + background: linear-gradient(90deg,rgb(239, 186, 141),rgb(255, 140, 138)); } .itemPrev{ cursor: pointer; - color: #3b75ff; - border: 1px solid #c6e6ff; - background: rgba(198,230,255,.4); + color: #f38323; + border: 1px solid #f5e4cf; + background: rgb(249 210 170 / 40%); } .itemPrev:hover{ transform: scale(1.1); @@ -1056,7 +1070,7 @@ padding: 12px 56px; font-size: 18px; color: #fff; - background-image: url(../../../assets/images/cardHeader.png); + background-image: url(../../../assets/images/cardHeader2.png); background-size: 100% 100%; background-repeat: no-repeat; margin: -20px; @@ -1078,6 +1092,7 @@ overflow: hidden; white-space: nowrap; text-overflow: ellipsis; + font-size: 16px; } diff --git a/src/views/safetyReview/userManage/expertUsers/components/expertDialog.vue b/src/views/safetyReview/userManage/expertUsers/components/expertDialog.vue index 06ab7a9..972aeaf 100644 --- a/src/views/safetyReview/userManage/expertUsers/components/expertDialog.vue +++ b/src/views/safetyReview/userManage/expertUsers/components/expertDialog.vue @@ -372,20 +372,25 @@ const isAgency = ref(false); onMounted(()=>{ - const userInfo = JSON.parse(Cookies.get('userInfo')) - - if(userInfo.identity === 1){ - state.agencyName = userInfo.agentName; - state.form.agencyId = userInfo.agentId; - isAgency.value = true; - }else { - getAgency() - } - console.log("userinfo",userInfo) }) +const getUserInfoAgency = () => { + const userInfo = JSON.parse(Cookies.get('userInfo')) + if(userInfo.identity === 1){ + state.agencyName = userInfo.agentName; + state.form.agencyId = userInfo.agentId; + isAgency.value = true; + }else { + getAgency() + } + console.log("userinfo",userInfo) +} + + + const openDialog = async (type, value) => { - getArea() + await getUserInfoAgency(); + await getArea() state.title = type === 'add' ? '新增' : type ==='edit' ? '编辑' : type ==='pwd' ? '修改密码' : '查看' ; if(type === 'edit') { const param = { @@ -436,6 +441,13 @@ ElMessage.warning(res.message) } + }else if(type === 'add'){ + console.log("aa",props.majorList) + props.majorList.forEach(item => { + if(item.certificateNo){ + item.certificateNo = '' + } + }) } if(type == 'pwd'){ state.form.id = value.id @@ -488,12 +500,9 @@ if(res.code == 200){ ElMessage.success(res.message) emit('getList') + reset(); superRef.value.clearValidate(); - superRef.value.resetFields(); - state.salaryList = []; - state.medicalList = []; - state.socialList = []; - state.photoList = []; + dialogVisible.value = false; }else{ ElMessage.warning(res.message) @@ -514,8 +523,9 @@ if(res.code == 200){ ElMessage.success(res.message) emit('getList') - superRef.value.clearValidate(); reset() + superRef.value.clearValidate(); + dialogVisible.value = false; }else{ ElMessage.warning(res.message) @@ -528,8 +538,9 @@ if(res.code == 200){ ElMessage.success(res.message) emit('getList') - superRef.value.clearValidate(); reset() + superRef.value.clearValidate(); + dialogVisible.value = false; }else{ ElMessage.warning(res.message) diff --git a/src/views/safetyReview/userManage/expertUsers/components/projectDialog.vue b/src/views/safetyReview/userManage/expertUsers/components/projectDialog.vue index 3637bbd..2b3782d 100644 --- a/src/views/safetyReview/userManage/expertUsers/components/projectDialog.vue +++ b/src/views/safetyReview/userManage/expertUsers/components/projectDialog.vue @@ -60,7 +60,7 @@ <el-table-column label="归档确认" prop="" align="center" width="150"> <template #default="scope"> <div style="cursor:pointer;color: #3b82f6;" > - <span v-if="scope.row.process === 5 && scope.row.personRecognition" @click="goMenu('toThirteen',scope.row)">{{scope.row.personRecognition.recognitionCnt}}/{{scope.row.personRecognition.personCnt}}</span> + <span v-if="scope.row.process === 5" @click="goMenu('toThirteen',scope.row)">{{scope.row.activeConfirm}}</span> <span v-else></span> </div> </template> @@ -129,6 +129,7 @@ filingDate: item.filingDate ? item.filingDate : conversionDays(item.createTime), contractMoney: item.contract ? item.contract.contractMoney : '', actualContractMoney: item.contract ? item.contract.actualContractMoney : '', + activeConfirm: item.personRecognition ? item.personRecognition.recognitionCnt + '/' + item.personRecognition.personCnt: '', missingMaterialCnt: 3-item.materialCnt } }) @@ -157,10 +158,6 @@ } const goMenu = (toPath,val) => { console.log("val",val) - if(toPath ==='toThirteen' && val.personRecognition && val.personRecognition. recognitionCnt === 0){ - ElMessage.warning('未进行签字确认,无法查看!') - return; - } toProcess('edit',val,toPath); } const conversionDays = (createTime) => { diff --git a/src/views/safetyReview/userManage/expertUsers/index.vue b/src/views/safetyReview/userManage/expertUsers/index.vue index 75e70c9..9205b82 100644 --- a/src/views/safetyReview/userManage/expertUsers/index.vue +++ b/src/views/safetyReview/userManage/expertUsers/index.vue @@ -56,7 +56,7 @@ <!-- 表格数据 --> <el-table v-loading="loading" :data="dataList" :border="true"> - <el-table-column label="用户ID" prop="id" align="center" /> + <el-table-column label="序号" type="index" align="center" width="60" /> <el-table-column label="姓名" prop="name" align="center" width="110" /> <el-table-column label="手机号" prop="phone" align="center" width="125" /> <el-table-column label="用户名" prop="username" align="center" width="110" /> @@ -252,7 +252,7 @@ medicalAttach: item.medicalAttach.map(s => { return import.meta.env.VITE_APP_BASE_API + '/' + s.path}), salaryAttach: item.salaryAttach.map(s => { return import.meta.env.VITE_APP_BASE_API + '/' + s.path}), idPhoto: item.idPhoto ? [import.meta.env.VITE_APP_BASE_API + '/' + item.idPhoto ] : [], - lastEstimateTime: item.personProjectVO ? item.personProjectVO.lastEstimateTime : '', + lastEstimateTime: item.personProjectVO ? item.personProjectVO.lastEstimateTime.slice(0,10) : '', projectCount: item.personProjectVO ? item.personProjectVO.projectCount : '' } }) -- Gitblit v1.9.2