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 | 161 ++++++++++++++++++++++++++++++++++++++++++++++-------
1 files changed, 138 insertions(+), 23 deletions(-)
diff --git a/src/components/mobilePopupOurOnce/index.vue b/src/components/mobilePopupOurOnce/index.vue
index 7967a8f..f12dcc0 100644
--- a/src/components/mobilePopupOurOnce/index.vue
+++ b/src/components/mobilePopupOurOnce/index.vue
@@ -1,15 +1,42 @@
<template>
<div class="mobilePopupOurOnce">
- <div class="mobilePopupOurOnce_center">
+ <div
+ class="mobilePopupOurOnce_center"
+ :style="{
+ borderBottom: !ends ? '#d4d4d4 dashed 1px' : '',
+ marginBottom: !ends ? '6px' : '',
+ }"
+ >
<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
@@ -28,17 +55,48 @@
<script>
import { mapGetters } from "vuex";
+import { getChildNavDetail } from "@/api/mobile/public/arc";
export default {
- props: ["onceData"],
+ props: ["onceData", "ends"],
name: "mobilePopupOurOnce",
+ created() {
+ 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 {
+ 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;
@@ -46,18 +104,68 @@
},
methods: {
openOnce(val) {
- console.log(val, this.onceData.name);
- // 定位
- // this.mviewer.zoomToPosition(
- // new DC.Position(
- // e.wgs84Position.lng,
- // e.wgs84Position.lat - 0.016,
- // 1530,
- // 0,
- // -45
- // )
- // );
+ if (!this.ourData.name) {
+ console.log("数据传输失败");
+ return;
+ }
+ const that = this;
+ if (val == "定位") {
+ // 活动定位
+ if (this.ourData.name == "活动") {
+ console.log(this.ourData);
+ return;
+ }
+ // 随地图移动窗口
+ this.$store.commit("MSET_BIGPOPUP", false); // 关闭全屏弹窗
+ setTimeout(() => {
+ // // 定制化窗体
+ const d = {
+ position: {},
+ lntLat: that.ourData.lntLat,
+ query: { ...this.ourData, seebut: this.seebut },
+ useJWD: true, // 仅使用经纬度
+ from: "PopupOurOnce",
+ };
+ 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>
@@ -70,18 +178,23 @@
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;
+ // margin-bottom: 8px;
height: 80px;
- border-bottom: #d4d4d4 dashed 1px;
+ // border-bottom: #d4d4d4 dashed 1px;
padding-bottom: 8px;
@extend .flexCenter;
.mobilePopupOurOnce_left {
width: 32%;
height: 100%;
@extend .flexCenter;
+ img {
+ width: 80px;
+ height: 80px;
+ }
}
.mobilePopupOurOnce_right {
width: 68%;
@@ -95,6 +208,7 @@
text-indent: 1em;
display: flex !important;
align-items: center !important;
+ // color: #fff;
}
.mobilePopupOurOnce_r_down {
height: 50%;
@@ -103,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