<template>
|
<public-box class="public-org-nav-bar">
|
<template slot="public-box-header">
|
<div class="title">
|
<img class="icon deblurring" src="/img/icon/jg.png" alt />
|
<span>{{ orgNavBarTitle }}</span>
|
</div>
|
<img class="close deblurring" src="/img/navicon/close.png" alt @click="closeModel" />
|
</template>
|
<template slot="public-box-content">
|
<ul>
|
<li v-for="(item, index) in orgNavBarList" :key="index" @click="mapPopup(item)">
|
<img :src="item.icon" alt />
|
<span>{{ item.navTitle }}</span>
|
</li>
|
</ul>
|
</template>
|
</public-box>
|
</template>
|
|
<script>
|
import { mapGetters } from 'vuex'
|
|
export default {
|
name: 'OrgNavBar',
|
data () {
|
return {
|
}
|
},
|
created () {
|
},
|
computed: {
|
...mapGetters([
|
'popupBgUrl',
|
'pupupQRUrl',
|
// 点信息
|
'pointPosition',
|
// 点名称
|
'stateName',
|
// 地址
|
'siteName',
|
// 介绍
|
'introduceText',
|
// 全景地址
|
'panoramaUrl',
|
'orgNavBarList',
|
'orgNavBarTitle'
|
])
|
},
|
methods: {
|
mapPopup (item) {
|
this.$store.commit('CLEAR_ALL', null)
|
|
var imgArr = item.bgImg.split(',')
|
this.$store.commit('SET_POPUPBGURL', imgArr[0])
|
this.$store.commit('SET_POPUPQRURL', item.QRImg)
|
|
this.$store.commit('SET_POINTPOSITION', [
|
Number(item.longitude),
|
Number(item.latitude),
|
Number(item.alt),
|
Number(item.heading),
|
Number(item.pitch),
|
Number(item.roll)
|
])
|
this.$store.commit('SET_STATENAME', item.navTitle)
|
this.$store.commit('SET_SITENAME', item.address)
|
this.$store.commit('SET_TELEPHONE', item.telephone)
|
this.$store.commit('SET_INTRODUCETEXT', item.introduce)
|
this.$store.commit('SET_POPUPIMGATLAS', imgArr)
|
if (item.videourl && item.videourl != '') {
|
this.$store.commit('SET_MONITORURL', item.videourl)
|
}
|
|
this.newPopup(item)
|
global.viewer.flyToPosition(
|
new global.DC.Position(
|
Number(item.longitude),
|
Number(item.latitude),
|
300,
|
Number(item.heading),
|
Number(item.pitch),
|
Number(item.roll)
|
),
|
function () { },
|
3
|
)
|
},
|
|
newPopup (item) {
|
const position = global.DC.Transform.transformWGS84ToCartesian(
|
new global.DC.Position(
|
Number(item.longitude),
|
Number(item.latitude),
|
Number(item.alt)
|
)
|
)
|
// eslint-disable-next-line no-unused-vars
|
var popup = new global.DC.DivForms(global.viewer, {
|
domId: 'divFormsDomBox',
|
position: [position]
|
})
|
|
this.$store.commit('SET_PANORAMAPOPUP', false)
|
this.$store.commit('SET_MONITORPOPUP', false)
|
this.$store.commit('SET_DETAILSPOPUP', true)
|
},
|
|
closeModel () {
|
var path = this.$route.path
|
if (path.indexOf('/orgnav') != -1) {
|
this.$store.dispatch('delVisitedViews', this.$route)
|
this.$router.push('/pcLayout/default')
|
}
|
|
this.$store.commit('SET_ORGNAVBARTITLE', '')
|
this.$store.commit('SET_ORGNAVBARFLAG', false)
|
this.$store.commit('SET_ORGNAVBARLIST', [])
|
|
this.$store.commit('SET_DETAILSPOPUP', false)
|
this.$store.commit('SET_PANORAMAPOPUP', false)
|
this.$store.commit('SET_MONITORPOPUP', false)
|
}
|
}
|
}
|
</script>
|
|
<style scoped lang="scss"></style>
|