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 |  107 ++++++++++++++++++++++++++++++++++++++++++++++++++++-
 1 files changed, 105 insertions(+), 2 deletions(-)

diff --git a/src/components/mobileActivity/index.vue b/src/components/mobileActivity/index.vue
index 8648b4d..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' }"
@@ -50,7 +53,7 @@
     <div class="mobileActivity_coutrol" :style="{ bottom: bottom + 'px' }">
       <ul>
         <li
-          v-for="(item, index) in leftNavData"
+          v-for="(item, index) in ourLeftData"
           :key="index"
           @click="mobileActivityCoutrolClick(item)"
           v-show="!item.notShow"
@@ -66,6 +69,9 @@
 <script>
 import { mapGetters } from "vuex";
 import moveWindow from "./move";
+import { getdetail } from "@/api/mobile/hd/hd";
+window.serviceMapSee = {};
+window.onceServiceMap = null;
 export default {
   name: "mobileActivity",
   computed: {
@@ -75,6 +81,9 @@
       // 'drawALineLayerMany',
       // 'drawAPointLayerMany'
     ]),
+    ourLeftData() {
+      return [...this.serviceMap, ...this.leftNavData];
+    },
   },
   data() {
     const heig = 135;
@@ -126,6 +135,19 @@
         //   // imgSrc: "img/mobile/blue.png",
         // },
       ],
+      //底图
+      serviceMap: [
+        // {
+        //   flag: true,
+        //   label: "底图1",
+        //   img: "/img/leftnav/way-checked.png",
+        //   normal: "/img/leftnav/way.png",
+        //   checked: "/img/leftnav/way-checked.png",
+        //   layer: "wayLayer",
+        //   imgSrc: "img/mobile/green.png",
+        //   layer: null,
+        // },
+      ],
     };
   },
   watch: {
@@ -137,6 +159,7 @@
     //       this.height = this.useHeight;
     //     }
     //   },
+    //当弹窗显示时,开始操作数据
     showActivity() {
       if (this.showActivity) {
         this.inToInit(); // 初始化
@@ -190,7 +213,66 @@
               that.domMove.opens(false, true);
             },
           ]);
+
+          //绘画底图
+          //获取详细信息,来获取底图
+          // 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(",");
+            for (let k in name) {
+              let d = {
+                flag: true,
+                label: name[k],
+                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.serviceMap.push(d); //数据层
+              // console.log(d, "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 = {};
+        }
       }
     },
   },
@@ -270,6 +352,26 @@
         item.img = item.checked;
       } else {
         item.img = item.normal;
+      }
+      if (item.to == "serviceMap") {
+        //再次判断是否是底图的加载
+        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", {
         layer: item.layer,
@@ -473,13 +575,14 @@
     margin-bottom: 6px;
     font-weight: 400;
     display: block;
-    width: 80px;
+    // width: 80px;
     height: 30px;
     line-height: 30px;
     background-color: #fff;
     border-radius: 15px;
     text-align: center;
     font-size: 0;
+    padding: 0 6px;
     cursor: pointer;
 
     img {

--
Gitblit v1.9.3