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 | 1542 ++++++++++++++++++++++++++++++++++------------------------ 1 files changed, 898 insertions(+), 644 deletions(-) diff --git a/src/components/Wind/Map.vue b/src/components/Wind/Map.vue index a479499..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" @@ -13,8 +15,7 @@ class="left" :class="{ click: changeColor === index }" @click="change(index)" - >{{ item }}</span - > + >{{ item }}</span> <!-- <span class="middle" @click="toggleWindState()">{{ windStateText }}</span> --> <span class="right">{{ times }}���</span> <span class="dropDown"> @@ -23,170 +24,175 @@ :src="require('@/assets/images/regionalOverview/realTimeImg.png')" alt="" @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"> - <div class="jdt" id="eventPro"> + <div id="eventPro" class="jdt"> <div class="mouseDiv"> - <span class="inText"></span> - <div class="sjDiv"></div> + <span class="inText" /> + <div class="sjDiv" /> </div> <div class="mouseDiv2"> - <span class="inText2"></span> - <div class="sjDiv2"></div> + <span class="inText2" /> + <div class="sjDiv2" /> </div> - <li></li> - <li></li> - <li></li> - <li></li> - <li></li> - <li></li> - <li></li> - <li></li> - <li></li> - <li></li> - <li></li> - <li></li> - <li></li> - <li></li> - <li></li> - <li></li> - <li></li> - <li></li> - <li></li> - <li></li> - <li></li> - <li></li> - <li></li> - <li></li> - <li></li> - <li></li> - <li></li> - <li></li> - <li></li> - <li></li> - <li></li> - <li></li> - <li></li> - <li></li> - <li></li> - <li></li> - <li></li> - <li></li> - <li></li> - <li></li> - <li></li> - <li></li> - <li></li> - <li></li> - <li></li> - <li></li> - <li></li> - <li></li> - <li></li> - <li></li> - <li></li> - <li></li> - <li></li> - <li></li> - <li></li> - <li></li> - <li></li> - <li></li> - <li></li> - <li></li> - <li></li> - <li></li> - <li></li> - <li></li> - <li></li> - <li></li> - <li></li> - <li></li> - <li></li> - <li></li> - <li></li> - <li></li> + <li /> + <li /> + <li /> + <li /> + <li /> + <li /> + <li /> + <li /> + <li /> + <li /> + <li /> + <li /> + <li /> + <li /> + <li /> + <li /> + <li /> + <li /> + <li /> + <li /> + <li /> + <li /> + <li /> + <li /> + <li /> + <li /> + <li /> + <li /> + <li /> + <li /> + <li /> + <li /> + <li /> + <li /> + <li /> + <li /> + <li /> + <li /> + <li /> + <li /> + <li /> + <li /> + <li /> + <li /> + <li /> + <li /> + <li /> + <li /> + <li /> + <li /> + <li /> + <li /> + <li /> + <li /> + <li /> + <li /> + <li /> + <li /> + <li /> + <li /> + <li /> + <li /> + <li /> + <li /> + <li /> + <li /> + <li /> + <li /> + <li /> + <li /> + <li /> + <li /> </div> <div class="timeDiv" style="position: relative"> <ul id="timeUl"> - <li style="width: 0.83%"></li> - <li></li> - <li></li> + <li style="width: 0.83%" /> + <li /> + <li /> <li>03</li> - <li></li> - <li></li> + <li /> + <li /> <li>06</li> - <li></li> - <li></li> + <li /> + <li /> <li>09</li> - <li></li> - <li></li> + <li /> + <li /> <li>12</li> - <li></li> - <li></li> + <li /> + <li /> <li>15</li> - <li></li> - <li></li> + <li /> + <li /> <li>18</li> - <li></li> - <li></li> + <li /> + <li /> <li>21</li> - <li></li> - <li></li> - <li></li> + <li /> + <li /> + <li /> <!-- --> - <li></li> - <li></li> + <li /> + <li /> <li>03</li> - <li></li> - <li></li> + <li /> + <li /> <li>06</li> - <li></li> - <li></li> + <li /> + <li /> <li>09</li> - <li></li> - <li></li> + <li /> + <li /> <li>12</li> - <li></li> - <li></li> + <li /> + <li /> <li>15</li> - <li></li> - <li></li> + <li /> + <li /> <li>18</li> - <li></li> - <li></li> + <li /> + <li /> <li>21</li> - <li></li> - <li></li> - <li></li> + <li /> + <li /> + <li /> <!-- --> - <li></li> - <li></li> + <li /> + <li /> <li>03</li> - <li></li> - <li></li> + <li /> + <li /> <li>06</li> - <li></li> - <li></li> + <li /> + <li /> <li>09</li> - <li></li> - <li></li> + <li /> + <li /> <li>12</li> - <li></li> - <li></li> + <li /> + <li /> <li>15</li> - <li></li> - <li></li> + <li /> + <li /> <li>18</li> - <li></li> - <li></li> + <li /> + <li /> <li>21</li> - <li></li> - <li></li> + <li /> + <li /> <li>00</li> </ul> <div @@ -197,7 +203,7 @@ " class="dayDiv" > - <p class="p1"></p> + <p class="p1" /> <p style="position: relative"> <span class="borderLine" @@ -208,8 +214,8 @@ height: 47px; bottom: 0; " - ></span> - <span class="p2"></span> + /> + <span class="p2" /> <span class="borderLine" style=" @@ -219,9 +225,9 @@ height: 47px; bottom: 0; " - ></span> + /> </p> - <p class="p3"></p> + <p class="p3" /> </div> </div> </div> @@ -264,9 +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,9 +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> @@ -326,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' @@ -343,6 +351,8 @@ }, data() { return { + compassBg: require('@/assets/images/regionalOverview/wind_watch.png'), + compassDirection: require('@/assets/images/regionalOverview/wind_point.png'), timerKey: '', // ��������������������������� map: null, code: [], @@ -463,6 +473,7 @@ dateInfo: '', // ��������������� timeInfo: '', // ��������������� nyr: '', // ������������������ + windJsonData: [], } }, computed: { @@ -475,6 +486,13 @@ }, regionCode(newCode, oldCode) { this.timerKey = newCode // ������������code��������������������������� + }, + windJsonData(newCode, oldCode) { + this.$nextTick(() => { + console.log('111') + + this.canvasWind(newCode) + }) }, }, mounted() { @@ -496,11 +514,8 @@ const newLL = this.bd09togcj02(this.jingduNew, this.weiduNew) // ��������������������������������� this.jingduNew = newLL[1] this.weiduNew = newLL[0] - // ��������������������� - this.windData() - this.change(0) - this.getParamsData() - this.windDir() + this.getParamsData(false) + // this.windDir() this.newDate() // this.alertData(this.PageSize, this.currentPage) }, @@ -523,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) @@ -617,23 +633,19 @@ this.chooseTime = true // ��������������� if ((i + 1) / 24 < 1) { this.nyr = this.newData(-2, 'nyr') + ' ' + times + ':00' - console.log(111, this.nyr) } else if ((i + 1) / 24 < 2 && (i + 1) / 24 >= 1) { this.nyr = this.newData(-1, 'nyr') + ' ' + times + ':00' - console.log(222, this.nyr) } else if ((i + 1) / 24 < 3 && (i + 1) / 24 >= 2) { this.nyr = this.newData(0, 'nyr') + ' ' + times + ':00' - console.log(333, this.nyr) } else { this.nyr = this.newData(1, 'nyr') + ' ' + times + ':00' - console.log(444, this.nyr) } break } } } that.times = 1 - that.getParamsData() + that.getParamsData(true) } // timeUl������������������ timeUl.onclick = (e) => { @@ -654,16 +666,12 @@ this.chooseTime = true // ��������������� if (i / 24 < 1) { this.nyr = this.newData(-2, 'nyr') + ' ' + times + ':00' - console.log(111, this.nyr) } else if (i / 24 < 2 && i / 24 >= 1) { this.nyr = this.newData(-1, 'nyr') + ' ' + times + ':00' - console.log(222, this.nyr) } else if (i / 24 < 3 && i / 24 >= 2) { this.nyr = this.newData(0, 'nyr') + ' ' + times + ':00' - console.log(333, this.nyr) } else { this.nyr = this.newData(1, 'nyr') + ' ' + times + ':00' - console.log(444, this.nyr) } break } @@ -678,7 +686,7 @@ // console.log('���������������������', greenInfo, 'index') } that.times = 1 - that.getParamsData() + that.getParamsData(true) } // ������������������������ for (let i = 0; i < lis.length; i++) { @@ -756,183 +764,6 @@ mouseLeave() { this.map.scrollWheelZoom.enable() }, - // initWebpack() { - // // ������������ - // var param = this.accountId + '&' + this.orgId + '&' + this.regionCode - // // ������URL - // var socketUrl = 'http://monitor-api2.7drlb.com/web/WebSocket/' + param - // socketUrl = socketUrl.replace('https', 'ws').replace('http', 'ws') - // this.ws = new WebSocket(socketUrl) - // this.ws.onopen = this.onopen - // this.ws.onmessage = this.onmessage - // this.ws.onclose = this.onclose - // this.ws.onerror = this.onerror - // }, - // reconnect() { // ������������ - // var that = this - // if (that.lockReconnect) { - // return - // } - // that.lockReconnect = true - // // ������������������������������������������������������������ - // that.timeoutnum && clearTimeout(that.timeoutnum) - // that.timeoutnum = setTimeout(function() { - // // ��������� - // that.initWebpack() - // that.lockReconnect = false - // }, 5000) - // }, - // reset() { // ������������ - // var that = this - // // ������������ - // clearTimeout(that.timeoutObj) - // clearTimeout(that.serverTimeoutObj) - // // ������������ - // that.start() - // }, - // start() { // ������������ - // // console.log('������������') - // var self = this - // self.timeoutObj && clearTimeout(self.timeoutObj) - // self.serverTimeoutObj && clearTimeout(self.serverTimeoutObj) - // self.timeoutObj = setTimeout(function() { - // // ������������������������������������������������������������������������ - // if (self.ws.readyState === 1) { // ������������������ - // self.ws.send('heartCheck') - // } else { // ������������ - // self.reconnect() - // } - // self.serverTimeoutObj = setTimeout(function() { - // // ������������ - // self.ws.close() - // }, self.timeout) - // }, self.timeout) - // }, - // onopen() { - // // console.log('������������') - // // ������������ - // this.start() - // }, - // onmessage(msg) { - // var that = this - // if (JSON.parse(msg.data).������) { - // that.wsData2 = msg.data.replace(/,/g, `<br>`).replace(/{|}|"/g, '') - // } else { - // that.wsData1 = msg.data - // if (that.windState === 2) { - // for (let i = 0; i < that.keyData.length; i++) { - // // ��������������� - // // ���������(������mac������)��������������������� - // if (that.coordinates[i] === JSON.parse(that.wsData1).mac) { - // var blueIcon1 = L.icon({ // ������������������ - // iconUrl: require('@/assets/images/icoWind03.png'), - // iconSize: [30, 30], - // iconAnchor: [15, 25], - // className: 'iconWind' - // }) - // // L.marker������������������������������ - // that.marker = L.marker([that.lats[i], that.lngs[i]], { - // icon: blueIcon1, - // rotationAngle: Number(JSON.parse(that.wsData1).������) - // }) - // if (i === 0) { - // that.markerObject.push({ mac1: that.coordinates[i], marker: that.marker }) - // that.map.addLayer(that.marker) - // } else { - // that.markerObject.push({ mac1: that.coordinates[i], marker: that.marker }) - // for (let j = 0; j < that.markerObject.length; j++) { - // if (that.coordinates[0] === that.markerObject[j].mac1) { - // that.map.removeLayer(that.markerObject[j].marker) - // that.map.addLayer(that.marker) - // } else if (that.coordinates[i] === that.markerObject[j].mac1) { - // that.map.removeLayer(that.markerObject[j].marker) - // that.map.addLayer(that.marker) - // } - // } - // } - // } - // } - // } - // } - // // ������������������������������������ - // this.reset() - // }, - // onclose(e) { - // // console.log('������������') - // // console.log('websocket ������: ' + e.code + ' ' + e.reason + ' ' + e.wasClean) - // // ������ - // this.reconnect() - // }, - // onerror(e) { - // console.log('������������') - // // ������ - // this.reconnect() - // }, - // ws������ - // wsStart() { - // var that = this - // // ������������ - // var param = this.accountId + '&' + this.orgId + '&' + this.regionCode - // // ������URL - // var socketUrl = 'http://monitor-api2.7drlb.com/web/WebSocket/' + param - // // ������http���WS - // // console.log(socketUrl) - // socketUrl = socketUrl.replace('https', 'ws').replace('http', 'ws') - // this.ws = new WebSocket(socketUrl) - // // if (this.ws) { - // // this.ws.close() - // // console.log('ws������������') - // // } - // // this.ws = new WebSocket(socketUrl) - // // console.log('ws������������') - - // this.ws.onopen = function() { - // // console.log('websocket������������') - // } - // ������������������ - // this.ws.onmessage = function(msg) { - // if (JSON.parse(msg.data).������) { - // that.wsData2 = msg.data.replace(/,/g, `<br>`).replace(/{|}|"/g, '') - // // console.log(that.wsData2) - // } else { - // that.wsData1 = msg.data - // // console.log(that.wsData1) - // if (that.windState === 2) { - // for (let i = 0; i < that.keyData.length; i++) { - // // ��������������� - // // ���������(������mac������)��������������������� - // if (that.coordinates[i] === JSON.parse(that.wsData1).mac) { - // var blueIcon1 = L.icon({ - // iconUrl: require('@/assets/images/icoWind03.png'), - // iconSize: [30, 30], - // iconAnchor: [15, 25], - // className: 'iconWind' - // }) - // that.marker = L.marker([that.lats[i], that.lngs[i]], { - // icon: blueIcon1, - // rotationAngle: Number(JSON.parse(that.wsData1).������) - // }) - // if (i === 0) { - // that.markerObject.push({ mac1: that.coordinates[i], marker: that.marker }) - // that.map.addLayer(that.marker) - // } else { - // that.markerObject.push({ mac1: that.coordinates[i], marker: that.marker }) - // for (let j = 0; j < that.markerObject.length; j++) { - // if (that.coordinates[0] === that.markerObject[j].mac1) { - // that.map.removeLayer(that.markerObject[j].marker) - // that.map.addLayer(that.marker) - // } else if (that.coordinates[i] === that.markerObject[j].mac1) { - // that.map.removeLayer(that.markerObject[j].marker) - // that.map.addLayer(that.marker) - // } - // } - // } - // } - // } - // } - // } - // } - // }, // ��������������������������������� bd09togcj02(bd_lon, bd_lat) { var x_pi = (3.14159265358979324 * 3000.0) / 180.0 @@ -944,69 +775,21 @@ var gg_lat = z * Math.sin(theta) return [gg_lat, gg_lng] }, - // /** - // * GCJ02 ��������� WGS84 - // * @param lng - // * @param lat - // * @returns {*[]} - // */ - // gcj02towgs84(lng, lat) { - // if (this.out_of_china(lng, lat)) { - // return [lat,lng] - // } else { - // var dlat = this.transformlat(lng - 105.0, lat - 35.0); - // var dlng = this.transformlng(lng - 105.0, lat - 35.0); - // var radlat = lat / 180.0 * PI; - // var magic = Math.sin(radlat); - // magic = 1 - ee * magic * magic; - // var sqrtmagic = Math.sqrt(magic); - // dlat = (dlat * 180.0) / ((a * (1 - ee)) / (magic * sqrtmagic) * PI); - // dlng = (dlng * 180.0) / (a / sqrtmagic * Math.cos(radlat) * PI); - // var mglat = lat + dlat; - // var mglng = lng + dlng; - // return [ lat * 2 - mglat,lng * 2 - mglng] - // } - // }, - // - // transformlat(lng, lat) { - // var ret = -100.0 + 2.0 * lng + 3.0 * lat + 0.2 * lat * lat + 0.1 * lng * lat + 0.2 * Math.sqrt(Math.abs(lng)); - // ret += (20.0 * Math.sin(6.0 * lng * PI) + 20.0 * Math.sin(2.0 * lng * PI)) * 2.0 / 3.0; - // ret += (20.0 * Math.sin(lat * PI) + 40.0 * Math.sin(lat / 3.0 * PI)) * 2.0 / 3.0; - // ret += (160.0 * Math.sin(lat / 12.0 * PI) + 320 * Math.sin(lat * PI / 30.0)) * 2.0 / 3.0; - // return ret - // }, - // transformlng(lng, lat) { - // var ret = 300.0 + lng + 2.0 * lat + 0.1 * lng * lng + 0.1 * lng * lat + 0.1 * Math.sqrt(Math.abs(lng)); - // ret += (20.0 * Math.sin(6.0 * lng * PI) + 20.0 * Math.sin(2.0 * lng * PI)) * 2.0 / 3.0; - // ret += (20.0 * Math.sin(lng * PI) + 40.0 * Math.sin(lng / 3.0 * PI)) * 2.0 / 3.0; - // ret += (150.0 * Math.sin(lng / 12.0 * PI) + 300.0 * Math.sin(lng / 30.0 * PI)) * 2.0 / 3.0; - // return ret - // }, - // /** - // * ��������������������������������������������������� - // * @param lng - // * @param lat - // * @returns {boolean} - // */ - // out_of_china(lng, lat) { - // return (lng < 72.004 || lng > 137.8347) || ((lat < 0.8293 || lat > 55.8271) || false); - // }, // ������������������,��������� deviceMaker() { - // ������������������ if (this.map) { 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() } }) } - const that = this this.$request({ url: '/historyFiveMinutely/queryDeviceAndData', method: 'get', @@ -1017,22 +800,22 @@ chooseTime: this.chooseTime, time: this.nyr, }, - }).then((data) => { + }) +.then((data) => { // console.log('���������������������') - console.log(data, 'tata') - that.loading = false this.markDeviceSite(data) }) }, // ��������������� markDeviceSite(data) { - // data.data.devices.latitude = gcj02towgs84(data.data.devices.longitude, data.data.devices.latitude)[0] - // data.data.devices.longitude = gcj02towgs84(data.data.devices.longitude, data.data.devices.latitude)[1] var keyData = data.data.devices this.keyData = data.data.devices // ��������������������� - this.stateControlStation() - var group = L.layerGroup().addTo(this.map) + // this.stateControlStation() + 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) { @@ -1042,24 +825,21 @@ } 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')) // } } - // console.log(this.keys) - // const newL = this.bd09togcj02(keyData[i].longitude, keyData[i].latitude) - // var lat = newL[0] - // this.lats[i] = newL[0] - // var lng = newL[1] - // this.lngs[i] = newL[1] var lat = keyData[i].latitude this.lats[i] = keyData[i].latitude var lng = keyData[i].longitude @@ -1182,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: { @@ -1221,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 @@ -1297,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 @@ -1343,10 +1126,12 @@ iconAnchor: [30, 48], className: 'my-device', }) + // ��������������������� - L.marker([lat, lng], { + const iconMarker = L.marker([lat, lng], { icon: blueIcon, - }).addTo(group) + }) + groupIcon.addLayer(iconMarker) // console.log(JSON.parse(this.keys[i])) var myIcon = L.divIcon({ html: this.keys[i], @@ -1354,129 +1139,573 @@ iconSize: [60, 60], iconAnchor: [40, 40], }) - var marker = L.marker([lat, lng], { icon: myIcon }).addTo(group) + + const TexteMarker = L.marker([lat, lng], { icon: myIcon }) + TexteMarker.vuecontext = this + groupText.addLayer(TexteMarker) + const _this = this // ������������������������������������mouseover��������������� - var _this = this - marker.on('mouseover', function (e) { + TexteMarker.on('click', function (e) { + const MarkerTarget = e.target + // _this.getMarkerInfor(keyData[i], MarkerTarget) this.noneData = false - // $.getJSON('http://47.99.64.149:8080/historyFiveMinutely/queryPopDataByMac', { 'mac': keyData[i].mac, chooseTime: this.chooseTime, time: this.nyr }, (res) => { - // var data = JSON.stringify(res.data).replace(/,/g, `<br>`).replace(/{|}|"/g, '') - // // console.log(data) - // this.bindPopup(data).openPopup() - // }) - _this - .$request({ - url: '/historyFiveMinutely/queryPopDataByMac', - method: 'get', - params: { - mac: keyData[i].mac, - chooseTime: _this.chooseTime, - time: _this.nyr, - }, - }) - .then((res) => { - if (res.message == '���������������������') { - var datafalse = '���������������������' - this.bindPopup(datafalse).openPopup() - return - } - for (const key in res.data) { - 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] - } else { - res.data[key] = - Number(res.data[key].split(' ')[0]).toFixed(2) + - res.data[key].split(' ')[1] - } - // var num = res.data[key].split(' ')[0] - // res.data[key] = (num - 0).toFixed(3) - } - } - var data = JSON.stringify(res.data) - .replace(/,/g, `<br>`) - .replace(/{|}|"/g, '') - this.bindPopup(data).openPopup() - }) - .catch((err) => { - console.log(err) - }) + // const _this = e.target.vuecontext + _this.handleClick(keyData[i], MarkerTarget) }) // ������������������������������������ - marker.on('mouseout', function (e) { - this.noneData = false - this.bindPopup().closePopup() - }) + // TexteMarker.on('mouseout', function(e) { + // this.noneData = false + // this.bindPopup().closePopup() + // }) } + console.log(' this.keys', this.keys) }, - // ������������������������������������ - // moveInAndOut() { - // - // }, - // ������������������ - stateControlStation() { - // this.$axios.get('monitorPoint/queryStateControlStation', { + 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: '/govMonitorPoint/queryStateControlStation', + url: '/historyFiveMinutely/queryFiveDataByMac', method: 'get', params: { - regionCode: 130900, - sensorCode: 'a34002', + mac: data.mac, + chooseTime: this.chooseTime, + time: this.nyr, }, }) .then((res) => { - // console.log('���������������') - // console.log(res) - var gkData = res.data - 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 - var gIcon = L.icon({ - iconUrl: require('@/assets/icon/gk.png'), - // iconUrl:require('@/assets/images/tl_PM10.png'), - iconSize: [55, 55], - iconAnchor: [13, 21], - className: 'my-device', - }) - // ��������������������� - L.marker([glat, glng], { - icon: gIcon, - }).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) + 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) }) }, - // ������������������������ - toggleWindState() { - if (this.ws) { - this.ws.close() + 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 + } + } } - if (this.windState === 2) { - this.windState = 1 - this.windStateText = '���������' - this.initData() - // console.log(this.windState) - } else if (this.windState === 1) { - this.windState = 2 - this.windStateText = '���������' - this.windDir() - // console.log(this.windState) - } + return num + }, + getMarkerInfor(data, marker) { + this.$request({ + url: '/historyFiveMinutely/queryPopDataByMac', + method: 'get', + params: { + mac: data.mac, + chooseTime: this.chooseTime, + time: this.nyr, + }, + }) + .then((res) => { + if (res.message === '���������������������') { + var datafalse = '���������������������' + this.bindPopup(datafalse) +.openPopup() + return + } + for (const key in res.data) { + 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] + } else { + res.data[key] = + Number(res.data[key].split(' ')[0]) +.toFixed(2) + + res.data[key].split(' ')[1] + } + } + } + var data = JSON.stringify(res.data) + .replace(/,/g, `<br>`) + .replace(/{|}|"/g, '') + console.log(data) + marker.bindPopup(data) +.openPopup() + }) + .catch((err) => { + console.log(err) + }) + return data }, // ��������������� windDir() { @@ -1489,7 +1718,8 @@ // ��������������������������� if ( !layer._container && - ('' + $(layer._container).attr('class')).replace(/\s/g, '') !== + ('' + $(layer._container) +.attr('class')).replace(/\s/g, '') !== 'leaflet-layer' ) { layer.remove() @@ -1498,68 +1728,27 @@ } // ��������������������������� this.deviceMaker() - // ������ws������ - // this.wsStart() - // this.initWebpack() - // console.log('������ws���������������������') - // console.log(this.accountId, this.orgId, this.regionCode) - // this.timer2 = setInterval(() => { - // if (this.ws) { - // this.ws.close() - // console.log('ws������������') - // } - // // ������ws������ - // this.wsStart() - // console.log('ws������������') - // }, 60000) }, // ���������������������regionCode���������������api������ getRegionApiRequest() { - // console.log(this.$store.state.regionCode) - // this.ws.close() - // console.log('ws������') - // ������������������������ - this.getParamsData() + this.getParamsData(true) setTimeout(() => { $.getJSON( - 'http://47.99.64.149:8080/screen_api_v2/screen/windAndDeviceDataByArea', + 'http://47.99.64.149:8080/api/screen_api_v2/screen/windAndDeviceDataByArea', { monitorPointId: this.$store.state.monitorPointId }, (data) => { - // ������������������ - // console.log('xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx') - // console.log(data) - // this.map.eachLayer(function(layer) { - // // ��������������������������� - // if (!layer._container && ('' + $(layer._container).attr('class')).replace(/\s/g, '') !== 'leaflet-layer') { - // layer.remove() - // } - // }) this.map.setView([data[2], data[1]], 12) // console.log('������������') } ) }, 1000) - if (this.windState === 1) { - // this.ws.close() - this.initData() - // console.log('���������������') - } else if (this.windState === 2) { - this.windDir() - // console.log('���������������') - } - // ������������������ - // this.deviceMaker() - // this.getParamsData() }, // ��������������������������������������� jumpMap(LngLat) { - // console.log('���������������������') - // console.log(this.jumpData) - // console.log(LngLat) this.map.setView(LngLat, 18) }, // ������������������������ - getParamsData() { + getParamsData(isFirst = true) { clearInterval(this.timer) this.timer = setInterval(() => { this.currentHour() @@ -1579,33 +1768,42 @@ this.chooseTimeInfo = false // console.log('else') } - // console.log(this.chooseTimeInfo, 'this.chooseTimeInfo ') - // clearInterval(this.timer) - if (this.windState === 1) { - // this.ws.close() - this.initData() - // console.log('���������������') - } else if (this.windState === 2) { - this.windDir() - // console.log('���������������') - } setTimeout(() => { - this.change(this.changeColor) + console.log('change', isFirst) + if (isFirst) { + this.windData() + this.deviceMaker() + } else { + this.change(this.changeColor) + } this.times = 300 }, 100) } }, 1000) }, + findLayer(layerName) { + // ������������������������������ + if (!this.map) { + return null + } + const gisMap_layers = this.map._layers + let layer = null + for (const i in gisMap_layers) { + if (gisMap_layers[i].options.id === layerName) { + layer = gisMap_layers[i] + } + } + return layer + }, // ��������������������� initMap() { - // console.log('������index������map������������') - // console.log(this.weidu) - // console.log(this.jingdu) var map = L.map('mapContent', { + inertia: false, minZoom: 2, maxZoom: 18, center: [this.weiduNew, this.jingduNew], zoom: 14, + renderer: L.canvas(), zoomControl: false, // ������������ attributionControl: false, // ���������������logol crs: L.CRS.EPSG3857, // ���������������������EPSG3857���������������������EPSG3395������������������������ EPSG4326 WGS84 @@ -1613,11 +1811,20 @@ // ������������������ L.tileLayer( 'https://wprd01.is.autonavi.com/appmaptile?lang=zh_cn&size=1&style=7&x={x}&y={y}&z={z}' - ).addTo(map) - // L.tileLayer( - // 'http://webrd01.is.autonavi.com/appmaptile?lang=zh_cn&size=1&scale=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) { + // const res = that.findLayer('wmsid') + // if (res) { + // that.map.removeLayer(res) + // } + // }) + // this.map.on('mouseup', function(ev) { + // console.log('1111111') + // that.canvasWind(this.windJsonData) + // }) window.map = map }, // ������������������������ @@ -1658,24 +1865,21 @@ // ������������������ // this.toggleWindState() if (this.windState === 1) { - this.initData() + this.deviceMaker() + this.windData() } else if (this.windState === 2) { this.windDir() } }, // ��������������������� initData() { - // console.log('������������') - // const that = this - // ������������������������ - // console.log(this.monitorPointId) - // ������������������ if (this.map) { 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() @@ -1683,11 +1887,7 @@ }) } this.deviceMaker() - // console.log('������������������') - // $.ajaxSettings.async = false - // for (let i = 0; i < this.monitorPointIds.length; i++) { this.windData() - // } }, // ��������������� windData() { @@ -1701,59 +1901,54 @@ }, }) .then((res) => { - // console.log('���������������') - // console.log(res) - // if (res.data[0][0].data.length === 0) { - // this.noneData = true - // } - // ������������������ - // var data2 = res.data[0] - // data2[1].header.parameterNumberName = 'northward_wind' - // data2[0].header.parameterUnit = 'm.s-1' - // data2[1].header.parameterUnit = 'm.s-1' - // data2[0].header.dx = 0.00234842479 - // data2[1].header.dx = 0.00234842479 - // data2[0].header.dy = 0.0018464922 - // data2[1].header.dy = 0.0018464922 - // console.log(data2, 'data2') - var velocityLayer = L.velocityLayer({ - displayValues: false, // ��������������������������������������������������� - displayOptions: { - // ������������������ - // velocityType: 'Global Wind', - velocityType: 'GBR Wind', - displayPosition: 'bottomleft', - displayEmptyString: 'No wind data', - }, - data: res.data[0], // ������ ��������������� - // data: data2, - // ������������������������������������������ - minVelocity: 0, // ��������������������� m/s ��� - maxVelocity: 8, // ��������������������� m/s ��� - velocityScale: 0.1, // ��������������� ( ������������������������ ) - particleAge: 90, // ������������������������������������������ - lineWidth: 1.5, // ��������������������� - particleMultiplier: 1 / 300, // ��������������������� ������������ ��� - frameRate: 15, // ��������������������� - colorScale: [ - '#A2D839', - '#7EB530', - '#6E9F26', - '#4E7522', - '#345B1B', - '#186303', - '#175103', - '#053F03', - ], - // colorScale: ['#053F03', '#053F03', '#053F03', '#053F03', '#053F03', '#053F03', '#053F03', '#053F03'] - }) - velocityLayer.addTo(this.map) // ��������������� - // console.log('������������') - // console.log(res.data[0]) + this.windJsonData = res.data[0] + return this.windJsonData }) .catch((err) => { console.log(err) }) + }, + canvasWind(data) { + const res = this.findLayer('wmsid') + if (res) { + this.map.removeLayer(res) + } + var velocityLayer = L.velocityLayer({ + displayValues: false, // ��������������������������������������������������� + id: 'wmsid', + displayOptions: { + // ������������������ + // velocityType: 'Global Wind', + velocityType: 'GBR Wind', + displayPosition: 'bottomleft', + displayEmptyString: 'No wind data', + }, + data: data, // ������ ��������������� + // data: data2, + // ������������������������������������������ + minVelocity: 0, // ��������������������� m/s ��� + maxVelocity: 8, // ��������������������� m/s ��� + velocityScale: 0.1, // ��������������� ( ������������������������ ) + particleAge: 90, // ������������������������������������������ + lineWidth: 1.5, // ��������������������� + particleMultiplier: 1 / 300, // ��������������������� ������������ ��� + frameRate: 15, // ��������������������� + colorScale: [ + '#A2D839', + '#7EB530', + '#6E9F26', + '#4E7522', + '#345B1B', + '#186303', + '#175103', + '#053F03', + ], + // colorScale: ['#053F03', '#053F03', '#053F03', '#053F03', '#053F03', '#053F03', '#053F03', '#053F03'] + }) + velocityLayer.addTo(this.map) // ��������������� + setTimeout(() => { + this.loading = false + }, 1000) }, // ������������������������������������������������������������������ alertData(n1, n2) { @@ -1772,7 +1967,8 @@ index: this.factorValue, alarmType: this.alartValue, }, - }).then((res) => { + }) +.then((res) => { // console.log('������������') // console.log(res) var tempData = res.data @@ -1830,6 +2026,70 @@ } this.showOrHidden = !this.showOrHidden }, + // ������������������ + stateControlStation() { + // this.$axios.get('monitorPoint/queryStateControlStation', { + this.$request({ + url: '/govMonitorPoint/queryStateControlStation', + method: 'get', + params: { + regionCode: 130900, + sensorCode: 'a34002', + }, + }) + .then((res) => { + // console.log('���������������') + // console.log(res) + var gkData = res.data + 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 + var gIcon = L.icon({ + iconUrl: require('@/assets/icon/gk.png'), + // iconUrl:require('@/assets/images/tl_PM10.png'), + iconSize: [55, 55], + iconAnchor: [13, 21], + className: 'my-device', + }) + // ��������������������� + L.marker([glat, glng], { + icon: gIcon, + }) +.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) + }) + }, + // ������������������������ + toggleWindState() { + if (this.ws) { + this.ws.close() + } + if (this.windState === 2) { + this.windState = 1 + this.windStateText = '���������' + this.initData() + // console.log(this.windState) + } else if (this.windState === 1) { + this.windState = 2 + this.windStateText = '���������' + this.windDir() + // console.log(this.windState) + } + }, closeAlarmTableVisible() { this.$store.state.alarmTableVisible = false }, @@ -1838,6 +2098,7 @@ </script> <style lang="scss"> +@import './dataModel.css'; html, body, #mapContent { @@ -2076,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