瀏覽代碼

fix: 修改返回组件

刘秀芳 3 周之前
父節點
當前提交
d61bb21013

+ 12 - 1
src/components/common/goBack.vue

@@ -8,10 +8,21 @@
 <script setup>
 import { useRouter } from "vue-router";
 
+const props = defineProps({
+  url: {
+    type: String,
+  },
+})
+
 const router = useRouter();
 // 返回
 const goBack = () => {
-    router.go(-1);
+    if (props.url) {
+        console.log('props.url', props.url);
+        router.replace(props.url)
+    } else {
+        router.go(-1);
+    }
 };
 </script>
 

+ 1 - 1
src/views/authentic/index.vue

@@ -1,7 +1,7 @@
 <template>
     <div class="base-container">
         <fnHeader></fnHeader>
-        <go-back></go-back>
+        <go-back :url="'/warningHome'"></go-back>
         <div class="top-bg"></div>
         <el-upload
             ref="uploadRef"

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

@@ -156,7 +156,7 @@ import "./map/mockFarmLayer";
 import StaticMapLayers from "@/components/static_map_change/Layers.js"
 import StaticMapLegend from "@/components/static_map_change/legend.vue"
 import StaticMapPointLayers from "@/components/static_map_change/pointLayer.js"
-import { onMounted, ref } from "vue";
+import { onMounted, onUnmounted, ref } from "vue";
 import fnHeader from "@/components/fnHeader.vue";
 import WarningMap from "./warningMap";
 import AlarmLayer from "./map/alarmLayer";
@@ -193,7 +193,7 @@ const legendImg = ref("");
 const warningLayers = ref({})
 onMounted(() => {
     warningMap.initMap(store.getters.userinfo.location, mapRef.value);
-    console.log('store.getters.userinfo', store.getters.userinfo.userId)
+    console.log('store.getters.userinfodestroy', store.getters.userinfo.userId)
     warningMap.getGardenList(store.getters.userinfo.userId)
     alarmLayer = new AlarmLayer(warningMap.kmap);
     staticMapLayers = new StaticMapLayers(warningMap.kmap);
@@ -219,6 +219,11 @@ onMounted(() => {
     eventBus.on("chat:showMapLayer", handleMapLayer)
 });
 
+onUnmounted(() => {
+    console.log('deeddesss');
+    warningMap.destroyMap()
+})
+
 // ai与地图交互
 const hideChatMapLayer = ref(true)
 const handleMapLayer = ({mapName}) => {

+ 8 - 0
src/views/warningHome/warningMap.js

@@ -107,6 +107,14 @@ class HomeMap {
       eventBus.emit('warningMap:init', {kmap: this.kmap, data});
     })
   }
+
+  destroyMap() {
+    // 销毁地图实例
+    let that = this
+    if (that.kmap) {
+      that.kmap.destroy()
+    }
+  }
 }
 
 export default HomeMap;