From 2702a269f93dc48195da00c79d7d4cc51d89223d Mon Sep 17 00:00:00 2001 From: Your Name <123456> Date: 星期一, 21 三月 2022 17:04:38 +0800 Subject: [PATCH] '风险分级管控' --- src/views/doublePreventAction/riskLevelManage/controlAction/index.vue | 393 +++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 389 insertions(+), 4 deletions(-) diff --git a/src/views/doublePreventAction/riskLevelManage/controlAction/index.vue b/src/views/doublePreventAction/riskLevelManage/controlAction/index.vue index db27c8a..3a2fb13 100644 --- a/src/views/doublePreventAction/riskLevelManage/controlAction/index.vue +++ b/src/views/doublePreventAction/riskLevelManage/controlAction/index.vue @@ -1,13 +1,398 @@ <template> - + <div class="app-container"> + <div class="filter-container"> + <div class="basic_search"> + <span>单位名称:</span> + <el-input v-model="listQuery.filter.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> + <el-button class="filter-item" style="margin-left: 10px;margin-top: 10px" type="primary" icon="el-icon-plus" @click="showRiskControlMeasureForm('','新增')">新增</el-button> + </div> + <div class="table_content"> + <el-table + v-loading="listLoading" + :key="tableKey" + :data="riskControlMeasureData" + border + fit + highlight-current-row + style="width: 100%;" + > + <el-table-column label="安全风险事件名称" prop="riskEventId" align="center"> + </el-table-column> + <el-table-column label="管控方式" prop="dataSrc" align="center"> + </el-table-column> + <el-table-column label="管控方式描述" prop="riskMeasureDesc" align="center"> + </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"> + </el-table-column> + <el-table-column label="检查类型" prop="hazardLiablePerson" 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 label="操作" align="center" width="280" class-name="small-padding fixed-width"> + <template slot-scope="scope"> + <el-button type="text" @click="showRiskControlMeasureForm(scope.row,'编辑')">编辑</el-button> + <el-button type="text" style="color: red" @click="deleteById(scope.row)">删除</el-button> + </template> + </el-table-column> + </el-table> + <br> + <el-pagination + v-show="recordTotal>0" + :current-page="currentPage" + :page-sizes="[10, 20, 30, 50]" + :page-size="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="riskControlMeasureVisible" :modal-append-to-body="false" :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-option + v-for="item in riskEventList" + :key="item.id" + :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-select> + </el-form-item> + <el-form-item label="管控方式描述" prop="riskMeasureDesc"> + <el-input v-model="riskControlMeasureForm.riskMeasureDesc" class="analyseUnit_input"></el-input> + </el-form-item> + <el-form-item label="管控措施分类1" prop="classify1"> + <el-select v-model="riskControlMeasureForm.classify1" class="analyseUnit_input" @change="changeClassifyTwoList(val)"> + <el-option + v-for="item in classifyOneList" + :key="item.id" + :value="item.name" + :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-option + v-for="item in classifyTwoList" + :key="item.id" + :value="item.name" + :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-form-item> + <el-form-item label="隐患排查内容" prop="troubleshootContent"> + <el-input v-model="riskControlMeasureForm.troubleshootContent" class="analyseUnit_input"></el-input> + </el-form-item> + </el-form> + <div align="right"> + <el-button @click="unitFormVisible = false">取消</el-button> + <el-button type="primary" @click="submitAnalyseUnit()">确认</el-button> + </div> + </el-dialog> + </div> </template> <script> + import { mapGetters } from 'vuex' + import { computePageCount } from '@/utils' + import { addRiskControlMeasure, deleteRiskControlMeasure, getRiskControlMeasureList, updateRiskControlMeasure } from '@/api/riskLevelManage' + import {getClassify, getRiskEventList} from "../../../../api/riskLevelManage"; + import {dictionaryAllItems} from "../../../../api/dictionary"; export default { - name: "index" + name: 'index', + filters: { + parseMain(type){ + if(type === 1){ + return "是" + }else if(type === 0){ + return "否" + } + }, + }, + computed: { + ...mapGetters([ + 'userType' + ]) + }, + data() { + return { + tableKey: 0, + riskControlMeasureData: [], + riskEventList:[], + DataSrcList:[], + classifyOneList:[], + classifyTwoList:[], + listLoading: false, + pageSize: 10, + recordTotal: 0, + currentPage: 1, + pageTotal: 0, + title:'', + company:'', + code:'', + 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' }], + classify3: [{ required: true, message: '管控措施分类3不能为空', trigger: 'blur' }], + troubleshootContent: [{ required: true, message: '隐患排查内容不能为空', trigger: 'change' }], + }, + riskControlMeasureForm:{ + id: null, + riskEventId: null, + dataSrc: "", + riskMeasureDesc: "", + classify1: "", + classify2: "", + classify3: "", + troubleshootContent: "", + validFlag: true, + createTime: "", + updateTime: "", + createBy: "", + updateBy: "", + riskEvent: { + } + }, + listQuery:{ + pageIndex:1, + pageSize:10, + filter:{ + riskUnitName:'', + } + }, + } + }, + created() { + this.getRiskControlMeasureData() + this.getRiskEvent() + this.getDataSrcList() + this.getClassify() + }, + methods: { + async getRiskControlMeasureData(){ + 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 + }else{ + this.$message({ + message:res.data.message, + type:'warning' + }) + } + this.listLoading = false + }, + async getRiskEvent(){ + let res = await getRiskEventList({pageSize:1000,pageIndex:1,filter:{riskEventName:''}}) + if(res.data.code === '200'){ + this.riskEventList = res.data.result.records + }else{ + this.$message({ + message:res.data.message, + type:'warning' + }) + } + }, + async getClassify(){ + let res = await getClassify({pageSize:1000,pageIndex:1,filter:{riskEventName:''}}) + if(res.data.code === '200'){ + debugger + this.classifyOneList = res.data.result + }else{ + this.$message({ + message:res.data.message, + type:'warning' + }) + } + }, + 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 + this.riskControlMeasureForm.classify2 = '' + this.riskControlMeasureForm.classify3 = '' + }else if(this.riskControlMeasureForm.classify1 === '维护保养') { + this.classifyTwoList = this.classifyOneList[1].subClassify + this.riskControlMeasureForm.classify2 = '' + this.riskControlMeasureForm.classify3 = '' + }else if(this.riskControlMeasureForm.classify1 === '操作行为') { + this.classifyTwoList = this.classifyOneList[2].subClassify + this.riskControlMeasureForm.classify2 = '' + this.riskControlMeasureForm.classify3 = '' + }else { + this.classifyTwoList = this.classifyOneList[3].subClassify + this.riskControlMeasureForm.classify2 = '' + this.riskControlMeasureForm.classify3 = '' + } + }, + showRiskControlMeasureForm(value,type){ + this.riskControlMeasureVisible = true + this.$nextTick(() =>{ + this.$refs["riskControlMeasureForm"].clearValidate() + }) + if(type === '新增'){ + this.title = '新增' + this.riskControlMeasureForm = { + id: null, + riskEventId: null, + dataSrc: "", + riskMeasureDesc: "", + classify1: "", + classify2: "", + classify3: "", + troubleshootContent: "", + validFlag: true, + createTime: "", + updateTime: "", + createBy: "", + updateBy: "", + riskEvent: { + } + } + }else{ + this.title = '修改' + this.riskControlMeasureForm = value + } + }, + submitAnalyseUnit(){ + this.$refs["riskControlMeasureForm"].validate((valid) => { + if(valid){ + if(this.title === '新增'){ + addRiskControlMeasure(this.riskControlMeasureForm).then((res)=>{ + if(res.data.code === '200'){ + this.riskControlMeasureVisible = false + this.getRiskControlMeasureData() + this.$notify({ + type:'success', + duration:2000, + message:'新增成功', + title:'成功' + }) + }else{ + this.$message({ + type:'warning', + message:res.data.message + }) + } + }) + }else{ + updateRiskControlMeasure(this.riskControlMeasureForm).then((res)=>{ + if(res.data.code === '200'){ + this.riskControlMeasureVisible = false + this.getRiskControlMeasureData() + this.$notify({ + type:'success', + duration:2000, + title:'成功', + message:'编辑成功' + }) + }else{ + this.$message({ + type:'warning', + message:res.data.message + }) + } + }) + } + }else{ + this.$message({ + message:'请完善基本信息', + type:'warning' + }) + } + }) + + }, + deleteById(val){ + this.$confirm('删除此条信息,是否继续','提示',{ + confirmButtonText:'确定', + cancelButtonText:'取消', + type:'warning', + }).then(()=> { + deleteRiskControlMeasure({id:val.id}).then( ()=>{ + this.getRiskControlMeasureData() + this.$notify({ + title:'成功', + message:'删除成功', + type:'success', + duration:2000, + }) + }) + }) + }, + refreshHandle(){ + this.getRiskControlMeasureData() + }, + handleSizeChange(val){ + this.listQuery.pageSize = val + this.getRiskControlMeasureData() + }, + handleCurrentChange(val){ + this.listQuery.pageIndex = val + this.getRiskControlMeasureData() + }, + } } </script> - <style scoped> - + .basic_search{ + display:inline-block; + padding-bottom: 10px; + } + .analyseUnit_input{ + width:320px; + } </style> -- Gitblit v1.9.2