From dad957f2d33ba871beeba251e7c51c1e7bb2b1ab Mon Sep 17 00:00:00 2001 From: Your Name <123456> Date: 星期四, 02 六月 2022 10:46:33 +0800 Subject: [PATCH] 'lct; --- src/views/doublePreventAction/hiddenDanger/inspectionTask/index.vue | 302 ++++++++++++++++++++++++++++++------------------- 1 files changed, 183 insertions(+), 119 deletions(-) diff --git a/src/views/doublePreventAction/hiddenDanger/inspectionTask/index.vue b/src/views/doublePreventAction/hiddenDanger/inspectionTask/index.vue index 0881220..5f04a4f 100644 --- a/src/views/doublePreventAction/hiddenDanger/inspectionTask/index.vue +++ b/src/views/doublePreventAction/hiddenDanger/inspectionTask/index.vue @@ -12,11 +12,11 @@ <div class="basic_search"> <span>巡检任务类型:</span> <el-select v-model="listQuery.type"> - <el-option - v-for="item in departmentList" + <el-option + v-for="item in typeList" :key="item.id" - :value="item.department" - :label="item.department" + :value="item.id" + :label="item.name" ></el-option> </el-select> </div> @@ -24,43 +24,43 @@ <span>巡检任务状态:</span> <el-select v-model="listQuery.status"> <el-option - v-for="item in departmentList" + v-for="item in statusList" :key="item.id" - :value="item.department" - :label="item.department" + :value="item.id" + :label="item.name" ></el-option> </el-select> </div> <div class="basic_search"> <span>巡检任务创建人员:</span> - <el-select v-model="listQuery.createUid"> + <el-select v-model="listQuery.createUid" filterable clearable> <el-option - v-for="item in departmentList" + v-for="item in userList" :key="item.id" - :value="item.department" - :label="item.department" + :value="item.id" + :label="item.realname" ></el-option> </el-select> </div> - <div class="basic_search"> - <span>异常通知人员:</span> - <el-select v-model="listQuery.noticeUid"> - <el-option - v-for="item in departmentList" - :key="item.id" - :value="item.department" - :label="item.department" - ></el-option> - </el-select> - </div> +<!-- <div class="basic_search">--> +<!-- <span>异常通知人员:</span>--> +<!-- <el-select v-model="listQuery.noticeUid" filterable clearable>--> +<!-- <el-option--> +<!-- v-for="item in userList"--> +<!-- :key="item.id"--> +<!-- :value="item.id"--> +<!-- :label="item.realname"--> +<!-- ></el-option>--> +<!-- </el-select>--> +<!-- </div>--> <div class="basic_search"> <span>执行巡检人员:</span> - <el-select v-model="listQuery.execUid"> + <el-select v-model="listQuery.execUid" filterable clearable> <el-option - v-for="item in departmentList" + v-for="item in userList" :key="item.id" - :value="item.department" - :label="item.department" + :value="item.id" + :label="item.realname" ></el-option> </el-select> </div> @@ -96,8 +96,8 @@ </el-table-column> <el-table-column label="任务开始时间" prop="startTime" align="center"> </el-table-column> - <el-table-column label="异常通知人" prop="noticeUname" align="center"> - </el-table-column> +<!-- <el-table-column label="异常通知人" prop="noticeUname" align="center">--> +<!-- </el-table-column>--> <el-table-column label="巡检人" prop="execUname" align="center"> </el-table-column> <el-table-column label="创建人" prop="createUname" align="center"> @@ -114,9 +114,9 @@ <br> <el-pagination v-show="recordTotal>0" - :current-page="currentPage" + :current-page="listQuery.page" :page-sizes="[10, 20, 30, 50]" - :page-size="pageSize" + :page-size="listQuery.pageSize" :total="recordTotal" layout="total, sizes, prev, pager, next, jumper" background @@ -143,7 +143,7 @@ </el-col> <el-col :span="12"> <el-form-item label="巡检任务类型" prop="type"> - <el-select v-model="inspectionTaskForm.type" class="analyseUnit_input"> + <el-select v-model="inspectionTaskForm.type" class="analyseUnit_input" :disabled="ifShow"> <el-option v-for="item in typeList" :key="item.id" @@ -202,32 +202,32 @@ </el-form-item> </el-col> </el-row> - <el-row> - <el-col :span="12"> - <el-form-item label="异常通知部门" prop="noticeDepartment"> - <el-select v-model="noticeDepartment" class="analyseUnit_input" filterable clearable @change="changeNotice"> - <el-option - v-for="item in departmentList" - :key="item.id" - :value="item.department" - :label="item.department" - ></el-option> - </el-select> - </el-form-item> - </el-col> - <el-col :span="12"> - <el-form-item label="异常通知人员" prop="noticeUid"> - <el-select v-model="inspectionTaskForm.noticeUid" filterable clearable class="analyseUnit_input"> - <el-option - v-for="item in noticeUidList" - :key="item.id" - :value="item.id" - :label="item.realname" - ></el-option> - </el-select> - </el-form-item> - </el-col> - </el-row> +<!-- <el-row>--> +<!-- <el-col :span="12">--> +<!-- <el-form-item label="异常通知部门" prop="noticeDepartment">--> +<!-- <el-select v-model="noticeDepartment" class="analyseUnit_input" filterable clearable @change="changeNotice">--> +<!-- <el-option--> +<!-- v-for="item in departmentList"--> +<!-- :key="item.id"--> +<!-- :value="item.department"--> +<!-- :label="item.department"--> +<!-- ></el-option>--> +<!-- </el-select>--> +<!-- </el-form-item>--> +<!-- </el-col>--> +<!-- <el-col :span="12">--> +<!-- <el-form-item label="异常通知人员" prop="noticeUid">--> +<!-- <el-select v-model="inspectionTaskForm.noticeUid" filterable clearable class="analyseUnit_input">--> +<!-- <el-option--> +<!-- v-for="item in noticeUidList"--> +<!-- :key="item.id"--> +<!-- :value="item.id"--> +<!-- :label="item.realname"--> +<!-- ></el-option>--> +<!-- </el-select>--> +<!-- </el-form-item>--> +<!-- </el-col>--> +<!-- </el-row>--> <el-row> <el-col :span="12"> <el-form-item label="执行巡检部门" prop="execDepartment"> @@ -262,8 +262,8 @@ <div class="inspectionTask_point"> <el-tabs class="active" v-model="activeName"> - <el-tab-pane label="巡检点信息" name="inspectionPoint"> - <inspection-point @giveToForm="receiveToForm" ref="inspectionPoint"></inspection-point> + <el-tab-pane label="检查项信息" name="inspectionPoint"> + <inspection-point @giveToForm="receiveToForm" ref="inspectionPoint" :title="title" :inspectionTaskForm="inspectionTaskForm"></inspection-point> </el-tab-pane> </el-tabs> </div> @@ -319,13 +319,15 @@ data() { return { tableKey: 0, + ifShow:true, activeName:'inspectionPoint', inspectionTaskData: [], departmentList:[], userList:[], - noticeUidList:[], + // noticeUidList:[], execUidList:[], - intervalSecondsList:[{id:7200,name:'2小时'},{id:21600,name:'6小时'},{id:43200,name:'12小时'},{id:86400,name:'1天'},{id:17280,name:'2天'}], + statusList:[{name:'任务开启',id:1},{id:2,name:'任务关闭'}], + intervalSecondsList:[{id:3600,name:'1小时'},{id:7200,name:'2小时'},{id:21600,name:'6小时'},{id:28800,name:'8小时'},{id:43200,name:'12小时'},{id:86400,name:'1天'},{id:17280,name:'2天'},{id:604800,name:'每周'},{id:2592000,name:'每月'},{id:7862400,name:'每季度'}], noticeSecondsList:[{id:600,name:'10分'},{id:3600,name:'1小时'},{id:7200,name:'2小时'},{id:21600,name:'6小时'},{id:43200,name:'12小时'},{id:86400,name:'1天'}], effectSecondsList:[{id:1800,name:'30分'},{id:3600,name:'1小时'},{id:7200,name:'2小时'},{id:21600,name:'6小时'},{id:43200,name:'12小时'},{id:86400,name:'1天'}], typeList:[{id:1,name:'日常检查'},{id:2,name:'周期检查'}], @@ -337,14 +339,18 @@ title:'', company:'', code:'', - noticeDepartment:'', + // noticeDepartment:'', execDepartment:'', inspectionTaskVisible:false, inspectionTaskFormRules:{ - hazardDep: [{ required: true, message: '责任部门不能为空', trigger: 'change' }], - hazardLiablePerson: [{ required: true, message: '责任人不能为空', trigger: 'blur' }], - hazardCode: [{ required: true, message: '安全风险分析对象编码不能为空', trigger: 'blur' }], - riskUnitName: [{ required: true, message: '安全风险分析单元名称不能为空', trigger: 'blur' }], + title: [{ required: true, message: '任务名称不能为空', trigger: 'blur' }], + type: [{ required: true, message: '检查类型不能为空', trigger: 'change' }], + intervalSeconds: [{ required: true, message: '检查频次不能为空', trigger: 'change' }], + noticeSeconds: [{ required: true, message: '提前通知时间不能为空', trigger: 'change' }], + startTime: [{ required: true, message: '周期开始时间不能为空', trigger: 'change' }], + effectSeconds: [{ required: true, message: '任务有效时间不能为空', trigger: 'change' }], + noticeUid: [{ required: true, message: '异常通知人员不能为空', trigger: 'change' }], + execUid: [{ required: true, message: '执行巡检人员不能为空', trigger: 'change' }], }, inspectionTaskForm:{ type:null, @@ -353,7 +359,7 @@ execUid: null, intervalSeconds: null, noticeSeconds: null, - noticeUid: null, + // noticeUid: null, title:'', riskControlMeasureIdList: [ ], @@ -363,10 +369,12 @@ createUid: "", endTime: "", execUid: "", - noticeUid: "", startTime: "", status:"", - type: "" + type: "", + page: 1, + pageSize: 10, + }, } }, @@ -380,10 +388,7 @@ this.listLoading = true let res = await getInspectionTask(this.listQuery) if(res.data.code === '200'){ - this.recordTotal = res.data.result.total - this.pageSize = res.data.result.size - this.pageTotal = computePageCount(res.data.result.total, res.data.result.size) - this.currentPage = res.data.result.current + this.recordTotal = JSON.parse(res.data.message).total this.inspectionTaskData = res.data.result }else if(res.data.code === '300'){ this.inspectionTaskData = [] @@ -407,13 +412,13 @@ }) } }, - changeNotice(){ - if(this.noticeDepartment === '') { - this.noticeUidList = [] - this.inspectionTaskForm.noticeUid = '' - } - this.noticeUidList = this.userList.filter( item => item.department === this.noticeDepartment) - }, + // changeNotice(){ + // if(this.noticeDepartment === '') { + // this.noticeUidList = [] + // this.inspectionTaskForm.noticeUid = '' + // } + // this.noticeUidList = this.userList.filter( item => item.department === this.noticeDepartment) + // }, changeExec(){ if(this.execDepartment === '') { this.execUidList = [] @@ -433,13 +438,15 @@ } }, showAnalyseUnitForm(value,type){ - debugger this.inspectionTaskVisible = true this.$nextTick(() =>{ this.$refs["inspectionTaskForm"].clearValidate() }) if(type === '新增'){ + this.ifShow = false this.title = '新建巡检计划设定' + // this.noticeDepartment = '' + this.execDepartment = '' this.inspectionTaskForm = { type:null, createUid: parseInt(Cookies.get('userId')), @@ -447,7 +454,7 @@ execUid: null, intervalSeconds: null, noticeSeconds: null, - noticeUid: null, + // noticeUid: null, title:'', riskControlMeasureIdList: [ ], @@ -455,55 +462,101 @@ } setTimeout(() => { this.$refs.inspectionPoint.inspectionPointData = [] + this.$refs.inspectionPoint.ifEdit = false }); - }else{ + }else{ + this.ifShow = true this.title = '编辑巡检计划设定' + // this.noticeDepartment = this.handleDepartment(JSON.parse(JSON.stringify(value)).noticeUid) + // this.changeNotice() + this.execDepartment = this.handleDepartment(JSON.parse(JSON.stringify(value)).execUid) + this.changeExec() this.inspectionTaskForm = JSON.parse(JSON.stringify(value)) + this.inspectionTaskForm.execUid = value.execUname + // this.inspectionTaskForm.noticeUid = value.noticeUname setTimeout(() => { this.$refs.inspectionPoint.inspectionPointData = this.inspectionTaskForm.checkContents + this.$refs.inspectionPoint.ifEdit = true }); } + }, + handleDepartment(value){ + let department = '' + for(let i in this.userList){ + if(this.userList[i].id === value){ + department = this.userList[i].department + } + } + department = this.departmentList.find(item => item.department === department) + return department.department }, submitAnalyseUnit(){ this.$refs["inspectionTaskForm"].validate((valid) =>{ if(valid){ - if(this.title === '新建巡检计划设定'){ - addInspectionTask(this.inspectionTaskForm).then((res)=>{ - if(res.data.code === '200'){ - this.inspectionTaskVisible = false - this.getInspectionTaskData() - this.$notify({ - type:'success', - duration:2000, - message:'新增成功', - title:'成功' - }) - }else{ - this.$message({ - type:'warning', - message:res.data.message - }) - } + if(this.inspectionTaskForm.noticeSeconds >= this.inspectionTaskForm.intervalSeconds){ + this.$message({ + type:'warning', + message:'提前通知时间不能大于检查频次' + }) + }else if(this.inspectionTaskForm.intervalSeconds <= this.inspectionTaskForm.effectSeconds){ + this.$message({ + type:'warning', + message:'任务持续时间不能大于检查频次' + }) + }else if(this.justifyTime(this.inspectionTaskForm.startTime,this.inspectionTaskForm.noticeSeconds)){ + this.$message({ + type:'warning', + message:'周期开始时间减去当前时间和提前通知时间要大于等于半小时' }) }else{ - updateInspectionTask(this.inspectionTaskForm).then((res)=>{ - if(res.data.code === '200'){ - this.inspectionTaskVisible = false - this.getInspectionTaskData() - this.$notify({ - type:'success', - duration:2000, - title:'成功', - message:'编辑成功' - }) - }else{ - this.$message({ - type:'warning', - message:res.data.message - }) - } - }) + if(this.title === '新建巡检计划设定'){ + addInspectionTask(this.inspectionTaskForm).then((res)=>{ + if(res.data.code === '200'){ + this.inspectionTaskVisible = false + this.getInspectionTaskData() + this.$notify({ + type:'success', + duration:2000, + message:'新增成功', + title:'成功' + }) + }else{ + this.$message({ + type:'warning', + message:res.data.message + }) + } + }) + }else{ + updateInspectionTask({ + effectSeconds: this.inspectionTaskForm.effectSeconds, + execUid: this.inspectionTaskForm.execUid, + intervalSeconds: this.inspectionTaskForm.intervalSeconds, + noticeSeconds: this.inspectionTaskForm.noticeSeconds, + // noticeUid: this.inspectionTaskForm.noticeUid, + startTime: this.inspectionTaskForm.startTime, + status: this.inspectionTaskForm.status, + workId: this.inspectionTaskForm.workId + }).then((res)=>{ + if(res.data.code === '200'){ + this.inspectionTaskVisible = false + this.getInspectionTaskData() + this.$notify({ + type:'success', + duration:2000, + title:'成功', + message:'编辑成功' + }) + }else{ + this.$message({ + type:'warning', + message:res.data.message + }) + } + }) + } } + }else{ this.$message({ type:'warning', @@ -512,6 +565,17 @@ } }) + }, + justifyTime(time,interval) { + let timeStr = new Date(time.replace(/-/g,'/')) + let date = parseInt(timeStr.getTime()/1000) + let newTimeStr = new Date() + let newDate = parseInt(newTimeStr.getTime()/1000) + if(date - newDate - interval - 1800 >= 0){ + return false + }else{ + return true + } }, deleteById(val){ this.$confirm('删除此条信息,是否继续','提示',{ @@ -531,11 +595,11 @@ }) }, receiveToForm(value) { - debugger this.inspectionTaskForm.riskControlMeasureIdList = [] this.inspectionTaskForm.riskControlMeasureIdList = value.map( item => { return item.id }) + // this.inspectionTaskForm.riskControlMeasureIdList.push({id:value.id}) }, refreshHandle(){ this.getInspectionTaskData() @@ -545,7 +609,7 @@ this.getInspectionTaskData() }, handleCurrentChange(val){ - this.listQuery.pageIndex = val + this.listQuery.page = val this.getInspectionTaskData() }, } -- Gitblit v1.9.2