From 81f54040c2cb65537c6c6e1db8358a39a57dea0d Mon Sep 17 00:00:00 2001
From: mayisheng <admin>
Date: Mon, 15 Aug 2022 16:14:01 +0800
Subject: [PATCH] 1
---
src/components/mobileActivity/index.vue | 187 ++++++++++++++++++++++++++++++++++++----------
1 files changed, 144 insertions(+), 43 deletions(-)
diff --git a/src/components/mobileActivity/index.vue b/src/components/mobileActivity/index.vue
index c367f2f..4a859d1 100644
--- a/src/components/mobileActivity/index.vue
+++ b/src/components/mobileActivity/index.vue
@@ -1,4 +1,7 @@
<template>
+ <!-- 活动弹窗
+mobileActivity
+ -->
<div
id="mobileActivity"
:style="{ height: height + 'px' }"
@@ -13,7 +16,7 @@
</div>
<div class="mobileActivity_in">
<!-- <el-button type="primary" @click="init">open</el-button>
- <el-button type="success" @click="closeInit">close</el-button> -->
+ <el-button type="success" @click="closeInit">close</el-button>-->
<div class="mobileActivity_insmall">
<!-- <img :src="imgs" alt="" class="mobileActivity_insmallimg" /> -->
<el-image
@@ -27,10 +30,10 @@
v-for="(item, index) in useData.smallData"
:key="index"
>
- <span class="mobileActivity_insmallxiangqingIn_s">{{
- item.lable
- }}</span
- >: {{ item.value }}
+ <span class="mobileActivity_insmallxiangqingIn_s">
+ {{ item.lable }}
+ </span>
+ : {{ item.value }}
</div>
</div>
</div>
@@ -40,22 +43,22 @@
v-for="(item, index) in useData.detailedData"
:key="index"
>
- <span class="mobileActivity_insmallxiangqingIn_s">{{
- item.lable
- }}</span
- >: {{ item.value }}
+ <span class="mobileActivity_insmallxiangqingIn_s">
+ {{ item.lable }}
+ </span>
+ : {{ item.value }}
</div>
</div>
</div>
<div class="mobileActivity_coutrol" :style="{ bottom: bottom + 'px' }">
<ul>
<li
- v-for="(item, index) in leftNavData"
+ v-for="(item, index) in ourLeftData"
:key="index"
@click="mobileActivityCoutrolClick(item)"
v-show="!item.notShow"
>
- <img :src="item.img" alt="" />
+ <img :src="item.img" alt />
<span>{{ item.label }}</span>
</li>
</ul>
@@ -66,19 +69,25 @@
<script>
import { mapGetters } from "vuex";
import moveWindow from "./move";
+import { getdetail } from "@/api/mobile/hd/hd";
+window.serviceMapSee = {};
+window.onceServiceMap = null;
export default {
name: "mobileActivity",
computed: {
...mapGetters([
"showActivity",
"showActivityData",
- "drawALineLayerMany",
- "drawAPointLayerMany",
+ // 'drawALineLayerMany',
+ // 'drawAPointLayerMany'
]),
+ ourLeftData() {
+ return [...this.serviceMap, ...this.leftNavData];
+ },
},
data() {
- let heig = 135;
- let bottom = 150;
+ const heig = 135;
+ const bottom = 150;
return {
useHeight: heig,
height: heig,
@@ -126,6 +135,19 @@
// // imgSrc: "img/mobile/blue.png",
// },
],
+ //底图
+ serviceMap: [
+ // {
+ // flag: true,
+ // label: "底图1",
+ // img: "/img/leftnav/way-checked.png",
+ // normal: "/img/leftnav/way.png",
+ // checked: "/img/leftnav/way-checked.png",
+ // layer: "wayLayer",
+ // imgSrc: "img/mobile/green.png",
+ // layer: null,
+ // },
+ ],
};
},
watch: {
@@ -137,16 +159,16 @@
// this.height = this.useHeight;
// }
// },
+ //当弹窗显示时,开始操作数据
showActivity() {
if (this.showActivity) {
- this.inToInit(); //初始化
+ this.inToInit(); // 初始化
this.hdTitle = this.showActivityData.name;
- console.log(this.showActivityData);
- //new窗口对象
- let that = this;
- let windowHeight = document.body.clientHeight;
- this.doData(this.showActivityData); //使用数据
+ // new窗口对象
+ const that = this;
+ const windowHeight = document.body.clientHeight;
+ this.doData(this.showActivityData); // 使用数据
// 获取最大高度避免数据过少,空格多
// let heard = document.querySelector(".mobileActivity_heard");
// let ins = document.querySelector(".mobileActivity_in");
@@ -158,7 +180,7 @@
});
});
// return;
- let doit = (maxheights) => {
+ const doit = (maxheights) => {
this.domMove = new moveWindow({
id: "mobileActivity",
minHeight: that.useHeight,
@@ -175,13 +197,13 @@
});
this.domMove.init();
// console.log(this.domMove);
- //转移···添加点和线
- let addressOur = this.changeData(
+ // 转移···添加点和线
+ const addressOur = this.changeData(
this.useData.query,
"addressname",
"address"
);
- let lxOur = this.changeData(this.useData.query, "lxname", "lx");
+ const lxOur = this.changeData(this.useData.query, "lxname", "lx");
// console.log(addressOur, lxOur);
that.$store.dispatch("MSET_DRAWALINELAYERMANY", [
lxOur,
@@ -191,25 +213,84 @@
that.domMove.opens(false, true);
},
]);
+
+ //绘画底图
+ //获取详细信息,来获取底图
+ // console.log(this.showActivityData, "see");
+ that.serviceMap = [];
+ // if (that.serviceMap.length > 0) {
+ // for (let k in window.serviceMapSee) {
+ // if (window.serviceMapSee[k].flag) {
+ // global.viewer.imageryLayers.remove(
+ // window.serviceMapSee[k].layer
+ // );
+ // }
+ // }
+ // }
+ //处理底图
+ window.serviceMapSee = {};
+ getdetail(this.showActivityData.opendata.id).then((res) => {
+ let name = res.data.data.mapname.split(",");
+ let url = res.data.data.url.split(",");
+ for (let k in name) {
+ let d = {
+ flag: true,
+ label: name[k],
+ img: "/img/leftnav/monitor-checked.png",
+ normal: "/img/leftnav/monitor.png",
+ checked: "/img/leftnav/monitor-checked.png",
+ imgSrc: "/img/leftnav/map-monitor.png",
+ layer: "serviceMap" + that.serviceMap.length,
+ url: url[k],
+ to: "serviceMap",
+ };
+ this.serviceMap.push(d); //数据层
+ // console.log(d, "see");
+
+ window.onceServiceMap =
+ new global.DC.Namespace.Cesium.ArcGisMapServerImageryProvider({
+ url: url[k],
+ });
+ window.serviceMapSee[d.layer] = {
+ flag: true,
+ layer: global.viewer.imageryLayers.addImageryProvider(
+ window.onceServiceMap
+ ), //渲染层
+ source: window.onceServiceMap, //渲染源
+ };
+ window.onceServiceMap = null;
+ }
+ });
};
+ } else {
+ // console.log(this.showActivity, "see");
+ if (window.serviceMapSee != {}) {
+ for (let k in window.serviceMapSee) {
+ if (window.serviceMapSee[k].flag) {
+ //如果是显示状态 就让他关闭
+ global.viewer.imageryLayers.remove(window.serviceMapSee[k].layer);
+ }
+ }
+ window.serviceMapSee = {};
+ }
}
},
},
mounted() {},
methods: {
inToInit() {
- //初始化
+ // 初始化
this.openValue = false;
this.height = this.useHeight;
this.bottom = this.useBottom;
- for (let k in this.leftNavData) {
+ for (const k in this.leftNavData) {
this.leftNavData[k].flag = true;
this.leftNavData[k].img = this.leftNavData[k].checked;
}
},
- //处理主数据
+ // 处理主数据
doData(val) {
- let srcList = val.opendata.tpurl.split(",");
+ const srcList = val.opendata.tpurl.split(",");
this.useData = {
data: val,
url: srcList[0],
@@ -243,7 +324,7 @@
introduce: val.opendata.context,
video: val.opendata.videourl,
// buts: ["定位"],
- //活动添加的字段
+ // 活动添加的字段
addressname: val.opendata.addressname.split(";"),
address: val.opendata.address.split(";"),
lxname: val.opendata.lxname.split(";"),
@@ -252,19 +333,19 @@
val.opendata.address.split(";")[0].split(",")[0],
val.opendata.address.split(";")[0].split(",")[1],
],
- panoramaurl: val.opendata.panoramaurl, //全景
+ panoramaurl: val.opendata.panoramaurl, // 全景
},
};
},
- //启动监听事件
+ // 启动监听事件
init() {
this.domMove.init();
},
- //关闭监听事件
+ // 关闭监听事件
closeInit() {
this.domMove.closeInit();
},
- //控制线路和点的显影
+ // 控制线路和点的显影
mobileActivityCoutrolClick(item) {
item.flag = !item.flag;
if (item.flag == true) {
@@ -272,14 +353,34 @@
} else {
item.img = item.normal;
}
+ if (item.to == "serviceMap") {
+ //再次判断是否是底图的加载
+ console.log(window.serviceMapSee[item.layer]);
+ //清除
+ if (!item.flag && window.serviceMapSee[item.layer].flag) {
+ window.serviceMapSee[item.layer].flag = false;
+ global.viewer.imageryLayers.remove(
+ window.serviceMapSee[item.layer].layer
+ );
+ }
+ // 显示
+ if (item.flag && !window.serviceMapSee[item.layer].flag) {
+ window.serviceMapSee[item.layer].flag = true;
+ window.serviceMapSee[item.layer].layer =
+ global.viewer.imageryLayers.addImageryProvider(
+ window.serviceMapSee[item.layer].source
+ );
+ }
+ return;
+ }
this.$store.commit("showLineOrPoint", {
layer: item.layer,
flag: item.flag,
});
},
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:
@@ -301,11 +402,11 @@
if (this.domMove) {
this.closeInit();
}
- //关闭路线和点的图层
+ // 关闭路线和点的图层
this.$store.commit("removePolylineMany");
- //关闭随地图弹窗
+ // 关闭随地图弹窗
this.$store.dispatch("closeMobileWindowsDom");
- //显示右侧栏
+ // 显示右侧栏
this.$store.commit("SET_SeeAndNotSee", true);
},
checkDom(methods, name, fn) {
@@ -314,7 +415,7 @@
// 检查dom是否执行完成
function checkDom() {
// let dom = that.$refs[name];
- let dom = document[methods](name);
+ const dom = document[methods](name);
if (dom) {
// 执行dom加载完成后的操作
// 清除定时器
@@ -322,9 +423,8 @@
clearTimeout(timer);
}
if (fn) {
- //回调函数
+ // 回调函数
fn(dom);
- return;
} else {
return dom;
}
@@ -475,13 +575,14 @@
margin-bottom: 6px;
font-weight: 400;
display: block;
- width: 80px;
+ // width: 80px;
height: 30px;
line-height: 30px;
background-color: #fff;
border-radius: 15px;
text-align: center;
font-size: 0;
+ padding: 0 6px;
cursor: pointer;
img {
--
Gitblit v1.9.3