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/pcviews/specialmap/welcome.vue |  286 +++++++++++++++++++++++++++++++++++++++++++++++++++++----
 1 files changed, 265 insertions(+), 21 deletions(-)

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>

--
Gitblit v1.9.3