From bf58722dfd03ea1513f3acc7331d4d4403fca76e Mon Sep 17 00:00:00 2001
From: shuishen <1109946754@qq.com>
Date: Fri, 18 Mar 2022 11:48:37 +0800
Subject: [PATCH] Merge branch 'master' of http://192.168.0.105:10010/r/school-web

---
 src/components/mobileLeftNav/index.vue |  253 +++++++++++++++++++++++++++++--------------------
 1 files changed, 149 insertions(+), 104 deletions(-)

diff --git a/src/components/mobileLeftNav/index.vue b/src/components/mobileLeftNav/index.vue
index 5f84749..b3d1f0c 100644
--- a/src/components/mobileLeftNav/index.vue
+++ b/src/components/mobileLeftNav/index.vue
@@ -1,5 +1,5 @@
 <template>
-  <div class="m-left-nav" :style="[navStyle]">
+  <div :class="['m-left-nav', seeRight ? '' : 'nones']" :style="[navStyle]">
     <!-- :style="[coutrolStyle]" -->
     <div class="m-left-coutrol" @click="changeIconHide">
       <i :class="icons"></i>
@@ -9,8 +9,9 @@
         v-for="(item, index) in leftNavData"
         :key="index"
         @click="leftNavClick(item)"
+        v-show="!item.notShow"
       >
-        <img :style="[imgStyle]" :src="item.img" alt="" />
+        <img :style="[imgStyle]" :src="item.img" alt />
         <span>{{ item.label }}</span>
       </li>
     </ul>
@@ -23,12 +24,21 @@
   // getListdoor, //出入
   // getListaed, //AED
   // getListparking, //停车场
-  getListarchitecture, //全景
-  getListarchitecture1, //标签
-  getListroad, //道路
-  getListcat, //出入-AED-停车场
+  getListarchitecture, // 全景
+  getListarchitecture1, // 标签
+  getListroad, // 道路
+  getListcat, // 出入-AED-停车场
 } from "@/api/mobile/piont/index";
 import { getListVideo } from "@/api/mobile/monitor/index";
+
+window.tagLayer = null;
+window.wayLayer = null;
+window.sceneLayer = null;
+window.videoLayer = null;
+window.activityLayer = null;
+window.aedLayer = null;
+window.parkLayer = null;
+window.comeLayer = null;
 export default {
   name: "mobileLeftNav",
   watch: {
@@ -43,9 +53,26 @@
         this.imgStyle.right = "0";
       }
     },
+    seeRight() {
+      if (this.seeRight) {
+        this.leftNavData[0].flag = false;
+        this.leftNavData[0].img = this.leftNavData[0].checked;
+        window[this.leftNavData[0].layer].show = true;
+      } else {
+        const lnd = this.leftNavData;
+        for (const k in lnd) {
+          if (window[this.leftNavData[k].layer]._show) {
+            // console.log(lnd[k].label, "所有开启");
+            this.leftNavData[k].flag = false;
+            this.leftNavData[k].img = this.leftNavData[k].normal;
+            window[this.leftNavData[k].layer].show = false;
+          }
+        }
+      }
+    },
   },
   computed: {
-    ...mapGetters(["iconHide"]),
+    ...mapGetters(["iconHide", "dimensionData", "seeRight"]),
   },
   data() {
     return {
@@ -58,9 +85,10 @@
       },
       leftNavData: [
         {
-          flag: false,
+          flag: true,
           label: "标签",
-          img: "/img/leftnav/tag.png",
+          // img: "/img/leftnav/tag.png",
+          img: "/img/leftnav/tag-checked.png",
           normal: "/img/leftnav/tag.png",
           checked: "/img/leftnav/tag-checked.png",
           layer: "tagLayer",
@@ -121,6 +149,7 @@
           type: 9,
           imgSrc: "img/leftnav/map-aed.png",
           // imgSrc: "img/mobile/pink.png",
+          notShow: true,
         },
         {
           flag: false,
@@ -147,111 +176,121 @@
           // imgSrc: "img/mobile/purple.png",
         },
       ],
-      viewer: null,
-      DC: null,
-      tagLayer: null,
-      wayLayer: null,
-      sceneLayer: null,
-      videoLayer: null,
-      activityLayer: null,
-      aedLayer: null,
-      parkLayer: null,
-      comeLayer: null,
+      //   viewer: null,
+      //   tagLayer: null,
+      //   wayLayer: null,
+      //   sceneLayer: null,
+      //   videoLayer: null,
+      //   activityLayer: null,
+      //   aedLayer: null,
+      //   parkLayer: null,
+      //   comeLayer: null,
     };
   },
