From dfc35ece9ae09ad910538f0b181275e0e6c8a00c Mon Sep 17 00:00:00 2001
From: lct123456 <lucht>
Date: 星期四, 21 四月 2022 21:59:41 +0800
Subject: [PATCH] 巡检记录和巡检数据

---
 src/views/doublePreventAction/hiddenDanger/inspectionTask/index.vue       |   58 ++++-----
 src/views/doublePreventAction/riskLevelManage/riskSourceManage/index.vue  |   11 -
 src/views/doublePreventAction/hiddenDanger/inspectionRecord/index.vue     |  159 +++++++++++++++++++++----
 src/api/inspectionTask.js                                                 |   11 +
 src/views/doublePreventAction/riskLevelManage/fourColorMap/index.vue      |    2 
 src/views/doublePreventAction/hiddenDanger/inspectionStatistics/index.vue |   73 ++++++++++++
 6 files changed, 246 insertions(+), 68 deletions(-)

diff --git a/src/api/inspectionTask.js b/src/api/inspectionTask.js
index cf1cef0..70e58b4 100644
--- a/src/api/inspectionTask.js
+++ b/src/api/inspectionTask.js
@@ -89,4 +89,15 @@
         url: process.env.BASE_API+'/safecheck/work/get/id?workId=' + id,
         method: 'post',
     });
+}
+
+export function getInspectionCount(data) {
+    return request({
+        headers:{
+            'Authorization': getToken()
+        },
+        url: process.env.BASE_API+'/safecheck/task/count',
+        method: 'post',
+        data
+    });
 }
\ No newline at end of file
diff --git a/src/views/doublePreventAction/hiddenDanger/inspectionRecord/index.vue b/src/views/doublePreventAction/hiddenDanger/inspectionRecord/index.vue
index 6b5d2b6..4c61f8c 100644
--- a/src/views/doublePreventAction/hiddenDanger/inspectionRecord/index.vue
+++ b/src/views/doublePreventAction/hiddenDanger/inspectionRecord/index.vue
@@ -1,6 +1,69 @@
 <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 typeList"
+                        :key="item.id"
+                        :value="item.id"
+                        :label="item.name"
+                    ></el-option>
+                </el-select>
+            </div>
+            <div class="basic_search">
+                <span>任务单元状态列表:</span>
+                <el-select v-model="listQuery.statusList">
+                    <el-option
+                        v-for="item in statusListList"
+                        :key="item.id"
+                        :value="item.id"
+                        :label="item.name"
+                    ></el-option>
+                </el-select>
+            </div>
+            <div class="basic_search">
+                <span>巡检任务创建人员:</span>
+                <el-select v-model="listQuery.createUid" filterable clearable>
+                    <el-option
+                        v-for="item in userList"
+                        :key="item.id"
+                        :value="item.id"
+                        :label="item.realname"
+                    ></el-option>
+                </el-select>
+            </div>
+            <div class="basic_search">
+                <span>异常通知人员:</span>
+                <el-select v-model="listQuery.noticeUid" filterable clearable>
+                   <el-option
+                        v-for="item in userList"
+                        :key="item.id"
+                        :value="item.id"
+                        :label="item.realname"
+                    ></el-option>
+                </el-select>
+            </div>
+            <div class="basic_search">
+                <span>执行巡检人员:</span>
+                <el-select v-model="listQuery.execUid" filterable clearable>
+                    <el-option
+                        v-for="item in userList"
+                        :key="item.id"
+                        :value="item.id"
+                        :label="item.realname"
+                    ></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>
         </div>
         <div class="table_content">
@@ -13,21 +76,50 @@
                 highlight-current-row
                 style="width: 100%;"
             >
