From c903c7a17f51a1a70d27cd317ad67a40c562af45 Mon Sep 17 00:00:00 2001 From: Your Name <123456> Date: 星期三, 06 四月 2022 17:27:32 +0800 Subject: [PATCH] '巡检任务' --- src/views/doublePreventAction/riskLevelManage/controlAction/index.vue | 17 + config/dev.env.js | 13 src/views/doublePreventAction/hiddenDanger/inspectionTask/components/inpectionPoint.vue | 64 ++++++ src/views/doublePreventAction/hiddenDanger/inspectionTask/index.vue | 434 +++++++++++++++++++++++++++++++++++++++++++ src/views/doublePreventAction/riskLevelManage/riskSourceManage/index.vue | 13 + src/api/inspectionTask.js | 13 + 6 files changed, 547 insertions(+), 7 deletions(-) diff --git a/config/dev.env.js b/config/dev.env.js index f26d779..25b6b01 100644 --- a/config/dev.env.js +++ b/config/dev.env.js @@ -16,10 +16,15 @@ // IMG_API: '"https://sinanoaq.com:8100/upload/"', // BASE_API: '"http://220.171.99.118:4100"', // IMG_API: '"http://220.171.99.118:4100/upload/"', - // BASE_API: '"http://192.168.0.35:8006"', - // IMG_API: '"http://192.168.0.35:8006/upload/"', - BASE_API: '"http://222.92.213.21:8006/zhongtai"', - IMG_API: '"http://222.92.213.21:8006/zhongtai/upload/"', + BASE_API: '"http://192.168.0.35:8006"', + IMG_API: '"http://192.168.0.35:8006/upload/"', + + + // BASE_API: '"http://222.92.213.21:8006/zhongtai"', + // IMG_API: '"http://222.92.213.21:8006/zhongtai/upload/"', + + + // BASE_API: '"http://220.171.99.118:4101/api"', // IMG_API: '"http://220.171.99.118:4101/api/upload/"', }; diff --git a/src/api/inspectionTask.js b/src/api/inspectionTask.js new file mode 100644 index 0000000..2e09e6c --- /dev/null +++ b/src/api/inspectionTask.js @@ -0,0 +1,13 @@ +import {getToken} from "../utils/auth"; +import request from '@/utils/request' + +export function getInspectionTask(data) { + return request({ + headers:{ + 'Authorization': getToken() + }, + url: process.env.BASE_API+'/safecheck/work/get/list', + method: 'post', + data + }); +} diff --git a/src/views/doublePreventAction/hiddenDanger/inspectionTask/components/inpectionPoint.vue b/src/views/doublePreventAction/hiddenDanger/inspectionTask/components/inpectionPoint.vue new file mode 100644 index 0000000..3fccf79 --- /dev/null +++ b/src/views/doublePreventAction/hiddenDanger/inspectionTask/components/inpectionPoint.vue @@ -0,0 +1,64 @@ +<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="任务名称" 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> + </div> + <el-dialog :visible.sync="controlActionVisible" :modal-append-to-body="false" :close-on-click-modal="false" width="70%"> + <control-action ref="controlAction"></control-action> + </el-dialog> + </div> +</template> + +<script> + import controlAction from '../../../riskLevelManage/controlAction/index' + export default { + name: "inpectionPoint", + data(){ + return{ + tableKey:'', + listLoading:false, + controlActionVisible:false, + inspectionPointData:[], + } + }, + components:{ + controlAction + }, + methods:{ + showControlAction (){ + this.controlActionVisible = true + setTimeout( () => { + this.$refs.controlAction.ifShowButton() + }) + } + } + } +</script> + +<style scoped> +/deep/.filter-container{ + padding-left: 0px !important; +} +</style> diff --git a/src/views/doublePreventAction/hiddenDanger/inspectionTask/index.vue b/src/views/doublePreventAction/hiddenDanger/inspectionTask/index.vue new file mode 100644 index 0000000..a212344 --- /dev/null +++ b/src/views/doublePreventAction/hiddenDanger/inspectionTask/index.vue @@ -0,0 +1,434 @@ +<template> + <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 departmentList" + :key="item.id" + :value="item.department" + :label="item.department" + ></el-option> + </el-select> + </div> + <div class="basic_search"> + <span>巡检任务状态:</span> + <el-select v-model="listQuery.status"> + <el-option + v-for="item in departmentList" + :key="item.id" + :value="item.department" + :label="item.department" + ></el-option> + </el-select> + </div> + <div class="basic_search"> + <span>巡检任务创建人员:</span> + <el-select v-model="listQuery.createUid"> + <el-option + v-for="item in departmentList" + :key="item.id" + :value="item.department" + :label="item.department" + ></el-option> + </el-select> + </div> + <div class="basic_search"> + <span>异常通知人员:</span> + <el-select v-model="listQuery.noticeUid"> + <el-option + v-for="item in departmentList" + :key="item.id" + :value="item.department" + :label="item.department" + ></el-option> + </el-select> + </div> + <div class="basic_search"> + <span>执行巡检人员:</span> + <el-select v-model="listQuery.execUid"> + <el-option + v-for="item in departmentList" + :key="item.id" + :value="item.department" + :label="item.department" + ></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> + <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 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="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="showAnalyseUnitForm(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="inspectionTaskVisible" :modal-append-to-body="false" :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> + <el-col :span="12"> + <el-form-item label="任务名称" prop="hazardDep"> + <el-select v-model="inspectionTaskForm.hazardDep" class="analyseUnit_input"> + <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="hazardLiablePerson"> + <el-input v-model="inspectionTaskForm.hazardLiablePerson" class="analyseUnit_input"></el-input> + </el-form-item> + </el-col> + </el-row> + <el-row> + <el-col :span="12"> + <el-form-item label="周期开始时间" prop="hazardLiablePerson"> + <el-date-picker v-model="inspectionTaskForm.hazardLiablePerson" value-format="yyyy-MM-dd HH:mm:ss" type="datetime" placeholder="周期开始时间" class="analyseUnit_input"></el-date-picker> + </el-form-item> + </el-col> + <el-col :span="12"> + <el-form-item label="周期结束时间" prop="hazardLiablePerson"> + <el-date-picker v-model="inspectionTaskForm.hazardLiablePerson" value-format="yyyy-MM-dd HH:mm:ss" type="datetime" placeholder="周期结束时间" class="analyseUnit_input"></el-date-picker> + </el-form-item> + </el-col> + </el-row> + <el-row> + <el-col :span="12"> + <el-form-item label="异常通知人" prop="hazardLiablePerson"> + <el-input v-model="inspectionTaskForm.hazardLiablePerson" class="analyseUnit_input"></el-input> + </el-form-item> + </el-col> + <el-col :span="12"> + <el-form-item label="巡检人" prop="hazardLiablePerson"> + <el-input v-model="inspectionTaskForm.hazardLiablePerson" class="analyseUnit_input"></el-input> + </el-form-item> + </el-col> + </el-row> + <el-row> + <el-col :span="12"> + <el-form-item label="点位类型" prop="type"> + <el-input v-model="inspectionTaskForm.type" class="analyseUnit_input"></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 ref="inspectionPoint"></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 { mapGetters } from 'vuex' + import { computePageCount } from '@/utils' + import inspectionPoint from './components/inpectionPoint' + import { addAnalyseUnit, deleteAnalyseUnit, getAnalyseUnitList, updateAnalyseUnit } from '@/api/riskLevelManage' + import { getInspectionTask } from "../../../../api/inspectionTask"; + import {getAllDepartment, getDepartmentList} from "../../../../api/departmentManage"; + export default { + name: 'index', + filters: { + parseMain(type){ + if(type === 1){ + return "是" + }else if(type === 0){ + return "否" + } + }, + }, + computed: { + ...mapGetters([ + 'userType' + ]) + }, + components: { + inspectionPoint + }, + data() { + return { + tableKey: 0, + activeName:'inspectionPoint', + inspectionTaskData: [], + departmentList:[], + listLoading: false, + pageSize: 10, + recordTotal: 0, + currentPage: 1, + pageTotal: 0, + title:'', + company:'', + code:'', + inspectionTaskVisible:false, + inspectionTaskFormRules:{ + hazardDep: [{ required: true, message: '责任部门不能为空', trigger: 'change' }], + hazardLiablePerson: [{ required: true, message: '责任人不能为空', trigger: 'blur' }], + hazardCode: [{ required: true, message: '安全风险分析对象编码不能为空', trigger: 'blur' }], + riskUnitName: [{ required: true, message: '安全风险分析单元名称不能为空', trigger: 'blur' }], + }, + inspectionTaskForm:{ + createUid: 0, + effectSeconds: 0, + execUid: 0, + intervalSeconds: 0, + noticeSeconds: 0, + noticeUid: 0, + riskControlMeasureIdList: [ + 0 + ], + startTime: "", + type: 0 + }, + listQuery:{ + createUid: "", + endTime: "", + execUid: "", + noticeUid: "", + startTime: "", + status:"", + type: "" + }, + } + }, + created() { + this.getInspectionTaskData() + this.getDepartment() + }, + methods: { + async getInspectionTaskData(){ + this.listLoading = true + let res = await getInspectionTask(this.listQuery) + if(res.data.code === '200'){ + this.recordTotal = res.data.result.total + this.pageSize = res.data.result.size + this.pageTotal = computePageCount(res.data.result.total, res.data.result.size) + this.currentPage = res.data.result.current + this.inspectionTaskData = res.data.result.records + }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' + }) + } + }, + showAnalyseUnitForm(value,type){ + this.inspectionTaskVisible = true + this.$nextTick(() =>{ + this.$refs["inspectionTaskForm"].clearValidate() + }) + if(type === '新增'){ + this.title = '新建巡检计划设定' + this.inspectionTaskForm = { + id: null, + hazardCode: "", + hazardDep: "", + hazardLiablePerson: "", + riskUnitName: "", + createTime: "", + updateTime: "", + createBy: "", + updateBy: "", + validFlag: null, + hazardLiablePersonId: null, + hazardDepId: 1 + } + }else{ + this.title = '修改' + this.inspectionTaskForm = value + } + }, + submitAnalyseUnit(){ + this.$refs["inspectionTaskForm"].validate((valid) =>{ + if(valid){ + if(this.title === '新增'){ + addAnalyseUnit(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{ + updateAnalyseUnit(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:'请完善基本信息' + }) + } + }) + + }, + deleteById(val){ + this.$confirm('删除此条信息,是否继续','提示',{ + confirmButtonText:'确定', + cancelButtonText:'取消', + type:'warning', + }).then(()=> { + deleteAnalyseUnit({id:val.id}).then( ()=>{ + this.getInspectionTaskData() + this.$notify({ + title:'成功', + message:'删除成功', + type:'success', + duration:2000, + }) + }) + }) + }, + 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 2987144..42ad0d6 100644 --- a/src/views/doublePreventAction/riskLevelManage/controlAction/index.vue +++ b/src/views/doublePreventAction/riskLevelManage/controlAction/index.vue @@ -7,7 +7,7 @@ </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> + <el-button class="filter-item" style="margin-left: 10px;margin-top: 10px" type="primary" icon="el-icon-plus" @click="showRiskControlMeasureForm('','新增')" v-show="showCurrent">新增</el-button> </div> <div class="table_content"> <el-table @@ -45,8 +45,9 @@ </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> + <el-button type="text" @click="giveValue(scope.row,)" v-show="showOther">选择</el-button> + <el-button type="text" @click="showRiskControlMeasureForm(scope.row,'编辑')" v-show="showCurrent">编辑</el-button> + <el-button type="text" style="color: red" @click="deleteById(scope.row)" v-show="showCurrent">删除</el-button> </template> </el-table-column> </el-table> @@ -156,6 +157,8 @@ classifyOneList:[], classifyTwoList:[], listLoading: false, + showCurrent:true, + showOther:false, pageSize: 10, recordTotal: 0, currentPage: 1, @@ -383,6 +386,14 @@ this.listQuery.pageIndex = val this.getRiskControlMeasureData() }, + + ifShowButton (){ + this.showCurrent = false + this.showOther = true + }, + giveValue(){ + + } } } </script> diff --git a/src/views/doublePreventAction/riskLevelManage/riskSourceManage/index.vue b/src/views/doublePreventAction/riskLevelManage/riskSourceManage/index.vue new file mode 100644 index 0000000..827727e --- /dev/null +++ b/src/views/doublePreventAction/riskLevelManage/riskSourceManage/index.vue @@ -0,0 +1,13 @@ +<template> + +</template> + +<script> + export default { + name: "index" + } +</script> + +<style scoped> + +</style> -- Gitblit v1.9.2