From 81f54040c2cb65537c6c6e1db8358a39a57dea0d Mon Sep 17 00:00:00 2001
From: mayisheng <admin>
Date: Mon, 15 Aug 2022 16:14:01 +0800
Subject: [PATCH] 1

---
 src/components/mobileActivity/index.vue |   89 +++++++++++++++++++++++++++++++-------------
 1 files changed, 62 insertions(+), 27 deletions(-)

diff --git a/src/components/mobileActivity/index.vue b/src/components/mobileActivity/index.vue
index 7c60640..4a859d1 100644
--- a/src/components/mobileActivity/index.vue
+++ b/src/components/mobileActivity/index.vue
@@ -1,4 +1,7 @@
 <template>
+  <!-- 活动弹窗
+mobileActivity
+ -->
   <div
     id="mobileActivity"
     :style="{ height: height + 'px' }"
@@ -68,6 +71,7 @@
 import moveWindow from "./move";
 import { getdetail } from "@/api/mobile/hd/hd";
 window.serviceMapSee = {};
+window.onceServiceMap = null;
 export default {
   name: "mobileActivity",
   computed: {
@@ -155,6 +159,7 @@
     //       this.height = this.useHeight;
     //     }
     //   },
+    //当弹窗显示时,开始操作数据
     showActivity() {
       if (this.showActivity) {
         this.inToInit(); // 初始化
@@ -213,6 +218,17 @@
           //获取详细信息,来获取底图
           // console.log(this.showActivityData, "see");
           that.serviceMap = [];
+          // if (that.serviceMap.length > 0) {
+          //   for (let k in window.serviceMapSee) {
+          //     if (window.serviceMapSee[k].flag) {
+          //       global.viewer.imageryLayers.remove(
+          //         window.serviceMapSee[k].layer
+          //       );
+          //     }
+          //   }
+          // }
+          //处理底图
+          window.serviceMapSee = {};
           getdetail(this.showActivityData.opendata.id).then((res) => {
             let name = res.data.data.mapname.split(",");
             let url = res.data.data.url.split(",");
@@ -220,40 +236,43 @@
               let d = {
                 flag: true,
                 label: name[k],
-                img: "/img/leftnav/way-checked.png",
-                normal: "/img/leftnav/way.png",
-                checked: "/img/leftnav/way-checked.png",
-                layer: "wayLayer",
-                imgSrc: "img/mobile/green.png",
+                img: "/img/leftnav/monitor-checked.png",
+                normal: "/img/leftnav/monitor.png",
+                checked: "/img/leftnav/monitor-checked.png",
+                imgSrc: "/img/leftnav/map-monitor.png",
                 layer: "serviceMap" + that.serviceMap.length,
                 url: url[k],
                 to: "serviceMap",
               };
-              // this.leftNavData.shift(d);
+              this.serviceMap.push(d); //数据层
               // console.log(d, "see");
-              // that.serviceMap.push(d);
-              // window.serviceMapSee[d.layer] =
-              //   global.DC.ImageryLayerFactory.createArcGisImageryLayer({
-              //     url: url[k],
-              //   });
-              // global.viewer.addBaseLayer(window.serviceMapSee[d.layer], {
-              //   iconUrl: "examples/images/icon/elec.png",
-              //   name: d.layer,
-              // });
-            }
-            // const baselayer_shaded =
-            //   global.DC.ImageryLayerFactory.createArcGisImageryLayer({
-            //     url: "https://services.arcgisonline.com/arcgis/rest/services/World_Physical_Map/MapServer",
-            //   });
-            // global.viewer.addBaseLayer(baselayer_shaded, {
-            //   iconUrl: "examples/images/icon/elec.png",
-            //   name: "电子",
-            // });
 
-            // console.log(window.serviceMapSee, "see");
-            // }
+              window.onceServiceMap =
+                new global.DC.Namespace.Cesium.ArcGisMapServerImageryProvider({
+                  url: url[k],
+                });
+              window.serviceMapSee[d.layer] = {
+                flag: true,
+                layer: global.viewer.imageryLayers.addImageryProvider(
+                  window.onceServiceMap
+                ), //渲染层
+                source: window.onceServiceMap, //渲染源
+              };
+              window.onceServiceMap = null;
+            }
           });
         };
+      } else {
+        // console.log(this.showActivity, "see");
+        if (window.serviceMapSee != {}) {
+          for (let k in window.serviceMapSee) {
+            if (window.serviceMapSee[k].flag) {
+              //如果是显示状态 就让他关闭
+              global.viewer.imageryLayers.remove(window.serviceMapSee[k].layer);
+            }
+          }
+          window.serviceMapSee = {};
+        }
       }
     },
   },
@@ -335,7 +354,23 @@
         item.img = item.normal;
       }
       if (item.to == "serviceMap") {
-        console.log(item);
+        //再次判断是否是底图的加载
+        console.log(window.serviceMapSee[item.layer]);
+        //清除
+        if (!item.flag && window.serviceMapSee[item.layer].flag) {
+          window.serviceMapSee[item.layer].flag = false;
+          global.viewer.imageryLayers.remove(
+            window.serviceMapSee[item.layer].layer
+          );
+        }
+        // 显示
+        if (item.flag && !window.serviceMapSee[item.layer].flag) {
+          window.serviceMapSee[item.layer].flag = true;
+          window.serviceMapSee[item.layer].layer =
+            global.viewer.imageryLayers.addImageryProvider(
+              window.serviceMapSee[item.layer].source
+            );
+        }
         return;
       }
       this.$store.commit("showLineOrPoint", {

--
Gitblit v1.9.3