From 05e12ffc0cd7ca5cc0469cc7b69f9a524d722d1c Mon Sep 17 00:00:00 2001
From: shuishen <1109946754@qq.com>
Date: Thu, 13 Jan 2022 17:46:52 +0800
Subject: [PATCH] 忽略模型文件

---
 src/components/map/components/dimension.vue            |    7 
 src/components/campusNav/index.vue                     |   30 ++
 src/components/map/components/campusBuildingSearch.vue |    2 
 src/components/orgNavBar/index.vue                     |    2 
 src/pcLayout/index.vue                                 |    4 
 .gitignore                                             |    2 
 src/styles/entitys/text-entitys.scss                   |   26 ++
 src/components/arcNavBar/index.vue                     |    2 
 src/components/map/index.vue                           |   15 +
 src/components/serviceNavBar/index.vue                 |    2 
 public/img/icon/activity.png                           |    0 
 src/api/pc/public/specialmap.js                        |   16 +
 src/pcviews/specialmap/welcome.vue                     |  286 ++++++++++++++++++++++++++--
 src/components/leftNav/index.vue                       |   68 ++++++
 src/styles/divforms/panoramaBox.scss                   |    2 
 src/styles/pcpage/element-ui.scss                      |    6 
 src/components/map/components/mapPopup.vue             |   79 +++++--
 public/img/icon/right.png                              |    0 
 18 files changed, 473 insertions(+), 76 deletions(-)

diff --git a/.gitignore b/.gitignore
index 403adbc..5f784c2 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,6 +1,8 @@
 .DS_Store
 node_modules
 /dist
+/public/mx
+/public/wp
 
 
 # local env files
