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,
required: true
},
currList: {
type: Array,
required: true
},
markerType: {
type: Number,
default: 1
@ -151,11 +155,12 @@ export default {
//
initRipples() {
this.list
.filter(
stationInfo =>
stationInfo.stationType !== MarkerType.NuclearFacility && stationInfo.stationType !== MarkerType.NRL
)
console.log("xuanran",this.currList);
this.currList
// .filter(
// stationInfo =>
// stationInfo.stationType !== MarkerType.NuclearFacility && stationInfo.stationType !== MarkerType.NRL
// )
.forEach(stationInfo => {
this.map.addOverlay(this.getRipple(stationInfo))
})
@ -236,6 +241,14 @@ export default {
}
},
watch: {
// list: {
// //
// handler(newName, oldName) {
// console.log(newName);
// },
// //
// deep: true
// }
list() {
this.map.getOverlays().clear()
this.initMapPopup()
@ -244,6 +257,22 @@ export default {
if (this.markerType == 2) {
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"
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
ref="mapPane"
:treeData="treeData"
@ -184,6 +184,7 @@ export default {
followedDataList: [], //
markerList: [], //
markerList_clone: [], //
upDateStationList: [], //
markerType: 1, //
circleRadius: 0,
@ -224,12 +225,17 @@ export default {
const res = await getAction('/jeecg-station-operation/stationOperation/findList')
this.originalDataList = res //
this.dataList = cloneDeep(res)
// this.markerList = cloneDeep(res)
this.markerList = cloneDeep(res)
this.markerList_clone = cloneDeep(res)
this.getDataProvisionEfficiency(this.markerList_clone)
this.timer = setInterval(() => {
setTimeout(() => {
this.getDataProvisionEfficiency(this.markerList_clone)
// this.upDateStationList.forEach(item => {
// if (item.quality=="excellent") {
// item.quality="bad"
// }
// })
}, 0);
}, 15000);
this.$nextTick(() => {
@ -244,19 +250,28 @@ export default {
//
async getDataProvisionEfficiency(arr) {
this.markerList=[]
try {
const res = await getAction('/stationOperation/getDataProvisionEfficiency')
console.log("getDataProvisionEfficiency", res);
arr.forEach(item => {
res.result.forEach(data => {
if (parseInt(data.id) == item.stationId) {
item.quality = data.quality
// console.log("getDataProvisionEfficiency", res);
res.result.forEach(item => {
arr.forEach(el => {
if (parseInt(item.id) == el.stationId) {
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) {
console.error(error)
}