From ae038d50b068a02c4fe53725095dc952bf75b797 Mon Sep 17 00:00:00 2001
From: liuyg <376836862@qq.com>
Date: Wed, 15 Dec 2021 17:36:21 +0800
Subject: [PATCH] 冲突

---
 src/pcviews/orgnav/ofc.vue         |   49 ++
 src/components/campusNav/index.vue |  117 +++++++
 src/components/orgNavBar/index.vue |   12 
 src/store/modules/popupParams.js   |   18 +
 src/api/pc/public/arc.js           |   32 ++
 src/components/arcNavBar/index.vue |   99 +++++
 src/components/map/index.vue       |   32 +
 src/pcviews/arc/dorm.vue           |   30 +
 src/pcviews/orgnav/teaching.vue    |   49 ++
 src/pcviews/arc/venue.vue          |   30 +
 src/pcviews/arc/edifact.vue        |   61 ---
 src/pcviews/orgnav/directly.vue    |   49 ++
 public/img/navicon/end.png         |    0 
 src/pcviews/arc/family.vue         |   30 +
 src/pcviews/arc/rest.vue           |   30 +
 src/main.js                        |    6 
 src/pcviews/orgnav/rest.vue        |   49 ++
 public/img/navicon/start.png       |    0 
 src/pcviews/orgnav/masses.vue      |    7 
 src/store/getters.js               |   16 
 src/pcviews/arc/teaching.vue       |  174 ----------
 src/pcviews/arc/culture.vue        |   30 +
 22 files changed, 611 insertions(+), 309 deletions(-)

diff --git a/public/img/navicon/end.png b/public/img/navicon/end.png
new file mode 100644
index 0000000..34a1b2c
--- /dev/null
+++ b/public/img/navicon/end.png
Binary files differ
diff --git a/public/img/navicon/start.png b/public/img/navicon/start.png
new file mode 100644
index 0000000..1e1c7e2
--- /dev/null
+++ b/public/img/navicon/start.png
Binary files differ
diff --git a/src/api/pc/public/arc.js b/src/api/pc/public/arc.js
new file mode 100644
index 0000000..b6636af
--- /dev/null
+++ b/src/api/pc/public/arc.js
@@ -0,0 +1,32 @@
+/*
+ * @Author: Morpheus
+ * @Date: 2021-05-09 15:17:44
+ * @Last Modified by: Morpheus
+ * @Last Modified time: 2021-12-15 11:57:20
+ */
+// 校区
+import request from '@/router/axios'
+
+export const getList = (params) => {
+    return request({
+        url: '/blade-system/dict-biz/dictionary?code=campus',
+        method: 'get',
+        params: params
+    })
+}
+
+export const getChildNavList = (params) => {
+    return request({
+        url: '/blade-architecture/architecture/selectList',
+        method: 'get',
+        params: params
+    })
+}
+
+export const getChildNavDetail = (params) => {
+    return request({
+        url: '/blade-architecture/architecture/selectInArchite',
+        method: 'get',
+        params: params
+    })
+}
diff --git a/src/components/arcNavBar/index.vue b/src/components/arcNavBar/index.vue
index 3047f55..8aa667e 100644
--- a/src/components/arcNavBar/index.vue
+++ b/src/components/arcNavBar/index.vue
@@ -21,12 +21,16 @@
             <div class="content">
                 <div class="tab">
                     <ul>
-                        <li :class="{'on': item.flag}" v-for="(item, index) in navList" :key="index" @click="topNavClick(index)">{{ item.title }}</li>
+                        <li :class="{'on': item.flag}"
+                            v-for="(item, index) in titleList"
+                            :key="index"
+                            @click="topNavClick(item, index)">{{ item.title }}</li>
                     </ul>
                 </div>
                 <ul>
                     <li v-for="(item, index) in itemNavList"
-                        :key="index">
+                        :key="index"
+                        @click="mapPopup(item)">
                         <img :src="item.icon"
                              alt="">
                         <span>
@@ -40,24 +44,50 @@
 </template>
 
 <script>
