zhaobao hace 2 años
padre
commit
cc369f1d48

+ 13 - 0
src/api/goaf/dangerApi.js

@@ -79,3 +79,16 @@ export function updateDanger(data) {
     data
   })
 }
+
+/**
+ * 修改Danger
+ * @param dangerId
+ * @returns
+ */
+export function goafhdangerstatis(data) {
+  return request({
+    url: "/goaf/goafhdangerstatis",
+    method: 'get',
+    data
+  })
+}

+ 52 - 0
src/api/goaf/task.js

@@ -0,0 +1,52 @@
+
+import request from '@/utils/request'
+// 获取任务列表
+export function goaftaskList(params) {
+  return request({
+    url: `/goaf/goaftask/list`,
+    method: 'GET',
+    params
+  })
+}
+
+// 分页获取任务列表
+export function getCheckTaskByPage(params) {
+  return request({
+    url: '/goaf/goaftask/page',
+    method: 'GET',
+    params
+  })
+}
+
+// 新增
+export function createCheckTask(data) {
+  return request({
+    url: '/goaf/goaftask/add',
+    method: 'POST',
+    data
+  })
+}
+// 更新
+export function updateCheckTask(data) {
+  return request({
+    url: '/goaf/goafGoafcheckdef/update',
+    method: 'PUT',
+    data
+  })
+}
+// 删除
+export function deleteCheckTaskById(taskId) {
+  return request({
+    url: `/goaf/goaftask/delete/${taskId}`,
+    method: 'DELETE'
+  })
+}
+
+// 提交任务
+export function handleCheckTask(data) {
+  return request({
+    url: '/goaf/goaftask/completed',
+    method: 'POST',
+    data
+  })
+}

+ 10 - 10
src/views/home/components/Map/index.vue

@@ -25,16 +25,16 @@
   import * as L from 'leaflet'
   import '@geoman-io/leaflet-geoman-free'
   import MapSelector from '@/components/MapSelector'
