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