From 7357cfaa2414a4e98f19f0f438a02250d250433f Mon Sep 17 00:00:00 2001
From: liuyg <376836862@qq.com>
Date: Tue, 18 Jan 2022 14:57:08 +0800
Subject: [PATCH] +关闭弹窗时关闭建筑高亮

---
 src/components/mobileWindow/index.vue |   10 ++++++++++
 src/components/mobilemap/index.vue    |   37 ++++++++++++++++++-------------------
 src/store/getters.js                  |    1 +
 src/store/modules/mobile.js           |    9 +++++++++
 4 files changed, 38 insertions(+), 19 deletions(-)

diff --git a/src/components/mobileWindow/index.vue b/src/components/mobileWindow/index.vue
index a6c91b2..9cda73e 100644
--- a/src/components/mobileWindow/index.vue
+++ b/src/components/mobileWindow/index.vue
@@ -97,6 +97,7 @@
       "query",
       "MobileWindowChangeData",
       "audioState",
+      "areaLayerSelect",
     ]),
   },
   watch: {
@@ -325,7 +326,16 @@
     },
     closeWindow() {
       if (!this.MobileWindowsHide) {
+        let that = this;
         this.$store.dispatch("closeMobileWindowsDom"); //关闭随地图弹窗
+        if (that.areaLayerSelect.overlay != undefined) {
+          that.areaLayerSelect.overlay.setStyle({
+            material: that.areaLayerSelect.color,
+            outline: false,
+          });
+
+          that.$store.commit("mset_changeSelect", [undefined, undefined]);
+        }
       }
     },
     openAudio() {
diff --git a/src/components/mobilemap/index.vue b/src/components/mobilemap/index.vue
index 99a655e..cc9c4ae 100644
--- a/src/components/mobilemap/index.vue
+++ b/src/components/mobilemap/index.vue
@@ -95,6 +95,7 @@
       "dimension",
       "dimensionData",
       "areaLayer", //绿布
+      "areaLayerSelect", //绿布颜色控制
     ]),
   },
   watch: {
@@ -519,30 +520,29 @@
           areaLayer.show = true;
         });
       that.$store.commit("MSET_areaLayer", areaLayer);
-      var select = {
-        overlay: undefined,
-        color: undefined,
-      };
+      // var select = {
+      //   overlay: undefined,
+      //   color: undefined,
+      // };
       viewer.on(that.DC.MouseEventType.CLICK, (e) => {
         // console.log(e);
         if (e.overlay != undefined && e.layer.id == "areaLayer") {
-          if (select.overlay != undefined) {
-            if (e.overlay != select.overlay) {
-              select.overlay.setStyle({
-                material: select.color,
+          if (that.areaLayerSelect.overlay != undefined) {
+            if (e.overlay != that.areaLayerSelect.overlay) {
+              that.areaLayerSelect.overlay.setStyle({
+                material: that.areaLayerSelect.color,
                 outline: false,
               });
 
-              select.overlay = undefined;
-              select.color = undefined;
+              that.$store.commit("mset_changeSelect", [undefined, undefined]);
             }
           }
 
-          if (select.overlay == undefined) {
-            select.overlay = e.overlay;
+          if (that.areaLayerSelect.overlay == undefined) {
+            that.areaLayerSelect.overlay = e.overlay;
 
-            select.color = e.overlay._style.material;
-            select.overlay.setStyle({
+            that.areaLayerSelect.color = e.overlay._style.material;
+            that.areaLayerSelect.overlay.setStyle({
               outline: true,
               outlineColor: that.DC.Namespace.Cesium.Color.fromBytes(
                 3,
@@ -575,14 +575,13 @@
             }
           );
         } else {
-          if (select.overlay != undefined) {
-            select.overlay.setStyle({
-              material: select.color,
+          if (that.areaLayerSelect.overlay != undefined) {
+            that.areaLayerSelect.overlay.setStyle({
+              material: that.areaLayerSelect.color,
               outline: false,
             });
 
-            select.overlay = undefined;
-            select.color = undefined;
+            that.$store.commit("mset_changeSelect", [undefined, undefined]);
           }
         }
       });
diff --git a/src/store/getters.js b/src/store/getters.js
index 1604896..df05f42 100644
--- a/src/store/getters.js
+++ b/src/store/getters.js
@@ -22,6 +22,7 @@
   perspectiveControl: (state) => state.mobile.perspectiveControl, /// 视角控制:高度、角度  ()=>{}
   audioState: (state) => state.mobile.audioState, // 文字转语音状态
   areaLayer: (state) => state.mobile.areaLayer, // 文字转语音状态
+  areaLayerSelect: (state) => state.mobile.select, // 文字转语音状态
 
   isOpenDrawALine: (state) => state.mobile.isOpenDrawALine, // 是否开启路线
   isendPosition: (state) => state.mobile.isendPosition, // 路线导航终点数据改变
diff --git a/src/store/modules/mobile.js b/src/store/modules/mobile.js
index 88bf5b0..a6d6a20 100644
--- a/src/store/modules/mobile.js
+++ b/src/store/modules/mobile.js
@@ -47,6 +47,11 @@
     usetowpointfive: null,
     tilesetLayer: null, //瀑布流
     areaLayer: null, //2.5d事件--绿色图层
+    select: {
+      //绿色图层控制显示
+      overlay: undefined,
+      color: undefined,
+    },
 
     vecLayer: null, //3D底图
     cvaLayer: null, //3D底图
@@ -303,6 +308,10 @@
     set_showActivity(state, data) {
       state.showActivity = data;
     },
+    mset_changeSelect(state, data) {
+      state.select.overlay = data[0];
+      state.select.color = data[1];
+    },
   },
   actions: {
     MSET_CREADE({ state, commit, dispatch }) {

--
Gitblit v1.9.3