From aa02c07d9b9b4eebb0771e5bdb97bc5d109c1ded Mon Sep 17 00:00:00 2001
From: Your Name <123456>
Date: Thu, 23 Jun 2022 14:33:11 +0800
Subject: [PATCH] 'lct'
---
src/views/doublePreventAction/hiddenDanger/inspectionTask/index.vue | 296 +++++++++++++++++++++++++++++++++++++++--------------------
1 files changed, 196 insertions(+), 100 deletions(-)
diff --git a/src/views/doublePreventAction/hiddenDanger/inspectionTask/index.vue b/src/views/doublePreventAction/hiddenDanger/inspectionTask/index.vue
index 943ddb6..3bbd25f 100644
--- a/src/views/doublePreventAction/hiddenDanger/inspectionTask/index.vue
+++ b/src/views/doublePreventAction/hiddenDanger/inspectionTask/index.vue
@@ -12,55 +12,55 @@
<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>
<div class="basic_search">
<span>巡检任务状态:</span>
- <el-select v-model="listQuery.status">
+ <el-select v-model="listQuery.status" clearable>
<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,27 +96,38 @@
</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">
</el-table-column>
<el-table-column label="创建时间" prop="createTime" align="center">
</el-table-column>
+ <el-table-column label="状态" prop="createTime" align="center">
+ <template slot-scope="scope">
+ <div v-for="item in statusList">
+ <div v-show="scope.row.status === item.id">
+ <el-tag :type="scope.row.status === 1 ? 'primary' : (scope.row.status === 2 ? 'warning' : (scope.row.status === 3 ? 'danger' : 'info'))">{{item.name}}</el-tag>
+ </div>
+ </div>
+ </template>
+ </el-table-column>
<el-table-column label="操作" align="center" width="280" class-name="small-padding fixed-width">
<template slot-scope="scope">
<el-button type="text" @click="showAnalyseUnitForm(scope.row,'编辑')">编辑</el-button>
<el-button type="text" style="color: red" @click="deleteById(scope.row)">删除</el-button>
+ <el-button type="text" @click="openTask(scope.row,'编辑')">开启</el-button>
+ <el-button type="text" style="color: red" @click="closeTask(scope.row)">关闭</el-button>
</template>
</el-table-column>
</el-table>
<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
@@ -202,32 +213,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,7 +273,7 @@
<div class="inspectionTask_point">
<el-tabs class="active" v-model="activeName">
- <el-tab-pane label="巡检点信息" name="inspectionPoint">
+ <el-tab-pane label="检查项信息" name="inspectionPoint">
<inspection-point @giveToForm="receiveToForm" ref="inspectionPoint" :title="title" :inspectionTaskForm="inspectionTaskForm"></inspection-point>
</el-tab-pane>
</el-tabs>
@@ -281,7 +292,12 @@
import { mapGetters } from 'vuex'
import { computePageCount } from '@/utils'
import inspectionPoint from './components/inpectionPoint'
- import { getInspectionTask , addInspectionTask, updateInspectionTask} from "../../../../api/inspectionTask";
+ import {
+ getInspectionTask,
+ addInspectionTask,
+ updateInspectionTask,
+ deleteInspectionTask, closeInspectionTask
+ } from "../../../../api/inspectionTask";
import {getAllDepartment, getDepartmentList} from "../../../../api/departmentManage";
import {safetyInspectionItemName} from "../../../../api/safetySelfInspection";
export default {
@@ -324,9 +340,10 @@
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:'任务关闭'},{id:3,name:'删除'},{id:4,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:'周期检查'}],
@@ -338,14 +355,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,
@@ -354,7 +375,7 @@
execUid: null,
intervalSeconds: null,
noticeSeconds: null,
- noticeUid: null,
+ // noticeUid: null,
title:'',
riskControlMeasureIdList: [
],
@@ -364,13 +385,12 @@
createUid: "",
endTime: "",
execUid: "",
- noticeUid: "",
startTime: "",
status:"",
type: "",
- page: 10,
- pageSize: 1,
-
+ page: 1,
+ pageSize: 10,
+
},
}
},
@@ -384,10 +404,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 = []
@@ -411,13 +428,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 = []
@@ -444,7 +461,7 @@
if(type === '新增'){
this.ifShow = false
this.title = '新建巡检计划设定'
- this.noticeDepartment = ''
+ // this.noticeDepartment = ''
this.execDepartment = ''
this.inspectionTaskForm = {
type:null,
@@ -453,7 +470,7 @@
execUid: null,
intervalSeconds: null,
noticeSeconds: null,
- noticeUid: null,
+ // noticeUid: null,
title:'',
riskControlMeasureIdList: [
],
@@ -461,20 +478,22 @@
}
setTimeout(() => {
this.$refs.inspectionPoint.inspectionPointData = []
+ this.$refs.inspectionPoint.ifEdit = false
});
}else{
this.ifShow = true
this.title = '编辑巡检计划设定'
- this.noticeDepartment = this.handleDepartment(JSON.parse(JSON.stringify(value)).noticeUid)
- this.changeNotice()
+ // 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.changeExec()
this.inspectionTaskForm = JSON.parse(JSON.stringify(value))
- // this.inspectionTaskForm.execUid = value.execUname
+ this.inspectionTaskForm.execUid = value.execUid
// this.inspectionTaskForm.noticeUid = value.noticeUname
setTimeout(() => {
this.$refs.inspectionPoint.inspectionPointData = this.inspectionTaskForm.checkContents
- });
+ this.$refs.inspectionPoint.ifEdit = true
+ });
}
},
handleDepartment(value){
@@ -499,6 +518,11 @@
this.$message({
type:'warning',
message:'任务持续时间不能大于检查频次'
+ })
+ }else if(this.justifyTime(this.inspectionTaskForm.startTime,this.inspectionTaskForm.noticeSeconds)){
+ this.$message({
+ type:'warning',
+ message:'周期开始时间减去当前时间和提前通知时间要大于等于半小时'
})
}else{
if(this.title === '新建巡检计划设定'){
@@ -525,10 +549,11 @@
execUid: this.inspectionTaskForm.execUid,
intervalSeconds: this.inspectionTaskForm.intervalSeconds,
noticeSeconds: this.inspectionTaskForm.noticeSeconds,
- noticeUid: this.inspectionTaskForm.noticeUid,
+ // noticeUid: this.inspectionTaskForm.noticeUid,
startTime: this.inspectionTaskForm.startTime,
status: this.inspectionTaskForm.status,
- workId: this.inspectionTaskForm.workId
+ workId: this.inspectionTaskForm.workId,
+ title: this.inspectionTaskForm.title
}).then((res)=>{
if(res.data.code === '200'){
this.inspectionTaskVisible = false
@@ -558,20 +583,90 @@
})
},
+ 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
+ }
+ },
+
+ openTask(val,type){
+ if(val.status !== 2){
+ this.$message({
+ type:'warning',
+ message:'当前状态不可开启'
+ })
+ return
+ }
+ this.showAnalyseUnitForm(val,type)
+ this.inspectionTaskForm.status = 1
+ },
+
+ closeTask(val){
+ if(val.status !== 1){
+ this.$message({
+ type:'warning',
+ message:'当前状态不可关闭'
+ })
+ return
+ }
+ this.$confirm('关闭此条任务,是否继续','提示',{
+ confirmButtonText:'确定',
+ cancelButtonText:'取消',
+ type:'warning',
+ }).then(()=> {
+ closeInspectionTask(val.workId).then( (res)=>{
+ if(res.data.code === '200'){
+ this.getInspectionTaskData()
+ this.$notify({
+ title:'成功',
+ message:'关闭成功',
+ type:'success',
+ duration:2000,
+ })
+ }else{
+ this.$message({
+ type:'warning',
+ message:res.data.message
+ })
+ }
+ })
+ })
+ },
+
deleteById(val){
+ if(val.status !== 2){
+ this.$message({
+ type:'warning',
+ message:'当前状态不可删除'
+ })
+ return
+ }
this.$confirm('删除此条信息,是否继续','提示',{
confirmButtonText:'确定',
cancelButtonText:'取消',
type:'warning',
}).then(()=> {
- deleteAnalyseUnit({id:val.id}).then( ()=>{
- this.getInspectionTaskData()
- this.$notify({
- title:'成功',
- message:'删除成功',
- type:'success',
- duration:2000,
- })
+ deleteInspectionTask(val.workId).then( (res)=>{
+ if(res.data.code === '200'){
+ this.getInspectionTaskData()
+ this.$notify({
+ title:'成功',
+ message:'删除成功',
+ type:'success',
+ duration:2000,
+ })
+ }else{
+ this.$message({
+ type:'warning',
+ message:res.data.message
+ })
+ }
})
})
},
@@ -580,6 +675,7 @@
this.inspectionTaskForm.riskControlMeasureIdList = value.map( item => {
return item.id
})
+ // this.inspectionTaskForm.riskControlMeasureIdList.push({id:value.id})
},
refreshHandle(){
this.getInspectionTaskData()
@@ -589,7 +685,7 @@
this.getInspectionTaskData()
},
handleCurrentChange(val){
- this.listQuery.pageIndex = val
+ this.listQuery.page = val
this.getInspectionTaskData()
},
}
--
Gitblit v1.9.2