liuyg
2021-12-31 e40ee62d3e9b71ffe3432d32a53a00c4097b5708
src/components/mobilePopupOurOnce/index.vue
@@ -8,14 +8,30 @@
      }"
    >
      <div class="mobilePopupOurOnce_left">
        <img src="img/cc/cc.png" alt="" />
        <img :src="icon" alt="" :key="icon" />
        <el-image
          style="width: 100px; height: 100px"
          :src="icon"
          :id="'mobileBigImgs' + icon + ''"
          v-show="false"
          :preview-src-list="srcList"
        >
        </el-image>
      </div>
      <div class="mobilePopupOurOnce_right">
        <div class="mobilePopupOurOnce_r_up">{{ 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,15 +50,28 @@
<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: {
@@ -60,21 +89,61 @@
  },
  methods: {
    openOnce(val) {
      if (!this.ourData.name) {
        console.log("数据传输失败");
        return;
      }
      let that = this;
      console.log(val, this.onceData);
      // console.log(that.ourData.lntLat);
      if (val == "定位") {
        this.$store.commit("MSET_BIGPOPUP", false);
        //随地图移动窗口
        this.$store.commit("MSET_BIGPOPUP", false); //关闭全屏弹窗
        setTimeout(() => {
          // 定制化窗体
          //   // 定制化窗体
          let d = {
            position: that.onceData.Cartesian3,
            lntLat: that.onceData.position,
            query: this.onceData,
            position: {},
            lntLat: that.ourData.lntLat,
            query: { ...this.ourData, seebut: this.seebut },
            useJWD: true, //仅使用经纬度
            from: "PopupOurOnce",
          };
          that.popupsDom = that.$store.dispatch("setMobileWindows", d);
        }, 500);
        //固定窗口
        // that.$store.dispatch("SET_OPENWIDOWFIXED", d);
      } else if (val == "实景") {
        this.$store.commit(
          "MSET_OPENMOBILEPANORAMA",
          "https://www.kuleiman.com/110487/index.html?m=1"
        );
      } else if (val == "图集") {
        let imgsDom = document.getElementById("mobileBigImgs" + this.icon + "");
        imgsDom.click();
      }
    },
    //"校园建筑"↓
    getOnceCampus(id) {
      getChildNavDetail({ id: id }).then((res) => {
        var result = res.data.data[0].list;
        let 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,
        };
        this.ourData = d;
      });
    },
    //"校园建筑"↑
  },
};
</script>
@@ -87,8 +156,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 +169,10 @@
      width: 32%;
      height: 100%;
      @extend .flexCenter;
      img {
        width: 80px;
        height: 80px;
      }
    }
    .mobilePopupOurOnce_right {
      width: 68%;
@@ -112,6 +186,7 @@
        text-indent: 1em;
        display: flex !important;
        align-items: center !important;
        // color: #fff;
      }
      .mobilePopupOurOnce_r_down {
        height: 50%;
@@ -120,6 +195,7 @@
        display: flex !important;
        align-items: center !important;
        .mobilePopupOurOnce_r_d_in {
          // color: #fff;
          font-size: 17px;
        }
      }