-  import { getMapLayerById, createMapLayer, delMapLayer, updateMapLayer, getMapLayer } from '@/api/goaf/layer'
-  const markerIcon = L.icon({
-    iconUrl: require('@/assets/map/default.png'),
-    shadowUrl: require('@/assets/map/default.png'),
-    iconSize: [37.2, 57.6],
-    shadowSize: [0, 0],
-    iconAnchor: [16, 52],
-    popupAnchor: [1, -38]
-  })
-  L.Marker.prototype.options.icon = markerIcon
+  import { getMapLayerById, getMapLayer } from '@/api/goaf/layer'
+  // const markerIcon = L.icon({
+  //   iconUrl: require('@/assets/map/default.png'),
+  //   shadowUrl: require('@/assets/map/default.png'),
+  //   iconSize: [37.2, 57.6],
+  //   shadowSize: [0, 0],
+  //   iconAnchor: [16, 52],
+  //   popupAnchor: [1, -38]
+  // })
+  // L.Marker.prototype.options.icon = markerIcon
   export default {
     name: 'GoafVisualEditor',
     components: {

+ 34 - 15
src/views/home/components/WarningStatistics.vue

@@ -2,47 +2,47 @@
     <div class="item warning-statistics">
         <div class="title">
             <span class="name">巡检预警统计</span>
-            <span class="number">24</span>
+            <span class="number">{{total}}</span>
         </div>
         <div class="container">
             <div class="lf">
                 <div class="head">
                     <div class="head-item">
-                        <div class="number">0</div>
+                        <div class="number">{{ data.goafHdangerLevelSeriousNum }}</div>
                         <div class="name">重大</div>
                     </div>
                     <div class="head-item">
-                        <div class="number">0</div>
+                        <div class="number">{{ data.goafHdangerLevelMajorNum }}</div>
                         <div class="name">较大</div>
                     </div>
                     <div class="head-item">
-                        <div class="number">0</div>
+                        <div class="number">{{ data.goafHdangerLevelGeneralNum }}</div>
                         <div class="name">一般</div>
                     </div>
                     <div class="head-item">
-                        <div class="number">0</div>
+                        <div class="number">{{ data.goafHdangerLevelLowerNum }}</div>
                         <div class="name">较低</div>
                     </div>
                 </div>
                 <div class="status">
                     <div class="status-item">
                         <div class="name">待整改</div>
-                        <div class="number">0</div>
+                        <div class="number">{{ data.goafHdangerStatusTorectifyNum }}</div>
                     </div>                  
                     <div class="status-item">
                         <div class="name">待验收</div>
-                        <div class="number">0</div>
+                        <div class="number">{{ data.goafHdangerStatusToacceptNum }}</div>
                     </div>    
                     <div class="status-item">
                         <div class="name">已完成</div>
-                        <div class="number">{{ data.fish }}</div>
+                        <div class="number">{{ data.goafHdangerStatusCompleteNum }}</div>
                     </div>    
                 </div>
             </div>
             <div class="chart-cont">
                 <el-progress type="circle" :percentage="25" :width="120" color="#2affff" :stroke-width="8">   
                     <template #default="{ percentage }">
-                        <span style="color:#fff;font-size: 20px;font-weight: bold;">{{ 80 }}%</span>
+                        <span style="color:#fff;font-size: 20px;font-weight: bold;">{{ rectify_rate }}%</span>
                     </template>
                 </el-progress>
                 <p>整改完成率</p>             
@@ -53,12 +53,31 @@
 <script>
 export default {
     name:"WarningStatistics",
-    props:{
-        data:{
-            type:Object,
-            default:{
-
-            }
+    data(){
+        return{
+             data:{
+                "goafHdangerLevelGeneralNum":0,
+                "goafHdangerLevelLowerNum": 0,
+                "goafHdangerLevelMajorNum": 0,
+                "goafHdangerLevelSeriousNum": 0,
+                "goafHdangerStatusCancelNum": 0,
+                "goafHdangerStatusCompleteNum": 0,
+                "goafHdangerStatusToacceptNum": 0,
+                "goafHdangerStatusToforreviewlNum": 0,
+                "goafHdangerStatusTorectifyNum": 0,
+                "goafHdangerStatusTosubmitNum": 0,
+             },
+             "rectify_rate":0,
+             'total':0
+        }
+    },
+    methods:{
+        loadData(data){
+            let total=data.goafHdangerLevelGeneralNum+data.goafHdangerLevelLowerNum+data.goafHdangerLevelMajorNum+data.goafHdangerLevelSeriousNum
+            let rectify_rate=total>0?(data.goafHdangerStatusCompleteNum/total):0
+            this.data=data
+            this.total=total
+            this.rectify_rate=(rectify_rate*100).toFixed(1)
         }
     }
 }

+ 8 - 3
src/views/home/index.vue

@@ -1,7 +1,7 @@
 <template>
 <div class="home-view">
     <div class="side-left">
-        <warning-statistics :data="WarniStatisticsdata" />
+        <warning-statistics ref="warning-statistics" />
         <report-task :data="reportData" />  
         <warn-report :data="reportData" /> 
     </div>
@@ -17,8 +17,9 @@
 </div>
 </template>
 <script>
-import {parseTime,getQueryObject} from '@/utils'
+import {parseTime} from '@/utils'
 import {getUserProfile} from '@/api/system'
+import {goafhdangerstatis} from '@/api/goaf/dangerApi'
 import { useStore } from '@/store/modules/user'
 const store=useStore()
 import {   
@@ -58,6 +59,7 @@ import {
         init(){
             this.saveUserInfo()
             this.initChart()
+            this.getWarniStatisticsdata()
         },
         initChart(){
             let reportData=[]
@@ -94,7 +96,10 @@ import {
             }
         },
         getWarniStatisticsdata(){
-
+            //隐患统计            
+            goafhdangerstatis().then((res)=>{
+                this.$refs['warning-statistics'].loadData(res.data)
+            })
         }
     }
  }

+ 30 - 25
src/views/particulars/check.vue

@@ -9,9 +9,9 @@
                 <div class="search-container">
                     <div class="top">
                         <div class="search-item">
-                            <el-input v-model="search.name"  class="input" placeholder="请输入任务名称" />
+                            <el-input v-model="conditions.taskTitle"  class="input" placeholder="请输入任务名称" />
                         </div>
-                        <div class="search-item">
+                        <!-- <div class="search-item">
                             <span>是否异常:</span>
                             <el-select v-model="search.level" class="select" placeholder="全部">
                                 <el-option
@@ -22,12 +22,12 @@
                                 placeholder="是否异常"
                                 />
                             </el-select>                            
-                        </div>
+                        </div> -->
                         <div class="search-item">
                             <span>状态:</span>
-                            <el-select v-model="search.value" class="select" placeholder="全部">
+                            <el-select v-model="conditions.status" class="select" placeholder="全部">
                                 <el-option
-                                v-for="item in options"
+                                v-for="item in status_options"
                                 :key="item.value"
                                 :label="item.label"
                                 :value="item.value"
@@ -38,7 +38,7 @@
                         <div class="search-item">
                             <span>巡检时间:</span>
                             <el-date-picker
-                                v-model="search.time"
+                                v-model="conditions.expectedEndDate"
                                 type="date"
                                 class="date11"
                                 placeholder="请选择巡检时间"
@@ -57,14 +57,14 @@
                         <tr>
                             <td>任务名称</td>
                             <td>状态</td>
-                            <td>等级</td>
-                            <td>时间</td>
+                            <td>执行人员</td>
+                            <td>截止时间</td>
                         </tr>
                         <tr v-for="(item,index) in dataList" :key="index">
-                            <td>{{ item.checklistTitle }}</td>
-                            <td>{{ item.checklistTitle }}</td>
-                            <td>{{ item.checklistTitle }}</td>
-                            <td>{{ item.checklistTitle }}</td>
+                            <td>{{ item.taskTitle }}</td>
+                            <td>{{ formateStatus(item.status) }}</td>
+                            <td>{{ item.handleAccountName }}</td>
+                            <td>{{ item.expectedEndDate }}</td>
                         </tr>
                     </table>
                     <div class="el-pagination-wrap">
@@ -109,7 +109,7 @@
 <script>
 import Abnormal  from './components/Abnormal.vue'
 import WarnChart from './components/WarnChart.vue'
-import {getChecklistByPage} from '@/api/goaf/check'
+import { getCheckTaskByPage } from '@/api/goaf/task'
  export default {
     name:"check",
     components:{
@@ -123,6 +123,9 @@ import {getChecklistByPage} from '@/api/goaf/check'
             conditions: {
                 page: 1,
                 limit: 10,
+                status:0,
+                taskTitle:"",
+                expectedEndDate:"",
                 goafName:""
             },   
             items:[
@@ -137,17 +140,10 @@ import {getChecklistByPage} from '@/api/goaf/check'
                 {name:"770",id:"2"},
                 {name:"32001",id:"3"},
             ],
-            search:{
-                name:"",
-                level:"",
-                time:"",
-                status:"",
-                range:0
-            } ,
-            options:[
-                {label:"待整改",value:2},
-                {label:"待整改",value:3},
-                {label:"待整改",value:4}
+            status_options:[
+                {label:"待处理",value:0},
+                {label:"处理完成",value:1},
+                {label:"逾期",value:2},
             ] ,
             options1:[
                 {label:'是',value:1},
@@ -161,6 +157,10 @@ import {getChecklistByPage} from '@/api/goaf/check'
         this.init()
     },
     methods:{
+        formateStatus(val){
+            let status=['待处理','处理完成','已逾期']
+            return status[val]
+        },
         init(){
             this.$nextTick(()=>{
                 this.$refs['abnormal'].init();
@@ -178,7 +178,12 @@ import {getChecklistByPage} from '@/api/goaf/check'
             this.getData()
         },
         getData(){
-            getChecklistByPage(this.conditions).then((resp) => {
+            for(let key in this.conditions){
+                if(this.conditions[key]===undefined||this.conditions[key]===''||this.conditions[key]==='undefined'){
+                    delete this.conditions[key]
+                }
+            }
+            getCheckTaskByPage(this.conditions).then((resp) => {
                 this.listLoading = false
                 const {data, total } = resp
                 this.dataList = data