From bf5ba56e8a82f0ef699f2eae413d0dc2c4e4f67d Mon Sep 17 00:00:00 2001
From: jxdnsong <592566207@qq.com>
Date: Tue, 25 Oct 2022 16:15:00 +0800
Subject: [PATCH] Merge branch 'master' of http://192.168.0.105:10010/r/sd-jg-school-web into master
---
src/components/mobileWindow/index.vue | 377 +++++++++++++++++++++++++++++++++--------------------
1 files changed, 231 insertions(+), 146 deletions(-)
diff --git a/src/components/mobileWindow/index.vue b/src/components/mobileWindow/index.vue
index db607ae..e0367c0 100644
--- a/src/components/mobileWindow/index.vue
+++ b/src/components/mobileWindow/index.vue
@@ -6,17 +6,17 @@
<span class="mobile_audio" @click="openAudio" v-show="introduce && !video">
<!-- <i class="el-icon-video-play icon" v-show="!audioState"></i>
<i class="el-icon-video-pause icon" v-show="audioState"></i>-->
- <img src="/zhjg/img/icon/start-video.png" class="icon" alt v-show="!audioState" />
- <img src="/zhjg/img/icon/close-video.png" class="icon" alt v-show="audioState" />
+ <img src="/zhjg/img/icon/start-video.png" class="icon" alt v-show="audioState" />
+ <img src="/zhjg/img/icon/close-video.png" class="icon" alt v-show="!audioState" />
<!-- <div id="bdtts_div_id">
- <audio id="tts_autio_id" autoplay="autoplay">
- <source
- id="tts_source_id"
- src="https://tts.baidu.com/text2audio?lan=zh&ie=UTF-8&spd=5&per=1&text=请输入文字"
- type="audio/mpeg"
- />
- <embed id="tts_embed_id" height="0" width="0" src="" />
- </audio>
+ <audio id="tts_autio_id" autoplay="autoplay">
+ <source
+ id="tts_source_id"
+ src="https://tts.baidu.com/text2audio?lan=zh&ie=UTF-8&spd=5&per=1&text=请输入文字"
+ type="audio/mpeg"
+ />
+ <embed id="tts_embed_id" height="0" width="0" src="" />
+ </audio>
</div>-->
</span>
</div>
@@ -83,55 +83,59 @@
</template>
<script>
-import { mapGetters } from "vuex"
+import {
+ Message
+} from 'element-ui'
+
+import { mapGetters } from 'vuex'
+
export default {
- name: "mobileWindow",
+ name: 'mobileWindow',
computed: {
...mapGetters([
- "MobileWindowsHide",
- "query",
- "MobileWindowChangeData",
- "audioState",
+ 'MobileWindowsHide',
+ 'query',
+ 'MobileWindowChangeData',
+ 'audioState'
// "areaLayerSelect",
- ]),
+ ])
},
watch: {
MobileWindowChangeData () {
- this.$store.dispatch("MSET_GETAUDIOBEGIN", "notOpen")
+ this.$store.dispatch('MSET_GETAUDIOBEGIN', 'notOpen')
this.quzheD = false
- //数据更改
+ // 数据更改
// this.fullscreenLoading = true;
if (!this.MobileWindowsHide) {
- this.video = "" //清除视频
- this.seebut = [] //清除按钮
- let queryData = this.query.query
- // console.log(queryData, 789);
+ this.video = '' // 清除视频
+ this.seebut = [] // 清除按钮
+ const queryData = this.query.query
this.title = queryData.name
- //判断是否显示操作按钮
+ // 判断是否显示操作按钮
if (queryData.seebut) {
this.seebut = queryData.seebut
- if (queryData.from == "活动") {
+ if (queryData.from == '活动') {
this.seebut = []
this.seebut.push({
- name: "图集",
+ name: '图集'
})
this.seebut.push({
- name: "显示活动",
+ name: '显示活动'
})
- if (queryData.notAddGoOn == "notAddGoOn") {
+ if (queryData.notAddGoOn == 'notAddGoOn') {
this.seebut.push({
- name: "去这",
+ name: '去这'
})
}
}
- for (let k in this.seebut) {
- if (this.seebut[k].name == "定位") {
+ for (const k in this.seebut) {
+ if (this.seebut[k].name == '定位') {
this.seebut.splice(k, k + 1)
}
}
- if (queryData.notAddGoOn != "notAddGoOn") {
+ if (queryData.notAddGoOn != 'notAddGoOn') {
this.seebut.push({
- name: "去这",
+ name: '去这'
})
}
} else {
@@ -140,227 +144,308 @@
// name: "实景",
// },
{
- name: "图集",
+ name: '图集'
},
{
- name: "去这",
- },
+ name: '去这'
+ }
]
}
- //图集
+ // 图集
if (queryData.bgImg) {
- this.srcList = queryData.bgImg.split(",")
+ this.srcList = queryData.bgImg.split(',')
this.url = this.srcList[0]
} else {
this.seebut = this.seebut.filter((res) => {
- return res.name != "图集"
+ return res.name != '图集'
})
}
- //视频
+ // 视频
if (queryData.video) {
- if (queryData.from == "labels") {
+ if (queryData.from == 'labels') {
this.seebut = []
this.video = queryData.video
} else {
- this.seebut.push({ name: "视频" })
+ this.seebut.push({ name: '视频' })
}
}
- //全景
+ // 全景
if (queryData.panoramaurl) {
this.panoramaurl = queryData.panoramaurl
this.seebut = this.seebut.filter((res) => {
- return res.name != "实景"
+ return res.name != '实景'
})
- this.seebut.splice(0, 0, { name: "实景" })
+ this.seebut.splice(0, 0, { name: '实景' })
} else {
- this.panoramaurl = ""
+ this.panoramaurl = ''
this.seebut = this.seebut.filter((res) => {
- return res.name != "实景"
+ return res.name != '实景'
})
}
- //中心内容
+ // 中心内容
this.center = []
- for (let k in queryData) {
- for (let n in this.getCenter) {
+ for (const k in queryData) {
+ for (const n in this.getCenter) {
if (
k == this.getCenter[n].name &&
queryData[k] &&
- queryData.from != "活动" &&
- this.getCenter[n].value == "地址"
+ queryData.from != '活动' &&
+ this.getCenter[n].value == '地址'
) {
this.center.push({
name: this.getCenter[n].value,
- value: queryData[k] ? queryData[k] : "暂无",
+ value: queryData[k] ? queryData[k] : '暂无'
})
}
- if (k == "introduce") {
+ if (k == 'introduce') {
this.introduce = queryData[k]
if (this.introduce) {
setTimeout(() => {
- let Str = document.querySelector(
- ".mobileBig-center-introduce"
+ const Str = document.querySelector(
+ '.mobileBig-center-introduce'
).innerText
- this.$store.dispatch("MSET_GETAUDIO", Str) //加入语音
+ this.$store.dispatch('MSET_GETAUDIO', Str) // 加入语音
}, 20)
}
}
}
}
}
- },
+ }
},
data () {
return {
+ // 导航是否开起
+ navigationFlag: false,
+
getCenter: [
{
- name: "websiteUrl",
- value: "网址",
+ name: 'websiteUrl',
+ value: '网址'
},
{
- name: "telePhone",
- value: "电话",
+ name: 'telePhone',
+ value: '电话'
},
{
- name: "address",
- value: "地址",
- },
+ name: 'address',
+ value: '地址'
+ }
// {
// name: "introduce",
// value: "详情",
// },
],
- introduce: "暂无详情数据",
- title: "",
+ introduce: '暂无详情数据',
+ title: '',
fullscreenLoading: false,
- url: "",
- video: "",
- positions: "",
+ url: '',
+ video: '',
+ positions: '',
srcList: [],
seebut: [],
center: [],
- panoramaurl: "",
- quzheD: false, //是否点击了去这,并不能再按,以及不应用路线导航
+ panoramaurl: '',
+ quzheD: false // 是否点击了去这,并不能再按,以及不应用路线导航
}
},
+
+ mounted () {
+ this.$EventBus.$on('clearTimoutTime', () => {
+ if (this.navigationFlag == true) {
+ window.geolocation.clearWatch()
+
+ this.$store.dispatch('removeLabelLayerIconMobelUse')
+ }
+ })
+ },
+
methods: {
- //按钮点击事件
+ // 按钮点击事件
openOnce (val) {
- let that = this
+ const that = this
+ const query = this.query.query
that.routerS = []
- let once = true
- let query = this.query.query
- // console.log(query);
- if (val == "去这") {
+
+ if (val == '去这') {
if (that.quzheD) {
- console.log("不可点击")
+ console.log('不可点击')
return
}
+
+ that.navigationFlag = false
that.quzheD = true
+ that.$EventBus.$emit('clearTimoutTime')
// return;
- //定位
+ // 定位
// console.log(this.query.query);
// that.$store.commit("set_endPosition", this.query.query.lntLat);
- let doit = (now) => {
- if (now[0] == "失败") {
- that.quzheD = false
- return
- }
- let ints = {
- start: [+now[0], +now[1]],
- end: [+query.lntLat[0], +query.lntLat[1], 360],
- // start: [+query.lntLat[0], +query.lntLat[1], 360],
- // end: [114.031946, 27.621475],
- type: "driving",
- fn: function (datas) {
- //获取回调路径
- that.routerS.push(datas)
- that.quzheD = false
- if (once) {
- once = false
- //加载第一条线路
- that.$store.commit("set_choiceRouterS", 0)
- that.$store.dispatch("MSET_DRAWALINELAYER", [datas.Str, query])
- that.$store.commit("cameraSetView", ints.start)
- }
- },
- }
- that.$store.dispatch("MSET_GOTOWHERE", ints)
- }
- that.$store.commit("GET_NOWPOSITION", (res) => {
- console.log(res)
- doit(res)
- })
- } else if (val == "实景") {
- console.log(this.panoramaurl, query)
- this.$store.commit("MSET_OPENMOBILEPANORAMA", this.panoramaurl)
+ that.getCurrentLocation()
+ } else if (val == '实景') {
+ this.$store.commit('MSET_OPENMOBILEPANORAMA', this.panoramaurl)
return
this.$store.commit(
- "MSET_OPENMOBILEPANORAMA",
- "https://www.kuleiman.com/110487/index.html?m=1"
+ 'MSET_OPENMOBILEPANORAMA',
+ 'https://www.kuleiman.com/110487/index.html?m=1'
)
- } else if (val == "图集") {
- let imgsDom = document.getElementById("mobileBigImgs")
+ } else if (val == '图集') {
+ const imgsDom = document.getElementById('mobileBigImgs')
if (imgsDom) {
imgsDom.click()
}
- } else if (val == "视频") {
- this.seebut[this.seebut.length - 1].name = "返回"
+ } else if (val == '视频') {
+ this.seebut[this.seebut.length - 1].name = '返回'
this.video = this.query.query.video
- } else if (val == "返回") {
- this.seebut[this.seebut.length - 1].name = "视频"
- this.video = ""
- } else if (val == "显示活动") {
- let addressOur = this.changeData(query, "addressname", "address")
- let lxOur = this.changeData(query, "lxname", "lx")
- console.log(addressOur, lxOur)
- that.$store.dispatch("MSET_DRAWALINELAYERMANY", [
+ } else if (val == '返回') {
+ this.seebut[this.seebut.length - 1].name = '视频'
+ this.video = ''
+ } else if (val == '显示活动') {
+ const addressOur = this.changeData(query, 'addressname', 'address')
+ const lxOur = this.changeData(query, 'lxname', 'lx')
+ that.$store.dispatch('MSET_DRAWALINELAYERMANY', [
lxOur,
addressOur,
- query,
+ query
])
}
},
- //修改数据
+ // 修改数据
changeData (data, name, value) {
- let arr = []
- for (let k in data[name]) {
+ const arr = []
+ for (const k in data[name]) {
arr.push({
name: data[name][k],
value:
- name == "lxname"
+ name == 'lxname'
? data[value][k]
- .split("(")[1]
- .split(")")[0]
- .split(",")
- .join(";")
- .split(" ")
- .join(",")
- : [+data[value][k].split(",")[0], +data[value][k].split(",")[1]],
+ .split('(')[1]
+ .split(')')[0]
+ .split(',')
+ .join(';')
+ .split(' ')
+ .join(',')
+ : [+data[value][k].split(',')[0], +data[value][k].split(',')[1]]
})
}
return arr
},
closeWindow () {
if (!this.MobileWindowsHide) {
- let that = this
- this.$store.dispatch("closeMobileWindowsDom") //关闭随地图弹窗
+ const that = this
+ this.$store.dispatch('closeMobileWindowsDom') // 关闭随地图弹窗
if (window.select.overlay != undefined) {
window.select.overlay.setStyle({
material: window.select.color,
- outline: false,
+ outline: false
})
- that.$store.commit("mset_changeSelect", [undefined, undefined])
+ that.$store.commit('mset_changeSelect', [undefined, undefined])
}
}
},
openAudio () {
if (this.introduce) {
- this.$store.dispatch("MSET_GETAUDIOBEGIN")
+ this.$store.dispatch('MSET_GETAUDIOBEGIN')
}
},
- },
-};
+
+ doit (now) {
+ console.log(now)
+ const that = this
+ const query = this.query.query
+ if (now[0] == '失败') {
+ that.quzheD = false
+ return
+ }
+
+ const ints = {
+ start: [now[0], now[1]],
+ end: [query.lntLat[0], query.lntLat[1], 360],
+ // start: [+query.lntLat[0], +query.lntLat[1], 360],
+ // end: [114.031946, 27.621475],
+ type: 'driving',
+ fn: function (datas) {
+ // 获取回调路径
+ that.routerS.push(datas)
+ that.quzheD = false
+
+ // 加载第一条线路
+ // that.$store.commit('set_choiceRouterS', 0)
+ that.$store.dispatch('MSET_DRAWALINELAYER', datas.Str)
+ // that.$store.commit('cameraSetView', ints.start)
+ }
+ }
+
+ that.$store.dispatch('MSET_GOTOWHERE', ints)
+ },
+
+ getCurrentLocation (flag = true) {
+ const that = this
+
+ window.geolocation.watchPosition(that.showPosition)
+
+ window.geolocation.getLocation(that.showPosition, that.showErrow, {
+ timeout: 8000
+ })
+ },
+
+ showPosition (result) {
+ const that = this
+
+ const position = global.DC.CoordTransform.GCJ02ToWGS84(result.lng, result.lat)
+
+ const data = {
+ name: '我的位置',
+ jd: position[0],
+ wd: position[1]
+ }
+
+ that.$store.dispatch('addLabelLayerIconMobelUse', {
+ data: data,
+ clear: true,
+ mviewer: global.viewer
+ })
+
+ if (that.navigationFlag == true) return
+
+ if (position[0] > 115.78815057 && position[0] < 115.80346610 && position[1] > 28.63771847 && position[1] < 28.64981682) {
+ that.$store.dispatch('pcMoveView', {
+ jd: position[0],
+ wd: position[1],
+ viewer: global.viewer
+ })
+
+ that.$store.dispatch('addLabelLayerIconMobelUse', {
+ data: data,
+ clear: true,
+ mviewer: global.viewer
+ })
+ that.doit([position[0], position[1]])
+
+ that.navigationFlag = true
+ } else {
+ Message({
+ message: '您当前位置超出学校范围',
+ type: 'warning',
+ duration: 2000
+ })
+
+ that.doit(['失败'])
+ that.$EventBus.$emit('clearTimoutTime')
+ }
+ },
+
+ showErrow (result) {
+ if (result.code == 1) {
+ confirm('您拒绝了定位功能')
+ } else if (result.code == 3 || result.code == 5) {
+ confirm('请求超时')
+ }
+
+ this.$EventBus.$emit('clearTimoutTime')
+ }
+ }
+}
</script>
<style lang="scss">
--
Gitblit v1.9.3