From cfb7abc64254c471a69c2586ec6221bb5bd5caf9 Mon Sep 17 00:00:00 2001 From: lct123456 <lucht> Date: 星期日, 22 五月 2022 20:13:47 +0800 Subject: [PATCH] '巡检记录' --- src/views/doublePreventAction/hiddenDanger/inspectionRecord/components/detail.vue | 104 +++++++++++++++++++++++++++++++++++++++++---------- 1 files changed, 83 insertions(+), 21 deletions(-) diff --git a/src/views/doublePreventAction/hiddenDanger/inspectionRecord/components/detail.vue b/src/views/doublePreventAction/hiddenDanger/inspectionRecord/components/detail.vue index c3fc9e0..acd9920 100644 --- a/src/views/doublePreventAction/hiddenDanger/inspectionRecord/components/detail.vue +++ b/src/views/doublePreventAction/hiddenDanger/inspectionRecord/components/detail.vue @@ -70,7 +70,7 @@ <el-row> <el-col :span="24"> <el-form-item label="巡检结果" prop="result"> - <el-select v-model="inspectionRecordDetailForm.result" :disabled="ifShow" class="input" @change="ifNormal = !ifNormal"> + <el-select v-model="inspectionRecordDetailForm.result" :disabled="ifShow" class="input" @change="ifNormal = (inspectionRecordDetailForm.result === 2 ? true : false)"> <el-option v-for="item in resultList" :key="item.id" @@ -84,10 +84,24 @@ <div v-if="ifNormal"> <el-row> <el-col :span="24"> + <el-form-item label="异常通知部门" prop="noticeDepId"> + <el-select v-model="inspectionRecordDetailForm.noticeDepId" filterable clearable class="input" @change="changeDepartment('notice')" :disabled="ifShow"> + <el-option + v-for="item in departmentList" + :key="item.id" + :value="item.id" + :label="item.department" + ></el-option> + </el-select> + </el-form-item> + </el-col> + </el-row> + <el-row> + <el-col :span="24"> <el-form-item label="异常通知人员" prop="noticeUid"> <el-select v-model="inspectionRecordDetailForm.noticeUid" clearable filterable :disabled="ifShow" class="input"> <el-option - v-for="item in userList" + v-for="item in noticeUserList" :key="item.id" :value="item.id" :label="item.realname" @@ -103,12 +117,26 @@ </el-form-item> </el-col> </el-row> + <el-row> + <el-col :span="24"> + <el-form-item label="异常整改部门" prop="fixDepId"> + <el-select v-model="inspectionRecordDetailForm.fixDepId" filterable clearable class="input" :disabled="ifShow" @change="changeDepartment('fix')"> + <el-option + v-for="item in departmentList" + :key="item.id" + :value="item.id" + :label="item.department" + ></el-option> + </el-select> + </el-form-item> + </el-col> + </el-row> <el-row > <el-col :span="24"> <el-form-item label="整改人" prop="fixUid"> <el-select v-model="inspectionRecordDetailForm.fixUid" clearable filterable :disabled="ifShow" class="input"> <el-option - v-for="item in userList" + v-for="item in fixUserList" :key="item.id" :value="item.id" :label="item.realname" @@ -127,7 +155,7 @@ </el-row> <el-row> <el-col :span="24"> - <el-form-item label="上报图片" prop="img"> + <el-form-item label="上报图片" prop="imgInfoList"> <el-upload accept=".pdf,.jpg,.png" :action="fileRoad" @@ -137,7 +165,7 @@ :data="uploadForm" list-type="picture-card" :file-list="fileList" - v-model="inspectionRecordDetailForm.img" + v-model="inspectionRecordDetailForm.imgInfoList" :on-change="handleChangeFile" :on-success="onFileSuccess" :multiple="false" @@ -212,12 +240,14 @@ execUid: null, fixTime: null, fixUid: null, - img: null, + imgInfoList: [], info: null, noticeUid: null, - result: 1, + result: null, taskId: null, - unitId: null + unitId: null, + fixDepId:null, + noticeDepId:null, }, inspectionRecordDetailFormRules:{ img: [{ required: true, validator: validateImg, trigger: 'blur' }], @@ -226,13 +256,18 @@ fixTime: [{ required: true, message: '整改时间不能为空', trigger: 'change' }], fixUid: [{ required: true, message: '描整改人员不能为空', trigger: 'change' }], info: [{ required: true, message: '巡检结果备注不能为空', trigger: 'blur' }], + fixDepId: [{ required: true, message: '异常整改部门不能为空', trigger: 'blur' }], + noticeDepId: [{ required: true, message: '异常通知部门不能为空', trigger: 'blur' }], }, inspectionRecordDetailFormVisible:false, ifShow:true, ifNormal:false, userList:[], + noticeUserList:[], + fixUserList:[], + departmentList:[], fileList:[], - resultList:[{id:1,name:'正常'},{id:2,name:'异常'}], + resultList:[{id:0,name:'未操作'},{id:1,name:'正常'},{id:2,name:'异常'}], typeList:[{id:1,name:'日常检查'},{id:2,name:'周期检查'}], statusList:[{id:1,name:'待巡检'},{id:2,name:'巡检中'},{id:3,name:'已完成'},{id:4,name:'超时未巡检'},{id:5,name:'已取消'}], } @@ -245,47 +280,56 @@ this.inspectionRecordFormVisible = true this.inspectionRecordForm = JSON.parse(JSON.stringify(value)) }, - showInspectionRecordDetailForm(value,type,userList) { + showInspectionRecordDetailForm(value,type,userList,departmentList) { this.inspectionRecordDetailFormVisible = true this.userList = userList + this.departmentList = departmentList if(type === '查看'){ this.titleDetail = '巡检单元查看' this.ifShow = true this.inspectionRecordDetailForm = JSON.parse(JSON.stringify(value)) - if(value.result === 2){ + if(value.result !== 1){ this.ifNormal = true this.fileList = [] - this.fileList.push({url:process.env.IMG_API + value.img}) + this.fileList =(value.img === null ? [] : [ {url:process.env.IMG_API + value.img} ]) } }else{ this.titleDetail = '巡检单元上报' this.ifShow = false + this.ifNormal = false + this.$nextTick(() =>{ + this.$refs["inspectionRecordDetailForm"].clearValidate() + }) this.inspectionRecordDetailForm = { execUid: Cookies.get('userId'), fixTime: null, fixUid: null, - img: null, + imgInfoList: [], info: null, noticeUid: null, - result: 1, + result: null, + fixDepId:null, + noticeDepId:null, taskId: value.taskId, unitId: value.id } } }, submitInspectionRecordDetail() { - if(this.ifNormal = false){ + if(this.ifNormal === false){ this.inspectionRecordDetailForm.noticeUid = null this.inspectionRecordDetailForm.fixTime = null this.inspectionRecordDetailForm.fixUid = null this.inspectionRecordDetailForm.info = null - this.inspectionRecordDetailForm.img = null + this.inspectionRecordDetailForm.imgInfoList = [] + this.inspectionRecordDetailForm.noticeDepId = null + this.inspectionRecordDetailForm.fixDepId = null } this.$refs["inspectionRecordDetailForm"].validate((valid) =>{ if(valid){ + this.inspectionRecordDetailForm.imgInfoList = this.inspectionRecordDetailForm.imgInfoList.map(item =>{ return { url:item.url}}) submitUnitOne(this.inspectionRecordDetailForm).then( res =>{ if(res.data.code === '200'){ - this.inspectionRecordDetailFormVisible = false this.$message({ type:'success', message:'上报成功', @@ -308,13 +352,30 @@ } }) }, + changeDepartment(type){ + if(type === 'notice'){ + if(this.inspectionRecordDetailForm.noticeDepId === ''){ + this.noticeUserList = [] + }else{ + let department = this.departmentList.find(item => item.id === this.inspectionRecordDetailForm.noticeDepId).department + this.noticeUserList = this.userList.filter ( item => item.department === department) + } + }else{ + if(this.inspectionRecordDetailForm.fixDepId === ''){ + this.fixUserList = [] + }else{ + let department = this.departmentList.find(item => item.id === this.inspectionRecordDetailForm.fixDepId).department + this.fixUserList = this.userList.filter ( item => item.department === department) + } + } + }, handleChangeFile(){ this.header.Authorization = Cookies.get('token') }, onFileSuccess(response){ if(response.code === '200'){ - this.inspectionRecordDetailForm.img = response.result.path - this.fileList.push({url:process.env.IMG_API + response.result.path}) + this.inspectionRecordDetailForm.imgInfoList.push({url:response.result.path,name:response.result.name,}) + this.fileList.push({url:process.env.IMG_API + response.result.path,name:response.result.name,}) this.$notify({ type:'success', duration:2000, @@ -333,13 +394,14 @@ this.dialogVisible = true; }, handleRemove(file){ + debugger return this.$confirm(`确定移除 ${ file.name }?`,'提示',{ confirmButtonText:'确定', cancelButtonText:'取消', type:'warning', }).then(()=> { - this.inspectionRecordDetailForm.img = null - this.fileList = [] + this.inspectionRecordDetailForm.imgInfoList.splice(this.inspectionRecordDetailForm.imgInfoList.findIndex(item =>item.name === file.name),1) + this.fileList.splice(this.inspectionRecordDetailForm.imgInfoList.findIndex(item =>item.name === file.name),1) }) }, } -- Gitblit v1.9.2