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/mobilePopupOurOnce/index.vue |  136 +++++++++++++++++++++++++++++++++++++++------
 1 files changed, 117 insertions(+), 19 deletions(-)

diff --git a/src/components/mobilePopupOurOnce/index.vue b/src/components/mobilePopupOurOnce/index.vue
index a9437b1..f12dcc0 100644
--- a/src/components/mobilePopupOurOnce/index.vue
+++ b/src/components/mobilePopupOurOnce/index.vue
@@ -8,14 +8,35 @@
       }"
     >
       <div class="mobilePopupOurOnce_left">
-        <img src="img/cc/cc.png" alt="" />
+        <!-- <img :src="icon" alt="" :key="icon" /> -->
+        <el-image
+          style="width: 80px; height: 80px"
+          :src="icon"
+          :id="'mobileBigImgs' + icon + ''"
+          :preview-src-list="srcList"
+        >
+          <!-- v-show="false" -->
+        </el-image>
       </div>
-      <div class="mobilePopupOurOnce_right">
-        <div class="mobilePopupOurOnce_r_up">{{ onceData.name }}</div>
+      <div class="mobilePopupOurOnce_right" @click.self.stop="openOnce('定位')">
+        <div
+          class="mobilePopupOurOnce_r_up"
+          @click.self.stop="openOnce('定位')"
+        >
+          {{ onceData.name }}
+        </div>
         <div class="mobilePopupOurOnce_r_down">
           <div v-for="(item, index) in seebut" :key="index">
             <el-link
-              icon="el-icon-map-location"
+              :icon="
+                item.name == '实景'
+                  ? 'el-icon-place'
+                  : item.name == '图集'
+                  ? 'el-icon-data-board'
+                  : item.name == '定位'
+                  ? 'el-icon-map-location'
+                  : ''
+              "
               class="mobilePopupOurOnce_r_d_in"
               @click="openOnce(item.name)"
               >{{ item.name }}</el-link
@@ -34,25 +55,48 @@
 
 <script>
 import { mapGetters } from "vuex";
+import { getChildNavDetail } from "@/api/mobile/public/arc";
 export default {
   props: ["onceData", "ends"],
   name: "mobilePopupOurOnce",
   created() {
-    this.DC = global.DC;
+    if (this.onceData.icon) {
+      this.srcList = this.onceData.icon;
+      this.icon = this.srcList[0];
+    }
+    if (this.onceData.from == "校区建筑" || this.onceData.from == "文化风景") {
+      this.getOnceCampus(this.onceData.id);
+    } else {
+      this.ourData = this.onceData;
+    }
   },
   data() {
     return {
-      DC: "",
+      icon: "",
+      srcList: [],
+      ourData: {},
     };
   },
   computed: {
     ...mapGetters(["mviewer"]),
     seebut() {
-      let buts = this.onceData.buts;
+      const buts = this.onceData.buts;
       let b = [];
-      for (let k in buts) {
+      for (const k in buts) {
+        if (buts[k] == "实景") {
+          continue;
+        }
         b.push({
           name: buts[k],
+        });
+      }
+      if (this.ourData.panoramaurl) {
+        b.push({
+          name: "实景",
+        });
+      } else {
+        b = b.filter((res) => {
+          return res.name != "实景";
         });
       }
       return b;
@@ -60,21 +104,68 @@
   },
   methods: {
     openOnce(val) {
-      let that = this;
-      console.log(val, this.onceData);
+      if (!this.ourData.name) {
+        console.log("数据传输失败");
+        return;
+      }
+      const that = this;
       if (val == "定位") {
-        this.$store.commit("MSET_BIGPOPUP", false);
+        // 活动定位
+        if (this.ourData.name == "活动") {
+          console.log(this.ourData);
+          return;
+        }
+        // 随地图移动窗口
+        this.$store.commit("MSET_BIGPOPUP", false); // 关闭全屏弹窗
         setTimeout(() => {
-          // 定制化窗体
-          let d = {
-            position: that.onceData.Cartesian3,
-            lntLat: that.onceData.position,
-            query: this.onceData,
+          //   // 定制化窗体
+          const d = {
+            position: {},
+            lntLat: that.ourData.lntLat,
+            query: { ...this.ourData, seebut: this.seebut },
+            useJWD: true, // 仅使用经纬度
+            from: "PopupOurOnce",
           };
-          that.popupsDom = that.$store.dispatch("setMobileWindows", d);
+         that.$store.dispatch("setMobileWindows", d);
         }, 500);
+        // 固定窗口
+        // that.$store.dispatch("SET_OPENWIDOWFIXED", d);
+      } else if (val == "实景") {
+        this.$store.commit("MSET_OPENMOBILEPANORAMA", this.ourData.panoramaurl);
+        // if(this.ourData.panoramaurl){
+        // }
+        // console.log(this.ourData.panoramaurl);
+      } else if (val == "图集") {
+        const imgsDom = document.getElementById(
+          "mobileBigImgs" + this.icon + ""
+        );
+        imgsDom.click();
       }
     },
+    // "校区建筑"↓
+    getOnceCampus(id) {
+      getChildNavDetail({ id: id }).then((res) => {
+        var result = res.data.data[0].list;
+        const d = {
+          name: result.mechanismname,
+          lntLat: [result.jd, result.wd],
+          alt: result.gd,
+          heading: result.heading,
+          pitch: result.pitch,
+          roll: result.roll,
+          bgImg: result.tpurl,
+          QRImg: result.codeurl,
+          websiteUrl: result.websiteurl,
+          telePhone: result.telephone,
+          address: result.address,
+          introduce: result.introduce,
+          video: result.videourl,
+          panoramaurl: result.panoramaurl, // 全景
+        };
+        this.ourData = d;
+      });
+    },
+    // "校区建筑"↑
   },
 };
 </script>
@@ -87,8 +178,9 @@
   justify-content: center !important;
 }
 .mobilePopupOurOnce {
-  padding: 0 0;
+  padding: 8px 0 0 0;
   margin: 0 8px;
+  // background-image: linear-gradient(#29baf1, #28bbf0);
   .mobilePopupOurOnce_center {
     // margin-bottom: 8px;
     height: 80px;
@@ -99,6 +191,10 @@
       width: 32%;
       height: 100%;
       @extend .flexCenter;
+      img {
+        width: 80px;
+        height: 80px;
+      }
     }
     .mobilePopupOurOnce_right {
       width: 68%;
@@ -112,6 +208,7 @@
         text-indent: 1em;
         display: flex !important;
         align-items: center !important;
+        // color: #fff;
       }
       .mobilePopupOurOnce_r_down {
         height: 50%;
@@ -120,10 +217,11 @@
         display: flex !important;
         align-items: center !important;
         .mobilePopupOurOnce_r_d_in {
+          // color: #fff;
           font-size: 17px;
         }
       }
     }
   }
 }
-</style>
\ No newline at end of file
+</style>

--
Gitblit v1.9.3