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