+                <el-table-column type="expand">
+                    <template slot-scope="scope">
+                        <el-table
+                            v-loading="listLoading"
+                            :key="tableKey"
+                            :data="scope.row.unitList"
+                            border
+                            fit
+                            highlight-current-row
+                            style="width: 100%;"
+                        >
+                            <el-table-column label="序号" type="index" width="150" align="center">
+                            </el-table-column>
+                            <el-table-column label="隐患排查内容" prop="content" align="center">
+                            </el-table-column>
+                            <el-table-column label="巡检内容" prop="info" align="center">
+                            </el-table-column>
+                            <el-table-column label="巡检照片" prop="img" align="center">
+                            </el-table-column>
+                            <el-table-column label="状态" prop="status" 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="showMeasureDetail(scope.row)">详情</el-button>
+                                </template>
+                            </el-table-column>
+                        </el-table>
+                    </template>
+                </el-table-column>
                 <el-table-column label="任务名称" prop="title" align="center">
                 </el-table-column>
                 <el-table-column label="检查类型" prop="type" align="center">
-                </el-table-column>
-                <el-table-column label="检查频次" prop="intervalSeconds" align="center">
-                </el-table-column>
-                <el-table-column label="任务开始时间" prop="startTime" align="center">
-                </el-table-column>
-                <el-table-column label="任务结束时间" prop="endTime" align="center">
+                    <template slot-scope="scope">
+                        {{ scope.row.type | parseType}}
+                    </template>
                 </el-table-column>
                 <el-table-column label="异常通知人" prop="noticeUname" align="center">
                 </el-table-column>
                 <el-table-column label="巡检人" prop="execUname" align="center">
                 </el-table-column>
-                <el-table-column label="检查日期时间" prop="updateTime" align="center">
+                <el-table-column label="任务状态" prop="status" align="center">
+                     <template slot-scope="scope">
+                        {{ scope.row.status | parseStatus}}
+                    </template>
                 </el-table-column>
                 <el-table-column label="操作" align="center" width="280" class-name="small-padding fixed-width">
                     <template slot-scope="scope">
@@ -38,9 +130,9 @@
             <br>
             <el-pagination
                 v-show="recordTotal>0"
-                :current-page="currentPage"
+                :current-page="listQuery.page"
                 :page-sizes="[10, 20, 30, 50]"
-                :page-size="pageSize"
+                :page-size="listQuery.pageSize"
                 :total="recordTotal"
                 layout="total, sizes, prev, pager, next, jumper"
                 background
@@ -87,11 +179,18 @@
     export default {
         name: 'index',
         filters: {
-            parseMain(type){
+            parseType(type){
                 if(type === 1){
-                    return "是"
-                }else if(type === 0){
-                    return "否"
+                    return "日常检查"
+                }else{
+                    return "周期检查"
+                }
+            },
+            parseStatus(status){
+                if(status === 1){
+                    return "任务开启"
+                }else{
+                    return "任务关闭"
                 }
             },
         },
@@ -105,6 +204,9 @@
                 tableKey: 0,
                 inspectionRecordData: [],
                 departmentList:[],
+                userList:[],
+                typeList:[{id:1,name:'日常检查'},{id:2,name:'周期检查'}],
+                statusListList:[{id:1,name:'待巡检'},{id:2,name:'巡检中'},{id:3,name:'已完成'},{id:4,name:'超时未巡检'},{id:5,name:'已取消'}],
                 listLoading: false,
                 pageSize: 10,
                 recordTotal: 0,
@@ -118,16 +220,17 @@
           
                 },
                 listQuery:{
-                    createUid: null,
-                    endTime: null,
-                    execUid: null,
-                    noticeUid: null,
-                    page: 1,
-                    pageSize:10,
-                    startTime: null,
-                    result:null,
-                    statusList: null,
-                    type: null
+                createUid: null,
+                endTime: null,
+                execUid: null,
+                execUname: null,
+                noticeUid: null,
+                page: 1,
+                pageSize: 10,
+                result: null,
+                startTime: null,
+                statusList: null,
+                type: null
                 },
             }
         },
