From cfc635a5ca0d9206985869bf62bf72535ee45e14 Mon Sep 17 00:00:00 2001
From: shuishen <1109946754@qq.com>
Date: Wed, 26 Jan 2022 09:30:03 +0800
Subject: [PATCH] Merge branch 'master' of http://192.168.0.105:10010/r/school-web
---
src/components/mobileActivity/index.vue | 490 +++++++++++++++++++++++
src/components/mobileCortrolButtom/index.vue | 4
src/components/mobilePopupOurAfter/index.vue | 159 ++++++
src/store/index.js | 40 +
src/components/mobileLeftNav/index.vue | 23
src/router/axios.js | 59 +-
src/store/modules/mobile.js | 128 ++++--
src/store/modules/mobilePosition.js | 38 +
src/components/mobileActivity/move.js | 166 +++++++
src/components/mobileWindow/index.vue | 55 +
src/components/mobilemap/index.vue | 4
src/store/getters.js | 20
src/components/mobileHD/mobileHD.vue | 20
13 files changed, 1,049 insertions(+), 157 deletions(-)
diff --git a/src/components/mobileActivity/index.vue b/src/components/mobileActivity/index.vue
index a36556a..f579db8 100644
--- a/src/components/mobileActivity/index.vue
+++ b/src/components/mobileActivity/index.vue
@@ -1,15 +1,339 @@
<template>
- <div id="mobileActivity">
- <div class="mobileActivity_in">showActivity</div>
+ <div
+ id="mobileActivity"
+ :style="{ height: height + 'px' }"
+ :class="[openValue ? 'isOpens' : 'notOpens']"
+ v-if="showActivity"
+ >
+ <div class="mobileActivity_heard">
+ <div class="mobileActivity_title">活动标题:{{ hdTitle }}</div>
+ <div class="mobileActivity_close" @click="closeActivity">
+ <i class="el-icon-close"></i>
+ </div>
+ </div>
+ <div class="mobileActivity_in">
+ <!-- <el-button type="primary" @click="init">open</el-button>
+ <el-button type="success" @click="closeInit">close</el-button> -->
+ <div class="mobileActivity_insmall">
+ <!-- <img :src="imgs" alt="" class="mobileActivity_insmallimg" /> -->
+ <el-image
+ class="mobileActivity_insmallimg"
+ :src="useData.url"
+ :preview-src-list="useData.srcList"
+ ></el-image>
+ <div class="mobileActivity_insmallxiangqing">
+ <div
+ class="mobileActivity_insmallxiangqingIn"
+ v-for="(item, index) in useData.smallData"
+ :key="index"
+ >
+ <span class="mobileActivity_insmallxiangqingIn_s">{{
+ item.lable
+ }}</span
+ >: {{ item.value }}
+ </div>
+ </div>
+ </div>
+ <div class="mobileActivity_detailed">
+ <div
+ class="mobileActivity_detailedIn"
+ v-for="(item, index) in useData.detailedData"
+ :key="index"
+ >
+ <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"
+ :key="index"
+ @click="mobileActivityCoutrolClick(item)"
+ v-show="!item.notShow"
+ >
+ <img :src="item.img" alt="" />
+ <span>{{ item.label }}</span>
+ </li>
+ </ul>
+ </div>
</div>
</template>
<script>
import { mapGetters } from "vuex";
+import moveWindow from "./move";
export default {
name: "mobileActivity",
computed: {
- ...mapGetters(["showActivity"]),
+ ...mapGetters([
+ "showActivity",
+ "showActivityData",
+ "drawALineLayerMany",
+ "drawAPointLayerMany",
+ ]),
+ },
+ data() {
+ let heig = 135;
+ let bottom = 150;
+ return {
+ useHeight: heig,
+ height: heig,
+ useBottom: bottom,
+ bottom: bottom,
+ openValue: false,
+ domMove: null,
+ start: 0,
+ end: 0,
+ hdTitle: "",
+ // url: "",
+ // srcList: [],
+ useData: {},
+ leftNavData: [
+ {
+ flag: true,
+ label: "线路",
+ // img: "/img/leftnav/tag.png",
+ img: "/img/leftnav/tag-checked.png",
+ normal: "/img/leftnav/tag.png",
+ checked: "/img/leftnav/tag-checked.png",
+ layer: "tagLayer",
+ imgSrc: "https://map.hit.edu.cn/images/tarrow_xq.png",
+ // imgSrc: "img/mobile/pink.png",
+ layer: "drawALineLayerMany",
+ },
+ {
+ flag: true,
+ label: "标点",
+ 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: "drawAPointLayerMany",
+ },
+ // {
+ // flag: false,
+ // label: "实景",
+ // img: "/img/leftnav/scene.png",
+ // normal: "/img/leftnav/scene.png",
+ // checked: "/img/leftnav/scene-checked.png",
+ // layer: "sceneLayer",
+ // imgSrc: "img/leftnav/map-panorama.png",
+ // // imgSrc: "img/mobile/blue.png",
+ // },
+ ],
+ };
+ },
+ watch: {
+ // openValue() {
+ // if (this.openValue) {
+ // let windowHeight = document.body.clientHeight;
+ // this.height = windowHeight / 2;
+ // } else {
+ // this.height = this.useHeight;
+ // }
+ // },
+ showActivity() {
+ if (this.showActivity) {
+ this.inToInit(); //初始化
+ this.hdTitle = this.showActivityData.name;
+
+ console.log(this.showActivityData);
+ //new窗口对象
+ let that = this;
+ let windowHeight = document.body.clientHeight;
+ this.doData(this.showActivityData); //使用数据
+ // 获取最大高度避免数据过少,空格多
+ // let heard = document.querySelector(".mobileActivity_heard");
+ // let ins = document.querySelector(".mobileActivity_in");
+ // console.log(heard, ins, 77777);
+ this.checkDom("querySelector", ".mobileActivity_heard", (head) => {
+ this.checkDom("querySelector", ".mobileActivity_in", (ins) => {
+ console.log((head.offsetHeight + ins.offsetHeight) / 4);
+ doit(head.offsetHeight + ins.offsetHeight);
+ });
+ });
+ // return;
+ let doit = (maxheights) => {
+ this.domMove = new moveWindow({
+ id: "mobileActivity",
+ minHeight: that.useHeight,
+ maxHeight: maxheights || windowHeight / 2,
+ critical: maxheights / 4,
+ fn: function (res) {
+ that.height = +res.height;
+ that.bottom = +res.height + 15;
+ console.log(+res.height, "=======");
+ if (res.state != "on") {
+ that.openValue = res.state;
+ }
+ },
+ });
+ this.domMove.init();
+ // console.log(this.domMove);
+ //转移···添加点和线
+ let addressOur = this.changeData(
+ this.useData.query,
+ "addressname",
+ "address"
+ );
+ let lxOur = this.changeData(this.useData.query, "lxname", "lx");
+ // console.log(addressOur, lxOur);
+ that.$store.dispatch("MSET_DRAWALINELAYERMANY", [
+ lxOur,
+ addressOur,
+ this.useData.query,
+ function () {
+ that.domMove.opens(false, true);
+ },
+ ]);
+ };
+ }
+ },
+ },
+ mounted() {},
+ methods: {
+ inToInit() {
+ //初始化
+ this.openValue = false;
+ this.height = this.useHeight;
+ this.bottom = this.useBottom;
+ for (let 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(",");
+ this.useData = {
+ data: val,
+ url: srcList[0],
+ srcList: srcList,
+ smallData: [
+ {
+ lable: "主办方",
+ value: val.opendata.sponsor,
+ },
+ {
+ lable: "承办方",
+ value: val.opendata.undertake,
+ },
+ ],
+ detailedData: [
+ {
+ lable: "活动时间",
+ value: val.opendata.time,
+ },
+ {
+ lable: "活动详情",
+ value: val.opendata.context,
+ },
+ ],
+ query: {
+ name: val.opendata.hdname,
+ bgImg: val.opendata.tpurl,
+ from: "活动",
+ websiteUrl: val.opendata.websiteurl,
+ telePhone: val.opendata.telephone,
+ introduce: val.opendata.context,
+ video: val.opendata.videourl,
+ // buts: ["定位"],
+ //活动添加的字段
+ addressname: val.opendata.addressname.split(";"),
+ address: val.opendata.address.split(";"),
+ lxname: val.opendata.lxname.split(";"),
+ lx: val.opendata.lx.split(";"),
+ lntLat: [
+ val.opendata.address.split(";")[0].split(",")[0],
+ val.opendata.address.split(";")[0].split(",")[1],
+ ],
+ panoramaurl: val.opendata.panoramaurl, //全景
+ },
+ };
+ },
+ //启动监听事件
+ init() {
+ this.domMove.init();
+ },
+ //关闭监听事件
+ closeInit() {
+ this.domMove.closeInit();
+ },
+ //控制线路和点的显影
+ mobileActivityCoutrolClick(item) {
+ item.flag = !item.flag;
+ if (item.flag == true) {
+ item.img = item.checked;
+ } else {
+ item.img = item.normal;
+ }
+ this.$store.commit("showLineOrPoint", {
+ layer: item.layer,
+ flag: item.flag,
+ });
+ },
+ 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;
+ },
+ closeActivity() {
+ this.$store.commit("set_showActivity", { state: false });
+ if (this.domMove) {
+ this.closeInit();
+ }
+ //关闭路线和点的图层
+ this.$store.commit("removePolylineMany");
+ //关闭随地图弹窗
+ this.$store.dispatch("closeMobileWindowsDom");
+ },
+ checkDom(methods, name, fn) {
+ // 声明定时器
+ var timer = null;
+ // 检查dom是否执行完成
+ function checkDom() {
+ // let dom = that.$refs[name];
+ let dom = document[methods](name);
+ if (dom) {
+ // 执行dom加载完成后的操作
+ // 清除定时器
+ if (!timer) {
+ clearTimeout(timer);
+ }
+ if (fn) {
+ //回调函数
+ fn(dom);
+ return;
+ } else {
+ return dom;
+ }
+ } else {
+ // 自我调用
+ timer = setTimeout(checkDom, 100);
+ }
+ }
+ // 首次执行
+ checkDom();
+ },
},
};
</script>
@@ -17,11 +341,167 @@
<style lang="scss">
#mobileActivity {
position: fixed;
- top: 0px;
+ bottom: 0px;
left: 0px;
width: 100%;
- height: 100%;
+ // height: 50px;
background-color: #fff;
z-index: 999;
+ transition: height 0.1s;
+ border-radius: 15px 15px 0 0;
+ .mobileActivity_heard {
+ height: 35px;
+ border-radius: 15px 15px 0 0;
+ width: 100%;
+ background-color: #409eff;
+ color: #fff;
+ border-bottom: 1px solid rgba($color: #acacac, $alpha: 0.5);
+ box-shadow: 0 0px 10px -3px rgba($color: #acacac, $alpha: 0.5);
+ .mobileActivity_title {
+ width: 100%;
+ height: 100%;
+ line-height: 35px;
+ text-indent: 1rem;
+ }
+ .mobileActivity_close {
+ position: absolute;
+ right: 5px;
+ top: 5px;
+ font-size: 25px;
+ }
+ }
+ .mobileActivity_in {
+ width: 100%;
+ height: auto;
+ overflow: hidden;
+ padding-bottom: 5px;
+ .mobileActivity_insmall {
+ background-color: #fff;
+ width: 100%;
+ display: flex;
+ align-items: center;
+ justify-content: space-around;
+ .mobileActivity_insmallimg {
+ width: 90px;
+ height: 90px;
+ }
+ .mobileActivity_insmallxiangqing {
+ width: calc(100% - 110px);
+ height: 94px;
+ display: flex;
+ align-items: center;
+ justify-content: space-around;
+ flex-direction: column;
+ .mobileActivity_insmallxiangqingIn {
+ width: 100%;
+ }
+ }
+ }
+ .mobileActivity_detailed {
+ background-color: rgba(202, 202, 202, 0.2);
+ padding: 3px 0 0 0;
+ width: 100%;
+ height: 100%;
+ box-sizing: border-box;
+ .mobileActivity_detailedIn {
+ background-color: #fff;
+ box-sizing: border-box;
+ width: 100%;
+ padding: 5px;
+ margin: 0 0 3px 0;
+ }
+ }
+ .mobileActivity_insmallxiangqingIn_s {
+ font-weight: 600;
+ }
+ }
+}
+
+.notOpens {
+ &::after {
+ content: "";
+ display: block;
+ width: 20px;
+ height: 4px;
+ background-color: rgba(202, 202, 202, 1);
+ position: absolute;
+ top: -9px;
+ left: calc(50% - 10px);
+ border-radius: 5px;
+ }
+}
+
+.isOpens {
+ &::after {
+ content: "";
+ display: block;
+ width: 13px;
+ height: 4px;
+ background-color: rgba(202, 202, 202, 1);
+ position: absolute;
+ top: -9px;
+ left: calc(50% - 12px);
+ border-radius: 5px;
+ transform: rotate(30deg);
+ }
+ &::before {
+ content: "";
+ display: block;
+ width: 13px;
+ height: 4px;
+ background-color: rgba(202, 202, 202, 1);
+ position: absolute;
+ top: -9px;
+ left: calc(50% - 4px);
+ border-radius: 5px;
+ transform: rotate(-30deg);
+ }
+}
+.mobileActivity_coutrol {
+ position: fixed;
+ bottom: 150px;
+ left: 0px;
+ z-index: 200;
+ background-color: #fff;
+ border-radius: 0 17px 17px 0;
+ transition: all 0.18s;
+ ul {
+ position: relative;
+ top: 3px;
+ }
+ li {
+ margin-bottom: 6px;
+ font-weight: 400;
+ display: block;
+ width: 80px;
+ height: 30px;
+ line-height: 30px;
+ background-color: #fff;
+ border-radius: 15px;
+ text-align: center;
+ font-size: 0;
+ cursor: pointer;
+
+ img {
+ position: relative;
+ transition: all 0.5s;
+ width: 24px;
+ height: 24px;
+ vertical-align: middle;
+ margin-right: 10px;
+ image-rendering: -moz-crisp-edges;
+ image-rendering: -o-crisp-edges;
+ image-rendering: -webkit-optimize-contrast;
+ image-rendering: crisp-edges;
+ -ms-interpolation-mode: nearest-neighbor;
+ }
+
+ span {
+ display: inline-block;
+ vertical-align: middle;
+ font-size: 14px;
+ color: #2f2f2f;
+ }
+ }
}
</style>
diff --git a/src/components/mobileActivity/move.js b/src/components/mobileActivity/move.js
new file mode 100644
index 0000000..1f5f2b6
--- /dev/null
+++ b/src/components/mobileActivity/move.js
@@ -0,0 +1,166 @@
+class moveWindow {
+ constructor(data) {
+ this.id = data.id;
+ this.start = 0;
+ this.end = 0;
+ this.domHeight = 0;
+ this.domMove = null;
+ this.openValue = false;
+ this.useHeight = data.minHeight;
+ this.maxHeight = data.maxHeight;
+ this.height = data.minHeight;
+ this.critical = data.critical;
+ let that = this;
+ this.fn =
+ data.fn ||
+ function (res) {
+ console.log("未设置回调函数");
+ console.log(res);
+ };
+
+ this.ListenerTouchmove = function (window) {
+ let moseHeight = window.changedTouches[0].clientY;
+ // let windowHeight = document.body.clientHeight; //屏幕宽度
+ let endOn = moseHeight;
+ let cha = +that.domHeight + that.start - +endOn;
+ if (cha >= that.maxHeight) {
+ cha = that.maxHeight;
+ } else if (cha <= that.useHeight) {
+ cha = that.useHeight;
+ }
+ let d = {
+ state: "on",
+ height: cha,
+ };
+ that.fn(d);
+ };
+ this.ListenerTouchstart = function (window) {
+ let moseHeight = window.changedTouches[0].clientY;
+ that.start = moseHeight;
+ that.domHeight = document
+ .getElementById(that.id)
+ .style.cssText.split("px")[0]
+ .split("height:")[1];
+ };
+ this.ListenerTouchend = function (window) {
+ let moseHeight = window.changedTouches[0].clientY;
+ that.end = moseHeight;
+ let cha, states;
+ if (that.end >= that.start) {
+ states = false; //方向
+ cha = that.end - that.start;
+ } else {
+ states = true; //方向
+ cha = that.start - that.end;
+ }
+ if (cha >= that.critical) {
+ //高
+ that.opens(states, true); //程度
+ } else if (cha < that.critical) {
+ //低
+ that.opens(states, false); //程度
+ }
+ };
+ return this;
+ }
+ //启动监听事件
+ init() {
+ // this.domMove = document.getElementById(this.id);
+ let that = this;
+ this.checkDom(that.id, (dom) => {
+ //检测是否有dom
+ that.domMove = dom;
+ that.domMove.addEventListener("touchmove", that.ListenerTouchmove);
+ // 结束位置靠滑动距离判断
+ that.domMove.addEventListener("touchstart", that.ListenerTouchstart);
+ that.domMove.addEventListener("touchend", that.ListenerTouchend);
+ });
+ }
+ //关闭监听事件
+ closeInit() {
+ this.domMove = document.getElementById(this.id);
+ this.domMove.removeEventListener("touchmove", this.ListenerTouchmove);
+ // 结束位置靠滑动距离判断
+ this.domMove.removeEventListener("touchstart", this.ListenerTouchstart);
+ this.domMove.removeEventListener("touchend", this.ListenerTouchend);
+ }
+ //输出事件
+ opens(val, chengdu) {
+ if (chengdu) {
+ this.openValue = val;
+ if (val) {
+ this.height = this.maxHeight;
+ } else {
+ this.height = this.useHeight;
+ }
+ } else {
+ this.height = this.domHeight;
+ }
+ let d = {
+ state: this.openValue,
+ height: this.height,
+ };
+ // console.log(val, this.height);
+ this.fn(d);
+ }
+ changeHeight() {
+ //抛出切换方法
+ this.openValue = !this.openValue;
+ if (this.openValue) {
+ this.height = this.maxHeight;
+ } else {
+ this.height = this.useHeight;
+ }
+ let d = {
+ state: this.openValue,
+ height: this.height,
+ };
+ // console.log(val, this.height);
+ this.fn(d);
+ }
+ checkDom(name, fn) {
+ // 声明定时器
+ var timer = null;
+ // 检查dom是否执行完成
+ function checkDom() {
+ // let dom = that.$refs[name];
+ let dom = document.getElementById(name);
+ if (dom) {
+ // 执行dom加载完成后的操作
+ // 清除定时器
+ if (!timer) {
+ clearTimeout(timer);
+ }
+ if (fn) {
+ //回调函数
+ fn(dom);
+ return;
+ } else {
+ return dom;
+ }
+ } else {
+ // 自我调用
+ timer = setTimeout(checkDom, 100);
+ }
+ }
+ // 首次执行
+ checkDom();
+ }
+ // 结束位置是一半判断
+ // domMove.addEventListener("touchend", function (window) {
+ // let moseHeight = window.changedTouches[0].clientY;
+ // let windowHeight = document.body.clientHeight;
+ // let cha = windowHeight - moseHeight;
+ // console.log(cha, "最后位置");
+ // let centerPoint =
+ // (windowHeight / 2 - +that.useHeight) / 2 + +that.useHeight;
+ // if (cha >= centerPoint) {
+ // cha = windowHeight / 2;
+ // } else if (cha < centerPoint) {
+ // cha = that.useHeight;
+ // }
+ // that.height = cha;
+ // });
+}
+
+export default moveWindow;
diff --git a/src/components/mobileCortrolButtom/index.vue b/src/components/mobileCortrolButtom/index.vue
index a069530..8f91546 100644
--- a/src/components/mobileCortrolButtom/index.vue
+++ b/src/components/mobileCortrolButtom/index.vue
@@ -20,9 +20,9 @@
<div class="m-l-inbut" @click="openBigPopupAfter">
<i class="el-icon-menu"></i>
</div>
- <div class="m-l-inbut" @click="openActivity">
+ <!-- <div class="m-l-inbut" @click="openActivity">
<i class="el-icon-s-opportunity"></i>
- </div>
+ </div> -->
<!-- <div class="m-l-inbut" @click="goOn"><i class="el-icon-location"></i></div> -->
</div>
</template>
diff --git a/src/components/mobileHD/mobileHD.vue b/src/components/mobileHD/mobileHD.vue
new file mode 100644
index 0000000..6d105e5
--- /dev/null
+++ b/src/components/mobileHD/mobileHD.vue
@@ -0,0 +1,20 @@
+<template>
+ <div class="activeHD">活动窗口</div>
+</template>
+
+<script>
+export default {
+ name: "mobileHD",
+};
+</script>
+
+<style lang="scss">
+.activeHD {
+ width: 100%;
+ height: 50px;
+ background-color: #fff;
+ position: fixed;
+ bottom: 0;
+ left: 0;
+}
+</style>
diff --git a/src/components/mobileLeftNav/index.vue b/src/components/mobileLeftNav/index.vue
index 0d05c62..1c75245 100644
--- a/src/components/mobileLeftNav/index.vue
+++ b/src/components/mobileLeftNav/index.vue
@@ -288,7 +288,7 @@
dom = `
<div class="way-entitys-box">
<div class="way-title" style="border: white 1px solid; padding-left: 2px;font-size: 12px; background: #0066ff; width: 12px;line-height: 13px; padding:2px 1px 2px 1px; color:white;">
- ${data[k].roadname}
+ ${data[k].roadname}
</div>
<div class="way-sign-box">
<img src="https://map.hit.edu.cn/images/roadsign3.png">
@@ -300,12 +300,11 @@
// ${data[k].mechanismname}
// </div>
dom = `
- <div class="way-entitys-box mobile-way-entitys-box">
- <div class="way-sign-box ">
- <img src="img/leftnav/map-panorama.png">
- </div>
+ <div class="scene-entitys-box">
+ <div>${data[k].mechanismname}</div>
+ <img src="/img/leftnav/map-panorama.png" alt="">
</div>
- `;
+ `;
} else if (ourD.label == "AED") {
dom = `
<div class="mobiletag-entitys-box">
@@ -345,15 +344,11 @@
`;
} else if (ourD.label == "监控") {
dom = `
- <div class="mobiletag-entitys-box-pink">
- <div class="tag-content">
- 监控
- </div>
- <div class="tag-angle-content">
- <img src="${ourD.imgSrc}">
- </div>
+ <div class="monitor-entitys-box">
+ <div>${data[k].mechanismname}</div>
+ <img class="monitor-entitys-box" src="/img/leftnav/map-monitor.png" alt="">
</div>
- `;
+ `;
}
const divIcon = new that.DC.DivIcon(position[k], dom);
//订阅事件
diff --git a/src/components/mobilePopupOurAfter/index.vue b/src/components/mobilePopupOurAfter/index.vue
index 77c5e51..20028e5 100644
--- a/src/components/mobilePopupOurAfter/index.vue
+++ b/src/components/mobilePopupOurAfter/index.vue
@@ -3,17 +3,21 @@
class="mobilePopupOurAfter"
:class="{ ismBigPopupAfter: mBigPopupAfter }"
>
- <!-- v-show="mBigPopupAfter" -->
+ <!-- v-if="mBigPopupAfter" -->
<div class="m_p_a_heard">
<div><i class="el-icon-menu icon"></i></div>
+ 社区列表
<div @click="closeBigPopupAfter"><i class="el-icon-close icon"></i></div>
</div>
<div class="m_p_a_center">
<div class="m_p_a_center_group">
<div
- class="m_p_a_center_once"
+ :class="[
+ 'm_p_a_center_once',
+ item.name ? '' : 'm_p_a_center_once_notblue',
+ ]"
v-for="(item, index) in choiceDataUp"
- @click="openBigPopup(item)"
+ @click="item.name ? openBigPopup(item) : ''"
:key="index"
>
<div class="m_p_a_c_o_up"><i :class="[item.icon]"></i></div>
@@ -22,9 +26,38 @@
</div>
<div class="m_p_a_center_group">
<div
- class="m_p_a_center_once"
+ :class="[
+ 'm_p_a_center_once',
+ item.name ? '' : 'm_p_a_center_once_notblue',
+ ]"
v-for="(item, index) in choiceDataDown"
- @click="openBigPopup(item)"
+ @click="item.name ? openBigPopup(item) : ''"
+ :key="index"
+ >
+ <div class="m_p_a_c_o_up"><i :class="[item.icon]"></i></div>
+ <div class="m_p_a_c_o_down">{{ item.seeName || item.name }}</div>
+ </div>
+ </div>
+ <div
+ class="m_p_a_heard m_p_a_hdheard"
+ style="justify-content: center"
+ v-show="avtivityData.length > 0 && useHD"
+ >
+ 活动列表
+ </div>
+ <div
+ class="m_p_a_center_group"
+ v-for="(act, index) in avtivityData"
+ :key="index"
+ v-show="avtivityData.length > 0 && useHD"
+ >
+ <div
+ :class="[
+ 'm_p_a_center_once',
+ item.name ? '' : 'm_p_a_center_once_notblue',
+ ]"
+ v-for="(item, index) in act"
+ @click="item.name ? openHDPopup(item) : ''"
:key="index"
>
<div class="m_p_a_c_o_up"><i :class="[item.icon]"></i></div>
@@ -54,6 +87,7 @@
} from "@/api/mobile/livingFacilities/index"; // 生活设施
// import { getListdoor } from "@/api/mobile/outIn/index"; //出入口
// import { getListparking } from "@/api/mobile/stop/index"; //停车场
+import { getActivity } from "@/api/mobile/hd/hd"; //活动
export default {
name: "mobilePopupOurAfter",
computed: {
@@ -83,11 +117,6 @@
],
choiceDataDown: [
{
- name: "文化风景",
- opendata: "openData4",
- icon: "el-icon-s-opportunity",
- },
- {
name: "出入口",
opendata: "openData5",
icon: "el-icon-s-promotion",
@@ -97,11 +126,28 @@
opendata: "openData6",
icon: "el-icon-s-flag",
},
+ {
+ // name: "文化风景",
+ name: "活动",
+ opendata: "openData4",
+ icon: "el-icon-s-opportunity",
+ },
+ ],
+ avtivityData: [
+ // [
+ // {
+ // name: "活动",
+ // opendata: "openData4",
+ // icon: "el-icon-s-opportunity",
+ // },
+ // {},
+ // {},
+ // ],
],
openData1: [
// { name: "党群机构", type: 1, method: getList },
// { name: "职能部处", type: 2, method: getList },
- // { name: "直属及附属单位", type: 3, method: getList },
+ { name: "直属及附属单位", type: 3, method: getList },
// { name: "教学与科研机构", type: 4, method: getList },
{ name: "其他机构", type: 5, method: getList },
],
@@ -131,7 +177,7 @@
openData3: [
// { name: "食堂餐厅", type: 1, method: getListLifeOnce },
// { name: "购物超市", type: 2, method: getListLifeOnce },
- // { name: "社区医疗", type: 3, method: getListLifeOnce },
+ { name: "社区医疗", type: 3, method: getListLifeOnce },
// { name: "邮寄快递", type: 4, method: getListLifeOnce },
// { name: "社区浴室", type: 5, method: getListLifeOnce },
// // { name: "圈存机", type: 6, method: getListLifeOnce },
@@ -142,14 +188,81 @@
{ name: "停车场", type: 11, method: getListLifeOnce },
{ name: "出入口", type: 12, method: getListLifeOnce },
],
+ openData4: [
+ // { name: "文化风景", type: 5, method: getChildNavList }
+ { name: "活动", type: 1, method: getActivity },
+ ],
openData6: [{ name: "停车场", type: 11, method: getListLifeOnce }],
openData5: [{ name: "出入口", type: 12, method: getListLifeOnce }],
- openData4: [{ name: "文化风景", type: 5, method: getChildNavList }],
+ useHD: false,
};
},
- mounted() {},
+ mounted() {
+ this.getActivitys();
+ if (this.useHD) {
+ this.choiceDataDown[3] = { name: "" };
+ }
+ },
methods: {
+ //活动点击事件
+ openHDPopup(val) {
+ console.log(val);
+ //开启底部弹窗 关闭本弹窗
+ let d = {
+ state: true,
+ value: val,
+ };
+ this.$store.commit("set_showActivity", d);
+ this.closeBigPopupAfter();
+ },
+ //获取活动数据
+ getActivitys() {
+ let that = this;
+ getActivity().then((res) => {
+ const data = res.data.data.records;
+ let datas = [...data];
+ let num = datas.length;
+ //划分出每组3个的二维数组
+ let many = parseInt(num / 3); //整数组
+ let over = parseInt(num % 3); //余数组
+ //赋值整数组
+ let integers = [];
+ let i = 0;
+ for (let index = 0; index < many; index++) {
+ let integersins = [];
+ for (let indexs = 0; indexs < 3; indexs++) {
+ integersins.push({
+ name: datas[i].hdname,
+ opendata: datas[i],
+ icon: "el-icon-s-opportunity",
+ });
+ i++;
+ }
+ integers.push(integersins);
+ }
+ //赋值余数组
+ let integersOvers = [];
+ for (let overI = 0; overI < over; overI++) {
+ integersOvers.push({
+ name: datas[i].hdname,
+ opendata: datas[i],
+ icon: "el-icon-s-opportunity",
+ });
+ i++;
+ }
+ let lastOver = 3 - over;
+ for (let overM = 0; overM < lastOver; overM++) {
+ integersOvers.push({ data: "not" });
+ }
+ integers.push(integersOvers);
+ that.avtivityData = integers;
+ });
+ },
openBigPopup(val) {
+ if (val.name == "活动" && !this.useHD) {
+ this.openHDPopup(this.avtivityData[0][0]);
+ return;
+ }
const d = {
main: this[val.opendata],
qurey: val.name,
@@ -176,7 +289,8 @@
// left: 13.5%;
left: -1000px;
width: 75%;
- height: 25%;
+ height: auto;
+ min-height: 155px;
background-color: #fff;
box-shadow: 0px 0px 5px #29baf1;
transition: all 0.5s;
@@ -204,6 +318,7 @@
height: 35px;
box-sizing: border-box;
padding: 5px 15px;
+ color: #fff;
@extend .flexCenter;
justify-content: space-between;
background-color: #29baf1;
@@ -217,18 +332,23 @@
color: #fff;
}
}
+ .m_p_a_hdheard {
+ margin: 5px 0;
+ }
.m_p_a_center {
width: 100%;
- height: calc(100% - 35px);
+ // height: calc(100% - 35px);
+ height: auto;
@extend .flexCenter;
flex-direction: column;
+ padding: 5px 0;
.m_p_a_center_group {
width: 100%;
- height: 40%;
+ height: auto;
@extend .flexCenter;
.m_p_a_center_once {
width: 30%;
- height: 100%;
+ height: 50px;
// background-image: linear-gradient(#29baf1, #28bbf06c);
// background-color: #a40000;
background-color: #29baf1;
@@ -241,6 +361,9 @@
// background-image: linear-gradient(#09b7fc, #28bbf0a4);
// }
}
+ .m_p_a_center_once_notblue {
+ background-color: #fff !important;
+ }
}
}
}
diff --git a/src/components/mobileWindow/index.vue b/src/components/mobileWindow/index.vue
index 9cda73e..e570a75 100644
--- a/src/components/mobileWindow/index.vue
+++ b/src/components/mobileWindow/index.vue
@@ -67,7 +67,9 @@
: item.name == '图集'
? 'el-icon-data-board'
: item.name == '去这'
- ? 'el-icon-finished'
+ ? quzheD
+ ? 'el-icon-loading'
+ : 'el-icon-finished'
: item.name == '视频' || item.name == '返回'
? 'el-icon-video-camera-solid'
: ''
@@ -103,6 +105,7 @@
watch: {
MobileWindowChangeData() {
this.$store.dispatch("MSET_GETAUDIOBEGIN", "notOpen");
+ this.quzheD = false;
//数据更改
// this.fullscreenLoading = true;
if (!this.MobileWindowsHide) {
@@ -243,6 +246,7 @@
seebut: [],
center: [],
panoramaurl: "",
+ quzheD: false, //是否点击了去这,并不能再按,以及不应用路线导航
};
},
methods: {
@@ -253,28 +257,41 @@
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 ints = {
- // start: [114.039946, 27.628475],
- // end: that.query.query.lntLat,
- start: [+query.lntLat[0], +query.lntLat[1], 360],
- end: [114.031946, 27.621475],
- type: "driving",
- fn: function (datas) {
- //获取回调路径
- that.routerS.push(datas);
- if (once) {
- once = false;
- //加载第一条线路
- that.$store.commit("set_choiceRouterS", 0);
- that.$store.dispatch("MSET_DRAWALINELAYER", [datas.Str, query]);
- that.$store.commit("cameraSetView", ints.start);
- }
- },
+ let doit = (now) => {
+ 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.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);
diff --git a/src/components/mobilemap/index.vue b/src/components/mobilemap/index.vue
index 4d2277a..8c377cd 100644
--- a/src/components/mobilemap/index.vue
+++ b/src/components/mobilemap/index.vue
@@ -27,7 +27,7 @@
<!-- 退出活动 -->
<mobileCloseRouterMany></mobileCloseRouterMany>
<!-- 活动窗口 -->
- <!-- <mobileActivity></mobileActivity> -->
+ <mobileActivity></mobileActivity>
<!-- 盖住左下角 -->
<div class="cover_mobileMap">智慧社区</div>
</div>
@@ -798,6 +798,8 @@
// });
// }, 2000);
}
+ viewer.scene.screenSpaceCameraController._minimumZoomRate = 1000;
+ viewer.scene.screenSpaceCameraController._maximumZoomRate = 5906376272000;
if (false) {
//镜头改变示例
// viewer.scene.screenSpaceCameraController.enableZoom = false; //控制视角缩放
diff --git a/src/router/axios.js b/src/router/axios.js
index 5127d2d..dcf919e 100644
--- a/src/router/axios.js
+++ b/src/router/axios.js
@@ -5,42 +5,49 @@
* isSerialize是否开启form表单提交
* isToken是否需要token
*/
-import axios from 'axios'
-
+import axios from "axios";
+let httpName = window.location.protocol + "//" + window.location.hostname;
+let url = httpName + "/apis";
+// setTimeout(() => {
+// console.log(window.location);
+// console.log(url);
+// }, 3000);
const service = axios.create({
- // baseURL: 'http://192.168.0.107:83',
- // baseURL: 'http://192.168.0.107:80',
- baseURL: 'http://171.34.197.243:790',
- // baseURL: 'http://s16s652780.51mypc.cn/api',
- timeout: 600000 // request timeout
-})
+ // baseURL: 'http://192.168.0.107:83',
+ // baseURL: "http://192.168.0.107:80",
+ baseURL: "http://171.34.197.243:790", //正常接口
+ // baseURL: "https://6e78efa6.cpolar.io/apis", //https接口
+ // baseURL: url, //https接口
+ // baseURL: 'http://s16s652780.51mypc.cn/api',
+ timeout: 600000, // request timeout
+});
// 返回其他状态码
service.defaults.validateStatus = function (status) {
- return status >= 200 && status <= 500
-}
+ return status >= 200 && status <= 500;
+};
// 跨域请求,允许保存cookie
-service.defaults.withCredentials = true
+service.defaults.withCredentials = true;
// http request拦截
service.interceptors.request.use(
- (config) => {
- return config
- },
- (error) => {
- return Promise.reject(error)
- }
-)
+ (config) => {
+ return config;
+ },
+ (error) => {
+ return Promise.reject(error);
+ }
+);
// http response 拦截
service.interceptors.response.use(
- (res) => {
- return res
- },
- (error) => {
- return Promise.reject(new Error(error))
- }
-)
+ (res) => {
+ return res;
+ },
+ (error) => {
+ return Promise.reject(new Error(error));
+ }
+);
-export default service
+export default service;
diff --git a/src/store/getters.js b/src/store/getters.js
index 6846b08..a9348c2 100644
--- a/src/store/getters.js
+++ b/src/store/getters.js
@@ -31,14 +31,15 @@
choiceRouterS: (state) => state.mobile.choiceRouterS, // 当前选择路径
showActivity: (state) => state.mobile.showActivity, // 显影活动弹窗
- isOpenDrawALineMany: (state) => state.mobile.isOpenDrawALineMany // 显影活动弹窗
-}
+ showActivityData: (state) => state.mobile.showActivityData, // 活动弹窗数据
+ isOpenDrawALineMany: (state) => state.mobile.isOpenDrawALineMany, // 显影活动弹窗
+};
const navigation = {
campusNavFlag: (state) => state.navigation.campusNavFlag,
comeName: (state) => state.navigation.comeName,
- getToName: (state) => state.navigation.getToName
-}
+ getToName: (state) => state.navigation.getToName,
+};
const search = {
orgNavBarFlag: (state) => state.search.orgNavBarFlag,
@@ -48,9 +49,8 @@
arcNavBarTitle: (state) => state.search.arcNavBarTitle,
arcNavBarCode: (state) => state.search.arcNavBarCode,
searchPopupFlag: (state) => state.search.searchPopupFlag,
- searchPopupList: (state) => state.search.searchPopupList
-
-}
+ searchPopupList: (state) => state.search.searchPopupList,
+};
const getters = {
...mobile,
@@ -74,6 +74,6 @@
detailsPopup: (state) => state.popupParams.detailsPopup,
popupImgAtlas: (state) => state.popupParams.popupImgAtlas,
teachList: (state) => state.popupParams.teachList,
- liveList: (state) => state.popupParams.liveList
-}
-export default getters
+ liveList: (state) => state.popupParams.liveList,
+};
+export default getters;
diff --git a/src/store/index.js b/src/store/index.js
index 76d4cf2..d6115f3 100644
--- a/src/store/index.js
+++ b/src/store/index.js
@@ -1,24 +1,26 @@
-import Vue from 'vue'
-import Vuex from 'vuex'
+import Vue from "vue";
+import Vuex from "vuex";
-import viewer from './modules/viewer'
-import popupParams from './modules/popupParams'
-import navigation from './modules/navigation'
-import search from './modules/search'
-import mobile from './modules/mobile'
-import getters from './getters'
+import viewer from "./modules/viewer";
+import popupParams from "./modules/popupParams";
+import navigation from "./modules/navigation";
+import search from "./modules/search";
+import mobile from "./modules/mobile";
+import mobilePosition from "./modules/mobilePosition";
+import getters from "./getters";
-Vue.use(Vuex)
+Vue.use(Vuex);
const store = new Vuex.Store({
- modules: {
- viewer,
- popupParams,
- mobile,
- navigation,
- search
- },
- getters
-})
+ modules: {
+ mobile,
+ mobilePosition,
+ viewer,
+ popupParams,
+ navigation,
+ search,
+ },
+ getters,
+});
-export default store
+export default store;
diff --git a/src/store/modules/mobile.js b/src/store/modules/mobile.js
index a6d6a20..360b0e0 100644
--- a/src/store/modules/mobile.js
+++ b/src/store/modules/mobile.js
@@ -68,9 +68,12 @@
isendPosition: false, //传送终点经纬度--感应数据
routerS: [], //所有路径
choiceRouterS: 0, //当前选择路径
+
showActivity: false, //是否显示活动弹窗
+ showActivityData: {}, //活动内容
drawALineLayerMany: null, //活动路线图层
+ drawAPointLayerMany: null, //活动点图层
isOpenDrawALineMany: null, //是否开启活动
},
mutations: {
@@ -294,6 +297,15 @@
state.drawALineLayerMany = null;
state.isOpenDrawALineMany = false;
}
+ if (state.drawAPointLayerMany) {
+ state.drawAPointLayerMany.remove();
+ state.drawAPointLayerMany = null;
+ state.isOpenDrawALineMany = false;
+ }
+ },
+ //显影线路或者点
+ showLineOrPoint(state, val) {
+ state[val.layer].show = val.flag;
},
//传送终点数据
set_endPosition(state, data) {
@@ -307,6 +319,13 @@
//活动窗口是否显示
set_showActivity(state, data) {
state.showActivity = data;
+ if (data.state) {
+ state.showActivityData = data.value;
+ state.showActivity = data.state;
+ } else {
+ state.showActivityData = {};
+ state.showActivity = data.state;
+ }
},
mset_changeSelect(state, data) {
state.select.overlay = data[0];
@@ -449,6 +468,7 @@
commit("MSET_POPUPDOM", popupsDom);
},
closeMobileWindowsDom({ state, commit, dispatch }) {
+ commit("CLOSE_NOWPOSITION"); //中断定位获取
if (!state.MobileWindowsHide && state.popupsDom) {
state.popupsDom.closeOur();
commit("MSET_MOBILEWINDOWSHIDE", true);
@@ -774,7 +794,8 @@
commit("removerPolyLineIcon");
state.drawALineLayerIcon = new global.DC.VectorLayer("pointLayer");
state.mviewer.addLayer(state.drawALineLayerIcon);
- let post = Str.split(";")[0].split(",");
+ let useStr = Str.split(";");
+ let post = useStr[useStr.length - 1].split(",");
let position = new global.DC.Position(post[0], post[1]);
let billboard = new global.DC.Billboard(
position,
@@ -831,18 +852,20 @@
speed: 10,
});
let material1 = new global.DC.PolylineImageTrailMaterialProperty({
- color: global.DC.Color(255, 0, 0),
+ color: red,
speed: 60,
image: "img/icon/right.png",
repeat: { x: 320, y: 1 },
});
let drawALineLayerMany = new global.DC.VectorLayer("manyLinePointLayer");
state.mviewer.addLayer(drawALineLayerMany);
+ let drawAPointLayerMany = new global.DC.HtmlLayer("manyPointPointLayer");
+ state.mviewer.addLayer(drawAPointLayerMany);
//多条线
for (let k in Strs) {
let polyline = new global.DC.Polyline(Strs[k].value); //加入绘画点
polyline.setStyle({
- width: 3,
+ width: 6,
material: material1,
clampToGround: true,
});
@@ -867,49 +890,67 @@
let post = point[k].value;
let position = new global.DC.Position(post[0], post[1]);
- let billboard = new global.DC.Billboard(
+ // let billboard = new global.DC.Billboard(
+ // position,
+ // // "img/dingwei/dingwei1.png"
+ // "img/icon/activity.png"
+ // ); //加入绘画点
+ // billboard.setStyle({
+ // pixelOffset: { x: 0, y: -17 }, //偏移像素
+ // });
+ // //订阅事件
+ // billboard.on(global.DC.MouseEventType.CLICK, (e) => {
+ // // console.log(e);
+ // // return;
+ // // 定制化窗体
+ // let position = e.position,
+ // lntLat = [e.overlay._position._lng, e.overlay._position._lat];
+ // let windowData = {
+ // position,
+ // lntLat,
+ // query: {
+ // ...(value[2] || {}),
+ // position,
+ // lntLat,
+ // notAddGoOn: "notAddGoOn",
+ // },
+ // useJWD: true, //仅使用经纬度
+ // };
+ // dispatch("setMobileWindows", windowData);
+ // });
+ // drawALineLayerMany.addOverlay(billboard);
+ // let Labels = new global.DC.Label(position, point[k].name);
+ // Labels.setStyle({
+ // font: "16px sans-serif", // CSS 字体设置
+ // scale: 1, //比例
+ // fillColor: white, //文字颜色
+ // showBackground: true, //是否显示背景
+ // backgroundColor: blue, //背景颜色
+ // // outlineColor: white, //边框颜色
+ // // outlineWidth: 1, //边框大小,
+ // pixelOffset: { x: 0, y: -47 }, //偏移像素
+ // });
+ let Labels = new global.DC.DivIcon(
+ // new this.DC.Position(Number(item[0]), Number(item[1]), 0),
position,
- "img/dingwei/dingwei1.png"
- ); //加入绘画点
- billboard.setStyle({
- pixelOffset: { x: 0, y: -17 }, //偏移像素
- });
- //订阅事件
- billboard.on(global.DC.MouseEventType.CLICK, (e) => {
- // console.log(e);
- // return;
- // 定制化窗体
- let position = e.position,
- lntLat = [e.overlay._position._lng, e.overlay._position._lat];
- let windowData = {
- position,
- lntLat,
- query: {
- ...(value[2] || {}),
- position,
- lntLat,
- notAddGoOn: "notAddGoOn",
- },
- useJWD: true, //仅使用经纬度
- };
- dispatch("setMobileWindows", windowData);
- });
- drawALineLayerMany.addOverlay(billboard);
- let Labels = new global.DC.Label(position, point[k].name);
- Labels.setStyle({
- font: "16px sans-serif", // CSS 字体设置
- scale: 1, //比例
- fillColor: white, //文字颜色
- showBackground: true, //是否显示背景
- backgroundColor: blue, //背景颜色
- // outlineColor: white, //边框颜色
- // outlineWidth: 1, //边框大小,
- pixelOffset: { x: 0, y: -47 }, //偏移像素
- });
+ `
+ <div class="point-entitys-box">
+ <div class="point-logo">
+ <img src="/img/icon/activity.png">
+ </div>
+ <div class="point-title">
+ ${point[k].name}
+ </div>
+ </div>
+ `
+ );
//订阅事件
Labels.on(global.DC.MouseEventType.CLICK, (e) => {
// console.log(e);
// return;
+ if (value[3]) {
+ value[3]();
+ }
// 定制化窗体
let position = e.position,
lntLat = [e.overlay._position._lng, e.overlay._position._lat];
@@ -921,11 +962,12 @@
};
dispatch("setMobileWindows", windowData);
});
- drawALineLayerMany.addOverlay(Labels);
+ drawAPointLayerMany.addOverlay(Labels);
// console.log(point[k]);
}
state.drawALineLayerMany = drawALineLayerMany;
- state.isOpenDrawALineMany = value[2].name ? value[2].name : true;
+ state.drawAPointLayerMany = drawAPointLayerMany;
+ // state.isOpenDrawALineMany = value[2].name ? value[2].name : true;
// commit("cameraSetView", state.navigationStartLngLat); //移动
},
},
diff --git a/src/store/modules/mobilePosition.js b/src/store/modules/mobilePosition.js
new file mode 100644
index 0000000..e9045bf
--- /dev/null
+++ b/src/store/modules/mobilePosition.js
@@ -0,0 +1,38 @@
+const mobilePosition = {
+ state: { getSPosition: null },
+ mutations: {
+ GET_NOWPOSITION(state, val) {
+ let outData =
+ val ||
+ function (res) {
+ console.log(res);
+ };
+ if (navigator.geolocation) {
+ console.log("支持navigator.geolocation-111111111111111");
+ try {
+ state.getSPosition = navigator.geolocation.getCurrentPosition(
+ function (position) {
+ console.log(position);
+ var lat = position.coords.latitude;
+ var lon = position.coords.longitude;
+ console.log("成功返回经纬度信息");
+ console.log(lon, lat);
+ outData([lon, lat]);
+ }
+ );
+ } catch {
+ console.log("支持navigator.geolocation-需要HTTPS");
+ }
+ } else {
+ console.log("不支持navigator.geolocation");
+ return "不支持navigator.geolocation";
+ }
+ },
+ CLOSE_NOWPOSITION(state) {
+ state.getSPosition = null;
+ },
+ },
+ actions: {},
+};
+
+export default mobilePosition;
--
Gitblit v1.9.3