liuyg
2022-03-15 7366b0a279425cb6218bec8ba19774e5e8399b91
src/components/mobilePopupOurOnce/index.vue
@@ -22,7 +22,9 @@
                <div
                    class="mobilePopupOurOnce_r_up"
                    @click.self.stop="openOnce('定位')"
                >{{ onceData.name }}</div>
        >
          {{ onceData.name }}
        </div>
                <div class="mobilePopupOurOnce_r_down">
                    <div v-for="(item, index) in seebut" :key="index">
                        <el-link
@@ -37,7 +39,8 @@
              "
                            class="mobilePopupOurOnce_r_d_in"
                            @click="openOnce(item.name)"
                        >{{ item.name }}</el-link>
              >{{ item.name }}</el-link
            >
                        <el-divider
                            direction="vertical"
                            class="mobilePopupOurOnce_r_d_in"
@@ -51,69 +54,69 @@
</template>
<script>
import { mapGetters } from 'vuex'
import { getChildNavDetail } from '@/api/mobile/public/arc'
import { mapGetters } from "vuex";
import { getChildNavDetail } from "@/api/mobile/public/arc";
export default {
    props: ['onceData', 'ends'],
    name: 'mobilePopupOurOnce',
  props: ["onceData", "ends"],
  name: "mobilePopupOurOnce",
    created () {
        if (this.onceData.icon) {
            this.srcList = this.onceData.icon
            this.icon = this.srcList[0]
      this.srcList = this.onceData.icon;
      this.icon = this.srcList[0];
        }
        if (this.onceData.from == '校区建筑' || this.onceData.from == '文化风景') {
            this.getOnceCampus(this.onceData.id)
    if (this.onceData.from == "校区建筑" || this.onceData.from == "文化风景") {
      this.getOnceCampus(this.onceData.id);
        } else {
            this.ourData = this.onceData
      this.ourData = this.onceData;
        }
    },
    data () {
        return {
            icon: '',
      icon: "",
            srcList: [],
            ourData: {}
        }
      ourData: {},
    };
    },
    computed: {
        ...mapGetters(['mviewer']),
    ...mapGetters(["mviewer"]),
        seebut () {
            const buts = this.onceData.buts
            let b = []
      const buts = this.onceData.buts;
      let b = [];
            for (const k in buts) {
                if (buts[k] == '实景') {
                    continue
        if (buts[k] == "实景") {
          continue;
                }
                b.push({
                    name: buts[k]
                })
          name: buts[k],
        });
            }
            if (this.ourData.panoramaurl) {
                b.push({
                    name: '实景'
                })
          name: "实景",
        });
            } else {
                b = b.filter((res) => {
                    return res.name != '实景'
                })
          return res.name != "实景";
        });
            }
            return b
        }
      return b;
    },
    },
    methods: {
        openOnce (val) {
            if (!this.ourData.name) {
                console.log('数据传输失败')
                return
        console.log("数据传输失败");
        return;
            }
            const that = this
            if (val == '定位') {
      const that = this;
      if (val == "定位") {
                // 活动定位
                if (this.ourData.name == '活动') {
                    console.log(this.ourData)
                    return
        if (this.ourData.name == "活动") {
          console.log(this.ourData);
          return;
                }
                // 随地图移动窗口
                this.$store.commit('MSET_BIGPOPUP', false) // 关闭全屏弹窗
        this.$store.commit("MSET_BIGPOPUP", false); // 关闭全屏弹窗
                setTimeout(() => {
                    //   // 定制化窗体
                    const d = {
@@ -121,26 +124,28 @@
                        lntLat: that.ourData.lntLat,
                        query: { ...this.ourData, seebut: this.seebut },
                        useJWD: true, // 仅使用经纬度
                        from: 'PopupOurOnce'
                    }
                    that.popupsDom = that.$store.dispatch('setMobileWindows', d)
                }, 500)
            from: "PopupOurOnce",
          };
          window.popupsDom = that.$store.dispatch("setMobileWindows", d);
        }, 500);
                // 固定窗口
                // that.$store.dispatch("SET_OPENWIDOWFIXED", d);
            } else if (val == '实景') {
                this.$store.commit('MSET_OPENMOBILEPANORAMA', this.ourData.panoramaurl)
      } 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()
      } 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
        var result = res.data.data[0].list;
                const d = {
                    name: result.mechanismname,
                    lntLat: [result.jd, result.wd],
@@ -155,14 +160,14 @@
                    address: result.address,
                    introduce: result.introduce,
                    video: result.videourl,
                    panoramaurl: result.panoramaurl // 全景
                }
                this.ourData = d
            })
        }
          panoramaurl: result.panoramaurl, // 全景
        };
        this.ourData = d;
      });
    },
        // "校区建筑"↑
    }
}
  },
};
</script>
<style lang="scss" scoped>