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/siteCheckRcd.vue | 71 ++++++++++++++++++++++------------- 1 files changed, 45 insertions(+), 26 deletions(-) diff --git a/src/views/safetyReview/projectManage/components/siteCheckRcd.vue b/src/views/safetyReview/projectManage/components/siteCheckRcd.vue index 514bd3e..9f7626f 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"> + <el-radio-group v-model="state.formData.isSafetyCheck" size="large" @change="changeRadio"> <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)" :before-remove="beforeRemove"> + <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-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)" :before-remove="beforeRemove"> + <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-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)" :before-remove="beforeRemove"> + <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-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)" :before-remove="beforeRemove"> + <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-icon><Plus /></el-icon> <template #tip> <div class="el-upload__tip">上传照片尺寸小于5M,最多可上传10张</div> @@ -167,7 +167,7 @@ rules: { investigationDate: [{required: true, message: '请选择现场勘验时间', trigger: 'blur'}], location: [{required: true, message: '请选择现场勘验位置', trigger: 'blur'}], - isSafetyCheck: [{required: true, message: '请选择现场勘验位置', trigger: 'blur'}], + isSafetyCheck: [{required: true, message: '请选择是否编制现场安全检查表', trigger: 'blur'}], recordData: [{required: true, message: '请填写现场勘验记录', trigger: 'blur'}], assAccessoryFiles: [{required: true, validator: checkSafetyFiles, trigger: 'blur'}], // investingationImages: [{required: true, validator: checkInvestFiles, trigger: 'blur'}], @@ -194,14 +194,16 @@ if(userInfo.identity === 0){ isAmin.value = true; } + if(props.projectId){ + getDetail(props.projectId) + } + }); -const riskOpen = async (type,val) => { - state.formData.projectId = val - state.projectId = val - if(type === 'detail' || type === 'edit' ){ - const res = await getSiteCheckDetail({projectId: val}); - if(res.code == 200){ +const getDetail = async (val) => { + const res = await getSiteCheckDetail({projectId: val}); + if(res.code == 200){ + if(res.data){ state.formData = res.data; state.beforeDeviceList = res.data.deviceImages.map(i=>{ return { @@ -232,16 +234,31 @@ }) state.safetyList = res.data.assAccessoryFiles.map(i=>{ return { - name: i.fileName, + name: i.originName, url: import.meta.env.VITE_APP_BASE_API + '/' + i.path, id: i.id, projectId: i.projectId, moduleType: i.moduleType } }) - }else { - ElMessage.warning(res.message) } + + }else { + ElMessage.warning(res.message) + } +} +const changeRadio = () => { + if(state.formData.isSafetyCheck == 1){ + getSafetyFiles() + } +} + + +const riskOpen = async (type,val) => { + state.formData.projectId = val + state.projectId = val + if(type === 'detail' || type === 'edit' ){ + // await getDetail(val) } if(type === 'add' || type === 'clickEdit') { const valid = await formRef.value.validate(); @@ -259,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', res.data); + emit('getNextStatus', val); } else { ElMessage.warning(res.message) } @@ -373,7 +392,7 @@ if(res.data && res.data.length>0){ state.safetyList = res.data.map(i=>{ return { - name: i.fileName, + name: i.originName, url: import.meta.env.VITE_APP_BASE_API + '/' + i.path, id: i.id, projectId: i.projectId, -- Gitblit v1.9.2