@@ -140,11 +243,8 @@
                 this.listLoading = true
                 let res = await getInspectionRecord(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.analyseUnitData = res.data.result.records
+                    this.recordTotal = JSON.parse(res.data.message).total
+                    this.inspectionRecordData = res.data.result
                 }else{
                     this.$message({
                         message:res.data.message,
@@ -197,8 +297,9 @@
     .basic_search{
         display:inline-block;
         padding-bottom: 10px;
+        padding-left: 10px;
     }
     .analyseUnit_input{
-        width:320px;
+        width:200px;
     }
 </style>
diff --git a/src/views/doublePreventAction/hiddenDanger/inspectionStatistics/index.vue b/src/views/doublePreventAction/hiddenDanger/inspectionStatistics/index.vue
index 8e7db67..ba480e3 100644
--- a/src/views/doublePreventAction/hiddenDanger/inspectionStatistics/index.vue
+++ b/src/views/doublePreventAction/hiddenDanger/inspectionStatistics/index.vue
@@ -3,7 +3,16 @@
         <div class="inspectionStatistics_part">
             <div class="inspectionStatistics_part_person">
                 <div class="inspectionStatistics_part_title">{{"巡检人员统计"}}</div>
-                <el-divider></el-divider>
+                <div class="inspectionStatistics_part_time">       
+                    <el-date-picker
+                    v-model="value1"
+                    type="daterange"
+                    range-separator="至"
+                    start-placeholder="开始日期"
+                    @change="changeInspectionPerson"
+                    end-placeholder="结束日期">
+                    </el-date-picker></div>
+                    <el-divider></el-divider>
                 <div class="inspectionStatistics_part_body">
                     <inspection-person></inspection-person>
                 </div>
@@ -12,6 +21,15 @@
         <div class="inspectionStatistics_part">
             <div class="inspectionStatistics_part_complete">
                 <div class="inspectionStatistics_part_title">{{"巡检完成统计"}}</div>
+                <div class="inspectionStatistics_part_time">       
+                    <el-date-picker
+                    v-model="value2"
+                    type="daterange"
+                    range-separator="至"
+                    start-placeholder="开始日期"
+                    end-placeholder="结束日期">
+                    </el-date-picker>
+                </div>
                 <el-divider></el-divider>
                 <div class="inspectionStatistics_part_body">
                     <inspection-complete></inspection-complete>
@@ -30,6 +48,15 @@
         <div class="inspectionStatistics_part">
             <div class="inspectionStatistics_part_unusual">
                 <div class="inspectionStatistics_part_title">{{"巡检异常统计"}}</div>
+                <div class="inspectionStatistics_part_time">       
+                    <el-date-picker
+                    v-model="value3"
+                    type="daterange"
+                    range-separator="至"
+                    start-placeholder="开始日期"
+                    end-placeholder="结束日期">
+                    </el-date-picker>
+                </div>
                 <el-divider></el-divider>
                 <div class="inspectionStatistics_part_body">
                     <inspection-unusual></inspection-unusual>
@@ -44,13 +71,51 @@
     import inspectionComplete from './components/inspectionComplete/index'
     import inspectionUnusual from './components/inspectionUnusual/index'
     import todayUnusual from './components/todayUnusual/index'
+import { getInspectionCount } from '../../../../api/inspectionTask'
     export default {
         name: "index",
+        data() {
+            return {
+                value1:['',''],
+                value2:['',''],
+                value3:['',''],
+                listQuery:{
+                "dateList": [
+                "",
+                ""
+                ],
+                "endDate": "",
+                "execUid": null,
+                "startDate": ""
+                }
+            }
+        },
         components : {
             inspectionPerson,
             inspectionComplete,
             inspectionUnusual,
             todayUnusual
+        },
+        created() {
+            this.setTimeValue()
+            this.getInspectionCount()
+        },
+        methods: {
+            setTimeValue() {
+                let newTime =  new Date()
+                this.value1 = [(newTime.getFullYear()+ '-' + (newTime.getMonth() + 1) + '-' +  1).toString() + ' '  + '00:00:00',(newTime.getFullYear()+ '-' + (newTime.getMonth() + 1) + '-' + newTime.getDate()).toString() + ' ' + '23:59:59']
+                this.value2 = [(newTime.getFullYear()+ '-' + (newTime.getMonth() + 1) + '-' +  1).toString() + ' '  + '00:00:00',(newTime.getFullYear()+ '-' + (newTime.getMonth() + 1) + '-' + newTime.getDate()).toString() + ' ' + '23:59:59']
+                this.value3 = [(newTime.getFullYear()+ '-' + (newTime.getMonth() + 1) + '-' +  1).toString() + ' '  + '00:00:00',(newTime.getFullYear()+ '-' + (newTime.getMonth() + 1) + '-' + newTime.getDate()).toString() + ' ' + '23:59:59']
+            },
+            async getInspectionCount() {
+                this.listQuery.startDate = this.value1[0]
+                this.listQuery.endDate = this.value1[1]
+                let res = await getInspectionCount(this.listQuery)
+                debugger
+            },
+            async changeInspectionPerson() {
+                let res = await getInspectionCount(this.listQuery)
+            },
         }
     }
 </script>
@@ -80,9 +145,15 @@
         height:60px;
         line-height: 60px;
         padding-left:20px;
+        display: inline-block;
+        width:50%;
     }
     .inspectionStatistics_part_body{
         width:100%;
         height:410px;
     }
+    .inspectionStatistics_part_time{
+        display: inline-block;
+        
+    }
 </style>
diff --git a/src/views/doublePreventAction/hiddenDanger/inspectionTask/index.vue b/src/views/doublePreventAction/hiddenDanger/inspectionTask/index.vue
index 6b19ccb..c72d513 100644
--- a/src/views/doublePreventAction/hiddenDanger/inspectionTask/index.vue
+++ b/src/views/doublePreventAction/hiddenDanger/inspectionTask/index.vue
@@ -12,11 +12,11 @@
             <div class="basic_search">
                 <span>巡检任务类型:</span>
                 <el-select v-model="listQuery.type">
-                    <el-option
-                        v-for="item in departmentList"
+                   <el-option
+                        v-for="item in typeList"
                         :key="item.id"
-                        :value="item.department"
-                        :label="item.department"
+                        :value="item.id"
+                        :label="item.name"
                     ></el-option>
                 </el-select>
             </div>
@@ -24,43 +24,43 @@
                 <span>巡检任务状态:</span>
                 <el-select v-model="listQuery.status">
                     <el-option
-                        v-for="item in departmentList"
+                        v-for="item in statusList"
                         :key="item.id"
-                        :value="item.department"
-                        :label="item.department"
+                        :value="item.id"
+                        :label="item.name"
                     ></el-option>
                 </el-select>
             </div>
             <div class="basic_search">
                 <span>巡检任务创建人员:</span>
-                <el-select v-model="listQuery.createUid">
+                <el-select v-model="listQuery.createUid" filterable clearable>
                     <el-option
-                        v-for="item in departmentList"
+                        v-for="item in userList"
                         :key="item.id"
-                        :value="item.department"
-                        :label="item.department"
+                        :value="item.id"
+                        :label="item.realname"
                     ></el-option>
                 </el-select>
             </div>
             <div class="basic_search">
                 <span>异常通知人员:</span>
-                <el-select v-model="listQuery.noticeUid">
-                    <el-option
-                        v-for="item in departmentList"
+                <el-select v-model="listQuery.noticeUid" filterable clearable>
+                   <el-option
+                        v-for="item in userList"
                         :key="item.id"
-                        :value="item.department"
-                        :label="item.department"
+                        :value="item.id"
+                        :label="item.realname"
                     ></el-option>
                 </el-select>
             </div>
             <div class="basic_search">
                 <span>执行巡检人员:</span>
-                <el-select v-model="listQuery.execUid">
+                <el-select v-model="listQuery.execUid" filterable clearable>
                     <el-option
-                        v-for="item in departmentList"
+                        v-for="item in userList"
                         :key="item.id"
-                        :value="item.department"
-                        :label="item.department"
+                        :value="item.id"
+                        :label="item.realname"
                     ></el-option>
                 </el-select>
             </div>
@@ -114,16 +114,16 @@
             <br>
             <el-pagination
                 v-show="recordTotal>0"
-                :current-page="currentPage"
+                :current-page="listQuery.page"
                 :page-sizes="[10, 20, 30, 50]"
-                :page-size="pageSize"
+                :page-size="listQuery.pageSize"
                 :total="recordTotal"
                 layout="total, sizes, prev, pager, next, jumper"
                 background
                 style="float:right;"
                 @size-change="handleSizeChange"
                 @current-change="handleCurrentChange"
-            />
+            />  
             <br>
         </div>
 
@@ -326,6 +326,7 @@
                 userList:[],
                 noticeUidList:[],
                 execUidList:[],
+                statusList:[{name:'任务开启',id:1},{id:2,name:'任务关闭'}],
                 intervalSecondsList:[{id:7200,name:'2小时'},{id:21600,name:'6小时'},{id:43200,name:'12小时'},{id:86400,name:'1天'},{id:17280,name:'2天'}],
                 noticeSecondsList:[{id:600,name:'10分'},{id:3600,name:'1小时'},{id:7200,name:'2小时'},{id:21600,name:'6小时'},{id:43200,name:'12小时'},{id:86400,name:'1天'}],
                 effectSecondsList:[{id:1800,name:'30分'},{id:3600,name:'1小时'},{id:7200,name:'2小时'},{id:21600,name:'6小时'},{id:43200,name:'12小时'},{id:86400,name:'1天'}],
@@ -368,8 +369,8 @@
                     startTime: "",
                     status:"",
                     type: "",
-                    page: 10,
-                    pageSize: 1,
+                    page: 1,
+                    pageSize: 10,
  
                 },
             }
