From a19b20afeacf84c1c743c76b5018bcfbddac2270 Mon Sep 17 00:00:00 2001 From: quanyawei <401863037@qq.com> Date: Fri, 15 Nov 2024 09:10:12 +0800 Subject: [PATCH] fix: 国控站 --- src/components/Wind/Map.vue | 187 +++++++++++++++++++++++++++++++++++++++++----- 1 files changed, 167 insertions(+), 20 deletions(-) diff --git a/src/components/Wind/Map.vue b/src/components/Wind/Map.vue index c2dc060..e0c8fcb 100644 --- a/src/components/Wind/Map.vue +++ b/src/components/Wind/Map.vue @@ -854,14 +854,13 @@ } }).then(data => { this.markDeviceSite(data) + this.stateControlStation()// ��������������������� }) }, // ��������������� markDeviceSite (data) { var keyData = data.data.devices this.keyData = data.data.devices - // ��������������������� - // this.stateControlStation() var groupIcon = L.layerGroup().addTo(this.map) var groupText = L.layerGroup().addTo(this.map) this.keys = [] @@ -1448,6 +1447,10 @@ data = JSON.parse(keyName.a99054 || 0).toFixed(3) switch (true) { case data < 0: { + bgColorList.tvoccolorbg = '#999999' + break + } + case data === '-': { bgColorList.tvoccolorbg = '#999999' break } @@ -2208,17 +2211,14 @@ stateControlStation () { // this.$axios.get('monitorPoint/queryStateControlStation', { this.$request({ - url: '/govMonitorPoint/queryStateControlStation', - method: 'get', - params: { - regionCode: 130900, - sensorCode: 'a34002' - } + url: '/govMonitorPoint/getGovMonitorPoints', + method: 'get' }) .then(res => { - // console.log('���������������') - // console.log(res) + console.log('���������������') + console.log(res) var gkData = res.data + let _this = this var group = L.layerGroup().addTo(this.map) for (let i = 0; i < gkData.length; i++) { var glat = gkData[i].latitude @@ -2226,28 +2226,175 @@ var gIcon = L.icon({ iconUrl: require('@/assets/icon/gk.png'), // iconUrl:require('@/assets/images/tl_PM10.png'), - iconSize: [55, 55], - iconAnchor: [13, 21], + iconSize: [60, 60], + iconAnchor: [30, 48], className: 'my-device' }) // ��������������������� - L.marker([glat, glng], { + let marker = L.marker([glat, glng], { icon: gIcon }).addTo(group) - var myIcon = L.divIcon({ - html: gkData[i].data, - className: 'my-div-icon-g', - iconSize: 30 + marker.inforData = gkData[i] + marker.on('click', function (e) { + console.log('Marker clicked!', e.target) + _this.handleguoClick(gkData[i], e.target) }) - L.marker([glat, glng], { - icon: myIcon - }).addTo(group) + // var myIcon = L.divIcon({ + // html: gkData[i].data, + // className: 'my-div-icon-g', + // iconSize: 30 + // }) + // L.marker([glat, glng], { + // icon: myIcon + // }).addTo(group) } }) .catch(err => { console.log(err) }) }, + handleguoClick (data, marker) { + this.clickmac = '' + this.childerItem = {} + this.farterItem = {} + this.indexsLaber = 0 + this.clickmac = marker.inforData.guid + this.childerItem = marker.inforData + console.log('this.defaultData', this.defaultData) + this.defaultData.forEach(item => { + if (item.devices) { + item.devices.forEach((dev, index) => { + if (dev.mac === marker.inforData.mac) { + this.farterItem = item + this.indexsLaber = index + } + }) + } + }) + this.$request({ + url: '/historyFiveMinutely/historyAqi', + method: 'get', + params: { + guid: data.guid, + } + }) + .then(res => { + if (res.message === '���������������������') { + var datafalse = '������������' + marker.bindPopup(datafalse).openPopup() + return + } + this.childerItem.name = marker.inforData.name + let colorliststyleBgColor = this.styleBgColor(res.data[0]) + console.log('colorliststyleBgColor', colorliststyleBgColor) + let deviceDetails = _.cloneDeep(res.data[0]) + deviceDetails.name = marker.inforData.name + deviceDetails.a99054 = '-' + // eslint-disable-next-line no-unused-vars + for (let key in deviceDetails) { + if (deviceDetails[key] === null) { + deviceDetails[key] = '-' + } + } + console.log('deviceDetails', deviceDetails) + let htmlClassName = 'mypopupNoWind' + 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"> + ${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(String(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(String(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(String(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(String(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(String(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(String(deviceDetails.a05024))} + </div> + </div> + </div> + </div>` + + marker.bindPopup(html, { className: htmlClassName }).openPopup() + }) + .catch(err => { + console.log(err) + }) + }, // ������������������������ toggleWindState () { if (this.ws) { -- Gitblit v1.8.0