From fbbb03338e7001ee635800a49de79ce2e4933ecf Mon Sep 17 00:00:00 2001
From: quanyawei <401863037@qq.com>
Date: Wed, 20 Mar 2024 11:16:07 +0800
Subject: [PATCH] fix: 手持设备分钟
---
src/views/hotMap/index.vue | 239 +++++++++++++++++++++++++++++++++++++----------------------
1 files changed, 150 insertions(+), 89 deletions(-)
diff --git a/src/views/hotMap/index.vue b/src/views/hotMap/index.vue
index 87e56fc..b788b45 100644
--- a/src/views/hotMap/index.vue
+++ b/src/views/hotMap/index.vue
@@ -26,7 +26,6 @@
v-model="orgId"
size="small"
placeholder="���������"
- disabled
@change="regionData"
>
<el-option
@@ -102,11 +101,11 @@
heatmap: null,
markerClusterer: null,
orgData: [],
- orgId: 71,
+ orgId: null,
city: '������',
formInline: {
- city: '���������',
- cityCode: '210381',
+ city: '',
+ cityCode: '',
dayType: 'hour',
starTime: '',
endTime: '',
@@ -118,13 +117,13 @@
maxNumber: 500,
src: require('@/assets/images/tl_PM10.png'),
gradient: {
- '0': '#12a112',
- '0.1': '#12a112',
- '0.3': '#feff01',
- '0.5': '#fd8200',
- '0.7': '#fd0001',
- '0.84': '#95014b',
- '1': '#7e0226'
+ 0: '#12a112',
+ 0.1: '#12a112',
+ 0.3: '#feff01',
+ 0.5: '#fd8200',
+ 0.7: '#fd0001',
+ 0.84: '#95014b',
+ 1: '#7e0226'
}},
sensorArr: [
{ code: 'a34002',
@@ -132,91 +131,93 @@
maxNumber: 500,
src: require('@/assets/images/tl_PM10.png'),
gradient: {
- '0': '#12a112',
- '0.1': '#12a112',
- '0.3': '#feff01',
- '0.5': '#fd8200',
- '0.7': '#fd0001',
- '0.84': '#95014b',
- '1': '#7e0226'
+ 0: '#12a112',
+ 0.1: '#12a112',
+ 0.3: '#feff01',
+ 0.5: '#fd8200',
+ 0.7: '#fd0001',
+ 0.84: '#95014b',
+ 1: '#7e0226'
}},
{ code: 'a34004',
name: 'PM2.5',
maxNumber: 350,
src: require('@/assets/images/tl_PM2.5.png'),
gradient: {
- '0': '#12a112',
- '0.1': '#12a112',
- '0.21': '#feff01',
- '0.32': '#fd8200',
- '0.42': '#fd0001',
- '0.71': '#95014b',
- '1': '#7e0226'
+ 0: '#12a112',
+ 0.1: '#12a112',
+ 0.21: '#feff01',
+ 0.32: '#fd8200',
+ 0.42: '#fd0001',
+ 0.71: '#95014b',
+ 1: '#7e0226'
} },
{ code: 'a21026',
name: 'SO2',
- maxNumber: 1000,
+ maxNumber: 150,
src: require('@/assets/images/tl_SO2.png'),
gradient: {
- '0': '#12a112',
- '0.05': '#12a112',
- '0.15': '#feff01',
- '0.47': '#fd8200',
- '0.8': '#fd0001',
- '0.9': '#95014b',
- '1': '#7e0226'
- } },
+ 1: '#feff01',
+ 0.3: '#12a112',
+ }
+ },
{ code: 'a21004',
name: 'NO2',
- maxNumber: 750,
+ maxNumber: 400,
src: require('@/assets/images/tl_NO2.png'),
gradient: {
- '0': '#12a112',
- '0.05': '#12a112',
- '0.1': '#feff01',
- '0.24': '#fd8200',
- '0.37': '#fd0001',
- '0.75': '#95014b',
- '1': '#7e0226'
+ 0: '#12a112',
+ 0.1: '#12a112',
+ 0.15: '#feff01',
+ 0.19: '#feff01',
+ 0.20: '#fd8200',
+ 0.25: '#fd8200',
+ 0.45: '#fd8200',
+ 0.5: '#fd0001',
+ 0.7: '#95014b',
+ 1: '#7e0226'
}},
{ code: 'a21005',
name: 'CO',
maxNumber: 48,
src: require('@/assets/images/tl_CO.png'),
gradient: {
- '0.0': '#12a112',
- '0.04': '#12a112',
- '0.083': '#feff01',
- '0.29': '#fd8200',
- '0.5': '#fd0001',
- '0.75': '#95014b',
- '1': '#7e0226'
+ 0.0: '#12a112',
+ 0.04: '#12a112',
+ 0.083: '#feff01',
+ 0.29: '#fd8200',
+ 0.5: '#fd0001',
+ 0.75: '#95014b',
+ 1: '#7e0226'
}},
{ code: 'a05024',
name: 'O3',
- maxNumber: 1000,
+ maxNumber: 500,
src: require('@/assets/images/tl_O3.png'),
gradient: {
- '0': '#12a112',
- '0.16': '#12a112',
- '0.2': '#feff01',
- '0.3': '#fd8200',
- '0.4': '#fd0001',
- '0.8': '#95014b',
- '1': '#7e0226'
+ 0: '#12a112',
+ 0.32: '#12a112',
+ 0.33: '#feff01',
+ 0.4: '#feff01',
+ 0.41: '#fd8200',
+ 0.6: '#fd8200',
+ 0.61: '#fd0001',
+ 0.8: '#fd0001',
+ 0.9: '#95014b',
+ 1: '#7e0226'
} },
{ code: 'a99054',
name: 'TVOC',
maxNumber: 4,
src: require('@/assets/images/tl_TVOCNew.png'),
gradient: {
- '0': '#12a112',
- '0.12': '#12a112',
- '0.25': '#feff01',
- '0.375': '#fd8200',
- '0.5': '#fd0001',
- '0.75': '#95014b',
- '1': '#7e0226'
+ 0: '#12a112',
+ 0.12: '#12a112',
+ 0.25: '#feff01',
+ 0.375: '#fd8200',
+ 0.5: '#fd0001',
+ 0.75: '#95014b',
+ 1: '#7e0226'
}}
],
heatMapData: [],
@@ -225,6 +226,7 @@
speed: 2
},
polygon: null,
+ districtSearch: null,
dateTimes: [],
activeItem: {},
markerList: []
@@ -249,18 +251,18 @@
},
deep: true
},
- 'formInline.city': {
- handler: function (newVal, oldVal) {
- console.log('newVal', newVal === '')
- if (newVal !== '') {
- this.init1()
- if (!!this.formInline.starTime && !!this.formInline.endTime) {
- this.onSubmit()
- }
- }
- },
- deep: true
- },
+ // 'formInline.city': {
+ // handler: function (newVal, oldVal) {
+ // console.log('newVal', newVal === '')
+ // if (newVal !== '') {
+ // this.init1()
+ // if (!!this.formInline.starTime && !!this.formInline.endTime) {
+ // this.onSubmit()
+ // }
+ // }
+ // },
+ // deep: true
+ // },
activeItem: {
handler (newVal, oldVal) {
if (this.markerList.length > 0) {
@@ -274,14 +276,12 @@
deep: true
}
},
+ created () {
+ },
mounted () {
let dataTime = dayjs().format('YYYY-MM-DD')
this.getOrganizationId()
this.getData(`${dataTime} 00`)
- this.$nextTick(() => {
- this.initMap()
- this.createHeatMap()
- })
},
destroyed () {
@@ -321,7 +321,7 @@
initMap () {
var map = new AMap.Map('mapd', {
resizeEnable: true,
- zooms: [10, 10],
+ zooms: [1, 10],
zoom: 10,
})
this.map = map
@@ -331,12 +331,13 @@
init1 () { // ������������
var that = this
this.map.setCity(this.formInline.city)
- console.log('������', this.formInline.cityCode)
if (that.polygon) {
that.map.remove(that.polygon)
+ that.map.remove(that.districtSearch)
+ that.polygon = null
+ that.districtSearch = null
}
- console.log('that.polygon', that.polygon)
- AMap.plugin('AMap.DistrictSearch', function () {
+ this.districtSearch = AMap.plugin('AMap.DistrictSearch', function () {
new AMap.DistrictSearch({
extensions: 'all',
subdistrict: 0
@@ -380,6 +381,7 @@
}
this.heatMapData = []
this.heatMapData = res.data
+ this.dataProcessing(this.heatMapData)
this.heatmap.setDataSet({
data: this.heatMapData,
max: this.selectSensor.maxNumber
@@ -393,6 +395,45 @@
.catch(err => {
console.log(err)
})
+ },
+ dataProcessing (heatMapData) {
+ // ���������������
+ console.log('this.heatMapData', this.heatMapData)
+ const max = heatMapData.reduce((prev, current) => (prev.count > current.count ? prev : current)).count
+
+ // so2
+ if (this.selectSensor.code === 'a21026') {
+ if (max > 150 && max <= 475) {
+ this.selectSensor.maxNumber = 475
+ this.heatmap.setOptions({
+ gradient: {
+ 0.1: '#12a112',
+ 0.2: '#feff01',
+ 0.3: '#feff01',
+ 0.32: '#fd8200',
+ 0.4: '#fd8200',
+ 1: '#fd8200'
+ }
+ })
+ }
+ if (max > 475 && max <= 1000) {
+ this.selectSensor.maxNumber = 1000
+ this.heatmap.setOptions({
+ gradient: {
+ 0: '#12a112',
+ 0.05: '#12a112',
+ 0.15: '#feff01',
+ 0.47: '#fd8200',
+ 0.5: '#fd0001',
+ 0.8: '#fd0001',
+ 0.9: '#95014b',
+ 1: '#7e0226'
+ }
+ })
+ }
+ } else if (this.selectSensor.code === 'a05024') {
+ if (max > 150 && max <= 475) {}
+ }
},
// ���������
setMarkers (curData) {
@@ -492,6 +533,14 @@
})
.then(res => {
this.orgData = res.data
+ let cityData = _.find(this.orgData, { id: this.orgId })
+ if (this.orgId === 73) {
+ this.formInline.city = cityData.cityName
+ this.formInline.cityCode = String(cityData.cityCode)
+ } else {
+ this.formInline.city = cityData.areaName
+ this.formInline.cityCode = String(cityData.areaCode)
+ }
})
.catch(err => {
console.log(err)
@@ -502,7 +551,7 @@
this.map.plugin(['AMap.Heatmap'], function () {
// ���������heatmap������
that.heatmap = new AMap.Heatmap(that.map, {
- radius: 130, // ������������
+ radius: 100, // ������������
opacity: [0.5, 1],
gradient: that.selectSensor.gradient
})
@@ -511,10 +560,16 @@
onSubmit () {
if (!!this.formInline.city && !!this.formInline.starTime && !!this.formInline.endTime) {
- this.map.clearMap()
+ // this.map.clearMap()
this.getDayListData()
this.getData(this.formInline.starTime)
- this.init1()
+ this.$nextTick(() => {
+ if (this.map) {
+ this.map.destroy()
+ }
+ this.initMap()
+ this.createHeatMap()
+ })
// this.map.setZoom(12)
} else {
this.$message({
@@ -527,8 +582,14 @@
},
regionData (id) {
let cityData = _.find(this.orgData, { id: id })
- this.formInline.city = cityData.areaName
- this.formInline.cityCode = cityData.areaCode
+ if (id === 73) {
+ this.formInline.city = cityData.cityName
+ this.formInline.cityCode = String(cityData.cityCode)
+ } else {
+ this.formInline.city = cityData.areaName
+ this.formInline.cityCode = String(cityData.areaCode)
+ }
+ console.log('cityData', cityData)
},
selectHourData (data) {
if (data) {
--
Gitblit v1.8.0