From ca151ff4c1cdc4a029f13ac6da7d42e4f8147287 Mon Sep 17 00:00:00 2001
From: Your Name <123456>
Date: Sat, 06 Aug 2022 16:18:50 +0800
Subject: [PATCH] 重构双重预防
---
src/views/doublePreventAction/hiddenDanger/inspectionTask/index.vue | 475 ++---
src/views/doublePreventAction/riskLevelManage/riskSourceManage/index.vue | 172 +-
src/views/doublePreventAction/hiddenDanger/inspectionRecord/index.vue | 225 +-
src/views/login/index.vue | 1
src/views/doublePreventAction/hiddenDanger/inspectionRecord/components/detail.vue | 460 +----
src/api/checkUnit.js | 60
src/views/doublePreventAction/hiddenDanger/hiddenDangerReform/report/components/reportDialog.vue | 446 +++-
src/api/riskLevelManage.js | 44
src/utils/request.js | 20
src/views/doublePreventAction/hiddenDanger/hiddenDangerReform/rectify/components/rectifyDialog.vue | 417 +++--
src/views/doublePreventAction/riskLevelManage/controlAction/index.vue | 275 +-
config/dev.env.js | 7
src/views/doublePreventAction/riskLevelManage/checkUnit/index.vue | 458 +++++
src/views/doublePreventAction/riskLevelManage/event/index.vue | 110
src/api/inspectionTask.js | 33
src/views/doublePreventAction/hiddenDanger/hiddenDangerReform/accept/index.vue | 380 ++--
src/views/doublePreventAction/riskLevelManage/analyseUnit/index.vue | 185 +
package.json | 1
src/api/hiddenDanger.js | 73
src/views/doublePreventAction/hiddenDanger/hiddenDangerReform/accept/components/acceptDialog.vue | 204 -
src/views/doublePreventAction/hiddenDanger/hiddenDangerReform/rectify/index.vue | 186 +-
src/views/doublePreventAction/riskLevelManage/checkUnit/components/inpectionPoint.vue | 111 +
src/views/doublePreventAction/hiddenDanger/hiddenDangerReform/report/index.vue | 285 ++-
src/api/riskSource.js | 17
24 files changed, 2,690 insertions(+), 1,955 deletions(-)
diff --git a/config/dev.env.js b/config/dev.env.js
index 9c70f14..463910d 100644
--- a/config/dev.env.js
+++ b/config/dev.env.js
@@ -22,12 +22,15 @@
// BASE_API: '"http://192.168.0.8:8006"',
// IMG_API: '"http://192.168.0.8:8006/upload/"',
//
+ BASE_API: '"http://192.168.0.69:8006"',
+ IMG_API: '"http://192.168.0.69:8006/upload/"',
+
// BASE_API: '"http://192.168.0.35:8006"',
// IMG_API: '"http://192.168.0.35:8006/upload/"',
// BASE_API: '"http://192.168.0.62:8006"',
// IMG_API: '"http://192.168.0.62:8006/upload/"',
- BASE_API: '"http://222.92.213.22:8006/zhongtai"',
- IMG_API: '"http://222.92.213.22:8006/zhongtai/upload/"',
+ // BASE_API: '"http://222.92.213.22:8006/zhongtai"',
+ // IMG_API: '"http://222.92.213.22:8006/zhongtai/upload/"',
// NANO_API: '"http://222.92.213.22:8006/nanoweb"',
// ZT_API:'"http://123.56.127.115:8011"'
// BASE_API: '"http://localhost:8006"',
diff --git a/package.json b/package.json
index ae95ef4..ec2b270 100644
--- a/package.json
+++ b/package.json
@@ -50,6 +50,7 @@
"jquery": "^3.6.0",
"js-cookie": "2.2.0",
"jsbarcode": "^3.11.4",
+ "json-bigint": "^1.0.0",
"jsonlint": "1.6.3",
"jszip": "^3.1.5",
"mockjs": "1.0.1-beta3",
diff --git a/src/api/checkUnit.js b/src/api/checkUnit.js
new file mode 100644
index 0000000..18e8d5f
--- /dev/null
+++ b/src/api/checkUnit.js
@@ -0,0 +1,60 @@
+import {getToken} from "../utils/auth";
+import request from '@/utils/request'
+
+export function getCheckUnit(data) {
+ return request({
+ headers:{
+ 'Authorization': getToken()
+ },
+ url: process.env.BASE_API+'/prevent/taskUnit/select/getTaskUnitPage',
+ method: 'post',
+ data
+ });
+}
+
+
+export function addCheckUnit(data) {
+ return request({
+ headers: {
+ 'Authorization': getToken()
+ },
+ url: process.env.BASE_API + '/prevent/taskUnit/insert/saveTaskUnit',
+ method: 'post',
+ data:data
+ })
+}
+
+export function updateCheckUnit(data) {
+ return request({
+ headers: {
+ 'Authorization': getToken()
+ },
+ url: process.env.BASE_API + '/prevent/taskUnit/update/updateTaskUnit',
+ method: 'post',
+ data:data
+ })
+}
+
+
+export function deleteCheckUnit(data) {
+ return request({
+ headers: {
+ 'Authorization': getToken()
+ },
+ url: process.env.BASE_API + '/prevent/taskUnit/delete/deleteTaskUnit',
+ method: 'post',
+ data:data
+ })
+}
+
+
+export function getAllCheckUnitList() {
+ return request({
+ headers: {
+ 'Authorization': getToken()
+ },
+
+ url:process.env.BASE_API + `/prevent/taskUnit/select/listTaskUnit`,
+ method: 'post'
+ });
+}
diff --git a/src/api/hiddenDanger.js b/src/api/hiddenDanger.js
index c7fcbee..da6b425 100644
--- a/src/api/hiddenDanger.js
+++ b/src/api/hiddenDanger.js
@@ -17,7 +17,40 @@
headers:{
'Authorization': getToken()
},
- url: process.env.BASE_API+'/hiddenDanger/report',
+ url: process.env.BASE_API+'/prevent/dangerManage/insert/saveDangerManage',
+ method: 'post',
+ data
+ });
+}
+
+export function modHiddenDangerReport(data) {
+ return request({
+ headers:{
+ 'Authorization': getToken()
+ },
+ url: process.env.BASE_API+'/prevent/dangerManage/update/updateDangerManage',
+ method: 'post',
+ data
+ });
+}
+
+export function deleteHiddenDangerReport(data) {
+ return request({
+ headers:{
+ 'Authorization': getToken()
+ },
+ url: process.env.BASE_API+'/prevent/dangerManage/delete/deleteDangerManage',
+ method: 'post',
+ data
+ });
+}
+
+export function deleteHiddenDangerRectify(data) {
+ return request({
+ headers:{
+ 'Authorization': getToken()
+ },
+ url: process.env.BASE_API+'/prevent/dangerRectify/delete/deleteDangerRectify',
method: 'post',
data
});
@@ -74,19 +107,51 @@
headers:{
'Authorization': getToken()
},
- url: process.env.BASE_API+'/hiddenDanger/reportPage',
+ url: process.env.BASE_API+'/prevent/dangerManage/select/getDangerManagePage',
method: 'post',
data
});
}
+export function delayHiddenDangerReport(data) {
+ return request({
+ headers:{
+ 'Authorization': getToken()
+ },
+ url: process.env.BASE_API+'/prevent/dangerRectify/update/timeOutRectify',
+ method: 'post',
+ data
+ });
+}
+
+export function submitHiddenDangerReport(data) {
+ return request({
+ headers:{
+ 'Authorization': getToken()
+ },
+ url: process.env.BASE_API+'/prevent/dangerRectify/update/applyReport',
+ method: 'post',
+ data
+ });
+}
+
+export function checkHiddenDangerReport(data) {
+ return request({
+ headers:{
+ 'Authorization': getToken()
+ },
+ url: process.env.BASE_API+'/prevent/dangerRectify/update/reportRectify',
+ method: 'post',
+ data
+ });
+}
export function hiddenDangerAcceptList(data) {
return request({
headers:{
'Authorization': getToken()
},
- url: process.env.BASE_API+'/hiddenDanger/acceptPage',
+ url: process.env.BASE_API+'/prevent/dangerRectify/select/getRectifyOverPage',
method: 'post',
data
});
@@ -98,7 +163,7 @@
headers:{
'Authorization': getToken()
},
- url: process.env.BASE_API+'/hiddenDanger/rectifyPage',
+ url: process.env.BASE_API+'/prevent/dangerRectify/select/getDangerRectifyPage',
method: 'post',
data
});
diff --git a/src/api/inspectionTask.js b/src/api/inspectionTask.js
index 5d33e10..a18faab 100644
--- a/src/api/inspectionTask.js
+++ b/src/api/inspectionTask.js
@@ -6,7 +6,7 @@
headers:{
'Authorization': getToken()
},
- url: process.env.BASE_API+'/safecheck/work/get/list',
+ url: process.env.BASE_API+'/prevent/checkWork/select/getCheckWorkPage',
method: 'post',
data
});
@@ -18,7 +18,7 @@
headers: {
'Authorization': getToken()
},
- url: process.env.BASE_API + '/safecheck/work/new',
+ url: process.env.BASE_API + '/prevent/checkWork/insert/saveCheckWork',
method: 'post',
data:data
})
@@ -29,7 +29,7 @@
headers: {
'Authorization': getToken()
},
- url: process.env.BASE_API + '/safecheck/work/update',
+ url: process.env.BASE_API + '/prevent/checkWork/update/updateCheckWork',
method: 'post',
data:data
})
@@ -50,8 +50,9 @@
headers: {
'Authorization': getToken()
},
- url: process.env.BASE_API + '/safecheck/work/delete?workId=' + data,
+ url: process.env.BASE_API + '/prevent/checkWork/delete/deleteCheckWork',
method: 'post',
+ data
})
}
@@ -61,7 +62,29 @@
headers:{
'Authorization': getToken()
},
- url: process.env.BASE_API+'/safecheck/task/get/list',
+ url: process.env.BASE_API+'/prevent/checkTask/select/getTaskPage',
+ method: 'post',
+ data
+ });
+}
+
+export function submitTaskRecord(data) {
+ return request({
+ headers:{
+ 'Authorization': getToken()
+ },
+ url: process.env.BASE_API+'/prevent/checkTask/update/updateTask',
+ method: 'post',
+ data
+ });
+}
+
+export function taskToUser(data) {
+ return request({
+ headers:{
+ 'Authorization': getToken()
+ },
+ url: process.env.BASE_API+'/prevent/checkTask/update/taskToUser',
method: 'post',
data
});
diff --git a/src/api/riskLevelManage.js b/src/api/riskLevelManage.js
index c030fc5..bf8b89d 100644
--- a/src/api/riskLevelManage.js
+++ b/src/api/riskLevelManage.js
@@ -6,7 +6,7 @@
headers: {
'Authorization': getToken()
},
- url: process.env.BASE_API + '/riskAnaUnit/page',
+ url: process.env.BASE_API + '/prevent/riskAnaUnit/select/getRiskUnitPage',
method: 'post',
data:data
})
@@ -17,7 +17,7 @@
headers: {
'Authorization': getToken()
},
- url: process.env.BASE_API + '/riskAnaUnit/add',
+ url: process.env.BASE_API + '/prevent/riskAnaUnit/insert/saveRiskAnaUnit',
method: 'post',
data:data
})
@@ -28,7 +28,7 @@
headers: {
'Authorization': getToken()
},
- url: process.env.BASE_API + '/riskAnaUnit/mod',
+ url: process.env.BASE_API + '/prevent/riskAnaUnit/update/updateRiskAnaUnit',
method: 'post',
data:data
})
@@ -39,12 +39,20 @@
headers: {
'Authorization': getToken()
},
- url: process.env.BASE_API + '/riskAnaUnit/del',
+ url: process.env.BASE_API + '/prevent/riskAnaUnit/delete/deleteRiskAnaUnit',
method: 'post',
data:data
})
}
-
+export function getAllSafetyRiskAnalyseUnitList() {
+ return request({
+ headers: {
+ 'Authorization': getToken()
+ },
+ url: process.env.BASE_API + `/prevent/riskEvent/select/listRiskUnits`,
+ method: 'post'
+ });
+}
export function exportAnalyseUnit() {
return request({
@@ -72,7 +80,7 @@
headers: {
'Authorization': getToken()
},
- url: process.env.BASE_API + '/riskEvent/page',
+ url: process.env.BASE_API + '/prevent/riskEvent/select/getRiskEventPage',
method: 'post',
data:data
})
@@ -83,7 +91,7 @@
headers: {
'Authorization': getToken()
},
- url: process.env.BASE_API + '/riskEvent/add',
+ url: process.env.BASE_API + '/prevent/riskEvent/insert/saveRiskEvent',
method: 'post',
data:data
})
@@ -94,7 +102,7 @@
headers: {
'Authorization': getToken()
},
- url: process.env.BASE_API + '/riskEvent/mod',
+ url: process.env.BASE_API + '/prevent/riskEvent/update/updateRiskEvent',
method: 'post',
data:data
})
@@ -105,10 +113,20 @@
headers: {
'Authorization': getToken()
},
- url: process.env.BASE_API + '/riskEvent/del',
+ url: process.env.BASE_API + '/prevent/riskEvent/delete/deleteRiskEvent',
method: 'post',
data:data
})
+}
+
+export function getAllSafetyRiskEventList() {
+ return request({
+ headers: {
+ 'Authorization': getToken()
+ },
+ url:process.env.BASE_API + `/prevent/riskEvent/select/getListEvents`,
+ method: 'post'
+ });
}
export function exportRiskEvent() {
@@ -138,7 +156,7 @@
headers: {
'Authorization': getToken()
},
- url: process.env.BASE_API + '/riskControlMeasure/page',
+ url: process.env.BASE_API + '/prevent/riskControlMeasure/select/getRiskControlMeasurePage',
method: 'post',
data:data
})
@@ -149,7 +167,7 @@
headers: {
'Authorization': getToken()
},
- url: process.env.BASE_API + '/riskControlMeasure/add',
+ url: process.env.BASE_API + '/prevent/riskControlMeasure/insert/saveRiskControlMeasure',
method: 'post',
data:data
})
@@ -160,7 +178,7 @@
headers: {
'Authorization': getToken()
},
- url: process.env.BASE_API + '/riskControlMeasure/mod',
+ url: process.env.BASE_API + '/prevent/riskControlMeasure/update/updateRiskControlMeasure',
method: 'post',
data:data
})
@@ -171,7 +189,7 @@
headers: {
'Authorization': getToken()
},
- url: process.env.BASE_API + '/riskControlMeasure/del',
+ url: process.env.BASE_API + '/prevent/riskControlMeasure/delete/deleteRiskControlMeasure',
method: 'post',
data:data
})
diff --git a/src/api/riskSource.js b/src/api/riskSource.js
index addb8ad..06f3457 100644
--- a/src/api/riskSource.js
+++ b/src/api/riskSource.js
@@ -6,7 +6,7 @@
headers: {
'Authorization': getToken()
},
- url: process.env.BASE_API + '/riskSource/find/list',
+ url: process.env.BASE_API + '/prevent/device/select/getDevicePage',
method: 'post',
data:data
})
@@ -17,7 +17,7 @@
headers: {
'Authorization': getToken()
},
- url: process.env.BASE_API + '/riskSource/new',
+ url: process.env.BASE_API + '/prevent/device/insert/saveDevice',
method: 'post',
data:data
})
@@ -28,7 +28,7 @@
headers: {
'Authorization': getToken()
},
- url: process.env.BASE_API + '/riskSource/update/one',
+ url: process.env.BASE_API + '/prevent/device/update/updateDevice',
method: 'post',
data:data
})
@@ -39,7 +39,7 @@
headers: {
'Authorization': getToken()
},
- url: process.env.BASE_API + '/riskSource/del/one',
+ url: process.env.BASE_API + '/prevent/device/delete/deleteDevice',
method: 'post',
data:data
})
@@ -66,3 +66,12 @@
data
})
}
+export function getAllProductionDeviceList() {
+ return request({
+ headers: {
+ 'Authorization': getToken()
+ },
+ url: process.env.BASE_API + '/prevent/device/select/listDevices',
+ method: 'post',
+ })
+}
diff --git a/src/utils/request.js b/src/utils/request.js
index 5270585..d12523f 100644
--- a/src/utils/request.js
+++ b/src/utils/request.js
@@ -6,6 +6,7 @@
import Router from 'vue-router'
import router from '../router'
import Cookies from 'js-cookie'
+import JSONbig from 'json-bigint';
// create an axios instance
const service = axios.create({
@@ -18,7 +19,6 @@
// 'Content-Type': 'application/json;charset=UTF-8',
// 'Authorization': getToken()
},
- responseType: 'json'
})
/* 是否有请求正在刷新token*/
@@ -77,6 +77,21 @@
// }
// )
+service.defaults.transformResponse = [
+ function (data) {
+ try {
+ // 正常同通过return JSON.parse(data)对数据进行转换
+ // 但是转化完成的数据可能超出安全数据长度
+ // 因此我们定制使用第三包来转化
+ return JSONbig.parse(data);
+ } catch (err) {
+ console.log(err);
+ // 转换失败返回一个空对象
+ return {};
+ }
+ }
+];
+
// response interceptor
service.interceptors.response.use(
response => response,
@@ -104,4 +119,7 @@
}
)
+
+
+
export default service
diff --git a/src/views/doublePreventAction/hiddenDanger/hiddenDangerReform/accept/components/acceptDialog.vue b/src/views/doublePreventAction/hiddenDanger/hiddenDangerReform/accept/components/acceptDialog.vue
index b077a72..03c4ebd 100644
--- a/src/views/doublePreventAction/hiddenDanger/hiddenDangerReform/accept/components/acceptDialog.vue
+++ b/src/views/doublePreventAction/hiddenDanger/hiddenDangerReform/accept/components/acceptDialog.vue
@@ -1,131 +1,18 @@
<template>
- <el-dialog title="验收" :visible.sync="dialogFormVisible"
- :modal-append-to-body="false" :close-on-click-modal="false" width="800px">
- <el-form ref="dataForm" :rules="dataFormRules" :model="dataForm" label-position="right" label-width="140px"
- style="" element-loading-text="保存中...">
-
-
- <el-form-item label="隐患级别:">
- <el-select v-model="dataForm.level" :disabled="isView">
- <el-option
- v-for="item in levels"
- :key="item.key"
- :label="item.value"
- :value="item.key">
- </el-option>
- </el-select>
- </el-form-item>
-
- <el-form-item label="整改措施:" >
- <el-input
- style="width: 400px"
- type="textarea"
- :rows="3"
- :disabled="isView"
- v-model="dataForm.rectifymeasure">
- </el-input>
- </el-form-item>
-
- <el-form-item label="整改期限:" >
- <el-date-picker
- v-model="dataForm.rectifydeadline"
- type="datetime"
- :disabled="isView"
- format="yyyy-MM-dd HH:mm"
- value-format="yyyy-MM-dd HH:mm"
- >
- </el-date-picker>
- </el-form-item>
-
- <el-form-item label="上报说明:" >
- <el-input
- style="width: 400px"
- type="textarea"
- :rows="3"
- :disabled="isView"
- v-model="dataForm.createnote">
- </el-input>
- </el-form-item>
-
- <el-form-item label="上报图片:" v-if="!isView">
- <el-upload
- ref="upload"
- :action="baseUrl"
- :auto-upload="false"
- :headers="headers"
- :on-change="handleChange"
- name="file"
- :file-list="fileList"
- list-type="picture-card"
- multiple
- >
- <i class="el-icon-plus"></i>
- </el-upload>
-
- </el-form-item>
-
- <el-form-item label="上报图片:" v-if="isView && imgUrls.length > 0" >
- <el-image
- class="upload-img"
- v-for='item in imgUrls'
- :key='item.id'
- :src="item.url"
- :preview-src-list="imgPreviewUrls"
- style="width:100px;height: 100px;margin: 10px;"
- >
- </el-image>
- </el-form-item>
-
-
- <el-form-item label="整改说明:" v-if="isView">
- <el-input
- style="width: 400px"
- type="textarea"
- :rows="3"
- :disabled="isView"
- v-model="dataForm.rectifynote">
- </el-input>
- </el-form-item>
-
- <el-form-item label="整改图片:" v-if="isView && imgUrls2.length> 0">
- <el-image
- class="upload-img"
- v-for='item in imgUrls2'
- :key='item.id'
- :src="item.url"
- :preview-src-list="imgPreviewUrls2"
- style="width:100px;height: 100px;margin: 10px;"
- >
- </el-image>
-
- </el-form-item>
-
- <el-form-item label="选择:" >
- <el-radio-group v-model="isReject" >
- <el-radio :label="false" border>验收</el-radio>
- <el-radio :label="true" border>驳回</el-radio>
- </el-radio-group>
- </el-form-item>
-
-
- <el-form-item label="驳回理由:" v-if="isReject">
- <el-input
- style="width: 400px"
- type="textarea"
- :rows="3"
- v-model="dataForm.rejectnote">
- </el-input>
- </el-form-item>
-
+ <el-dialog title="验收" :visible.sync="isShowCheckDialog" width="600px">
+ <el-form :model="checkForm" :rules="checkFormRules" ref="checkFormRef" size="default" label-width="120px">
+ <el-row :gutter="35">
+ <el-col :xs="24" :sm="24" :md="24" :lg="24" :xl="24" class="mb20">
+ <el-form-item label="验收意见" prop="checkAcceptDesc">
+ <el-input class="input-add" type="textarea" :rows="2" v-model.trim="checkForm.checkAcceptDesc" placeholder="请输入验收意见" clearable></el-input>
+ </el-form-item>
+ </el-col>
+ </el-row>
</el-form>
-
- <div style="margin-top: 30px;margin-left: 140px;" class="dialog-footer" >
- <el-button @click="dialogFormVisible = false">取消</el-button>
- <el-button type="primary" @click="acceptSubmit()" v-if="!isReject" :disabled="submiting">验收</el-button>
- <el-button type="primary" class="el-button el-button--danger" @click="rejectSubmit()" v-if="isReject" :disabled="submiting">驳回</el-button>
-
+ <div align="right" class="dialog-footer">
+ <el-button @click="isShowCheckDialog = !isShowCheckDialog" size="default">取 消</el-button>
+ <el-button type="primary" @click="submitCheck" size="default">确 定</el-button>
</div>
-
</el-dialog>
</template>
@@ -133,6 +20,7 @@
<script>
import { hiddenDangerAccept,hiddenDangerReject} from '@/api/hiddenDanger';
import { getToken} from "@/utils/auth";
+ import {checkHiddenDangerReport, submitHiddenDangerReport} from "../../../../../../api/hiddenDanger";
export default {
name: "acceptDialog",
@@ -163,28 +51,62 @@
dialogFormVisible: false,
dialogStatus:'',
dataFormRules: {},
+ checkTypeList: [],
+ rectifyTypeList: [
+ { id: 1, name: '即查即改' },
+ { id: 2, name: '限期整改' }
+ ],
+ departmentList: [],
+ userList: [],
+ isShowCheckDialog: false,
+ isShowCheckInfoDialog: false,
+ checkForm: {
+ id: null,
+ dangerManagerId: null,
+ checkAcceptDesc: null
+ },
+ checkInfoForm: {
+ rectifyDepId: null,
+ liablePersonId: null
+ },
+ checkFormRules: {
+ checkAcceptDesc: [{ required: true, message: '请填写整改说明', trigger: 'blur' }]
+ }
}
},
methods:{
showDialog(row){
- this.isView = true
- this.dataForm.id = row.id
- this.dataForm.level = row.level;
- this.dataForm.createnote = row.createnote;
- this.dataForm.rectifydeadline = row.rectifydeadline;
- this.dataForm.rectifymeasure = row.rectifymeasure;
- this.dataForm.rectifynote = row.rectifynote;
- this.imgUrls = row.reportResources.map(item=>{return {url:process.env.IMG_API+item.url,name:item.id}})
- this.imgUrls2 = row.rectifyResources.map(item=>{return {url:process.env.IMG_API+item.url,name:item.id}})
- this.imgPreviewUrls = row.reportResources.map(item=>{ return process.env.IMG_API + item.url })
- this.imgPreviewUrls2 = row.rectifyResources.map(item=>{ return process.env.IMG_API + item.url })
- this.dialogFormVisible = true;
+ this.isShowCheckDialog = true;
+ const checkForm = JSON.parse(JSON.stringify(row));
+ this.checkForm.id = checkForm.id;
+ this.checkForm.dangerManagerId = checkForm.dangerManagerId;
},
- acceptSubmit(){
- let params = {}
- params['id'] = this.dataForm.id
- this.submit(params,hiddenDangerAccept)
+ submitCheck() {
+ this.$refs['checkFormRef'].validate(async (valid) => {
+ if (valid) {
+ let res = await checkHiddenDangerReport(this.checkForm);
+ if (res.data.code === '200') {
+ this.$message({
+ type: 'success',
+ message: '整改提交成功',
+ duration: 2000
+ });
+ this.isShowCheckDialog = false;
+ this.$emit('refreshCheck');
+ } else {
+ this.$message({
+ type: 'warning',
+ message: res.data.message
+ });
+ }
+ } else {
+ this.$message({
+ type: 'warning',
+ message: '请完善基本信息'
+ });
+ }
+ });
},
rejectSubmit(){
diff --git a/src/views/doublePreventAction/hiddenDanger/hiddenDangerReform/accept/index.vue b/src/views/doublePreventAction/hiddenDanger/hiddenDangerReform/accept/index.vue
index b302709..d8c1f5f 100644
--- a/src/views/doublePreventAction/hiddenDanger/hiddenDangerReform/accept/index.vue
+++ b/src/views/doublePreventAction/hiddenDanger/hiddenDangerReform/accept/index.vue
@@ -1,31 +1,20 @@
<template>
<div class="app-container">
<div style="margin: 15px">
- <span class="span-filter-label">单号</span>
- <el-input style="width: 140px" v-model="filter.filter.code" ></el-input>
- <span class="span-filter-label">隐患等级</span>
- <el-select v-model="filter.filter.level" clearable @clear="clearLevel" placeholder="请选择">
- <el-option
- v-for="item in levels"
- :key="item.key"
- :label="item.value"
- :value="item.key">
- </el-option>
- </el-select>
- <span class="span-filter-label">整改人</span>
- <el-input style="width: 160px" v-model="filter.filter.rectifierName"></el-input>
+ <div class="basic_search">
+ <span>验收人:</span>
+ <el-select v-model="filter.checkAcceptPersonid" clearable filterable class="analyseUnit_box">
+ <el-option
+ v-for="item in userList"
+ :key="item.id"
+ :label="item.realname"
+ :value="item.id"
+ ></el-option>
+ </el-select>
+ </div>
- <span class="span-filter-label">隐患来源</span>
- <el-select v-model="filter.filter.source" clearable placeholder="请选择">
- <el-option
- v-for="item in sources"
- :key="item.key"
- :label="item.value"
- :value="item.key">
- </el-option>
- </el-select>
<el-button class="filter-item" style="margin-left: 10px;" type="primary" icon="el-icon-search"
- @click="queryHandle"/>
+ @click="queryHandle">搜索</el-button>
</div>
<div class="table_content">
<el-table
@@ -37,40 +26,38 @@
highlight-current-row
style="width: 100%;"
>
- <el-table-column type="index" label="序号" align="center" width="80"/>
- <el-table-column label="单号" prop="code" align="center" />
- <el-table-column label="状态" prop="status" align="center" >
+ <el-table-column type="index" label="序号" width="60" />
+ <el-table-column prop="rectifyDesc" label="整改内容说明" show-overflow-tooltip min-width="150px"></el-table-column>
+ <el-table-column prop="rectifyTime" label="整改期限" show-overflow-tooltip min-width="200px">
<template slot-scope="scope">
- <span >{{scope.row.status}}</span>
- <span v-if="new Date(scope.row.rectifydeadline) < new Date() && scope.row.status !== '已完成'" class="overdue-img">逾期</span>
+ <span>{{ scope.row.rectifyTime }}</span>
+ <span v-if="scope.row.dangerStatus === 2" class="overdue-img">逾期</span>
+ <span v-if="scope.row.dangerStatus === 9" class="overdue-img">逾期</span>
</template>
</el-table-column>
- <el-table-column label="隐患等级" prop="level" align="center" >
+ <el-table-column prop="rectifyType" label=" 整改类型" show-overflow-tooltip min-width="150px">
<template slot-scope="scope">
- <el-tag :type="scope.row.level == '重大隐患'?'danger':'warning'">{{scope.row.level}}</el-tag>
+ {{ parseNumber(scope.row.rectifyType, '整改类型') }}
</template>
</el-table-column>
- <el-table-column label="隐患来源" prop="source" align="center" >
+ <el-table-column prop="liablePerson" label="整改责任人" show-overflow-tooltip min-width="150px"></el-table-column>
+ <el-table-column prop="cost" label="整改资金" show-overflow-tooltip min-width="150px"></el-table-column>
+ <el-table-column prop="dangerStatus" label="隐患整改状态" show-overflow-tooltip min-width="150px" align="center">
<template slot-scope="scope">
- <span>{{sources.find(item=>item.key === scope.row.source).value}}</span>
+ <el-tag :type="scope.row.dangerStatus === 0 ? 'info' : scope.row.dangerStatus === 1 ? 'primary' : scope.row.dangerStatus === 2 ? 'warning' : scope.row.dangerStatus === 4 ? 'danger' : 'success'">
+ {{ parseNumber(scope.row.dangerStatus, '隐患整改状态') }}
+ </el-tag>
</template>
</el-table-column>
- <el-table-column label="上报人" prop="requestor" align="center" />
- <el-table-column label="上报时间" prop="createtime" align="center" />
- <el-table-column label="整改人" prop="rectifier" align="center" />
- <el-table-column label="整改期限" prop="rectifydeadline" align="center" >
- <template slot-scope="scope">
- <span v-bind:class="{'overdue':new Date(scope.row.rectifydeadline) < new Date() && scope.row.status !== '已完成'}">{{scope.row.rectifydeadline}}
- </span>
- </template>
- </el-table-column>
- <el-table-column label="整改时间" prop="rectifytime" align="center" />
-
-
+ <el-table-column prop="createByUserName" label="创建人" show-overflow-tooltip min-width="150px"></el-table-column>
+ <el-table-column prop="gmtCreate" label="创建时间" show-overflow-tooltip min-width="200px"></el-table-column>
+ <el-table-column prop="lastEditUserName" label="最后修改人" show-overflow-tooltip min-width="150px"></el-table-column>
+ <el-table-column prop="gmtModitify" label="最后修改时间" show-overflow-tooltip min-width="200px"></el-table-column>
<el-table-column label="操作" align="center" width="240" class-name="small-padding fixed-width">
<template slot-scope="scope">
- <el-button type="text" @click="viewHandle(scope.row)">查看</el-button>
- <el-button type="text" @click="acceptHandle(scope.row)" v-if="scope.row.status === '整改待验收'">验收</el-button>
+ <el-button type="text" @click="viewHandle('查看',scope.row)">查看</el-button>
+ <el-button type="text" v-show="scope.row.dangerStatus === 1" @click="checkDialog(scope.row)">验收</el-button>
+<!-- <el-button type="text" style="color:red" @click="deleteById(scope.row)">删除</el-button>-->
</template>
</el-table-column>
</el-table>
@@ -89,147 +76,194 @@
/>
</div>
+ <accept-dialog ref="accept" @refreshCheck="hiddenDangerList"></accept-dialog>
<report-view ref="reportView"></report-view>
- <accept-dialog ref="acceptDialog" @refresh="hiddenDangerList"></accept-dialog>
-
+ <rectify-dialog ref="rectifyDialog" @refresh = "hiddenDangerList"></rectify-dialog>
<div style="clear: both;"></div>
</div>
</template>
<script>
- import { checkBtnPermission} from "@/utils/permission";
- import { hiddenDangerAcceptList} from '@/api/hiddenDanger';
- import reportView from "../components/reportView";
- import acceptDialog from "./components/acceptDialog";
+import { checkBtnPermission} from "@/utils/permission";
+import { hiddenDangerRectifyList } from '@/api/hiddenDanger';
+import reportView from "../components/reportView";
+import rectifyDialog from "../rectify/components/rectifyDialog";
+import {deleteHiddenDangerReport, hiddenDangerAcceptList} from "../../../../../api/hiddenDanger";
+import {safetyInspectionItemName} from "../../../../../api/safetySelfInspection";
+import AcceptDialog from "./components/acceptDialog";
- export default {
- name: "confirm",
- components: {
- reportView,
- acceptDialog,
- },
- data() {
- return {
- recordTotal: 0,
- tableKey: 0,
- tableData:[],
- listLoading: true,
- levels:[
- {"key":"URGENT","value":"重大隐患"},
- {"key":"COMMON","value":"一般隐患"},
- ],
- sources:[
- {"key":1,"value":"隐患上报"},
- {"key":2,"value":"巡检上报"},
- ],
- dataForm: {
- id:'',
- note: '',
- level:'',
- rejectnote:'',
- },
- filter:{
- pageIndex:1,
- pageSize:10,
- filter:{
- code:'',
- level:null,
- rectifierName:'',
- source:'',
- }
- }
+export default {
+ name: "rectify",
+ components: {
+ AcceptDialog,
+ reportView,
+ rectifyDialog,
+ },
+ data() {
+ return {
+ recordTotal: 0,
+ tableKey: 0,
+ tableData:[],
+ userList:[],
+ listLoading: false,
+ departmentList: [],
+ rectifyTypeList: [
+ { id: 1, name: '即查即改' },
+ { id: 2, name: '限期整改' }
+ ],
+ dangerStatusList: [
+ { id: 0, name: '整改中' },
+ { id: 1, name: '待验收' },
+ { id: 2, name: '延期整改' },
+ { id: 4, name: '超期未整改' },
+ { id: 9, name: '已验收' }
+ ],
+ filter:{
+ pageIndex:1,
+ pageSize:10,
+ checkAcceptPersonid: null,
}
- },
- created() {
- this.hiddenDangerList();
- },
-
- methods: {
- queryHandle: function () {
- this.filter.pageIndex = 1
- this.hiddenDangerList()
- },
-
-
- viewHandle: function (row) {
- this.$refs.reportView.showDialog("查看",row)
- },
-
- acceptHandle(row){
- this.$refs.acceptDialog.showDialog(row)
- } ,
-
- handleSizeChange: function (val) {
- this.filter.pageSize = val
- this.filter.pageIndex = 1
- this.hiddenDangerList()
- },
- handleCurrentChange: function (val) {
- this.filter.pageIndex = val
- this.hiddenDangerList()
- },
- getBtnPermission(btnType) {
- return checkBtnPermission(this.userType, btnType)
- },
-
- downloadHandle(fileurl){
- window.open(fileurl, '_blank');
- },
-
-
- handleChange(file, fileList) {
- this.fileList = fileList
- },
-
- hiddenDangerList(){
- this.listLoading = true
- hiddenDangerAcceptList(this.filter)
- .then(res=>{
- if (res.data.code === '200') {
- this.tableData = res.data.result.records
- this.recordTotal = res.data.result.total
- }
- else{
- this.$message({message: res.data.message, type: 'warning'});
- }
- })
- .catch(err=>{
- console.log(err)
- this.$message({message: '接口错误', type: 'warning'});
- })
- .finally(()=>{
- this.listLoading = false
- })
- },
- clearLevel(){
- this.filter.filter.level = null
- }
-
-
}
+ },
+ created() {
+ this.hiddenDangerList();
+ this.getUser()
+ },
+ methods: {
+ queryHandle: function () {
+ this.filter.pageIndex = 1
+ this.hiddenDangerList()
+ },
+ checkDialog(row){
+ this.$refs.accept.showDialog(row)
+ },
+ viewHandle (type,row) {
+ this.$refs.rectifyDialog.showDialog(type,row)
+ },
+ rectifyHandle(row){
+ this.$refs.rectifyDialog.show(row)
+ },
+
+ handleSizeChange: function (val) {
+ this.filter.pageSize = val
+ this.filter.pageIndex = 1
+ this.hiddenDangerList()
+ },
+ handleCurrentChange: function (val) {
+ this.filter.pageIndex = val
+ this.hiddenDangerList()
+ },
+ getBtnPermission(btnType) {
+ return checkBtnPermission(this.userType, btnType)
+ },
+
+
+ downloadHandle(fileurl){
+ window.open(fileurl, '_blank');
+ },
+
+ async getUser(){
+ let res = await safetyInspectionItemName()
+ if(res.data.code === '200'){
+ this.userList = res.data.result
+ }else{
+ this.$message({
+ message:res.data.message,
+ type:'warning'
+ })
+ }
+ },
+
+ hiddenDangerList(){
+ this.listLoading = true
+ hiddenDangerAcceptList(this.filter)
+ .then(res=>{
+ if (res.data.code === '200') {
+ this.tableData = res.data.data
+ this.recordTotal = res.data.count
+ }
+ else{
+ this.$message({message: res.data.message, type: 'warning'});
+ }
+
+ })
+ .catch(err=>{
+ console.log(err)
+ this.$message({message: '接口错误', type: 'warning'});
+
+ })
+ .finally(()=>{
+ this.listLoading = false
+ })
+ },
+
+ parseNumber (value, type) {
+ if (type === '整改类型') {
+ return this.rectifyTypeList.find((item) => item.id === value).name;
+ } else if (type === '隐患整改状态') {
+ return this.dangerStatusList.find((item) => item.id === value).name;
+ }
+ },
+
+ deleteById(val){
+ this.$confirm('删除此条信息,是否继续','提示',{
+ confirmButtonText:'确定',
+ cancelButtonText:'取消',
+ type:'warning',
+ }).then(()=> {
+ deleteHiddenDangerReport({id:val.id}).then( ()=>{
+ this.hiddenDangerList()
+ this.$notify({
+ title:'成功',
+ message:'删除成功',
+ type:'success',
+ duration:2000,
+ })
+ })
+ })
+ },
+
+ clearLevel(){
+ this.filter.filter.level = null
+ },
+ clearStatus(){
+ this.filter.filter.status = null
+ },
+
}
+}
</script>
<style scoped>
- .overdue{
- color: red;
- }
- .overdue-img{
- position: absolute;
- background-color: #f56c6c;
- border-radius: 4px;
- color: #fff;
- display: inline-block;
- font-size: 12px;
- height: 21px;
- line-height: 18px;
- text-align: center;
- white-space: nowrap;
- border: 1px solid #fff;
- transform: scale(0.8);
- padding: 1px 3px 0 3px;
- }
+.overdue{
+ color: red;
+}
+.overdue-img{
+ position: absolute;
+ background-color: #f56c6c;
+ border-radius: 4px;
+ color: #fff;
+ display: inline-block;
+ font-size: 12px;
+ height: 21px;
+ line-height: 18px;
+ text-align: center;
+ white-space: nowrap;
+ border: 1px solid #fff;
+ transform: scale(0.8);
+ padding: 1px 3px 0 3px;
+}
+.basic_search{
+ display:inline-block;
+ padding-bottom: 10px;
+}
+.analyseUnit_input{
+ width:90%;
+}
+.analyseUnit_box{
+ width:200px;
+}
</style>
diff --git a/src/views/doublePreventAction/hiddenDanger/hiddenDangerReform/rectify/components/rectifyDialog.vue b/src/views/doublePreventAction/hiddenDanger/hiddenDangerReform/rectify/components/rectifyDialog.vue
index 855b925..77dd094 100644
--- a/src/views/doublePreventAction/hiddenDanger/hiddenDangerReform/rectify/components/rectifyDialog.vue
+++ b/src/views/doublePreventAction/hiddenDanger/hiddenDangerReform/rectify/components/rectifyDialog.vue
@@ -1,160 +1,104 @@
<template>
- <el-dialog title="整改" :visible.sync="dialogFormVisible"
- :modal-append-to-body="false" :close-on-click-modal="false" width="800px">
- <el-form ref="dataForm" :rules="dataFormRules" :model="dataForm" label-position="right" label-width="140px"
- style="" element-loading-text="保存中...">
+ <div>
+ <el-dialog title="查看" :visible.sync="dialogFormVisible"
+ :modal-append-to-body="false" :close-on-click-modal="false" width="800px">
+ <el-form ref="dataForm" :rules="dataFormRules" :model="dataForm" label-position="right" label-width="140px"
+ style="" element-loading-text="保存中...">
+ <el-row :gutter="35">
+ <el-col :xs="24" :sm="24" :md="24" :lg="24" :xl="24" class="mb20">
+ <el-form-item label="整改内容说明" prop="rectifyDesc">
+ <el-input class="analyseUnit_input" type="textarea" :rows="2" v-model.trim="dataForm.rectifyDesc" readonly></el-input>
+ </el-form-item>
+ </el-col>
+ <el-col :xs="24" :sm="24" :md="24" :lg="24" :xl="24" class="mb20">
+ <el-form-item label="整改类型" prop="rectifyType">
+ <el-select class="analyseUnit_input" v-model="dataForm.rectifyType" readonly>
+ <el-option v-for="item in rectifyTypeList" :key="item.id" :label="item.name" :value="item.id"></el-option>
+ </el-select>
+ </el-form-item>
+ </el-col>
+ <el-col :xs="24" :sm="24" :md="24" :lg="24" :xl="24" class="mb20">
+ <el-form-item label="整改部门" prop="rectifyDepId">
+ <el-select v-model="dataForm.rectifyDepId" class="analyseUnit_input" placeholder="请选择所属部门" clearable filterable>
+ <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-form-item label="隐患级别:">
- <el-select v-model="dataForm.level" placeholder="请选择" :disabled="isView">
- <el-option
- v-for="item in levels"
- :key="item.key"
- :label="item.value"
- :value="item.key">
- </el-option>
- </el-select>
- </el-form-item>
+ <el-col :xs="24" :sm="24" :md="24" :lg="24" :xl="24" class="mb20">
+ <el-form-item label="整改责任人" prop="liablePersonId">
+ <el-select class="analyseUnit_input" v-model="dataForm.liablePersonId" placeholder="请选择整改责任人" clearable filterable>
+ <el-option v-for="item in userList" :key="item.id" :label="item.realname" :value="item.id"></el-option>
+ </el-select>
+ </el-form-item>
+ </el-col>
- <el-form-item label="整改措施:" >
- <el-input
- style="width: 400px"
- type="textarea"
- :rows="3"
- :disabled="isView"
- placeholder="请输入内容"
- v-model="dataForm.rectifymeasure">
- </el-input>
- </el-form-item>
+ <el-col :xs="24" :sm="24" :md="24" :lg="24" :xl="24" class="mb20">
+ <el-form-item label="整改资金" prop="dangerResult">
+ <el-input class="analyseUnit_input" type="number" v-model="dataForm.cost" readonly> </el-input>
+ </el-form-item>
+ </el-col>
+ </el-row>
- <el-form-item label="整改期限:" >
- <el-date-picker
- v-model="dataForm.rectifydeadline"
- type="datetime"
- :disabled="isView"
- format="yyyy-MM-dd HH:mm"
- value-format="yyyy-MM-dd HH:mm"
- placeholder="选择日期时间">
- </el-date-picker>
- </el-form-item>
+ </el-form>
- <el-form-item label="上报说明:" >
- <el-input
- style="width: 400px"
- type="textarea"
- :rows="3"
- :disabled="isView"
- placeholder="请输入内容"
- v-model="dataForm.createnote">
- </el-input>
- </el-form-item>
+ </el-dialog>
+ <el-dialog title="整改" :visible.sync="isShowRectifyDialog" :modal-append-to-body="false" :close-on-click-modal="false" width="600px">
+ <el-form :model="rectifyForm" :rules="rectifyFormRules" ref="rectifyFormRef" size="default" label-width="120px">
+ <el-row :gutter="35">
+ <el-col :xs="24" :sm="24" :md="24" :lg="24" :xl="24" class="mb20">
+ <el-form-item label="整改说明" prop="rectifyInfo">
+ <el-input class="analyseUnit_input" type="textarea" :rows="2" v-model.trim="rectifyForm.rectifyInfo" placeholder="请输入整改说明" clearable></el-input>
+ </el-form-item>
+ </el-col>
+ <el-col :xs="24" :sm="24" :md="24" :lg="24" :xl="24" class="mb20">
+ <el-form-item label="整改时间" prop="applyTime">
+ <el-date-picker type="datetime" value-format="yyyy-MM-dd HH:mm:ss" class="analyseUnit_input" v-model="rectifyForm.applyTime" placeholder="请选择整改时间" clearable> </el-date-picker>
+ </el-form-item>
+ </el-col>
+ </el-row>
+ </el-form>
+ <div align="right" class="dialog-footer">
+ <el-button @click="isShowRectifyDialog = !isShowRectifyDialog" size="default">取 消</el-button>
+ <el-button type="primary" @click="submitRectify" size="default">确 定</el-button>
+ </div>
+ </el-dialog>
+ <el-dialog title="延期" :visible.sync="isShowDelayDialog" width="600px">
+ <el-form :model="delayForm" :rules="delayFormRules" ref="delayFormRef" size="default" label-width="120px">
+ <el-row :gutter="35">
+ <el-col :xs="24" :sm="24" :md="24" :lg="24" :xl="24" class="mb20">
+ <el-form-item label="延期说明" prop="timeOutDesc">
+ <el-input class="analyseUnit_input" type="textarea" :rows="2" v-model.trim="delayForm.timeOutDesc" placeholder="请输入延期说明" clearable></el-input>
+ </el-form-item>
+ </el-col>
+ <el-col :xs="24" :sm="24" :md="24" :lg="24" :xl="24" class="mb20">
+ <el-form-item label="整改期限" prop="rectifyTime">
+ <el-date-picker type="datetime" value-format="yyyy-MM-dd HH:mm:ss" class="analyseUnit_input" v-model="delayForm.rectifyTime" placeholder="请选择整改期限" clearable> </el-date-picker>
+ </el-form-item>
+ </el-col>
+ </el-row>
+ </el-form>
+ <div align="right" class="dialog-footer">
+ <el-button @click="isShowDelayDialog = !isShowDelayDialog" size="default">取 消</el-button>
+ <el-button type="primary" @click="submitDelay" size="default">确 定</el-button>
+ </div>
+ </el-dialog>
+ </div>
- <el-form-item label="上报图片:" v-if="!isView">
- <el-upload
- ref="upload"
- :action="baseUrl"
- :auto-upload="false"
- :headers="headers"
- :on-change="handleChange"
- name="file"
- :file-list="fileList"
- list-type="picture-card"
- multiple
- >
- <i class="el-icon-plus"></i>
- </el-upload>
-
- </el-form-item>
-
- <el-form-item label="上报图片:" v-if="isView && imgUrls.length > 0" >
- <el-image
- class="upload-img"
- v-for='item in imgUrls'
- :key='item.id'
- :src="item.url"
- :preview-src-list="imgPreviewUrls"
- style="width:100px;height: 100px;margin: 10px 10px 10px 2px;border-radius: 3px"
- >
- </el-image>
- </el-form-item>
-
- <el-form-item label="驳回整改说明:" v-if="dataForm.status === '驳回待整改'">
- <el-input
- style="width: 400px"
- type="textarea"
- :rows="3"
- placeholder="请输入内容"
- :disabled="isView"
- v-model="dataForm.rectifynote">
- </el-input>
- </el-form-item>
-
- <el-form-item label="驳回整改图片:" v-if="dataForm.status === '驳回待整改'">
- <el-image
- class="upload-img"
- v-for='item in imgUrls2'
- :key='item.id'
- :src="item.url"
- :disabled="isView"
- :preview-src-list="imgPreviewUrls2"
- style="width:100px;height: 100px;margin: 10px 15px 10px 2px;border-radius: 3px"
- >
- </el-image>
- </el-form-item>
-
- <el-form-item label="驳回原因:" v-if="dataForm.status === '驳回待整改'">
- <el-input
- style="width: 400px"
- type="textarea"
- :rows="3"
- placeholder="请输入内容"
- :disabled="isView"
- v-model="dataForm.rejectnote">
- </el-input>
- </el-form-item>
-
-
-
- <el-form-item label="整改说明:" >
- <el-input
- style="width: 400px"
- type="textarea"
- :rows="3"
- placeholder="请输入内容"
- v-model="dataForm.note">
- </el-input>
- </el-form-item>
-
- <el-form-item label="整改图片:" >
- <el-upload
- ref="upload"
- :action="baseUrl"
- :auto-upload="false"
- :headers="headers"
- :on-change="handleChange"
- name="file"
- :file-list="fileList"
- list-type="picture-card"
- multiple
- >
- <i class="el-icon-plus"></i>
- </el-upload>
-
- </el-form-item>
-
- </el-form>
-
- <div style="margin-top: 20px;margin-left: 140px;" class="dialog-footer" >
- <el-button @click="dialogFormVisible = false">取消</el-button>
- <el-button type="primary" @click="trigger2Submit()" :disabled="submiting">整改提交</el-button>
- </div>
-
- </el-dialog>
</template>
<script>
import { hiddenDangerRectify } from '@/api/hiddenDanger';
import { getToken} from "@/utils/auth";
+ import {getDepartmentList} from "../../../../../../api/departmentManage";
+ import {safetyInspectionItemName} from "../../../../../../api/safetySelfInspection";
+ import {delayHiddenDangerReport, submitHiddenDangerReport} from "../../../../../../api/hiddenDanger";
export default {
name: "rectifyDialog",
@@ -165,8 +109,12 @@
headers: {
'Authorization': getToken()
},
- imgUrls:[],
- imgUrls2:[],
+ userList:[],
+ departmentList:[],
+ rectifyTypeList: [
+ { id: 1, name: '即查即改' },
+ { id: 2, name: '限期整改' }
+ ],
imgPreviewUrls:[],
imgPreviewUrls2:[],
fileList:[],
@@ -178,16 +126,45 @@
{"key":"COMMON","value":"一般隐患"},
],
dataForm: {
- id:'',
- note: '',
- level:'',
- rectifynote:'',
- rectifydeadline:'',
- rectifymeasure:'',
- createnote: '',
- rejectnote:'',
+ rectifyType: null,
+ rectifyDepId: null,
+ liablePersonId: null,
+ rectifyTime: null,
+ cost: null,
+ rectifyDesc: null
},
+ isShowCheckInfoDialog: false,
+ checkInfoForm: {
+ rectifyDepId: null,
+ liablePersonId: null
+ },
+ isShowDelayDialog: false,
+ isShowRectifyDialog: false,
+ rectifyForm: {
+ id: null,
+ dangerManagerId: null,
+ rectifyInfo: null,
+ applyTime: null
+ },
+ delayForm: {
+ id: null,
+ dangerManagerId: null,
+ rectifyTime: null,
+ timeOutDesc: null
+ },
+ rectifyFormRules: {
+ rectifyInfo: [{ required: true, message: '请填写整改说明', trigger: 'blur' }],
+ applyTime: [{ required: true, message: '请选择整改时间', trigger: 'change' }]
+ },
+ delayFormRules: {
+ timeOutDesc: [{ required: true, message: '请填写延期说明', trigger: 'blur' }],
+ rectifyTime: [{ required: true, message: '请选择整改期限', trigger: 'change' }]
+ }
}
+ },
+ created(){
+ this.getDepartmentData();
+ this.getUser();
},
methods:{
resetDataForm(){
@@ -204,23 +181,82 @@
this.imgUrls =[]
this.imgPreviewUrls = []
},
- show(row){
- this.resetDataForm();
- this.isView = true
- this.dataForm.id = row.id
- this.dataForm.level = row.level
- this.dataForm.status = row.status
- this.dataForm.createnote = row.createnote
- this.dataForm.rectifydeadline = row.rectifydeadline
- this.dataForm.rectifymeasure = row.rectifymeasure
- this.dataForm.rectifynote = row.rectifynote
- this.dataForm. rejectnote = row.rejectnote
- this.imgUrls = row.reportResources.map(item=>{return {url:process.env.IMG_API+item.url,name:item.id}})
- this.imgUrls2 = row.rectifyResources.map(item=>{return {url:process.env.IMG_API+item.url,name:item.id}})
- this.imgPreviewUrls = row.reportResources.map(item=>{ return process.env.IMG_API + item.url })
- this.imgPreviewUrls2 = row.rectifyResources.map(item=>{ return process.env.IMG_API + item.url })
- this.dialogFormVisible = true
+ showDialog(type,row){
+ if (type === '延期') {
+ this.isShowDelayDialog = true;
+ const delayForm = JSON.parse(JSON.stringify(row));
+ this.delayForm.id = delayForm.id;
+ this.delayForm.dangerManagerId = delayForm.dangerManagerId;
+ this.delayForm.timeOutDesc = null;
+ this.delayForm.rectifyTime = null;
+ }else if(type == '整改'){
+ this.isShowRectifyDialog = true;
+ const rectifyForm = JSON.parse(JSON.stringify(row));
+ this.rectifyForm.id = rectifyForm.id;
+ this.rectifyForm.dangerManagerId = rectifyForm.dangerManagerId;
+ this.rectifyForm.rectifyInfo = null;
+ this.rectifyForm.applyTime = null;
+ }else{
+ this.dialogFormVisible = true
+ this.dataForm = row
+ }
+
},
+
+ submitRectify () {
+ this.$refs['rectifyFormRef'].validate( async(valid) => {
+ if (valid) {
+ let res = await submitHiddenDangerReport(this.rectifyForm);
+ if (res.data.code === '200') {
+ this.$message({
+ type: 'success',
+ message: '整改提交成功',
+ duration: 2000
+ });
+ this.isShowRectifyDialog = false;
+ this.$emit('refreshRectify');
+ } else {
+ this.$message({
+ type: 'warning',
+ message: res.data.msg
+ });
+ }
+ } else {
+ this.$message({
+ type: 'warning',
+ message: '请完善基本信息'
+ });
+ }
+ });
+ },
+
+ submitDelay() {
+ this.$refs["delayFormRef"].validate(async (valid) => {
+ if (valid) {
+ let res = await delayHiddenDangerReport(this.delayForm);
+ if (res.data.code === '200') {
+ this.$message({
+ type: 'success',
+ message: '隐患延期成功',
+ duration: 2000
+ });
+ this.isShowDelayDialog = false;
+ this.$emit('refreshRectify');
+ } else {
+ this.$message({
+ type: 'warning',
+ message: res.data.msg
+ });
+ }
+ } else {
+ this.$message({
+ type: 'warning',
+ message: '请完善基本信息'
+ });
+ }
+ });
+ },
+
trigger2Submit(){
let formData = new FormData();
formData.append('id',this.dataForm.id)
@@ -249,6 +285,34 @@
this.submiting = false
})
},
+
+ async getDepartmentData(){
+ let res = await getDepartmentList({pageSize:1000,pageIndex:1})
+ if(res.data.code === '200'){
+ this.departmentList = res.data.result.result
+ }else{
+ this.$message({
+ message:res.data.message,
+ type:'warning'
+ })
+ if(res.data.code === '50001'){
+ this.riskSourceData = []
+ }
+ }
+ },
+
+ async getUser(){
+ let res = await safetyInspectionItemName()
+ if(res.data.code === '200'){
+ this.userList = res.data.result
+ }else{
+ this.$message({
+ message:res.data.message,
+ type:'warning'
+ })
+ }
+ },
+
handleChange(file, fileList) {
this.fileList = fileList
},
@@ -257,5 +321,14 @@
</script>
<style scoped>
-
+.basic_search{
+ display:inline-block;
+ padding-bottom: 10px;
+}
+.analyseUnit_input{
+ width:90%;
+}
+.analyseUnit_box{
+ width:200px;
+}
</style>
diff --git a/src/views/doublePreventAction/hiddenDanger/hiddenDangerReform/rectify/index.vue b/src/views/doublePreventAction/hiddenDanger/hiddenDangerReform/rectify/index.vue
index 2e8191b..b076905 100644
--- a/src/views/doublePreventAction/hiddenDanger/hiddenDangerReform/rectify/index.vue
+++ b/src/views/doublePreventAction/hiddenDanger/hiddenDangerReform/rectify/index.vue
@@ -1,49 +1,25 @@
<template>
<div class="app-container">
<div style="margin: 15px">
+ <div class="basic_search">
+ <span>整改类型:</span>
+ <el-select class="analyseUnit_box" v-model="filter.rectifyType" placeholder="整改类型" filterable>
+ <el-option v-for="item in rectifyTypeList" :key="item.id" :label="item.name" :value="item.id"></el-option>
+ </el-select>
+ </div>
+ <div class="basic_search">
+ <span>整改部门:</span>
+ <el-select v-model="filter.rectifyDepId" clearable filterable class="analyseUnit_box">
+ <el-option
+ v-for="item in departmentList"
+ :key="item.id"
+ :label="item.department"
+ :value="item.id"
+ ></el-option>
+ </el-select> </div>
- <span class="span-filter-label">单号</span>
- <el-input style="width: 140px" v-model="filter.filter.code" ></el-input>
-
- <span class="span-filter-label">状态</span>
- <el-select
- v-model="filter.filter.status"
- class="filter-item"
- clearable
- @clear="clearStatus"
- style="width:150px;margin-bottom: 10px">
- <el-option
- v-for="item in reportStatus"
- :key="item.key"
- :label="item.value"
- :value="item.key">
- </el-option>
- </el-select>
-
- <span class="span-filter-label">隐患等级</span>
- <el-select v-model="filter.filter.level" clearable @clear="clearLevel" placeholder="请选择">
- <el-option
- v-for="item in levels"
- :key="item.key"
- :label="item.value"
- :value="item.key">
- </el-option>
- </el-select>
-
- <span class="span-filter-label">上报人</span>
- <el-input style="width: 160px" v-model="filter.filter.requestorName"></el-input>
-
- <span class="span-filter-label">隐患来源</span>
- <el-select v-model="filter.filter.source" clearable placeholder="请选择">
- <el-option
- v-for="item in sources"
- :key="item.key"
- :label="item.value"
- :value="item.key">
- </el-option>
- </el-select>
<el-button class="filter-item" style="margin-left: 10px;" type="primary" icon="el-icon-search"
- @click="queryHandle"/>
+ @click="queryHandle">搜索</el-button>
</div>
<div class="table_content">
<el-table
@@ -55,37 +31,39 @@
highlight-current-row
style="width: 100%;"
>
- <el-table-column type="index" label="序号" align="center" width="80"/>
- <el-table-column label="单号" prop="code" align="center" />
- <el-table-column label="状态" prop="status" align="center" >
+ <el-table-column type="index" label="序号" width="60" />
+ <el-table-column prop="rectifyDesc" label="整改内容说明" show-overflow-tooltip min-width="150px"></el-table-column>
+ <el-table-column prop="rectifyTime" label="整改期限" show-overflow-tooltip min-width="200px">
<template slot-scope="scope">
- <span >{{scope.row.status}}</span>
- <span v-if="new Date(scope.row.rectifydeadline) < new Date() && scope.row.status !== '已完成'" class="overdue-img">逾期</span>
+ <span>{{ scope.row.rectifyTime }}</span>
+ <span v-if="scope.row.dangerStatus === 2" class="overdue-img">逾期</span>
+ <span v-if="scope.row.dangerStatus === 9" class="overdue-img">逾期</span>
</template>
</el-table-column>
- <el-table-column label="隐患等级" prop="level" align="center" >
+ <el-table-column prop="rectifyType" label=" 整改类型" show-overflow-tooltip min-width="150px">
<template slot-scope="scope">
- <el-tag :type="scope.row.level == '重大隐患'?'danger':'warning'">{{scope.row.level}}</el-tag>
+ {{ parseNumber(scope.row.rectifyType, '整改类型') }}
</template>
</el-table-column>
- <el-table-column label="隐患来源" prop="source" align="center" >
+ <el-table-column prop="liablePerson" label="整改责任人" show-overflow-tooltip min-width="150px"></el-table-column>
+ <el-table-column prop="cost" label="整改资金" show-overflow-tooltip min-width="150px"></el-table-column>
+ <el-table-column prop="dangerStatus" label="隐患整改状态" show-overflow-tooltip min-width="150px" align="center">
<template slot-scope="scope">
- <span>{{sources.find(item=>item.key === scope.row.source).value}}</span>
+ <el-tag :type="scope.row.dangerStatus === 0 ? 'info' : scope.row.dangerStatus === 1 ? 'primary' : scope.row.dangerStatus === 2 ? 'warning' : scope.row.dangerStatus === 4 ? 'danger' : 'success'">
+ {{ parseNumber(scope.row.dangerStatus, '隐患整改状态') }}
+ </el-tag>
</template>
</el-table-column>
- <el-table-column label="上报人" prop="requestor" align="center" />
- <el-table-column label="整改人" prop="rectifier" align="center" />
- <el-table-column label="整改期限" prop="rectifydeadline" align="center" >
- <template slot-scope="scope">
- <span v-bind:class="{'overdue':new Date(scope.row.rectifydeadline) < new Date() && scope.row.status !== '已完成'}">{{scope.row.rectifydeadline}}
- </span>
- </template>
- </el-table-column>
- <el-table-column label="创建时间" prop="createtime" align="center" />
+ <el-table-column prop="createByUserName" label="创建人" show-overflow-tooltip min-width="150px"></el-table-column>
+ <el-table-column prop="gmtCreate" label="创建时间" show-overflow-tooltip min-width="200px"></el-table-column>
+ <el-table-column prop="lastEditUserName" label="最后修改人" show-overflow-tooltip min-width="150px"></el-table-column>
+ <el-table-column prop="gmtModitify" label="最后修改时间" show-overflow-tooltip min-width="200px"></el-table-column>
<el-table-column label="操作" align="center" width="240" class-name="small-padding fixed-width">
<template slot-scope="scope">
- <el-button type="text" @click="viewHandle(scope.row)">查看</el-button>
- <el-button type="text" @click="rectifyHandle(scope.row)" v-if="scope.row.status === '待整改' || scope.row.status === '驳回待整改'">整改</el-button>
+ <el-button type="text" @click="viewHandle('查看',scope.row)">查看</el-button>
+ <el-button type="text" v-show="scope.row.dangerStatus === 0 || scope.row.dangerStatus === 2" @click="viewHandle('整改', scope.row)">整改</el-button>
+ <el-button type="text" v-show="scope.row.dangerStatus === 0 || scope.row.dangerStatus === 2" @click="viewHandle('延期', scope.row)">延期</el-button>
+ <el-button type="text" style="color:red" @click="deleteById(scope.row)">删除</el-button>
</template>
</el-table-column>
</el-table>
@@ -105,7 +83,7 @@
</div>
<report-view ref="reportView"></report-view>
- <rectify-dialog ref="rectifyDialog" @refresh = "hiddenDangerList"></rectify-dialog>
+ <rectify-dialog ref="rectifyDialog" @refreshRectify = "hiddenDangerList"></rectify-dialog>
<div style="clear: both;"></div>
</div>
@@ -116,6 +94,7 @@
import { hiddenDangerRectifyList } from '@/api/hiddenDanger';
import reportView from "../components/reportView";
import rectifyDialog from "./components/rectifyDialog";
+ import {deleteHiddenDangerReport} from "../../../../../api/hiddenDanger";
export default {
name: "rectify",
@@ -129,37 +108,23 @@
tableKey: 0,
tableData:[],
listLoading: false,
- levels:[
- {"key":"URGENT","value":"重大隐患"},
- {"key":"COMMON","value":"一般隐患"},
+ departmentList: [],
+ rectifyTypeList: [
+ { id: 1, name: '即查即改' },
+ { id: 2, name: '限期整改' }
],
- sources:[
- {"key":1,"value":"隐患上报"},
- {"key":2,"value":"巡检上报"},
+ dangerStatusList: [
+ { id: 0, name: '整改中' },
+ { id: 1, name: '待验收' },
+ { id: 2, name: '延期整改' },
+ { id: 4, name: '超期未整改' },
+ { id: 9, name: '已验收' }
],
- reportStatus:[
- {"key":"TORECTIFY","value":"待整改"},
- {"key":"TOACCEPT","value":"整改待验收"},
- {"key":"REJECTED","value":"驳回待整改"},
- {"key":"COMPLETED","value":"已完成"},
- ],
- dataForm: {
- id:'',
- note: '',
- level:'',
- rectifynote:'',
- rectifydeadline:'',
- rectifymeasure:''
- },
filter:{
pageIndex:1,
pageSize:10,
- filter:{
- status:null,
- code:'',
- requestorName:'',
- level:null,
- }
+ rectifyType: null,
+ rectifyDepId: null,
}
}
},
@@ -172,8 +137,8 @@
this.filter.pageIndex = 1
this.hiddenDangerList()
},
- viewHandle (row) {
- this.$refs.reportView.showDialog("查看",row)
+ viewHandle (type,row) {
+ this.$refs.rectifyDialog.showDialog(type,row)
},
rectifyHandle(row){
this.$refs.rectifyDialog.show(row)
@@ -204,8 +169,8 @@
hiddenDangerRectifyList(this.filter)
.then(res=>{
if (res.data.code === '200') {
- this.tableData = res.data.result.records
- this.recordTotal = res.data.result.total
+ this.tableData = res.data.data
+ this.recordTotal = res.data.count
}
else{
this.$message({message: res.data.message, type: 'warning'});
@@ -221,6 +186,33 @@
this.listLoading = false
})
},
+
+ parseNumber (value, type) {
+ if (type === '整改类型') {
+ return this.rectifyTypeList.find((item) => item.id === value).name;
+ } else if (type === '隐患整改状态') {
+ return this.dangerStatusList.find((item) => item.id === value).name;
+ }
+ },
+
+ deleteById(val){
+ this.$confirm('删除此条信息,是否继续','提示',{
+ confirmButtonText:'确定',
+ cancelButtonText:'取消',
+ type:'warning',
+ }).then(()=> {
+ deleteHiddenDangerReport({id:val.id}).then( ()=>{
+ this.hiddenDangerList()
+ this.$notify({
+ title:'成功',
+ message:'删除成功',
+ type:'success',
+ duration:2000,
+ })
+ })
+ })
+ },
+
clearLevel(){
this.filter.filter.level = null
},
@@ -253,4 +245,14 @@
padding: 1px 3px 0 3px;
}
+ .basic_search{
+ display:inline-block;
+ padding-bottom: 10px;
+ }
+ .analyseUnit_input{
+ width:90%;
+ }
+ .analyseUnit_box{
+ width:200px;
+ }
</style>
diff --git a/src/views/doublePreventAction/hiddenDanger/hiddenDangerReform/report/components/reportDialog.vue b/src/views/doublePreventAction/hiddenDanger/hiddenDangerReform/report/components/reportDialog.vue
index 649f583..fac85d8 100644
--- a/src/views/doublePreventAction/hiddenDanger/hiddenDangerReform/report/components/reportDialog.vue
+++ b/src/views/doublePreventAction/hiddenDanger/hiddenDangerReform/report/components/reportDialog.vue
@@ -1,91 +1,125 @@
<template>
- <el-dialog title="新增" :visible.sync="dialogFormVisible" :close-on-click-modal="false" width="800px">
+ <el-dialog :title="title" :visible.sync="dialogFormVisible" :close-on-click-modal="false" width="50%">
<el-form ref="dataForm" :rules="dataFormRules" :model="dataForm" label-position="right" label-width="140px" style="" element-loading-text="保存中...">
- <el-form-item label="隐患级别:" prop="level">
- <el-select v-model="dataForm.level" placeholder="请选择" :disabled="isView">
- <el-option
- v-for="item in levels"
- :key="item.key"
- :label="item.value"
- :value="item.key">
- </el-option>
- </el-select>
- </el-form-item>
+ <el-row :gutter="25">
+ <el-col :xs="24" :sm="24" :md="24" :lg="24" :xl="12" class="mb20">
+ <el-form-item label="隐患描述" prop="dangerDesc">
+ <el-input class="analyseUnit_input" v-model.trim="dataForm.dangerDesc" placeholder="请输入隐患情况描述" clearable></el-input>
+ </el-form-item>
+ </el-col>
+ <el-col :xs="24" :sm="24" :md="24" :lg="24" :xl="12" class="mb20">
+ <el-form-item label="隐患名称" prop="dangerCode">
+ <el-input class="analyseUnit_input" v-model.trim="dataForm.dangerCode" placeholder="请输入隐患名称" clearable></el-input>
+ </el-form-item>
+ </el-col>
+ <el-col :xs="24" :sm="24" :md="24" :lg="24" :xl="12" class="mb20">
+ <el-form-item label="隐患所属部门" prop="depId">
+ <el-select v-model="dataForm.depId" class="analyseUnit_input" placeholder="请选择所属部门">
+ <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-col :xs="24" :sm="24" :md="24" :lg="24" :xl="12" class="mb20">
+ <el-form-item label="生产装置" prop="produceDeviceId">
+ <el-select class="analyseUnit_input" v-model="dataForm.produceDeviceId" placeholder="请输入生产装置" clearable filterable @change="changeUnit">
+ <el-option v-for="item in allProduceDeviceData" :key="item.id" :label="item.produceDeviceName" :value="item.id"></el-option>
+ </el-select>
+ </el-form-item>
+ </el-col>
+ <el-col :xs="24" :sm="24" :md="24" :lg="24" :xl="12" class="mb20">
+ <el-form-item label="风险分析单元" prop="riskUnitId">
+ <el-select class="analyseUnit_input" v-model.trim="dataForm.riskUnitId" placeholder="请输入风险分析单元" clearable filterable>
+ <el-option v-for="item in safetyRiskUnitData" :key="item.id" :label="item.riskUnitName" :value="item.id"></el-option>
+ </el-select>
+ </el-form-item>
+ </el-col>
+ <el-col :xs="24" :sm="24" :md="24" :lg="24" :xl="12" class="mb20">
+ <el-form-item label="隐患来源" prop="dangerSource">
+ <el-select class="analyseUnit_input" v-model="dataForm.dangerSource" placeholder="请选择隐患来源" clearable filterable>
+ <el-option v-for="item in dangerSourceList" :key="item.id" :label="item.name" :value="item.id"></el-option>
+ </el-select>
+ </el-form-item>
+ </el-col>
- <el-form-item label="选择整改人:" prop="rectifier">
- <el-input v-model="dataForm.rectifier" readonly style="width: 205px" placeholder="请选择" >
+ <el-col :xs="24" :sm="24" :md="24" :lg="24" :xl="12" class="mb20">
+ <el-form-item label="隐患等级" prop="dangerLevel">
+ <el-select class="analyseUnit_input" v-model="dataForm.dangerLevel" placeholder="请选择隐患等级" clearable filterable>
+ <el-option v-for="item in dangerLevelList" :key="item.id" :label="item.name" :value="item.id"></el-option>
+ </el-select>
+ </el-form-item>
+ </el-col>
+ <el-col :xs="24" :sm="24" :md="24" :lg="24" :xl="12" class="mb20">
+ <el-form-item label="隐患类型" prop="dangerType">
+ <el-select class="analyseUnit_input" v-model="dataForm.dangerType" placeholder="请选择隐患类型" clearable filterable>
+ <el-option v-for="item in dangerTypeList" :key="item.id" :label="item.name" :value="item.id"></el-option>
+ </el-select>
+ </el-form-item>
+ </el-col>
+ <el-col :xs="24" :sm="24" :md="24" :lg="24" :xl="12" class="mb20">
+ <el-form-item label="隐患可能后果" prop="dangerResult">
+ <el-select class="analyseUnit_input" v-model="dataForm.dangerResult" placeholder="请选择隐患可能后果" clearable filterable>
+ <el-option v-for="item in dangerResultList" :key="item.id" :label="item.name" :value="item.id"></el-option>
+ </el-select>
+ </el-form-item>
+ </el-col>
+ <el-col :xs="24" :sm="24" :md="24" :lg="24" :xl="12">
+ <el-form-item label="隐患产生原因" prop="dangerReason">
+ <el-input class="analyseUnit_input" type="textarea" :rows="2" style="padding-bottom: 10px" v-model.trim="dataForm.dangerReason" placeholder="请输入隐患产生原因"></el-input>
+ </el-form-item>
+ </el-col>
+ <el-col :xs="24" :sm="24" :md="24" :lg="24" :xl="12" class="mb20">
+ <el-form-item label="整改类型" prop="rectifyType">
+ <el-select class="analyseUnit_input" v-model="dataForm.rectifyType" placeholder="请选择整改类型" clearable filterable>
+ <el-option v-for="item in rectifyTypeList" :key="item.id" :label="item.name" :value="item.id"></el-option>
+ </el-select>
+ </el-form-item>
+ </el-col>
+ <el-col :xs="24" :sm="24" :md="24" :lg="24" :xl="12" class="mb20">
+ <el-form-item label="整改期限" prop="rectifyTime">
+ <el-date-picker type="datetime" value-format="yyyy-MM-dd HH:mm:ss" class="analyseUnit_input" v-model="dataForm.rectifyTime" placeholder="请选择整改期限" clearable> </el-date-picker>
+ </el-form-item>
+ </el-col>
+ <el-col :xs="24" :sm="24" :md="24" :lg="24" :xl="12" class="mb20">
+ <el-form-item label="整改部门" prop="rectifyDepId">
+ <el-select v-model="dataForm.rectifyDepId" class="analyseUnit_input" @change="changeExec" placeholder="请选择所属部门" clearable filterable>
+ <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-col :xs="24" :sm="24" :md="24" :lg="24" :xl="12" class="mb20">
+ <el-form-item label="整改责任人" prop="liablePersonId">
+ <el-select class="analyseUnit_input" v-model="dataForm.liablePersonId" placeholder="请选择整改责任人" clearable filterable>
+ <el-option v-for="item in execUidList" :key="item.id" :label="item.realname" :value="item.id"></el-option>
+ </el-select>
+ </el-form-item>
+ </el-col>
- </el-input>
- <el-button style="margin-left: 10px;" type="primary"
- @click="showPersonSelect">选择
- </el-button>
- </el-form-item>
-
- <el-form-item label="整改措施:" prop="rectifymeasure">
- <el-input
- style="width: 400px"
- type="textarea"
- :rows="3"
- :disabled="isView"
- placeholder="请输入内容"
- v-model="dataForm.rectifymeasure">
- </el-input>
- </el-form-item>
- <el-form-item label="整改期限:" prop="rectifydeadline">
- <el-date-picker
- v-model="dataForm.rectifydeadline"
- type="datetime"
- format="yyyy-MM-dd HH:mm"
- :picker-options="pickerOptions"
- value-format="yyyy-MM-dd HH:mm"
- placeholder="选择日期时间">
- </el-date-picker>
- </el-form-item>
- <el-form-item label="上报说明:" prop="note">
- <el-input
- style="width: 400px"
- type="textarea"
- :rows="3"
- :disabled="isView"
- placeholder="请输入内容"
- v-model="dataForm.note">
- </el-input>
- </el-form-item>
-
- <el-form-item label="上报图片:" v-if="!isView">
- <el-upload
- ref="upload"
- :action="baseUrl"
- :auto-upload="false"
- :headers="headers"
- :on-change="handleChange"
- name="file"
- :file-list="fileList"
- list-type="picture-card"
- multiple
- >
- <i class="el-icon-plus"></i>
- </el-upload>
-
- </el-form-item>
-
- <el-form-item label="上报图片:" v-if="isView" >
- <el-image
- class="upload-img"
- v-for='item in imgUrls'
- :key='item.id'
- :src="item.url"
- :preview-src-list="imgPreviewUrls"
- style="width:100px;height: 100px;margin: 10px;"
- >
- </el-image>
- </el-form-item>
-
+ <el-col :xs="24" :sm="24" :md="24" :lg="24" :xl="12" class="mb20">
+ <el-form-item label="整改资金" prop="cost">
+ <el-input class="analyseUnit_input" type="number" v-model="dataForm.cost" placeholder="请选择整改资金"> </el-input>
+ </el-form-item>
+ </el-col>
+ <el-col :xs="24" :sm="24" :md="24" :lg="24" :xl="12">
+ <el-form-item label="整改措施" prop="rectifyDesc">
+ <el-input class="analyseUnit_input" type="textarea" :rows="2" style="padding-bottom: 10px" v-model.trim="dataForm.rectifyDesc" placeholder="请输入整改措施"></el-input>
+ </el-form-item>
+ </el-col>
+ </el-row>
</el-form>
- <div style="margin-top: 20px;margin-left: 140px;" class="dialog-footer" v-if="!isView">
+ <div align="right" class="dialog-footer" v-if="!isView">
<el-button @click="dialogFormVisible = false">取消</el-button>
<el-button type="primary" @click="trigger2Submit" :disabled="submiting">上报</el-button>
</div>
@@ -97,18 +131,58 @@
import personSelect from './personSelect'
import { hiddenDangerReport } from '@/api/hiddenDanger';
import {getToken} from "@/utils/auth";
+ import {modHiddenDangerReport} from "../../../../../../api/hiddenDanger";
export default {
name: "reportDialog",
data(){
return {
+ title:'',
baseUrl: process.env.BASE_API + 'hiddenDanger/report',
headers: {
'Authorization': getToken()
},
submiting:false,
- levels:[
- {"key":"URGENT","value":"重大隐患"},
- {"key":"COMMON","value":"一般隐患"},
+ departmentList: [],
+ userList: [],
+ execUidList:[],
+ allProduceDeviceData: [],
+ allSafetyRiskUnitData: [],
+ safetyRiskUnitData: [],
+ dangerLevelList: [
+ { id: 1, name: '一般隐患' },
+ { id: 2, name: '重大隐患' }
+ ],
+ dangerSourceList: [
+ { id: 1, name: '日常排查' },
+ { id: 2, name: '综合性排查' },
+ { id: 3, name: '专业性排查' },
+ { id: 4, name: '季节性排查' },
+ { id: 5, name: '重点时段及节假日前排查' },
+ { id: 6, name: '事故类比排查' },
+ { id: 7, name: '复产复工前排查' },
+ { id: 8, name: '外聘专家诊断式排查' },
+ { id: 9, name: '管控措施失效' },
+ { id: 10, name: '其他' }
+ ],
+ dangerResultList: [
+ { id: 1, name: '无' },
+ { id: 2, name: '轻伤' },
+ { id: 3, name: '重伤' },
+ { id: 4, name: '死亡' }
+ ],
+ dangerTypeList: [
+ { id: 1, name: '安全' },
+ { id: 2, name: '工艺' },
+ { id: 3, name: '电气' },
+ { id: 4, name: '仪表' },
+ { id: 5, name: '消防' },
+ { id: 6, name: '总图' },
+ { id: 7, name: '设备' },
+ { id: 8, name: '其他' }
+ ],
+ rectifyTypeList: [
+ { id: 1, name: '即查即改' },
+ { id: 2, name: '限期整改' }
],
pickerOptions:{
disabledDate(now){
@@ -117,19 +191,40 @@
},
fileList: [],
dataForm: {
- rectifydeadline:'',
- rectifymeasure:'',
- rectifier:'',
- rectifierid:'',
- note: '',
- level:''
+ dangerDesc: null,
+ dangerCode: null,
+ depId: null,
+ produceDeviceId: null,
+ riskUnitId: null,
+ dangerSource: null,
+ dangerLevel: null,
+ dangerType: null,
+ dangerReason: null,
+ dangerResult: null,
+ rectifyType: null,
+ rectifyDepId: null,
+ liablePersonId: null,
+ rectifyTime: null,
+ cost: null,
+ rectifyDesc: null
},
dataFormRules:{
- level: [{ required: true, message: '隐患级别不能为空', trigger: 'change' }],
- rectifier: [{ required: true, message: '整改人不能为空', trigger: 'change' }],
- rectifymeasure: [{ required: true, message: '整改措施不能为空', trigger: 'blur' }],
- rectifydeadline: [{ required: true, message: '整改期限不能为空', trigger: 'change' }],
- note: [{ required: true, message: '上报说明不能为空', trigger: 'blur' }],
+ dangerDesc: [{ required: true, message: '请填写隐患情况描述', trigger: 'blur' }],
+ dangerCode: [{ required: true, message: '请填写隐患名称', trigger: 'blur' }],
+ depId: [{ required: true, message: '请选择隐患所属部门', trigger: 'change' }],
+ produceDeviceId: [{ required: true, message: '请选择生产装置', trigger: 'change' }],
+ riskUnitId: [{ required: true, message: '请选择风险分析单元', trigger: 'change' }],
+ dangerSource: [{ required: true, message: '请选择隐患来源', trigger: 'change' }],
+ dangerLevel: [{ required: true, message: '请选择隐患等级', trigger: 'change' }],
+ dangerType: [{ required: true, message: '请选择隐患类型', trigger: 'change' }],
+ dangerReason: [{ required: true, message: '请填写隐患产生原因分析', trigger: 'blur' }],
+ dangerResult: [{ required: true, message: '请选择隐患可能后果', trigger: 'change' }],
+ rectifyType: [{ required: true, message: '请选择整改类型', trigger: 'change' }],
+ rectifyDepId: [{ required: true, message: '请选择整改单位', trigger: 'change' }],
+ liablePersonId: [{ required: true, message: '请选择整改责任人', trigger: 'change' }],
+ rectifyTime: [{ required: true, message: '请选择整改期限', trigger: 'change' }],
+ cost: [{ required: true, message: '请选择整改资金', trigger: 'blur' }],
+ rectifyDesc: [{ required: true, message: '请填写整改内容', trigger: 'blur' }]
},
dialogFormVisible: false,
isView:false,
@@ -141,57 +236,115 @@
methods:{
resetDataForm(){
this.dataForm = {
- rectifydeadline:'',
- rectifymeasure:'',
- rectifier:'',
- rectifierid:'',
- note: '',
- level:''
+ dangerDesc: null,
+ dangerCode: null,
+ depId: null,
+ produceDeviceId: null,
+ riskUnitId: null,
+ dangerSource: null,
+ dangerLevel: null,
+ dangerType: null,
+ dangerReason: null,
+ dangerResult: null,
+ rectifyType: null,
+ rectifyDepId: null,
+ liablePersonId: null,
+ rectifyTime: null,
+ cost: null,
+ rectifyDesc: null
}
},
- show(){
+ show(type, value, userList,departmentList, allProduceDeviceData, allSafetyRiskUnitData){
+ this.title = type
this.dialogFormVisible = true
- this.isView = false
- this.resetDataForm()
+ this.userList = JSON.parse(JSON.stringify(userList))
+ this.departmentList = departmentList;
+ this.allProduceDeviceData = JSON.parse(JSON.stringify(allProduceDeviceData));
+ this.allSafetyRiskUnitData = allSafetyRiskUnitData;
+ if(type === '新增'){
+ this.dataForm = {
+ dangerDesc: null,
+ dangerCode: null,
+ depId: null,
+ produceDeviceId: null,
+ riskUnitId: null,
+ dangerSource: null,
+ dangerLevel: null,
+ dangerType: null,
+ dangerReason: null,
+ dangerResult: null,
+ rectifyType: null,
+ rectifyDepId: null,
+ liablePersonId: null,
+ rectifyTime: null,
+ cost: null,
+ rectifyDesc: null
+ }
+ }else if(type === '修改'){
+ for( let key in this.dataForm){
+ this.dataForm[key] = JSON.parse(JSON.stringify(value))[key]
+ }
+ this.dataForm.id = JSON.parse(JSON.stringify(value)).id
+ }
+
},
trigger2Submit(){
this.$refs["dataForm"].validate(valid =>{
if(valid){
- this.submiting = true
- let formData = new FormData()
- formData.append('rectifier', this.dataForm.rectifier)
- formData.append("rectifierid",this.dataForm.rectifierid)
- formData.append("level",this.dataForm.level)
- formData.append("rectifymeasure",this.dataForm.rectifymeasure)
- formData.append("rectifydeadline",this.dataForm.rectifydeadline)
- formData.append("note",this.dataForm.note)
- this.fileList.forEach(file=>{
- formData.append("files",file.raw)
- })
- hiddenDangerReport(formData).then(res=>{
- if (res.data.code === '200') {
- this.dialogFormVisible = false
+ if(this.title === '新增'){
+ this.submiting = true
+ hiddenDangerReport(this.dataForm).then(res=>{
+ if (res.data.code === '200') {
+ this.dialogFormVisible = false
+ this.$message({
+ message: '创建成功',
+ type: 'success'
+ });
+ this.$emit("refresh")
+ }else{
+ this.$message({
+ message: res.data.message,
+ type: 'warning'
+ });
+ }
+ this.fileList = []
+ }).catch(err=>{
+ console.log(err)
this.$message({
- message: '创建成功',
- type: 'success'
- });
- this.$emit("refresh")
- }else{
- this.$message({
- message: res.data.message,
+ message: "接口错误,请联系管理员",
type: 'warning'
});
- }
- this.fileList = []
- }).catch(err=>{
- console.log(err)
- this.$message({
- message: "接口错误,请联系管理员",
- type: 'warning'
- });
- }).finally(()=>{
+ }).finally(()=>{
this.submiting = false
- })
+ })
+ }else{
+ this.submiting = true
+ modHiddenDangerReport(this.dataForm).then(res=>{
+ if (res.data.code === '200') {
+ this.dialogFormVisible = false
+ this.$message({
+ message: '修改成功',
+ type: 'success'
+ });
+ this.$emit("refresh")
+ }else{
+ this.$message({
+ message: res.data.message,
+ type: 'warning'
+ });
+ }
+ this.fileList = []
+ }).catch(err=>{
+ console.log(err)
+ this.$message({
+ message: "接口错误,请联系管理员",
+ type: 'warning'
+ });
+ }).finally(()=>{
+ this.submiting = false
+ })
+ }
+
}else{
this.$message({
type:'warning',
@@ -201,6 +354,20 @@
})
},
+
+ changeUnit() {
+ this.dataForm.riskUnitId = null;
+ this.safetyRiskUnitData = this.allSafetyRiskUnitData.filter((item) => item.produceDeviceId === this.dataForm.produceDeviceId);
+ },
+
+ changeExec(){
+ if(this.dataForm.rectifyDepId === '') {
+ this.execUidList = []
+ }
+ this.dataForm.liablePersonId = ''
+ this.execUidList = this.userList.filter ( item => item.department === this.dataForm.rectifyDepId)
+ },
+
showPersonSelect(){
this.$refs.selectPerson.show();
},
@@ -220,7 +387,16 @@
</script>
<style scoped>
-
+.basic_search{
+ display:inline-block;
+ padding-bottom: 10px;
+}
+.analyseUnit_input{
+ width:90%;
+}
+.analyseUnit_box{
+ width:200px;
+}
.el-picker-panel__footer .el-button--text.el-picker-panel__link-btn {
display: none;
}
diff --git a/src/views/doublePreventAction/hiddenDanger/hiddenDangerReform/report/index.vue b/src/views/doublePreventAction/hiddenDanger/hiddenDangerReform/report/index.vue
index 9eaf8b7..ed85ce3 100644
--- a/src/views/doublePreventAction/hiddenDanger/hiddenDangerReform/report/index.vue
+++ b/src/views/doublePreventAction/hiddenDanger/hiddenDangerReform/report/index.vue
@@ -1,51 +1,34 @@
<template>
<div class="app-container">
<div style="margin: 10px">
- <span class="span-filter-label">单号</span>
- <el-input style="width: 140px" v-model="filter.filter.code" ></el-input>
- <span class="span-filter-label">状态</span>
- <el-select
- v-model="filter.filter.status"
- class="filter-item"
- clearable
- @clear="clearStatus"
- style="width:150px;margin-bottom: 10px">
- <el-option
- v-for="item in reportStatus"
- :key="item.key"
- :label="item.value"
- :value="item.key">
- </el-option>
- </el-select>
- <span class="span-filter-label">隐患等级</span>
- <el-select v-model="filter.filter.level"
- clearable
- @clear="clearLevel"
- placeholder="请选择">
- <el-option
- v-for="item in levels"
- :key="item.key"
- :label="item.value"
- :value="item.key">
- </el-option>
- </el-select>
-
- <span class="span-filter-label">整改人</span>
- <el-input style="width: 160px" v-model="filter.filter.rectifierName"></el-input>
-
- <span class="span-filter-label">隐患来源</span>
- <el-select v-model="filter.filter.source" clearable placeholder="请选择">
- <el-option
- v-for="item in sources"
- :key="item.key"
- :label="item.value"
- :value="item.key">
- </el-option>
- </el-select>
+ <div class="basic_search">
+ <span>隐患等级:</span>
+ <el-select class="analyseUnit_box" v-model="filter.dangerLevel" placeholder="隐患等级" filterable clearable>
+ <el-option v-for="item in dangerLevelList" :key="item.id" :label="item.name" :value="item.id"></el-option>
+ </el-select>
+ </div>
+ <div class="basic_search">
+ <span>隐患来源:</span>
+ <el-select class="analyseUnit_box" v-model="filter.dangerSource" placeholder="隐患来源" filterable clearable>
+ <el-option v-for="item in dangerSourceList" :key="item.id" :label="item.name" :value="item.id"></el-option>
+ </el-select>
+ </div>
+ <div class="basic_search">
+ <span>隐患状态:</span>
+ <el-select class="analyseUnit_box" v-model="filter.dangerStatus" placeholder="隐患状态" filterable clearable>
+ <el-option v-for="item in dangerStatusList" :key="item.id" :label="item.name" :value="item.id"></el-option>
+ </el-select>
+ </div>
+ <div class="basic_search">
+ <span>隐患类型:</span>
+ <el-select class="analyseUnit_box" v-model="filter.dangerType" placeholder="隐患类型" filterable clearable>
+ <el-option v-for="item in dangerTypeList" :key="item.id" :label="item.name" :value="item.id"></el-option>
+ </el-select>
+ </div>
<el-button class="filter-item" style="margin-left: 10px;" type="primary"
- icon="el-icon-plus" @click="showCreateHandle">新增
+ icon="el-icon-plus" @click="showCreateHandle('新增', '')">新增
</el-button>
<el-button class="filter-item" style="margin-left: 10px;" type="primary" icon="el-icon-search"
@click="queryHandle"/>
@@ -60,41 +43,41 @@
highlight-current-row
style="width: 100%;"
>
- <el-table-column type="index" label="序号" align="center" width="80"/>
- <el-table-column label="单号" prop="code" align="center" />
- <el-table-column label="状态" prop="status" align="center" >
+ <el-table-column type="index" label="序号" width="60" />
+ <el-table-column prop="dangerDesc" label="隐患情况描述" show-overflow-tooltip min-width="150px"></el-table-column>
+ <el-table-column prop="produceDeviceName" label="生产装置名称" show-overflow-tooltip min-width="150px"></el-table-column>
+ <el-table-column prop="riskUnitName" label="风险分析单元名称" show-overflow-tooltip min-width="150px"></el-table-column>
+ <el-table-column prop="dangerSource" label="隐患来源" show-overflow-tooltip min-width="150px">
<template slot-scope="scope">
- <span >{{scope.row.status}}</span>
- <span v-if="new Date(scope.row.rectifydeadline) < new Date() && scope.row.status !== '已完成'" class="overdue-img">逾期</span>
+ {{ parseNumber(scope.row.dangerSource, '隐患来源') }}
</template>
</el-table-column>
- <el-table-column label="隐患等级" prop="level" align="center" >
+ <el-table-column prop="dangerLevel" label="隐患等级" show-overflow-tooltip min-width="150px" align="center">
<template slot-scope="scope">
- <el-tag :type="scope.row.level == '重大隐患'?'danger':'warning'">{{scope.row.level}}</el-tag>
+ <el-tag :type="scope.row.dangerLevel === 1 ? 'warning' : 'danger'">
+ {{ parseNumber(scope.row.dangerLevel, '隐患等级') }}
+ </el-tag>
</template>
</el-table-column>
- <el-table-column label="隐患来源" prop="source" align="center" >
+ <el-table-column prop="dangerType" label="隐患类型" show-overflow-tooltip min-width="150px">
<template slot-scope="scope">
- <span>{{sources.find(item=>item.key === scope.row.source).value}}</span>
+ {{ parseNumber(scope.row.dangerType, '隐患类型') }}
</template>
</el-table-column>
- <el-table-column label="上报人" prop="requestor" align="center" />
- <el-table-column label="上报时间" prop="createtime" align="center" />
- <el-table-column label="整改人" prop="rectifier" align="center" />
-
- <el-table-column label="整改期限" prop="rectifydeadline" align="center" >
+ <el-table-column prop="dangerReason" label="隐患产生原因分析" show-overflow-tooltip min-width="150px"></el-table-column>
+ <el-table-column prop="dangerResult" label="隐患可能导致后果" show-overflow-tooltip min-width="150px" align="center">
<template slot-scope="scope">
- <span v-bind:class="{'overdue':new Date(scope.row.rectifydeadline) < new Date() && scope.row.status !== '已完成'}">{{scope.row.rectifydeadline}}
- </span>
+ <el-tag :type="scope.row.dangerResult === 1 ? 'success' : scope.row.dangerResult === 2 ? 'info' : scope.row.dangerResult === 3 ? 'warning' : 'danger'"> {{ parseNumber(scope.row.dangerResult, '隐患可能导致后果') }}</el-tag>
</template>
</el-table-column>
- <el-table-column label="整改时间" prop="rectifytime" align="center" >
- </el-table-column>
- <el-table-column label="验收时间" prop="accepttime" align="center" >
- </el-table-column>
+ <el-table-column prop="createByUserName" label="创建人" show-overflow-tooltip min-width="150px"></el-table-column>
+ <el-table-column prop="gmtCreate" label="创建时间" show-overflow-tooltip min-width="200px"></el-table-column>
+ <el-table-column prop="lastEditUserName" label="最后修改人" show-overflow-tooltip min-width="150px"></el-table-column>
+ <el-table-column prop="gmtModitify" label="最后修改时间" show-overflow-tooltip min-width="200px"></el-table-column>
<el-table-column label="操作" align="center" width="240" class-name="small-padding fixed-width">
<template slot-scope="scope">
- <el-button type="text" @click="viewHandle(scope.row)">查看</el-button>
+ <el-button type="text" @click="showCreateHandle('修改', scope.row)">修改</el-button>
+ <el-button type="text" style="color: red" @click="deleteById(scope.row)">删除</el-button>
</template>
</el-table-column>
</el-table>
@@ -124,6 +107,11 @@
import {hiddenDangerReportList} from '@/api/hiddenDanger';
import reportView from '../components/reportView'
import reportDialog from './components/reportDialog'
+ import {getAllProductionDeviceList} from "../../../../../api/riskSource";
+ import {getAllSafetyRiskAnalyseUnitList} from "../../../../../api/riskLevelManage";
+ import {getDepartmentList} from "../../../../../api/departmentManage";
+ import {safetyInspectionItemName} from "../../../../../api/safetySelfInspection";
+ import {deleteHiddenDangerReport} from "../../../../../api/hiddenDanger";
export default {
name: "report",
@@ -137,20 +125,48 @@
tableKey: 0,
tableData:[],
listLoading: true,
- levels:[
- {"key":"URGENT","value":"重大隐患"},
- {"key":"COMMON","value":"一般隐患"},
+ departmentList: [],
+ dangerLevelList: [
+ { id: 1, name: '一般隐患' },
+ { id: 2, name: '重大隐患' }
],
- sources:[
- {"key":1,"value":"隐患上报"},
- {"key":2,"value":"巡检上报"},
+ dangerSourceList: [
+ { id: 1, name: '日常排查' },
+ { id: 2, name: '综合性排查' },
+ { id: 3, name: '专业性排查' },
+ { id: 4, name: '季节性排查' },
+ { id: 5, name: '重点时段及节假日前排查' },
+ { id: 6, name: '事故类比排查' },
+ { id: 7, name: '复产复工前排查' },
+ { id: 8, name: '外聘专家诊断式排查' },
+ { id: 9, name: '管控措施失效' },
+ { id: 10, name: '其他' }
],
- reportStatus:[
- {"key":"TORECTIFY","value":"待整改"},
- {"key":"TOACCEPT","value":"整改待验收"},
- {"key":"REJECTED","value":"驳回待整改"},
- {"key":"COMPLETED","value":"已完成"},
+ dangerStatusList: [
+ { id: 0, name: '整改中' },
+ { id: 1, name: '待验收' },
+ { id: 2, name: '延期整改' },
+ { id: 4, name: '超期未整改' },
+ { id: 9, name: '已验收' }
],
+ dangerTypeList: [
+ { id: 1, name: '安全' },
+ { id: 2, name: '工艺' },
+ { id: 3, name: '电气' },
+ { id: 4, name: '仪表' },
+ { id: 5, name: '消防' },
+ { id: 6, name: '总图' },
+ { id: 7, name: '设备' },
+ { id: 8, name: '其他' }
+ ],
+ dangerResultList: [
+ { id: 1, name: '无' },
+ { id: 2, name: '轻伤' },
+ { id: 3, name: '重伤' },
+ { id: 4, name: '死亡' }
+ ],
+ allProduceDeviceData: [],
+ allSafetyRiskUnitData: [],
dataForm: {
rectifydeadline:'',
rectifymeasure:'',
@@ -161,20 +177,22 @@
},
isSupervision: '',
filter:{
- pageIndex:1,
- pageSize:10,
- filter:{
- code:'',
- status:null,
- level:null,
- rectifierName:'',
- }
+ pageIndex: 1,
+ pageSize: 10,
+ dangerLevel: null,
+ dangerSource: null,
+ dangerStatus: null,
+ dangerType: null
},
}
},
created() {
this.hiddenDangerList();
+ this.getDepartmentData();
+ this.getUser();
+ this.getAllProduceDeviceData();
+ this.getAllSafetyRiskEventData();
},
methods: {
queryHandle: function () {
@@ -191,8 +209,8 @@
level:''
}
},
- showCreateHandle() {
- this.$refs.reportDialog.show()
+ showCreateHandle(type, value) {
+ this.$refs.reportDialog.show(type, value,this.userList, this.departmentList, this.allProduceDeviceData, this.allSafetyRiskUnitData)
},
viewHandle: function (row) {
this.$refs.reportView.showDialog("查看",row)
@@ -222,8 +240,8 @@
hiddenDangerReportList(this.filter)
.then(res=>{
if (res.data.code === '200') {
- this.tableData = res.data.result.records
- this.recordTotal = res.data.result.total
+ this.tableData = res.data.data
+ this.recordTotal = res.data.count
}
else{
this.$message({message: res.data.message, type: 'warning'});
@@ -239,12 +257,87 @@
},
-
- clearStatus(){
- this.filter.filter.status = null
+ async getUser(){
+ let res = await safetyInspectionItemName()
+ if(res.data.code === '200'){
+ this.userList = res.data.result
+ }else{
+ this.$message({
+ message:res.data.message,
+ type:'warning'
+ })
+ }
},
- clearLevel(){
- this.filter.filter.level = null
+
+ //获取生产装置列表
+ async getAllProduceDeviceData () {
+ let res = await getAllProductionDeviceList();
+ if (res.data.code === '200') {
+ this.allProduceDeviceData = JSON.parse(JSON.stringify(res.data.data));
+ } else {
+ ElMessage({
+ type: 'warning',
+ message: res.data.msg
+ });
+ }
+ },
+
+ // 获取安全风险分析单元数据
+ async getAllSafetyRiskEventData () {
+ let res = await getAllSafetyRiskAnalyseUnitList();
+ if (res.data.code === '200') {
+ this.allSafetyRiskUnitData = JSON.parse(JSON.stringify(res.data.data));
+ } else {
+ ElMessage({
+ type: 'warning',
+ message: res.data.msg
+ });
+ }
+ },
+
+ async getDepartmentData(){
+ let res = await getDepartmentList({pageSize:1000,pageIndex:1})
+ if(res.data.code === '200'){
+ this.departmentList = res.data.result.result
+ }else{
+ this.$message({
+ message:res.data.message,
+ type:'warning'
+ })
+ if(res.data.code === '50001'){
+ this.riskSourceData = []
+ }
+ }
+ },
+
+ deleteById(val){
+ this.$confirm('删除此条信息,是否继续','提示',{
+ confirmButtonText:'确定',
+ cancelButtonText:'取消',
+ type:'warning',
+ }).then(()=> {
+ deleteHiddenDangerReport({id:val.id}).then( ()=>{
+ this.hiddenDangerList()
+ this.$notify({
+ title:'成功',
+ message:'删除成功',
+ type:'success',
+ duration:2000,
+ })
+ })
+ })
+ },
+
+ parseNumber(value, type){
+ if (type === '隐患来源') {
+ return this.dangerSourceList.find((item) => item.id === value).name;
+ } else if (type === '隐患等级') {
+ return this.dangerLevelList.find((item) => item.id === value).name;
+ } else if (type === '隐患类型') {
+ return this.dangerTypeList.find((item) => item.id === value).name;
+ } else {
+ return this.dangerResultList.find((item) => item.id === value).name;
+ }
}
}
@@ -277,4 +370,14 @@
padding: 1px 3px 0 3px;
}
+ .basic_search{
+ display:inline-block;
+ padding-bottom: 10px;
+ }
+ .analyseUnit_input{
+ width:90%;
+ }
+ .analyseUnit_box{
+ width:200px;
+ }
</style>
diff --git a/src/views/doublePreventAction/hiddenDanger/inspectionRecord/components/detail.vue b/src/views/doublePreventAction/hiddenDanger/inspectionRecord/components/detail.vue
index 0e35e0b..95e6f17 100644
--- a/src/views/doublePreventAction/hiddenDanger/inspectionRecord/components/detail.vue
+++ b/src/views/doublePreventAction/hiddenDanger/inspectionRecord/components/detail.vue
@@ -1,332 +1,41 @@
<template>
<div class="app-container">
- <el-dialog title="巡检记录详情" :visible.sync="inspectionRecordFormVisible" append-to-body :close-on-click-modal="false" width="40%">
- <el-form ref="inspectionRecordForm" :model="inspectionRecordForm" label-position="right" label-width="120px" readonly>
- <el-row>
- <el-col :span="12">
- <el-form-item label="任务名称" prop="title">
- <el-input v-model="inspectionRecordForm.title" class="analyseUnit_input" readonly>
- </el-input>
- </el-form-item>
- </el-col>
- <el-col :span="12">
- <el-form-item label="检查类型" prop="type">
- <el-select v-model="inspectionRecordForm.type" class="analyseUnit_input" readonly>
- <el-option
- v-for="item in typeList"
- :key=item.id
- :label=item.name
- :value=item.id
- ></el-option>
- </el-select>
- </el-form-item>
- </el-col>
- </el-row>
- <el-row>
- <el-col :span="12">
- <el-form-item label="巡检人" prop="execUname">
- <el-input v-model="inspectionRecordForm.execUname" class="analyseUnit_input" readonly>
- </el-input>
- </el-form-item>
- </el-col>
- <el-col :span="12">
- <el-form-item label="任务状态" prop="status">
- <el-select v-model="inspectionRecordForm.status" class="analyseUnit_input" readonly>
- <el-option
- v-for="item in statusList"
- :key="item.id"
- :label="item.name"
- :value="item.id"
- >
- </el-option>
- </el-select>
- </el-form-item>
- </el-col>
- </el-row>
- <el-row>
- <el-col :span="12">
- <el-form-item label="巡检开始时间" prop="expTime">
- <el-date-picker v-model="inspectionRecordForm.expTime" value-format="yyyy-MM-dd HH:mm:ss" type="datetime" placeholder="巡检开始时间" class="analyseUnit_input" readonly></el-date-picker>
- </el-form-item>
- </el-col>
- <el-col :span="12">
- <el-form-item label="巡检结束时间" prop="endTime">
- <el-date-picker v-model="inspectionRecordForm.endTime" value-format="yyyy-MM-dd HH:mm:ss" type="datetime" placeholder="巡检结束时间" class="analyseUnit_input" readonly></el-date-picker>
- </el-form-item>
- </el-col>
- </el-row>
- <el-row>
- <el-col :span="12">
- <el-form-item label="巡检提交时间" prop="execTime">
- <el-date-picker v-model="inspectionRecordForm.execTime" value-format="yyyy-MM-dd HH:mm:ss" type="datetime" placeholder="巡检提交时间" class="analyseUnit_input" readonly></el-date-picker>
- </el-form-item>
- </el-col>
-
- </el-row>
- </el-form>
- </el-dialog>
- <el-dialog :title="titleDetail" :visible.sync="inspectionRecordDetailFormVisible" append-to-body :close-on-click-modal="false" width="500px">
- <el-form ref="inspectionRecordDetailForm" :rules="inspectionRecordDetailFormRules" :model="inspectionRecordDetailForm" label-position="right" label-width="120px">
- <el-row>
- <el-col :span="24">
- <el-form-item label="巡检结果" prop="result">
- <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"
- :label="item.name"
- :value="item.id"
- ></el-option>
- </el-select>
- </el-form-item>
- </el-col>
- </el-row>
- <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 noticeUserList"
- :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="24">
- <el-form-item label="整改时间" prop="fixTime">
- <el-date-picker placeholder="选择时间" v-model="inspectionRecordDetailForm.fixTime" class="input" value-format="yyyy-MM-dd HH:mm:ss" type="datetime" :disabled="ifShow"></el-date-picker>
- </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 fixUserList"
- :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="24">
- <el-form-item label="巡检结果备注" prop="info">
- <el-input type="textarea" :rows="3" v-model="inspectionRecordDetailForm.info" :disabled="ifShow" class="input">
- </el-input>
- </el-form-item>
- </el-col>
- </el-row>
- <el-row>
- <el-col :span="24">
- <el-form-item label="上报图片" prop="imgInfoList">
- <el-upload
- accept=".pdf,.jpg,.png"
- :action="fileRoad"
- class="upload-demo"
- ref="upload"
- :headers="header"
- :data="uploadForm"
- list-type="picture-card"
- :file-list="fileList"
- v-model="inspectionRecordDetailForm.imgInfoList"
- :on-change="handleChangeFile"
- :on-success="onFileSuccess"
- :multiple="false"
- :auto-upload="true">
- <i slot="default" class="el-icon-plus"></i>
- <div slot="file" slot-scope="{file}">
- <img
- class="el-upload-list__item-thumbnail"
- :src="file.url" alt=""
- >
- <span class="el-upload-list__item-actions">
- <span
- class="el-upload-list__item-preview"
- @click="handleFile(file)"
- >
- <i class="el-icon-zoom-in"></i>
- </span>
- <span
- v-if="!disabled"
- class="el-upload-list__item-delete"
- @click="handleRemove(file,'one')"
- >
- <i class="el-icon-delete"></i>
- </span>
- </span>
- </div>
- </el-upload>
- </el-form-item>
- </el-col>
- </el-row>
+ <el-dialog title="查看" :visible.sync="isShowRecordDialog" append-to-body :close-on-click-modal="false" width="600px">
+ <div class="record-form">
+ <el-form :model="recordForm" ref="recordFormRef" size="default" label-width="100px">
+ <el-row :gutter="35">
+ <el-col :xs="24" :sm="24" :md="24" :lg="24" :xl="24" class="mb20">
+ <el-form-item label="检查内容" prop="checkContent">
+ <el-input class="analyseUnit_input" type="textarea" :rows="3" v-model.trim="recordForm.checkContent" placeholder="检查内容"> </el-input>
+ </el-form-item>
+ </el-col>
+ </el-row>
+ </el-form>
</div>
- <div v-if="ifLook">
- <el-row>
- <el-col :span="24">
- <el-form-item label="异常通知部门" prop="noticeDepId">
- <el-select v-model="inspectionRecordDetailForm.problem.noticeDepId" filterable clearable class="input" @change="changeDepartment('notice')" readonly>
- <el-option
- v-for="item in departmentList"
- :key="item.id"
- :value="item.id"
- :label="item.department"
- ></el-option>
+ </el-dialog>
+ <el-dialog title="提交" :visible.sync="isShowSubmitDialog" width="600px">
+ <el-form :model="submitForm" ref="rectifyFormRef" size="default" label-width="120px">
+ <el-row :gutter="35">
+ <el-col :xs="24" :sm="24" :md="24" :lg="24" :xl="24" class="mb20">
+ <el-form-item label="处理结果" prop="checkResult">
+ <el-select class="analyseUnit_input" v-model="checkResults.checkResult" placeholder="请输入处理结果">
+ <el-option v-for="item in resultList" :label="item.name" :key="item.id" :value="item.id"></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.problem.noticeUid" clearable filterable readonly class="input">
- <el-option
- v-for="item in noticeUserList"
- :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="24">
- <el-form-item label="整改时间" prop="fixTime">
- <el-date-picker placeholder="选择时间" v-model="inspectionRecordDetailForm.problem.fixTime" class="input" value-format="yyyy-MM-dd HH:mm:ss" type="datetime" readonly></el-date-picker>
- </el-form-item>
- </el-col>
- </el-row>
- <el-row>
- <el-col :span="24">
- <el-form-item label="异常整改部门" prop="fixDepId">
- <el-select v-model="inspectionRecordDetailForm.problem.fixDepId" filterable clearable class="input" readonly>
- <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.problem.fixUid" clearable filterable readonly class="input">
- <el-option
- v-for="item in fixUserList"
- :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="24">
- <el-form-item label="巡检结果备注" prop="info" >
- <el-input type="textarea" :rows="3" v-model="inspectionRecordDetailForm.problem.info" aria-readonly="true" class="input">
- </el-input>
- </el-form-item>
- </el-col>
- </el-row>
- <el-row>
- <el-col :span="24">
- <el-form-item label="上报图片" prop="imgInfoList">
- <el-upload
- accept=".pdf,.jpg,.png"
- :action="fileRoad"
- class="upload-demo"
- ref="upload"
- :headers="header"
- :data="uploadForm"
- list-type="picture-card"
- :file-list="fileList"
- v-model="inspectionRecordDetailForm.imgInfoList"
- :on-change="handleChangeFile"
- :on-success="onFileSuccess"
- :auto-upload="true">
- <i slot="default" class="el-icon-plus"></i>
- <div slot="file" slot-scope="{file}">
- <img
- class="el-upload-list__item-thumbnail"
- :src="file.url" alt=""
- >
- <span class="el-upload-list__item-actions">
- <span
- class="el-upload-list__item-preview"
- @click="handleFile(file)"
- >
- <i class="el-icon-zoom-in"></i>
- </span>
- <span
- v-if="!disabled"
- class="el-upload-list__item-delete"
- @click="handleRemove(file,'one')"
- >
- <i class="el-icon-delete"></i>
- </span>
- </span>
- </div>
- </el-upload>
- </el-form-item>
- </el-col>
- </el-row>
+ </el-form>
+ <div align="right" class="dialog-footer">
+ <el-button @click="isShowSubmitDialog = !isShowSubmitDialog" size="default">取 消</el-button>
+ <el-button type="primary" @click="submitRecord" size="default">确 定</el-button>
</div>
- <div style="text-align: center" v-show="ifConfirm">
- <el-button @click="inspectionRecordDetailFormVisible = false">取消</el-button>
- <el-button type="primary" @click="submitInspectionRecordDetail()">确认</el-button>
- </div>
- </el-form>
- </el-dialog>
- <el-dialog :visible.sync="dialogVisible" :append-to-body="true">
- <img width="100%" :src="dialogImageUrl" alt="">
- </el-dialog>
+ </el-dialog>
</div>
</template>
<script>
import Cookies from "js-cookie";
- import {submitUnitOne} from "../../../../../api/inspectionTask";
+ import {submitTaskRecord, submitUnitOne} from "../../../../../api/inspectionTask";
export default {
name: "detail",
@@ -384,56 +93,85 @@
fixUserList:[],
departmentList:[],
fileList:[],
- 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:'已取消'}],
+ isShowSubmitDialog: false,
+ isShowRecordDialog: false,
+ recordForm: {
+ taskCode: null,
+ checkContent: null,
+ checkResult: null,
+ checkTaskId: null,
+ classify1: null,
+ classify2: null,
+ classify3: null,
+ controlMeasureCode: null,
+ controlMeasureId: null,
+ controlType: null,
+ measureDesc: null
+ },
+ submitForm: {
+ id: null,
+ execUserId: null,
+ checkResults: []
+ },
+ checkResults: {
+ id: null,
+ controlMeasureId: null,
+ checkResult: null
+ },
+ resultList: [
+ { id: 1, name: '正常' },
+ { id: 2, name: '不正常' }
+ ]
}
},
components:{
},
methods:{
- showInspectionRecordForm(value) {
- this.inspectionRecordFormVisible = true
- this.inspectionRecordForm = JSON.parse(JSON.stringify(value))
+ showInspectionRecordForm(type,value) {
+ debugger
+ if (type === '查看') {
+ this.isShowRecordDialog = true;
+ let recordFormValue = JSON.parse(JSON.stringify(value));
+ this.recordForm.taskCode = recordFormValue.taskCode;
+ this.recordForm.checkContent = recordFormValue.checkContent;
+ } else {
+ this.title = '提交';
+ this.isShowSubmitDialog = true;
+ this.submitForm.id = JSON.parse(JSON.stringify(value)).checkTaskId;
+ this.checkResults.id = JSON.parse(JSON.stringify(value)).id;
+ this.checkResults.controlMeasureId = JSON.parse(JSON.stringify(value)).controlMeasureId;
+ }
+
},
- showInspectionRecordDetailForm(value,type,userList,departmentList) {
- this.inspectionRecordDetailFormVisible = true
- this.$nextTick(() =>{
- this.$refs["inspectionRecordDetailForm"].clearValidate()
- })
- this.userList = userList
- this.departmentList = departmentList
- if(type === '查看'){
- this.titleDetail = '查看单元上报'
- this.ifNormal = false
- this.ifLook = true
- this.ifConfirm = false
- this.inspectionRecordDetailForm = JSON.parse(JSON.stringify(value))
- if(this.inspectionRecordDetailForm.problem.imageInfoList === null){
- this.fileList = []
- }else{
- this.fileList = this.inspectionRecordDetailForm.problem.imageInfoList.map( item => { return { url : process.env.IMG_API + item.imgPath}})
+
+ async submitRecord(){
+ if (this.checkResults.checkResult !== null) {
+
+ this.submitForm.checkResults.push(this.checkResults);
+ let res = await submitTaskRecord(this.submitForm);
+ if (res.data.code === '200') {
+ this.$message({
+ type: 'success',
+ message: '排查记录提交成功',
+ duration: 2000
+ });
+ this.isShowSubmitDialog = false;
+ this.$emit('refreshRecord');
+ } else {
+ this.$message({
+ type: 'warning',
+ message: res.data.msg
+ });
+
}
- }else{
- this.titleDetail = '巡检单元上报'
- this.ifShow = false
- this.ifNormal = false
- this.ifLook = false
- this.ifConfirm = true
- this.inspectionRecordDetailForm = {
- execUid: Cookies.get('userId'),
- fixTime: null,
- fixUid: null,
- imgInfoList: [],
- info: null,
- noticeUid: null,
- result: null,
- fixDepId:null,
- noticeDepId:null,
- taskId: value.taskId,
- unitId: value.id
- }
+ } else {
+ this.$message({
+ type: 'warning',
+ message: '请完善基本信息'
+ });
}
},
submitInspectionRecordDetail() {
@@ -547,4 +285,14 @@
.input{
width:300px;
}
+.basic_search{
+ display:inline-block;
+ padding-bottom: 10px;
+}
+.analyseUnit_input{
+ width:90%;
+}
+.analyseUnit_box{
+ width:200px;
+}
</style>
diff --git a/src/views/doublePreventAction/hiddenDanger/inspectionRecord/index.vue b/src/views/doublePreventAction/hiddenDanger/inspectionRecord/index.vue
index 95b83e9..3338837 100644
--- a/src/views/doublePreventAction/hiddenDanger/inspectionRecord/index.vue
+++ b/src/views/doublePreventAction/hiddenDanger/inspectionRecord/index.vue
@@ -2,136 +2,76 @@
<div class="app-container">
<div class="filter-container">
<div class="basic_search">
- <span>开始时间:</span>
- <el-date-picker v-model="listQuery.startTime" value-format="yyyy-MM-dd HH:mm:ss" type="datetime" placeholder="巡检开始时间"></el-date-picker>
+ <span>排查结果:</span>
+ <el-select class="analyseUnit_box" v-model="listQuery.result" placeholder="排查结果" filterable clearable>
+ <el-option v-for="item in resultList" :key="item.id" :label="item.name" :value="item.id"></el-option>
+ </el-select>
</div>
<div class="basic_search">
- <span>结束时间:</span>
- <el-date-picker v-model="listQuery.endTime" value-format="yyyy-MM-dd HH:mm:ss" type="datetime" placeholder="巡检结束时间"></el-date-picker>
+ <span>排查任务状态:</span>
+ <el-select class="analyseUnit_box" v-model="listQuery.taskStatus" placeholder="排查任务状态" filterable clearable>
+ <el-option v-for="item in taskStatusList" :key="item.id" :label="item.name" :value="item.id"></el-option>
+ </el-select>
</div>
<div class="basic_search">
<span>任务类型:</span>
- <el-select v-model="listQuery.type">
- <el-option
- v-for="item in typeList"
- :key="item.id"
- :value="item.id"
- :label="item.name"
- ></el-option>
- </el-select>
- </div>
- <div class="basic_search">
- <span>任务单元状态列表:</span>
- <el-select v-model="listQuery.statusList" filterable clearable multiple>
- <el-option
- v-for="item in statusListList"
- :key="item.id"
- :value="item.id"
- :label="item.name"
- ></el-option>
- </el-select>
- </div>
- <div class="basic_search">
- <span>巡检任务创建人员:</span>
- <el-select v-model="listQuery.createUid" 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" filterable clearable>
- <el-option
- v-for="item in userList"
- :key="item.id"
- :value="item.id"
- :label="item.realname"
- ></el-option>
+ <el-select class="analyseUnit_box" v-model="listQuery.taskType" placeholder="任务类型" filterable clearable>
+ <el-option v-for="item in taskTypeList" :key="item.id" :label="item.name" :value="item.id"></el-option>
</el-select>
</div>
<el-button class="filter-item" style="margin-left: 10px;margin-top: 10px" type="primary" icon="el-icon-refresh" @click="refreshHandle">搜索</el-button>
</div>
<div class="table_content">
- <el-table
- v-loading="listLoading"
- :key="tableKey"
- :data="inspectionRecordData"
- border
- fit
- highlight-current-row
- style="width: 100%;"
- >
+ <el-table :data="inspectionRecordData" style="width: 100%">
<el-table-column type="expand">
<template slot-scope="scope">
- <el-table
- v-loading="listLoading"
- :key="tableKey"
- :data="scope.row.unitList"
- border
- fit
- highlight-current-row
- style="width: 100%;"
- >
- <el-table-column label="序号" type="index" width="150" align="center">
- </el-table-column>
- <el-table-column label="隐患排查内容" prop="content" align="center">
- </el-table-column>
- <el-table-column label="上报说明" prop="info" align="center">
- </el-table-column>
- <el-table-column label="上报照片" prop="img" align="center">
+ <el-table :data="scope.row.checkContent" style="width: 100%">
+ <el-table-column label="序号" type="index" width="150" align="center"> </el-table-column>
+ <el-table-column label="检查内容" prop="checkContent" align="center"> </el-table-column>
+ <el-table-column label="检查结果" prop="checkResult" align="center">
<template slot-scope="scope">
- <el-button type="text" @click="downloadFile(scope.row)">下载</el-button>
- </template>
- </el-table-column>
- <el-table-column label="状态" prop="status" align="center">
- <template slot-scope="scope">
- {{ scope.row.status | parseUnitStatus}}
+ <el-tag :type="scope.row.checkResult === 1 ? 'success' : scope.row.checkResult === 2 ? 'danger' : 'info'">
+ {{ parseNumber(scope.row.checkResult, '检查结果') }}
+ </el-tag>
</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="showInspectionRecordDetailForm(scope.row,'上报')" v-show="scope.row.status === 1">上报</el-button>
- <el-button type="text" @click="showInspectionRecordDetailForm(scope.row,'查看')">查看</el-button>
+ <el-button size="small" type="text" @click="onOpenDialogRef('查看', scope.row)">查看</el-button>
+ <el-button size="small" type="text" @click="onOpenDialogRef('提交', scope.row)">提交</el-button>
</template>
</el-table-column>
</el-table>
</template>
</el-table-column>
- <el-table-column label="任务名称" prop="title" align="center">
+ <el-table-column type="index" label="序号" width="60" />
+ <el-table-column prop="taskCode" label="排查名称" show-overflow-tooltip></el-table-column>
+ <el-table-column prop="execDep" label="执行部门" show-overflow-tooltip>
</el-table-column>
- <el-table-column label="检查类型" prop="type" align="center">
+ <el-table-column prop="taskStatus" label="状态" show-overflow-tooltip>
<template slot-scope="scope">
- {{ scope.row.type | parseType}}
+ {{ parseNumber(scope.row.taskStatus, '状态') }}
</template>
</el-table-column>
- <el-table-column label="巡检人" prop="execUname" align="center">
- </el-table-column>
- <el-table-column label="巡检开始时间" prop="expTime" align="center">
- </el-table-column>
- <el-table-column label="巡检结束时间" prop="endTime" align="center">
- </el-table-column>
- <el-table-column label="巡检提交时间" prop="execTime" align="center">
- </el-table-column>
- <el-table-column label="任务状态" prop="status" align="center">
- <template slot-scope="scope">
- {{ scope.row.status | parseStatusList}}
+ <el-table-column prop="taskBelong" label="是否认领" show-overflow-tooltip>
+ <template slot-scope="scope">
+ {{ parseNumber(scope.row.taskBelong, '认领状态') }}
</template>
</el-table-column>
+ <el-table-column prop="createUserName" label="创建人" show-overflow-tooltip></el-table-column>
+ <el-table-column prop="gmtCreate" label="创建时间" show-overflow-tooltip></el-table-column>
+ <el-table-column prop="lastEditUserName" label="最后修改人" show-overflow-tooltip></el-table-column>
+ <el-table-column prop="gmtModitify" label="最后修改时间" show-overflow-tooltip></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="submitInspectionRecordForm(scope.row,'上报')">提交</el-button>
- <el-button type="text" @click="showInspectionRecordForm(scope.row,'查看')">查看</el-button>
+ <el-button type="text" v-show="(scope.row.taskStatus === 1 || scope.row.taskStatus === 4) && scope.row.taskBelong === 1" @click="onHandleTask(scope.row)">任务认领</el-button>
</template>
</el-table-column>
</el-table>
<br>
<el-pagination
v-show="recordTotal>0"
- :current-page="listQuery.page"
+ :current-page="listQuery.pageIndex"
:page-sizes="[10, 20, 30, 50]"
:page-size="listQuery.pageSize"
:total="recordTotal"
@@ -143,7 +83,7 @@
/>
<br>
</div>
- <detail ref="detail" @getList="getInspectionRecordData"></detail>
+ <detail ref="detail" @refreshRecord="getInspectionRecordData"></detail>
</div>
</template>
@@ -155,9 +95,8 @@
import { getInspectionRecord } from '@/api/inspectionTask'
import {getAllDepartment, getDepartmentList} from "../../../../api/departmentManage";
import {safetyInspectionItemName} from "../../../../api/safetySelfInspection";
- import {submitTask} from "../../../../api/inspectionTask";
+ import {deleteInspectionTask, submitTask, taskToUser} from "../../../../api/inspectionTask";
export default {
- components: { detail },
name: 'index',
filters: {
parseType(type){
@@ -208,6 +147,27 @@
userList:[],
typeList:[{id:1,name:'日常检查'},{id:2,name:'周期检查'}],
statusListList:[{id:1,name:'待巡检'},{id:2,name:'巡检中'},{id:3,name:'已完成'},{id:4,name:'超时未巡检'},{id:5,name:'已取消'}],
+ resultList: [
+ { id: 1, name: '正常' },
+ { id: 2, name: '存在隐患' },
+ { id: 3, name: '未排查' },
+ { id: 4, name: '其他' }
+ ],
+ checkResultList: [
+ { id: 1, name: '正常' },
+ { id: 2, name: '异常' },
+ { id: 3, name: '未处理' }
+ ],
+ taskStatusList: [
+ { id: 1, name: '待排查' },
+ { id: 2, name: '已完成' },
+ { id: 3, name: '超时未排查' },
+ { id: 4, name: '排查中' }
+ ],
+ taskTypeList: [
+ { id: 1, name: '周期任务' },
+ { id: 2, name: '日常任务' }
+ ],
listLoading: false,
pageSize: 10,
recordTotal: 0,
@@ -220,16 +180,11 @@
},
listQuery:{
- createUid: null,
- endTime: null,
- execUid: null,
- execUname: null,
- page: 1,
- pageSize: 10,
- result: null,
- startTime: null,
- statusList: null,
- type: null
+ pageIndex: 1,
+ pageSize: 10,
+ result: null,
+ taskStatus: null,
+ taskType: null
},
}
},
@@ -246,8 +201,8 @@
this.listLoading = true
let res = await getInspectionRecord(this.listQuery)
if(res.data.code === '200'){
- this.recordTotal = JSON.parse(res.data.message).total
- this.inspectionRecordData = res.data.result
+ this.recordTotal = res.data.count
+ this.inspectionRecordData = res.data.data
}else{
this.$message({
message:res.data.message,
@@ -278,8 +233,36 @@
})
}
},
- showInspectionRecordForm(value){
- this.$refs.detail.showInspectionRecordForm(value)
+
+ onHandleTask(val){
+
+ this.$confirm('此操作将认领该任务,是否继续','提示',{
+ confirmButtonText:'确定',
+ cancelButtonText:'取消',
+ type:'warning',
+ }).then(()=> {
+ taskToUser({ id: val.id }).then( (res)=>{
+ if(res.data.code === '200'){
+ this.getInspectionRecordData()
+ this.$notify({
+ title:'成功',
+ message:'认领成功',
+ type:'success',
+ duration:2000,
+ })
+ }else{
+ this.$message({
+ type:'warning',
+ message:res.data.message
+ })
+ }
+ })
+ })
+
+ },
+
+ onOpenDialogRef(type,value){
+ this.$refs.detail.showInspectionRecordForm(type,value)
},
showInspectionRecordDetailForm(value,type) {
this.$refs.detail.showInspectionRecordDetailForm(value,type,this.userList,this.departmentList)
@@ -327,6 +310,21 @@
}
}
},
+
+ parseNumber(value, type) {
+ if (type === '状态') {
+ return this.taskStatusList.find((item) => item.id === value).name;
+ }else if (type === '检查结果') {
+ return this.checkResultList.find((item) => item.id === value).name;
+ } else {
+ if (value === 1) {
+ return '未认领';
+ } else {
+ return '已认领';
+ }
+ }
+ },
+
refreshHandle(){
this.getInspectionRecordData()
},
@@ -335,7 +333,7 @@
this.getInspectionRecordData()
},
handleCurrentChange(val){
- this.listQuery.page = val
+ this.listQuery.pageIndex = val
this.getInspectionRecordData()
},
}
@@ -348,6 +346,9 @@
padding-left: 10px;
}
.analyseUnit_input{
+ width:90%;
+ }
+ .analyseUnit_box{
width:200px;
}
</style>
diff --git a/src/views/doublePreventAction/hiddenDanger/inspectionTask/index.vue b/src/views/doublePreventAction/hiddenDanger/inspectionTask/index.vue
index 60e93a7..ef8af35 100644
--- a/src/views/doublePreventAction/hiddenDanger/inspectionTask/index.vue
+++ b/src/views/doublePreventAction/hiddenDanger/inspectionTask/index.vue
@@ -2,67 +2,20 @@
<div class="app-container">
<div class="filter-container">
<div class="basic_search">
- <span>巡检开始时间:</span>
- <el-date-picker v-model="listQuery.startTime" value-format="yyyy-MM-dd HH:mm:ss" type="datetime" placeholder="巡检开始时间"></el-date-picker>
- </div>
- <div class="basic_search">
- <span>巡检结束时间:</span>
- <el-date-picker v-model="listQuery.startTime" value-format="yyyy-MM-dd HH:mm:ss" type="datetime" placeholder="巡检结束时间"></el-date-picker>
- </div>
- <div class="basic_search">
- <span>巡检任务类型:</span>
- <el-select v-model="listQuery.type">
- <el-option
- v-for="item in typeList"
- :key="item.id"
- :value="item.id"
- :label="item.name"
- ></el-option>
+ <span>排查作业类型:</span>
+ <el-select class="analyseUnit_box" v-model="listQuery.checkWorkType" placeholder="排查作业类型" filterable clearable>
+ <el-option v-for="item in checkWorkTypeList" :key="item.id" :label="item.name" :value="item.id"></el-option>
</el-select>
</div>
<div class="basic_search">
- <span>巡检任务状态:</span>
- <el-select v-model="listQuery.status" clearable>
- <el-option
- v-for="item in statusList"
- :key="item.id"
- :value="item.id"
- :label="item.name"
- ></el-option>
+ <span>排查作业状态:</span>
+ <el-select class="analyseUnit_box" v-model="listQuery.checkWorkStatus" placeholder="排查作业状态" filterable clearable>
+ <el-option v-for="item in checkWorkStatusList" :key="item.id" :label="item.name" :value="item.id"></el-option>
</el-select>
</div>
<div class="basic_search">
- <span>巡检任务创建人员:</span>
- <el-select v-model="listQuery.createUid" 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.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" filterable clearable>
- <el-option
- v-for="item in userList"
- :key="item.id"
- :value="item.id"
- :label="item.realname"
- ></el-option>
- </el-select>
+ <span>排查作业名称:</span>
+ <el-input class="analyseUnit_box" v-model="listQuery.checkWorkName" placeholder="排查作业名称" clearable> </el-input>
</div>
<el-button class="filter-item" style="margin-left: 10px;margin-top: 10px" type="primary" icon="el-icon-refresh" @click="refreshHandle">搜索</el-button>
<el-button class="filter-item" style="margin-left: 10px;margin-top: 10px" type="primary" icon="el-icon-plus" @click="showAnalyseUnitForm('','新增')">新增</el-button>
@@ -78,54 +31,61 @@
highlight-current-row
style="width: 100%;"
>
- <el-table-column label="任务名称" prop="title" align="center">
- </el-table-column>
- <el-table-column label="检查类型" prop="type" align="center">
+ <el-table-column type="index" label="序号" width="60" />
+ <el-table-column prop="checkWorkName" label="排查名称" show-overflow-tooltip></el-table-column>
+ <el-table-column prop="checkWorkType" label="排查类型" show-overflow-tooltip>
<template slot-scope="scope">
- <div v-for="item in typeList">
- <div v-show="item.id === scope.row.type">
- {{ item.name }}
- </div>
- </div>
+ {{ parseNumber(scope.row.checkWorkType, '排查类型') }}
</template>
</el-table-column>
- <el-table-column label="检查频次(小时)" prop="intervalSeconds" align="center">
+ <el-table-column prop="taskUnitName" label="任务单元" show-overflow-tooltip></el-table-column>
+ <el-table-column prop="execDep" label="执行部门" show-overflow-tooltip>
+ </el-table-column>
+ <el-table-column prop="checkCycle" label="排查周期" show-overflow-tooltip>
<template slot-scope="scope">
- {{ scope.row.intervalSeconds | parseHours}}
+ <span>
+ {{ scope.row.checkCycle }}
+ </span>
+ <span>
+ {{ parseNumber(scope.row.checkCycleUnit, '排查周期') }}
+ </span>
</template>
</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="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">
+ <el-table-column prop="validTime" label="有效时间" show-overflow-tooltip>
<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>
+ <span>
+ {{ scope.row.validTime }}
+ </span>
+ <span>
+ {{ parseNumber(scope.row.validTimeUnit, '排查周期') }}
+ </span>
</template>
</el-table-column>
+ <el-table-column prop="validTime" label="提醒时间" show-overflow-tooltip>
+ <template slot-scope="scope">
+ <span>
+ {{ scope.row.noticeTime }}
+ </span>
+ <span>
+ {{ parseNumber(scope.row.noticeTimeUnit, '排查周期') }}
+ </span>
+ </template>
+ </el-table-column>
+ <el-table-column prop="createByUserName" label="创建人" show-overflow-tooltip></el-table-column>
+ <el-table-column prop="gmtCreate" label="创建时间" show-overflow-tooltip></el-table-column>
+ <el-table-column prop="lastEditUserName" label="最后修改人" show-overflow-tooltip></el-table-column>
+ <el-table-column prop="gmtModitify" label="最后修改时间" show-overflow-tooltip></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="listQuery.page"
+ :current-page="listQuery.pageIndex"
:page-sizes="[10, 20, 30, 50]"
:page-size="listQuery.pageSize"
:total="recordTotal"
@@ -145,123 +105,76 @@
<div class="inspectionTask_form">
<el-form ref="inspectionTaskForm" :rules="inspectionTaskFormRules" :model="inspectionTaskForm" label-position="right" label-width="120px">
- <el-row>
- <el-col :span="12">
- <el-form-item label="任务名称" prop="title">
- <el-input v-model="inspectionTaskForm.title" class="analyseUnit_input">
- </el-input>
+ <el-row :gutter="35">
+ <el-col :xs="24" :sm="24" :md="24" :lg="24" :xl="12" class="mb20">
+ <el-form-item label="排查类型" prop="checkWorkType">
+ <el-select class="analyseUnit_input" v-model="inspectionTaskForm.checkWorkType" placeholder="请输入排查类型" clearable> <el-option v-for="item in checkWorkTypeList" :key="item.id" :label="item.name" :value="item.id"></el-option></el-select>
</el-form-item>
</el-col>
- <el-col :span="12">
- <el-form-item label="巡检任务类型" prop="type">
- <el-select v-model="inspectionTaskForm.type" class="analyseUnit_input" :disabled="ifShow">
- <el-option
- v-for="item in typeList"
- :key="item.id"
- :value="item.id"
- :label="item.name"
- ></el-option>
+ <el-col :xs="24" :sm="24" :md="24" :lg="24" :xl="12" class="mb20">
+ <el-form-item label="排查名称" prop="checkWorkName">
+ <el-input class="analyseUnit_input" v-model.trim="inspectionTaskForm.checkWorkName" placeholder="请输入排查名称" clearable></el-input>
+ </el-form-item>
+ </el-col>
+
+ <el-col :xs="24" :sm="24" :md="24" :lg="24" :xl="12" class="mb20">
+ <el-form-item label="排查周期" prop="checkCycle">
+ <el-input class="analyseUnit_input" type="number" v-model.trim="inspectionTaskForm.checkCycle" placeholder="请输入排查周期" clearable></el-input>
+ </el-form-item>
+ </el-col>
+ <el-col :xs="24" :sm="24" :md="24" :lg="24" :xl="12" class="mb20">
+ <el-form-item label="时间单位" prop="checkCycleUnit">
+ <el-select class="analyseUnit_input" v-model="inspectionTaskForm.checkCycleUnit" placeholder="请输入时间单位" clearable>
+ <el-option v-for="item in timeType" :key="item.id" :label="item.name" :value="item.id"></el-option>
</el-select>
</el-form-item>
</el-col>
- </el-row>
- <el-row>
- <el-col :span="12">
- <el-form-item label="周期开始时间" prop="startTime">
- <el-date-picker v-model="inspectionTaskForm.startTime" value-format="yyyy-MM-dd HH:mm:ss" type="datetime" placeholder="周期开始时间" class="analyseUnit_input"></el-date-picker>
+ <el-col :xs="24" :sm="24" :md="24" :lg="24" :xl="12" class="mb20">
+ <el-form-item label="有效时间" prop="validTime">
+ <el-input class="analyseUnit_input" type="number" v-model.trim="inspectionTaskForm.validTime" placeholder="请输入有效时间" clearable></el-input>
</el-form-item>
</el-col>
- <el-col :span="12">
- <el-form-item label="检查频次" prop="intervalSeconds">
- <el-select v-model="inspectionTaskForm.intervalSeconds" class="analyseUnit_input">
- <el-option
- v-for="item in intervalSecondsList"
- :key="item.id"
- :label="item.name"
- :value="item.id"
- >
- </el-option>
+ <el-col :xs="24" :sm="24" :md="24" :lg="24" :xl="12" class="mb20">
+ <el-form-item label="时间单位" prop="validTimeUnit">
+ <el-select class="analyseUnit_input" v-model="inspectionTaskForm.validTimeUnit" placeholder="请输入时间单位" clearable>
+ <el-option v-for="item in timeType" :key="item.id" :label="item.name" :value="item.id"></el-option>
</el-select>
</el-form-item>
</el-col>
- </el-row>
- <el-row>
- <el-col :span="12">
- <el-form-item label="提前通知时间" prop="noticeSeconds">
- <el-select v-model="inspectionTaskForm.noticeSeconds" class="analyseUnit_input">
- <el-option
- v-for="item in noticeSecondsList"
- :key="item.id"
- :label="item.name"
- :value="item.id"
- >
- </el-option>
+ <el-col :xs="24" :sm="24" :md="24" :lg="24" :xl="12" class="mb20">
+ <el-form-item label="提醒时间" prop="noticeTime">
+ <el-input class="analyseUnit_input" type="number" v-model.trim="inspectionTaskForm.noticeTime" placeholder="请输入提醒时间" clearable></el-input>
+ </el-form-item>
+ </el-col>
+ <el-col :xs="24" :sm="24" :md="24" :lg="24" :xl="12" class="mb20">
+ <el-form-item label="时间单位" prop="noticeTimeUnit">
+ <el-select class="analyseUnit_input" v-model="inspectionTaskForm.noticeTimeUnit" placeholder="请输入时间单位" clearable>
+ <el-option v-for="item in timeType" :key="item.id" :label="item.name" :value="item.id"></el-option>
</el-select>
</el-form-item>
</el-col>
- <el-col :span="12">
- <el-form-item label="任务有效时间" prop="effectSeconds">
- <el-select v-model="inspectionTaskForm.effectSeconds" class="analyseUnit_input">
- <el-option
- v-for="item in effectSecondsList"
- :key="item.id"
- :label="item.name"
- :value="item.id"
- >
- </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">
- <el-select v-model="execDepartment" filterable clearable class="analyseUnit_input" @change="changeExec">
+ <el-col :xs="24" :sm="24" :md="24" :lg="24" :xl="12" class="mb20">
+ <el-form-item label="执行部门" prop="execDepId">
+ <el-select class="analyseUnit_input" v-model="inspectionTaskForm.execDepId" clearable filterable >
<el-option
v-for="item in departmentList"
:key="item.id"
- :value="item.department"
:label="item.department"
+ :value="item.id"
></el-option>
</el-select>
</el-form-item>
</el-col>
- <el-col :span="12">
- <el-form-item label="执行巡检人员" prop="execUid">
- <el-select v-model="inspectionTaskForm.execUid" filterable clearable class="analyseUnit_input">
- <el-option
- v-for="item in execUidList"
- :key="item.id"
- :value="item.id"
- :label="item.realname"
- ></el-option>
+ <el-col :xs="24" :sm="24" :md="24" :lg="24" :xl="12" class="mb20">
+ <el-form-item label="任务单元" prop="taskUnitId">
+ <el-select class="analyseUnit_input" v-model="inspectionTaskForm.taskUnitId" placeholder="请输入任务单元" clearable filterable>
+ <el-option v-for="item in taskUnitList" :key="item.taskUnitName" :label="item.taskUnitName" :value="item.id"></el-option>
</el-select>
+ </el-form-item>
+ </el-col>
+ <el-col :xs="24" :sm="24" :md="24" :lg="24" :xl="12" class="mb20">
+ <el-form-item label="首次任务开始时间" prop="firstStartTime">
+ <el-date-picker class="analyseUnit_input" type="datetime" value-format="yyyy-MM-dd HH:mm:ss" v-model="inspectionTaskForm.firstStartTime" placeholder="请选择首次任务开始时间" clearable></el-date-picker>
</el-form-item>
</el-col>
</el-row>
@@ -269,15 +182,7 @@
</div>
- <el-divider></el-divider>
- <div class="inspectionTask_point">
- <el-tabs class="active" v-model="activeName">
- <el-tab-pane label="检查项信息" name="inspectionPoint">
- <inspection-point @giveToForm="receiveToForm" ref="inspectionPoint" :title="title" :inspectionTaskForm="inspectionTaskForm"></inspection-point>
- </el-tab-pane>
- </el-tabs>
- </div>
<div align="right">
<el-button @click="inspectionTaskVisible = false">取消</el-button>
@@ -300,6 +205,7 @@
} from "../../../../api/inspectionTask";
import {getAllDepartment, getDepartmentList} from "../../../../api/departmentManage";
import {safetyInspectionItemName} from "../../../../api/safetySelfInspection";
+ import {getAllCheckUnitList} from "../../../../api/checkUnit";
export default {
name: 'index',
filters: {
@@ -359,53 +265,70 @@
execDepartment:'',
inspectionTaskVisible:false,
inspectionTaskFormRules:{
- 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' }],
+ checkWorkType: [{ required: true, message: '请填写排查作业类型', trigger: 'change' }],
+ checkWorkName: [{ required: true, message: '请选择排查作业名称', trigger: 'blur' }],
+ taskUnitId: [{ required: true, message: '请选择任务单元', trigger: 'change' }],
+ execUserId: [{ required: true, message: '请选择执行人', trigger: 'change' }],
+ checkCycle: [{ required: true, message: '请填写排查周期', trigger: 'blur' }],
+ checkCycleUnit: [{ required: true, message: '请选择时间单位', trigger: 'change' }],
+ validTime: [{ required: true, message: '请填写有效时间', trigger: 'blur' }],
+ validTimeUnit: [{ required: true, message: '请选择时间单位', trigger: 'change' }],
+ noticeTime: [{ required: true, message: '请填写提醒时间', trigger: 'blur' }],
+ noticeTimeUnit: [{ required: true, message: '请选择时间单位', trigger: 'change' }],
+ firstStartTime: [{ required: true, message: '请填写首次排查任务开始时间', trigger: 'blur' }],
+ depId: [{ required: true, message: '请选择部门', trigger: 'change' }]
},
inspectionTaskForm:{
- type:null,
- createUid: null,
- effectSeconds: null,
- execUid: null,
- intervalSeconds: null,
- noticeSeconds: null,
- // noticeUid: null,
- title:'',
- riskControlMeasureIdList: [
- ],
- startTime: "",
+ checkWorkType: null,
+ checkWorkName: null,
+ taskUnitId: null,
+ execDepId: null,
+ checkCycle: null,
+ checkCycleUnit: null,
+ validTime: null,
+ validTimeUnit: null,
+ noticeTime: null,
+ noticeTimeUnit: null,
+ firstStartTime: null
},
listQuery:{
- createUid: "",
- endTime: "",
- execUid: "",
- startTime: "",
- status:"",
- type: "",
- page: 1,
+ checkWorkType: null,
+ checkWorkStatus: null,
+ checkWorkName: null,
+ pageIndex: 1,
pageSize: 10,
},
+ checkWorkTypeList: [
+ { id: 1, name: '日常作业' },
+ { id: 2, name: '周期作业' }
+ ],
+ checkWorkStatusList: [
+ { id: 1, name: '开启' },
+ { id: 2, name: '关闭' }
+ ],
+ timeType: [
+ { id: 2, name: '小时' },
+ { id: 3, name: '日' },
+ { id: 4, name: '月' },
+ { id: 5, name: '年' }
+ ],
+ taskUnitList:[],
}
},
created() {
this.getInspectionTaskData()
this.getDepartment()
this.getUser()
+ this.getCheckUnitData()
},
methods: {
async getInspectionTaskData(){
this.listLoading = true
let res = await getInspectionTask(this.listQuery)
if(res.data.code === '200'){
- this.recordTotal = JSON.parse(res.data.message).total
- this.inspectionTaskData = res.data.result
+ this.recordTotal = res.data.count
+ this.inspectionTaskData = res.data.data
}else if(res.data.code === '300'){
this.inspectionTaskData = []
}
@@ -417,6 +340,19 @@
}
this.listLoading = false
},
+
+ async getCheckUnitData(){
+ let res = await getAllCheckUnitList();
+ if (res.data.code === '200') {
+ this.taskUnitList = JSON.parse(JSON.stringify(res.data.data));
+ } else {
+ this.$message({
+ type: 'warning',
+ message: res.data.msg
+ });
+ }
+ },
+
async getDepartment(){
let res = await getDepartmentList({pageSize:1000,pageIndex:1})
if(res.data.code === '200'){
@@ -453,6 +389,15 @@
})
}
},
+
+ parseNumber(value, type) {
+ if (type === '排查类型') {
+ return this.checkWorkTypeList.find((item) => item.id === value).name;
+ } else if (type === '排查周期') {
+ return this.timeType.find((item) => item.id == value).name;
+ }
+ },
+
showAnalyseUnitForm(value,type){
this.inspectionTaskVisible = true
this.$nextTick(() =>{
@@ -461,39 +406,28 @@
if(type === '新增'){
this.ifShow = false
this.title = '新建巡检计划设定'
- // this.noticeDepartment = ''
- this.execDepartment = ''
this.inspectionTaskForm = {
- type:null,
- createUid: parseInt(Cookies.get('userId')),
- effectSeconds: null,
- execUid: null,
- intervalSeconds: null,
- noticeSeconds: null,
- // noticeUid: null,
- title:'',
- riskControlMeasureIdList: [
- ],
- startTime: "",
+ checkWorkType: null,
+ checkWorkName: null,
+ taskUnitId: null,
+ execDepId: null,
+ checkCycle: null,
+ checkCycleUnit: null,
+ validTime: null,
+ validTimeUnit: null,
+ noticeTime: null,
+ noticeTimeUnit: null,
+ firstStartTime: null
}
- 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.execDepartment = this.handleDepartment(JSON.parse(JSON.stringify(value)).execUid)
- this.changeExec()
- this.inspectionTaskForm = JSON.parse(JSON.stringify(value))
- this.inspectionTaskForm.execUid = value.execUid
- // this.inspectionTaskForm.noticeUid = value.noticeUname
- setTimeout(() => {
- this.$refs.inspectionPoint.inspectionPointData = this.inspectionTaskForm.checkContents
- this.$refs.inspectionPoint.ifEdit = true
- });
+ for( let key in this.inspectionTaskForm){
+ this.inspectionTaskForm[key] = JSON.parse(JSON.stringify(value))[key]
+ }
+ this.inspectionTaskForm.id = JSON.parse(JSON.stringify(value)).id
}
},
handleDepartment(value){
@@ -509,22 +443,6 @@
submitAnalyseUnit(){
this.$refs["inspectionTaskForm"].validate((valid) =>{
if(valid){
- 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{
if(this.title === '新建巡检计划设定'){
addInspectionTask(this.inspectionTaskForm).then((res)=>{
if(res.data.code === '200'){
@@ -544,17 +462,7 @@
}
})
}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,
- title: this.inspectionTaskForm.title
- }).then((res)=>{
+ updateInspectionTask(this.inspectionTaskForm).then((res)=>{
if(res.data.code === '200'){
this.inspectionTaskVisible = false
this.getInspectionTaskData()
@@ -572,7 +480,6 @@
}
})
}
- }
}else{
this.$message({
@@ -640,19 +547,12 @@
},
deleteById(val){
- if(val.status !== 2){
- this.$message({
- type:'warning',
- message:'当前状态不可删除'
- })
- return
- }
this.$confirm('删除此条信息,是否继续','提示',{
confirmButtonText:'确定',
cancelButtonText:'取消',
type:'warning',
}).then(()=> {
- deleteInspectionTask(val.workId).then( (res)=>{
+ deleteInspectionTask({ id: val.id }).then( (res)=>{
if(res.data.code === '200'){
this.getInspectionTaskData()
this.$notify({
@@ -685,21 +585,24 @@
this.getInspectionTaskData()
},
handleCurrentChange(val){
- this.listQuery.page = val
+ this.listQuery.pageIndex = val
this.getInspectionTaskData()
},
}
}
</script>
<style scoped>
- .basic_search{
- display:inline-block;
- padding-bottom: 10px;
- padding-left: 10px;
- }
- .analyseUnit_input{
- width:320px;
- }
+.basic_search{
+ display:inline-block;
+ padding-bottom: 10px;
+ padding-left: 10px;
+}
+.analyseUnit_input{
+ width:90%;
+}
+.analyseUnit_box{
+ width:200px;
+}
/deep/.el-divider--horizontal {
margin-top: 0px !important;
}
diff --git a/src/views/doublePreventAction/riskLevelManage/analyseUnit/index.vue b/src/views/doublePreventAction/riskLevelManage/analyseUnit/index.vue
index e446d95..4a01cb4 100644
--- a/src/views/doublePreventAction/riskLevelManage/analyseUnit/index.vue
+++ b/src/views/doublePreventAction/riskLevelManage/analyseUnit/index.vue
@@ -3,29 +3,29 @@
<div class="filter-container">
<div class="basic_search">
<span>责任部门:</span>
- <el-select v-model="listQuery.filter.hazardDep" clearable filterable style="width:200px">
+ <el-select v-model="listQuery.liableDepId" clearable filterable style="width:200px">
<el-option
v-for="item in departmentList"
:key="item.id"
:label="item.department"
- :value="item.department"
+ :value="item.id"
></el-option>
</el-select>
</div>
<div class="basic_search">
<span>责任人:</span>
- <el-select v-model="listQuery.filter.hazardLiablePerson" clearable filterable style="width:200px">
+ <el-select v-model="listQuery.liablePersonId" clearable filterable style="width:200px">
<el-option
v-for="item in userList"
:key="item.id"
:label="item.realname"
- :value="item.realname"
+ :value="item.id"
></el-option>
</el-select>
</div>
<div class="basic_search">
<span>单元名称:</span>
- <el-input v-model="listQuery.filter.riskUnitName" style="width:200px">
+ <el-input v-model="listQuery.riskUnitName" style="width:200px">
</el-input>
</div>
<el-button class="filter-item" style="margin-left: 10px;margin-top: 10px" type="primary" icon="el-icon-refresh" @click="refreshHandle">搜索</el-button>
@@ -44,22 +44,15 @@
highlight-current-row
style="width: 100%;"
>
- <el-table-column label="安全风险分析对象编码" prop="hazardCode" align="center">
- </el-table-column>
- <el-table-column label="责任部门" prop="hazardDep" align="center">
- </el-table-column>
- <el-table-column label="责任人" prop="hazardLiablePerson" align="center">
- </el-table-column>
- <el-table-column label="安全风险分析单元名称" prop="riskUnitName" align="center">
- </el-table-column>
- <el-table-column label="创建人" prop="createBy" align="center">
- </el-table-column>
- <el-table-column label="创建时间" prop="createTime" align="center">
- </el-table-column>
- <el-table-column label="最后修改人" prop="updateBy" align="center">
- </el-table-column>
- <el-table-column label="最后修改时间" prop="updateTime" align="center">
- </el-table-column>
+ <el-table-column prop="produceDeviceName" label="生产装置名称" show-overflow-tooltip></el-table-column>
+ <el-table-column prop="riskUnitName" label="安全风险分析单元名称" width="180" show-overflow-tooltip></el-table-column>
+ <el-table-column prop="riskCode" label="安全风险分析对象编码" width="180" show-overflow-tooltip></el-table-column>
+ <el-table-column prop="liableDep" label="责任部门" show-overflow-tooltip></el-table-column>
+ <el-table-column prop="liablePerson" label="责任人" show-overflow-tooltip></el-table-column>
+ <el-table-column prop="createByUserName" label="创建人" show-overflow-tooltip></el-table-column>
+ <el-table-column prop="gmtCreate" label="创建时间" show-overflow-tooltip></el-table-column>
+ <el-table-column prop="lastEditUserName" label="最后修改人" show-overflow-tooltip></el-table-column>
+ <el-table-column prop="gmtModitify" label="最后修改时间" show-overflow-tooltip></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>
@@ -70,9 +63,9 @@
<br>
<el-pagination
v-show="recordTotal>0"
- :current-page="currentPage"
+ :current-page="listQuery.pageIndex"
:page-sizes="[10, 20, 30, 50]"
- :page-size="pageSize"
+ :page-size="listQuery.pageSize"
:total="recordTotal"
layout="total, sizes, prev, pager, next, jumper"
background
@@ -84,8 +77,19 @@
</div>
<el-dialog :title="title" :visible.sync="analyseUnitVisible" :modal-append-to-body="false" :close-on-click-modal="false" width="600px">
<el-form ref="analyseUnitForm" :rules="analyseUnitFormRules" :model="analyseUnitForm" label-position="right" label-width="165px">
- <el-form-item label="责任部门" prop="hazardDepId">
- <el-select v-model="analyseUnitForm.hazardDepId" class="analyseUnit_input" @change="departmentChange" clearable filterable>
+ <el-form-item label="安全风险分析对象编码" prop="riskCode">
+ <el-input class="analyseUnit_input" v-model.trim="analyseUnitForm.riskCode" placeholder="请输入安全风险分析对象编码"></el-input>
+ </el-form-item>
+ <el-form-item label="安全风险分析单元名称" prop="riskUnitName">
+ <el-input class="analyseUnit_input" v-model.trim="analyseUnitForm.riskUnitName" placeholder="请输入安全风险分析单元名称"></el-input>
+ </el-form-item>
+ <el-form-item label="生产装置名称" prop="produceDeviceId">
+ <el-select class="analyseUnit_input" v-model="analyseUnitForm.produceDeviceId" placeholder="请输入生产装置名称" clearable filterable>
+ <el-option v-for="item in allProduceDeviceData" :key="item.produceDeviceName" :label="item.produceDeviceName" :value="item.id"></el-option>
+ </el-select>
+ </el-form-item>
+ <el-form-item label="责任部门" prop="liableDepId">
+ <el-select v-model="analyseUnitForm.liableDepId" class="analyseUnit_input" @change="changeExec" clearable filterable>
<el-option
v-for="item in departmentList"
:key="item.id"
@@ -94,21 +98,10 @@
></el-option>
</el-select>
</el-form-item>
- <el-form-item label="责任人" prop="hazardLiablePersonId">
- <el-select v-model="analyseUnitForm.hazardLiablePersonId" class="analyseUnit_input" clearable filterable>
- <el-option
- v-for="item in departmentUserList"
- :key="item.id"
- :label="item.realname"
- :value="item.id"
- ></el-option>
+ <el-form-item label="责任人" prop="liablePersonId">
+ <el-select class="analyseUnit_input" v-model="analyseUnitForm.liablePersonId" placeholder="请选择责任人" clearable filterable>
+ <el-option v-for="item in execUidList" :key="item.id" :label="item.realname" :value="item.id"></el-option>
</el-select>
- </el-form-item>
- <el-form-item label="安全风险分析对象编码" prop="hazardCode">
- <el-input v-model="analyseUnitForm.hazardCode" class="analyseUnit_input"></el-input>
- </el-form-item>
- <el-form-item label="安全风险分析单元名称" prop="riskUnitName">
- <el-input v-model="analyseUnitForm.riskUnitName" class="analyseUnit_input"></el-input>
</el-form-item>
</el-form>
<div align="right">
@@ -156,6 +149,7 @@
import {safetyInspectionItemName} from "../../../../api/safetySelfInspection";
import {exportAnalyseUnit, getDepartmentChart, importAnalyseUnit} from "../../../../api/riskLevelManage";
import {parseError} from "../../../../utils/messageDialog";
+ import {getAllProductionDeviceList} from "../../../../api/riskSource";
const exampleFile = require('@/assets/example/riskAnaUnit.xlsx')
export default {
name: 'index',
@@ -182,7 +176,9 @@
analyseUnitData: [],
departmentList:[],
userList:[],
+ execUidList:[],
departmentUserList:[],
+ allProduceDeviceData:[],
listLoading: false,
pageSize: 10,
recordTotal: 0,
@@ -194,35 +190,30 @@
importDialogFormVisible:false,
analyseUnitVisible:false,
analyseUnitFormRules:{
- hazardDepId: [{ required: true, message: '责任部门不能为空', trigger: 'change' }],
- hazardLiablePersonId: [{ required: true, message: '责任人不能为空', trigger: 'blur' }],
- hazardCode: [{ required: true, message: '安全风险分析对象编码不能为空', trigger: 'blur' }],
- riskUnitName: [{ required: true, message: '安全风险分析单元名称不能为空', trigger: 'blur' }],
+ riskCode: [{ required: true, message: '请填写安全风险分析对象编码', trigger: 'blur' }],
+ riskUnitName: [{ required: true, message: '请填写安全风险分析单元名称', trigger: 'blur' }],
+ liableDepId: [{ required: true, message: '请选择责任部门', trigger: 'change' }],
+ liablePersonId: [{ required: true, message: '请选择责任人', trigger: 'change' }],
+ produceDeviceId: [{ required: true, message: '请选择生产装置', trigger: 'change' }]
},
analyseUnitForm:{
- id: null,
- hazardCode: "",
- riskUnitName: "",
- createTime: "",
- updateTime: "",
- createBy: "",
- updateBy: "",
- validFlag: null,
- hazardLiablePersonId: null,
- hazardDepId: null
+ riskCode: null,
+ riskUnitName: null,
+ liablePersonId: null,
+ liableDepId: null,
+ produceDeviceId: null
},
listQuery:{
pageIndex:1,
pageSize:10,
- filter:{
- hazardLiablePerson:'',
- hazardDep:'',
- riskUnitName:''
- }
+ riskUnitName: null,
+ liableDepId: null,
+ liablePersonId: null
},
}
},
created() {
+ this.getAllProduceDeviceData()
this.getAnalyseUnitData()
this.getDepartment()
this.getUser()
@@ -232,11 +223,27 @@
this.listLoading = true
let res = await getAnalyseUnitList(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.analyseUnitData = res.data.result.records
+ if(res.data.data.length === 0 && res.data.count > 0){
+ this.listQuery.pageIndex = 1
+ await this.getData()
+ }else{
+ this.recordTotal = res.data.count
+ this.analyseUnitData = res.data.data
+ }
+ }else{
+ this.$message({
+ message:res.data.message,
+ type:'warning'
+ })
+ }
+ this.listLoading = false
+ },
+ async getData(){
+ this.listLoading = true
+ let res = await getAnalyseUnitList(this.listQuery)
+ if(res.data.code === '200'){
+ this.recordTotal = res.data.count
+ this.analyseUnitData = res.data.data
}else{
this.$message({
message:res.data.message,
@@ -256,6 +263,19 @@
})
}
},
+
+ async getAllProduceDeviceData(){
+ let res = await getAllProductionDeviceList();
+ if (res.data.code === '200') {
+ this.allProduceDeviceData = JSON.parse(JSON.stringify(res.data.data));
+ } else {
+ this.$message({
+ message:res.data.msg,
+ type:'warning'
+ })
+ }
+ },
+
async getUser(){
let res = await safetyInspectionItemName()
if(res.data.code === '200'){
@@ -267,6 +287,15 @@
})
}
},
+
+ changeExec(){
+ if(this.liableDepId === '') {
+ this.execUidList = []
+ }
+ this.analyseUnitForm.liablePersonId = ''
+ this.execUidList = this.userList.filter ( item => item.department === this.analyseUnitForm.liableDepId)
+ },
+
showDepartmentChart() {
this.$refs.chart.show()
},
@@ -278,22 +307,20 @@
if(type === '新增'){
this.title = '新增'
this.analyseUnitForm = {
- id: null,
- hazardCode: "",
- riskUnitName: "",
- createTime: "",
- updateTime: "",
- createBy: "",
- updateBy: "",
- validFlag: null,
- hazardLiablePersonId: null,
- hazardDepId: null
+ riskCode: null,
+ riskUnitName: null,
+ liablePersonId: null,
+ liableDepId: null,
+ produceDeviceId: null
}
}else{
this.title = '修改'
- this.analyseUnitForm.hazardDepId = value.hazardDepId
- this.departmentChange()
- this.analyseUnitForm = JSON.parse(JSON.stringify(value))
+ this.analyseUnitForm.liableDepId = value.liableDepId
+ this.changeExec()
+ for( let key in this.analyseUnitForm){
+ this.analyseUnitForm[key] = JSON.parse(JSON.stringify(value))[key]
+ }
+ this.analyseUnitForm.id = JSON.parse(JSON.stringify(value)).id
}
},
submitAnalyseUnit(){
@@ -460,6 +487,12 @@
padding-bottom: 10px;
}
.analyseUnit_input{
+ width:90%;
+ }
+ .analyseUnit_box{
+ width:200px;
+ }
+ .analyseUnit_input{
width:320px;
}
.image{
diff --git a/src/views/doublePreventAction/riskLevelManage/checkUnit/components/inpectionPoint.vue b/src/views/doublePreventAction/riskLevelManage/checkUnit/components/inpectionPoint.vue
new file mode 100644
index 0000000..f1f4134
--- /dev/null
+++ b/src/views/doublePreventAction/riskLevelManage/checkUnit/components/inpectionPoint.vue
@@ -0,0 +1,111 @@
+<template>
+ <div class="app-container">
+ <div class="filter-container">
+ <el-button class="filter-item" type="primary" icon="el-icon-plus" @click="showControlAction()">选择风险管控措施</el-button>
+ </div>
+ <div class="table_content">
+ <el-table
+ v-loading="listLoading"
+ :key="tableKey"
+ :data="inspectionPointData"
+ border
+ fit
+ highlight-current-row
+ style="width: 100%;"
+ >
+ <el-table-column label="序号" type="index" width="150" align="center">
+ </el-table-column>
+ <el-table-column label="隐患排查内容" prop="checkContent" align="center">
+ </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="showMeasureDetail(scope.row)" v-show="ifEdit">详情</el-button>-->
+ <el-button type="text" style="color:red;" @click="deleteById(scope.$index,scope.row)">删除</el-button>
+ </template>
+ </el-table-column>
+ </el-table>
+ </div>
+ <el-dialog :visible.sync="controlActionVisible" append-to-body :close-on-click-modal="false" width="80%">
+ <control-action ref="controlAction" @closeDialog="closeDialog" @giveRiskControlId="receiveRiskControlId" @keepValue="keepValue"></control-action>
+ </el-dialog>
+ </div>
+</template>
+
+<script>
+ import controlAction from '../../../riskLevelManage/controlAction/index'
+ import { addInspectionControlAction, deleteInspectionControlAction ,getInspectionControlAction } from '../../../../../api/inspectionTask'
+ export default {
+ props:['title','inspectionTaskForm'],
+ name: "inpectionPoint",
+ data(){
+ return{
+ tableKey:'',
+ listLoading:false,
+ ifEdit:false,
+ ifShowControl:true,
+ controlActionVisible:false,
+ riskControlMeasureVisible:false,
+ riskControlMeasureForm:[],
+ inspectionPointData:[],
+ keepValueList:[],
+ controlActionForm:{
+ workId:'',
+ measureId:'',
+ }
+ }
+ },
+ components:{
+ controlAction
+ },
+ methods:{
+ showControlAction (){
+ this.controlActionVisible = true
+ setTimeout( () => {
+ this.$refs.controlAction.ifShowButton(this.inspectionPointData)
+ })
+ },
+ showMeasureDetail(val){
+ this.controlActionVisible = true
+ setTimeout( () => {
+ this.$refs.controlAction.showMeasureDetail(val)
+ this.$refs.controlAction.ifShowSelf = false
+ })
+
+ },
+ closeDialog(){
+ this.controlActionVisible = false
+ },
+ async receiveRiskControlId(value) {
+ this.controlActionVisible = false
+ if(value){
+ this.inspectionPointData = JSON.parse(JSON.stringify(value.map( item => {
+ return {
+ id:item.id,
+ checkContent:item.checkContent
+ }
+ })))
+ this.$emit('giveToForm',this.inspectionPointData)
+ }
+ },
+ deleteById(value,scope){
+ this.inspectionPointData.splice(value,1)
+ },
+ async getControlActionList(){
+ let res = await getInspectionControlAction(this.inspectionTaskForm.workId)
+ this.inspectionPointData = res.data.result.checkContents
+ },
+ keepValue(value){
+ this.keepValueList = value
+ }
+ }
+ }
+</script>
+
+<style scoped>
+/deep/.filter-container{
+ padding-left: 0px !important;
+}
+ .analyseUnit_input{
+ width:200px;
+ }
+</style>
diff --git a/src/views/doublePreventAction/riskLevelManage/checkUnit/index.vue b/src/views/doublePreventAction/riskLevelManage/checkUnit/index.vue
new file mode 100644
index 0000000..ef0be9d
--- /dev/null
+++ b/src/views/doublePreventAction/riskLevelManage/checkUnit/index.vue
@@ -0,0 +1,458 @@
+<template>
+ <div class="app-container">
+ <div class="filter-container">
+ <div class="basic_search">
+ <span>任务单元名称:</span>
+ <el-input v-model="listQuery.taskUnitName" style="width:200px">
+ </el-input>
+ </div>
+ <el-button class="filter-item" style="margin-left: 10px;margin-top: 10px" type="primary" icon="el-icon-refresh" @click="refreshHandle">搜索</el-button>
+ <el-button class="filter-item" style="margin-left: 10px;margin-top: 10px" type="primary" icon="el-icon-plus" @click="showAnalyseUnitForm('','新增')">新增</el-button>
+ </div>
+
+ <div class="table_content">
+ <el-table
+ v-loading="listLoading"
+ :key="tableKey"
+ :data="inspectionTaskData"
+ border
+ fit
+ highlight-current-row
+ style="width: 100%;"
+ >
+ <el-table-column prop="taskUnitName" label="任务单元名称" show-overflow-tooltip></el-table-column>
+ <el-table-column prop="note" label="任务单元说明" show-overflow-tooltip></el-table-column>
+ <el-table-column prop="createByUserName" label="创建人" show-overflow-tooltip></el-table-column>
+ <el-table-column prop="gmtCreate" label="创建时间" show-overflow-tooltip></el-table-column>
+ <el-table-column prop="lastEditUserName" label="最后修改人" show-overflow-tooltip></el-table-column>
+ <el-table-column prop="gmtModitify" label="最后修改时间" show-overflow-tooltip></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="onDelcheckUnit(scope.row)">删除</el-button>
+ </template>
+ </el-table-column>
+ </el-table>
+ <br>
+ <el-pagination
+ v-show="recordTotal>0"
+ :current-page="listQuery.pageIndex"
+ :page-sizes="[10, 20, 30, 50]"
+ :page-size="listQuery.pageSize"
+ :total="recordTotal"
+ layout="total, sizes, prev, pager, next, jumper"
+ background
+ style="float:right;"
+ @size-change="handleSizeChange"
+ @current-change="handleCurrentChange"
+ />
+ <br>
+ </div>
+
+ <el-dialog :title="title" :visible.sync="inspectionTaskVisible" append-to-body :close-on-click-modal="false" width="55%">
+
+
+ <el-divider></el-divider>
+
+ <div class="inspectionTask_form">
+ <el-form ref="inspectionTaskForm" :rules="inspectionTaskFormRules" :model="inspectionTaskForm" label-position="right" label-width="120px">
+ <el-row :gutter="35">
+ <el-col :xs="24" :sm="24" :md="24" :lg="24" :xl="12" class="mb20">
+ <el-form-item label="任务单元名称" prop="taskUnitName">
+ <el-input class="input-length" v-model.trim="inspectionTaskForm.taskUnitName" placeholder="请输入任务单元名称" clearable></el-input>
+ </el-form-item>
+ </el-col>
+ <el-col :xs="24" :sm="24" :md="24" :lg="24" :xl="12" class="mb20">
+ <el-form-item label="任务单元说明" prop="note">
+ <el-input class="input-length" v-model.trim="inspectionTaskForm.note" placeholder="请输入任务单元说明" clearable></el-input>
+ </el-form-item>
+ </el-col>
+ </el-row>
+ </el-form>
+ </div>
+
+
+ <el-divider></el-divider>
+
+ <div class="inspectionTask_point">
+ <el-tabs class="active" v-model="activeName">
+ <el-tab-pane label="检查项信息" name="inspectionPoint">
+ <inspection-point @giveToForm="receiveToForm" ref="inspectionPoint" :title="title" :inspectionTaskForm="inspectionTaskForm"></inspection-point>
+ </el-tab-pane>
+ </el-tabs>
+ </div>
+
+ <div align="right">
+ <el-button @click="inspectionTaskVisible = false">取消</el-button>
+ <el-button type="primary" @click="submitAnalyseUnit()">确认</el-button>
+ </div>
+ </el-dialog>
+ </div>
+</template>
+
+<script>
+ import Cookies from "js-cookie";
+ import { mapGetters } from 'vuex'
+ import { computePageCount } from '@/utils'
+ import inspectionPoint from './components/inpectionPoint'
+ import {
+ getInspectionTask,
+ addInspectionTask,
+ updateInspectionTask,
+ deleteInspectionTask, closeInspectionTask, taskToUser
+ } from "../../../../api/inspectionTask";
+ import {getAllDepartment, getDepartmentList} from "../../../../api/departmentManage";
+ import {safetyInspectionItemName} from "../../../../api/safetySelfInspection";
+ import {addCheckUnit, deleteCheckUnit, getCheckUnit, updateCheckUnit} from "../../../../api/checkUnit";
+ export default {
+ name: 'index',
+ components: {
+ inspectionPoint
+ },
+ data() {
+ return {
+ tableKey: 0,
+ ifShow:true,
+ activeName:'inspectionPoint',
+ inspectionTaskData: [],
+ departmentList:[],
+ userList:[],
+ // noticeUidList:[],
+ execUidList:[],
+ listLoading: false,
+ pageSize: 10,
+ recordTotal: 0,
+ currentPage: 1,
+ pageTotal: 0,
+ title:'',
+ company:'',
+ code:'',
+ // noticeDepartment:'',
+ execDepartment:'',
+ inspectionTaskVisible:false,
+ inspectionTaskFormRules:{
+ taskUnitName: [{ required: true, message: '请填写任务单元名称', trigger: 'blur' }],
+ note: [{ required: true, message: '请填写任务单元说明', trigger: 'change' }]
+ },
+ inspectionTaskForm:{
+ taskUnitName: null,
+ note: null,
+ measureList: [
+ ],
+
+ },
+ listQuery:{
+ pageIndex: 1,
+ pageSize: 10,
+ taskUnitId: null
+ },
+ }
+ },
+ created() {
+ this.getInspectionTaskData()
+ this.getDepartment()
+ this.getUser()
+ },
+ methods: {
+ async getInspectionTaskData(){
+ this.listLoading = true
+ let res = await getCheckUnit(this.listQuery)
+ if(res.data.code === '200'){
+ this.recordTotal = res.data.count
+ this.inspectionTaskData = res.data.data
+ }else if(res.data.code === '300'){
+ this.inspectionTaskData = []
+ }
+ else{
+ this.$message({
+ message:res.data.message,
+ type:'warning'
+ })
+ }
+ this.listLoading = false
+ },
+ async getDepartment(){
+ let res = await getDepartmentList({pageSize:1000,pageIndex:1})
+ if(res.data.code === '200'){
+ this.departmentList = res.data.result.result
+ }else{
+ this.$message({
+ message:res.data.message,
+ type:'warning'
+ })
+ }
+ },
+ // 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 = []
+ this.inspectionTaskForm.execUid = ''
+ }
+ this.execUidList = this.userList.filter ( item => item.departmentname === this.execDepartment)
+ },
+ async getUser(){
+ let res = await safetyInspectionItemName()
+ if(res.data.code === '200'){
+ this.userList = res.data.result
+ }else{
+ this.$message({
+ message:res.data.message,
+ type:'warning'
+ })
+ }
+ },
+ showAnalyseUnitForm(value,type){
+ this.inspectionTaskVisible = true
+ this.$nextTick(() =>{
+ this.$refs["inspectionTaskForm"].clearValidate()
+ })
+ if(type === '新增'){
+ this.title = '新建隐患排查单元'
+ this.inspectionTaskForm = {
+ taskUnitName: null,
+ note: null,
+ measureList: [
+ ],
+ }
+ setTimeout(() => {
+ this.$refs.inspectionPoint.inspectionPointData = []
+ this.$refs.inspectionPoint.ifEdit = false
+ });
+ }else{
+ this.title = '编辑隐患排查单元'
+ this.inspectionTaskForm.taskUnitName = JSON.parse(JSON.stringify(value)).taskUnitName
+ this.inspectionTaskForm.note = JSON.parse(JSON.stringify(value)).note
+ this.inspectionTaskForm.id = JSON.parse(JSON.stringify(value)).id
+ this.inspectionTaskForm.measureList = []
+ if(value.measureList !== null){
+ this.inspectionTaskForm.measureList = JSON.parse(JSON.stringify(value.measureList.map( item => {
+ return {
+ id:item.id,
+ }
+ })))
+ }
+
+ // this.inspectionTaskForm.noticeUid = value.noticeUname
+ setTimeout(() => {
+ this.$refs.inspectionPoint.inspectionPointData = JSON.parse(JSON.stringify(value)).measureList
+ });
+ }
+ },
+ handleDepartment(value){
+ let department = ''
+ for(let i in this.userList){
+ if(this.userList[i].id === value){
+ department = this.userList[i].departmentname
+ }
+ }
+ department = this.departmentList.find(item => item.department === department)
+ return department.department
+ },
+ submitAnalyseUnit(){
+ this.$refs["inspectionTaskForm"].validate((valid) =>{
+ if(valid){
+ if(this.title === '新建隐患排查单元'){
+ addCheckUnit(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{
+ updateCheckUnit(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
+ })
+ }
+ })
+ }
+
+ }else{
+ this.$message({
+ type:'warning',
+ message:'请完善基本信息'
+ })
+ }
+ })
+
+ },
+
+ onDelcheckUnit(val){
+
+ this.$confirm('此操作将删除该隐患单元,是否继续','提示',{
+ confirmButtonText:'确定',
+ cancelButtonText:'取消',
+ type:'warning',
+ }).then(()=> {
+ deleteCheckUnit({ id: val.id }).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
+ })
+ }
+ })
+ })
+
+ },
+ 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(()=> {
+ 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
+ })
+ }
+ })
+ })
+ },
+ receiveToForm(value) {
+ this.inspectionTaskForm.measureList = []
+ this.inspectionTaskForm.measureList = value.map( item => {
+ return item.id
+ })
+ // this.inspectionTaskForm.riskControlMeasureIdList.push({id:value.id})
+ },
+ refreshHandle(){
+ this.getInspectionTaskData()
+ },
+ handleSizeChange(val){
+ this.listQuery.pageSize = val
+ this.getInspectionTaskData()
+ },
+ handleCurrentChange(val){
+ this.listQuery.pageIndex = val
+ this.getInspectionTaskData()
+ },
+ }
+ }
+</script>
+<style scoped>
+ .basic_search{
+ display:inline-block;
+ padding-bottom: 10px;
+ padding-left: 10px;
+ }
+ .analyseUnit_input{
+ width:320px;
+ }
+ /deep/.el-divider--horizontal {
+ margin-top: 0px !important;
+ }
+
+ /deep/.el-dialog__body {
+ padding-top: 10px !important;
+ }
+</style>
diff --git a/src/views/doublePreventAction/riskLevelManage/controlAction/index.vue b/src/views/doublePreventAction/riskLevelManage/controlAction/index.vue
index 5f6e594..036fb74 100644
--- a/src/views/doublePreventAction/riskLevelManage/controlAction/index.vue
+++ b/src/views/doublePreventAction/riskLevelManage/controlAction/index.vue
@@ -3,17 +3,18 @@
<div class="filter-container">
<div class="basic_search">
<span>事件名称:</span>
- <el-input v-model="listQuery.filter.riskEventName" style="width:200px">
- </el-input>
+ <el-select clearable style="width:200px" v-model="listQuery.riskEventId" placeholder="安全风险事件" clearable>
+ <el-option v-for="item in riskEventList" :key="item.id" :label="item.riskEventName" :value="item.id"></el-option>
+ </el-select>
</div>
<div class="basic_search">
<span>管控方式:</span>
- <el-select v-model="listQuery.filter.dataSrc" clearable style="width:200px">
+ <el-select v-model="listQuery.controlType" clearable style="width:200px">
<el-option
- v-for="item in DataSrcList"
+ v-for="item in controlTypeList"
:key="item.id"
- :value="item.text"
- :label="item.text"
+ :value="item.id"
+ :label="item.name"
></el-option>
</el-select>
</div>
@@ -31,46 +32,36 @@
border
fit
ref="table"
- :row-key="getRowKey"
highlight-current-row
style="width: 100%;"
>
- <el-table-column type="selection" :reserve-selection="true" width="55"></el-table-column>
- <el-table-column label="安全风险事件名称" prop="riskEventId" align="center" show-overflow-tooltip>
+<!-- <el-table-column type="selection" :reserve-selection="true" width="55"></el-table-column>-->
+ <el-table-column type="selection" width="55"></el-table-column>
+ <el-table-column type="index" label="序号" width="60" />
+ <el-table-column prop="riskEventName" label="安全风险事件名称" show-overflow-tooltip></el-table-column>
+ <el-table-column prop="controlMeasureCode" label="风控措施编码" show-overflow-tooltip></el-table-column>
+ <el-table-column prop="controlType" label="管控方式" show-overflow-tooltip>
<template slot-scope="scope">
- <div v-for="item in riskEventList">
- <div v-if="item.id === scope.row.riskEventId">
- {{item.riskEventName}}
- </div>
- </div>
+ {{ parseNumber(scope.row.controlType, '管控方式') }}
</template>
</el-table-column>
- <el-table-column label="管控方式" prop="dataSrc" align="center">
+ <el-table-column prop="checkContent" label="管控内容" show-overflow-tooltip></el-table-column>
+ <el-table-column prop="classify1" label="管控措施分类1" show-overflow-tooltip>
+ <template slot-scope="scope">
+ {{ parseNumber(scope.row.classify1, '管控措施分类1') }}
+ </template>
</el-table-column>
- <el-table-column label="管控方式描述" prop="riskMeasureDesc" align="center" show-overflow-tooltip>
+ <el-table-column prop="classify2" label="管控措施分类2" show-overflow-tooltip>
+ <template slot-scope="scope">
+ {{ parseNumber(scope.row.classify2, '管控措施分类2') }}
+ </template>
</el-table-column>
- <el-table-column label="管控措施分类1" prop="classify1" align="center">
- </el-table-column>
- <el-table-column label="管控措施分类2" prop="classify2" align="center">
- </el-table-column>
- <el-table-column label="管控措施分类3" prop="classify3" align="center">
- </el-table-column>
- <el-table-column label="隐患排查内容" prop="troubleshootContent" align="center" show-overflow-tooltip>
- </el-table-column>
- <el-table-column label="检查类型" prop="hazardLiablePerson" align="center">
- </el-table-column>
- <el-table-column label="周期" prop="timeEffect" align="center">
- </el-table-column>
- <el-table-column label="单位" prop="timeUnit" align="center">
- </el-table-column>
- <el-table-column label="创建人" prop="createBy" align="center">
- </el-table-column>
- <el-table-column label="创建时间" prop="createTime" align="center">
- </el-table-column>
- <el-table-column label="最后修改人" prop="updateBy" align="center">
- </el-table-column>
- <el-table-column label="最后修改时间" prop="updateTime" align="center">
- </el-table-column>
+ <el-table-column prop="classify3" label="管控措施分类3" show-overflow-tooltip></el-table-column>
+ <el-table-column prop="measureDesc" label="措施说明" show-overflow-tooltip></el-table-column>
+ <el-table-column prop="createByUserName" label="创建人" show-overflow-tooltip></el-table-column>
+ <el-table-column prop="gmtCreate" label="创建时间" show-overflow-tooltip></el-table-column>
+ <el-table-column prop="lastEditUserName" label="最后修改人" show-overflow-tooltip></el-table-column>
+ <el-table-column prop="gmtModitify" label="最后修改时间" show-overflow-tooltip></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="giveValue(scope.row,)" v-show="showOther">选择</el-button>
@@ -82,9 +73,9 @@
<br>
<el-pagination
v-show="recordTotal>0"
- :current-page="currentPage"
+ :current-page="listQuery.pageIndex"
:page-sizes="[10, 20, 30, 50]"
- :page-size="pageSize"
+ :page-size="listQuery.pageSize"
:total="recordTotal"
layout="total, sizes, prev, pager, next, jumper"
background
@@ -97,67 +88,51 @@
<el-dialog :title="title" :visible.sync="riskControlMeasureVisible" append-to-body :close-on-click-modal="false" width="600px">
<el-form ref="riskControlMeasureForm" :rules="riskControlMeasureFormRules" :model="riskControlMeasureForm" label-position="right" label-width="160px">
<el-form-item label="安全风险事件名称" prop="riskEventId">
- <el-select v-model="riskControlMeasureForm.riskEventId" class="analyseUnit_input">
+ <el-select v-model="riskControlMeasureForm.riskEventId" class="analyseUnit_box" placeholder="请选择安全风险事件名称">
<el-option
v-for="item in riskEventList"
- :key="item.id"
+ :key="item.riskEventName"
:value="item.id"
:label="item.riskEventName"
></el-option>
</el-select>
</el-form-item>
- <el-form-item label="管控方式" prop="dataSrc">
- <el-select v-model="riskControlMeasureForm.dataSrc" class="analyseUnit_input">
- <el-option
- v-for="item in DataSrcList"
- :key="item.id"
- :value="item.text"
- :label="item.text"
- ></el-option>
+ <el-form-item label="风险措施编码" prop="controlMeasureCode">
+ <el-input class="analyseUnit_box" v-model.trim="riskControlMeasureForm.controlMeasureCode" placeholder="请输入风险措施编码"></el-input>
+ </el-form-item>
+ <el-form-item label="管控方式" prop="controlType">
+ <el-select class="analyseUnit_box" v-model="riskControlMeasureForm.controlType" placeholder="请选择管控方式" clearable>
+ <el-option v-for="item in controlTypeList" :key="item.id" :label="item.name" :value="item.id"></el-option>
</el-select>
</el-form-item>
- <el-form-item label="管控方式描述" prop="riskMeasureDesc">
- <el-input type="textarea" :rows="4" v-model="riskControlMeasureForm.riskMeasureDesc" class="analyseUnit_input"></el-input>
- </el-form-item>
+ <el-form-item label="管控内容" prop="checkContent">
+ <el-input class="analyseUnit_box" type="textarea" :rows="3" v-model.trim="riskControlMeasureForm.checkContent" placeholder="请输入管控内容" clearable> </el-input>
+ </el-form-item>
<el-form-item label="管控措施分类1" prop="classify1">
- <el-select v-model="riskControlMeasureForm.classify1" class="analyseUnit_input" @change="changeClassifyTwoList()">
+ <el-select v-model="riskControlMeasureForm.classify1" class="analyseUnit_box" filterable clearable placeholder="请选择管控措施分类1" @change="changeClassifyTwoList()">
<el-option
v-for="item in classifyOneList"
:key="item.id"
- :value="item.name"
+ :value="item.id"
:label="item.name"
></el-option>
</el-select>
</el-form-item>
<el-form-item label="管控措施分类2" prop="classify2">
- <el-select v-model="riskControlMeasureForm.classify2" class="analyseUnit_input">
+ <el-select v-model="riskControlMeasureForm.classify2" class="analyseUnit_box" filterable clearable placeholder="请选择管控措施分类2">
<el-option
v-for="item in classifyTwoList"
:key="item.id"
- :value="item.name"
+ :value="item.id"
:label="item.name"
></el-option>
</el-select>
</el-form-item>
<el-form-item label="管控措施分类3" prop="classify3">
- <el-input v-model="riskControlMeasureForm.classify3" class="analyseUnit_input"></el-input>
+ <el-input v-model="riskControlMeasureForm.classify3" class="analyseUnit_box" placeholder="请填写管控措施分类3"></el-input>
</el-form-item>
- <el-form-item label="隐患排查内容" prop="troubleshootContent">
- <el-input type="textarea" :rows="4" v-model="riskControlMeasureForm.troubleshootContent" class="analyseUnit_input"></el-input>
- </el-form-item>
- <el-form-item label="周期" prop="timeEffect">
- <el-input v-model="riskControlMeasureForm.timeEffect" type="number" class="analyseUnit_input"></el-input>
- </el-form-item>
- <el-form-item label="单位" prop="timeUnit">
- <el-select v-model="riskControlMeasureForm.timeUnit" class="analyseUnit_input">
- <el-option
- v-for="item in timeUnitList"
- :key="item.id"
- :value="item.name"
- :label="item.name"
- >
- </el-option>
- </el-select>
+ <el-form-item label="措施说明" prop="measureDesc">
+ <el-input class="analyseUnit_box" type="textarea" :rows="3" placeholder="请填写措施说明" v-model.trim="riskControlMeasureForm.measureDesc" clearable> </el-input>
</el-form-item>
</el-form>
<div align="right">
@@ -199,7 +174,7 @@
import { computePageCount } from '@/utils'
import { addRiskControlMeasure, deleteRiskControlMeasure, getRiskControlMeasureList, updateRiskControlMeasure } from '@/api/riskLevelManage'
import {
- exportRiskControlMeasure,
+ exportRiskControlMeasure, getAllSafetyRiskEventList,
getClassify,
getRiskEventList, importAnalyseUnit, importRiskControlMeasure
} from "../../../../api/riskLevelManage";
@@ -220,9 +195,13 @@
tableKey: 0,
riskControlMeasureData: [],
riskEventList:[],
- DataSrcList:[],
+ controlTypeList: [
+ { id: 1, name: '自动化监控' },
+ { id: 2, name: '隐患排查' }
+ ],
classifyOneList:[],
classifyTwoList:[],
+ list:[],
riskControlMeasureIdList:[],
timeUnitList:[{id:1,name:'小时'},{id:2,name:'天'},{id:3,name:'周'},{id:4,name:'月'},],
listLoading: false,
@@ -239,47 +218,36 @@
importDialogFormVisible:false,
riskControlMeasureVisible:false,
riskControlMeasureFormRules:{
- riskEventId: [{ required: true, message: '安全风险事件名称不能为空', trigger: 'change' }],
- dataSrc: [{ required: true, message: '管控方式不能为空', trigger: 'change' }],
- riskMeasureDesc: [{ required: true, message: '管控方式描述不能为空', trigger: 'blur' }],
- classify1: [{ required: true, message: '管控措施分类1不能为空', trigger: 'change' }],
- classify2: [{ required: true, message: '管控措施分类2不能为空', trigger: 'change' }],
- troubleshootContent: [{ required: true, message: '隐患排查内容不能为空', trigger: 'change' }],
- timeEffect: [{ required: true, message: '周期不能为空', trigger: 'blur' }],
- timeUnit: [{ required: true, message: '单位不能为空', trigger: 'change' }],
+ riskEventId: [{ required: true, message: '请选择风险事件', trigger: 'change' }],
+ controlMeasureCode: [{ required: true, message: '请填写风险措施编码', trigger: 'blur' }],
+ controlType: [{ required: true, message: '请选择管控方式', trigger: 'change' }],
+ checkContent: [{ required: true, message: '请填写管控内容', trigger: 'blur' }],
+ classify1: [{ required: true, message: '请选择管控措施分类1', trigger: 'change' }],
+ classify2: [{ required: true, message: '请选择管控措施分类2', trigger: 'change' }],
+ classify3: [{ required: true, message: '请填写管控措施分类3', trigger: 'blur' }],
+ measureDesc: [{ required: true, message: '请填写措施说明', trigger: 'blur' }]
},
riskControlMeasureForm:{
- id: null,
riskEventId: null,
- dataSrc: "",
- riskMeasureDesc: "",
- classify1: "",
- classify2: "",
- classify3: "",
- troubleshootContent: "",
- validFlag: true,
- createTime: "",
- updateTime: "",
- createBy: "",
- updateBy: "",
- riskEvent: {
- },
- timeEffect:"",
- timeUnit:"",
+ controlMeasureCode: null,
+ controlType: null,
+ checkContent: null,
+ classify1: null,
+ classify2: null,
+ classify3: null,
+ measureDesc: null
},
listQuery:{
pageIndex:1,
pageSize:10,
- filter:{
- riskEventName:'',
- }
+ controlType: null,
+ riskEventId: null
},
}
},
created() {
this.getRiskControlMeasureData()
this.getRiskEvent()
- this.getDataSrcList()
this.getClassify()
},
methods: {
@@ -287,11 +255,30 @@
this.listLoading = true
let res = await getRiskControlMeasureList(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.riskControlMeasureData = res.data.result.records
+ if(res.data.data.length === 0 && res.data.count > 0){
+ this.listQuery.pageIndex = 1
+ await this.getData()
+ }else{
+ this.recordTotal = res.data.count
+ this.riskControlMeasureData = res.data.data
+ }
+ }else{
+ this.$message({
+ message:res.data.message,
+ type:'warning'
+ })
+ }
+ this.listLoading = false
+
+
+ },
+
+ async getData(){
+ this.listLoading = true
+ let res = await getRiskControlMeasureList(this.listQuery)
+ if(res.data.code === '200'){
+ this.recordTotal = res.data.count
+ this.riskControlMeasureData = res.data.data
}else{
this.$message({
message:res.data.message,
@@ -300,10 +287,11 @@
}
this.listLoading = false
},
+
async getRiskEvent(){
- let res = await getRiskEventList({pageSize:1000,pageIndex:1,filter:{riskEventName:''}})
+ let res = await getAllSafetyRiskEventList()
if(res.data.code === '200'){
- this.riskEventList = res.data.result.records
+ this.riskEventList = JSON.parse(JSON.stringify(res.data.data))
}else{
this.$message({
message:res.data.message,
@@ -315,6 +303,12 @@
let res = await getClassify({pageSize:1000,pageIndex:1,filter:{riskEventName:''}})
if(res.data.code === '200'){
this.classifyOneList = res.data.result
+ this.list = []
+ this.classifyOneList.forEach(item =>{
+ for(let i in item.subClassify){
+ this.list.push(item.subClassify[i])
+ }
+ })
}else{
this.$message({
message:res.data.message,
@@ -322,19 +316,7 @@
})
}
},
- async getDataSrcList(){
- const params = {}
- params['dictionaryType'] = '管控方式'
- let res = await dictionaryAllItems(params)
- if (res.data.code === '200') {
- this.DataSrcList = res.data.result
- } else {
- this.$message({
- type:'warning',
- message:res.data.message
- })
- }
- },
+
changeClassifyTwoList(){
if(this.riskControlMeasureForm.classify1 === '工程技术'){
this.classifyTwoList = this.classifyOneList[0].subClassify
@@ -354,6 +336,17 @@
this.riskControlMeasureForm.classify3 = ''
}
},
+
+ parseNumber(value, type) {
+ if (type === '管控方式') {
+ return this.controlTypeList.find((item) => item.id === value).name;
+ }else if(type === '管控措施分类1'){
+ return this.classifyOneList.find((item) => item.id === value).name
+ }else{
+ return this.list.find((item) => item.id === value).name
+ }
+ },
+
showRiskControlMeasureForm(value,type){
this.riskControlMeasureVisible = true
this.$nextTick(() =>{
@@ -362,27 +355,21 @@
if(type === '新增'){
this.title = '新增'
this.riskControlMeasureForm = {
- id: null,
riskEventId: null,
- dataSrc: "",
- riskMeasureDesc: "",
- classify1: "",
- classify2: "",
- classify3: "",
- troubleshootContent: "",
- validFlag: true,
- createTime: "",
- updateTime: "",
- createBy: "",
- updateBy: "",
- riskEvent: {
- },
- timeEffect:"",
- timeUnit:"",
+ controlMeasureCode: null,
+ controlType: null,
+ checkContent: null,
+ classify1: null,
+ classify2: null,
+ classify3: null,
+ measureDesc: null
}
}else{
this.title = '修改'
- this.riskControlMeasureForm = value
+ for( let key in this.riskControlMeasureForm){
+ this.riskControlMeasureForm[key] = JSON.parse(JSON.stringify(value))[key]
+ }
+ this.riskControlMeasureForm.id = JSON.parse(JSON.stringify(value)).id
}
},
submitAnalyseUnit(){
@@ -564,6 +551,7 @@
},
giveValue(value){
+ debugger
this.$emit('giveRiskControlId',this.riskControlMeasureIdList)
// this.$emit('giveRiskControlId',value)
},
@@ -584,6 +572,9 @@
padding-bottom: 10px;
}
.analyseUnit_input{
- width:320px;
+ width:200px;
+ }
+ .analyseUnit_box{
+ width:90%;
}
</style>
diff --git a/src/views/doublePreventAction/riskLevelManage/event/index.vue b/src/views/doublePreventAction/riskLevelManage/event/index.vue
index 4183aa5..ce13a91 100644
--- a/src/views/doublePreventAction/riskLevelManage/event/index.vue
+++ b/src/views/doublePreventAction/riskLevelManage/event/index.vue
@@ -3,12 +3,7 @@
<div class="filter-container">
<div class="basic_search">
<span>事件名称:</span>
- <el-input v-model="listQuery.filter.riskEventName" style="width:200px">
- </el-input>
- </div>
- <div class="basic_search">
- <span>单元名称:</span>
- <el-input v-model="listQuery.filter.riskUnitName" style="width:200px">
+ <el-input v-model="listQuery.riskEventName" style="width:200px">
</el-input>
</div>
<el-button class="filter-item" style="margin-left: 10px;margin-top: 10px" type="primary" icon="el-icon-refresh" @click="refreshHandle">搜索</el-button>
@@ -26,21 +21,13 @@
highlight-current-row
style="width: 100%;"
>
- <el-table-column label="安全风险分析单元名称" prop="riskAnaUnit" align="center">
- <template slot-scope="scope">
- <span>{{scope.row.riskAnaUnit.riskUnitName}}</span>
- </template>
- </el-table-column>
- <el-table-column label="安全风险事件名称" prop="riskEventName" align="center">
- </el-table-column>
- <el-table-column label="创建人" prop="createBy" align="center">
- </el-table-column>
- <el-table-column label="创建时间" prop="createTime" align="center">
- </el-table-column>
- <el-table-column label="最后修改人" prop="updateBy" align="center">
- </el-table-column>
- <el-table-column label="最后修改时间" prop="updateTime" align="center">
- </el-table-column>
+ <el-table-column type="index" label="序号" width="60" />
+ <el-table-column prop="riskUnitName" label="安全风险分析单元名称" width="180" show-overflow-tooltip></el-table-column>
+ <el-table-column prop="riskEventName" label="安全风险事件名称" width="180" show-overflow-tooltip></el-table-column>
+ <el-table-column prop="createByUserName" label="创建人" show-overflow-tooltip></el-table-column>
+ <el-table-column prop="gmtCreate" label="创建时间" show-overflow-tooltip></el-table-column>
+ <el-table-column prop="lastEditUserName" label="最后修改人" show-overflow-tooltip></el-table-column>
+ <el-table-column prop="gmtModitify" label="最后修改时间" show-overflow-tooltip></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="showRiskEvent(scope.row,'编辑')">编辑</el-button>
@@ -51,9 +38,9 @@
<br>
<el-pagination
v-show="recordTotal>0"
- :current-page="currentPage"
+ :current-page="listQuery.pageIndex"
:page-sizes="[10, 20, 30, 50]"
- :page-size="pageSize"
+ :page-size="listQuery.pageSize"
:total="recordTotal"
layout="total, sizes, prev, pager, next, jumper"
background
@@ -66,17 +53,17 @@
<el-dialog :title="title" :visible.sync="riskEventVisible" :modal-append-to-body="false" :close-on-click-modal="false" width="600px">
<el-form ref="riskEventForm" :rules="riskEventFormRules" :model="riskEventForm" label-position="right" label-width="165px">
<el-form-item label="安全风险分析单元名称" prop="riskUnitId">
- <el-select v-model="riskEventForm.riskUnitId" class="analyseUnit_input">
+ <el-select v-model="riskEventForm.riskUnitId" placeholder="请输入安全风险分析单元名称" class="analyseUnit_box">
<el-option
v-for="item in analyseUnitList"
- :key="item.id"
+ :key="item.riskUnitName"
:value="item.id"
:label="item.riskUnitName"
></el-option>
</el-select>
</el-form-item>
<el-form-item label="安全风险事件名称" prop="riskEventName">
- <el-input v-model="riskEventForm.riskEventName" class="analyseUnit_input"></el-input>
+ <el-input v-model="riskEventForm.riskEventName" placeholder="请输入安全风险事件名称" class="analyseUnit_box"></el-input>
</el-form-item>
</el-form>
<div align="right">
@@ -119,7 +106,7 @@
import { addRiskEvent, deleteRiskEvent, getRiskEventList, updateRiskEvent } from '@/api/riskLevelManage'
const exampleFile = require('@/assets/example/riskEvent.xlsx')
import {
- exportRiskEvent,
+ exportRiskEvent, getAllSafetyRiskAnalyseUnitList,
getAnalyseUnitList,
importRiskEvent
} from "../../../../api/riskLevelManage";
@@ -161,23 +148,13 @@
},
riskEventForm:{
- id: "",
- riskUnitId: "",
- riskEventName: "",
- validFlag: true,
- createTime: "",
- createBy: "",
- updateTime: "",
- updateBy: "",
- riskAnaUnit: {
- },
+ riskEventName: null,
+ riskUnitId: null
},
listQuery:{
- pageIndex:1,
- pageSize:10,
- filter:{
- riskEventName:'',
- }
+ pageIndex: 1,
+ pageSize: 10,
+ riskEventName: null
},
}
},
@@ -190,11 +167,27 @@
this.listLoading = true
let res = await getRiskEventList(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.riskEventData = res.data.result.records
+ if(res.data.data.length === 0 && res.data.count > 0){
+ this.listQuery.pageIndex = 1
+ await this.getData()
+ }else{
+ this.recordTotal = res.data.count
+ this.riskEventData = res.data.data
+ }
+ }else{
+ this.$message({
+ message:res.data.message,
+ type:'warning'
+ })
+ }
+ this.listLoading = false
+ },
+ async getData(){
+ this.listLoading = true
+ let res = await getRiskEventList(this.listQuery)
+ if(res.data.code === '200'){
+ this.recordTotal = res.data.count
+ this.riskEventData = res.data.data
}else{
this.$message({
message:res.data.message,
@@ -204,9 +197,9 @@
this.listLoading = false
},
async getAnalyseUnitData(){
- let res = await getAnalyseUnitList({pageSize:1000,pageIndex:1,filter:{ riskUnitName:''}})
+ let res = await getAllSafetyRiskAnalyseUnitList()
if(res.data.code === '200'){
- this.analyseUnitList = res.data.result.records
+ this.analyseUnitList = JSON.parse(JSON.stringify(res.data.data))
}else{
this.$message({
message:res.data.message,
@@ -222,21 +215,15 @@
if(type === '新增'){
this.title = '新增'
this.riskEventForm = {
- id: "",
riskUnitId: "",
riskEventName: "",
- validFlag: true,
- createTime: "",
- createBy: "",
- updateTime: "",
- updateBy: "",
- riskAnaUnit: {
- riskUnitName:""
- },
}
}else{
this.title = '修改'
- this.riskEventForm = value
+ for( let key in this.riskEventForm){
+ this.riskEventForm[key] = JSON.parse(JSON.stringify(value))[key]
+ }
+ this.riskEventForm.id = JSON.parse(JSON.stringify(value)).id
}
},
submitRiskEvent(){
@@ -393,6 +380,9 @@
padding-bottom: 10px;
}
.analyseUnit_input{
- width:320px;
+ width:200px;
+ }
+ .analyseUnit_box{
+ width:90%;
}
</style>
diff --git a/src/views/doublePreventAction/riskLevelManage/riskSourceManage/index.vue b/src/views/doublePreventAction/riskLevelManage/riskSourceManage/index.vue
index 96c16ee..b8c42f1 100644
--- a/src/views/doublePreventAction/riskLevelManage/riskSourceManage/index.vue
+++ b/src/views/doublePreventAction/riskLevelManage/riskSourceManage/index.vue
@@ -11,7 +11,7 @@
<!-- </div>-->
<div class="basic_search">
<span>生产装置名称:</span>
- <el-input v-model="listQuery.name" class="analyseUnit_input">
+ <el-input v-model="listQuery.produceDeviceName" class="analyseUnit_box">
</el-input>
</div>
<div class="basic_search">
@@ -25,33 +25,33 @@
></el-option>
</el-select>
</div>
- <div class="basic_search">
- <span>状态:</span>
- <el-select v-model="listQuery.status">
- <el-option
- v-for="item in statusList"
- :key="item.id"
- :value="item.id"
- :label="item.name"
- ></el-option>
- </el-select>
- </div>
+<!-- <div class="basic_search">-->
+<!-- <span>状态:</span>-->
+<!-- <el-select v-model="listQuery.status">-->
+<!-- <el-option-->
+<!-- v-for="item in statusList"-->
+<!-- :key="item.id"-->
+<!-- :value="item.id"-->
+<!-- :label="item.name"-->
+<!-- ></el-option>-->
+<!-- </el-select>-->
+<!-- </div>-->
<div class="basic_search">
<span>所属部门名称:</span>
<el-select v-model="listQuery.depId">
<el-option
v-for="item in departmentList"
:key="item.id"
- :value="item.department"
+ :value="item.id"
:label="item.department"
></el-option>
</el-select>
</div>
- <div class="basic_search">
- <span>区域位置:</span>
- <el-input v-model="listQuery.location" class="analyseUnit_input">
- </el-input>
- </div>
+<!-- <div class="basic_search">-->
+<!-- <span>区域位置:</span>-->
+<!-- <el-input v-model="listQuery.location" class="analyseUnit_box">-->
+<!-- </el-input>-->
+<!-- </div>-->
<el-button class="filter-item" style="margin-left: 10px;margin-top: 10px" type="primary" icon="el-icon-refresh" @click="refreshHandle">搜索</el-button>
<el-button class="filter-item" style="margin-left: 10px;margin-top: 10px" type="primary" icon="el-icon-plus" @click="showRiskSourceForm('','新增')">新增</el-button>
@@ -68,36 +68,29 @@
highlight-current-row
style="width: 100%;"
>
- <el-table-column label="生产装置名称" prop="name" align="center">
+ <el-table-column type="index" label="序号" width="60" />
+ <el-table-column prop="produceDeviceName" label="生产装置名称" show-overflow-tooltip></el-table-column>
+ <el-table-column prop="depName" label="所属部门" show-overflow-tooltip>
</el-table-column>
- <el-table-column label="风险等级" prop="level" align="center">
- <template slot-scope="scope">
- {{ scope.row.level | parseLevel}}
+ <el-table-column prop="riskLevel" label="风险等级" show-overflow-tooltip>
+ <template slot-scope="scope">
+ <el-tag :type="scope.row.riskLevel === 1 ? 'success' : scope.row.riskLevel === 2 ? 'info' : scope.row.riskLevel === 3 ? 'warning' : 'danger'">
+ {{ parseNumber(scope.row.riskLevel, '风险等级') }}
+ </el-tag>
</template>
</el-table-column>
- <el-table-column label="可能导致的主要事故类型" prop="accidentDesc" align="center">
- </el-table-column>
- <el-table-column label="区域位置" prop="location" align="center">
- </el-table-column>
- <el-table-column label="所属单位" prop="depName" 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="editUname" align="center">
- </el-table-column>
- <el-table-column label="最后修改时间" prop="editTime" align="center">
- </el-table-column>
- <el-table-column label="状态" prop="status" align="center">
+ <el-table-column prop="location" label="区域位置" show-overflow-tooltip></el-table-column>
+ <el-table-column prop="status" label="状态" show-overflow-tooltip>
<template slot-scope="scope">
- <div v-for="item in statusList">
- <div v-show="item.id === scope.row.status">
- <el-tag :type="scope.row.status === 1 ? 'success' : (scope.row.status === 2 ? 'warning' : 'danger')">{{item.name}}</el-tag>
- </div>
- </div>
- </template>>
+ <el-tag :type="scope.row.status === 1 ? 'primary' : 'warning'">
+ {{ parseNumber(scope.row.status, '状态') }}
+ </el-tag>
+ </template>
</el-table-column>
+ <el-table-column prop="createByUserName" label="创建人" show-overflow-tooltip></el-table-column>
+ <el-table-column prop="gmtCreate" label="创建时间" show-overflow-tooltip></el-table-column>
+ <el-table-column prop="lastEditUserName" label="最后修改人" show-overflow-tooltip></el-table-column>
+ <el-table-column prop="gmtModitify" label="最后修改时间" show-overflow-tooltip></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="showRiskSourceForm(scope.row,'编辑')">编辑</el-button>
@@ -122,12 +115,22 @@
</div>
<el-dialog :title="title" :visible.sync="riskSourceVisible" :modal-append-to-body="false" :close-on-click-modal="false" width="600px">
<el-form ref="riskSourceForm" :rules="riskSourceFormRules" :model="riskSourceForm" label-position="right" label-width="165px">
- <el-form-item label="生产装置名称" prop="name">
- <el-input v-model="riskSourceForm.name" class="analyseUnit_input">
+ <el-form-item label="生产装置名称" prop="produceDeviceName">
+ <el-input v-model="riskSourceForm.produceDeviceName" class="analyseUnit_input" placeholder="请输入生产装置名称">
</el-input>
</el-form-item>
- <el-form-item label="风险等级" prop="level">
- <el-select v-model="riskSourceForm.level" class="analyseUnit_input">
+ <el-form-item label="所属部门" prop="depId">
+ <el-select v-model="riskSourceForm.depId" class="analyseUnit_input" placeholder="请选择所属部门">
+ <el-option
+ v-for="item in departmentList"
+ :key="item.id"
+ :value="item.id"
+ :label="item.department"
+ ></el-option>
+ </el-select>
+ </el-form-item>
+ <el-form-item label="风险等级" prop="riskLevel">
+ <el-select v-model="riskSourceForm.riskLevel" class="analyseUnit_input" placeholder="请选择风险等级">
<el-option
v-for="item in levelList"
:key="item.id"
@@ -136,22 +139,11 @@
></el-option>
</el-select>
</el-form-item>
- <el-form-item label="可能导致事故的主要原因" prop="accidentDesc">
- <el-input v-model="riskSourceForm.accidentDesc" class="analyseUnit_input"></el-input>
- </el-form-item>
<el-form-item label="区域位置" prop="location">
- <el-input v-model="riskSourceForm.location" class="analyseUnit_input"></el-input>
+ <el-input v-model="riskSourceForm.location" class="analyseUnit_input" placeholder="请填写区域位置">
+ </el-input>
</el-form-item>
- <el-form-item label="所属部门" prop="depId">
- <el-select v-model="riskSourceForm.depId" class="analyseUnit_input">
- <el-option
- v-for="item in departmentList"
- :key="item.id"
- :value="item.id"
- :label="item.department"
- ></el-option>
- </el-select>
- </el-form-item>
+
</el-form>
<div align="right">
<el-button @click="riskSourceVisible = false">取消</el-button>
@@ -249,32 +241,24 @@
importDialogFormVisible:false,
riskSourceVisible:false,
riskSourceFormRules:{
- name: [{ required: true, message: '风险源名称不能为空', trigger: 'blur' }],
- level: [{ required: true, message: '风险等级不能为空', trigger: 'change' }],
- accidentDesc: [{ required: true, message: '可能导致事故的主要原因不能为空', trigger: 'blur' }],
- location: [{ required: true, message: '区域位置不能为空', trigger: 'blur' }],
- depId: [{ required: true, message: '所属部门不能为空', trigger: 'change' }],
+ produceDeviceName: [{ required: true, message: '请填写生产装置名称', trigger: 'blur' }],
+ depId: [{ required: true, message: '请选择部门', trigger: 'change' }],
+ riskLevel: [{ required: true, message: '请选择风险等级', trigger: 'change' }],
+ location: [{ required: true, message: '请填写区域位置', trigger: 'blur' }]
},
riskSourceForm:{
- accidentDesc: "",
+ produceDeviceName: '',
depId: null,
- editUid: null,
- id: null,
- level: null,
- location: "",
- name: "",
+ riskLevel: null,
+ location: ''
},
listQuery:{
- startTime:'',
- endTime:'',
- status:'',
- level:'',
- depId:'',
- depName:'',
- location:'',
- pageIndex:1,
- pageSize:10,
- name:'',
+ pageIndex: 1,
+ pageSize: 10,
+ riskLevel: null,
+ status: 1,
+ depId:null,
+ produceDeviceName: null
},
}
},
@@ -287,8 +271,8 @@
this.listLoading = true
let res = await getRiskSourceList(this.listQuery)
if(res.data.code === '200'){
- this.recordTotal = JSON.parse(res.data.message).totalCount
- this.riskSourceData = res.data.result
+ this.recordTotal = res.data.count
+ this.riskSourceData = res.data.data
}else{
this.$message({
message:res.data.message,
@@ -311,6 +295,13 @@
}
}
},
+ parseNumber (value,type) {
+ if (type === '风险等级') {
+ return this.levelList.find((item) => item.id === value).name;
+ } else if (type === '状态') {
+ return this.statusList.find((item) => item.id === value).name;
+ }
+ },
showRiskSourceForm(value,type){
this.riskSourceVisible = true
this.$nextTick(() =>{
@@ -319,19 +310,17 @@
if(type === '新增'){
this.title = '新增'
this.riskSourceForm = {
- accidentDesc: "",
+ produceDeviceName: '',
depId: null,
- editUid: null,
- id: null,
- level: null,
- location: "",
- name: "",
+ riskLevel: null,
+ location: ''
}
}else{
this.title = '编辑'
for( let key in this.riskSourceForm){
this.riskSourceForm[key] = JSON.parse(JSON.stringify(value))[key]
}
+ this.riskSourceForm.id = JSON.parse(JSON.stringify(value)).id
}
},
submitRiskSourceForm(){
@@ -498,6 +487,9 @@
padding-bottom: 10px;
}
.analyseUnit_input{
+ width:90%;
+}
+.analyseUnit_box{
width:200px;
}
</style>
diff --git a/src/views/login/index.vue b/src/views/login/index.vue
index 9797916..3bd85be 100644
--- a/src/views/login/index.vue
+++ b/src/views/login/index.vue
@@ -92,6 +92,7 @@
_this.loading = true
loginByUsername(loginForm)
.then((response) => {
+ debugger
const res = response.data
if (res.code == 200) {
sessionStorage.setItem('isdepartment',res.result.isdepartment)
--
Gitblit v1.9.2