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