Browse Source

fix: 修改首页底图

刘秀芳 3 weeks ago
parent
commit
fcdf02834f
2 changed files with 15 additions and 5 deletions
  1. 10 3
      src/views/warningHome/components/alarmList.vue
  2. 5 2
      src/views/warningHome/index.vue

+ 10 - 3
src/views/warningHome/components/alarmList.vue

@@ -47,7 +47,7 @@
 
 <script setup>
 import eventBus from "@/api/eventBus";
-import { onMounted, ref } from "vue";
+import { nextTick, onMounted, ref } from "vue";
 
 const alarmList = ref([
     // { name: "低温冻害", id: 1 },
@@ -72,7 +72,9 @@ onMounted(() => {
     }).then(({data}) => {
         mapLayerList.value = data
         eventBus.emit("alarmList:warningLayers", data)
-        toggleAlarm(alarmList.value[0], 1)
+        setTimeout(() => {
+            toggleAlarm(alarmList.value[0], 1)
+        }, 500)
     })
     eventBus.on("warningHome:toggleArea", (id) => {
         activeAlarm.value = null
@@ -83,7 +85,12 @@ const activeAlarm = ref(1);
 const toggleAlarm = (item, type) => {
     activeAlarm.value = item.id;
     // eventBus.emit("alarmList:changeMapLayer", {name: item.name, url: mapLayerList.value[item.name]})
-    eventBus.emit("alarmList:changeMapLayer", {url: mapLayerList.value[item.name], type, name: item.name})
+    if (type === 1) {
+        // 种植风险
+        eventBus.emit("chat:showMapLayer", {name: item.name, mapName: item.name, isHome: true})
+    } else {
+        eventBus.emit("alarmList:changeMapLayer", {url: mapLayerList.value[item.name], type, name: item.name})
+    }
 };
 </script>
 

+ 5 - 2
src/views/warningHome/index.vue

@@ -162,6 +162,7 @@ onMounted(() => {
     });
 
     // ai与地图交互
+    eventBus.off("chat:showMapLayer", handleMapLayer)
     eventBus.on("chat:showMapLayer", handleMapLayer)
 });
 sessionStorage.removeItem("farmId")
@@ -172,8 +173,10 @@ onUnmounted(()=>{
 
 // ai与地图交互
 const hideChatMapLayer = ref(true)
-const handleMapLayer = ({mapName}) => {
-    hideChatMapLayer.value = false
+const handleMapLayer = ({mapName, isHome}) => {
+    if (!isHome) {
+        hideChatMapLayer.value = false
+    }
     staticMapPointLayers.hidePoint()
     staticMapLayers.hideAll()