@@ -384,10 +385,7 @@
                 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.recordTotal = JSON.parse(res.data.message).total
                     this.inspectionTaskData = res.data.result
                 }else if(res.data.code === '300'){
                     this.inspectionTaskData = []
@@ -591,7 +589,7 @@
                 this.getInspectionTaskData()
             },
             handleCurrentChange(val){
-                this.listQuery.pageIndex = val
+                this.listQuery.page = val
                 this.getInspectionTaskData()
             },
         }
diff --git a/src/views/doublePreventAction/riskLevelManage/fourColorMap/index.vue b/src/views/doublePreventAction/riskLevelManage/fourColorMap/index.vue
index 3d87881..5ec579a 100644
--- a/src/views/doublePreventAction/riskLevelManage/fourColorMap/index.vue
+++ b/src/views/doublePreventAction/riskLevelManage/fourColorMap/index.vue
@@ -66,7 +66,7 @@
                 this.loaded = true;
 
                 map.addModel({
-                    link: 'http://model.szwutu.cn:8100/data1/namiso-ub3dm/tileset.json',
+                    link: 'http://222.92.213.21:8006/zhongtaiweb/tileset.json',
                     name: '商业园区',
                     callback: tileset => {
                         var boundingSphere = tileset.boundingSphere;
diff --git a/src/views/doublePreventAction/riskLevelManage/riskSourceManage/index.vue b/src/views/doublePreventAction/riskLevelManage/riskSourceManage/index.vue
index dd65b2e..e8a3ff3 100644
--- a/src/views/doublePreventAction/riskLevelManage/riskSourceManage/index.vue
+++ b/src/views/doublePreventAction/riskLevelManage/riskSourceManage/index.vue
@@ -122,16 +122,16 @@
             <br>
             <el-pagination
                 v-show="recordTotal>0"
-                :current-page="currentPage"
+                :current-page="listQuery.pageIndex"
                 :page-sizes="[10, 20, 30, 50]"
-                :page-size="pageSize"
+                :page-size="listQuery.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="riskSourceVisible" :modal-append-to-body="false" :close-on-click-modal="false" width="600px">
@@ -279,10 +279,7 @@
             this.listLoading = true
             let res = await getRiskSourceList(this.listQuery)
             if(res.data.code === '200'){
-                this.recordTotal =JSON.parse(res.data.message).totalCount
-                this.pageSize = JSON.parse(res.data.message).pageSize
-                this.pageTotal = computePageCount(this.recordTotal, this.pageSize)
-                this.currentPage = JSON.parse(res.data.message).pageIndex
+                this.recordTotal = JSON.parse(res.data.message).totalCount
                 this.riskSourceData = res.data.result
             }else{
                 this.$message({

--
Gitblit v1.9.2