From b1bdac435d4aa9fe34bde1a859490842166b47f7 Mon Sep 17 00:00:00 2001
From: Your Name <123456>
Date: 星期五, 26 八月 2022 17:30:48 +0800
Subject: [PATCH] statistics

---
 src/views/doublePreventAction/hiddenDanger/inspectionStatistics/components/inspectionComplete/index.vue |   26 +++++-
 config/dev.env.js                                                                                       |    8 +-
 src/api/inspectStatistics.js                                                                            |   24 ++++++
 src/views/doublePreventAction/hiddenDanger/inspectionStatistics/components/inspectionPerson/index.vue   |   32 +++++--
 src/views/doublePreventAction/hiddenDanger/inspectionRecord/index.vue                                   |    3 
 src/views/doublePreventAction/hiddenDanger/inspectionStatistics/index.vue                               |  124 ++++++++++++++++++++++++++----
 6 files changed, 178 insertions(+), 39 deletions(-)

diff --git a/config/dev.env.js b/config/dev.env.js
index 463910d..4e0eedf 100644
--- a/config/dev.env.js
+++ b/config/dev.env.js
@@ -16,14 +16,14 @@
   //     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://192.168.0.35:8006"',
+      IMG_API: '"http://192.168.0.35:8006/upload/"',
 
     // BASE_API: '"http://192.168.0.8:8006"',
     // IMG_API: '"http://192.168.0.8:8006/upload/"',
     //
-    BASE_API: '"http://192.168.0.69:8006"',
-    IMG_API: '"http://192.168.0.69:8006/upload/"',
+    // BASE_API: '"http://192.168.0.69:8006"',
+    // IMG_API: '"http://192.168.0.69:8006/upload/"',
 
     // BASE_API: '"http://192.168.0.35:8006"',
     // IMG_API: '"http://192.168.0.35:8006/upload/"',
diff --git a/src/api/inspectStatistics.js b/src/api/inspectStatistics.js
new file mode 100644
index 0000000..a4047ad
--- /dev/null
+++ b/src/api/inspectStatistics.js
@@ -0,0 +1,24 @@
+import {getToken} from "../utils/auth";
+import request from '@/utils/request'
+
+export function getInspectPerson(data) {
+    return request({
+        headers: {
+            'Authorization': getToken()
+        },
+        url: process.env.BASE_API + '/prevent/riskEvent/statistics/inspectors',
+        method: 'post',
+        data
+    })
+}
+
+export function getInspectComplete(data) {
+    return request({
+        headers: {
+            'Authorization': getToken()
+        },
+        url: process.env.BASE_API + '/prevent/riskEvent/statistics/inspection-completed',
+        method: 'post',
+        data
+    })
+}
diff --git a/src/views/doublePreventAction/hiddenDanger/inspectionRecord/index.vue b/src/views/doublePreventAction/hiddenDanger/inspectionRecord/index.vue
index d154d2c..44ca664 100644
--- a/src/views/doublePreventAction/hiddenDanger/inspectionRecord/index.vue
+++ b/src/views/doublePreventAction/hiddenDanger/inspectionRecord/index.vue
@@ -64,6 +64,9 @@
                         {{ parseNumber(scope.row.taskBelong, '认领状态') }}
                     </template>
                 </el-table-column>
+                <el-table-column prop="startTime" label="开始时间" show-overflow-tooltip></el-table-column>
+                <el-table-column prop="validTime" label="有效时间" show-overflow-tooltip></el-table-column>
+                <el-table-column prop="execUserName" label="执行人" show-overflow-tooltip></el-table-column>
                 <el-table-column prop="createUserName" label="创建人" show-overflow-tooltip></el-table-column>
                 <el-table-column prop="gmtCreate" label="创建时间" show-overflow-tooltip></el-table-column>
                 <el-table-column prop="lastEditUserName" label="最后修改人" show-overflow-tooltip></el-table-column>
