From beac0f9a8bfe0f0e4d8db19fa18a9745ed1fcc40 Mon Sep 17 00:00:00 2001
From: shuishen <1109946754@qq.com>
Date: Thu, 09 Mar 2023 15:09:35 +0800
Subject: [PATCH] 安保更改

---
 src/views/activity/components/drawBtnBox.vue |   66 ++++++++++++++++++++++++--------
 1 files changed, 49 insertions(+), 17 deletions(-)

diff --git a/src/views/activity/components/drawBtnBox.vue b/src/views/activity/components/drawBtnBox.vue
index 372648b..d9f1367 100644
--- a/src/views/activity/components/drawBtnBox.vue
+++ b/src/views/activity/components/drawBtnBox.vue
@@ -118,11 +118,14 @@
     },
 
     mounted () {
+        drawLabelStatus = 'end'
+
         this.$nextTick(() => {
             if (drawLayers == null) {
                 drawLayers = new global.DC.VectorLayer('drawLayers')
                 global.viewer.addLayer(drawLayers)
                 plot = new global.DC.Plot(global.viewer)
+
             }
 
 
@@ -130,12 +133,12 @@
                 drawArrowLayers = new global.DC.VectorLayer('drawArrowLayers')
                 global.viewer.addLayer(drawArrowLayers)
                 arrowPlot = new global.DC.Plot(global.viewer)
+
             }
 
             global.viewer.on(global.DC.MouseEventType.CLICK, this.viewerClick)
             global.viewer.on(global.DC.MouseEventType.MOUSE_MOVE, this.viewerLableMove)
             global.viewer.on(global.DC.MouseEventType.LEFT_UP, this.labelUp)
-
         })
     },
 
@@ -143,13 +146,20 @@
         // 地图元素绘制
         draw (poltType, policeType) {
 
+            labelPositionChange = false
+            drawLabelStatus = 'end'
+            isAddLabel = false
+
             let flag = false
 
             const that = this
 
+            global.viewer.tooltip.enable = true
+
             // this.policeType = ''  // ?
 
             plot && plot.draw(poltType, overlay => {
+                if (isAddLabel) return
 
                 if (poltType == 'billboard' && policeType == 'policeman') {
                     overlay.icon = '/img/icon/police-people.png'
@@ -210,6 +220,11 @@
         },
 
         drawArrow (type, iconType) {
+            labelPositionChange = false
+            drawLabelStatus = 'end'
+            isAddLabel = false
+
+            global.viewer.tooltip.enable = true
 
             if (type == 'polygon') {
 
@@ -217,6 +232,8 @@
                 let flag = false
 
                 plot && plot.draw(type, overlay => {
+                    if (isAddLabel) return
+
                     if (overlay) {
                         drawArrowLayers.addOverlay(overlay)
                         plot.edit(overlay, (e) => {
@@ -251,6 +268,8 @@
                 let flag = false
 
                 plot && plot.draw(type, overlay => {
+                    if (isAddLabel) return
+
                     if (iconType == 'icon1') {
                         that.$parent.plotSaveType = 6
                         overlay.size = [24, 24]
@@ -284,6 +303,8 @@
                 const that = this
                 let flag = false
                 arrowPlot && arrowPlot.draw(type, overlay => {
+                    if (isAddLabel) return
+
                     if (overlay) {
                         let plotType = ''
                         if (type == 'attack_arrow') {
@@ -295,7 +316,9 @@
                         } else if (type == 'tailed_attack_arrow') {
                             plotType = 4
                         }
+
                         that.$parent.plotSaveType = plotType
+
                         plot.edit(overlay, (e) => {
                             flag = true
                             let positionStr = ''
@@ -393,10 +416,13 @@
         },
 
         drawArrowLabel () {
-            this.labelPopupTitle = ""
+            global.viewer.tooltip.enable = false
+            plot != null && plot.stop()
+            arrowPlot != null && arrowPlot.stop()
+
             isAddLabel = true
+            this.labelPopupTitle = ""
             drawLabelStatus = 'start'
-            global.viewer.tooltip.enable = true
 
             this.$emit('drawLabel', drawLabelStatus)
         },
@@ -422,9 +448,9 @@
         },
 
         labelShowPopup (e) {
+            this.labelPopupTitle = '添加文字标注'
             this.addLabelVisible = true
             this.addLabelPosition = e.wgs84SurfacePosition.lng + ' ' + e.wgs84SurfacePosition.lat + ',' + e.wgs84SurfacePosition.lng + ' ' + e.wgs84SurfacePosition.lat
-            global.viewer.tooltip.enable = true
         },
 
         // 文字标注窗口的添加按钮
@@ -455,7 +481,8 @@
 
             setTimeout(() => {
                 if (eventLast == 0) {
-                    global.viewer.tooltip.enable = false
+                    this.$EventBus.$emit('closeTooltip')
+
                     labelPositionChange = true
                     curLabelOverLayer = e.overlay
                     global.viewer.scene.screenSpaceCameraController.enableRotate = false
@@ -479,7 +506,7 @@
         },
 
         updateLableMove (e) {
-            global.viewer.tooltip.enable = false
+            this.$EventBus.$emit('closeTooltip')
 
             curLabelOverLayer.position = {
                 lng: e.wgs84SurfacePosition.lng,
@@ -493,21 +520,22 @@
 
         viewerLableMove (e) {
             if (isAddLabel == true) {
-                global.viewer.tooltip.showAt(e.windowPosition, '单击选择文字标注位置')
+                this.$EventBus.$emit('showTooltip', {
+                    position: e.windowPosition,
+                    text: '单击选择文字标注位置'
+                })
             } else {
                 if (e.overlay && e.overlay.attrParams && e.overlay.attrParams.id) {
                     const flag = labelOverLayerID.some(item => item == e.overlay.attrParams.id)
 
-                    if (flag == true) {
-                        global.viewer.tooltip.enable = true
-
-                        global.viewer.tooltip.showAt({
-                            x: e.windowPosition.x + 10,
-                            y: e.windowPosition.y
-                        }, '长按开启拖拽,单击修改名称')
+                    if (flag == true && labelPositionChange != true) {
+                        this.$EventBus.$emit('showTooltip', {
+                            position: e.windowPosition,
+                            text: '长按开启拖拽,单击修改名称'
+                        })
                     }
                 } else {
-                    global.viewer.tooltip.enable = false
+                    this.$EventBus.$emit('closeTooltip')
                 }
             }
         },
@@ -517,11 +545,14 @@
             isAddLabel = false
             this.addLabelVisible = false
             drawLabelStatus = 'end'
+
+            this.$EventBus.$emit('closeTooltip')
         },
 
         // 单击文字标绘
         reEditLabel (e) {
-            global.viewer.tooltip.enable = false
+            this.$EventBus.$emit('closeTooltip')
+
             this.labelId = e.overlay.attrParams.id
             this.labelPopupTitle = "修改文字标注"
             this.labelInput = e.overlay.attrParams.item.name
@@ -530,7 +561,8 @@
     },
 
     destroyed () {
-        plot.stop()
+        plot != null && plot.stop()
+        arrowPlot != null && arrowPlot.stop()
 
         drawLayers.remove()
         drawLayers = null

--
Gitblit v1.9.3