From c819024e241b9f7c54cc3786373ad0d2998f2190 Mon Sep 17 00:00:00 2001
From: 马宇豪 <978517621@qq.com>
Date: Fri, 05 May 2023 08:55:46 +0800
Subject: [PATCH] 修改
---
src/views/doublePreventAction/hiddenDanger/hiddenDangerReform/report/index.vue | 300 +++++++++++++++++++++++++++++++++++++++++++----------------
1 files changed, 218 insertions(+), 82 deletions(-)
diff --git a/src/views/doublePreventAction/hiddenDanger/hiddenDangerReform/report/index.vue b/src/views/doublePreventAction/hiddenDanger/hiddenDangerReform/report/index.vue
index ceddc9a..5042094 100644
--- a/src/views/doublePreventAction/hiddenDanger/hiddenDangerReform/report/index.vue
+++ b/src/views/doublePreventAction/hiddenDanger/hiddenDangerReform/report/index.vue
@@ -1,44 +1,47 @@
<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>
+ <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>
+ <div class="basic_search">
+ <span>上报部门:</span>
+ <el-select v-model="filter.depId" 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: 160px" v-model="filter.filter.rectifierName"></el-input>
-
-
- <el-button class="filter-item" style="margin-left: 10px;" type="primary"
- 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"/>
+
+ <el-button class="filter-item" style="margin-left: 10px;" type="primary"
+ icon="el-icon-plus" @click="showCreateHandle('新增', '')">新增
+ </el-button>
</div>
<div class="table_content">
<el-table
@@ -50,36 +53,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="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="dangerType" label="隐患类型" show-overflow-tooltip min-width="150px">
<template slot-scope="scope">
- <span v-bind:class="{'overdue':new Date(scope.row.rectifydeadline) < new Date() && scope.row.status !== '已完成'}">{{scope.row.rectifydeadline}}
- </span>
+ {{ parseNumber(scope.row.dangerType, '隐患类型') }}
</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 label="操作" align="center" width="240" class-name="small-padding fixed-width">
+ <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">
- <el-button type="text" @click="viewHandle(scope.row)">查看</el-button>
+ <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 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" fixed="right">
+ <template slot-scope="scope">
+ <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>
@@ -109,6 +117,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",
@@ -122,40 +135,78 @@
tableKey: 0,
tableData:[],
listLoading: true,
- levels:[
- {"key":"URGENT","value":"紧急"},
- {"key":"COMMON","value":"一般"},
+ departmentList: [],
+ dangerLevelList: [
+ { id: 1, name: '一般隐患' },
+ { id: 2, name: '重大隐患' }
],
- reportStatus:[
- {"key":"TORECTIFY","value":"待整改"},
- {"key":"TOACCEPT","value":"整改待验收"},
- {"key":"REJECTED","value":"驳回待整改"},
- {"key":"COMPLETED","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: '其他' }
],
+ 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: '死亡' },
+ { id: 5, name: '设备损坏' },
+ { id: 6, name: '系统停车' },
+ ],
+ allProduceDeviceData: [],
+ allSafetyRiskUnitData: [],
dataForm: {
rectifydeadline:'',
rectifymeasure:'',
rectifier:'',
rectifierid:'',
note: '',
- level:''
+ level:'',
+
},
isSupervision: '',
filter:{
- pageIndex:1,
- pageSize:10,
- filter:{
- code:'',
- status:null,
- level:null,
- rectifierName:'',
- }
+ pageIndex: 1,
+ pageSize: 10,
+ dangerLevel: null,
+ dangerSource: null,
+ dangerStatus: null,
+ depId:null,
+ dangerType: null
},
}
},
created() {
this.hiddenDangerList();
+ this.getDepartmentData();
+ this.getUser();
+ this.getAllProduceDeviceData();
+ this.getAllSafetyRiskEventData();
},
methods: {
queryHandle: function () {
@@ -172,8 +223,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)
@@ -203,8 +254,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'});
@@ -220,12 +271,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;
+ }
}
}
@@ -243,7 +369,7 @@
color: red;
}
.overdue-img{
- position: fixed;
+ position: absolute;
background-color: #f56c6c;
border-radius: 4px;
color: #fff;
@@ -258,4 +384,14 @@
padding: 1px 3px 0 3px;
}
+ .basic_search{
+ display:inline-block;
+ padding-bottom: 10px;
+ }
+ .analyseUnit_input{
+ width:90%;
+ }
+ .analyseUnit_box{
+ width:200px;
+ }
</style>
--
Gitblit v1.9.2