<template>
|
<public-box class="public-org-nav-bar">
|
<template slot="public-box-header">
|
<div class="title">
|
<img class="icon deblurring" :src="publicPath + 'img/icon/jg.png'" alt />
|
<span>{{ orgNavBarTitle }}</span>
|
</div>
|
<img class="close deblurring" :src="publicPath + '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 {
|
publicPath: process.env.BASE_URL,
|
map2D: this.$store.state.openlayerData.openlayers.map2D,
|
}
|
},
|
created () {
|
},
|
computed: {
|
...mapGetters([
|
'popupBgUrl',
|
'pupupQRUrl',
|
// 点信息
|
'pointPosition',
|
// 点名称
|
'stateName',
|
// 地址
|
'siteName',
|
// 介绍
|
'introduceText',
|
// 全景地址
|
'panoramaUrl',
|
'orgNavBarList',
|
'orgNavBarTitle',
|
'twoOrThree'
|
])
|
},
|
methods: {
|
coordinate (item) {
|
const arr = item.split(',')
|
|
return {
|
lng: arr[0],
|
lat: arr[1]
|
}
|
},
|
|
mapPopup (item) {
|
let obj = {}
|
|
if (item.x && item.x != '') {
|
const position = this.coordinate(item.x)
|
obj = {
|
lng: position.lng, lat: position.lat
|
}
|
} else {
|
obj = {
|
lng: item.longitude, lat: item.latitude
|
}
|
}
|
|
this.map2D.getView().setCenter([Number(obj.lng), Number(obj.lat)])
|
|
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, obj)
|
|
if (this.twoOrThree == '三 维') {
|
this.$store.commit('SET_POINTPOSITION', [
|
Number(obj.lng),
|
Number(obj.lat),
|
Number(item.alt),
|
Number(item.heading),
|
Number(item.pitch),
|
Number(item.roll)
|
])
|
} else {
|
this.$store.commit('SET_POINTPOSITION', [
|
Number(item.longitude),
|
Number(item.latitude),
|
Number(50),
|
Number(item.heading),
|
Number(item.pitch),
|
Number(item.roll)
|
])
|
}
|
},
|
|
newPopup (item, obj) {
|
let position
|
if (this.twoOrThree == '三 维') {
|
this.$EventBus.$emit('openInfoWindowHtml', {
|
lng: Number(obj.lng),
|
lat: Number(obj.lat)
|
})
|
} else {
|
this.$EventBus.$emit('openInfoWindowHtml', {
|
lng: Number(item.jd),
|
lat: Number(item.wd)
|
})
|
}
|
|
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>
|