From e40ee62d3e9b71ffe3432d32a53a00c4097b5708 Mon Sep 17 00:00:00 2001
From: liuyg <376836862@qq.com>
Date: Fri, 31 Dec 2021 09:03:28 +0800
Subject: [PATCH] +3d 2.5d
---
src/components/mobilePopupOurOnce/index.vue | 94 ++++++++++++++++++++++++++++++++++++++++++----
1 files changed, 85 insertions(+), 9 deletions(-)
diff --git a/src/components/mobilePopupOurOnce/index.vue b/src/components/mobilePopupOurOnce/index.vue
index a9437b1..03671b4 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.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;
}
}
--
Gitblit v1.9.3