station模块,站点状态更新效果优化

This commit is contained in:
renpy 2023-08-28 20:18:09 +08:00
parent 851af6c968
commit 40115f448f
2 changed files with 59 additions and 15 deletions

View File

@ -28,6 +28,10 @@ export default {
type: Array, type: Array,
required: true required: true
}, },
currList: {
type: Array,
required: true
},
markerType: { markerType: {
type: Number, type: Number,
default: 1 default: 1
@ -151,11 +155,12 @@ export default {
// //
initRipples() { initRipples() {
this.list console.log("xuanran",this.currList);
.filter( this.currList
stationInfo => // .filter(
stationInfo.stationType !== MarkerType.NuclearFacility && stationInfo.stationType !== MarkerType.NRL // stationInfo =>
) // stationInfo.stationType !== MarkerType.NuclearFacility && stationInfo.stationType !== MarkerType.NRL
// )
.forEach(stationInfo => { .forEach(stationInfo => {
this.map.addOverlay(this.getRipple(stationInfo)) this.map.addOverlay(this.getRipple(stationInfo))
}) })
@ -236,6 +241,14 @@ export default {
} }
}, },
watch: { watch: {
// list: {
// //
// handler(newName, oldName) {
// console.log(newName);
// },
// //
// deep: true
// }
list() { list() {
this.map.getOverlays().clear() this.map.getOverlays().clear()
this.initMapPopup() this.initMapPopup()
@ -244,6 +257,22 @@ export default {
if (this.markerType == 2) { if (this.markerType == 2) {
this.initCircles() this.initCircles()
} }
},
currList: {
handler(newVal, oldVal) {
console.log(newVal);
newVal.forEach(item => {
var layer = this.map.getOverlays().getArray().find(layer=> {
return layer.id === `ripple_${item.stationType}_${item.stationId}`;
});
console.log("adfasdfadsf",layer);
if (layer) {
this.map.removeOverlay(layer);
}
})
this.initRipples()
},
deep:true
} }
} }
} }

View File

@ -144,7 +144,7 @@
ref="mapRef" ref="mapRef"
token="AAPK2b935e8bbf564ef581ca3c6fcaa5f2a71ZH84cPqqFvyz3KplFRHP8HyAwJJkh6cnpcQ-qkWh5aiyDQsGJbsXglGx0QM2cPm" token="AAPK2b935e8bbf564ef581ca3c6fcaa5f2a71ZH84cPqqFvyz3KplFRHP8HyAwJJkh6cnpcQ-qkWh5aiyDQsGJbsXglGx0QM2cPm"
> >
<MapMarker :list="markerList" :marker-type="markerType" :radius="circleRadius" @markerClick="onMarkerClick" /> <MapMarker :list="markerList" :currList="upDateStationList" :marker-type="markerType" :radius="circleRadius" @markerClick="onMarkerClick" />
<MapPane <MapPane
ref="mapPane" ref="mapPane"
:treeData="treeData" :treeData="treeData"
@ -184,6 +184,7 @@ export default {
followedDataList: [], // followedDataList: [], //
markerList: [], // markerList: [], //
markerList_clone: [], // markerList_clone: [], //
upDateStationList: [], //
markerType: 1, // markerType: 1, //
circleRadius: 0, circleRadius: 0,
@ -224,12 +225,17 @@ export default {
const res = await getAction('/jeecg-station-operation/stationOperation/findList') const res = await getAction('/jeecg-station-operation/stationOperation/findList')
this.originalDataList = res // this.originalDataList = res //
this.dataList = cloneDeep(res) this.dataList = cloneDeep(res)
// this.markerList = cloneDeep(res) this.markerList = cloneDeep(res)
this.markerList_clone = cloneDeep(res) this.markerList_clone = cloneDeep(res)
this.getDataProvisionEfficiency(this.markerList_clone) this.getDataProvisionEfficiency(this.markerList_clone)
this.timer = setInterval(() => { this.timer = setInterval(() => {
setTimeout(() => { setTimeout(() => {
this.getDataProvisionEfficiency(this.markerList_clone) this.getDataProvisionEfficiency(this.markerList_clone)
// this.upDateStationList.forEach(item => {
// if (item.quality=="excellent") {
// item.quality="bad"
// }
// })
}, 0); }, 0);
}, 15000); }, 15000);
this.$nextTick(() => { this.$nextTick(() => {
@ -244,19 +250,28 @@ export default {
// //
async getDataProvisionEfficiency(arr) { async getDataProvisionEfficiency(arr) {
this.markerList=[]
try { try {
const res = await getAction('/stationOperation/getDataProvisionEfficiency') const res = await getAction('/stationOperation/getDataProvisionEfficiency')
console.log("getDataProvisionEfficiency", res); // console.log("getDataProvisionEfficiency", res);
arr.forEach(item => { res.result.forEach(item => {
res.result.forEach(data => { arr.forEach(el => {
if (parseInt(data.id) == item.stationId) { if (parseInt(item.id) == el.stationId) {
item.quality = data.quality item.stationType = el.stationType
item.stationId = el.stationId
} }
}) })
this.markerList.push(item)
}) })
console.log("this.markerListthis.markerListthis.markerList",this.markerList); // console.log(res.result);
this.upDateStationList = res.result
// arr.forEach(item => {
// res.result.forEach(data => {
// if (parseInt(data.id) == item.stationId) {
// item.quality = data.quality
// }
// })
// this.markerList.push(item)
// })
// console.log("this.markerListthis.markerListthis.markerList",this.markerList);
} catch (error) { } catch (error) {
console.error(error) console.error(error)
} }