From 7c99f16331b22b46b3992f28f10afcdcc4f1f2c0 Mon Sep 17 00:00:00 2001
From: quanyawei <401863037@qq.com>
Date: Wed, 25 Oct 2023 14:47:53 +0800
Subject: [PATCH] fix:实时风场图点击弹窗修改

---
 src/components/Wind/Map.vue |  730 ++++++++++++++++++++++++++++++++++++++++++++++++-------
 1 files changed, 630 insertions(+), 100 deletions(-)

diff --git a/src/components/Wind/Map.vue b/src/components/Wind/Map.vue
index 61678cc..f62f064 100644
--- a/src/components/Wind/Map.vue
+++ b/src/components/Wind/Map.vue
@@ -5,7 +5,9 @@
     element-loading-text="���������"
     element-loading-background="rgba(0, 0, 0, 0.6)"
   >
-    <div v-if="noneData" class="noneData">������������������������������</div>
+    <div v-if="noneData" class="noneData">
+      ������������������������������
+    </div>
     <div class="top">
       <span
         v-for="(item, index) in params"
@@ -24,7 +26,12 @@
           @click="turnState"
         >
         <span class="text_Time">{{ dateFormat }}</span>
-        <img class="drop-icon" :src="turnImg" alt="" @click="turnState">
+        <img
+          class="drop-icon"
+          :src="turnImg"
+          alt=""
+          @click="turnState"
+        >
       </span>
     </div>
     <div class="topDate" style="height: 60px">
@@ -263,10 +270,9 @@
               :value="item.value"
             />
           </el-select>
-          <el-button
-            type="primary"
-            @click="alertData(PageSize, currentPage)"
-          >������</el-button>
+          <el-button type="primary" @click="alertData(PageSize, currentPage)">
+            ������
+          </el-button>
         </div>
       </div>
       <el-table
@@ -314,10 +320,9 @@
         @current-change="handleCurrentChange"
       />
       <div slot="footer" class="dialog-footer">
-        <el-button
-          size="mini"
-          @click="alarmTableVisible = false"
-        >��� ���</el-button>
+        <el-button size="mini" @click="alarmTableVisible = false">
+          ��� ���
+        </el-button>
       </div>
     </el-dialog>
   </div>
@@ -327,9 +332,11 @@
 import 'leaflet/dist/leaflet.css'
 import 'leaflet-velocity/dist/leaflet-velocity.css'
 import L from 'leaflet'
+import _ from 'lodash'
 import 'leaflet-rotatedmarker/leaflet.rotatedMarker.js'
 import 'leaflet-velocity/dist/leaflet-velocity'
 import $ from 'jquery'
+import { WWindUtil } from '@/components/Wind/WRatingArr.js'
 import RegionalOverview from '@/components/Wind/RegionalOverview' // ������������������
 import { mapGetters } from 'vuex'
 import { gcj02towgs84 } from '@/assets/json/transform'
@@ -340,10 +347,12 @@
     weidu: Number,
     jingdu: Number,
     monitorPointId: Number,
-    monitorPointIds: Array
+    monitorPointIds: Array,
   },
   data() {
     return {
+      compassBg: require('@/assets/images/regionalOverview/wind_watch.png'),
+      compassDirection: require('@/assets/images/regionalOverview/wind_point.png'),
       timerKey: '', // ���������������������������
       map: null,
       code: [],
@@ -389,70 +398,70 @@
       factorOptions: [
         {
           label: '������������',
-          value: 'all'
+          value: 'all',
         },
         {
           label: 'PM10',
-          value: 'PM10'
+          value: 'PM10',
         },
         {
           label: 'PM2.5',
-          value: 'PM2.5'
+          value: 'PM2.5',
         },
         {
           label: 'SO2',
-          value: 'SO2'
+          value: 'SO2',
         },
         {
           label: 'NO2',
-          value: 'NO2'
+          value: 'NO2',
         },
         {
           label: 'CO',
-          value: 'CO'
+          value: 'CO',
         },
         {
           label: 'O3',
-          value: 'O3'
-        }
+          value: 'O3',
+        },
       ],
       alertOptions: [
         {
           label: '������������������',
-          value: 'all'
+          value: 'all',
         },
         {
           label: '������',
-          value: 'overrun'
+          value: 'overrun',
         },
         {
           label: '���������',
-          value: 'sudden'
+          value: 'sudden',
         },
         {
           label: '������������������100%',
-          value: 'state100'
+          value: 'state100',
         },
         {
           label: '������������������150%',
-          value: 'state150'
+          value: 'state150',
         },
         {
           label: '������������������250%',
-          value: 'state250'
+          value: 'state250',
         },
         {
           label: '������������������100%',
-          value: 'city100'
+          value: 'city100',
         },
         {
           label: '������������������150%',
-          value: 'city150'
+          value: 'city150',
         },
         {
           label: '������������������250%',
-          value: 'city250'
-        }
+          value: 'city250',
+        },
       ],
       currentDate: '',
       turnImg: require('@/assets/images/regionalOverview/dropDown.png'),
