| | |
| | | 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">
|
| | |
| | | :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
|
| | |
| | | "
|
| | | class="dayDiv"
|
| | | >
|
| | | <p class="p1"></p>
|
| | | <p class="p1" />
|
| | | <p style="position: relative">
|
| | | <span
|
| | | class="borderLine"
|
| | |
| | | height: 47px;
|
| | | bottom: 0;
|
| | | "
|
| | | ></span>
|
| | | <span class="p2"></span>
|
| | | />
|
| | | <span class="p2" />
|
| | | <span
|
| | | class="borderLine"
|
| | | style="
|
| | |
| | | height: 47px;
|
| | | bottom: 0;
|
| | | "
|
| | | ></span>
|
| | | />
|
| | | </p>
|
| | | <p class="p3"></p>
|
| | | <p class="p3" />
|
| | | </div>
|
| | | </div>
|
| | | </div>
|
| | |
| | | :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
|
| | |
| | | @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>
|
| | |
| | | import RegionalOverview from '@/components/Wind/RegionalOverview' // 实时监控组件
|
| | | import { mapGetters } from 'vuex'
|
| | | import { gcj02towgs84 } from '@/assets/json/transform'
|
| | | import requestObj from '@/utils/request'
|
| | | export default {
|
| | | components: { RegionalOverview },
|
| | | props: {
|
| | |
| | | weidu: Number,
|
| | | jingdu: Number,
|
| | | monitorPointId: Number,
|
| | | monitorPointIds: Array,
|
| | | monitorPointIds: Array
|
| | | },
|
| | | data() {
|
| | | return {
|
| | |
| | | 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'),
|
| | |
| | | chooseTime: false,
|
| | | dateInfo: '', // 选择的日期
|
| | | timeInfo: '', // 选择的时间
|
| | | nyr: '', // 选择的年月日
|
| | | nyr: '' // 选择的年月日
|
| | | }
|
| | | },
|
| | | computed: {
|
| | | ...mapGetters(['regionCode']),
|
| | | ...mapGetters(['regionCode'])
|
| | | },
|
| | | watch: {
|
| | | dateValue(n, o) {
|
| | |
| | | },
|
| | | regionCode(newCode, oldCode) {
|
| | | this.timerKey = newCode // 用于监听code变化重新渲染子组件
|
| | | },
|
| | | }
|
| | | },
|
| | | mounted() {
|
| | | this.currentHour()
|
| | |
| | | }
|
| | | // 鼠标移入移出事件
|
| | | 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%)'
|
| | |
| | | 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 + '%'
|
| | |
| | | inText.innerHTML = times + ':00'
|
| | | // console.log(mouseDiv)
|
| | | }
|
| | | timeLis[i].onmouseleave = function () {
|
| | | timeLis[i].onmouseleave = function() {
|
| | | mouseDiv.style.display = 'none'
|
| | | // console.log('移出事件', i)
|
| | | }
|
| | |
| | | deviceMaker() {
|
| | | // 遍历所有图层
|
| | | if (this.map) {
|
| | | this.map.eachLayer(function (layer) {
|
| | | this.map.eachLayer(function(layer) {
|
| | | // 卸载之前的风场图层
|
| | | if (
|
| | | !layer._container &&
|
| | |
| | | organizationId: this.$store.state.orgId,
|
| | | regionCode: this.$store.state.regionCode,
|
| | | chooseTime: this.chooseTime,
|
| | | time: this.nyr,
|
| | | },
|
| | | time: this.nyr
|
| | | }
|
| | | }).then((data) => {
|
| | | // console.log('五分钟设备数据')
|
| | | console.log(data, 'tata')
|
| | |
| | | // iconUrl: require('@/assets/icon/ico2.png'),
|
| | | iconSize: [60, 60],
|
| | | iconAnchor: [30, 48],
|
| | | className: 'my-device',
|
| | | className: 'my-device'
|
| | | })
|
| | | // 添加标记到地图
|
| | | L.marker([lat, lng], {
|
| | | icon: blueIcon,
|
| | | icon: blueIcon
|
| | | }).addTo(group)
|
| | | // console.log(JSON.parse(this.keys[i]))
|
| | | var myIcon = L.divIcon({
|
| | | html: this.keys[i],
|
| | | className: 'my-div-icon',
|
| | | iconSize: [60, 60],
|
| | | iconAnchor: [40, 40],
|
| | | iconAnchor: [40, 40]
|
| | | })
|
| | | var marker = L.marker([lat, lng], { icon: myIcon }).addTo(group)
|
| | | // 给标记添加鼠标移入事件,mouseover事件会冒泡
|
| | | var _this = this
|
| | | marker.on('mouseover', function (e) {
|
| | | marker.on('mouseover', function(e) {
|
| | | 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, '')
|
| | |
| | | params: {
|
| | | mac: keyData[i].mac,
|
| | | chooseTime: _this.chooseTime,
|
| | | time: _this.nyr,
|
| | | },
|
| | | time: _this.nyr
|
| | | }
|
| | | })
|
| | | .then((res) => {
|
| | | if (res.message == '操作目标不存在') {
|
| | |
| | | })
|
| | | })
|
| | | // 给标记点添加鼠标移出事件
|
| | | marker.on('mouseout', function (e) {
|
| | | marker.on('mouseout', function(e) {
|
| | | this.noneData = false
|
| | | this.bindPopup().closePopup()
|
| | | })
|
| | |
| | | method: 'get',
|
| | | params: {
|
| | | regionCode: 130900,
|
| | | sensorCode: 'a34002',
|
| | | },
|
| | | sensorCode: 'a34002'
|
| | | }
|
| | | })
|
| | | .then((res) => {
|
| | | // console.log('国控站信息')
|
| | |
| | | // 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,
|
| | | 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,
|
| | | icon: myIcon
|
| | | }).addTo(group)
|
| | | }
|
| | | })
|
| | |
| | | // const that = this
|
| | | // 遍历所有图层
|
| | | if (this.map) {
|
| | | this.map.eachLayer(function (layer) {
|
| | | this.map.eachLayer(function(layer) {
|
| | | // 卸载之前的风场图层
|
| | | if (
|
| | | !layer._container &&
|
| | |
| | | this.getParamsData()
|
| | | setTimeout(() => {
|
| | | $.getJSON(
|
| | | 'http://47.99.64.149:8080/screen_api_v2/screen/windAndDeviceDataByArea',
|
| | | `${requestObj.baseUrl}/screen_api_v2/screen/windAndDeviceDataByArea`,
|
| | | { monitorPointId: this.$store.state.monitorPointId },
|
| | | (data) => {
|
| | | // 遍历所有图层
|
| | |
| | | zoom: 14,
|
| | | zoomControl: false, // 缩放组件
|
| | | attributionControl: false, // 去掉右下角logol
|
| | | crs: L.CRS.EPSG3857, // 设置坐标类型,EPSG3857伪墨卡托投影,EPSG3395,墨卡托投影坐标 EPSG4326 WGS84
|
| | | crs: L.CRS.EPSG3857 // 设置坐标类型,EPSG3857伪墨卡托投影,EPSG3395,墨卡托投影坐标 EPSG4326 WGS84
|
| | | })
|
| | | // 定义图层样式
|
| | | L.tileLayer(
|
| | |
| | | // console.log(this.monitorPointId)
|
| | | // 遍历所有图层
|
| | | if (this.map) {
|
| | | this.map.eachLayer(function (layer) {
|
| | | this.map.eachLayer(function(layer) {
|
| | | // 卸载之前的风场图层
|
| | | if (
|
| | | !layer._container &&
|
| | |
| | | params: {
|
| | | monitorPointIds: this.monitorPointIds.toString(),
|
| | | chooseTime: this.chooseTime,
|
| | | time: this.nyr,
|
| | | },
|
| | | time: this.nyr
|
| | | }
|
| | | })
|
| | | .then((res) => {
|
| | | // console.log('新风场数据')
|
| | |
| | | // velocityType: 'Global Wind',
|
| | | velocityType: 'GBR Wind',
|
| | | displayPosition: 'bottomleft',
|
| | | displayEmptyString: 'No wind data',
|
| | | displayEmptyString: 'No wind data'
|
| | | },
|
| | | data: res.data[0], // 数据 格式可参照
|
| | | // data: data2,
|
| | |
| | | '#345B1B',
|
| | | '#186303',
|
| | | '#175103',
|
| | | '#053F03',
|
| | | ],
|
| | | '#053F03'
|
| | | ]
|
| | | // colorScale: ['#053F03', '#053F03', '#053F03', '#053F03', '#053F03', '#053F03', '#053F03', '#053F03']
|
| | | })
|
| | | velocityLayer.addTo(this.map) // 添加到图上
|
| | |
| | | startTime: this.dateValue[0],
|
| | | endTime: this.dateValue[1],
|
| | | index: this.factorValue,
|
| | | alarmType: this.alartValue,
|
| | | },
|
| | | alarmType: this.alartValue
|
| | | }
|
| | | }).then((res) => {
|
| | | // console.log('分页数据')
|
| | | // console.log(res)
|
| | |
| | | },
|
| | | closeAlarmTableVisible() {
|
| | | this.$store.state.alarmTableVisible = false
|
| | | },
|
| | | },
|
| | | }
|
| | | }
|
| | | }
|
| | | </script>
|
| | |
|