From 2702a269f93dc48195da00c79d7d4cc51d89223d Mon Sep 17 00:00:00 2001 From: Your Name <123456> Date: 星期一, 21 三月 2022 17:04:38 +0800 Subject: [PATCH] '风险分级管控' --- src/api/riskLevelManage.js | 105 ++++++ src/views/doublePreventAction/riskLevelManage/controlAction/index.vue | 393 ++++++++++++++++++++++++ src/store/modules/user.js | 9 src/views/doublePreventAction/riskLevelManage/event/index.vue | 285 +++++++++++++++++ src/store/index.js | 14 src/views/login/index.vue | 1 src/views/doublePreventAction/riskLevelManage/analyseUnit/index.vue | 118 ++++--- src/store/modules/changeData.js | 17 + 8 files changed, 876 insertions(+), 66 deletions(-) diff --git a/src/api/riskLevelManage.js b/src/api/riskLevelManage.js index d04612a..a9c61fb 100644 --- a/src/api/riskLevelManage.js +++ b/src/api/riskLevelManage.js @@ -44,3 +44,108 @@ data:data }) } + + + +export function getRiskEventList(data) { + return request({ + headers: { + 'Authorization': getToken() + }, + url: process.env.BASE_API + '/riskEvent/page', + method: 'post', + data:data + }) +} + +export function addRiskEvent(data) { + return request({ + headers: { + 'Authorization': getToken() + }, + url: process.env.BASE_API + '/riskEvent/add', + method: 'post', + data:data + }) +} + +export function updateRiskEvent(data) { + return request({ + headers: { + 'Authorization': getToken() + }, + url: process.env.BASE_API + '/riskEvent/mod', + method: 'post', + data:data + }) +} + +export function deleteRiskEvent(data) { + return request({ + headers: { + 'Authorization': getToken() + }, + url: process.env.BASE_API + '/riskEvent/del', + method: 'post', + data:data + }) +} + + + + + +export function getRiskControlMeasureList(data) { + return request({ + headers: { + 'Authorization': getToken() + }, + url: process.env.BASE_API + '/riskControlMeasure/page', + method: 'post', + data:data + }) +} + +export function addRiskControlMeasure(data) { + return request({ + headers: { + 'Authorization': getToken() + }, + url: process.env.BASE_API + '/riskControlMeasure/add', + method: 'post', + data:data + }) +} + +export function updateRiskControlMeasure(data) { + return request({ + headers: { + 'Authorization': getToken() + }, + url: process.env.BASE_API + '/riskControlMeasure/mod', + method: 'post', + data:data + }) +} + +export function deleteRiskControlMeasure(data) { + return request({ + headers: { + 'Authorization': getToken() + }, + url: process.env.BASE_API + '/riskControlMeasure/del', + method: 'post', + data:data + }) +} + + +export function getClassify() { + return request({ + headers: { + 'Authorization': getToken() + }, + url: process.env.BASE_API + '/riskControlClassify/all', + method: 'get', + }) +} diff --git a/src/store/index.js b/src/store/index.js index 864d853..1ba79e6 100644 --- a/src/store/index.js +++ b/src/store/index.js @@ -7,17 +7,19 @@ import user from './modules/user' import getters from './getters' import map from "./modules/map"; +import changeData from "./modules/changeData"; Vue.use(Vuex) const store = new Vuex.Store({ modules: { - app, - errorLog, - permission, - tagsView, - user, - map + app, + errorLog, + permission, + tagsView, + user, + map, + changeData, }, getters }) diff --git a/src/store/modules/changeData.js b/src/store/modules/changeData.js new file mode 100644 index 0000000..b4cb42b --- /dev/null +++ b/src/store/modules/changeData.js @@ -0,0 +1,17 @@ +const changeData = { + state:{ + classifyOne:'', + }, + mutations: { + SET_ONE : (state , name) =>{ + state.classifyOne = name + } + }, + actions:{ + getClassifyOne({ commit }, listQuery){ + commit('SET_ONE', listQuery) + } + } +} + +export default changeData diff --git a/src/store/modules/user.js b/src/store/modules/user.js index 55f6f2f..80b9a36 100644 --- a/src/store/modules/user.js +++ b/src/store/modules/user.js @@ -19,7 +19,8 @@ roles: [], setting: { articlePlatform: [] - } + }, + classifyOne:'', }, mutations: { @@ -62,9 +63,15 @@ SET_PRINT: (state, printBar) => { state.printBar = printBar }, + SET_ONE : (state , name) =>{ + state.classifyOne = name + } }, actions: { + getClassifyOne({ commit }, listQuery){ + commit('SET_ONE', listQuery) + }, // 用户名登录 LoginByUsername({ commit }, userInfo) { const username = userInfo.username.trim() diff --git a/src/views/doublePreventAction/riskLevelManage/analyseUnit/index.vue b/src/views/doublePreventAction/riskLevelManage/analyseUnit/index.vue index 81a0abf..0538c5d 100644 --- a/src/views/doublePreventAction/riskLevelManage/analyseUnit/index.vue +++ b/src/views/doublePreventAction/riskLevelManage/analyseUnit/index.vue @@ -3,11 +3,11 @@ <div class="filter-container"> <div class="basic_search"> <span>单位名称:</span> - <el-input v-model="listQuery.filter.riskUintName" style="width:200px"> + <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="showUnitForm('','新增')">新增</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 @@ -19,15 +19,13 @@ highlight-current-row style="width: 100%;" > - <el-table-column label="安全风险分析单元ID" prop="hazardLiablePersonId" align="center"> - </el-table-column> <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="riskUintName" align="center"> + <el-table-column label="安全风险分析单元名称" prop="riskUnitName" align="center"> </el-table-column> <el-table-column label="创建人" prop="createBy" align="center"> </el-table-column> @@ -39,7 +37,7 @@ </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="showUnitForm(scope.row,'编辑')">编辑</el-button> + <el-button type="text" @click="showAnalyseUnitForm(scope.row,'编辑')">编辑</el-button> <el-button type="text" style="color: red" @click="deleteById(scope.row)">删除</el-button> </template> </el-table-column> @@ -60,8 +58,8 @@ <br> </div> <el-dialog :title="title" :visible.sync="analyseUnitVisible" :modal-append-to-body="false" :close-on-click-modal="false" width="600px"> - <el-form ref="dataForm" :rules="analyseUnitFormRules" :model="analyseUnitForm" label-position="right" label-width="160px"> - <el-form-item label="责任部门"> + <el-form ref="analyseUnitForm" :rules="analyseUnitFormRules" :model="analyseUnitForm" label-position="right" label-width="165px"> + <el-form-item label="责任部门" prop="hazardDep"> <el-select v-model="analyseUnitForm.hazardDep" class="analyseUnit_input"> <el-option v-for="item in departmentList" @@ -71,19 +69,19 @@ ></el-option> </el-select> </el-form-item> - <el-form-item label="责任人"> + <el-form-item label="责任人" prop="hazardLiablePerson"> <el-input v-model="analyseUnitForm.hazardLiablePerson" class="analyseUnit_input"></el-input> </el-form-item> - <el-form-item label="安全风险分析对象编码"> + <el-form-item label="安全风险分析对象编码" prop="hazardCode"> <el-input v-model="analyseUnitForm.hazardCode" class="analyseUnit_input"></el-input> </el-form-item> - <el-form-item label="安全分线分析单元名称"> - <el-input v-model="analyseUnitForm.riskUintName" class="analyseUnit_input"></el-input> + <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"> <el-button @click="unitFormVisible = false">取消</el-button> - <el-button type="primary" @click="submitUnit()">确认</el-button> + <el-button type="primary" @click="submitAnalyseUnit()">确认</el-button> </div> </el-dialog> </div> @@ -124,13 +122,18 @@ company:'', code:'', analyseUnitVisible:false, - analyseUnitFormRules:{}, + analyseUnitFormRules:{ + hazardDep: [{ required: true, message: '责任部门不能为空', trigger: 'change' }], + hazardLiablePerson: [{ required: true, message: '责任人不能为空', trigger: 'blur' }], + hazardCode: [{ required: true, message: '安全风险分析对象编码不能为空', trigger: 'blur' }], + riskUnitName: [{ required: true, message: '安全风险分析单元名称不能为空', trigger: 'blur' }], + }, analyseUnitForm:{ id: null, hazardCode: "", hazardDep: "", hazardLiablePerson: "", - riskUintName: "", + riskUnitName: "", createTime: "", updateTime: "", createBy: "", @@ -181,8 +184,11 @@ }) } }, - showUnitForm(value,type){ + showAnalyseUnitForm(value,type){ this.analyseUnitVisible = true + this.$nextTick(() =>{ + this.$refs["analyseUnitForm"].clearValidate() + }) if(type === '新增'){ this.title = '新增' this.analyseUnitForm = { @@ -190,7 +196,7 @@ hazardCode: "", hazardDep: "", hazardLiablePerson: "", - riskUintName: "", + riskUnitName: "", createTime: "", updateTime: "", createBy: "", @@ -204,44 +210,54 @@ this.analyseUnitForm = value } }, - submitUnit(){ - if(this.title === '新增'){ - addAnalyseUnit(this.analyseUnitForm).then((res)=>{ - if(res.data.code === '200'){ - this.analyseUnitVisible = false - this.getAnalyseUnitData() - this.$notify({ - type:'success', - duration:2000, - message:'新增成功', - title:'成功' + submitAnalyseUnit(){ + this.$refs["analyseUnitForm"].validate((valid) =>{ + if(valid){ + if(this.title === '新增'){ + addAnalyseUnit(this.analyseUnitForm).then((res)=>{ + if(res.data.code === '200'){ + this.analyseUnitVisible = false + this.getAnalyseUnitData() + this.$notify({ + type:'success', + duration:2000, + message:'新增成功', + title:'成功' + }) + }else{ + this.$message({ + type:'warning', + message:res.data.message + }) + } }) }else{ - this.$message({ - type:'warning', - message:res.data.message + updateAnalyseUnit(this.analyseUnitForm).then((res)=>{ + if(res.data.code === '200'){ + this.analyseUnitVisible = false + this.getAnalyseUnitData() + this.$notify({ + type:'success', + duration:2000, + title:'成功', + message:'编辑成功' + }) + }else{ + this.$message({ + type:'warning', + message:res.data.message + }) + } }) } - }) - }else{ - updateAnalyseUnit(this.analyseUnitForm).then((res)=>{ - if(res.data.code === '200'){ - this.analyseUnitVisible = false - this.getAnalyseUnitData() - this.$notify({ - type:'success', - duration:2000, - title:'成功', - message:'编辑成功' - }) - }else{ - this.$message({ - type:'warning', - message:res.data.message - }) - } - }) - } + }else{ + this.$message({ + type:'warning', + message:'请完善基本信息' + }) + } + }) + }, deleteById(val){ this.$confirm('删除此条信息,是否继续','提示',{ 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> diff --git a/src/views/doublePreventAction/riskLevelManage/event/index.vue b/src/views/doublePreventAction/riskLevelManage/event/index.vue index db27c8a..a8bc8ca 100644 --- a/src/views/doublePreventAction/riskLevelManage/event/index.vue +++ b/src/views/doublePreventAction/riskLevelManage/event/index.vue @@ -1,13 +1,290 @@ <template> - + <div class="app-container"> + <div class="filter-container"> + <div class="basic_search"> + <span>单位名称:</span> + <el-input v-model="listQuery.filter.riskUintName" 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="showRiskEvent('','新增')">新增</el-button> + </div> + <div class="table_content"> + <el-table + v-loading="listLoading" + :key="tableKey" + :data="riskEventData" + border + fit + 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 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> + <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="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-option + v-for="item in analyseUnitList" + :key="item.id" + :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-form-item> + </el-form> + <div align="right"> + <el-button @click="riskEventVisible = false">取消</el-button> + <el-button type="primary" @click="submitRiskEvent()">确认</el-button> + </div> + </el-dialog> + </div> </template> <script> + import { mapGetters } from 'vuex' + import { computePageCount } from '@/utils' + import { addRiskEvent, deleteRiskEvent, getRiskEventList, updateRiskEvent } from '@/api/riskLevelManage' + import {getAnalyseUnitList} from "../../../../api/riskLevelManage"; 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, + riskEventData: [], + analyseUnitList:[], + listLoading: false, + pageSize: 10, + recordTotal: 0, + currentPage: 1, + pageTotal: 0, + title:'', + company:'', + code:'', + riskEventVisible:false, + riskEventFormRules:{ + riskUnitId: [{ required: true, message: '安全风险分析单元名称不能为空', trigger: 'change' }], + riskEventName: [{ required: true, message: '安全风险事件名称不能为空', trigger: 'blur' }], + + }, + riskEventForm:{ + id: "", + riskUnitId: "", + riskEventName: "", + validFlag: true, + createTime: "", + createBy: "", + updateTime: "", + updateBy: "", + riskAnaUnit: { + }, + }, + listQuery:{ + pageIndex:1, + pageSize:10, + filter:{ + riskEventName:'', + } + }, + } + }, + created() { + this.getRiskEventData() + this.getAnalyseUnitData() + }, + methods: { + async getRiskEventData(){ + 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 + }else{ + this.$message({ + message:res.data.message, + type:'warning' + }) + } + this.listLoading = false + }, + async getAnalyseUnitData(){ + let res = await getAnalyseUnitList({pageSize:1000,pageIndex:1,filter:{ riskUnitName:''}}) + if(res.data.code === '200'){ + debugger + this.analyseUnitList = res.data.result.records + }else{ + this.$message({ + message:res.data.message, + type:'warning' + }) + } + }, + showRiskEvent(value,type){ + this.riskEventVisible = true + this.$nextTick(() =>{ + this.$refs["riskEventForm"].clearValidate() + }) + if(type === '新增'){ + this.title = '新增' + this.riskEventForm = { + id: "", + riskUnitId: "", + riskEventName: "", + validFlag: true, + createTime: "", + createBy: "", + updateTime: "", + updateBy: "", + riskAnaUnit: { + riskUnitName:"" + }, + } + }else{ + this.title = '修改' + this.riskEventForm = value + } + }, + submitRiskEvent(){ + this.$refs["riskEventForm"].validate((valid) =>{ + if(valid){ + if(this.title === '新增'){ + addRiskEvent(this.riskEventForm).then((res)=>{ + if(res.data.code === '200'){ + this.riskEventVisible = false + this.getRiskEventData() + this.$notify({ + type:'success', + duration:2000, + message:'新增成功', + title:'成功' + }) + }else{ + this.$message({ + type:'warning', + message:res.data.message + }) + } + }) + }else{ + updateRiskEvent(this.riskEventForm).then((res)=>{ + if(res.data.code === '200'){ + this.riskEventVisible = false + this.getRiskEventData() + 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(()=> { + deleteRiskEvent({id:val.id}).then( ()=>{ + this.getRiskEventData() + this.$notify({ + title:'成功', + message:'删除成功', + type:'success', + duration:2000, + }) + }) + }) + }, + refreshHandle(){ + this.getRiskEventData() + }, + handleSizeChange(val){ + this.listQuery.pageSize = val + this.getRiskEventData() + }, + handleCurrentChange(val){ + this.listQuery.pageIndex = val + this.getRiskEventData() + }, + } } </script> - <style scoped> - + .basic_search{ + display:inline-block; + padding-bottom: 10px; + } + .analyseUnit_input{ + width:320px; + } </style> diff --git a/src/views/login/index.vue b/src/views/login/index.vue index d35ac25..ccbf68b 100644 --- a/src/views/login/index.vue +++ b/src/views/login/index.vue @@ -95,6 +95,7 @@ const res = response.data if (res.code == 200) { localStorage.setItem('loginForm',JSON.stringify(loginForm)) + // this.$store.dispatch('user/getClassifyOne',1) _this.loading = false const data = res.result if (data.type != 1 && data.type != 2) { -- Gitblit v1.9.2