From e7c6c4eecddae9515b0cd1be68335690843df3d1 Mon Sep 17 00:00:00 2001
From: liuyg <liuyg@qq.com>
Date: Wed, 02 Mar 2022 15:19:23 +0800
Subject: [PATCH] +自定义标签的添加和删除
---
src/api/pc/label.js | 33 +
src/store/modules/popupParams.js | 89 ++
src/components/mobileActivity/index.vue | 2
src/router/axios.js | 3
src/store/getters.js | 6
src/components/map/components/mapPopup.vue | 1290 +++++++++++++++++++++++----------------------
src/pcviews/tool/sign.vue | 218 ++++---
7 files changed, 907 insertions(+), 734 deletions(-)
diff --git a/src/api/pc/label.js b/src/api/pc/label.js
new file mode 100644
index 0000000..bd379c7
--- /dev/null
+++ b/src/api/pc/label.js
@@ -0,0 +1,33 @@
+/*
+ * @Author: Morpheus
+ * @Date: 2021-05-09 15:17:44
+ * @Last Modified by: Morpheus
+ * @Last Modified time: 2021-12-14 08:58:30
+ */
+// 党群机构
+import request from '@/router/axios'
+
+export const setlabel = (data) => {
+ return request({
+ url: 'tagging/tagging/save',
+ method: 'post',
+ data: data
+ })
+}
+
+export const getlabel = () => {
+ return request({
+ url: 'tagging/tagging/list',
+ method: 'get',
+ })
+}
+
+export const deletelabel = (id) => {
+ return request({
+ url: 'tagging/tagging/remove',
+ method: 'post',
+ params: {
+ ids: id
+ }
+ })
+}
\ No newline at end of file
diff --git a/src/components/map/components/mapPopup.vue b/src/components/map/components/mapPopup.vue
index 07cf8f9..1d5704e 100644
--- a/src/components/map/components/mapPopup.vue
+++ b/src/components/map/components/mapPopup.vue
@@ -1,652 +1,696 @@
<template>
- <div>
- <div id="map_popup_content">
- <div v-if="detailsPopup" class="divForms-dom" id="divFormsDomBox">
- <div style="width: 100%; height: 100%;">
- <div class="divForms divForms-theme">
- <div class="divForms-wrap">
- <div class="area">
- <div class="arrow-lt"></div>
- <div class="b-t"></div>
- <div class="b-r"></div>
- <div class="b-b"></div>
- <div class="b-l"></div>
- <div class="arrow-rb"></div>
- <div class="label-wrap">
- <div class="title">
- {{ stateName }}
- <img
- v-show="introduceText != null && introduceText != ''"
- @click="audioPlay"
- class="audio-control"
- src="/img/navicon/audio.png"
- alt
- />
- <img
- @click="closeMapPopupBox"
- class="close-box"
- src="/img/navicon/close.png"
- alt
- />
- </div>
- <div class="label-content">
- <div class="arc-bcg">
- <img :src="popupBgUrl" alt />
- </div>
- <div
- v-show="siteName != null && siteName != ''"
- class="site"
- >
- <strong>地址:</strong>
- {{ siteName }}
- </div>
- <div
- v-show="telephone != null && telephone != ''"
- class="phone"
- >
- <strong>电话:</strong>
- {{ telephone }}
- </div>
- <div
- v-show="introduceText != null && introduceText != ''"
- class="introduce"
- >
- <p ref="DomIntroduceText">
- <strong>介绍:</strong>
- <span v-html="introduceText"></span>
- </p>
- </div>
- <div class="popup-nav">
- <ul>
- <li @click="comeHereClick">
- <i class="popup-icon come-nav deblurring"></i>
- 到这
- </li>
- <li @click="getToHereClick">
- <i class="popup-icon start-nav deblurring"></i>
- 出发
- </li>
- <li v-show="false" @click="qrCodeClick">
- <i class="popup-icon qr-code-nav deblurring"></i>
- 二维码
- </li>
- <li @click="imgsClick">
- <i class="popup-icon atlas-nav deblurring"></i>
- 图集
- </li>
- <li
- v-show="panoramaUrl != null && panoramaUrl != ''"
- @click="panoramaClick"
- >
- <i
- class="popup-icon live-action-nav deblurring"
- ></i>
- 实景
- </li>
- <!-- v-show="panoramaUrl != null && panoramaUrl != ''" -->
- <li v-show="false" @click="monitorClick">
- <i class="popup-icon monitor-nav deblurring"></i>
- 监控
- </li>
- </ul>
- </div>
- <div
- v-show="teachList.length > 0 || liveList.length > 0"
- class="arc-box"
- >
- <ul class="tab-btn">
- <li
- v-show="teachList.length > 0"
- :class="{ on: tabBtnFlag == '教学科研行政' }"
- @click="tabBtnClick('教学科研行政')"
- >教学科研行政</li>
- <li
- v-show="liveList.length > 0"
- :class="{ on: tabBtnFlag == '生活服务' }"
- @click="tabBtnClick('生活服务')"
- >生活服务</li>
- </ul>
- <div class="btm-content">
- <div :class="{ on: tabBtnFlag == '教学科研行政' }">
- <ul>
- <li
- v-for="(item, index) in teachList"
- :key="index"
- @click="mechanismDetailPopup(0, item)"
- >
- <i
- class="popup-icon location-icon deblurring"
- ></i>
- {{ item }}
- </li>
- </ul>
- </div>
- <div :class="{ on: tabBtnFlag == '生活服务' }">
- <ul>
- <li
- v-for="(item, index) in liveList"
- :key="index"
- @click="mechanismDetailPopup(1, item)"
- >
- <i
- class="popup-icon location-icon deblurring"
- ></i>
- {{ item }}
- </li>
- </ul>
- </div>
- </div>
- </div>
- <div class="btm-box"></div>
- </div>
- </div>
- </div>
- <div class="b-t-l"></div>
- <div class="b-b-r"></div>
- </div>
- <div class="arrow"></div>
+ <div>
+ <div id="map_popup_content">
+ <div v-if="detailsPopup" class="divForms-dom" id="divFormsDomBox">
+ <div style="width: 100%; height: 100%">
+ <div class="divForms divForms-theme">
+ <div class="divForms-wrap">
+ <div class="area">
+ <div class="arrow-lt"></div>
+ <div class="b-t"></div>
+ <div class="b-r"></div>
+ <div class="b-b"></div>
+ <div class="b-l"></div>
+ <div class="arrow-rb"></div>
+ <div class="label-wrap">
+ <div class="title">
+ {{ stateName }}
+ <img
+ v-show="introduceText != null && introduceText != ''"
+ @click="audioPlay"
+ class="audio-control"
+ src="/img/navicon/audio.png"
+ alt
+ />
+ <img
+ @click="closeMapPopupBox"
+ class="close-box"
+ src="/img/navicon/close.png"
+ alt
+ />
+ </div>
+ <div class="label-content">
+ <div class="arc-bcg">
+ <img :src="popupBgUrl" alt />
</div>
- </div>
- </div>
-
- <div
- v-if="panoramaPopup"
- class="panorama-dom"
- :class="{'change-full': fullscreen}"
- id="PanoramaBox"
- >
- <div style="width: 100%; height: 100%;">
- <div class="panorama-container">
- <div class="panorama-wrap">
- <div
- class="content-wrap"
- :class="{'change-full': fullscreen}"
- id="FullScreenBox"
+ <div
+ v-show="siteName != null && siteName != ''"
+ class="site"
+ >
+ <strong>地址:</strong>
+ {{ siteName }}
+ </div>
+ <div
+ v-show="telephone != null && telephone != ''"
+ class="phone"
+ >
+ <strong>电话:</strong>
+ {{ telephone }}
+ </div>
+ <div
+ v-show="introduceText != null && introduceText != ''"
+ class="introduce"
+ >
+ <p ref="DomIntroduceText">
+ <strong>介绍:</strong>
+ <span v-html="introduceText"></span>
+ </p>
+ </div>
+ <div class="popup-nav">
+ <ul>
+ <li @click="comeHereClick">
+ <i class="popup-icon come-nav deblurring"></i>
+ 到这
+ </li>
+ <li @click="getToHereClick">
+ <i class="popup-icon start-nav deblurring"></i>
+ 出发
+ </li>
+ <li v-show="false" @click="qrCodeClick">
+ <i class="popup-icon qr-code-nav deblurring"></i>
+ 二维码
+ </li>
+ <li @click="imgsClick">
+ <i class="popup-icon atlas-nav deblurring"></i>
+ 图集
+ </li>
+ <li
+ v-show="panoramaUrl != null && panoramaUrl != ''"
+ @click="panoramaClick"
+ >
+ <i class="popup-icon live-action-nav deblurring"></i>
+ 实景
+ </li>
+ <!-- v-show="panoramaUrl != null && panoramaUrl != ''" -->
+ <li v-show="false" @click="monitorClick">
+ <i class="popup-icon monitor-nav deblurring"></i>
+ 监控
+ </li>
+ </ul>
+ </div>
+ <div
+ v-show="teachList.length > 0 || liveList.length > 0"
+ class="arc-box"
+ >
+ <ul class="tab-btn">
+ <li
+ v-show="teachList.length > 0"
+ :class="{ on: tabBtnFlag == '教学科研行政' }"
+ @click="tabBtnClick('教学科研行政')"
+ >
+ 教学科研行政
+ </li>
+ <li
+ v-show="liveList.length > 0"
+ :class="{ on: tabBtnFlag == '生活服务' }"
+ @click="tabBtnClick('生活服务')"
+ >
+ 生活服务
+ </li>
+ </ul>
+ <div class="btm-content">
+ <div :class="{ on: tabBtnFlag == '教学科研行政' }">
+ <ul>
+ <li
+ v-for="(item, index) in teachList"
+ :key="index"
+ @click="mechanismDetailPopup(0, item)"
>
- <div class="title">
- {{ stateName }}
- <img
- @click="screen"
- class="full-srceen-btn"
- :src="fullScreenUrl"
- alt
- />
- <img
- @click="closePanoramaPopupBox"
- class="close-box"
- src="/img/navicon/close.png"
- alt
- />
- </div>
- <div class="content">
- <iframe
- allowfullscreen="true"
- :src="panoramaUrl"
- frameborder="0"
- ></iframe>
- </div>
- </div>
+ <i
+ class="popup-icon location-icon deblurring"
+ ></i>
+ {{ item }}
+ </li>
+ </ul>
</div>
- <div class="arrow"></div>
- </div>
- </div>
- </div>
-
- <div v-if="monitorPopup" class="monitor-dom" id="MonitorBox">
- <div style="width: 100%; height: 100%;">
- <div class="monitor-container">
- <div class="monitor-wrap">
- <div class="content-wrap">
- <div class="title">
- {{ stateName }}
- <img
- @click="closeMonitorPopupBox"
- class="close-box"
- src="/img/navicon/close.png"
- alt
- />
- </div>
- <div class="content">
- <video :src="monitorUrl" controls autoplay></video>
- </div>
- </div>
+ <div :class="{ on: tabBtnFlag == '生活服务' }">
+ <ul>
+ <li
+ v-for="(item, index) in liveList"
+ :key="index"
+ @click="mechanismDetailPopup(1, item)"
+ >
+ <i
+ class="popup-icon location-icon deblurring"
+ ></i>
+ {{ item }}
+ </li>
+ </ul>
</div>
- <div class="arrow"></div>
+ </div>
</div>
+ <div class="btm-box"></div>
+ </div>
</div>
+ </div>
+ <div class="b-t-l"></div>
+ <div class="b-b-r"></div>
</div>
-
- <div v-if="addTagPopup" class="divForms-dom" id="AddTagBox">
- <div style="width: 100%; height: 100%;">
- <div class="divForms divForms-theme">
- <div class="divForms-wrap">
- <div class="area">
- <div class="arrow-lt"></div>
- <div class="b-t"></div>
- <div class="b-r"></div>
- <div class="b-b"></div>
- <div class="b-l"></div>
- <div class="arrow-rb"></div>
- <div class="label-wrap">
- <div class="title">
- 地图标记
- <img
- @click="closeAddTagBox"
- class="close-box"
- src="/img/navicon/close.png"
- alt
- />
- </div>
- <div class="add-tag-content">
- <div>
- <el-input v-model="addTagName" placeholder="请输入标签名称"></el-input>
- </div>
- <div>
- <el-button type="primary" @click="createTag">生成标记</el-button>
- </div>
- </div>
- </div>
- </div>
- <div class="b-t-l"></div>
- <div class="b-b-r"></div>
- </div>
- <div class="arrow"></div>
- </div>
- </div>
- </div>
+ <div class="arrow"></div>
+ </div>
</div>
+ </div>
- <!-- 二维码弹框相关 -->
- <el-dialog
- title="场景二维码"
- :visible.sync="QRCodeFlag"
- :modal="false"
- :modal-append-to-body="false"
- width="44%"
- >
- <div style="margin: 0; position: relative; width: 100%; height: 352px;">
- <img
- width="260"
- :src="pupupQRUrl"
+ <div
+ v-if="panoramaPopup"
+ class="panorama-dom"
+ :class="{ 'change-full': fullscreen }"
+ id="PanoramaBox"
+ >
+ <div style="width: 100%; height: 100%">
+ <div class="panorama-container">
+ <div class="panorama-wrap">
+ <div
+ class="content-wrap"
+ :class="{ 'change-full': fullscreen }"
+ id="FullScreenBox"
+ >
+ <div class="title">
+ {{ stateName }}
+ <img
+ @click="screen"
+ class="full-srceen-btn"
+ :src="fullScreenUrl"
alt
- style="position: absolute;
- top: 0;
- left: 0;
- right: 0;
- bottom: 0;
- margin: auto"
- />
- <div
- style="position: absolute; bottom: 0; width: 100%; line-height: 36px; text-align: center;"
- >(右键另存为图片)</div>
+ />
+ <img
+ @click="closePanoramaPopupBox"
+ class="close-box"
+ src="/img/navicon/close.png"
+ alt
+ />
+ </div>
+ <div class="content">
+ <iframe
+ allowfullscreen="true"
+ :src="panoramaUrl"
+ frameborder="0"
+ ></iframe>
+ </div>
+ </div>
</div>
- </el-dialog>
+ <div class="arrow"></div>
+ </div>
+ </div>
+ </div>
- <el-image
- v-show="false"
- style="width: 100px; height: 100px"
- :src="popupImgAtlas[0]"
- :preview-src-list="popupImgAtlas"
- ref="popupImgs"
- ></el-image>
+ <div v-if="monitorPopup" class="monitor-dom" id="MonitorBox">
+ <div style="width: 100%; height: 100%">
+ <div class="monitor-container">
+ <div class="monitor-wrap">
+ <div class="content-wrap">
+ <div class="title">
+ {{ stateName }}
+ <img
+ @click="closeMonitorPopupBox"
+ class="close-box"
+ src="/img/navicon/close.png"
+ alt
+ />
+ </div>
+ <div class="content">
+ <video :src="monitorUrl" controls autoplay></video>
+ </div>
+ </div>
+ </div>
+ <div class="arrow"></div>
+ </div>
+ </div>
+ </div>
+
+ <div v-if="addTagPopup" class="divForms-dom" id="AddTagBox">
+ <div style="width: 100%; height: 100%">
+ <div class="divForms divForms-theme">
+ <div class="divForms-wrap">
+ <div class="area">
+ <div class="arrow-lt"></div>
+ <div class="b-t"></div>
+ <div class="b-r"></div>
+ <div class="b-b"></div>
+ <div class="b-l"></div>
+ <div class="arrow-rb"></div>
+ <div class="label-wrap">
+ <div class="title">
+ 地图标记
+ <img
+ @click="closeAddTagBox"
+ class="close-box"
+ src="/img/navicon/close.png"
+ alt
+ />
+ </div>
+ <div class="add-tag-content">
+ <div>
+ <el-input
+ v-model="addTagName"
+ placeholder="请输入标签名称"
+ ></el-input>
+ </div>
+ <div>
+ <el-button type="primary" @click="createTag"
+ >生成标记</el-button
+ >
+ </div>
+ </div>
+ </div>
+ </div>
+ <div class="b-t-l"></div>
+ <div class="b-b-r"></div>
+ </div>
+ <div class="arrow"></div>
+ </div>
+ </div>
+ </div>
</div>
+
+ <!-- 二维码弹框相关 -->
+ <el-dialog
+ title="场景二维码"
+ :visible.sync="QRCodeFlag"
+ :modal="false"
+ :modal-append-to-body="false"
+ width="44%"
+ >
+ <div style="margin: 0; position: relative; width: 100%; height: 352px">
+ <img
+ width="260"
+ :src="pupupQRUrl"
+ alt
+ style="
+ position: absolute;
+ top: 0;
+ left: 0;
+ right: 0;
+ bottom: 0;
+ margin: auto;
+ "
+ />
+ <div
+ style="
+ position: absolute;
+ bottom: 0;
+ width: 100%;
+ line-height: 36px;
+ text-align: center;
+ "
+ >
+ (右键另存为图片)
+ </div>
+ </div>
+ </el-dialog>
+
+ <el-image
+ v-show="false"
+ style="width: 100px; height: 100px"
+ :src="popupImgAtlas[0]"
+ :preview-src-list="popupImgAtlas"
+ ref="popupImgs"
+ ></el-image>
+ </div>
</template>
<script>
-import { mapGetters } from 'vuex'
-import { getMechanismDetail } from '@/api/pc/public/arc'
+import { mapGetters } from "vuex";
+import { getMechanismDetail } from "@/api/pc/public/arc";
+import { setlabel } from "@/api/pc/label";
export default {
- name: 'mapPopup',
- data () {
- return {
- DC: null,
- tabBtnFlag: '教学科研行政',
- QRCodeFlag: false,
- audioSource: '',
- audioFlag: false,
- audioCourse: false,
- audioSynth: null,
- audioMsg: null,
- fullscreen: false,
- fullScreenUrl: '/img/icon/bigScreen.png',
- addTagName: '',
- addTagLayer: null
+ name: "mapPopup",
+ data() {
+ return {
+ DC: null,
+ tabBtnFlag: "教学科研行政",
+ QRCodeFlag: false,
+ audioSource: "",
+ audioFlag: false,
+ audioCourse: false,
+ audioSynth: null,
+ audioMsg: null,
+ fullscreen: false,
+ fullScreenUrl: "/img/icon/bigScreen.png",
+ addTagName: "",
+ addTagLayer: null,
+ };
+ },
+ computed: {
+ ...mapGetters([
+ "viewer",
+ "popupBgUrl",
+ "pupupQRUrl",
+ // 终点
+ "terminus",
+ // 起点
+ "startingPoint",
+ // 点信息
+ "pointPosition",
+ // 点名称
+ "stateName",
+ // 地址
+ "siteName",
+ // 电话
+ "telephone",
+ // 介绍
+ "introduceText",
+ // 详情弹框显示关闭
+ "detailsPopup",
+ // 全景地址
+ "panoramaUrl",
+ // 全景弹框显示关闭
+ "panoramaPopup",
+ // 监控地址
+ "monitorUrl",
+ // 监控弹框显示关闭
+ "monitorPopup",
+
+ "popupImgAtlas",
+ // 教学
+ "teachList",
+ // 科研
+ "liveList",
+ // 社区内导航的显示关闭
+ "campusNavFlag",
+ "addTagPopup",
+ "addTagPosition",
+ ]),
+ },
+ created() {
+ this.DC = global.DC;
+
+ this.audioSynth = window.speechSynthesis;
+ this.audioMsg = new window.SpeechSynthesisUtterance();
+
+ this.audioMsg.onend = function () {
+ this.audioSynth.cancel();
+ this.audioFlag = false;
+ this.audioCourse = false;
+ };
+ },
+ mounted() {},
+ watch: {
+ introduceText: {
+ immediate: true,
+ handler(newQuestion, oldQuestion) {
+ this.audioSource = newQuestion;
+ if (this.audioFlag == true) {
+ this.audioSynth.cancel();
+ this.audioFlag = false;
+ this.audioCourse = false;
}
+ },
},
- computed: {
- ...mapGetters([
- 'viewer',
- 'popupBgUrl',
- 'pupupQRUrl',
- // 终点
- 'terminus',
- // 起点
- 'startingPoint',
- // 点信息
- 'pointPosition',
- // 点名称
- 'stateName',
- // 地址
- 'siteName',
- // 电话
- 'telephone',
- // 介绍
- 'introduceText',
- // 详情弹框显示关闭
- 'detailsPopup',
- // 全景地址
- 'panoramaUrl',
- // 全景弹框显示关闭
- 'panoramaPopup',
- // 监控地址
- 'monitorUrl',
- // 监控弹框显示关闭
- 'monitorPopup',
-
- 'popupImgAtlas',
- // 教学
- 'teachList',
- // 科研
- 'liveList',
- // 社区内导航的显示关闭
- 'campusNavFlag',
- 'addTagPopup',
- 'addTagPosition'
- ])
- },
- created () {
- this.DC = global.DC
-
- this.audioSynth = window.speechSynthesis
- this.audioMsg = new window.SpeechSynthesisUtterance()
-
- this.audioMsg.onend = function () {
- this.audioSynth.cancel()
- this.audioFlag = false
- this.audioCourse = false
+ teachList: {
+ immediate: true,
+ handler(newCode, oldCode) {
+ if (newCode.length > 0) {
+ this.tabBtnFlag = "教学科研行政";
}
+ },
},
- mounted () {
-
- },
- watch: {
- introduceText: {
- immediate: true,
- handler (newQuestion, oldQuestion) {
- this.audioSource = newQuestion
- if (this.audioFlag == true) {
- this.audioSynth.cancel()
- this.audioFlag = false
- this.audioCourse = false
- }
- }
- },
- teachList: {
- immediate: true,
- handler (newCode, oldCode) {
- if (newCode.length > 0) {
- this.tabBtnFlag = '教学科研行政'
- }
- }
- },
- liveList: {
- immediate: true,
- handler (newCode, oldCode) {
- if (newCode.length > 0 && this.teachList.length == 0) {
- this.tabBtnFlag = '生活服务'
- }
- }
- },
- detailsPopup: {
- immediate: true,
- handler (newCode, oldCode) {
- if (newCode == false) {
- this.audioSynth.cancel()
- this.audioFlag = false
- this.audioCourse = false
- } else {
- if (this.audioFlag == true) {
- this.audioSynth.cancel()
- this.audioFlag = false
- this.audioCourse = false
- }
- }
- }
+ liveList: {
+ immediate: true,
+ handler(newCode, oldCode) {
+ if (newCode.length > 0 && this.teachList.length == 0) {
+ this.tabBtnFlag = "生活服务";
}
+ },
},
- methods: {
- screen () {
- if (this.fullscreen) {
- this.fullScreenUrl = '/img/icon/bigScreen.png'
- this.fullscreen = !this.fullscreen
-
- document.getElementById('pcElHeader').style.zIndex = 9999
- } else {
- this.fullScreenUrl = '/img/icon/smallScreen.png'
- this.fullscreen = !this.fullscreen
-
- document.getElementById('pcElHeader').style.zIndex = 9
- }
- },
-
- tabBtnClick (param) {
- this.tabBtnFlag = param
- },
-
- comeHereClick () {
- this.$store.commit('SET_COMENAME', this.stateName)
- this.$store.commit('SET_TERMINUS', this.pointPosition)
- if (this.campusNavFlag == false) {
- this.$store.commit('SET_CAMPUSNAVFLAG', true)
- }
- },
-
- getToHereClick () {
- this.$store.commit('SET_GETTONAME', this.stateName)
- this.$store.commit('SET_STARTINGPOINT', this.pointPosition)
- if (this.campusNavFlag == false) {
- this.$store.commit('SET_CAMPUSNAVFLAG', true)
- }
- },
-
- qrCodeClick () {
- this.QRCodeFlag = true
- },
-
- imgsClick () {
- this.$refs.popupImgs.clickHandler()
- },
-
- panoramaClick () {
- if (this.audioFlag == true) {
- this.audioSynth.cancel()
- this.audioFlag = false
- this.audioCourse = false
- }
-
- // eslint-disable-next-line new-cap
- var positions = this.DC.Transform.transformWGS84ToCartesian(
- // eslint-disable-next-line new-cap
- new this.DC.Position.fromArray(this.pointPosition)
- )
- this.viewer.scene.globe.depthTestAgainstTerrain = false
- // eslint-disable-next-line no-unused-vars
- var panorama = new this.DC.PanoramaBox(this.viewer, {
- domId: 'PanoramaBox',
- position: [positions]
- })
-
- this.$store.commit('SET_DETAILSPOPUP', false)
- this.$store.commit('SET_MONITORPOPUP', false)
- this.$store.commit('SET_PANORAMAPOPUP', true)
- },
-
- monitorClick () {
- if (this.audioFlag == true) {
- this.audioSynth.cancel()
- this.audioFlag = false
- this.audioCourse = false
- }
- // eslint-disable-next-line new-cap
- var positions = this.DC.Transform.transformWGS84ToCartesian(
- // eslint-disable-next-line new-cap
- new this.DC.Position.fromArray(this.pointPosition)
- )
- this.viewer.scene.globe.depthTestAgainstTerrain = false
- // eslint-disable-next-line no-unused-vars
- var monitor = new this.DC.PanoramaBox(this.viewer, {
- domId: 'MonitorBox',
- position: [positions]
- })
- this.$store.commit('SET_PANORAMAPOPUP', false)
- this.$store.commit('SET_DETAILSPOPUP', false)
- this.$store.commit('SET_MONITORPOPUP', true)
- },
-
- closeMapPopupBox () {
- if (this.audioFlag == true) {
- this.audioSynth.cancel()
- this.audioFlag = false
- this.audioCourse = false
- }
- this.$store.commit('SET_DETAILSPOPUP', false)
- },
-
- // 新增标记相关事件
- closeAddTagBox () {
- this.$store.commit('SET_ADDTAGPOPUP', false)
- },
-
- createTag () {
- var that = this
-
- console.log(this.RemoveTheBlank(this.addTagName))
-
- if (this.RemoveTheBlank(this.addTagName) == '') {
- this.$message('请输入标签名称')
- return
- }
-
- this.$store.commit('SET_ADDTAGPOPUP', false)
-
- if (this.addTagLayer == null) {
- this.addTagLayer = new this.DC.HtmlLayer('addTagLayer')
- this.viewer.addLayer(this.addTagLayer)
- }
-
- const divIcon = new this.DC.DivIcon(
- new that.DC.Position(Number(that.addTagPosition.lng), Number(that.addTagPosition.lat), 0),
- `
- <div class="tag-entitys-box">
- <div class="tag-content">
- ${that.addTagName}
- </div>
- <div class="tag-angle-content">
- <img src="https://map.hit.edu.cn/images/tarrow_xq.png">
- </div>
- </div>
- `
- )
-
- this.addTagName = ''
-
- this.addTagLayer.addOverlay(divIcon)
- },
-
- closePanoramaPopupBox () {
- this.$store.commit('SET_PANORAMAURL', '')
- this.$store.commit('SET_PANORAMAPOPUP', false)
- },
-
- closeMonitorPopupBox () {
- this.$store.commit('SET_MONITORURL', '')
- this.$store.commit('SET_MONITORPOPUP', false)
- },
-
- audioPlay () {
- if (this.audioFlag == false) {
- this.audioMsg.text = this.audioSource
- this.audioSynth.speak(this.audioMsg)
- this.audioFlag = true
- this.audioCourse = true
- } else {
- if (this.audioCourse == true) {
- this.audioSynth.pause()
- this.audioCourse = false
- } else {
- this.audioSynth.resume()
- this.audioCourse = true
- }
- }
- },
-
- mechanismDetailPopup (num, param) {
- getMechanismDetail({ num: num, mechanismName: param }).then((res) => {
- var result = res.data.data
- this.$store.commit('CLEAR_ALL', null)
-
- var imgArr = result.tpurl.split(',')
-
- this.$store.commit('SET_POPUPBGURL', imgArr[0])
- this.$store.commit('SET_POPUPQRURL', result.codeurl)
- this.$store.commit('SET_POINTPOSITION', [
- Number(result.jd),
- Number(result.wd),
- Number(result.gd),
- Number(result.heading),
- Number(result.pitch),
- Number(result.roll)
- ])
- this.$store.commit('SET_STATENAME', result.mechanismname)
- this.$store.commit('SET_SITENAME', result.address)
- this.$store.commit('SET_TELEPHONE', result.telephone)
- this.$store.commit('SET_INTRODUCETEXT', result.introduce)
- this.$store.commit('SET_POPUPIMGATLAS', imgArr)
-
- if (result.videourl && result.videourl != '') {
- this.$store.commit('SET_MONITORURL', result.videourl)
- }
-
- this.newPopup(result)
- this.viewer.flyToPosition(
- new this.DC.Position(
- Number(result.jd),
- Number(result.wd),
- 300,
- Number(result.heading),
- Number(result.pitch),
- Number(result.roll)
- ),
- function () { },
- 3
- )
- })
- },
-
- newPopup (item) {
- const position = this.DC.Transform.transformWGS84ToCartesian(
- new this.DC.Position(Number(item.jd), Number(item.wd), Number(item.gd))
- )
- // eslint-disable-next-line no-unused-vars
- var popup = new this.DC.DivForms(this.viewer, {
- domId: 'divFormsDomBox',
- position: [position]
- })
-
- this.$store.commit('SET_PANORAMAPOPUP', false)
- this.$store.commit('SET_MONITORPOPUP', false)
- this.$store.commit('SET_DETAILSPOPUP', true)
- },
-
- /**
- * 删除左右两端的空格
- */
- RemoveTheBlank (str) {
- return str.replace(/(^\s*)|(\s*$)/g, '')
+ detailsPopup: {
+ immediate: true,
+ handler(newCode, oldCode) {
+ if (newCode == false) {
+ this.audioSynth.cancel();
+ this.audioFlag = false;
+ this.audioCourse = false;
+ } else {
+ if (this.audioFlag == true) {
+ this.audioSynth.cancel();
+ this.audioFlag = false;
+ this.audioCourse = false;
+ }
}
- }
-}
+ },
+ },
+ },
+ methods: {
+ screen() {
+ if (this.fullscreen) {
+ this.fullScreenUrl = "/img/icon/bigScreen.png";
+ this.fullscreen = !this.fullscreen;
+
+ document.getElementById("pcElHeader").style.zIndex = 9999;
+ } else {
+ this.fullScreenUrl = "/img/icon/smallScreen.png";
+ this.fullscreen = !this.fullscreen;
+
+ document.getElementById("pcElHeader").style.zIndex = 9;
+ }
+ },
+
+ tabBtnClick(param) {
+ this.tabBtnFlag = param;
+ },
+
+ comeHereClick() {
+ this.$store.commit("SET_COMENAME", this.stateName);
+ this.$store.commit("SET_TERMINUS", this.pointPosition);
+ if (this.campusNavFlag == false) {
+ this.$store.commit("SET_CAMPUSNAVFLAG", true);
+ }
+ },
+
+ getToHereClick() {
+ this.$store.commit("SET_GETTONAME", this.stateName);
+ this.$store.commit("SET_STARTINGPOINT", this.pointPosition);
+ if (this.campusNavFlag == false) {
+ this.$store.commit("SET_CAMPUSNAVFLAG", true);
+ }
+ },
+
+ qrCodeClick() {
+ this.QRCodeFlag = true;
+ },
+
+ imgsClick() {
+ this.$refs.popupImgs.clickHandler();
+ },
+
+ panoramaClick() {
+ if (this.audioFlag == true) {
+ this.audioSynth.cancel();
+ this.audioFlag = false;
+ this.audioCourse = false;
+ }
+
+ // eslint-disable-next-line new-cap
+ var positions = this.DC.Transform.transformWGS84ToCartesian(
+ // eslint-disable-next-line new-cap
+ new this.DC.Position.fromArray(this.pointPosition)
+ );
+ this.viewer.scene.globe.depthTestAgainstTerrain = false;
+ // eslint-disable-next-line no-unused-vars
+ var panorama = new this.DC.PanoramaBox(this.viewer, {
+ domId: "PanoramaBox",
+ position: [positions],
+ });
+
+ this.$store.commit("SET_DETAILSPOPUP", false);
+ this.$store.commit("SET_MONITORPOPUP", false);
+ this.$store.commit("SET_PANORAMAPOPUP", true);
+ },
+
+ monitorClick() {
+ if (this.audioFlag == true) {
+ this.audioSynth.cancel();
+ this.audioFlag = false;
+ this.audioCourse = false;
+ }
+ // eslint-disable-next-line new-cap
+ var positions = this.DC.Transform.transformWGS84ToCartesian(
+ // eslint-disable-next-line new-cap
+ new this.DC.Position.fromArray(this.pointPosition)
+ );
+ this.viewer.scene.globe.depthTestAgainstTerrain = false;
+ // eslint-disable-next-line no-unused-vars
+ var monitor = new this.DC.PanoramaBox(this.viewer, {
+ domId: "MonitorBox",
+ position: [positions],
+ });
+ this.$store.commit("SET_PANORAMAPOPUP", false);
+ this.$store.commit("SET_DETAILSPOPUP", false);
+ this.$store.commit("SET_MONITORPOPUP", true);
+ },
+
+ closeMapPopupBox() {
+ if (this.audioFlag == true) {
+ this.audioSynth.cancel();
+ this.audioFlag = false;
+ this.audioCourse = false;
+ }
+ this.$store.commit("SET_DETAILSPOPUP", false);
+ },
+
+ // 新增标记相关事件
+ closeAddTagBox() {
+ this.$store.commit("SET_ADDTAGPOPUP", false);
+ },
+
+ createTag() {
+ var that = this;
+
+ // console.log(this.RemoveTheBlank(this.addTagName));
+
+ if (this.RemoveTheBlank(this.addTagName) == "") {
+ this.$message("请输入标签名称");
+ return;
+ }
+
+ this.$store.commit("SET_ADDTAGPOPUP", false);
+
+ // if (this.addTagLayer == null) {
+ // this.addTagLayer = new this.DC.HtmlLayer("addTagLayer");
+ // this.viewer.addLayer(this.addTagLayer);
+ // }
+
+ //2022.3.2对接接口
+ // 新增标签
+ let data = {
+ name: this.RemoveTheBlank(this.addTagName),
+ jd: this.addTagPosition.lng,
+ wd: this.addTagPosition.lat,
+ };
+ // console.log(data);
+ setlabel(data).then((res) => {
+ console.log(res);
+ if (res.data.code == 200) {
+ doit();
+ that.$message({
+ message: "新增标签成功",
+ type: "success",
+ });
+ } else {
+ that.$message({
+ message: "新增标签失败",
+ type: "warning",
+ });
+ }
+ that.addTagName = "";
+ });
+ let doit = () => {
+ that.$store.commit("addLabelLayerIcon", { list: [data], add: true });
+ // const divIcon = new this.DC.DivIcon(
+ // new that.DC.Position(
+ // Number(that.addTagPosition.lng),
+ // Number(that.addTagPosition.lat),
+ // 0
+ // ),
+ // `
+ // <div class="tag-entitys-box">
+ // <div class="tag-content">
+ // ${that.addTagName}
+ // </div>
+ // <div class="tag-angle-content">
+ // <img src="https://map.hit.edu.cn/images/tarrow_xq.png">
+ // </div>
+ // </div>
+ // `
+ // );
+ // this.addTagLayer.addOverlay(divIcon);
+ };
+ },
+
+ closePanoramaPopupBox() {
+ this.$store.commit("SET_PANORAMAURL", "");
+ this.$store.commit("SET_PANORAMAPOPUP", false);
+ },
+
+ closeMonitorPopupBox() {
+ this.$store.commit("SET_MONITORURL", "");
+ this.$store.commit("SET_MONITORPOPUP", false);
+ },
+
+ audioPlay() {
+ if (this.audioFlag == false) {
+ this.audioMsg.text = this.audioSource;
+ this.audioSynth.speak(this.audioMsg);
+ this.audioFlag = true;
+ this.audioCourse = true;
+ } else {
+ if (this.audioCourse == true) {
+ this.audioSynth.pause();
+ this.audioCourse = false;
+ } else {
+ this.audioSynth.resume();
+ this.audioCourse = true;
+ }
+ }
+ },
+
+ mechanismDetailPopup(num, param) {
+ getMechanismDetail({ num: num, mechanismName: param }).then((res) => {
+ var result = res.data.data;
+ this.$store.commit("CLEAR_ALL", null);
+
+ var imgArr = result.tpurl.split(",");
+
+ this.$store.commit("SET_POPUPBGURL", imgArr[0]);
+ this.$store.commit("SET_POPUPQRURL", result.codeurl);
+ this.$store.commit("SET_POINTPOSITION", [
+ Number(result.jd),
+ Number(result.wd),
+ Number(result.gd),
+ Number(result.heading),
+ Number(result.pitch),
+ Number(result.roll),
+ ]);
+ this.$store.commit("SET_STATENAME", result.mechanismname);
+ this.$store.commit("SET_SITENAME", result.address);
+ this.$store.commit("SET_TELEPHONE", result.telephone);
+ this.$store.commit("SET_INTRODUCETEXT", result.introduce);
+ this.$store.commit("SET_POPUPIMGATLAS", imgArr);
+
+ if (result.videourl && result.videourl != "") {
+ this.$store.commit("SET_MONITORURL", result.videourl);
+ }
+
+ this.newPopup(result);
+ this.viewer.flyToPosition(
+ new this.DC.Position(
+ Number(result.jd),
+ Number(result.wd),
+ 300,
+ Number(result.heading),
+ Number(result.pitch),
+ Number(result.roll)
+ ),
+ function () {},
+ 3
+ );
+ });
+ },
+
+ newPopup(item) {
+ const position = this.DC.Transform.transformWGS84ToCartesian(
+ new this.DC.Position(Number(item.jd), Number(item.wd), Number(item.gd))
+ );
+ // eslint-disable-next-line no-unused-vars
+ var popup = new this.DC.DivForms(this.viewer, {
+ domId: "divFormsDomBox",
+ position: [position],
+ });
+
+ this.$store.commit("SET_PANORAMAPOPUP", false);
+ this.$store.commit("SET_MONITORPOPUP", false);
+ this.$store.commit("SET_DETAILSPOPUP", true);
+ },
+
+ /**
+ * 删除左右两端的空格
+ */
+ RemoveTheBlank(str) {
+ return str.replace(/(^\s*)|(\s*$)/g, "");
+ },
+ },
+};
</script>
<style></style>
diff --git a/src/components/mobileActivity/index.vue b/src/components/mobileActivity/index.vue
index a0bb2c6..c367f2f 100644
--- a/src/components/mobileActivity/index.vue
+++ b/src/components/mobileActivity/index.vue
@@ -167,7 +167,7 @@
fn: function (res) {
that.height = +res.height;
that.bottom = +res.height + 15;
- console.log(+res.height, "=======");
+ // console.log(+res.height, "=======");
if (res.state != "on") {
that.openValue = res.state;
}
diff --git a/src/pcviews/tool/sign.vue b/src/pcviews/tool/sign.vue
index fa99df4..5b95913 100644
--- a/src/pcviews/tool/sign.vue
+++ b/src/pcviews/tool/sign.vue
@@ -1,109 +1,157 @@
<template>
- <public-box class="tool-sign">
- <template slot="public-box-header">
- <div class="title">
- <img class="icon deblurring" src="/img/icon/tool-sign.png" alt />
- <span>地图标记</span>
- </div>
- <img class="close" src="/img/navicon/close.png" alt @click="closeModel" />
- </template>
- <template slot="public-box-content">
- <div class="list-box">
- <ul v-show="signList.length > 0">
- <li v-for="(item, index) in signList" :key="index">
- <img src="/img/icon/sign-list.png" alt />
- 我得标记
- <el-button type="danger" size="mini" icon="el-icon-delete" circle></el-button>
- </li>
- </ul>
- <div v-show="signList.length == 0" class="no-data">
- <img src="/img/icon/no-data.png" alt />
- <div>暂无数据</div>
- </div>
- </div>
- <div class="btn-box">
- <el-button type="primary" size="mini" @click.stop="addSign">新增</el-button>
- </div>
- </template>
- </public-box>
+ <public-box class="tool-sign">
+ <template slot="public-box-header">
+ <div class="title">
+ <img class="icon deblurring" src="/img/icon/tool-sign.png" alt />
+ <span>地图标记</span>
+ </div>
+ <img class="close" src="/img/navicon/close.png" alt @click="closeModel" />
+ </template>
+ <template slot="public-box-content">
+ <div class="list-box">
+ <ul v-show="signList.length > 0">
+ <li v-for="(item, index) in signList" :key="index">
+ <img src="/img/icon/sign-list.png" alt />
+ {{ item.name }}
+ <el-button
+ type="danger"
+ size="mini"
+ icon="el-icon-delete"
+ circle
+ @click="deleteIcon(item.id)"
+ ></el-button>
+ </li>
+ </ul>
+ <div v-show="signList.length == 0" class="no-data">
+ <img src="/img/icon/no-data.png" alt />
+ <div>暂无数据</div>
+ </div>
+ </div>
+ <div class="btn-box">
+ <el-button type="primary" size="mini" @click.stop="addSign"
+ >新增</el-button
+ >
+ </div>
+ </template>
+ </public-box>
</template>
<script>
-import { mapGetters } from 'vuex'
+import { mapGetters } from "vuex";
+import { getlabel, deletelabel } from "@/api/pc/label";
export default {
- data () {
- return {
- DC: null,
- signList: [],
- destroyedFlag: true
+ data() {
+ return {
+ DC: null,
+ signList: [],
+ destroyedFlag: true,
+ };
+ },
+ computed: {
+ ...mapGetters(["viewer", "addSignList"]),
+ },
+ mounted() {
+ this.$store.commit("initLabelLayer", this.viewer);
+ this.getData();
+ },
+ watch: {
+ addSignList() {
+ this.getData();
+ },
+ },
+ methods: {
+ deleteIcon(id) {
+ let that = this;
+ deletelabel(id).then((res) => {
+ console.log(res);
+ if (res.data.code == 200) {
+ that.$message({
+ message: "删除标签成功",
+ type: "success",
+ });
+ } else {
+ that.$message({
+ message: "删除标签失败",
+ type: "warning",
+ });
}
+ that.getData();
+ });
},
- computed: {
- ...mapGetters(['viewer'])
+ getData() {
+ let that = this;
+ getlabel().then((res) => {
+ console.log(res);
+ const data = res.data.data.records;
+ that.signList = data;
+ // that.$store.commit("clearLabelLayerIcon");
+ that.$store.commit("addLabelLayerIcon", { list: data, clear: true });
+ });
},
- mounted () {
-
+ moveMessage(e, b) {
+ if (b == "") {
+ this.viewer.tooltip.enable = false;
+ } else {
+ this.viewer.tooltip.enable = true;
+ this.viewer.tooltip.showAt(e.windowPosition, b);
+ }
},
- methods: {
- moveMessage (e, b) {
- if (b == '') {
- this.viewer.tooltip.enable = false
- } else {
- this.viewer.tooltip.enable = true
- this.viewer.tooltip.showAt(e.windowPosition, b)
- }
- },
- addSign () {
- var that = this
- that.DC = global.DC
+ addSign() {
+ var that = this;
+ that.DC = global.DC;
- that.viewer.on(that.DC.MouseEventType.MOUSE_MOVE, (e) => that.moveMessage(e, '点击确认标注位置'))
+ that.viewer.on(that.DC.MouseEventType.MOUSE_MOVE, (e) =>
+ that.moveMessage(e, "点击确认标注位置")
+ );
- that.viewer.once(that.DC.MouseEventType.CLICK, (e) => {
- if (that.destroyedFlag == false) return
+ that.viewer.once(that.DC.MouseEventType.CLICK, (e) => {
+ if (that.destroyedFlag == false) return;
- that.viewer.on(that.DC.MouseEventType.MOUSE_MOVE, (e) => that.moveMessage(e, ''))
+ that.viewer.on(that.DC.MouseEventType.MOUSE_MOVE, (e) =>
+ that.moveMessage(e, "")
+ );
- // eslint-disable-next-line no-unused-vars
- const popup = new this.DC.DivForms(this.viewer, {
- domId: 'AddTagBox',
- position: [that.DC.Transform.transformWGS84ToCartesian(
- new that.DC.Position(
- Number(
- e.wgs84SurfacePosition.lng
- ),
- Number(
- e.wgs84SurfacePosition.lat
- ),
- Number(
- e.wgs84SurfacePosition.alt
- )
- )
- )]
- })
+ // eslint-disable-next-line no-unused-vars
+ const popup = new this.DC.DivForms(this.viewer, {
+ domId: "AddTagBox",
+ position: [
+ that.DC.Transform.transformWGS84ToCartesian(
+ new that.DC.Position(
+ Number(e.wgs84SurfacePosition.lng),
+ Number(e.wgs84SurfacePosition.lat),
+ Number(e.wgs84SurfacePosition.alt)
+ )
+ ),
+ ],
+ });
- that.$store.commit('SET_ADDTAGPOSITION', e.wgs84SurfacePosition)
- that.$store.commit('SET_ADDTAGPOPUP', true)
- })
- },
-
- closeModel () {
- this.$store.dispatch('delVisitedViews', this.$route)
- this.$router.push('/pcLayout/default')
- }
+ that.$store.commit("SET_ADDTAGPOSITION", e.wgs84SurfacePosition);
+ that.$store.commit("SET_ADDTAGPOPUP", true);
+ });
},
- destroyed () {
- var that = this
- that.destroyedFlag = false
- that.viewer.on(that.DC.MouseEventType.MOUSE_MOVE, (e) => that.moveMessage(e, ''))
+
+ closeModel() {
+ this.$store.dispatch("delVisitedViews", this.$route);
+ this.$router.push("/pcLayout/default");
+ this.$store.commit("clearLabelLayerIcon");
+ },
+ },
+ destroyed() {
+ var that = this;
+ that.destroyedFlag = false;
+ if (that.DC) {
+ that.viewer.on(that.DC.MouseEventType.MOUSE_MOVE, (e) =>
+ that.moveMessage(e, "")
+ );
}
-}
+ },
+};
</script>
<style lang="scss" scoped>
.move {
- cursor: move;
+ cursor: move;
}
</style>
diff --git a/src/router/axios.js b/src/router/axios.js
index dcf919e..44d45e7 100644
--- a/src/router/axios.js
+++ b/src/router/axios.js
@@ -15,6 +15,7 @@
const service = axios.create({
// baseURL: 'http://192.168.0.107:83',
// baseURL: "http://192.168.0.107:80",
+ // baseURL: "http://192.168.0.110:80", //唐
baseURL: "http://171.34.197.243:790", //正常接口
// baseURL: "https://6e78efa6.cpolar.io/apis", //https接口
// baseURL: url, //https接口
@@ -50,4 +51,4 @@
}
);
-export default service;
+export default service;
\ No newline at end of file
diff --git a/src/store/getters.js b/src/store/getters.js
index cdc57b9..58948d9 100644
--- a/src/store/getters.js
+++ b/src/store/getters.js
@@ -77,7 +77,9 @@
teachList: (state) => state.popupParams.teachList,
liveList: (state) => state.popupParams.liveList,
addTagPopup: (state) => state.popupParams.addTagPopup,
- addTagPosition: (state) => state.popupParams.addTagPosition
+ addTagPosition: (state) => state.popupParams.addTagPosition,
+
+ addSignList: (state) => state.popupParams.addSignList
}
-export default getters
+export default getters
\ No newline at end of file
diff --git a/src/store/modules/popupParams.js b/src/store/modules/popupParams.js
index ad9dfde..93ab92b 100644
--- a/src/store/modules/popupParams.js
+++ b/src/store/modules/popupParams.js
@@ -19,70 +19,115 @@
teachList: [],
liveList: [],
addTagPopup: false,
- addTagPosition: null
+ addTagPosition: null,
+
+ labelLayer: null, //自定义标签图层
+ addSignList: true,
},
mutations: {
- SET_POPUPBGURL (state, popupBgUrl) {
+ SET_POPUPBGURL(state, popupBgUrl) {
state.popupBgUrl = popupBgUrl
},
- SET_POPUPQRURL (state, pupupQRUrl) {
+ SET_POPUPQRURL(state, pupupQRUrl) {
state.pupupQRUrl = pupupQRUrl
},
- SET_TERMINUS (state, terminus) {
+ SET_TERMINUS(state, terminus) {
state.terminus = terminus
},
- SET_STARTINGPOINT (state, startingPoint) {
+ SET_STARTINGPOINT(state, startingPoint) {
state.startingPoint = startingPoint
},
- SET_POINTPOSITION (state, pointPosition) {
+ SET_POINTPOSITION(state, pointPosition) {
state.pointPosition = pointPosition
},
- SET_STATENAME (state, stateName) {
+ SET_STATENAME(state, stateName) {
state.stateName = stateName
},
- SET_SITENAME (state, siteName) {
+ SET_SITENAME(state, siteName) {
state.siteName = siteName
},
- SET_TELEPHONE (state, telephone) {
+ SET_TELEPHONE(state, telephone) {
state.telephone = telephone
},
- SET_INTRODUCETEXT (state, introduceText) {
+ SET_INTRODUCETEXT(state, introduceText) {
state.introduceText = introduceText
},
- SET_PANORAMAURL (state, panoramaUrl) {
+ SET_PANORAMAURL(state, panoramaUrl) {
state.panoramaUrl = panoramaUrl
},
- SET_PANORAMAPOPUP (state, panoramaPopup) {
+ SET_PANORAMAPOPUP(state, panoramaPopup) {
state.panoramaPopup = panoramaPopup
},
- SET_MONITORURL (state, monitorUrl) {
+ SET_MONITORURL(state, monitorUrl) {
state.monitorUrl = monitorUrl
},
- SET_MONITORPOPUP (state, monitorPopup) {
+ SET_MONITORPOPUP(state, monitorPopup) {
state.monitorPopup = monitorPopup
},
- SET_DETAILSPOPUP (state, detailsPopup) {
+ SET_DETAILSPOPUP(state, detailsPopup) {
state.detailsPopup = detailsPopup
},
- SET_POPUPIMGATLAS (state, popupImgAtlas) {
+ SET_POPUPIMGATLAS(state, popupImgAtlas) {
state.popupImgAtlas = popupImgAtlas
},
- SET_TEACHLIST (state, teachList) {
+ SET_TEACHLIST(state, teachList) {
state.teachList = teachList
},
- SET_LIVELIST (state, liveList) {
+ SET_LIVELIST(state, liveList) {
state.liveList = liveList
},
- SET_ADDTAGPOPUP (state, addTagPopup) {
+ SET_ADDTAGPOPUP(state, addTagPopup) {
state.addTagPopup = addTagPopup
},
- SET_ADDTAGPOSITION (state, addTagPosition) {
+ SET_ADDTAGPOSITION(state, addTagPosition) {
state.addTagPosition = addTagPosition
},
+ initLabelLayer(state, val) {
+ if (!state.labelLayer) {
+ state.labelLayer = new global.DC.HtmlLayer("labelLayer");
+ val.addLayer(state.labelLayer);
+ }
+ },
+ addLabelLayerIcon(state, val) {
+ let list = val.list;
+ if (val.clear) {
+ // state.labelLayer.remove();
+ state.labelLayer.clear();
+ }
+ if (val.add) { //刷新列表
+ state.addSignList = !state.addSignList;
+ }
+ for (let i in list) {
+ console.log(list[i], 112233)
+ const divIcon = new global.DC.DivIcon(
+ new global.DC.Position(
+ Number(list[i].jd),
+ Number(list[i].wd),
+ 0
+ ),
+ `
+ <div class="tag-entitys-box">
+ <div class="tag-content">
+ ${list[i].name}
+ </div>
+ <div class="tag-angle-content">
+ <img src="https://map.hit.edu.cn/images/tarrow_xq.png">
+ </div>
+ </div>
+ `
+ );
+ state.labelLayer.addOverlay(divIcon);
+ }
+ },
+ clearLabelLayerIcon(state, val) {
+ if (state.labelLayer) {
+ state.labelLayer.clear();
+ }
+ },
- CLEAR_ALL (state, param) {
+ CLEAR_ALL(state, param) {
state.siteName = param
state.introduceText = param
state.telephone = param
@@ -98,4 +143,4 @@
}
}
-export default popupParams
+export default popupParams
\ No newline at end of file
--
Gitblit v1.9.3