| | |
| | | <template> |
| | | <div class="mobilePopupOurOnce"> |
| | | <div |
| | | class="mobilePopupOurOnce_center" |
| | | :style="{ |
| | | <!-- 信息窗口每条信息dom mobilePopupOurOnce --> |
| | | <div class="mobilePopupOurOnce"> |
| | | <div |
| | | class="mobilePopupOurOnce_center" |
| | | :style="{ |
| | | borderBottom: !ends ? '#d4d4d4 dashed 1px' : '', |
| | | marginBottom: !ends ? '6px' : '', |
| | | }" |
| | | > |
| | | <div class="mobilePopupOurOnce_left"> |
| | | <!-- <img :src="icon" alt="" :key="icon" /> --> |
| | | <el-image |
| | | style="width: 80px; height: 80px" |
| | | :src="icon" |
| | | :id="'mobileBigImgs' + icon + ''" |
| | | :preview-src-list="srcList" |
| | | > |
| | | <div class="mobilePopupOurOnce_left"> |
| | | <!-- <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" @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=" |
| | | <!-- v-show="false" --> |
| | | </el-image> |
| | | </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=" |
| | | item.name == '实景' |
| | | ? 'el-icon-place' |
| | | : item.name == '图集' |
| | |
| | | ? 'el-icon-map-location' |
| | | : '' |
| | | " |
| | | class="mobilePopupOurOnce_r_d_in" |
| | | @click="openOnce(item.name)" |
| | | >{{ item.name }}</el-link> |
| | | <el-divider |
| | | direction="vertical" |
| | | class="mobilePopupOurOnce_r_d_in" |
| | | v-if="index != seebut.length - 1" |
| | | ></el-divider> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | class="mobilePopupOurOnce_r_d_in" |
| | | @click="openOnce(item.name)" |
| | | >{{ item.name }}</el-link |
| | | > |
| | | <el-divider |
| | | direction="vertical" |
| | | class="mobilePopupOurOnce_r_d_in" |
| | | v-if="index != seebut.length - 1" |
| | | ></el-divider> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | </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', |
| | | 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 () { |
| | | const buts = this.onceData.buts |
| | | let b = [] |
| | | 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 |
| | | } |
| | | }, |
| | | methods: { |
| | | openOnce (val) { |
| | | console.log(this.ourData) |
| | | 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) { |
| | | console.log(id) |
| | | getChildNavDetail({ id: id }).then((res) => { |
| | | console.log(res, 5656) |
| | | 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 |
| | | }) |
| | | } |
| | | // "校区建筑"↑ |
| | | 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() { |
| | | const buts = this.onceData.buts; |
| | | let b = []; |
| | | 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; |
| | | }, |
| | | }, |
| | | methods: { |
| | | openOnce(val) { |
| | | console.log(this.ourData); |
| | | 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) { |
| | | console.log(id); |
| | | getChildNavDetail({ id: id }).then((res) => { |
| | | console.log(res, 5656); |
| | | 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> |
| | | |
| | | <style lang="scss" scoped> |
| | | // 继承类 |
| | | .flexCenter { |
| | | display: flex !important; |
| | | align-items: center !important; |
| | | justify-content: center !important; |
| | | display: flex !important; |
| | | align-items: center !important; |
| | | justify-content: center !important; |
| | | } |
| | | .mobilePopupOurOnce { |
| | | padding: 8px 0 0 0; |
| | | margin: 0 8px; |
| | | // background-image: linear-gradient(#29baf1, #28bbf0); |
| | | .mobilePopupOurOnce_center { |
| | | // margin-bottom: 8px; |
| | | padding: 8px 0 0 0; |
| | | margin: 0 8px; |
| | | // background-image: linear-gradient(#29baf1, #28bbf0); |
| | | .mobilePopupOurOnce_center { |
| | | // margin-bottom: 8px; |
| | | height: 80px; |
| | | // border-bottom: #d4d4d4 dashed 1px; |
| | | padding-bottom: 8px; |
| | | @extend .flexCenter; |
| | | .mobilePopupOurOnce_left { |
| | | width: 32%; |
| | | height: 100%; |
| | | @extend .flexCenter; |
| | | img { |
| | | width: 80px; |
| | | height: 80px; |
| | | // 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%; |
| | | height: 100%; |
| | | @extend .flexCenter; |
| | | flex-direction: column; |
| | | .mobilePopupOurOnce_r_up { |
| | | height: 50%; |
| | | width: 100%; |
| | | font-size: 16px; |
| | | text-indent: 1em; |
| | | display: flex !important; |
| | | align-items: center !important; |
| | | // color: #fff; |
| | | } |
| | | .mobilePopupOurOnce_r_down { |
| | | height: 50%; |
| | | width: 100%; |
| | | padding-left: 1em; |
| | | display: flex !important; |
| | | align-items: center !important; |
| | | .mobilePopupOurOnce_r_d_in { |
| | | // color: #fff; |
| | | font-size: 17px; |
| | | } |
| | | } |
| | | } |
| | | } |
| | | } |
| | | .mobilePopupOurOnce_right { |
| | | width: 68%; |
| | | height: 100%; |
| | | @extend .flexCenter; |
| | | flex-direction: column; |
| | | .mobilePopupOurOnce_r_up { |
| | | height: 50%; |
| | | width: 100%; |
| | | font-size: 16px; |
| | | text-indent: 1em; |
| | | display: flex !important; |
| | | align-items: center !important; |
| | | // color: #fff; |
| | | } |
| | | .mobilePopupOurOnce_r_down { |
| | | height: 50%; |
| | | width: 100%; |
| | | padding-left: 1em; |
| | | display: flex !important; |
| | | align-items: center !important; |
| | | .mobilePopupOurOnce_r_d_in { |
| | | // color: #fff; |
| | | font-size: 17px; |
| | | } |
| | | } |
| | | } |
| | | } |
| | | } |
| | | </style> |