From 81773ab04fd259e893c2d7f08dbdc9be772d01c4 Mon Sep 17 00:00:00 2001
From: liuyg <376836862@qq.com>
Date: Tue, 21 Dec 2021 17:18:45 +0800
Subject: [PATCH] +,请求数据,弹框显示,优化代码长度
---
src/components/mobilePopupOurOnce/index.vue | 85 ++++++++++++++++++++++++++++++++++++++----
1 files changed, 77 insertions(+), 8 deletions(-)
diff --git a/src/components/mobilePopupOurOnce/index.vue b/src/components/mobilePopupOurOnce/index.vue
index a9437b1..bb20d60 100644
--- a/src/components/mobilePopupOurOnce/index.vue
+++ b/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.getOnceCampus(this.onceData.id);
+ } else {
+ this.ourData = this.onceData;
+ }
},
data() {
return {
DC: "",
+ icon: "",
+ srcList: [],
+ ourData: {},
};
},
computed: {
@@ -60,21 +89,57 @@
},
methods: {
openOnce(val) {
+ if (!this.ourData.name) {
+ console.log("数据传输失败");
+ return;
+ }
let that = this;
- console.log(val, this.onceData);
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, //仅使用经纬度
};
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,
+ };
+ this.ourData = d;
+ });
+ },
+ //"校园建筑"↑
},
};
</script>
@@ -99,6 +164,10 @@
width: 32%;
height: 100%;
@extend .flexCenter;
+ img {
+ width: 100px;
+ height: 80px;
+ }
}
.mobilePopupOurOnce_right {
width: 68%;
--
Gitblit v1.9.3