-  created() {
-    this.DC = global.DC;
-  },
+  created() {},
   mounted() {},
   methods: {
     changeIconHide() {
-      let isif = this.iconHide;
+      const isif = this.iconHide;
       this.$store.commit("MSET_ICONHIDE", !isif);
     },
     leftNavClick(item) {
-      //判断并关闭已开启标签
-      let lnd = this.leftNavData;
-      for (let k in lnd) {
+      // console.log(123132);
+      // 判断并关闭已开启标签
+      const lnd = this.leftNavData;
+      for (const k in lnd) {
         // console.log(this[this.leftNavData[k].layer]);
         if (lnd[k].label == item.label) {
           // console.log(lnd[k].label, "当前点击");
           continue;
         }
-        if (this[this.leftNavData[k].layer]._show) {
+        if (window[this.leftNavData[k].layer]._show) {
           // console.log(lnd[k].label, "所有开启");
           this.leftNavData[k].flag = false;
           this.leftNavData[k].img = this.leftNavData[k].normal;
-          this[this.leftNavData[k].layer].show = false;
+          window[this.leftNavData[k].layer].show = false;
         }
       }
 
       item.flag = !item.flag;
       if (item.flag == true) {
         item.img = item.checked;
-        this[item.layer].show = true;
+        window[item.layer].show = true;
         // console.log("飞入");
-        this.flyTo(item);
-        this.$store.dispatch("closeMobileWindowsDom"); //关闭弹窗
+        // this.flyTo(item);
+        this.$store.dispatch("closeMobileWindowsDom"); // 关闭弹窗
       } else {
         item.img = item.normal;
-        this[item.layer].show = false;
+        window[item.layer].show = false;
       }
     },
-    flyTo(item) {
-      let posi = this[item.layer].positions[0];
-      // console.log(posi);
-      this.$store.dispatch("mapFlyTo", {
-        //飞入
-        lntLat: [posi.lng + 0.00917, posi.lat - 0.0188, 2100],
-        // lntLat: [posi.lng + 0.01187, posi.lat - 0.0308, 4000],
-        // lntLat: [121.50492752204283, 31.21567802276832, 2530],
-        heading: 0,
-        pitch: -45,
-        roll: 0,
-        noOpen: true,
-      });
-    },
-    initialize(viewer) {
+    // flyTo(item) {
+    //   const that = this;
+    //   const posi = this[item.layer].positions[0];
+    //   // console.log(posi);
+    //   const lntLat =
+    //     that.dimensionData.pitch == -45
+    //       ? [posi.lng + 0.00917, posi.lat - 0.0188, 500]
+    //       : [posi.lng + 0.01197, posi.lat - 0.00055, 500];
+    //   // that.mviewer.camera.flyTo({
+    //   //   destination: Cesium.Cartesian3.fromDegrees(
+    //   //     lntLat[0],
+    //   //     lntLat[1],
+    //   //     lntLat[2]
+    //   //   ),
+    //   // });
+    //   // return;
+    //   this.$store.dispatch("mapFlyTo", {
+    //     // 飞入
+    //     lntLat: lntLat,
+    //     // lntLat: [posi.lng + 0.01187, posi.lat - 0.0308, 4000],
+    //     // lntLat: [121.50492752204283, 31.21567802276832, 2530],
+    //     heading: that.dimensionData.heading,
+    //     pitch: that.dimensionData.pitch,
+    //     roll: that.dimensionData.roll,
+    //     noOpen: true,
+    //   });
+    // },
+    initialize() {
       var that = this;
-      viewer.scene.globe.depthTestAgainstTerrain = false;
-      this.viewer = viewer;
-      this.tagLayer = new this.DC.HtmlLayer("tagLayer");
-      viewer.addLayer(this.tagLayer);
+      global.viewer.scene.globe.depthTestAgainstTerrain = false;
+      window.tagLayer = new global.DC.HtmlLayer("tagLayer");
+      global.viewer.addLayer(tagLayer);
 
-      this.wayLayer = new this.DC.HtmlLayer("wayLayer");
-      viewer.addLayer(this.wayLayer);
+      window.wayLayer = new global.DC.HtmlLayer("wayLayer");
+      global.viewer.addLayer(wayLayer);
 
-      // this.sceneLayer = new this.DC.VectorLayer("sceneLayer");
-      this.sceneLayer = new this.DC.HtmlLayer("sceneLayer");
-      viewer.addLayer(this.sceneLayer);
+      // sceneLayer = new global.DC.VectorLayer("sceneLayer");
+      window.sceneLayer = new global.DC.HtmlLayer("sceneLayer");
+      global.viewer.addLayer(sceneLayer);
 
-      this.videoLayer = new this.DC.HtmlLayer("videoLayer");
-      viewer.addLayer(this.videoLayer);
+      window.videoLayer = new global.DC.HtmlLayer("videoLayer");
+      global.viewer.addLayer(videoLayer);
 
-      // this.activityLayer = new this.DC.VectorLayer("activityLayer");
-      this.activityLayer = new this.DC.HtmlLayer("activityLayer");
-      viewer.addLayer(this.activityLayer);
+      // activityLayer = new global.DC.VectorLayer("activityLayer");
+      window.activityLayer = new global.DC.HtmlLayer("activityLayer");
+      global.viewer.addLayer(activityLayer);
 
-      // this.aedLayer = new this.DC.VectorLayer("aedLayer");
-      this.aedLayer = new this.DC.HtmlLayer("aedLayer");
-      viewer.addLayer(this.aedLayer);
+      // aedLayer = new global.DC.VectorLayer("aedLayer");
+      window.aedLayer = new global.DC.HtmlLayer("aedLayer");
+      global.viewer.addLayer(aedLayer);
 
-      this.parkLayer = new this.DC.HtmlLayer("parkLayer");
-      viewer.addLayer(this.parkLayer);
+      window.parkLayer = new global.DC.HtmlLayer("parkLayer");
+      global.viewer.addLayer(parkLayer);
 
-      // this.comeLayer = new this.DC.VectorLayer("comeLayer");
-      this.comeLayer = new this.DC.HtmlLayer("comeLayer");
-      viewer.addLayer(this.comeLayer);
+      // comeLayer = new global.DC.VectorLayer("comeLayer");
+      window.comeLayer = new global.DC.HtmlLayer("comeLayer");
+      global.viewer.addLayer(comeLayer);
 
-      let ourNum = that.leftNavData.length;
+      const ourNum = that.leftNavData.length;
       for (let n = 0; n < ourNum; n++) {
-        let ourD = this.leftNavData[n];
-        let d = ourD.type ? { lifetype: ourD.type } : {};
+        const ourD = this.leftNavData[n];
+        const d = ourD.type ? { lifetype: ourD.type } : {};
         ourD.methods(d).then((res) => {
           let dom;
-          let data = res.data.data;
-          let position = that.changePoiton(data);
-          let num = data.length;
+          const data = res.data.data;
+          const position = that.changePoiton(data);
+          const num = data.length;
           for (let k = 0; k < num; k++) {
             if (ourD.label == "标签") {
               dom = `
@@ -271,7 +310,7 @@
               dom = `
                         <div  class="way-entitys-box">
                             <div  class="way-title" style="border: white 1px solid; padding-left: 2px;font-size: 12px; background: #0066ff;  width: 12px;line-height: 13px; padding:2px 1px 2px 1px; color:white;">
-                                ${data[k].roadname}
+                                 ${data[k].roadname}
                             </div>
                             <div  class="way-sign-box">
                                 <img src="https://map.hit.edu.cn/images/roadsign3.png">
@@ -283,12 +322,11 @@
               //    ${data[k].mechanismname}
               // </div>
               dom = `
-                        <div  class="way-entitys-box mobile-way-entitys-box">
-                            <div  class="way-sign-box ">
-                                <img src="img/leftnav/map-panorama.png">
-                            </div>
+                        <div class="scene-entitys-box">
+                            <div>${data[k].mechanismname}</div>
+                            <img src="/img/leftnav/map-panorama.png" alt="">
                         </div>
-                    `;
+                        `;
             } else if (ourD.label == "AED") {
               dom = `
                         <div class="mobiletag-entitys-box">
@@ -328,21 +366,17 @@
                     `;
             } else if (ourD.label == "监控") {
               dom = `
-                        <div class="mobiletag-entitys-box-pink">
-                            <div class="tag-content">
-                              监控
-                            </div>
-                            <div class="tag-angle-content">
-                                <img src="${ourD.imgSrc}">
-                            </div>
+                        <div class="monitor-entitys-box">
+                            <div>${data[k].mechanismname}</div>
+                            <img class="monitor-entitys-box" src="/img/leftnav/map-monitor.png" alt="">
                         </div>
-                    `;
+                        `;
             }
-            const divIcon = new that.DC.DivIcon(position[k], dom);
-            //订阅事件
-            divIcon.on(DC.MouseEventType.CLICK, (e) => {
+            const divIcon = new global.DC.DivIcon(position[k], dom);
+            // 订阅事件
+            divIcon.on(global.DC.MouseEventType.CLICK, (e) => {
               // console.log(data[k]);
-              let d = {
+              const d = {
                 name:
                   data[k].mechanismname ||
                   data[k].roadname ||
@@ -351,6 +385,7 @@
                 video: data[k].videourl || "",
                 from: "labels",
                 introduce: data[k].introduce,
+                panoramaurl: data[k].panoramaurl,
               };
               // 定制化窗体
               that.openPopupS(
@@ -359,35 +394,42 @@
                 d
               );
             });
-            that[that.leftNavData[n].layer].addOverlay(divIcon); //加入图标
+            window[that.leftNavData[n].layer].addOverlay(divIcon); // 加入图标
           }
-          that[that.leftNavData[n].layer]["positions"] = position;
-          that[that.leftNavData[n].layer].show = false;
+          window[that.leftNavData[n].layer].positions = position;
+          if (that.leftNavData[n].layer == "tagLayer") {
+            // that.leftNavData[n].img = that.leftNavData[n].checked;
+          } else {
+            window[that.leftNavData[n].layer].show = false;
+          }
         });
       }
+      // setTimeout(() => {
+      //   this.tagLayer.show = false;
+      // }, 500);
     },
     changePoiton(data) {
       // console.log(data);
       const list = [];
-      let num = data.length;
+      const num = data.length;
       for (let i = 0; i < num; i++) {
-        list.push(new this.DC.Position(data[i].jd, data[i].wd, 0));
+        list.push(new global.DC.Position(data[i].jd, data[i].wd, 0));
       }
       return list;
     },
     mobileOpenImgs1() {
-      let imgsDom = document.getElementById("mobileBigImgs");
+      const imgsDom = document.getElementById("mobileBigImgs");
       imgsDom.click();
     },
     goOn1() {},
     openPopupS(position, lntLat, query) {
-      let that = this;
+      const that = this;
       // 定制化窗体
-      let d = {
+      const d = {
         position,
         lntLat,
         query: { ...(query || {}), position, lntLat },
-        useJWD: true, //仅使用经纬度
+        useJWD: true, // 仅使用经纬度
       };
       that.$store.dispatch("setMobileWindows", d);
     },
@@ -395,7 +437,7 @@
 };
 </script>
 
-<style scoped lang='scss'>
+<style scoped lang="scss">
 .m-left-nav {
   position: fixed;
   bottom: 30px;
@@ -407,7 +449,7 @@
   .m-left-coutrol {
     position: absolute;
     left: -24px;
-    top: 96px;
+    top: 79px;
     width: 25px;
     height: 60px;
     background-color: #fff;
@@ -455,4 +497,7 @@
     }
   }
 }
+.nones {
+  display: none;
+}
 </style>

--
Gitblit v1.9.3