Browse Source

定点分析修复bug

Hwf 1 tháng trước cách đây
mục cha
commit
930a1ac623

+ 1 - 1
src/components/HKVideo/index2.vue

@@ -83,7 +83,7 @@ interface Props {
   height?: number;
   autoplay?: boolean;
   isIndex?: boolean;
-  hiddenCollect: boolean;
+  hiddenCollect?: boolean;
   isNoLive?: boolean;
 }
 

+ 1 - 1
src/components/Map/company-map.vue

@@ -132,7 +132,7 @@ onMounted(() => {
   window.addEventListener('resize', handleResize);
 });
 onUnmounted(() => {
-  if (!!map) {
+  if (!!map && Object.keys(map).length === 0) {
     map.off('rightclick');
     map.destroy();
     map = null;

+ 4 - 0
src/views/globalMap/RightMenu/FixedPointAnalysis.vue

@@ -548,6 +548,10 @@ onMounted(() => {
   }
   getAddress(props.location);
 });
+
+onUnmounted(() => {
+  clearMarker();
+});
 </script>
 
 <style lang="scss" scoped>

+ 5 - 5
src/views/globalMap/RightMenu/index.vue

@@ -25,7 +25,7 @@
           <div class="down-btn" @click="clickBtn('down')"></div>
         </div>
       </div>
-      <div v-show="menuState.showMenu" style="pointer-events: auto; position: relative">
+      <div v-show="menuState.showMenu && menuState.menuData.length > 0" style="pointer-events: auto; position: relative">
         <div class="fold-btn" @click="clickContractMenu">
           <i class="fold-icon" />
           折叠菜单
@@ -191,16 +191,16 @@ const handleMenu = (name, data) => {
 // 新增菜单 type 1 新增 2 删除
 const updateMenu = (type, menu, newLocation?: any) => {
   if (type === '1') {
-    if (menu.name === '图层分析') {
+    if (['图层分析', '定点分析'].includes(menu.name)) {
       let index = menuState.value.menuData.findIndex((item) => {
         return item.name === menu.name;
       });
       if (index === -1) {
         menuState.value.menuData.push(menu);
       }
-    } else if (menu.name === '定点分析') {
-      menuState.value.menuData.push(menu);
-      location2.value = newLocation;
+      if (menu.name === '定点分析') {
+        location2.value = newLocation;
+      }
     } else {
       menuState.value.menuData.push(menu);
     }

+ 11 - 6
src/views/globalMap/index.vue

@@ -260,11 +260,16 @@ const clickMenu = (item, dataList) => {
     communicationSupport.show = !communicationSupport.show;
     communicationSupport.data = item;
   } else if (item.path === '4' && ['定点分析', '格点雨量'].includes(item.name)) {
-    // 定点分析、格点雨量
-    tempMenu.value = item;
-    //为地图注册click事件获取鼠标点击出的经纬度坐标
-    map.on('click', handleClickMap);
-    mapStore.setIsMapSelect(true);
+    if (item.name === '定点分析' && !item.checked) {
+      closeClickMap();
+      rightMenuRef.value.updateMenu('2', item, []);
+    } else {
+      // 定点分析、格点雨量
+      tempMenu.value = item;
+      //为地图注册click事件获取鼠标点击出的经纬度坐标
+      map.on('click', handleClickMap);
+      mapStore.setIsMapSelect(true);
+    }
   }
   if (['重点车辆'].includes(item.name) && !item.checked) {
     timeAxisRef.value.clearData();
@@ -554,7 +559,7 @@ onMounted(() => {
   eventId.value = route.query.event_id;
 });
 onBeforeUnmount(() => {
-  if (!!map) {
+  if (!!map && Object.keys(map).length === 0) {
     if (mapStore.isAMap) {
       map.off('click', handleClickMap);
       map.off('moveend', handleClickMap);

+ 1 - 1
src/views/routineCommandMap/PositionMap.vue

@@ -190,7 +190,7 @@ onMounted(() => {
   window.addEventListener('resize', handleResize);
 });
 onUnmounted(() => {
-  if (!!map) {
+  if (!!map && Object.keys(map).length === 0) {
     map.off('rightclick');
     map.destroy();
     map = null;