diff --git a/src/views/doublePreventAction/hiddenDanger/inspectionStatistics/components/inspectionComplete/index.vue b/src/views/doublePreventAction/hiddenDanger/inspectionStatistics/components/inspectionComplete/index.vue
index 95d33c8..7069f21 100644
--- a/src/views/doublePreventAction/hiddenDanger/inspectionStatistics/components/inspectionComplete/index.vue
+++ b/src/views/doublePreventAction/hiddenDanger/inspectionStatistics/components/inspectionComplete/index.vue
@@ -5,6 +5,8 @@
 
 <script>
 
+import {getInspectComplete} from "../../../../../../api/inspectStatistics";
+
 export default {
     name: 'index',
     data(){
@@ -14,18 +16,32 @@
         }
     },
     mounted() {
-        this.drawTodayLine()
     },
     methods:{
+        async updateData(val){
+            let res = await getInspectComplete(val)
+            if(res.data.code === '200'){
+                this.numData = res.data.data.map(item =>{
+                    return item.num
+                })
+                this.timeData = res.data.data.map(item =>{
+                    return item.taskDate
+                })
+            }else{
+                this.$message({
+                    type:'warning',
+                    message:res.data.message
+                })
+            }
+            this.drawTodayLine()
+        },
         async drawTodayLine(){
-            this.timeData = [1,2,3,4,]
-            this.numData = [2,5,7,9]
             let myChart = this.$echarts.init(document.getElementById('inspectionComplete'))
             myChart.setOption({
                 xAxis: {
                 type: 'category',
                 boundaryGap: false,
-                data: ['2022-4-1', '2022-4-2', '2022-4-4', '2022-4-4', '2022-4-5', '2022-4-6', '2022-4-7']
+                data:this.timeData
                 },
                 yAxis: {
                     type: 'value'
@@ -33,7 +49,7 @@
                 color:'#5470c6',
                 series: [
                     {
-                    data: [820, 932, 901, 934, 1290, 1330, 1320],
+                    data: this.numData,
                     type: 'line',
                     smooth: true
                     }
diff --git a/src/views/doublePreventAction/hiddenDanger/inspectionStatistics/components/inspectionPerson/index.vue b/src/views/doublePreventAction/hiddenDanger/inspectionStatistics/components/inspectionPerson/index.vue
index ab266c5..439da18 100644
--- a/src/views/doublePreventAction/hiddenDanger/inspectionStatistics/components/inspectionPerson/index.vue
+++ b/src/views/doublePreventAction/hiddenDanger/inspectionStatistics/components/inspectionPerson/index.vue
@@ -5,6 +5,8 @@
 
 <script>
 
+import {getInspectPerson} from "../../../../../../api/inspectStatistics";
+
 export default {
     name: "index",
     data(){
@@ -14,17 +16,25 @@
         }
     },
     mounted(){
-        this.drawLine()
     },
     methods:{
-        // setCount(val){
-        //         this.numData = val.map(item =>{
-        //             return item.num
-        //         })
-        //         this.timeData = val.map(item =>{
-        //             return item.errorTaskIdList
-        //         })
-        // },
+        async updateData(val){
+            let res = await getInspectPerson(val)
+            if(res.data.code === '200'){
+                this.numData = res.data.data.map(item =>{
+                    return item.num
+                })
+                this.timeData = res.data.data.map(item =>{
+                    return item.taskDate
+                })
+            }else{
+                this.$message({
+                    type:'warning',
+                    message:res.data.message
+                })
+            }
+            this.drawLine()
+        },
         async drawLine(){
             this.myChart = this.$echarts.init(document.getElementById('inspectionPerson'))
             this.myChart.setOption({
@@ -38,14 +48,14 @@
                 color:'#fac858',
                 xAxis: {
                     type: 'category',
-                    data: ['2022-4-1', '2022-4-2', '2022-4-4', '2022-4-4', '2022-4-5', '2022-4-6', '2022-4-7']
+                    data: this.timeData
                 },
                 yAxis: {
                     type: 'value'
                 },
                 series: [
                 {
-                    data: [120, 200, 150, 80, 70, 110, 130],
+                    data: this.numData,
                     type: 'bar',
                     showBackground: true,
                     backgroundStyle: {
diff --git a/src/views/doublePreventAction/hiddenDanger/inspectionStatistics/index.vue b/src/views/doublePreventAction/hiddenDanger/inspectionStatistics/index.vue
index f938c1c..ff334cd 100644
--- a/src/views/doublePreventAction/hiddenDanger/inspectionStatistics/index.vue
+++ b/src/views/doublePreventAction/hiddenDanger/inspectionStatistics/index.vue
@@ -3,36 +3,75 @@
         <div class="inspectionStatistics_part">
             <div class="inspectionStatistics_part_person">
                 <div class="inspectionStatistics_part_title">{{"巡检人员统计"}}</div>
-                <div class="inspectionStatistics_part_time">       
+                <div class="inspectionStatistics_part_time">
+                    <el-select v-model="personListQuery.depId" @change="changeInspectionPerson">
+                        <el-option
+                            v-for="item in departmentList"
+                            :key="item.id"
+                            :value="item.id"
+                            :label="item.department"
+                        >
+                        </el-option>
+                    </el-select>
+                </div>
+                <div class="inspectionStatistics_part_time">
+
                     <el-date-picker
                     v-model="value1"
                     type="daterange"
                     range-separator="至"
                     start-placeholder="开始日期"
-                    @change="changeInspectionPerson"
+                    value-format="yyyy-MM-dd HH:mm:ss"
+                    :default-time="['00:00:00','23:59:59']"
+                    @change="changeTimeInspectionPerson"
                     end-placeholder="结束日期">
                     </el-date-picker></div>
                     <el-divider></el-divider>
                 <div class="inspectionStatistics_part_body">
-                    <inspection-person></inspection-person>
+                    <inspection-person ref="inspectionPerson"></inspection-person>
                 </div>
             </div>
         </div>
         <div class="inspectionStatistics_part">
             <div class="inspectionStatistics_part_complete">
                 <div class="inspectionStatistics_part_title">{{"巡检完成统计"}}</div>
-                <div class="inspectionStatistics_part_time">       
+                <div class="inspectionStatistics_part_time" style="width:150px">
+                    <el-select v-model="completeListQuery.depId" @change="changeInspectionComplete">
+                        <el-option
+                            v-for="item in departmentList"
+                            :key="item.id"
+                            :value="item.id"
+                            :label="item.department"
+                        >
+                        </el-option>
+                    </el-select>
+                </div>
+                <div class="inspectionStatistics_part_time" style="width:100px">
+                    <el-select v-model="completeListQuery.status" @change="changeInspectionComplete">
+                        <el-option
+                            v-for="item in stateList"
+                            :key="item.id"
+                            :value="item.id"
+                            :label="item.name"
+                        >
+                        </el-option>
+                    </el-select>
+                </div>
+                <div class="inspectionStatistics_part_time">
                     <el-date-picker
                     v-model="value2"
                     type="daterange"
                     range-separator="至"
+                    value-format="yyyy-MM-dd HH:mm:ss"
+                    :default-time="['00:00:00','23:59:59']"
+                    @change="changeCompleteTimeInspectionPerson"
                     start-placeholder="开始日期"
                     end-placeholder="结束日期">
                     </el-date-picker>
                 </div>
                 <el-divider></el-divider>
                 <div class="inspectionStatistics_part_body">
-                    <inspection-complete></inspection-complete>
+                    <inspection-complete ref="inspectionComplete"></inspection-complete>
                 </div>
             </div>
         </div>
@@ -48,7 +87,7 @@
         <div class="inspectionStatistics_part">
             <div class="inspectionStatistics_part_unusual">
                 <div class="inspectionStatistics_part_title">{{"巡检异常统计"}}</div>
-                <div class="inspectionStatistics_part_time">       
+                <div class="inspectionStatistics_part_time">
                     <el-date-picker
                     v-model="value3"
                     type="daterange"
@@ -72,6 +111,7 @@
     import inspectionUnusual from './components/inspectionUnusual/index'
     import todayUnusual from './components/todayUnusual/index'
 import { getInspectionCount } from '../../../../api/inspectionTask'
+    import {getDepartmentList} from "../../../../api/departmentManage";
     export default {
         name: "index",
         data() {
@@ -79,13 +119,30 @@
                 value1:['',''],
                 value2:['',''],
                 value3:['',''],
+                departmentList:[],
                 listQuery:{
                 "dateList": [
                 ],
                 "endDate": "",
                 "execUid": null,
                 "startDate": ""
-                }
+                },
+                personListQuery:{
+                    depId:41,
+                    startTime:'',
+                    endTime:'',
+                },
+                completeListQuery:{
+                    depId:41,
+                    startTime:'',
+                    endTime:'',
+                    status:1,
+                },
+                stateList:[
+                    {id:1,name:'正常'},
+                    {id:2,name:'存在隐患'},
+                    {id:3,name:'未处理'}
+                ]
             }
         },
         components : {
@@ -95,24 +152,54 @@
             todayUnusual
         },
         created() {
+            this.getDepartment()
+        },
+        mounted() {
             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.value1 = [(newTime.getFullYear()+ '-' + ((newTime.getMonth() + 1) < 10 ? '0' + (newTime.getMonth() + 1) : (newTime.getMonth() + 1)) + '-' +  '01').toString() + ' '  + '00:00:00',(newTime.getFullYear()+ '-' + ((newTime.getMonth() + 1) < 10 ? '0' + (newTime.getMonth() + 1) : (newTime.getMonth() + 1)) + '-' + newTime.getDate()).toString() + ' ' + '23:59:59']
+                this.personListQuery.startTime = this.value1[0]
+                this.personListQuery.endTime = this.value1[1]
+                this.$refs.inspectionPerson.updateData(this.personListQuery)
+                this.value2 = [(newTime.getFullYear()+ '-' + ((newTime.getMonth() + 1) < 10 ? '0' + (newTime.getMonth() + 1) : (newTime.getMonth() + 1)) + '-' +  '01').toString() + ' '  + '00:00:00',(newTime.getFullYear()+ '-' + ((newTime.getMonth() + 1) < 10 ? '0' + (newTime.getMonth() + 1) : (newTime.getMonth() + 1)) + '-' + newTime.getDate()).toString() + ' ' + '23:59:59']
+                this.completeListQuery.startTime = this.value1[0]
+                this.completeListQuery.endTime = this.value1[1]
+                this.$refs.inspectionComplete.updateData(this.completeListQuery)
                 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)
-                // this.$refs.inspectionPerson.setCount(res.data.result)
+            changeTimeInspectionPerson() {
+                if(this.value1 !== null){
+                    this.personListQuery.startTime = this.value1[0]
+                    this.personListQuery.endTime = this.value1[1]
+                }
+                this.$refs.inspectionPerson.updateData(this.personListQuery)
             },
-            async changeInspectionPerson() {
-                let res = await getInspectionCount(this.listQuery)
+            changeCompleteTimeInspectionPerson() {
+                if(this.value2 !== null){
+                    this.completeListQuery.startTime = this.value2[0]
+                    this.completeListQuery.endTime = this.value2[1]
+                }
+                this.$refs.inspectionComplete.updateData(this.completeListQuery)
+            },
+            changeInspectionPerson() {
+                this.$refs.inspectionPerson.updateData(this.personListQuery)
+            },
+            changeInspectionComplete() {
+                this.$refs.inspectionComplete.updateData(this.completeListQuery)
+            },
+            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'
+                    })
+                }
             },
         }
     }
@@ -144,7 +231,7 @@
         line-height: 60px;
         padding-left:20px;
         display: inline-block;
-        width:50%;
+        width:20%;
     }
     .inspectionStatistics_part_body{
         width:100%;
@@ -152,6 +239,5 @@
     }
     .inspectionStatistics_part_time{
         display: inline-block;
-        
     }
 </style>

--
Gitblit v1.9.2