| | |
| | | </el-upload> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column label="操作" align="center" class-name="small-padding fixed-width"> |
| | | <template #default="scope"> |
| | | <el-button link type="danger" @click="delUpload(scope.$index)">删除</el-button> |
| | | </template> |
| | | </el-table-column> |
| | | <!-- <el-table-column label="操作" align="center" class-name="small-padding fixed-width">--> |
| | | <!-- <template #default="scope">--> |
| | | <!-- <el-button link type="danger" @click="delUpload(scope.$index)">删除</el-button>--> |
| | | <!-- </template>--> |
| | | <!-- </el-table-column>--> |
| | | </el-table> |
| | | <el-row :gutter="30"> |
| | | <el-col :span="6"> |
| | |
| | | const handleAvatarSuccess = (res, uploadFile) => { |
| | | if(res.code === 200){ |
| | | console.log("if",state.uploadList) |
| | | ElMessage({ |
| | | type: 'success', |
| | | message: '文件上传成功' |
| | | }) |
| | | // ElMessage({ |
| | | // type: 'success', |
| | | // message: '文件上传成功' |
| | | // }) |
| | | }else { |
| | | ElMessage({ |
| | | type: 'warning', |
| | |
| | | if (res.code == 200) { |
| | | ElMessage.success('保存成功') |
| | | formRef.value.clearValidate(); |
| | | emit('getNextStatus', val); |
| | | emit('getNextStatus', res.data); |
| | | |
| | | } else { |
| | | ElMessage.warning(res.message) |
| | |
| | | </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> |
| | |
| | | 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'}], |
| | |
| | | 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 { |
| | |
| | | }) |
| | | 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) |
| | | } |
| | | } |
| | | const changeRadio = () => { |
| | | if(state.formData.isSafetyCheck == 1){ |
| | | getSafetyFiles() |
| | | } |
| | | } |
| | | |
| | |
| | | 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, |
| | |
| | | suggestions: '' |
| | | }, |
| | | rules: { |
| | | "assessor.name": [{required: true, message: '请选择内部审核员', trigger: 'blur'}], |
| | | "assessor.name": [{required: true, message: '请选择技术负责人', trigger: 'blur'}], |
| | | auditDate: [{required: true, message: '请选择审核日期', trigger: 'blur'}] |
| | | }, |
| | | tableData: [ |
| | |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column label="项目实施天数" prop="filingDate" align="center" width="150"/> |
| | | <el-table-column label="项目变更" prop="" align="center" width="120"> |
| | | <template #default="scope"> |
| | | <div style="cursor:pointer;color: #3b82f6;" > |
| | | <span v-if="scope.row.process !== 1" @click="goMenu('toFive',scope.row)">{{}}</span> |
| | | <span v-else></span> |
| | | </div> |
| | | </template> |
| | | </el-table-column> |
| | | <!-- <el-table-column label="项目变更" prop="" align="center" width="120">--> |
| | | <!-- <template #default="scope">--> |
| | | <!-- <div style="cursor:pointer;color: #3b82f6;" >--> |
| | | <!-- <span v-if="scope.row.process !== 1" @click="goMenu('toFive',scope.row)">{{}}</span>--> |
| | | <!-- <span v-else></span>--> |
| | | <!-- </div>--> |
| | | <!-- </template>--> |
| | | <!-- </el-table-column>--> |
| | | <el-table-column label="预估金额(万元)" prop="contractMoney" align="center" width="130"/> |
| | | <el-table-column label="归档金额(万元)" prop="actualContractMoney" align="center" width="130"/> |
| | | <el-table-column label="缺失要件" align="center" width="150"> |
| | |
| | | <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" @click="goMenu('toThirteen',scope.row)">{{}}</span> |
| | | <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-else></span> |
| | | </div> |
| | | </template> |
| | |
| | | } |
| | | const toProcess = (type,value,toPath) => { |
| | | value.type = type; |
| | | router.push({ path: '/process', query: {id: value.id, type: type, toPath: toPath}}); |
| | | router.push({ path: '/process', query: {id: value.id, type: type, toPath: toPath, process: value.reportProgress}}); |
| | | } |
| | | |
| | | const getArea = async ()=>{ |
| | |
| | | if(res.code == 200){ |
| | | ElMessage.success('数据删除成功') |
| | | getList() |
| | | getStatistics() |
| | | |
| | | }else{ |
| | | ElMessage.warning(res.message) |
| | | } |
| | |
| | | <div style="display: flex;align-items: center;justify-content: center;margin-bottom: -20px"> |
| | | <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) || (projectStatus === 'add' && selectedObj.status !== 1 && selectedObj.id !== 14) " @click="clickEdit">变更</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> |
| | | <el-button type="warning" style="width: 80px" v-if="selectedObj.id === 14 && selectedObj.status === 1" @click="confirm">确认完结</el-button> |
| | | <el-button type="primary" style="width: 80px" v-if="selectedObj.id !== 14" @click="next">下一步</el-button> |
| | | </div> |
| | |
| | | const projectId = ref() |
| | | const projectStatus = ref() |
| | | const toPath = ref(); |
| | | const reportProcess = ref(); |
| | | onMounted(() => { |
| | | middleHeight.value = window.innerHeight - 250; |
| | | middleContentHeight.value = window.innerHeight - 385; |
| | |
| | | projectStatus.value = route.query.type; |
| | | projectId.value = route.query.id; |
| | | toPath.value = route.query.toPath; |
| | | reportProcess.value = route.query.process; |
| | | getStatus(projectId.value); |
| | | }else { |
| | | projectStatus.value = route.query.type; |
| | |
| | | const getStatus = async (projectId) => { |
| | | const res = await getProjectStatus(projectId); |
| | | if(res.code == 200){ |
| | | reportProcess.value = res.data |
| | | let fiveObj = {} |
| | | if(toPath.value && toPath.value === 'toFive' ){ |
| | | fiveObj = menuList.value[1].subMenus[0] |
| | |
| | | projectId.value = val |
| | | const res = await getProjectStatus(val); |
| | | if(res.code == 200){ |
| | | reportProcess.value = res.data |
| | | if(res.data <=4){ |
| | | menuList.value[0].subMenus.forEach(item => { |
| | | if(item.id <= res.data){ |
| | |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column label="项目实施天数" prop="filingDate" align="center" width="150"/> |
| | | <el-table-column label="项目变更" prop="" align="center" width="120"> |
| | | <template #default="scope"> |
| | | <div style="cursor:pointer;color: #3b82f6;" > |
| | | <span v-if="scope.row.process !== 1" @click="goMenu('toFive',scope.row)">{{}}</span> |
| | | <span v-else></span> |
| | | </div> |
| | | </template> |
| | | </el-table-column> |
| | | <!-- <el-table-column label="项目变更" prop="" align="center" width="120">--> |
| | | <!-- <template #default="scope">--> |
| | | <!-- <div style="cursor:pointer;color: #3b82f6;" >--> |
| | | <!-- <span v-if="scope.row.process !== 1" @click="goMenu('toFive',scope.row)">{{}}</span>--> |
| | | <!-- <span v-else></span>--> |
| | | <!-- </div>--> |
| | | <!-- </template>--> |
| | | <!-- </el-table-column>--> |
| | | <el-table-column label="预估金额(万元)" prop="contractMoney" align="center" width="130"/> |
| | | <el-table-column label="归档金额(万元)" prop="actualContractMoney" align="center" width="130"/> |
| | | <el-table-column label="缺失要件" prop="" align="center" width="150"> |
| | |
| | | <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" @click="goMenu('toThirteen',scope.row)">{{}}</span> |
| | | <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-else></span> |
| | | </div> |
| | | </template> |