diff --git a/public/img/icon/activity.png b/public/img/icon/activity.png
new file mode 100644
index 0000000..ba85934
--- /dev/null
+++ b/public/img/icon/activity.png
Binary files differ
diff --git a/public/img/icon/right.png b/public/img/icon/right.png
new file mode 100644
index 0000000..d582554
--- /dev/null
+++ b/public/img/icon/right.png
Binary files differ
diff --git a/src/api/pc/public/specialmap.js b/src/api/pc/public/specialmap.js
new file mode 100644
index 0000000..893b68d
--- /dev/null
+++ b/src/api/pc/public/specialmap.js
@@ -0,0 +1,16 @@
+/*
+ * @Author: Morpheus
+ * @Date: 2021-05-09 15:17:44
+ * @Last Modified by: Morpheus
+ * @Last Modified time: 2022-01-13 10:08:11
+ */
+// 校区
+import request from '@/router/axios'
+
+export const getWelcome = (params) => {
+    return request({
+        url: 'blade-hd/hd/detail',
+        method: 'get',
+        params: params
+    })
+}
diff --git a/src/components/arcNavBar/index.vue b/src/components/arcNavBar/index.vue
index 6a2129d..331409e 100644
--- a/src/components/arcNavBar/index.vue
+++ b/src/components/arcNavBar/index.vue
@@ -209,7 +209,7 @@
 
                 this.newPopup(result)
                 this.viewer.flyToPosition(
-                    new this.DC.Position(Number(result.jd), Number(result.wd), 3000, Number(result.heading), Number(result.pitch), Number(result.roll)),
+                    new this.DC.Position(Number(result.jd), Number(result.wd), 300, Number(result.heading), Number(result.pitch), Number(result.roll)),
                     function () {
                     },
                     3
diff --git a/src/components/campusNav/index.vue b/src/components/campusNav/index.vue
index 8a92a73..94b259f 100644
--- a/src/components/campusNav/index.vue
+++ b/src/components/campusNav/index.vue
@@ -250,6 +250,14 @@
                         output: 'json'
                     }
                 }).then(res => {
+                    if (res.data.info == 'OVER_DIRECTION_RANGE') {
+                        this.$message({
+                            message: '超出步行范围!',
+                            type: 'warning',
+                            duration: 3000
+                        })
+                    }
+
                     res.data.route.paths[0].steps.forEach(item => {
                         item.polyline = item.polyline.split(';')
 
@@ -266,8 +274,6 @@
 
                         routes += lineArr
                     })
-
-                    console.log(routes, 123)
 
                     routes = routes.substr(0, routes.length - 1)
 
@@ -318,8 +324,8 @@
             } else {
                 axios.get('https://restapi.amap.com/v3/direction/driving', {
                     params: {
-                        origin: `${startLog + ',' + startLat}`,
-                        destination: `${endLog + ',' + endLat}`,
+                        origin: `${origin[0].toFixed(6) + ',' + origin[1].toFixed(6)}`,
+                        destination: `${destination[0].toFixed(6) + ',' + destination[1].toFixed(6)}`,
                         key: '4b3e1db3211054ce5b466407cbb9d221',
                         strategy: 2,
                         extensions: 'all',
@@ -327,8 +333,20 @@
                     }
                 }).then(res => {
                     res.data.route.paths[0].steps.forEach(item => {
-                        item.polyline += ';'
-                        routes += item.polyline
+                        item.polyline = item.polyline.split(';')
+
+                        var lineArr = []
+
+                        item.polyline.forEach(it => {
+                            it = it.split(',')
+                            lineArr.push(this.DC.CoordTransform.GCJ02ToWGS84(it[0], it[1]).join(','))
+                        })
+
+                        lineArr = lineArr.join(';')
+
+                        lineArr += ';'
+
+                        routes += lineArr
                     })
 
                     routes = routes.substr(0, routes.length - 1)
diff --git a/src/components/leftNav/index.vue b/src/components/leftNav/index.vue
index a735ae6..c1be958 100644
--- a/src/components/leftNav/index.vue
+++ b/src/components/leftNav/index.vue
@@ -133,9 +133,9 @@
             viewer.addLayer(this.tagLayer)
             this.wayLayer = new this.DC.HtmlLayer('wayLayer')
             viewer.addLayer(this.wayLayer)
-            this.sceneLayer = new this.DC.VectorLayer('sceneLayer')
+            this.sceneLayer = new this.DC.HtmlLayer('sceneLayer')
             viewer.addLayer(this.sceneLayer)
-            this.monitorLayer = new this.DC.VectorLayer('monitorLayer')
+            this.monitorLayer = new this.DC.HtmlLayer('monitorLayer')
             viewer.addLayer(this.monitorLayer)
             this.aedLayer = new this.DC.VectorLayer('aedLayer')
             viewer.addLayer(this.aedLayer)
@@ -186,19 +186,71 @@
 
             getMonitorList().then(res => {
                 res.data.data.forEach(item => {
-                    const billboard = new this.DC.Billboard(new that.DC.Position(Number(item.jd), Number(item.wd), 0), '/img/leftnav/map-monitor.png')
-                    billboard.size = [20, 20]
-                    this.monitorLayer.addOverlay(billboard)
+                    console.log(item, 456)
+                    const divIcon = new this.DC.DivIcon(
+                        new that.DC.Position(Number(item.jd), Number(item.wd), 0),
+                        `
+                        <img class="monitor-entitys-box" src="/img/leftnav/map-monitor.png" alt="">
+                        `
+                    )
+                    divIcon.attrParams = item
+                    this.monitorLayer.addOverlay(divIcon)
+
+                    divIcon.on(that.DC.MouseEventType.CLICK, e => {
+                        this.$store.commit('SET_PANORAMAPOPUP', false)
+                        this.$store.commit('SET_DETAILSPOPUP', false)
+                        this.$store.commit('SET_STATENAME', e.overlay.attrParams.mechanismname)
+                        this.$store.commit('SET_MONITORURL', e.overlay.attrParams.videourl)
+                        // eslint-disable-next-line new-cap
+                        var positions = this.DC.Transform.transformWGS84ToCartesian(new this.DC.Position.fromArray([Number(item.jd), Number(item.wd), 0, 0, -90, 0]))
+                        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_MONITORPOPUP', true)
+                    })
                 })
+
                 this.monitorLayer.show = false
             })
 
             getSceneList().then(res => {
                 res.data.data.forEach(item => {
-                    const billboard = new this.DC.Billboard(new that.DC.Position(Number(item.jd), Number(item.wd), 0), '/img/leftnav/map-panorama.png')
-                    billboard.size = [20, 20]
-                    this.sceneLayer.addOverlay(billboard)
+                    console.log(item, 123)
+                    const divIcon = new this.DC.DivIcon(
+                        new that.DC.Position(Number(item.jd), Number(item.wd), 0),
+                        `
+                        <img class="scene-entitys-box" src="/img/leftnav/map-panorama.png" alt="">
+                        `
+                    )
+                    divIcon.attrParams = item
+                    this.sceneLayer.addOverlay(divIcon)
+
+                    divIcon.on(that.DC.MouseEventType.CLICK, e => {
+                        this.$store.commit('SET_DETAILSPOPUP', false)
+                        this.$store.commit('SET_MONITORPOPUP', false)
+                        this.$store.commit('SET_STATENAME', e.overlay.attrParams.mechanismname)
+                        this.$store.commit('SET_PANORAMAURL', e.overlay.attrParams.panoramaurl)
+                        // eslint-disable-next-line new-cap
+                        var positions = this.DC.Transform.transformWGS84ToCartesian(new this.DC.Position.fromArray([Number(item.jd), Number(item.wd), 0, 0, -90, 0]))
+                        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_PANORAMAPOPUP', true)
+                    })
                 })
+
                 this.sceneLayer.show = false
             })
 
diff --git a/src/components/map/components/campusBuildingSearch.vue b/src/components/map/components/campusBuildingSearch.vue
index cb3baea..2129ee6 100644
--- a/src/components/map/components/campusBuildingSearch.vue
+++ b/src/components/map/components/campusBuildingSearch.vue
@@ -264,7 +264,7 @@
 
             this.newPopup(result)
             this.viewer.flyToPosition(
-                new this.DC.Position(Number(result.jd), Number(result.wd), 3000, Number(result.heading), Number(result.pitch), Number(result.roll)),
+                new this.DC.Position(Number(result.jd), Number(result.wd), 300, Number(result.heading), Number(result.pitch), Number(result.roll)),
                 () => {
 
                 },
diff --git a/src/components/map/components/dimension.vue b/src/components/map/components/dimension.vue
index 51b97ea..9c443d4 100644
--- a/src/components/map/components/dimension.vue
+++ b/src/components/map/components/dimension.vue
@@ -28,7 +28,6 @@
             // 标注
             cvaLayer: null,
             // 建筑2.5D面数据
-            areaLayer: null,
             provider: null,
             wallLayer: null,
             tileset: null,
@@ -72,6 +71,7 @@
             ]
         }
     },
+    props: ['areaLayer'],
     computed: {
         ...mapGetters([
             'viewer',
@@ -303,9 +303,6 @@
                     // 视角旋转
                     that.viewer.scene.screenSpaceCameraController.enableTilt = false
 
-                    that.areaLayer = new that.DC.VectorLayer('areaLayer')
-                    that.viewer.addLayer(that.areaLayer)
-
                     axios.get('http://arcgis.jxpskj.com:6080/arcgis/rest/services/lxxqwxq/MapServer/0/query?where=1%3D1&text=&objectIds=&time=&geometry=&geometryType=esriGeometryEnvelope&inSR=&spatialRel=esriSpatialRelIntersects&relationParam=&outFields=*&returnGeometry=true&maxAllowableOffset=&geometryPrecision=&outSR=&returnIdsOnly=false&returnCountOnly=false&orderByFields=&groupByFieldsForStatistics=&outStatistics=&returnZ=false&returnM=false&gdbVersion=&returnDistinctValues=false&returnTrueCurves=false&resultOffset=&resultRecordCount=&f=pjson').then(resultData => {
                         resultData.data.features.forEach(item => {
                             item.geometry.rings[0].forEach(it => {
@@ -333,7 +330,7 @@
                     }
 
                     that.viewer.on(that.DC.MouseEventType.MOUSE_MOVE, e => {
-                        if (e.overlay != undefined) {
+                        if (e.overlay != undefined && e.layer.id == 'areaLayer') {
                             if (select.overlay != undefined) {
                                 if (e.overlay != select.overlay) {
                                     select.overlay.setStyle({
diff --git a/src/components/map/components/mapPopup.vue b/src/components/map/components/mapPopup.vue
index 4b4b143..675dd4e 100644
--- a/src/components/map/components/mapPopup.vue
+++ b/src/components/map/components/mapPopup.vue
@@ -204,12 +204,6 @@
                   :preview-src-list="popupImgAtlas"
                   ref="popupImgs">
         </el-image>
-
-        <audio ref="audioControlPlay"
-               style="position: fixed; left: 111111111px;"
-               v-html="audioSource"
-               @ended="overAudio">
-        </audio>
     </div>
 </template>
 
@@ -225,7 +219,10 @@
             tabBtnFlag: '教学科研行政',
             QRCodeFlag: false,
             audioSource: '',
-            audioFlag: false
+            audioFlag: false,
+            audioCourse: false,
+            audioSynth: null,
+            audioMsg: null
         }
     },
     computed: {
@@ -269,13 +266,26 @@
     },
     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
+        }
     },
     watch: {
         introduceText: {
             immediate: true,
             handler (newQuestion, oldQuestion) {
-                var zhText = encodeURI(newQuestion)
-                this.audioSource = `<source src="http://tts.baidu.com/text2audio?lan=zh&ie=UTF-8&spd=4&text=${zhText}" type="audio/mpeg"><embed height="0" width="0" src="http://tts.baidu.com/text2audio?text=${zhText}">`
+                this.audioSource = newQuestion
+                if (this.audioFlag == true) {
+                    this.audioSynth.cancel()
+                    this.audioFlag = false
+                    this.audioCourse = false
+                }
             }
         },
         teachList: {
@@ -291,6 +301,22 @@
             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
+                    }
                 }
             }
         }
@@ -322,9 +348,11 @@
 
         panoramaClick () {
             if (this.audioFlag == true) {
-                this.$refs.audioControlPlay.pause()
+                this.audioSynth.cancel()
                 this.audioFlag = false
+                this.audioCourse = false
             }
+
             // eslint-disable-next-line new-cap
             var positions = this.DC.Transform.transformWGS84ToCartesian(new this.DC.Position.fromArray(this.pointPosition))
             this.viewer.scene.globe.depthTestAgainstTerrain = false
@@ -343,8 +371,9 @@
 
         monitorClick () {
             if (this.audioFlag == true) {
-                this.$refs.audioControlPlay.pause()
+                this.audioSynth.cancel()
                 this.audioFlag = false
+                this.audioCourse = false
             }
             // eslint-disable-next-line new-cap
             var positions = this.DC.Transform.transformWGS84ToCartesian(new this.DC.Position.fromArray(this.pointPosition))
@@ -363,10 +392,10 @@
 
         closeMapPopupBox () {
             if (this.audioFlag == true) {
-                this.$refs.audioControlPlay.pause()
+                this.audioSynth.cancel()
                 this.audioFlag = false
+                this.audioCourse = false
             }
-            this.audioSource = ''
             this.$store.commit('SET_DETAILSPOPUP', false)
         },
 
@@ -381,24 +410,20 @@
         },
 
         audioPlay () {
-            if (this.audioSource == '') {
-                var zhText = encodeURI(this.$refs.DomIntroduceText.innerText)
-                this.audioSource = `<source src="http://tts.baidu.com/text2audio?lan=zh&ie=UTF-8&spd=4&text=${zhText}" type="audio/mpeg"><embed height="0" width="0" src="http://tts.baidu.com/text2audio?text=${zhText}">`
-                this.$refs.audioControlPlay.play()
+            if (this.audioFlag == false) {
+                this.audioMsg.text = this.audioSource
+                this.audioSynth.speak(this.audioMsg)
                 this.audioFlag = true
+                this.audioCourse = true
             } else {
-                if (this.audioFlag == true) {
-                    this.$refs.audioControlPlay.pause()
-                    this.audioFlag = false
+                if (this.audioCourse == true) {
+                    this.audioSynth.pause()
+                    this.audioCourse = false
                 } else {
-                    this.$refs.audioControlPlay.play()
-                    this.audioFlag = true
+                    this.audioSynth.resume()
+                    this.audioCourse = true
                 }
             }
-        },
-
-        overAudio () {
-            this.audioFlag = false
         },
 
         mechanismDetailPopup (num, param) {
@@ -423,7 +448,7 @@
 
                 this.newPopup(result)
                 this.viewer.flyToPosition(
-                    new this.DC.Position(Number(result.jd), Number(result.wd), 3000, Number(result.heading), Number(result.pitch), Number(result.roll)),
+                    new this.DC.Position(Number(result.jd), Number(result.wd), 300, Number(result.heading), Number(result.pitch), Number(result.roll)),
                     function () {
                     },
                     3
diff --git a/src/components/map/index.vue b/src/components/map/index.vue
index 003d3a2..8c895c0 100644
--- a/src/components/map/index.vue
+++ b/src/components/map/index.vue
@@ -20,7 +20,7 @@
             智慧社区
         </div>
 
-        <dimension />
+        <dimension :areaLayer='areaLayer' />
 
         <left-nav ref="leftNav"></left-nav>
 
@@ -52,7 +52,8 @@
     },
     data () {
         return {
-            DC: null
+            DC: null,
+            areaLayer: null
         }
     },
     computed: {
@@ -154,6 +155,8 @@
                     }
                 }
             })
+
+            that.createdLayers(viewer)
 
             that.$store.commit('SET_VIEWER', viewer)
 
@@ -305,6 +308,14 @@
         mapClick (e) {
             this.$refs.campusNavRoute.shortcutShow(e)
             this.$refs.campusBuildingSearch.shortcutShow(e)
+        },
+
+        createdLayers (viewer) {
+            const layerGroup = new this.DC.LayerGroup('modelBox')
+            viewer.addLayerGroup(layerGroup)
+
+            this.areaLayer = new this.DC.VectorLayer('areaLayer')
+            layerGroup.addLayer(this.areaLayer)
         }
     }
 }
diff --git a/src/components/orgNavBar/index.vue b/src/components/orgNavBar/index.vue
index f5d58f8..8b8c645 100644
--- a/src/components/orgNavBar/index.vue
+++ b/src/components/orgNavBar/index.vue
@@ -135,7 +135,7 @@
 
             this.newPopup(item)
             this.viewer.flyToPosition(
-                new this.DC.Position(Number(item.longitude), Number(item.latitude), 3000, Number(item.heading), Number(item.pitch), Number(item.roll)),
+                new this.DC.Position(Number(item.longitude), Number(item.latitude), 300, Number(item.heading), Number(item.pitch), Number(item.roll)),
                 function () {
                 },
                 3
diff --git a/src/components/serviceNavBar/index.vue b/src/components/serviceNavBar/index.vue
index e04b4be..153a478 100644
--- a/src/components/serviceNavBar/index.vue
+++ b/src/components/serviceNavBar/index.vue
@@ -196,7 +196,7 @@
 
             this.newPopup(result)
             this.viewer.flyToPosition(
-                new this.DC.Position(Number(result.jd), Number(result.wd), 3000, Number(result.heading), Number(result.pitch), Number(result.roll)),
+                new this.DC.Position(Number(result.jd), Number(result.wd), 300, Number(result.heading), Number(result.pitch), Number(result.roll)),
                 function () {
                 },
                 3
diff --git a/src/pcLayout/index.vue b/src/pcLayout/index.vue
index 198b1fe..b2212d5 100644
--- a/src/pcLayout/index.vue
+++ b/src/pcLayout/index.vue
@@ -56,11 +56,11 @@
 
                     <el-menu-item index="/pcLayout/default/campusnavi"> <i class='custom-icon menu-xydh'></i> 社区导航</el-menu-item>
 
-                    <!-- <el-submenu index="specialmap">
+                    <el-submenu index="specialmap">
                         <template slot="title"> <i class='custom-icon menu-ztdt'></i> 专题地图</template>
                         <el-menu-item index="/pcLayout/default/specialmap/celebrate">社区庆</el-menu-item>
                         <el-menu-item index="/pcLayout/default/specialmap/welcome">社区迎新</el-menu-item>
-                    </el-submenu> -->
+                    </el-submenu>
 
                     <el-submenu index="tool">
                         <template slot="title"> <i class='custom-icon menu-tool'></i> 工具</template>
diff --git a/src/pcviews/specialmap/welcome.vue b/src/pcviews/specialmap/welcome.vue
index 951006d..ed1199f 100644
--- a/src/pcviews/specialmap/welcome.vue
+++ b/src/pcviews/specialmap/welcome.vue
@@ -3,55 +3,299 @@
  * @Name: 社区迎新
  * @Date: 2021-11-15 17:14:47
  * @Last Modified by: Morpheus
- * @Last Modified time: 2022-01-05 14:06:20
+ * @Last Modified time: 2022-01-13 17:39:35
  */
 <template>
     <div>
-        <service-nav-bar :title="title"
-                         :arcCode="code"
-                         :headerLog="headerLog"></service-nav-bar>
+        <div class="welcome-container">
+            <div class="header">
+                <div class="title">
+                    {{ title }}
+                    <a href="javascript:void(0);" title="语音介绍">
+                         <img @click="audioPlay"
+                         class="audio-control"
+                         src="/img/navicon/audio.png"
+                         alt="">
+                    </a>
+                    <a href="javascript:void(0);" title="关闭">
+                        <img @click="closeMapPopupBox"
+                         class="close-box"
+                         src="/img/navicon/close.png"
+                         alt="">
+                    </a>
+                </div>
+            </div>
+            <div class="content-box">
+                <div class="text-introduce">
+                    <div class="title">
+                        相关介绍:
+                    </div>
+                    <div class="content">
+                        <p v-text="introduce">
+
+                        </p>
+                    </div>
+                </div>
+                <div class="organizer">
+                    主办:{{}}
+                </div>
+                <div class="undertake">
+                    承办:{{}}
+                </div>
+                <div class="img-exhibition">
+                    <div class="title">
+                        相关图片:
+                    </div>
+                    <div class="content">
+                        <el-carousel :interval="5000"
+                                     arrow="always"
+                                     height="300px">
+                            <el-carousel-item v-for="item in list"
+                                              :key="item">
+                                <el-image :src="item"
+                                          :preview-src-list="[item]">
+                                </el-image>
+                            </el-carousel-item>
+                        </el-carousel>
+                    </div>
+                </div>
+                <div class="operating-btn">
+                    <ul>
+                        <li>全景</li>
+                        <li>视频</li>
+                    </ul>
+                </div>
+            </div>
+        </div>
     </div>
 </template>
 
 <script>
 
+import { getWelcome } from '@/api/pc/public/specialmap'
 import { mapGetters } from 'vuex'
 
 export default {
     data () {
         return {
-            title: '圈存机',
-            code: 6,
-            headerLog: '/img/icon/service-qcj.png'
+            data: [],
+            time: '',
+            num: 0,
+            title: '',
+            introduce: '',
+            list: [],
+            pathList: [],
+            pointNameList: [],
+            pointList: [],
+            DC: null,
+            pathLayer: null,
+            pointLayer: null
         }
     },
     created () {
-        if (this.orgNavBarFlag == true) {
-            this.$store.commit('SET_ORGNAVBARTITLE', '')
-            this.$store.commit('SET_ORGNAVBARLIST', [])
-            this.$store.commit('SET_ORGNAVBARFLAG', false)
-        }
-        if (this.arcNavBarFlag == true) {
-            this.$store.commit('SET_ARCNAVBARTITLE', '')
-            this.$store.commit('SET_ARCNAVBARCODE', '')
-            this.$store.commit('SET_ARCNAVBARFLAG', false)
-        }
+
+    },
+    mounted () {
+        this.DC = global.DC
+        getWelcome({ hdname: '社区迎新' }).then((res) => {
+            var result = res.data.data
+            this.title = result.hdname
+            this.introduce = result.context
+            this.list = result.tpurl.split(',')
+            this.pointNameList = result.addressname.split(',')
+            this.pointList = result.address.split(';')
+
+            this.list.forEach((item, index) => {
+                var a = index + 1
+                this.data.push(a)
+            })
+
+            var a = result.lx.split(';')
+
+            a.forEach(item => {
+                var b = item.split('(')
+                var c = b[1].substr(0, b[1].length - 1)
+                var d = c.split(',')
+                var j = []
+                d.forEach(it => {
+                    var e = it.split(' ')
+                    var f = e.join(',')
+                    j.push(f)
+                })
+                var k = j.join(';')
+                this.pathList.push(k)
+            })
+
+            this.pathLayer = new this.DC.VectorLayer('pathLayer')
+            this.viewer.addLayer(this.pathLayer)
+
+            this.pointLayer = new this.DC.HtmlLayer('pointLayer')
+            this.viewer.addLayer(this.pointLayer)
+
+            this.pathList.forEach(item => {
+                this.drawPolyline(item)
+            })
+
+            this.pointList.forEach((item, index) => {
+                this.drawPoint(item.split(','), this.pointNameList[index])
+            })
+        })
     },
     computed: {
         ...mapGetters([
+            'viewer',
             // 社区内导航的显示关闭
+            'campusNavFlag',
             'orgNavBarFlag',
             'arcNavBarFlag'
         ])
     },
     methods: {
-        closeModel () {
-            this.$store.dispatch('delVisitedViews', this.$route)
-            this.$router.push('/pcLayout/default')
+        drawPolyline (item) {
+            const polyline = new this.DC.Polyline(item)
+
+            polyline.setStyle({
+                width: 6,
+                arcType: true,
+                material: new this.DC.PolylineImageTrailMaterialProperty({
+                    color: new this.DC.Color(255, 0, 0),
+                    speed: 60,
+                    image: '/img/icon/right.png',
+                    repeat: { x: 320, y: 1 }
+                }),
+                clampToGround: true
+            })
+
+            this.pathLayer.addOverlay(polyline)
+        },
+        drawPoint (item, name) {
+            console.log(item, name)
+            const divIcon = new this.DC.DivIcon(
+                new this.DC.Position(Number(item[0]), Number(item[1]), 0),
+                `
+                    <div class="point-entitys-box">
+                        <div class="point-logo">
+                            <img src="/img/icon/activity.png">
+                        </div>
+                        <div class="point-title">
+                            ${name}
+                        </div>
+                    </div>
+                `
+            )
+            this.pointLayer.addOverlay(divIcon)
         }
     }
 }
 </script>
 
-<style>
+<style lang='scss' scope>
+.welcome-container {
+    padding: 10px;
+    position: fixed;
+    top: 132px;
+    left: 132px;
+    width: 480px;
+    height: 620px;
+    background: #2196f3;
+    border-radius: 10px;
+    color: #fff;
+
+    .header {
+        height: 36px;
+        line-height: 36px;
+        text-align: center;
+        position: relative;
+
+        .title {
+            .audio-control {
+                position: absolute;
+                top: 0;
+                right: 34px;
+                bottom: 0;
+                left: auto;
+                margin: auto;
+                width: 20px;
+                height: 20px;
+                cursor: pointer;
+            }
+
+            .close-box {
+                position: absolute;
+                top: 0;
+                right: 8px;
+                bottom: 0;
+                left: auto;
+                margin: auto;
+                width: 16px;
+                height: 16px;
+                cursor: pointer;
+            }
+        }
+    }
+
+    .content-box {
+        height: calc(100% - 36px);
+        .text-introduce {
+            height: calc(100% - 408px);
+
+            .title {
+                height: 36px;
+                line-height: 36px;
+            }
+
+            .content {
+                height: calc(100% - 36px);
+
+                p {
+                    height: 100%;
+                    text-indent: 2em;
+                    font-size: 16px;
+                    letter-spacing: 2px;
+                    line-height: 24px;
+                    overflow-y: auto;
+                }
+            }
+        }
+
+        .organizer,
+        .undertake {
+            height: 36px;
+            line-height: 36px;
+        }
+
+        .img-exhibition {
+            height: 336px;
+
+            .title {
+                height: 36px;
+                line-height: 36px;
+            }
+
+            .content {
+                .el-image {
+                    position: absolute;
+                    top: 0;
+                    left: 0;
+                    right: 0;
+                    bottom: 0;
+                    margin: auto;
+                    // width: 100%;
+                    height: 100%;
+
+                    img {
+                        position: absolute;
+                        top: 0;
+                        left: 0;
+                        right: 0;
+                        bottom: 0;
+                        margin: auto;
+                        width: 100%;
+                        height: 100%;
+                    }
+                }
+            }
+        }
+    }
+}
 </style>
diff --git a/src/styles/divforms/panoramaBox.scss b/src/styles/divforms/panoramaBox.scss
index 32c4edd..09fda12 100644
--- a/src/styles/divforms/panoramaBox.scss
+++ b/src/styles/divforms/panoramaBox.scss
@@ -17,6 +17,7 @@
 
             .title {
                 position: relative;
+                height: 36px;
                 line-height: 36px;
                 color: #fff;
                 text-align: center;
@@ -71,6 +72,7 @@
 
             .title {
                 position: relative;
+                height: 36px;
                 line-height: 36px;
                 color: #fff;
                 text-align: center;
diff --git a/src/styles/entitys/text-entitys.scss b/src/styles/entitys/text-entitys.scss
index 90f4722..f5a3dc7 100644
--- a/src/styles/entitys/text-entitys.scss
+++ b/src/styles/entitys/text-entitys.scss
@@ -69,6 +69,27 @@
         margin: -6px 26px 0px 10px;
     }
 }
+
+.point-entitys-box {
+    width: 72px;
+    height: 64px;
+
+    .point-logo {
+        height: 40px;
+        text-align: center;
+        img {
+            height: 40px;
+        }
+    }
+
+    .point-title {
+        font-weight: 700;
+        text-align: center;
+        color: red;
+        line-height: 24px;
+    }
+}
+
 .way-entitys-box {
     .way-title {
         border: white 1px solid;
@@ -108,3 +129,8 @@
         background: transparent;
     }
 }
+
+.scene-entitys-box,
+.monitor-entitys-box {
+    height: 40px;
+}
\ No newline at end of file
diff --git a/src/styles/pcpage/element-ui.scss b/src/styles/pcpage/element-ui.scss
index dfced3c..f354e8e 100644
--- a/src/styles/pcpage/element-ui.scss
+++ b/src/styles/pcpage/element-ui.scss
@@ -86,6 +86,10 @@
     }
 }
 
+.el-message--warning {
+    top: 120px !important;
+}
+
 .el-image-viewer__wrapper {
-    z-index: 111111;
+    z-index: 111111 !important;
 }
\ No newline at end of file

--
Gitblit v1.9.3