From eee656c8d1aab0b5aa8935bf1630f782321fc7f4 Mon Sep 17 00:00:00 2001 From: zhouwenxuan <1175765986@qq.com> Date: 星期三, 21 二月 2024 16:53:35 +0800 Subject: [PATCH] bug修改 --- src/views/safetyReview/projectManage/components/innerReview.vue | 5 +- src/views/safetyReview/projectManage/components/techLeaderReview.vue | 3 + src/views/safetyReview/projectManage/components/projectArchive.vue | 27 ++++++++++--- src/views/safetyReview/projectManage/components/siteCheckRcd.vue | 22 ++++++----- src/views/safetyReview/projectManage/components/processCtrlReview.vue | 8 +++ src/views/safetyReview/projectManage/components/uploadReviewRcd.vue | 14 ++++++- src/views/safetyReview/projectManage/index.vue | 2 7 files changed, 58 insertions(+), 23 deletions(-) diff --git a/src/views/safetyReview/projectManage/components/innerReview.vue b/src/views/safetyReview/projectManage/components/innerReview.vue index 730b748..665241d 100644 --- a/src/views/safetyReview/projectManage/components/innerReview.vue +++ b/src/views/safetyReview/projectManage/components/innerReview.vue @@ -15,7 +15,7 @@ </el-form-item> </el-col> <el-col :span="6"> - <el-form-item prop="leader.name" label="内部审核员"> + <el-form-item prop="assessor.name" label="内部审核员"> <el-input v-model="state.formData.assessor.name" size="large" @@ -107,7 +107,8 @@ }, rules: { "assessor.name": [{required: true, message: '请选择内部审核员', trigger: 'blur'}], - auditDate: [{required: true, message: '请选择审核日期', trigger: 'blur'}] + auditDate: [{required: true, message: '请选择审核日期', trigger: 'blur'}], + affirmDate: [{required: true, message: '请选择内部审核确认日期', trigger: 'blur'}] }, tableData: [ {id: 1, content: '评价依据是否充分、准确、有效',key: 'isBasis', status: 1}, diff --git a/src/views/safetyReview/projectManage/components/processCtrlReview.vue b/src/views/safetyReview/projectManage/components/processCtrlReview.vue index 60bf3cc..f04ff2c 100644 --- a/src/views/safetyReview/projectManage/components/processCtrlReview.vue +++ b/src/views/safetyReview/projectManage/components/processCtrlReview.vue @@ -42,7 +42,7 @@ <el-table-column label="过程控制关键点" prop="content" header-align="center" :show-overflow-tooltip="true"/> <el-table-column label="审核结果" header-align="center" class-name="small-padding fixed-width" width="175"> <template #default="scope"> - <el-radio-group v-model="scope.row.status" > + <el-radio-group v-model="scope.row.status" @change="changeStatus(scope.row)"> <el-radio :label="1">符合</el-radio> <el-radio :label="0">不符合</el-radio> </el-radio-group> @@ -225,6 +225,12 @@ } } } +const changeStatus = (val) => { + if(val.status == 1 && val.reason != "") { + const index = state.tableData.findIndex(item => item.id == val.id) + state.tableData[index].reason = "" + } +} const openExperts = (type) =>{ expertsListRef.value.openDialog(type) diff --git a/src/views/safetyReview/projectManage/components/projectArchive.vue b/src/views/safetyReview/projectManage/components/projectArchive.vue index 7b925a4..90be6e4 100644 --- a/src/views/safetyReview/projectManage/components/projectArchive.vue +++ b/src/views/safetyReview/projectManage/components/projectArchive.vue @@ -25,7 +25,7 @@ </el-table-column> <el-table-column label="原因说明" align="center" class-name="small-padding fixed-width"> <template #default="scope"> - <el-input v-model="scope.row.remark" show-word-limit type="text" size="large"/> + <el-input v-model="scope.row.remark" show-word-limit type="text" size="large" /> </template> </el-table-column> <el-table-column label="附件上传" align="center" class-name="small-padding fixed-width"> @@ -203,13 +203,28 @@ const file = state.uploadList.map(item => { return{ id: item.id ? item.id : null, - fileId: item.fileList ? item.fileList[0].response ? item.fileList[0].response.data.id : item.fileList[0].id : '', + fileId: item.fileList && item.fileList.length>0 ? item.fileList[0].response ? item.fileList[0].response.data.id : item.fileList[0].id : '', name: item.name, type: item.type, remark: item.remark, projectId: val } }) + + let isOk = false; + try{ + state.uploadList.forEach(item => { + if(item.type == 1 && (!item.fileList || item.fileList .length == 0) && item.remark == ""){ + isOk = true; + throw Error(); + } + }) + }catch (e) {} + + if(isOk){ + ElMessage.warning("请完善原因说明或上传附件!"); + return; + } const { ...data} = JSON.parse(JSON.stringify(state.formData)) data.actualContractMoney = state.actualContract.actualContractMoney; data.actualContractIntroduction = state.actualContract.actualContractIntroduction; @@ -334,10 +349,10 @@ } const res = await delAccessoryFile(accessoryFileId) if(res.code == 200){ - ElMessage({ - type: 'success', - message: '文件已删除' - }) + // ElMessage({ + // type: 'success', + // message: '文件已删除' + // }) }else{ ElMessage({ type: 'warning', diff --git a/src/views/safetyReview/projectManage/components/siteCheckRcd.vue b/src/views/safetyReview/projectManage/components/siteCheckRcd.vue index 7a24729..9f7626f 100644 --- a/src/views/safetyReview/projectManage/components/siteCheckRcd.vue +++ b/src/views/safetyReview/projectManage/components/siteCheckRcd.vue @@ -276,19 +276,21 @@ if (res.code == 200) { ElMessage.success('保存成功') if(state.formData.isSafetyCheck == 0){ - const res = await delFile(state.safetyList[0].id) - if(res.code == 200){ - console.log('删除原有附件') - await getSafetyFiles() - }else{ - ElMessage({ - type: 'warning', - message: res.message - }) + if(state.safetyList && state.safetyList.length >0){ + const res = await delFile(state.safetyList[0].id) + if(res.code == 200){ + console.log('删除原有附件') + await getSafetyFiles() + }else{ + ElMessage({ + type: 'warning', + message: res.message + }) + } } } formRef.value.clearValidate(); - emit('getNextStatus', state.projectId); + emit('getNextStatus', val); } else { ElMessage.warning(res.message) } diff --git a/src/views/safetyReview/projectManage/components/techLeaderReview.vue b/src/views/safetyReview/projectManage/components/techLeaderReview.vue index 87e98e8..abe23da 100644 --- a/src/views/safetyReview/projectManage/components/techLeaderReview.vue +++ b/src/views/safetyReview/projectManage/components/techLeaderReview.vue @@ -107,7 +107,8 @@ }, rules: { "assessor.name": [{required: true, message: '请选择技术负责人', trigger: 'blur'}], - auditDate: [{required: true, message: '请选择审核日期', trigger: 'blur'}] + auditDate: [{required: true, message: '请选择审核日期', trigger: 'blur'}], + affirmDate: [{required: true, message: '请选择确认日期', trigger: 'blur'}] }, tableData: [ {id: 1, content: '报告中所列评价依据是否得到引用和验证',key: 'isBasisQuote', status: 1}, diff --git a/src/views/safetyReview/projectManage/components/uploadReviewRcd.vue b/src/views/safetyReview/projectManage/components/uploadReviewRcd.vue index b6ed5c3..58a404b 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"> + <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-button type="primary">上传评审记录</el-button> <template #tip> <div class="el-upload__tip">上传文件尺寸尺寸小于2M</div> @@ -15,7 +15,7 @@ </el-row> <el-table :data="state.tableData" :border="true" style="margin: 20px 0"> <el-table-column label="序号" width="60" align="center" type="index"></el-table-column> - <el-table-column label="原名称" prop="originName" header-align="center" :show-overflow-tooltip="true"/> + <el-table-column label="原名称" prop="originName" align="center" :show-overflow-tooltip="true"/> <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> @@ -112,6 +112,16 @@ if(res.code == 200){ if(res.data && res.data.length>0){ state.tableData = res.data + state.fileList = res.data.map(i => { + return { + name: i.originName, + url: import.meta.env.VITE_APP_BASE_API + '/' + i.path, + id: i.id, + projectId: i.projectId, + moduleType: i.moduleType + + } + }) }else{ state.tableData=[] } diff --git a/src/views/safetyReview/projectManage/index.vue b/src/views/safetyReview/projectManage/index.vue index 672de99..45470fb 100644 --- a/src/views/safetyReview/projectManage/index.vue +++ b/src/views/safetyReview/projectManage/index.vue @@ -492,7 +492,7 @@ }); const goMenu = (toPath,val) => { console.log("val",val) - if(val.personRecognition && val.personRecognition. recognitionCnt === 0){ + if(toPath ==='toThirteen' && val.personRecognition && val.personRecognition. recognitionCnt === 0){ ElMessage.warning('未进行签字确认,无法查看!') return; } -- Gitblit v1.9.2