zhaobao 2 anni fa
parent
commit
615475c814

+ 1 - 1
src/components/MapSelector/index.vue

@@ -75,7 +75,7 @@ export default {
 
     // 返回值
     setVal(obj) {
-      this.$emit('setMapInfo', obj)
+      this.$emit('setMapInfo', obj,JSON.parse(JSON.stringify(this.mapList)))
     }
   }
 }

+ 2 - 2
src/config/index.js

@@ -4,8 +4,8 @@ module.exports = {
     * 服务API地址
     */
     serverUrl: 'http://113.141.93.143:1688', // 正式环境
-    devServerUrl: 'http://113.141.93.143:1688', // 开发环境
-    // devServerUrl: 'http://192.168.3.5:8080/', // 开发环境 qu
+    // devServerUrl: 'http://113.141.93.143:1688', // 开发环境
+    devServerUrl: 'http://192.168.3.5:1688/', // 开发环境 qu
     // devServerUrl: 'http://192.168.3.201:8080/', // 开发环境  test
     mqttUrl: 'ws://1.15.92.205:8083/mqtt', // 水泥厂mqtt地址
     /**

+ 11 - 4
src/mixins/mqtt.js

@@ -34,16 +34,23 @@ export default {
         client.on('connect', function() {
           client.subscribe('topic/goaf/waring/person', function(err) {
             if (!err) {
-              client.publish('topic/1', 'Hello mqtt')
+              client.publish('topic/1', 'topic/goaf/waring/person 订阅成功')
             }else{
-              client.publish('topic/1', 'Hello mqtt err')
+              client.publish('topic/1', `topic/goaf/waring/person  订阅成功 ${err}`)
             }
           })
           client.subscribe('topic/goaf/waring/sensor', function(err) {
             if (!err) {
-              client.publish('topic/1', 'Hello mqtt')
+              client.publish('topic/1', 'topic/goaf/waring/sensor  订阅成功')
             }else{
-              client.publish('topic/1', 'Hello mqtt err')
+              client.publish('topic/1', `topic/goaf/waring/sensor  订阅成功 ${err}`)
+            }
+          })
+          client.subscribe('topic/goaf/fill/scale', function(err) {
+            if (!err) {
+              client.publish('topic/1', 'topic/goaf/fill/scale  订阅成功')
+            }else{
+              client.publish('topic/1', `topic/goaf/fill/scale  订阅成功 ${err}`)
             }
           })
         })

+ 4 - 4
src/views/home/components/CheckWarnReport.vue

@@ -15,7 +15,7 @@
                     </tr>                                    
                     <tr class="report-item" v-for="(item,index) in items" :key="index">
                         <td :title="item.hdangerTitle" style="max-width:200px;">{{ item.hdangerTitle }}</td>
-                        <td :title="item.status">完成</td>
+                        <td :title="item.status">{{ dangerStatus(item.status)}}</td>
                         <td :title="item.level">{{ hdangerLevel(item.hdangerLevel) }}</td>
                         <td :title="item.time">{{ item.dangerDeadline }}</td>
                     </tr> 
@@ -42,9 +42,9 @@ export default {
         this.load()
     },
     methods:{
-        formateStatus(val){
-            let status=['待处理','处理完成','已逾期']
-            return status[val]
+        dangerStatus(val) {
+            const status = ['待提交', '待评审', '待整改', '待验收', '完成']
+            return val === -1 ? '撤销' : status[val]
         },
         hdangerLevel(val){
             let status=['较低','一般','较大','重大']

+ 30 - 5
src/views/home/components/Map/index.vue

@@ -1,7 +1,7 @@
 <template>
     <div class="map-container">
       <nav>
-        <map-selector :default-val="formData.mapId" @setMapInfo="handleSelectMap" />
+        <map-selector :default-val="formData.mapId" @setMapInfo="handleSelectMap"  />
       </nav>
       <div class="layout-map">
         <div id="vmap" />
@@ -55,6 +55,7 @@
         marker_tip_style:"",
         layers: [],
         layerGroup: [],
+        mapList:[],
         imageOverlay: undefined
       }
     },
@@ -123,10 +124,13 @@
       },
   
       // 选择地图
-      handleSelectMap(obj) {
+      handleSelectMap(obj,mapList) {
         this.viewData.mapRasterLayer = obj.mapRasterLayer
         this.viewData.mapId = obj.mapId
         this.formData.mapId = obj.mapId
+        if(mapList){
+          this.mapList=mapList
+        }
         this.setRasterLayer()
         this.clearLayers()
       },
@@ -136,7 +140,7 @@
       // 获取地图图层数据
       getMapLayers() {
         getMapLayer({
-          mapId: this.formData.mapId
+          mapId:this.formData.mapId
         }).then((resp) => {
           const { code, data, msg } = resp
           if (code === 0) {
@@ -147,7 +151,25 @@
           }
         })
       },
-  
+      updateMapLayers(mapId,type=1){
+        if(type===1){
+          this.setRasterLayer()
+          this.clearLayers()
+        }else{
+          /** 其他图层改变需要跳转 */
+          if(this.formData.mapId===mapId){
+            this.setRasterLayer()
+            this.clearLayers()
+          }else{
+            let obj=this.mapList.filter(item=>item.mapId===mapId)[0]
+            this.viewData.mapRasterLayer = obj.mapRasterLayer
+            this.viewData.mapId = obj.mapId
+            this.formData.mapId = obj.mapId
+            this.setRasterLayer()
+            this.clearLayers()            
+          }          
+        }
+      },
       // 初始化地图图层
       initMapLayers() {
         const self = this
@@ -245,7 +267,10 @@
       updateLayerState(layerId=0,type=1){
         var marker = $(`.goaf-icon-box[data-layer='${layerId}']`);
         if(type===1){
+          // 添加隐患预警
           marker.addClass("ico-warning " )
+        }else if(type===3){
+          //修改矿坑体积
         }else{
           marker.removeClass("ico-warning " )
         }
@@ -339,12 +364,12 @@
     width: 100%;
     display: inline-block;
     background: linear-gradient(90deg, #21649c 0.21%, #060F1E 100%);
-    background-color: rgba(33, 100, 156,0.6);
     overflow:hidden; 
     text-overflow:ellipsis; 
     white-space:nowrap; 
     color: #fff;
     text-align: center;
+    // margin-top: 110px;
   }
   /*动画*/
 .ico-warning {

+ 33 - 32
src/views/home/components/SensorInfoStatistics.vue

@@ -2,7 +2,7 @@
     <div class="item">
         <div class="title">
             <span class="name">传感器实时信息统计</span>
-            <span class="number">24</span>
+            <span class="number">{{total}}</span>
         </div>
         <div class="container">
             <div id="sensor-info-chart" v-if="status"></div>   
@@ -17,6 +17,7 @@
         data(){
             return{
                 status:true,
+                total:0,
                 option :{
                     title:[
                         {
@@ -155,11 +156,11 @@
                 }
             }
         },
-        // created(){
-        //     this.$nextTick(()=>{
-        //         this.reload()
-        //     })
-        // },        
+        created(){
+            this.$nextTick(()=>{
+                this.reload()
+            })
+        },        
         methods:{
             init(){
                 var chartDom = document.getElementById('sensor-info-chart');
@@ -184,37 +185,37 @@
                 let   option  =JSON.parse(JSON.stringify(this.option))
                 goafdevstatis().then((res)=>{
                     this.total=res.data.goafDevTotalNum
-                    let pressureSensorNum=res.data.pressureSensorNum
-                    let displacementSensorNum=res.data.displacementSensorNum
-                    let harmfulGasSensorNum=res.data.harmfulGasSensorNum
+                    // let pressureSensorNum=res.data.pressureSensorNum
+                    // let displacementSensorNum=res.data.displacementSensorNum
+                    // let harmfulGasSensorNum=res.data.harmfulGasSensorNum
 
-                    let pressureSensorOnlineNum=res.data.pressureSensorOnlineNum
-                    let displacementSensorOnlineNum=res.data.displacementSensorOnlineNum
-                    let harmfulGasSensorOnlineNum=res.data.harmfulGasSensorOnlineNum               
+                    // let pressureSensorOnlineNum=res.data.pressureSensorOnlineNum
+                    // let displacementSensorOnlineNum=res.data.displacementSensorOnlineNum
+                    // let harmfulGasSensorOnlineNum=res.data.harmfulGasSensorOnlineNum               
 
-                    option.series[0].data[0].value=pressureSensorNum-pressureSensorOnlineNum
-                    option.series[0].data[1].value=pressureSensorOnlineNum
+                    // option.series[0].data[0].value=pressureSensorNum-pressureSensorOnlineNum
+                    // option.series[0].data[1].value=pressureSensorOnlineNum
    
-                    option.series[1].data[0].value=displacementSensorNum-displacementSensorOnlineNum
-                    option.series[1].data[1].value=displacementSensorOnlineNum
+                    // option.series[1].data[0].value=displacementSensorNum-displacementSensorOnlineNum
+                    // option.series[1].data[1].value=displacementSensorOnlineNum
                     
-                    option.series[2].data[0].value=harmfulGasSensorNum-harmfulGasSensorOnlineNum
-                    option.series[2].data[1].value=displacementSensorNum-displacementSensorOnlineNu
+                    // option.series[2].data[0].value=harmfulGasSensorNum-harmfulGasSensorOnlineNum
+                    // option.series[2].data[1].value=displacementSensorNum-displacementSensorOnlineNu
                     
-                    if(!this.myChart){
-                        var chartDom = document.getElementById('sensor-status-chart');
-                        var myChart = echarts.init(chartDom);
-                        this.myChart=myChart 
-                    }        
-                    this.myChart.setOption(option);  
-                    this.myChart.on('click', (params)=> {
-                        this.$router.push({
-                            path: '/particulars/sensor',
-                            query: {
-                                id: '0'
-                            }
-                        })
-                    }); 
+                    // if(!this.myChart){
+                    //     var chartDom = document.getElementById('sensor-status-chart');
+                    //     var myChart = echarts.init(chartDom);
+                    //     this.myChart=myChart 
+                    // }        
+                    // this.myChart.setOption(option);  
+                    // this.myChart.on('click', (params)=> {
+                    //     this.$router.push({
+                    //         path: '/particulars/sensor',
+                    //         query: {
+                    //             id: '0'
+                    //         }
+                    //     })
+                    // }); 
                                     
                 })
             }

+ 4 - 4
src/views/home/components/SensorWarningInfo.vue

@@ -15,7 +15,7 @@
                     </tr>                                    
                     <tr class="report-item" v-for="(item,index) in items" :key="index">
                         <td :title="item.hdangerTitle" style="max-width:200px;">{{ item.hdangerTitle }}</td>
-                        <td :title="item.status">完成</td>
+                        <td :title="item.status">{{dangerStatus(item.status)}}</td>
                         <td :title="item.level">{{ hdangerLevel(item.hdangerLevel) }}</td>
                         <td :title="item.time">{{ item.dangerDeadline }}</td>
                     </tr> 
@@ -42,9 +42,9 @@ export default {
         this.load()
     },
     methods:{
-        formateStatus(val){
-            let status=['待处理','处理完成','已逾期']
-            return status[val]
+        dangerStatus(val) {
+            const status = ['待提交', '待评审', '待整改', '待验收', '完成']
+            return val === -1 ? '撤销' : status[val]
         },
         hdangerLevel(val){
             let status=["异常","威胁","危险","危急"]

+ 4 - 0
src/views/home/index.vue

@@ -132,7 +132,11 @@ import {
                         this.$refs['sensor-warning-statistics'].loadData(res.data)
                     }) 
                     this.$refs['sensor-warning-info'].load()     
+                }else if(topic==="topic/goaf/fill/scale"){
+                    // console.log('填充信息改变',{data})
+                    this.$refs.map.updateMapLayers(data.mapId)
                 }
+                
                 if(data.topictype==='add'){
                     this.$refs.map.updateLayerState(data.layerId)
                 }else if(data.topictype==="completed"){