station模块,站点状态更新效果优化
This commit is contained in:
		
							parent
							
								
									851af6c968
								
							
						
					
					
						commit
						40115f448f
					
				| 
						 | 
				
			
			@ -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
 | 
			
		||||
    }
 | 
			
		||||
  }
 | 
			
		||||
}
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -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)
 | 
			
		||||
      }
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
		Reference in New Issue
	
	Block a user