| 
					
				 | 
			
			
				@@ -6,7 +6,17 @@ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       <device-info ref="device-info" /> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     </div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     <div class="main"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      <Map ref="map" /> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      <Map ref="map" class="map-component" /> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      <div class="wave-wrap"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        <el-carousel indicator-position="none" :autoplay="false" arrow="always" @change="showWave"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          <el-carousel-item v-for="(item,idx) in sensorlist" :key="idx" class="carousel-item" height="100%"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            <div class="wave-item"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+              <div class="waveChart-title">{{ item.goafSensorName }}</div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+              <WaveChart :ref="'wave-chart-'+idx" key="idx" :chart-id="'wave-chart-'+idx" /> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            </div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          </el-carousel-item> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        </el-carousel> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      </div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     </div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     <div class="side-right"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       <sensor-status ref="sensor-status" /> 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -15,17 +25,17 @@ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   </div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 </template> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 <script> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-import mixins from '@/mixin/mqtt.js' 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+// import mixins from '@/mixin/mqtt.js' 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import { Uint8ArrayToString } from '@/utils' 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-import { getSensorlist } from '@/api/goaf/sensor' 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import { getSensorlist, getWavedata } from '@/api/goaf/sensor' 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   SensorStatus, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   SensorWarningInfo, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   Map, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   SensorStatusCircle, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   DeviceState, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-  DeviceInfo 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  DeviceInfo, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  WaveChart 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 } from './components' 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 export default { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   name: 'Home', 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -35,12 +45,14 @@ export default { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     Map, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     SensorStatusCircle, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     DeviceState, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    DeviceInfo 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    DeviceInfo, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    WaveChart 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-  mixins: [mixins], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  // mixins: [mixins], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   data() { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     return { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       reportData: [], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      sensorlist: [], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       WarniStatisticsdata: { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         fish: 100 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       } 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -52,9 +64,6 @@ export default { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   methods: { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     init() { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       this.initChart() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      this.initMqtt({ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        mqttResponse: this.mqttResponse 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      }) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       getSensorlist().then((res) => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         const { data } = res 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         this.$nextTick(() => { 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -62,6 +71,19 @@ export default { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				           this.$refs['sensor-status-circle'].loadData(data) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				           this.$refs['device-info'].loadData(data) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         }) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        let tableData = [] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        for (let i = 0; i < data.length; i++) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          tableData = tableData.concat(data[i].goafSensorData.map((item, index) => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            return { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+              ...item, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+              goafDevName: data[i].goafDevName, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+              goafDevTypename: data[i].goafDevTypename, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+              index, len: data[i].goafSensorData.length 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          })) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        this.sensorlist = tableData 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        this.showWave(0) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       }) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       this.$nextTick(() => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         this.$refs['sensor-warning-info'].loadData() 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -73,6 +95,21 @@ export default { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         this.$refs['sensor-status'].reload() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       }) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    showWave(index) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      if (this.sensorlist.length < 1) return 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      const params = this.sensorlist[index] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      const chartName = 'wave-chart-' + index 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      getWavedata(params.goafDataId).then((resp) => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        const { data } = resp 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        const x = data.tdWaveValueX.split(',').map(item => parseFloat((item / 100).toFixed(2))) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        const y = data.tdWaveValueY.split(',').map(item => parseFloat((item / 100).toFixed(2))) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        const z = data.tdWaveValueZ.split(',').map(item => parseFloat((item / 100).toFixed(2))) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        const params = { x, y, z } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        this.$nextTick(() => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          this.$refs[chartName][0].show(params) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        }) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      }) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     mqttResponse(topic, message) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       if (!message.includes('{')) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         return 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -88,6 +125,11 @@ export default { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 </script> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+<style> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+.leaflet-control-container{ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  display: none; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+</style> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 <style lang="scss" scoped> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 ::v-deep.home-view{ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     width: 100%; 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -311,12 +353,25 @@ export default { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         height: 100%; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         flex:1; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         padding: 0 14px; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        #map{ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        .map-component{ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          height: 66.6%; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        .wave-wrap{ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          height: 33.3%; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          box-shadow: 0 0 3px rgb(133, 132, 132); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          border-top: 1px solid #eaeaea; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          background-color: #fff; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          .waveChart-title{ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             width: 100%; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            position: absolute; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            padding: 5px; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            background-color: #fff; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            color: #000; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          .wave-item{ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             height: 100%; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            // background-image: url(./images/home/map.png); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            background-size: 100% 100%; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            background-repeat: no-repeat; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            background-color: #fff; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 } 
			 |