+import { mapGetters } from 'vuex'
+import { getList, getChildNavList, getChildNavDetail } from '@/api/pc/public/arc'
 export default {
     name: 'ArcNavBar',
     data () {
         return {
             moveFlag: false,
-            itemNavList: []
+            itemNavList: [],
+            DC: null
         }
     },
     props: {
-        navList: {
-            type: Array
-        },
         title: {
             type: String
+        },
+        arcCode: {
+            type: Number
         }
     },
+    computed: {
+        ...mapGetters([
+            'viewer',
+            'popupBgUrl',
+            'pupupQRUrl',
+            // 点信息
+            'pointPosition',
+            // 点名称
+            'stateName'
+        ])
+    },
+    created () {
+        this.DC = global.DC
+        this.titleList = []
+        getList().then(res => {
+            res.data.data.forEach(item => {
+                this.titleList.push({ title: item.dictValue, flag: false, key: item.dictKey })
+            })
+
+            this.titleList[0].flag = true
+
+            this.getChilsNavs(this.titleList[0].key)
+        })
+    },
     mounted () {
-        this.itemNavList = this.navList[0].list
     },
     methods: {
         move (e) {
@@ -109,14 +139,59 @@
         closeModel () {
             this.$parent.closeModel()
         },
-        topNavClick (index) {
-            this.navList.forEach(item => {
+        topNavClick (item, index) {
+            this.titleList.forEach(item => {
                 item.flag = false
             })
 
-            this.navList[index].flag = true
+            this.titleList[index].flag = true
 
-            this.itemNavList = this.navList[index].list
+            this.getChilsNavs(item.key)
+        },
+        getChilsNavs (campus) {
+            this.itemNavList = []
+
+            getChildNavList({ campus: campus, type: this.arcCode }).then(res => {
+                res.data.data.forEach(item => {
+                    this.itemNavList.push({
+                        navTitle: item.mechanismName,
+                        icon: '/img/navicon/tag.png',
+                        id: item.id
+                    })
+                })
+            })
+        },
+        mapPopup (param) {
+            getChildNavDetail({ id: param.id }).then(res => {
+                var result = res.data.data[0].list
+                this.$store.commit('SET_POPUPBGURL', result.tpUrl)
+                this.$store.commit('SET_POPUPQRURL', result.codeUrl)
+                this.$store.commit('SET_POINTPOSITION', [result.jd, result.wd, result.gd, result.heading, result.pitch, result.roll])
+                this.$store.commit('SET_STATENAME', result.mechanismName)
+
+                var that = this
+                // item.alt, item.heading, item.pitch, item.roll
+                this.viewer.zoomToPosition(
+                    new this.DC.Position(result.jd, result.wd, result.gd, result.heading, result.pitch, result.roll),
+                    function () {
+                        that.newPopup(result)
+                    }
+                )
+                // res.data.data[0].jx
+            })
+        },
+        newPopup (item) {
+            const position = this.DC.Transform.transformWGS84ToCartesian(new this.DC.Position(item.jd, item.wd, item.gd, item.heading, item.pitch, item.roll))
+            // eslint-disable-next-line new-cap
+            var popup = new this.DC.divForms(this.viewer, {
+                domId: 'div1',
+                title: item.mechanismName,
+                className: 'divForms-dom',
+                content: document.getElementById('mapChildContent'),
+                position: [
+                    position
+                ]
+            })
         }
     }
 }
@@ -177,7 +252,7 @@
             text-align: center;
             overflow-y: auto;
             background: url(/img/bg/nav-bg.jpeg) no-repeat;
-            background-size:  100% 100%;
+            background-size: 100% 100%;
             .tab {
                 height: 42px;
                 border-bottom: 1px solid #ccc;
diff --git a/src/components/campusNav/index.vue b/src/components/campusNav/index.vue
index 1a14fe6..1008df4 100644
--- a/src/components/campusNav/index.vue
+++ b/src/components/campusNav/index.vue
@@ -20,12 +20,12 @@
         <div class="container">
             <div class="tab">
                 <ul>
-                    <li @click="tabClick"
+                    <li @click="tabClick('步行')"
                         :class="{on:tabOneFlag}">
                         <i></i>
                         步行
                     </li>
-                    <li @click="tabClick"
+                    <li @click="tabClick('驾车')"
                         :class="{on:tabTwoFlag}">
                         <i></i>
                         驾车
@@ -50,7 +50,8 @@
                     </div>
                 </div>
                 <div>
-                    <el-button type="danger">导航</el-button>
+                    <el-button @click="startNavigation"
+                               type="danger">导航</el-button>
                 </div>
             </div>
         </div>
@@ -58,13 +59,18 @@
 </template>
 
 <script>
+import { mapGetters } from 'vuex'
+import axios from 'axios'
 export default {
     name: 'campusNav',
     data () {
         return {
             moveFlag: false,
             tabOneFlag: true,
-            tabTwoFlag: false
+            tabTwoFlag: false,
+            DC: null,
+            navigationWay: '步行',
+            routeLayer: null
         }
     },
     props: {
@@ -74,6 +80,18 @@
         getToName: {
             type: String
         }
+    },
+    computed: {
+        ...mapGetters([
+            'viewer',
+            // 起点
+            'startingPoint',
+            // 终点
+            'terminus'
+        ])
+    },
+    created () {
+        this.DC = global.DC
     },
     methods: {
         move (e) {
@@ -125,9 +143,98 @@
         closeModel () {
             this.$parent.closeCampusNav()
         },
-        tabClick () {
+        tabClick (param) {
+            this.navigationWay = param
             this.tabOneFlag = !this.tabOneFlag
             this.tabTwoFlag = !this.tabTwoFlag
+        },
+        startNavigation () {
+            if (this.routeLayer == null) {
+                this.routeLayer = new this.DC.VectorLayer('navigation')
+                this.viewer.addLayer(this.routeLayer)
+            } else {
+                this.routeLayer.clear()
+            }
+            if (this.startingPoint == null) {
+                this.$message('请输入起点!!!')
+            }
+            if (this.terminus == null) {
+                this.$message('请输入终点!!!')
+            }
+
+            // var start = this.DC.Transform.transformWGS84ToCartesian()
+            const startEntity = new this.DC.Billboard(new this.DC.Position(Number(this.startingPoint[0]), Number(this.startingPoint[1]), Number(this.startingPoint[2])), '/img/navicon/start.png')
+            this.routeLayer.addOverlay(startEntity)
+            // var end = this.DC.Transform.transformWGS84ToCartesian()
+            const endEntity = new this.DC.Billboard(new this.DC.Position(Number(this.terminus[0]), Number(this.terminus[1]), Number(this.terminus[2])), '/img/navicon/end.png')
+            this.routeLayer.addOverlay(endEntity)
+
+            var routes = ''
+
+            if (this.navigationWay == '步行') {
+                axios.get('https://restapi.amap.com/v3/direction/walking', {
+                    params: {
+                        origin: `${Number(this.startingPoint[0]).toFixed(6)},${Number(this.startingPoint[1]).toFixed(6)}`,
+                        destination: `${Number(this.terminus[0]).toFixed(6)},${Number(this.terminus[1]).toFixed(6)}`,
+                        key: '4b3e1db3211054ce5b466407cbb9d221',
+                        output: 'json'
+                    }
+                }).then(res => {
+                    res.data.route.paths[0].steps.forEach(item => {
+                        item.polyline += ';'
+                        routes += item.polyline
+                    })
+
+                    routes = routes.substr(0, routes.length - 1)
+
+                    const polyline = new this.DC.Polyline(routes)
+                    polyline.setStyle({
+                        width: 3,
+                        material: new this.DC.PolylineTrailMaterialProperty({
+                            color: this.DC.Color.RED,
+                            speed: 10
+                        }),
+                        clampToGround: true
+                    })
+                    this.routeLayer.addOverlay(polyline)
+                    this.viewer.flyTo(this.routeLayer)
+                })
+            } else {
+                axios.get('https://restapi.amap.com/v3/direction/driving', {
+                    params: {
+                        origin: `${Number(this.startingPoint[0]).toFixed(6)},${Number(this.startingPoint[1]).toFixed(6)}`,
+                        destination: `${Number(this.terminus[0]).toFixed(6)},${Number(this.terminus[1]).toFixed(6)}`,
+                        key: '4b3e1db3211054ce5b466407cbb9d221',
+                        strategy: 2,
+                        extensions: 'all',
+                        output: 'json'
+                    }
+                }).then(res => {
+                    res.data.route.paths[0].steps.forEach(item => {
+                        item.polyline += ';'
+                        routes += item.polyline
+                    })
+
+                    routes = routes.substr(0, routes.length - 1)
+
+                    const polyline = new this.DC.Polyline(routes)
+                    polyline.setStyle({
+                        width: 3,
+                        material: new this.DC.PolylineTrailMaterialProperty({
+                            color: this.DC.Color.RED,
+                            speed: 10
+                        }),
+                        clampToGround: true
+                    })
+                    this.routeLayer.addOverlay(polyline)
+                    this.viewer.flyTo(this.routeLayer)
+                })
+            }
+        },
+        clearLayer () {
+            if (this.routeLayer != null) {
+                this.routeLayer.clear()
+            }
         }
     }
 }
diff --git a/src/components/map/index.vue b/src/components/map/index.vue
index fe26a72..7f499cd 100644
--- a/src/components/map/index.vue
+++ b/src/components/map/index.vue
@@ -45,11 +45,13 @@
                 </div>
                 <div class="popup-nav">
                     <ul>
-                        <li class="come-here-fun">
+                        <li class="come-here-fun"
+                            :terminus="terminus">
                             <i class="popup-icon come-nav deblurring"></i>
                             到这
                         </li>
-                        <li class="get-to-fun">
+                        <li class="get-to-fun"
+                            :startingPoint="startingPoint">
                             <i class="popup-icon start-nav deblurring"></i>
                             出发
                         </li>
@@ -126,7 +128,8 @@
 
         <left-nav ref="leftNav"></left-nav>
 
-        <campusNav :comeName="comeName"
+        <campusNav ref="campusNavRoute"
+                   :comeName="comeName"
                    :getToName="getToName"
                    v-show="campusNavFlag" />
 
@@ -165,7 +168,15 @@
         ...mapGetters([
             'viewer',
             'popupBgUrl',
-            'pupupQRUrl'
+            'pupupQRUrl',
+            // 终点
+            'terminus',
+            // 起点
+            'startingPoint',
+            // 点信息
+            'pointPosition',
+            // 点名称
+            'stateName'
         ])
     },
     mounted () {
@@ -183,13 +194,17 @@
                 $(this).parent().siblings().children(`div:eq(${$(this).index()})`).addClass('on').siblings().removeClass('on')
             })
 
+            // 终点
             $('#map_popup_content').on('click', '.popup-nav .come-here-fun', function (e) {
-                that.comeName = '成交楼'
+                that.comeName = that.stateName
+                that.$store.commit('SET_TERMINUS', that.pointPosition)
                 if (that.campusNavFlag == false) that.campusNavFlag = true
             })
 
+            // 起点
             $('#map_popup_content').on('click', '.popup-nav .get-to-fun', function (e) {
-                that.getToName = '活动中心'
+                that.getToName = that.stateName
+                that.$store.commit('SET_STARTINGPOINT', that.pointPosition)
                 if (that.campusNavFlag == false) that.campusNavFlag = true
             })
 
@@ -385,6 +400,11 @@
     methods: {
         closeCampusNav () {
             this.campusNavFlag = false
+            this.$refs.campusNavRoute.clearLayer()
+            this.$store.commit('SET_STARTINGPOINT', null)
+            this.$store.commit('SET_TERMINUS', null)
+            this.comeName = ''
+            this.getToName = ''
         }
     }
 }
diff --git a/src/components/orgNavBar/index.vue b/src/components/orgNavBar/index.vue
index 7579241..536a5e1 100644
--- a/src/components/orgNavBar/index.vue
+++ b/src/components/orgNavBar/index.vue
@@ -60,7 +60,11 @@
         ...mapGetters([
             'viewer',
             'popupBgUrl',
-            'pupupQRUrl'
+            'pupupQRUrl',
+            // 点信息
+            'pointPosition',
+            // 点名称
+            'stateName'
         ])
     },
     methods: {
@@ -116,19 +120,21 @@
         mapPopup (item) {
             this.$store.commit('SET_POPUPBGURL', item.bgImg)
             this.$store.commit('SET_POPUPQRURL', item.QRImg)
+            this.$store.commit('SET_POINTPOSITION', [item.longitude, item.latitude, item.alt, item.heading, item.pitch, item.roll])
+            this.$store.commit('SET_STATENAME', item.navTitle)
 
             console.log(this.popupBgUrl)
             var that = this
             // item.alt, item.heading, item.pitch, item.roll
             this.viewer.zoomToPosition(
-                new this.DC.Position(item.longitude, item.latitude, item.alt, 35, -45, 0),
+                new this.DC.Position(item.longitude, item.latitude, item.alt, item.heading, item.pitch, item.roll),
                 function () {
                     that.newPopup(item)
                 }
             )
         },
         newPopup (item) {
-            const position = this.DC.Transform.transformWGS84ToCartesian(new this.DC.Position(item.longitude, item.latitude, item.alt, 35, -45, 0))
+            const position = this.DC.Transform.transformWGS84ToCartesian(new this.DC.Position(item.longitude, item.latitude, item.alt, item.heading, item.pitch, item.roll))
             // eslint-disable-next-line new-cap
             var popup = new this.DC.divForms(this.viewer, {
                 domId: 'div1',
diff --git a/src/main.js b/src/main.js
index ec145f3..27a4777 100644
--- a/src/main.js
+++ b/src/main.js
@@ -31,6 +31,9 @@
 
 import divForms from '@/divForms/divForms'
 
+// 手机弹窗
+import mobileDivForms from '@/mobileDivForms/mobileDivForms'
+
 Vue.prototype.$echarts = echarts
 
 console.log(DcCore)
@@ -41,9 +44,6 @@
 global.echarts = echarts // 将DC提升到全局变量,方便在工程中直接使用
 
 DC.divForms = divForms
-
-//手机弹窗
-import mobileDivForms from '@/mobileDivForms/mobileDivForms'
 DC.mobileDivForms = mobileDivForms
 
 DC.use(DcCore) // 安装DC核心库
diff --git a/src/pcviews/arc/culture.vue b/src/pcviews/arc/culture.vue
index 4171422..5ce4193 100644
--- a/src/pcviews/arc/culture.vue
+++ b/src/pcviews/arc/culture.vue
@@ -1,15 +1,35 @@
+/*
+ * @Author: Morpheus
+ * @Name: 文化风景
+ * @Date: 2021-11-15 17:14:47
+ * @Last Modified by: Morpheus
+ * @Last Modified time: 2021-12-15 11:48:47
+ */
 <template>
-  <div>
-      校内建筑
-  </div>
+    <div>
+        <arc-nav-bar :title="title"
+                     :arcCode="code"></arc-nav-bar>
+    </div>
 </template>
 
 <script>
 export default {
-
+    data () {
+        return {
+            title: '文化风景',
+            code: 5
+        }
+    },
+    created () {
+    },
+    methods: {
+        closeModel () {
+            this.$store.dispatch('delVisitedViews', this.$route)
+            this.$router.push('/pcLayout/default')
+        }
+    }
 }
 </script>
 
 <style>
-
 </style>
diff --git a/src/pcviews/arc/dorm.vue b/src/pcviews/arc/dorm.vue
index 4171422..06fe0d2 100644
--- a/src/pcviews/arc/dorm.vue
+++ b/src/pcviews/arc/dorm.vue
@@ -1,15 +1,35 @@
+/*
+ * @Author: Morpheus
+ * @Name: 学生宿舍
+ * @Date: 2021-11-15 17:14:47
+ * @Last Modified by: Morpheus
+ * @Last Modified time: 2021-12-15 11:48:43
+ */
 <template>
-  <div>
-      校内建筑
-  </div>
+    <div>
+        <arc-nav-bar :title="title"
+                     :arcCode="code"></arc-nav-bar>
+    </div>
 </template>
 
 <script>
 export default {
-
+    data () {
+        return {
+            title: '学生宿舍',
+            code: 4
+        }
+    },
+    created () {
+    },
+    methods: {
+        closeModel () {
+            this.$store.dispatch('delVisitedViews', this.$route)
+            this.$router.push('/pcLayout/default')
+        }
+    }
 }
 </script>
 
 <style>
-
 </style>
diff --git a/src/pcviews/arc/edifact.vue b/src/pcviews/arc/edifact.vue
index 048bea7..dbab888 100644
--- a/src/pcviews/arc/edifact.vue
+++ b/src/pcviews/arc/edifact.vue
@@ -1,15 +1,14 @@
 /*
  * @Author: Morpheus
  * @Name: 行政办公
- * @Date: 2021-11-15 17:10:23
+ * @Date: 2021-11-15 17:14:47
  * @Last Modified by: Morpheus
- * @Last Modified time: 2021-11-15 17:12:12
- *
- /
- <template>
+ * @Last Modified time: 2021-12-15 11:48:39
+ */
+<template>
     <div>
-        <arc-nav-bar :navList="list"
-                     :title="title"></arc-nav-bar>
+        <arc-nav-bar :title="title"
+                     :arcCode="code"></arc-nav-bar>
     </div>
 </template>
 
@@ -18,56 +17,10 @@
     data () {
         return {
             title: '行政办公',
-            list: []
+            code: 1
         }
     },
     created () {
-        this.list = [
-            {
-                navTitle: '学校办公室',
-                icon: '/img/navicon/tag.png'
-            },
-            {
-                navTitle: '组织部',
-                icon: '/img/navicon/tag.png'
-            },
-            {
-                navTitle: '宣传部',
-                icon: '/img/navicon/tag.png'
-            },
-            {
-                navTitle: '博物馆',
-                icon: '/img/navicon/tag.png'
-            },
-            {
-                navTitle: '统战部',
-                icon: '/img/navicon/tag.png'
-            },
-            {
-                navTitle: '纪委办公室',
-                icon: '/img/navicon/tag.png'
-            },
-            {
-                navTitle: '巡查办公室',
-                icon: '/img/navicon/tag.png'
-            },
-            {
-                navTitle: '学生工作部(处)/团委',
-                icon: '/img/navicon/tag.png'
-            },
-            {
-                navTitle: '研究生工作部',
-                icon: '/img/navicon/tag.png'
-            },
-            {
-                navTitle: '保卫部',
-                icon: '/img/navicon/tag.png'
-            },
-            {
-                navTitle: '工会',
-                icon: '/img/navicon/tag.png'
-            }
-        ]
     },
     methods: {
         closeModel () {
diff --git a/src/pcviews/arc/family.vue b/src/pcviews/arc/family.vue
index 4171422..b86b626 100644
--- a/src/pcviews/arc/family.vue
+++ b/src/pcviews/arc/family.vue
@@ -1,15 +1,35 @@
+/*
+ * @Author: Morpheus
+ * @Name: 家属住宅
+ * @Date: 2021-11-15 17:14:47
+ * @Last Modified by: Morpheus
+ * @Last Modified time: 2021-12-15 11:48:35
+ */
 <template>
-  <div>
-      校内建筑
-  </div>
+    <div>
+        <arc-nav-bar :title="title"
+                     :arcCode="code"></arc-nav-bar>
+    </div>
 </template>
 
 <script>
 export default {
-
+    data () {
+        return {
+            title: '家属住宅',
+            code: 6
+        }
+    },
+    created () {
+    },
+    methods: {
+        closeModel () {
+            this.$store.dispatch('delVisitedViews', this.$route)
+            this.$router.push('/pcLayout/default')
+        }
+    }
 }
 </script>
 
 <style>
-
 </style>
diff --git a/src/pcviews/arc/rest.vue b/src/pcviews/arc/rest.vue
index 4171422..36411e5 100644
--- a/src/pcviews/arc/rest.vue
+++ b/src/pcviews/arc/rest.vue
@@ -1,15 +1,35 @@
+/*
+ * @Author: Morpheus
+ * @Name: 其他楼宇
+ * @Date: 2021-11-15 17:14:47
+ * @Last Modified by: Morpheus
+ * @Last Modified time: 2021-12-15 11:48:17
+ */
 <template>
-  <div>
-      校内建筑
-  </div>
+    <div>
+        <arc-nav-bar :title="title"
+                     :arcCode="code"></arc-nav-bar>
+    </div>
 </template>
 
 <script>
 export default {
-
+    data () {
+        return {
+            title: '其他楼宇',
+            code: 7
+        }
+    },
+    created () {
+    },
+    methods: {
+        closeModel () {
+            this.$store.dispatch('delVisitedViews', this.$route)
+            this.$router.push('/pcLayout/default')
+        }
+    }
 }
 </script>
 
 <style>
-
 </style>
diff --git a/src/pcviews/arc/teaching.vue b/src/pcviews/arc/teaching.vue
index 6ddc52b..cf891e0 100644
--- a/src/pcviews/arc/teaching.vue
+++ b/src/pcviews/arc/teaching.vue
@@ -3,12 +3,12 @@
  * @Name: 教学科研
  * @Date: 2021-11-15 17:14:47
  * @Last Modified by: Morpheus
- * @Last Modified time: 2021-11-19 14:06:53
+ * @Last Modified time: 2021-12-15 11:48:26
  */
 <template>
     <div>
-        <arc-nav-bar :navList="list"
-                     :title="title"></arc-nav-bar>
+        <arc-nav-bar :title="title"
+                     :arcCode="code"></arc-nav-bar>
     </div>
 </template>
 
@@ -17,176 +17,10 @@
     data () {
         return {
             title: '教学科研',
-            list: []
+            code: 2
         }
     },
     created () {
-        this.list = [
-            {
-                title: '西大直街',
-                flag: true,
-                list: [
-                    {
-                        navTitle: '外国语学院',
-                        icon: '/img/navicon/tag.png'
-                    },
-                    {
-                        navTitle: '主楼',
-                        icon: '/img/navicon/tag.png'
-                    },
-                    {
-                        navTitle: '电机楼',
-                        icon: '/img/navicon/tag.png'
-                    },
-                    {
-                        navTitle: '机械楼',
-                        icon: '/img/navicon/tag.png'
-                    },
-                    {
-                        navTitle: '明德楼',
-                        icon: '/img/navicon/tag.png'
-                    },
-                    {
-                        navTitle: '格物楼',
-                        icon: '/img/navicon/tag.png'
-                    },
-                    {
-                        navTitle: '管理楼',
-                        icon: '/img/navicon/tag.png'
-                    },
-                    {
-                        navTitle: '理学楼',
-                        icon: '/img/navicon/tag.png'
-                    },
-                    {
-                        navTitle: '正心楼',
-                        icon: '/img/navicon/tag.png'
-                    },
-                    {
-                        navTitle: '新技术楼',
-                        icon: '/img/navicon/tag.png'
-                    },
-                    {
-                        navTitle: '综合楼',
-                        icon: '/img/navicon/tag.png'
-                    }
-                ]
-            },
-            {
-                title: '黄河路',
-                flag: false,
-                list: [
-                    {
-                        navTitle: '二校区主楼',
-                        icon: '/img/navicon/tag.png'
-                    },
-                    {
-                        navTitle: '土木科研楼',
-                        icon: '/img/navicon/tag.png'
-                    },
-                    {
-                        navTitle: '建筑设计院',
-                        icon: '/img/navicon/tag.png'
-                    },
-                    {
-                        navTitle: '环境学院',
-                        icon: '/img/navicon/tag.png'
-                    },
-                    {
-                        navTitle: '土木学院',
-                        icon: '/img/navicon/tag.png'
-                    },
-                    {
-                        navTitle: '交通学院',
-                        icon: '/img/navicon/tag.png'
-                    },
-                    {
-                        navTitle: '计算机学院',
-                        icon: '/img/navicon/tag.png'
-                    },
-                    {
-                        navTitle: '城市水资源与水环境国家重点实验室楼',
-                        icon: '/img/navicon/tag.png'
-                    },
-                    {
-                        navTitle: '寒地城乡人居环境科学重点实验室',
-                        icon: '/img/navicon/tag.png'
-                    },
-                    {
-                        navTitle: '西配楼',
-                        icon: '/img/navicon/tag.png'
-                    },
-                    {
-                        navTitle: '水实验楼',
-                        icon: '/img/navicon/tag.png'
-                    }
-                ]
-            },
-            {
-                title: '科学园',
-                flag: false,
-                list: [
-                    {
-                        navTitle: '一期小园',
-                        icon: '/img/navicon/tag.png'
-                    },
-                    {
-                        navTitle: '科学园A栋',
-                        icon: '/img/navicon/tag.png'
-                    },
-                    {
-                        navTitle: '科学园B1栋',
-                        icon: '/img/navicon/tag.png'
-                    },
-                    {
-                        navTitle: '科学园B2栋',
-                        icon: '/img/navicon/tag.png'
-                    },
-                    {
-                        navTitle: '科学园B3栋',
-                        icon: '/img/navicon/tag.png'
-                    },
-                    {
-                        navTitle: '科学园C1栋',
-                        icon: '/img/navicon/tag.png'
-                    },
-                    {
-                        navTitle: '科学园C2栋',
-                        icon: '/img/navicon/tag.png'
-                    },
-                    {
-                        navTitle: '科学园C3栋',
-                        icon: '/img/navicon/tag.png'
-                    },
-                    {
-                        navTitle: '科学园D栋',
-                        icon: '/img/navicon/tag.png'
-                    },
-                    {
-                        navTitle: '科学园E栋',
-                        icon: '/img/navicon/tag.png'
-                    },
-                    {
-                        navTitle: '科技创新大厦',
-                        icon: '/img/navicon/tag.png'
-                    }
-                ]
-            },
-            {
-                title: '土木楼',
-                flag: false,
-                list: [
-                    {
-                        navTitle: '土木楼',
-                        icon: '/img/navicon/tag.png'
-                    },
-                    {
-                        navTitle: '机电学院实验楼',
-                        icon: '/img/navicon/tag.png'
-                    }
-                ]
-            }
-        ]
     },
     methods: {
         closeModel () {
diff --git a/src/pcviews/arc/venue.vue b/src/pcviews/arc/venue.vue
index 4171422..48ff9fa 100644
--- a/src/pcviews/arc/venue.vue
+++ b/src/pcviews/arc/venue.vue
@@ -1,15 +1,35 @@
+/*
+ * @Author: Morpheus
+ * @Name: 校内场馆
+ * @Date: 2021-11-15 17:14:47
+ * @Last Modified by: Morpheus
+ * @Last Modified time: 2021-12-15 11:48:23
+ */
 <template>
-  <div>
-      校内建筑
-  </div>
+    <div>
+        <arc-nav-bar :title="title"
+                     :arcCode="code"></arc-nav-bar>
+    </div>
 </template>
 
 <script>
 export default {
-
+    data () {
+        return {
+            title: '校内场馆',
+            code: 3
+        }
+    },
+    created () {
+    },
+    methods: {
+        closeModel () {
+            this.$store.dispatch('delVisitedViews', this.$route)
+            this.$router.push('/pcLayout/default')
+        }
+    }
 }
 </script>
 
 <style>
-
 </style>
diff --git a/src/pcviews/orgnav/directly.vue b/src/pcviews/orgnav/directly.vue
index db380f5..dbd93f9 100644
--- a/src/pcviews/orgnav/directly.vue
+++ b/src/pcviews/orgnav/directly.vue
@@ -1,15 +1,52 @@
-<template>
-  <div>
-      校内机构导览
-  </div>
+/*
+ * @Author: Morpheus
+ * @Name: 直属及附属单位
+ * @Date: 2021-11-15 10:02:12
+ * @Last Modified by: Morpheus
+ * @Last Modified time: 2021-12-14 16:30:52
+ */
+ <template>
+    <div>
+        <org-nav-bar :navList="list"
+                     :title="title"></org-nav-bar>
+    </div>
 </template>
 
 <script>
+import { getList } from '@/api/pc/orgnav/index'
 export default {
-
+    data () {
+        return {
+            title: '直属及附属单位',
+            list: []
+        }
+    },
+    created () {
+        getList({ type: 2 }).then(res => {
+            res.data.data.records.forEach(item => {
+                this.list.push({
+                    navTitle: item.mechanismname,
+                    icon: '/img/navicon/tag.png',
+                    longitude: item.jd,
+                    latitude: item.wd,
+                    alt: item.gd,
+                    heading: item.heading,
+                    pitch: item.pitch,
+                    roll: item.roll,
+                    bgImg: item.tpurl,
+                    QRImg: item.codeurl
+                })
+            })
+        })
+    },
+    methods: {
+        closeModel () {
+            this.$store.dispatch('delVisitedViews', this.$route)
+            this.$router.push('/pcLayout/default')
+        }
+    }
 }
 </script>
 
 <style>
-
 </style>
diff --git a/src/pcviews/orgnav/masses.vue b/src/pcviews/orgnav/masses.vue
index 17f630b..d321806 100644
--- a/src/pcviews/orgnav/masses.vue
+++ b/src/pcviews/orgnav/masses.vue
@@ -3,7 +3,7 @@
  * @Name: 党群机构
  * @Date: 2021-11-15 10:02:12
  * @Last Modified by: Morpheus
- * @Last Modified time: 2021-12-14 15:38:17
+ * @Last Modified time: 2021-12-15 14:42:59
  */
  <template>
     <div>
@@ -22,7 +22,7 @@
         }
     },
     created () {
-        getList({ type: 1462593559077318657 }).then(res => {
+        getList({ type: 1 }).then(res => {
             res.data.data.records.forEach(item => {
                 this.list.push({
                     navTitle: item.mechanismname,
@@ -30,6 +30,9 @@
                     longitude: item.jd,
                     latitude: item.wd,
                     alt: item.gd,
+                    heading: item.heading,
+                    pitch: item.pitch,
+                    roll: item.roll,
                     bgImg: item.tpurl,
                     QRImg: item.codeurl
                 })
diff --git a/src/pcviews/orgnav/ofc.vue b/src/pcviews/orgnav/ofc.vue
index db380f5..25e254c 100644
--- a/src/pcviews/orgnav/ofc.vue
+++ b/src/pcviews/orgnav/ofc.vue
@@ -1,15 +1,52 @@
-<template>
-  <div>
-      校内机构导览
-  </div>
+/*
+ * @Author: Morpheus
+ * @Name: 职能部处
+ * @Date: 2021-11-15 10:02:12
+ * @Last Modified by: Morpheus
+ * @Last Modified time: 2021-12-15 14:44:26
+ */
+ <template>
+    <div>
+        <org-nav-bar :navList="list"
+                     :title="title"></org-nav-bar>
+    </div>
 </template>
 
 <script>
+import { getList } from '@/api/pc/orgnav/index'
 export default {
-
+    data () {
+        return {
+            title: '职能部处',
+            list: []
+        }
+    },
+    created () {
+        getList({ type: 2 }).then(res => {
+            res.data.data.records.forEach(item => {
+                this.list.push({
+                    navTitle: item.mechanismname,
+                    icon: '/img/navicon/tag.png',
+                    longitude: item.jd,
+                    latitude: item.wd,
+                    alt: item.gd,
+                    heading: item.heading,
+                    pitch: item.pitch,
+                    roll: item.roll,
+                    bgImg: item.tpurl,
+                    QRImg: item.codeurl
+                })
+            })
+        })
+    },
+    methods: {
+        closeModel () {
+            this.$store.dispatch('delVisitedViews', this.$route)
+            this.$router.push('/pcLayout/default')
+        }
+    }
 }
 </script>
 
 <style>
-
 </style>
diff --git a/src/pcviews/orgnav/rest.vue b/src/pcviews/orgnav/rest.vue
index db380f5..42fe5eb 100644
--- a/src/pcviews/orgnav/rest.vue
+++ b/src/pcviews/orgnav/rest.vue
@@ -1,15 +1,52 @@
-<template>
-  <div>
-      校内机构导览
-  </div>
+/*
+ * @Author: Morpheus
+ * @Name: 其他机构
+ * @Date: 2021-11-15 10:02:12
+ * @Last Modified by: Morpheus
+ * @Last Modified time: 2021-12-15 14:44:30
+ */
+ <template>
+    <div>
+        <org-nav-bar :navList="list"
+                     :title="title"></org-nav-bar>
+    </div>
 </template>
 
 <script>
+import { getList } from '@/api/pc/orgnav/index'
 export default {
-
+    data () {
+        return {
+            title: '其他机构',
+            list: []
+        }
+    },
+    created () {
+        getList({ type: 2 }).then(res => {
+            res.data.data.records.forEach(item => {
+                this.list.push({
+                    navTitle: item.mechanismname,
+                    icon: '/img/navicon/tag.png',
+                    longitude: item.jd,
+                    latitude: item.wd,
+                    alt: item.gd,
+                    heading: item.heading,
+                    pitch: item.pitch,
+                    roll: item.roll,
+                    bgImg: item.tpurl,
+                    QRImg: item.codeurl
+                })
+            })
+        })
+    },
+    methods: {
+        closeModel () {
+            this.$store.dispatch('delVisitedViews', this.$route)
+            this.$router.push('/pcLayout/default')
+        }
+    }
 }
 </script>
 
 <style>
-
 </style>
diff --git a/src/pcviews/orgnav/teaching.vue b/src/pcviews/orgnav/teaching.vue
index db380f5..5b028e2 100644
--- a/src/pcviews/orgnav/teaching.vue
+++ b/src/pcviews/orgnav/teaching.vue
@@ -1,15 +1,52 @@
-<template>
-  <div>
-      校内机构导览
-  </div>
+/*
+ * @Author: Morpheus
+ * @Name: 教学与科研机构
+ * @Date: 2021-11-15 10:02:12
+ * @Last Modified by: Morpheus
+ * @Last Modified time: 2021-12-15 14:44:35
+ */
+ <template>
+    <div>
+        <org-nav-bar :navList="list"
+                     :title="title"></org-nav-bar>
+    </div>
 </template>
 
 <script>
+import { getList } from '@/api/pc/orgnav/index'
 export default {
-
+    data () {
+        return {
+            title: '教学与科研机构',
+            list: []
+        }
+    },
+    created () {
+        getList({ type: 2 }).then(res => {
+            res.data.data.records.forEach(item => {
+                this.list.push({
+                    navTitle: item.mechanismname,
+                    icon: '/img/navicon/tag.png',
+                    longitude: item.jd,
+                    latitude: item.wd,
+                    alt: item.gd,
+                    heading: item.heading,
+                    pitch: item.pitch,
+                    roll: item.roll,
+                    bgImg: item.tpurl,
+                    QRImg: item.codeurl
+                })
+            })
+        })
+    },
+    methods: {
+        closeModel () {
+            this.$store.dispatch('delVisitedViews', this.$route)
+            this.$router.push('/pcLayout/default')
+        }
+    }
 }
 </script>
 
 <style>
-
 </style>
diff --git a/src/store/getters.js b/src/store/getters.js
index a7e07d6..dbf262b 100644
--- a/src/store/getters.js
+++ b/src/store/getters.js
@@ -1,9 +1,17 @@
-const getters = {
-    viewer: state => state.viewer.viewer,
-    popupBgUrl: state => state.popupParams.popupBgUrl,
-    pupupQRUrl: state => state.popupParams.pupupQRUrl,
+//手机端
+let mobile = {
     mviewer: state => state.mobile.mviewer,
     mBigPopup: state => state.mobile.mBigPopup,
     mBigPopupAfter: state => state.mobile.mBigPopupAfter
 }
+const getters = {
+    ...mobile,
+    viewer: state => state.viewer.viewer,
+    popupBgUrl: state => state.popupParams.popupBgUrl,
+    pupupQRUrl: state => state.popupParams.pupupQRUrl,
+    pointPosition: state => state.popupParams.pointPosition,
+    terminus: state => state.popupParams.terminus,
+    startingPoint: state => state.popupParams.startingPoint,
+    stateName: state => state.popupParams.stateName,
+}
 export default getters
diff --git a/src/store/modules/popupParams.js b/src/store/modules/popupParams.js
index 7b1ccc1..ef7d4c8 100644
--- a/src/store/modules/popupParams.js
+++ b/src/store/modules/popupParams.js
@@ -1,7 +1,11 @@
 const popupParams = {
     state: {
         popupBgUrl: null,
-        pupupQRUrl: null
+        pupupQRUrl: null,
+        terminus: null,
+        startingPoint: null,
+        pointPosition: null,
+        stateName: null
     },
     mutations: {
         SET_POPUPBGURL(state, popupBgUrl) {
@@ -9,6 +13,18 @@
         },
         SET_POPUPQRURL(state, pupupQRUrl) {
             state.pupupQRUrl = pupupQRUrl
+        },
+        SET_TERMINUS (state, terminus) {
+            state.terminus = terminus
+        },
+        SET_STARTINGPOINT (state, startingPoint) {
+            state.startingPoint = startingPoint
+        },
+        SET_POINTPOSITION (state, pointPosition) {
+            state.pointPosition = pointPosition
+        },
+        SET_STATENAME (state, stateName) {
+            state.stateName = stateName
         }
     },
     actions: {

--
Gitblit v1.9.3