@@ -464,11 +473,11 @@
       dateInfo: '', // ���������������
       timeInfo: '', // ���������������
       nyr: '', // ������������������
-      windJsonData: []
+      windJsonData: [],
     }
   },
   computed: {
-    ...mapGetters(['regionCode'])
+    ...mapGetters(['regionCode']),
   },
   watch: {
     dateValue(n, o) {
@@ -484,7 +493,7 @@
 
         this.canvasWind(newCode)
       })
-    }
+    },
   },
   mounted() {
     this.currentHour()
@@ -529,7 +538,8 @@
   methods: {
     // ������������������������������
     getDayXQ(day) {
-      var days = new Date().getDay() // ������
+      var days = new Date()
+.getDay() // ������
       var rq = '' // ������
       if (day === 'today') {
         rq = this.newData(0)
@@ -680,7 +690,7 @@
       }
       // ������������������������
       for (let i = 0; i < lis.length; i++) {
-        lis[i].onmouseenter = function() {
+        lis[i].onmouseenter = function () {
           // console.log('mouseenter', i)
           // mouseDiv.style.left = (1.36986 * (i - 1) + 0.68493) + '%'
           mouseDiv.style.transform = 'translateX(-50%)'
@@ -691,13 +701,13 @@
           inText.innerHTML = times + ':00'
           // console.log(mouseDiv)
         }
-        lis[i].onmouseleave = function() {
+        lis[i].onmouseleave = function () {
           mouseDiv.style.display = 'none'
           // console.log('������������', i)
         }
       }
       for (let i = 0; i < timeLis.length; i++) {
-        timeLis[i].onmouseenter = function() {
+        timeLis[i].onmouseenter = function () {
           // console.log('mouseenter', i)
           // mouseDiv.style.left = (1.36986 * (i - 2) + 0.68493) + '%'
           mouseDiv.style.left = 1.36986 * i + '%'
@@ -708,7 +718,7 @@
           inText.innerHTML = times + ':00'
           // console.log(mouseDiv)
         }
-        timeLis[i].onmouseleave = function() {
+        timeLis[i].onmouseleave = function () {
           mouseDiv.style.display = 'none'
           // console.log('������������', i)
         }
@@ -768,11 +778,12 @@
     // ������������������,���������
     deviceMaker() {
       if (this.map) {
-        this.map.eachLayer(function(layer) {
+        this.map.eachLayer(function (layer) {
           // ���������������������������
           if (
             !layer._container &&
-            ('' + $(layer._container).attr('class')).replace(/\s/g, '') !==
+            ('' + $(layer._container)
+.attr('class')).replace(/\s/g, '') !==
               'leaflet-layer'
           ) {
             layer.remove()
@@ -787,11 +798,11 @@
           organizationId: this.$store.state.orgId,
           regionCode: this.$store.state.regionCode,
           chooseTime: this.chooseTime,
-          time: this.nyr
-        }
-      }).then((data) => {
+          time: this.nyr,
+        },
+      })
+.then((data) => {
         // console.log('���������������������')
-        console.log(data, 'tata')
         this.markDeviceSite(data)
       })
     },
@@ -801,8 +812,10 @@
       this.keyData = data.data.devices
       // ���������������������
       // this.stateControlStation()
-      var groupIcon = L.layerGroup().addTo(this.map)
-      var groupText = L.layerGroup().addTo(this.map)
+      var groupIcon = L.layerGroup()
+.addTo(this.map)
+      var groupText = L.layerGroup()
+.addTo(this.map)
       this.keys = []
       for (let i = 0; i < keyData.length; i++) {
         if (keyData[i].a34002) {
@@ -812,13 +825,16 @@
         } else if (keyData[i].a21026) {
           this.keys.push(Math.floor(JSON.parse(keyData[i].a21026)))
         } else if (keyData[i].a21004) {
-          this.keys.push(Math.floor(JSON.parse(keyData[i].a21004).toFixed(0)))
+          this.keys.push(Math.floor(JSON.parse(keyData[i].a21004)
+.toFixed(0)))
         } else if (keyData[i].a21005) {
-          this.keys.push(JSON.parse(keyData[i].a21005).toFixed(3))
+          this.keys.push(JSON.parse(keyData[i].a21005)
+.toFixed(3))
         } else if (keyData[i].a05024) {
           this.keys.push(Math.floor(JSON.parse(keyData[i].a05024)))
         } else if (keyData[i].a99054) {
-          this.keys.push(JSON.parse(keyData[i].a99054).toFixed(3))
+          this.keys.push(JSON.parse(keyData[i].a99054)
+.toFixed(3))
         } else {
           // for (let j = 0; j < keyData.length; j++) {
           this.keys.push(JSON.parse('null'))
@@ -946,7 +962,8 @@
           }
         } else if (keyData[i].a21004) {
           var data = Math.floor(
-            Math.floor(JSON.parse(keyData[i].a21004).toFixed(0))
+            Math.floor(JSON.parse(keyData[i].a21004)
+.toFixed(0))
           )
           switch (true) {
             case data < 0: {
@@ -985,7 +1002,8 @@
               break
           }
         } else if (keyData[i].a21005) {
-          var data = JSON.parse(keyData[i].a21005).toFixed(3)
+          var data = JSON.parse(keyData[i].a21005)
+.toFixed(3)
           switch (true) {
             case data < 0: {
               colorNum = 7
@@ -1061,7 +1079,8 @@
               break
           }
         } else if (keyData[i].a99054) {
-          var data = JSON.parse(keyData[i].a99054).toFixed(3)
+          var data = JSON.parse(keyData[i].a99054)
+.toFixed(3)
           switch (true) {
             case data < 0: {
               colorNum = 7
@@ -1105,12 +1124,12 @@
           // iconUrl: require('@/assets/icon/ico2.png'),
           iconSize: [60, 60],
           iconAnchor: [30, 48],
-          className: 'my-device'
+          className: 'my-device',
         })
 
         // ���������������������
         const iconMarker = L.marker([lat, lng], {
-          icon: blueIcon
+          icon: blueIcon,
         })
         groupIcon.addLayer(iconMarker)
         // console.log(JSON.parse(this.keys[i]))
@@ -1118,17 +1137,20 @@
           html: this.keys[i],
           className: 'my-div-icon',
           iconSize: [60, 60],
-          iconAnchor: [40, 40]
+          iconAnchor: [40, 40],
         })
 
         const TexteMarker = L.marker([lat, lng], { icon: myIcon })
+        TexteMarker.vuecontext = this
         groupText.addLayer(TexteMarker)
         const _this = this
         // ������������������������������������mouseover���������������
-        TexteMarker.on('click', function(e) {
+        TexteMarker.on('click', function (e) {
           const MarkerTarget = e.target
-          _this.getMarkerInfor(keyData[i], MarkerTarget)
+          // _this.getMarkerInfor(keyData[i], MarkerTarget)
           this.noneData = false
+          // const _this = e.target.vuecontext
+          _this.handleClick(keyData[i], MarkerTarget)
         })
         // ������������������������������������
         // TexteMarker.on('mouseout', function(e) {
@@ -1136,6 +1158,510 @@
         //   this.bindPopup().closePopup()
         // })
       }
+      console.log(' this.keys', this.keys)
+    },
+    styleBgColor(keyName) {
+      console.log('keyName', keyName)
+      let bgColorList = {
+        pm25colorbg: '',
+        pm10colorbg: '',
+        so2colorbg: '', //������������
+        no210colorbg: '', //������������
+        cocolorbg: '', //������������
+        o3colorbg: '', //������
+        tvoccolorbg: '', //TVOC
+      }
+
+      let data = ''
+      for (let i in keyName) {
+        if (i === 'a34002') {
+          data = Math.floor(JSON.parse(keyName.a34002))
+          switch (true) {
+            case data < 0: {
+              bgColorList.pm10colorbg = '#999999'
+              break
+            }
+            case data === 0: {
+              bgColorList.pm10colorbg = '#688fb1'
+              break
+            }
+            case data <= 50: {
+              bgColorList.pm10colorbg = '#00ff01'
+              break
+            }
+            case data <= 150: {
+              bgColorList.pm10colorbg = '#fdfe00'
+              break
+            }
+            case data <= 250: {
+              bgColorList.pm10colorbg = '#fd8102'
+              break
+            }
+            case data <= 350: {
+              bgColorList.pm10colorbg = '#fc0101'
+              break
+            }
+            case data <= 420: {
+              bgColorList.pm10colorbg = '#c00261'
+              break
+            }
+            case data > 420: {
+              bgColorList.pm10colorbg = '#9f012f'
+              break
+            }
+            default:
+              break
+          }
+        } else if (i === 'a34004') {
+          data = Math.floor(JSON.parse(keyName.a34004))
+          switch (true) {
+            case data < 0: {
+              bgColorList.pm25colorbg = '#999999'
+              break
+            }
+            case data === 0: {
+              bgColorList.pm25colorbg = '#688fb1'
+              break
+            }
+            case data <= 35: {
+              bgColorList.pm25colorbg = '#00ff01'
+              break
+            }
+            case data <= 75: {
+              bgColorList.pm25colorbg = '#fdfe00'
+              break
+            }
+            case data <= 115: {
+              bgColorList.pm25colorbg = '#fd8102'
+              break
+            }
+            case data <= 150: {
+              bgColorList.pm25colorbg = '#fc0101'
+              break
+            }
+            case data <= 250: {
+              bgColorList.pm25colorbg = '#c00261'
+              break
+            }
+            case data > 250: {
+              bgColorList.pm25colorbg = '#9f012f'
+              break
+            }
+            default:
+              break
+          }
+        } else if (i === 'a21026') {
+          data = Math.floor(JSON.parse(keyName.a21026))
+          switch (true) {
+            case data < 0: {
+              bgColorList.so2colorbg = '#999999'
+              break
+            }
+            case data === 0: {
+              bgColorList.so2colorbg = '#688fb1'
+              break
+            }
+            case data <= 50: {
+              bgColorList.so2colorbg = '#00ff01'
+              break
+            }
+            case data <= 150: {
+              bgColorList.so2colorbg = '#fdfe00'
+              break
+            }
+            case data <= 475: {
+              bgColorList.so2colorbg = '#fd8102'
+              break
+            }
+            case data <= 800: {
+              bgColorList.so2colorbg = '#fc0101'
+              break
+            }
+            case data <= 1600: {
+              bgColorList.so2colorbg = '#c00261'
+              break
+            }
+            case data > 1600: {
+              bgColorList.so2colorbg = '#9f012f'
+              break
+            }
+            default:
+              break
+          }
+        } else if (i === 'a21004') {
+          data = Math.floor(Math.floor(JSON.parse(keyName.a21004)
+.toFixed(0)))
+          switch (true) {
+            case data < 0: {
+              bgColorList.no210colorbg = '#999999'
+              break
+            }
+            case data === 0: {
+              bgColorList.no210colorbg = '#688fb1'
+              break
+            }
+            case data <= 40: {
+              bgColorList.no210colorbg = '#00ff01'
+              break
+            }
+            case data <= 80: {
+              bgColorList.no210colorbg = '#fdfe00'
+              break
+            }
+            case data <= 180: {
+              bgColorList.no210colorbg = '#fd8102'
+              break
+            }
+            case data <= 280: {
+              bgColorList.no210colorbg = '#fc0101'
+              break
+            }
+            case data <= 565: {
+              bgColorList.no210colorbg = '#c00261'
+              break
+            }
+            case data > 565: {
+              bgColorList.no210colorbg = '#9f012f'
+              break
+            }
+            default:
+              break
+          }
+        } else if (i === 'a21005') {
+          data = JSON.parse(keyName.a21005)
+.toFixed(3)
+          switch (true) {
+            case data < 0: {
+              bgColorList.cocolorbg = '#999999'
+              break
+            }
+            case data === 0: {
+              bgColorList.cocolorbg = '#688fb1'
+              break
+            }
+            case data <= 2: {
+              bgColorList.cocolorbg = '#00ff01'
+              break
+            }
+            case data <= 4: {
+              bgColorList.cocolorbg = '#fdfe00'
+              break
+            }
+            case data <= 14: {
+              bgColorList.cocolorbg = '#fd8102'
+              break
+            }
+            case data <= 24: {
+              bgColorList.cocolorbg = '#fc0101'
+              break
+            }
+            case data <= 36: {
+              bgColorList.cocolorbg = '#c00261'
+              break
+            }
+            case data > 36: {
+              bgColorList.cocolorbg = '#9f012f'
+              break
+            }
+            default:
+              break
+          }
+        } else if (i === 'a05024') {
+          data = Math.floor(JSON.parse(keyName.a05024))
+          switch (true) {
+            case data < 0: {
+              bgColorList.o3colorbg = '#999999'
+              break
+            }
+            case data === 0: {
+              bgColorList.o3colorbg = '#688fb1'
+              break
+            }
+            case data <= 160: {
+              bgColorList.o3colorbg = '#00ff01'
+              break
+            }
+            case data <= 200: {
+              bgColorList.o3colorbg = '#fdfe00'
+              break
+            }
+            case data <= 300: {
+              bgColorList.o3colorbg = '#fd8102'
+              break
+            }
+            case data <= 400: {
+              bgColorList.o3colorbg = '#fc0101'
+              break
+            }
+            case data <= 800: {
+              bgColorList.o3colorbg = '#c00261'
+              break
+            }
+            case data > 800: {
+              bgColorList.o3colorbg = '#9f012f'
+              break
+            }
+            default:
+              break
+          }
+        } else if (i === 'a99054') {
+          data = JSON.parse(keyName.a99054)
+.toFixed(3)
+          switch (true) {
+            case data < 0: {
+              bgColorList.tvoccolorbg = '#999999'
+              break
+            }
+            case data === 0: {
+              bgColorList.tvoccolorbg = '#688fb1'
+              break
+            }
+            case data <= 0.5: {
+              bgColorList.tvoccolorbg = '#00ff01'
+              break
+            }
+            case data <= 1: {
+              bgColorList.tvoccolorbg = '#fdfe00'
+              break
+            }
+            case data <= 1.5: {
+              bgColorList.tvoccolorbg = '#fd8102'
+              break
+            }
+            case data <= 2: {
+              bgColorList.tvoccolorbg = '#fc0101'
+              break
+            }
+            case data <= 3: {
+              bgColorList.tvoccolorbg = '#c00261'
+              break
+            }
+            case data > 3: {
+              bgColorList.tvoccolorbg = '#9f012f'
+              break
+            }
+            // default:
+            //   break
+          }
+        }
+      }
+      return bgColorList
+    },
+    handleClick(data, marker) {
+      this.$request({
+        url: '/historyFiveMinutely/queryFiveDataByMac',
+        method: 'get',
+        params: {
+          mac: data.mac,
+          chooseTime: this.chooseTime,
+          time: this.nyr,
+        },
+      })
+        .then((res) => {
+          console.log('res.data', res)
+          if (res.message === '���������������������') {
+            var datafalse = '���������������������'
+            marker.bindPopup(datafalse)
+.openPopup()
+            return
+          }
+          let colorliststyleBgColor = this.styleBgColor(res.data)
+          console.log('colorliststyleBgColor', colorliststyleBgColor)
+          let deviceDetails = res.data
+          let windDeg = 0
+          let windDir = ''
+          let dushu =
+            !deviceDetails.a01008 === '-'
+              ? JSON.parse(deviceDetails.a01008)
+.toFixed(0)
+              : '-'
+          let level =
+            !deviceDetails.a01007 === '-'
+              ? WWindUtil.windFormatLevel(deviceDetails.a01007)
+              : '-'
+          console.log('level', level)
+          if (deviceDetails.a01008) {
+            var windDirs = Number(
+              deviceDetails.a01008.substr(0, deviceDetails.a01008.length - 1)
+            )
+            // console.log(windDirs)
+            windDeg = windDirs
+            if (windDirs === 0 || windDirs === '-') {
+              windDir = '������'
+            } else if (windDirs > 0 && windDirs < 90) {
+              windDir = '���������'
+            } else if (windDirs === 90) {
+              windDir = '������'
+            } else if (windDirs > 90 && windDirs < 180) {
+              windDir = '���������'
+            } else if (windDirs === 180) {
+              windDir = '������'
+            } else if (windDirs > 180 && windDirs < 270) {
+              windDir = '���������'
+            } else if (windDirs === 270) {
+              windDir = '������'
+            } else if (windDirs > 270 && windDirs < 360) {
+              windDir = '���������'
+            }
+          }
+          // ������������������������������
+          let html = ` <div data-reactroot="" class="marker_maptip">
+          <div class="marker_title_1nQ">
+            <span>������������</span>
+          </div>
+          <div class="marker_firstline_2WH">
+            <div class="marker_citypart_keg">
+              <div class="marker_name_small_1VU">${deviceDetails.name}</div>
+              <div class="marker_time_w5m">${deviceDetails.dataTime}</div>
+            </div>
+            <div class="marker_indexpart_2UI">
+              <div
+                class="marker_indexname_3TP"
+                style="color: black;background:${
+                  colorliststyleBgColor.tvoccolorbg
+                }"
+              >
+                TVOC
+              </div>
+              <div class="marker_indexvalue_1O7">
+                ${this.handleCutZero(deviceDetails.a99054)}
+              </div>
+            </div>
+          </div>
+          <div class="marker_secondline_2Om">
+            <div class="marker_item_2Kk">
+              <div
+                class="marker_itemname_Wq5"
+                style="color: black;background:${
+                  colorliststyleBgColor.pm25colorbg
+                } "
+              >
+                PM2.5
+              </div>
+              <div class="marker_itemvalue_1l1">
+                 ${this.handleCutZero(deviceDetails.a34004)}
+              </div>
+            </div>
+            <div class="marker_item_2Kk">
+              <div
+                class="marker_itemname_Wq5"
+                style="color: black;background:${
+                  colorliststyleBgColor.pm10colorbg
+                }"
+              >
+                PM10
+              </div>
+              <div class="marker_itemvalue_1l1">
+                 ${this.handleCutZero(deviceDetails.a34002)}
+              </div>
+            </div>
+            <div class="marker_item_2Kk">
+              <div
+                class="marker_itemname_Wq5"
+                style="color: black;background:${
+                  colorliststyleBgColor.so2colorbg
+                }"
+              >
+                SO2
+              </div>
+              <div class="marker_itemvalue_1l1">
+                   ${this.handleCutZero(deviceDetails.a21026)}
+              </div>
+            </div>
+            <div class="marker_item_2Kk">
+              <div
+                class="marker_itemname_Wq5"
+                style="color: black;background:${
+                  colorliststyleBgColor.no210colorbg
+                }"
+              >
+                NO2
+              </div>
+              <div class="marker_itemvalue_1l1">
+                ${this.handleCutZero(deviceDetails.a21004)}
+              </div>
+            </div>
+            <div class="marker_item_2Kk">
+              <div
+                class="marker_itemname_Wq5"
+                style="color: black;background:${
+                  colorliststyleBgColor.cocolorbg
+                }"
+              >
+                CO
+              </div>
+              <div class="marker_itemvalue_1l1">
+                ${this.handleCutZero(deviceDetails.a21005)}
+              </div>
+            </div>
+            <div class="marker_item_2Kk">
+              <div
+                class="marker_itemname_Wq5"
+                style="color: black; background:${
+                  colorliststyleBgColor.o3colorbg
+                }"
+              >
+                O3
+              </div>
+              <div class="marker_itemvalue_1l1">
+                 ${this.handleCutZero(deviceDetails.a05024)}
+              </div>
+            </div>
+          </div>
+          <div class='windBox'>
+            <div style="position: relative;width: 50%;text-align: center;color: #999;border-right: 1px dotted #999;" clss='windIcon'>
+              <img style="width:140px; height:140px" src=${this.compassBg}>
+              <img style="width: 40px;height: 40px;position: absolute;left: 53%;top: 47%;transform: translate(-50%, -50%) rotate(${windDeg}deg)"
+                src=${this.compassDirection}
+              >
+            </div>
+            <div class='windInfor'>
+              <div>������: ${windDir} (${dushu}���)</div>
+              <div>������: ${deviceDetails.a01007}m/s</div>
+              <div>������: ${level}</div>
+            </div>
+          </div>
+         
+        </div>`
+          marker.bindPopup(html, { className: 'mypopup' })
+.openPopup()
+        })
+        .catch((err) => {
+          console.log(err)
+        })
+    },
+    handleCutZero(data) {
+
+    let num = data.substring(0,data.indexOf(".")+4);
+      //������������ ������������������������
+      // let num = Number(data).toFixed(3).toString()
+      let newstr = num
+      //������������ ������������������
+      let leng = num.length - num.indexOf('.') - 1
+      //���������������������
+      if (num.indexOf('.') > -1) {
+        //������������������
+        for (let i = leng; i > 0; i--) {
+          //������newstr���������0
+          if (
+            newstr.lastIndexOf('0') > -1 &&
+            newstr.substr(newstr.length - 1, 1) === 0
+          ) {
+            let k = newstr.lastIndexOf('0')
+            //������������������������������0 ���������������
+            if (newstr.charAt(k - 1) === '.') {
+              return newstr.substring(0, k - 1)
+            } else {
+              //������ ������������0
+              newstr = newstr.substring(0, k)
+            }
+          } else {
+            //������������������0
+            return newstr
+          }
+        }
+      }
+      return num
     },
     getMarkerInfor(data, marker) {
       this.$request({
@@ -1144,27 +1670,28 @@
         params: {
           mac: data.mac,
           chooseTime: this.chooseTime,
-          time: this.nyr
-        }
+          time: this.nyr,
+        },
       })
         .then((res) => {
           if (res.message === '���������������������') {
             var datafalse = '���������������������'
-            this.bindPopup(datafalse).openPopup()
+            this.bindPopup(datafalse)
+.openPopup()
             return
           }
           for (const key in res.data) {
-            var tempDecimal = res.data[key]
-              .replace(/[^\d.]/g, '')
-              .split('.')[1]
+            var tempDecimal = res.data[key].replace(/[^\d.]/g, '')
+.split('.')[1]
             if (key !== '������' && key !== '������') {
               if (Number(tempDecimal) === 0) {
                 res.data[key] =
-                      parseInt(res.data[key]) + res.data[key].split(' ')[1]
+                  parseInt(res.data[key]) + res.data[key].split(' ')[1]
               } else {
                 res.data[key] =
-                      Number(res.data[key].split(' ')[0]).toFixed(2) +
-                      res.data[key].split(' ')[1]
+                  Number(res.data[key].split(' ')[0])
+.toFixed(2) +
+                  res.data[key].split(' ')[1]
               }
             }
           }
@@ -1172,7 +1699,8 @@
             .replace(/,/g, `<br>`)
             .replace(/{|}|"/g, '')
           console.log(data)
-          marker.bindPopup(data).openPopup()
+          marker.bindPopup(data)
+.openPopup()
         })
         .catch((err) => {
           console.log(err)
@@ -1186,11 +1714,12 @@
       // const that = this
       // ������������������
       if (this.map) {
-        this.map.eachLayer(function(layer) {
+        this.map.eachLayer(function (layer) {
           // ���������������������������
           if (
             !layer._container &&
-            ('' + $(layer._container).attr('class')).replace(/\s/g, '') !==
+            ('' + $(layer._container)
+.attr('class')).replace(/\s/g, '') !==
               'leaflet-layer'
           ) {
             layer.remove()
@@ -1252,7 +1781,8 @@
         }
       }, 1000)
     },
-    findLayer(layerName) { // ������������������������������
+    findLayer(layerName) {
+      // ������������������������������
       if (!this.map) {
         return null
       }
@@ -1276,12 +1806,13 @@
         renderer: L.canvas(),
         zoomControl: false, // ������������
         attributionControl: false, // ���������������logol
-        crs: L.CRS.EPSG3857 // ���������������������EPSG3857���������������������EPSG3395������������������������ EPSG4326 WGS84
+        crs: L.CRS.EPSG3857, // ���������������������EPSG3857���������������������EPSG3395������������������������ EPSG4326 WGS84
       })
       // ������������������
       L.tileLayer(
         'https://wprd01.is.autonavi.com/appmaptile?lang=zh_cn&size=1&style=7&x={x}&y={y}&z={z}'
-      ).addTo(map)
+      )
+.addTo(map)
       this.map = map // data���������������
       // const that = this
       // this.map.on('mousedown', function(ev) {
@@ -1343,11 +1874,12 @@
     // ���������������������
     initData() {
       if (this.map) {
-        this.map.eachLayer(function(layer) {
+        this.map.eachLayer(function (layer) {
           // ���������������������������
           if (
             !layer._container &&
-            ('' + $(layer._container).attr('class')).replace(/\s/g, '') !==
+            ('' + $(layer._container)
+.attr('class')).replace(/\s/g, '') !==
               'leaflet-layer'
           ) {
             layer.remove()
@@ -1365,8 +1897,8 @@
         params: {
           monitorPointIds: this.monitorPointIds.toString(),
           chooseTime: this.chooseTime,
-          time: this.nyr
-        }
+          time: this.nyr,
+        },
       })
         .then((res) => {
           this.windJsonData = res.data[0]
@@ -1389,7 +1921,7 @@
           // velocityType: 'Global Wind',
           velocityType: 'GBR Wind',
           displayPosition: 'bottomleft',
-          displayEmptyString: 'No wind data'
+          displayEmptyString: 'No wind data',
         },
         data: data, // ������  ���������������
         // data: data2,
@@ -1409,8 +1941,8 @@
           '#345B1B',
           '#186303',
           '#175103',
-          '#053F03'
-        ]
+          '#053F03',
+        ],
         // colorScale: ['#053F03', '#053F03', '#053F03', '#053F03', '#053F03', '#053F03', '#053F03', '#053F03']
       })
       velocityLayer.addTo(this.map) // ���������������
@@ -1433,9 +1965,10 @@
           startTime: this.dateValue[0],
           endTime: this.dateValue[1],
           index: this.factorValue,
-          alarmType: this.alartValue
-        }
-      }).then((res) => {
+          alarmType: this.alartValue,
+        },
+      })
+.then((res) => {
         // console.log('������������')
         // console.log(res)
         var tempData = res.data
@@ -1501,14 +2034,15 @@
         method: 'get',
         params: {
           regionCode: 130900,
-          sensorCode: 'a34002'
-        }
+          sensorCode: 'a34002',
+        },
       })
         .then((res) => {
           // console.log('���������������')
           // console.log(res)
           var gkData = res.data
-          var group = L.layerGroup().addTo(this.map)
+          var group = L.layerGroup()
+.addTo(this.map)
           for (let i = 0; i < gkData.length; i++) {
             var glat = gkData[i].latitude
             var glng = gkData[i].longitude
@@ -1517,20 +2051,22 @@
               // iconUrl:require('@/assets/images/tl_PM10.png'),
               iconSize: [55, 55],
               iconAnchor: [13, 21],
-              className: 'my-device'
+              className: 'my-device',
             })
             // ���������������������
             L.marker([glat, glng], {
-              icon: gIcon
-            }).addTo(group)
+              icon: gIcon,
+            })
+.addTo(group)
             var myIcon = L.divIcon({
               html: gkData[i].data,
               className: 'my-div-icon-g',
-              iconSize: 30
+              iconSize: 30,
             })
             L.marker([glat, glng], {
-              icon: myIcon
-            }).addTo(group)
+              icon: myIcon,
+            })
+.addTo(group)
           }
         })
         .catch((err) => {
@@ -1556,12 +2092,13 @@
     },
     closeAlarmTableVisible() {
       this.$store.state.alarmTableVisible = false
-    }
-  }
+    },
+  },
 }
 </script>
 
 <style lang="scss">
+@import './dataModel.css';
 html,
 body,
 #mapContent {
@@ -1800,14 +2337,7 @@
   /* padding-left: 10px; */
   /* padding-top: 30px; */
 }
-.leaflet-popup-content {
-  width: 235px !important;
-  font-size: 12px;
-  -webkit-transform-origin-x: 0;
-  z-index: 1000;
-  /* -webkit-transform: scale(0.90); */
-  /* font-family: ui-serif; */
-}
+
 .buttom-left {
   /* background-image: url("@/assets/images/tl_PM10.png"); */
   position: absolute;

--
Gitblit v1.8.0