<template>
|
<!-- 浮动弹窗 mobileWindow-->
|
<div
|
ref="mobile-mapContentContent"
|
v-show="!MobileWindowsHide"
|
id="mobile-map_content_content"
|
>
|
<div class="mobiletitle">
|
{{ title }}
|
<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="/img/icon/start-video.png"
|
class="icon"
|
alt=""
|
v-show="!audioState"
|
/>
|
<img
|
src="/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="http://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>
|
<div class="mobilelabel-content">
|
<div class="mobile-popup-imgs-heard">
|
<div class="mobile-popup-imgs-h-close">
|
<i class="el-icon-close icon" @click="closeWindow"></i>
|
</div>
|
<!-- <video :src="video" controls="controls" autoplay v-if="video"></video> -->
|
<playVideo
|
:src="video"
|
controls="controls"
|
autoplay
|
v-if="video"
|
></playVideo>
|
<!-- <img :src="url" alt="" v-show="url && !video" /> -->
|
<!-- style="width: 100px; height: 100px" -->
|
<el-image
|
class="imgs"
|
:src="url"
|
id="mobileBigImgs"
|
v-show="url && !video"
|
:preview-src-list="srcList"
|
>
|
<!-- v-show="false" -->
|
</el-image>
|
<!-- <div>{{ query.query }}</div> -->
|
<div class="mobileBig-center-our" v-show="!video">
|
<div
|
v-for="(item, index) in center"
|
:key="index"
|
class="mobileBig-center"
|
>
|
<div class="m-c-title">{{ item.name }}:</div>
|
<span class="m-c-center">{{ item.value }}</span>
|
</div>
|
<div
|
class="mobileBig-center-introduce"
|
style="padding-top: 10px"
|
v-show="introduce"
|
v-html="introduce"
|
></div>
|
</div>
|
</div>
|
<div class="mobile-popup-control">
|
<div v-for="(item, index) in seebut" :key="index">
|
<el-link
|
:icon="
|
item.name == '实景'
|
? 'el-icon-place'
|
: item.name == '图集'
|
? 'el-icon-data-board'
|
: item.name == '去这'
|
? quzheD
|
? 'el-icon-loading'
|
: 'el-icon-finished'
|
: item.name == '视频' || item.name == '返回'
|
? 'el-icon-video-camera-solid'
|
: ''
|
"
|
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>
|
</template>
|
|
<script>
|
import { mapGetters } from "vuex";
|
export default {
|
name: "mobileWindow",
|
computed: {
|
...mapGetters([
|
"MobileWindowsHide",
|
"query",
|
"MobileWindowChangeData",
|
"audioState",
|
// "areaLayerSelect",
|
]),
|
},
|
watch: {
|
MobileWindowChangeData() {
|
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.title = queryData.name;
|
//判断是否显示操作按钮
|
if (queryData.seebut) {
|
this.seebut = queryData.seebut;
|
if (queryData.from == "活动") {
|
this.seebut = [];
|
this.seebut.push({
|
name: "图集",
|
});
|
this.seebut.push({
|
name: "显示活动",
|
});
|
if (queryData.notAddGoOn == "notAddGoOn") {
|
this.seebut.push({
|
name: "去这",
|
});
|
}
|
}
|
for (let k in this.seebut) {
|
if (this.seebut[k].name == "定位") {
|
this.seebut.splice(k, k + 1);
|
}
|
}
|
if (queryData.notAddGoOn != "notAddGoOn") {
|
this.seebut.push({
|
name: "去这",
|
});
|
}
|
} else {
|
this.seebut = [
|
// {
|
// name: "实景",
|
// },
|
{
|
name: "图集",
|
},
|
{
|
name: "去这",
|
},
|
];
|
}
|
//图集
|
if (queryData.bgImg) {
|
this.srcList = queryData.bgImg.split(",");
|
this.url = this.srcList[0];
|
} else {
|
this.seebut = this.seebut.filter((res) => {
|
return res.name != "图集";
|
});
|
}
|
//视频
|
if (queryData.video) {
|
if (queryData.from == "labels") {
|
this.seebut = [];
|
this.video = queryData.video;
|
} else {
|
this.seebut.push({ name: "视频" });
|
}
|
}
|
//全景
|
if (queryData.panoramaurl) {
|
this.panoramaurl = queryData.panoramaurl;
|
this.seebut = this.seebut.filter((res) => {
|
return res.name != "实景";
|
});
|
this.seebut.splice(0, 0, { name: "实景" });
|
} else {
|
this.panoramaurl = "";
|
this.seebut = this.seebut.filter((res) => {
|
return res.name != "实景";
|
});
|
}
|
//中心内容
|
this.center = [];
|
for (let k in queryData) {
|
for (let n in this.getCenter) {
|
if (
|
k == this.getCenter[n].name &&
|
queryData[k] &&
|
queryData.from != "活动" &&
|
this.getCenter[n].value == "地址"
|
) {
|
this.center.push({
|
name: this.getCenter[n].value,
|
value: queryData[k] ? queryData[k] : "暂无",
|
});
|
}
|
if (k == "introduce") {
|
this.introduce = queryData[k];
|
if (this.introduce) {
|
setTimeout(() => {
|
let Str = document.querySelector(
|
".mobileBig-center-introduce"
|
).innerText;
|
this.$store.dispatch("MSET_GETAUDIO", Str); //加入语音
|
}, 20);
|
}
|
}
|
}
|
}
|
}
|
},
|
},
|
data() {
|
return {
|
getCenter: [
|
{
|
name: "websiteUrl",
|
value: "网址",
|
},
|
{
|
name: "telePhone",
|
value: "电话",
|
},
|
{
|
name: "address",
|
value: "地址",
|
},
|
// {
|
// name: "introduce",
|
// value: "详情",
|
// },
|
],
|
introduce: "暂无详情数据",
|
title: "",
|
fullscreenLoading: false,
|
url: "",
|
video: "",
|
positions: "",
|
srcList: [],
|
seebut: [],
|
center: [],
|
panoramaurl: "",
|
quzheD: false, //是否点击了去这,并不能再按,以及不应用路线导航
|
};
|
},
|
methods: {
|
//按钮点击事件
|
openOnce(val) {
|
let that = this;
|
that.routerS = [];
|
let once = true;
|
let query = this.query.query;
|
// console.log(query);
|
if (val == "去这") {
|
if (that.quzheD) {
|
console.log("不可点击");
|
return;
|
}
|
that.quzheD = true;
|
// 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);
|
return;
|
this.$store.commit(
|
"MSET_OPENMOBILEPANORAMA",
|
"https://www.kuleiman.com/110487/index.html?m=1"
|
);
|
} else if (val == "图集") {
|
let imgsDom = document.getElementById("mobileBigImgs");
|
if (imgsDom) {
|
imgsDom.click();
|
}
|
} 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", [
|
lxOur,
|
addressOur,
|
query,
|
]);
|
}
|
},
|
//修改数据
|
changeData(data, name, value) {
|
let arr = [];
|
for (let k in data[name]) {
|
arr.push({
|
name: data[name][k],
|
value:
|
name == "lxname"
|
? data[value][k]
|
.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"); //关闭随地图弹窗
|
if (window.select.overlay != undefined) {
|
window.select.overlay.setStyle({
|
material: window.select.color,
|
outline: false,
|
});
|
|
that.$store.commit("mset_changeSelect", [undefined, undefined]);
|
}
|
}
|
},
|
openAudio() {
|
if (this.introduce) {
|
this.$store.dispatch("MSET_GETAUDIOBEGIN");
|
}
|
},
|
},
|
};
|
</script>
|
|
<style lang="scss">
|
.mobile_audio {
|
margin-left: 3px;
|
.icon {
|
font-size: 20px;
|
width: 20px;
|
height: 20px;
|
float: right;
|
position: relative;
|
right: 8px;
|
}
|
}
|
#bdtts_div_id {
|
width: 100px;
|
height: 100px;
|
display: inline-block;
|
position: absolute;
|
top: -50px;
|
background-color: #fff;
|
}
|
</style>
|