From 8e4579771b9496e63763a351a0051d9842104a13 Mon Sep 17 00:00:00 2001
From: shuishen <1109946754@qq.com>
Date: Tue, 15 Apr 2025 19:02:29 +0800
Subject: [PATCH] feat:首页监听及点击事件调整

---
 src/hooks/useMapAggregation/useMapAggregation.js |   65 ++++++++++++++++----------------
 1 files changed, 32 insertions(+), 33 deletions(-)

diff --git a/src/hooks/useMapAggregation/useMapAggregation.js b/src/hooks/useMapAggregation/useMapAggregation.js
index df7750a..ce5c1cd 100644
--- a/src/hooks/useMapAggregation/useMapAggregation.js
+++ b/src/hooks/useMapAggregation/useMapAggregation.js
@@ -54,8 +54,20 @@
   const store = useStore()
   const userAreaCode = computed(() => store.state.user.userInfo.detail.areaCode)
   const selectedAreaCode = computed(() => store.state.user.selectedAreaCode)
-  let saveAreaCode = null;
-  let saveParams = { area_code: '',date_enum:'CURRENT_WEEK' };
+
+
+  const eventTimeType = computed(() => store.state.home.eventTimeType)
+  const eventTimeRang = computed(() => store.state.home.eventTimeRang)
+
+  let needFly = true
+
+  const combinedValues = computed(() => ({
+    selectedAreaCode: selectedAreaCode.value,
+    eventTimeType: eventTimeType.value,
+    eventTimeRang: eventTimeRang.value,
+  }))
+
+  let saveParams = { area_code: '', date_enum: 'CURRENT_WEEK' }
 
 
   // 确定缩放比例
@@ -169,8 +181,7 @@
   const initMapData = async areaCode => {
     eventList = []
     if (!areaCode) return
-    saveAreaCode = areaCode;
-    saveParams.area_code = areaCode;
+    saveParams.area_code = areaCode
     console.log(type, '444')
     const list = type === 'device' ? await getDeviceCount(areaCode) : await getMapEventCount(saveParams)
     const splashedList = type === 'device'
@@ -228,38 +239,25 @@
     }
   }
 
+  watch(combinedValues, async (newValue, oldValue) => {
+    if (newValue.eventTimeType) {
+      saveParams = { area_code: newValue.selectedAreaCode, date_enum: store.state.home.eventTimeParams }
+    }
 
-  let needFly = true
+    if (newValue.eventTimeRang) {
+      saveParams = { area_code: newValue.selectedAreaCode, start_date: newValue.eventTimeRang[0], end_date: newValue.eventTimeRang[1] }
+    }
 
-  watch(
-    selectedAreaCode,
-    async (newValue, oldValue) => {
-      needFly = true
-      if (!viewer) return
-      viewer.scene.postRender.removeEventListener(determineScaling)
-      initMapData(newValue).then(() => {
-        viewer.scene.postRender.addEventListener(determineScaling)
-      })
-    },
+    needFly = true
+    if (!viewer) return
+    viewer.scene.postRender.removeEventListener(determineScaling)
+
+    initMapData(newValue.selectedAreaCode).then(() => {
+      viewer.scene.postRender.addEventListener(determineScaling)
+    })
+  },
     { deep: true }
   )
-
-  // 监听 日 周 月 年
-  watch(() => store.state.home.eventTimeType, (newVal) => {
-    if (!saveAreaCode) return
-    if (newVal) {
-      saveParams = { area_code:saveAreaCode,date_enum: store.state.home.eventTimeParams }
-      initMapData(saveAreaCode);
-    }
-  });
-  // 监听事件右侧日期范围
-  watch(() => store.state.home.eventTimeRang, (newVal) => {
-    if (!saveAreaCode) return
-    if (newVal) {
-      saveParams = { area_code:saveAreaCode,start_date: newVal[0], end_date: newVal[1]}
-      initMapData(saveAreaCode);
-    }
-  });
 
   //散点机巢
   function splashed (row) {
@@ -465,8 +463,9 @@
 
     let deviceAggregationFind = findTypeItem(clickTargets, (item) => item?.properties?.customData?._value?.data?.type === 'deviceAggregation')
     let deviceFind = findTypeItem(clickTargets, (item) => item?.properties?.customData?._value?.data?.type === 'device')
-    let eventFind = findTypeItem(clickTargets, (item) => item?.properties?.customData?._value?.data?.type === 'event')
+    let eventFind = findTypeItem(clickTargets, (item) => item?.properties?.customData?._value?.data?.type === 'eventAggregation')
     currentEntity = deviceAggregationFind || deviceFind || eventFind
+
     if (!currentEntity) return
     if (!currentEntity?.position?._value) return
     // 一定要移除

--
Gitblit v1.9.3