From 769f362f3d91ca4336c6cd74a78aa02e2c9ceb33 Mon Sep 17 00:00:00 2001
From: linwe <872216996@qq.com>
Date: Tue, 03 Dec 2024 13:08:59 +0800
Subject: [PATCH] 应急空间调整

---
 src/pages/map/components/scomponents/layersControl.vue |   23 ++++++++++++++---------
 src/styles/base/dc-base.scss                           |    2 +-
 src/views/space/components/box/dataContent.vue         |   12 ++++++++----
 3 files changed, 23 insertions(+), 14 deletions(-)

diff --git a/src/pages/map/components/scomponents/layersControl.vue b/src/pages/map/components/scomponents/layersControl.vue
index b559671..ab32dbb 100644
--- a/src/pages/map/components/scomponents/layersControl.vue
+++ b/src/pages/map/components/scomponents/layersControl.vue
@@ -172,10 +172,11 @@
           if (!attrParams.firmName) {
             return
           }
-          addPopLayers[attrParams.name] = new DC.HtmlLayer(attrParams.name)
-          window.$viewer.addLayer(addPopLayers[attrParams.name])
+          addPopLayers[attrParams.id] = new DC.HtmlLayer(attrParams.id)
+          window.$viewer.addLayer(addPopLayers[attrParams.id])
           let iconEl = `<div class="marsBlueGradientPnl">
             <div>${attrParams.firmName}</div>
+            <div>${attrParams.mainFuncName}</div>
                 </div>`
           let divIcon = new DC.DivIcon(
             new DC.Position(attrParams.lng, attrParams.lat, attrParams.ele || 64),
@@ -187,7 +188,7 @@
             destroyPop()
           }
           divIcon.on(DC.MouseEventType.CLICK, incident)
-          addPopLayers[attrParams.name].addOverlay(divIcon)
+          addPopLayers[attrParams.id].addOverlay(divIcon)
         }
       },
       {
@@ -211,10 +212,11 @@
           if (!attrParams.firmName) {
             return
           }
-          addPopLayers[attrParams.name] = new DC.HtmlLayer(attrParams.name)
-          window.$viewer.addLayer(addPopLayers[attrParams.name])
+          addPopLayers[attrParams.id] = new DC.HtmlLayer(attrParams.id)
+          window.$viewer.addLayer(addPopLayers[attrParams.id])
           let iconEl = `<div class="marsBlueGradientPnl">
-                  <div>${attrParams.firmName}</div> 
+            <div>${attrParams.firmName}</div>
+            <div>${attrParams.mainFuncName}</div>
                 </div>`
           let divIcon = new DC.DivIcon(
             new DC.Position(attrParams.lng, attrParams.lat, attrParams.ele || 64),
@@ -226,7 +228,7 @@
             destroyPop()
           }
           divIcon.on(DC.MouseEventType.CLICK, incident)
-          addPopLayers[attrParams.name].addOverlay(divIcon)
+          addPopLayers[attrParams.id].addOverlay(divIcon)
         }
       },
 
@@ -386,7 +388,8 @@
           addPopLayers[attrParams.name] = new DC.HtmlLayer(attrParams.name)
           window.$viewer.addLayer(addPopLayers[attrParams.name])
           let iconEl = `<div class="marsBlueGradientPnl">
-                  <div>${attrParams.firmName}</div>
+            <div>${attrParams.firmName}</div>
+            <div>${attrParams.mainFuncName}</div>
                 </div>`
           let divIcon = new DC.DivIcon(
             new DC.Position(attrParams.lng, attrParams.lat, attrParams.ele || 64),
@@ -962,12 +965,14 @@
 // 销毁
 function destroyPop () {
   let arr = Object.keys(addPopLayers)
-  arr.filter(i => i != 'hgyq').forEach(i => {
+  if(arr.length > 0){
+    arr.forEach(i => {
     addPopLayers[i] && window.$viewer && window.$viewer.removeLayer(addPopLayers[i])
     addPopLayers[i] = null
     delete addPopLayers[i]
   })
   addPopLayers = {}
+  }
 }
 
 onUnmounted(() => {
diff --git a/src/styles/base/dc-base.scss b/src/styles/base/dc-base.scss
index 3004572..9750b4c 100644
--- a/src/styles/base/dc-base.scss
+++ b/src/styles/base/dc-base.scss
@@ -106,7 +106,7 @@
     -moz-border-radius: 5px;
     border-radius: 5px;
     // line-height: 32px;
-    width: 112px;
+    width: 200px;
     -webkit-user-select: none;
     -moz-user-select: none;
     -ms-user-select: none;
diff --git a/src/views/space/components/box/dataContent.vue b/src/views/space/components/box/dataContent.vue
index 948341c..440a2dd 100644
--- a/src/views/space/components/box/dataContent.vue
+++ b/src/views/space/components/box/dataContent.vue
@@ -86,6 +86,7 @@
 
 // 查询分页数据
 const getLists = (param = {}) => {
+  destroyPupoLayers()
   tableData.value = []
   param.current = pages.page
   param.size = pages.pageSize
@@ -118,9 +119,10 @@
 let addPupoLayers = {}
 // 行点击
 function rowClick (row, column, event) {
+  EventBus.emit('destroyPop', 'destroyPop')
   if (row.lng && row.lat) {
     window.$viewer.flyToPosition(new DC.Position(row.lng, row.lat, 600, 0, -90, 0))
-    if (!row.imageUrl) {
+    if (!row.firmName) {
       return
     }
     // 删除
@@ -128,8 +130,8 @@
     addPupoLayers[row.name] = new DC.HtmlLayer(row.name)
     window.$viewer.addLayer(addPupoLayers[row.name])
     let iconEl = `<div class="marsBlueGradientPnl">
-            <div>${row.fullName}</div>
-            <img src="${row.imageUrl}" />
+            <div>${row.firmName}</div>
+            <div>${row.mainFuncName}</div>
                 </div>`
     let divIcon = new DC.DivIcon(
       new DC.Position(row.lng, row.lat, row.ele || 64),
@@ -190,12 +192,14 @@
 // 销毁
 function destroyPupoLayers () {
   let arr = Object.keys(addPupoLayers)
-  arr.forEach(i => {
+  if (arr.length > 0) {
+    arr.forEach(i => {
     addPupoLayers[i] && window.$viewer && window.$viewer.removeLayer(addPupoLayers[i])
     addPupoLayers[i] = null
     delete addPupoLayers[i]
   })
   addPupoLayers = {}
+  }
 }
 </script>
 

--
Gitblit v1.9.3