forked from drone/command-center-dashboard

chenyao
2025-04-16 3c41f41e2e279fb5fb60cdee67ef307b611d8147
src/hooks/useMapAggregation/useMapAggregation.js
@@ -59,12 +59,15 @@
  const eventTimeType = computed(() => store.state.home.eventTimeType)
  const eventTimeRang = computed(() => store.state.home.eventTimeRang)
  const singleUavHome = computed(() => store.state.home.singleUavHome)
  let needFly = true
  const combinedValues = computed(() => ({
    selectedAreaCode: selectedAreaCode.value,
    eventTimeType: eventTimeType.value,
    eventTimeRang: eventTimeRang.value,
    singleUavHome: singleUavHome.value,
  }))
  let saveParams = { area_code: '', date_enum: 'CURRENT_WEEK' }
@@ -134,14 +137,12 @@
      if (arr.length !== 0) {
        returnObj.childrens = arr
      }
      console.log(returnObj, '111111')
      return returnObj
    })
  }
  // 获取事件聚合
  function getMapEventCount (params) {
    console.log(5555555)
    return getMapEvents(params).then(res => {
      const resData = res?.data?.data
      if (resData?.data) {
@@ -240,6 +241,11 @@
  }
  watch(combinedValues, async (newValue, oldValue) => {
    if (newValue.singleUavHome?.device_sn) {
      clearMapEntity()
      return
    }
    if (newValue.eventTimeType) {
      saveParams = { area_code: newValue.selectedAreaCode, date_enum: store.state.home.eventTimeParams }
    }
@@ -250,6 +256,8 @@
    needFly = true
    if (!viewer) return
    handlerInit()
    viewer.scene.postRender.removeEventListener(determineScaling)
    initMapData(newValue.selectedAreaCode).then(() => {
@@ -511,6 +519,11 @@
  // 移除所有监听事件,变量置空
  const removeAll = () => {
    clearMapEntity()
    viewer = null
  }
  const clearMapEntity = () => {
    if (!viewer) return
    removeEntities()
    removeLabel()
@@ -518,21 +531,28 @@
    viewer.scene.postRender.removeEventListener(determineScaling)
    handler?.removeInputAction(Cesium.ScreenSpaceEventType.LEFT_CLICK)
    handler?.destroy()
    viewer = null
    active = null
    handler = null
    currentEntity = null
  }
  const init = () => {
    viewer = window.$viewer
    viewer.scene.postRender.removeEventListener(determineScaling)
    initMapData(selectedAreaCode.value || userAreaCode.value).then(() => {
      viewer.scene.postRender.addEventListener(determineScaling)
    })
    handlerInit()
  }
  const handlerInit = () => {
    if (handler) return
    handler = new Cesium.ScreenSpaceEventHandler(viewer.scene.canvas)
    handler.setInputAction(singleMachineEvent, Cesium.ScreenSpaceEventType.LEFT_CLICK)
  }
  onBeforeUnmount(() => { })
  // onMounted(() => {
  //   nextTick(() => {