From 6851cc1e217a2af9ae62ebb3bf28e00a0d8ddadb Mon Sep 17 00:00:00 2001
From: liuyg <376836862@qq.com>
Date: Fri, 31 Dec 2021 09:06:55 +0800
Subject: [PATCH] +

---
 src/components/orgNavBar/index.vue |  111 +++++++++++++++++++++++++++++++++++++++----------------
 1 files changed, 78 insertions(+), 33 deletions(-)

diff --git a/src/components/orgNavBar/index.vue b/src/components/orgNavBar/index.vue
index cc9b184..f7caf99 100644
--- a/src/components/orgNavBar/index.vue
+++ b/src/components/orgNavBar/index.vue
@@ -6,11 +6,11 @@
                  @mousedown="move"
                  :class="{'move': moveFlag}">
                 <div class="title">
-                    <img class="icon"
+                    <img class="icon deblurring"
                          src="/img/icon/jg.png"
                          alt="">
                     <span>
-                        {{title}}
+                        {{orgNavBarTitle}}
                     </span>
                 </div>
                 <img class="close"
@@ -20,7 +20,7 @@
             </div>
             <div class="content">
                 <ul>
-                    <li v-for="(item, index) in navList"
+                    <li v-for="(item, index) in orgNavBarList"
                         :key="index"
                         @click="mapPopup(item)">
                         <img :src="item.icon"
@@ -38,22 +38,12 @@
 <script>
 import { mapGetters } from 'vuex'
 
-var $ = window.$
-
 export default {
     name: 'OrgNavBar',
     data () {
         return {
             moveFlag: false,
             DC: null
-        }
-    },
-    props: {
-        navList: {
-            type: Array
-        },
-        title: {
-            type: String
         }
     },
     created () {
@@ -73,7 +63,9 @@
             // 介绍
             'introduceText',
             // 全景地址
-            'panoramaUrl'
+            'panoramaUrl',
+            'orgNavBarList',
+            'orgNavBarTitle'
         ])
     },
     methods: {
@@ -123,28 +115,35 @@
                 document.onmouseup = null
             }
         },
-        closeModel () {
-            this.$parent.closeModel()
-        },
+
         mapPopup (item) {
             this.$store.commit('CLEAR_ALL', null)
 
-            this.$store.commit('SET_POPUPBGURL', item.bgImg)
+            var imgArr = item.bgImg.split(',')
+
+            this.$store.commit('SET_POPUPBGURL', imgArr[0])
             this.$store.commit('SET_POPUPQRURL', item.QRImg)
             this.$store.commit('SET_POINTPOSITION', [Number(item.longitude), Number(item.latitude), Number(item.alt), Number(item.heading), Number(item.pitch), Number(item.roll)])
             this.$store.commit('SET_STATENAME', item.navTitle)
+            this.$store.commit('SET_SITENAME', item.address)
+            this.$store.commit('SET_TELEPHONE', item.telephone)
+            this.$store.commit('SET_INTRODUCETEXT', item.introduce)
+            this.$store.commit('SET_POPUPIMGATLAS', imgArr)
+            if (item.videourl && item.videourl != '') {
+                this.$store.commit('SET_MONITORURL', item.videourl)
+            }
 
-            var that = this
-
-            this.viewer.zoomToPosition(
-                new this.DC.Position(item.longitude, item.latitude, item.alt, item.heading, item.pitch, item.roll),
+            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)),
                 function () {
-                    that.newPopup(item)
-                }
+                },
+                3
             )
         },
+
         newPopup (item) {
-            const position = this.DC.Transform.transformWGS84ToCartesian(new this.DC.Position(item.longitude, item.latitude, item.alt, item.heading, item.pitch, item.roll))
+            const position = this.DC.Transform.transformWGS84ToCartesian(new this.DC.Position(Number(item.longitude), Number(item.latitude), Number(item.alt), Number(item.heading), Number(item.pitch), Number(item.roll)))
             // eslint-disable-next-line no-unused-vars
             var popup = new this.DC.DivForms(this.viewer, {
                 domId: 'divFormsDomBox',
@@ -155,6 +154,20 @@
 
             this.$store.commit('SET_PANORAMAPOPUP', false)
             this.$store.commit('SET_DETAILSPOPUP', true)
+        },
+
+        closeModel () {
+            var path = this.$route.path
+            if (path.indexOf('/orgnav') != -1) {
+                this.$store.dispatch('delVisitedViews', this.$route)
+                this.$router.push('/pcLayout/default')
+            }
+
+            this.$store.commit('SET_ORGNAVBARTITLE', '')
+
+            this.$store.commit('SET_ORGNAVBARFLAG', false)
+
+            this.$store.commit('SET_ORGNAVBARLIST', [])
         }
     }
 }
@@ -166,11 +179,12 @@
     width: 322px;
     height: auto;
     border-radius: 8px;
-    top: 24%;
-    left: 20%;
-    background-color: #fff;
+    top: 140px;
+    left: 140px;
+    background-color: transparent;
     z-index: 999;
     font-size: 14px;
+
     .container {
         .header {
             position: relative;
@@ -178,14 +192,27 @@
             width: 100%;
             height: 36px;
             line-height: 36px;
-            background-color: #020c17;
+            background: rgba(0, 131, 176, 0.9); /* fallback for old browsers */
+            background: -webkit-linear-gradient(
+                to left,
+                rgba(0, 180, 219, 0.9),
+                rgba(0, 131, 176, 0.9)
+            ); /* Chrome 10-25, Safari 5.1-6 */
+            background: linear-gradient(
+                to left,
+                rgba(0, 180, 219, 0.9),
+                rgba(0, 131, 176, 0.9)
+            ); /* W3C, IE 10+/ Edge, Firefox 16+, Chrome 26+, Opera 12+, Safari 7+ */
+
             .title {
                 padding-left: 10px;
+
                 img {
-                    width: 18px;
-                    height: 18px;
+                    width: 20px;
+                    height: 20px;
                     vertical-align: middle;
                 }
+
                 span {
                     margin-left: 6px;
                     display: inline-block;
@@ -193,6 +220,7 @@
                     color: #fff;
                 }
             }
+
             .close {
                 position: absolute;
                 right: 6px;
@@ -202,11 +230,14 @@
                 margin: auto;
                 width: 14px;
                 height: 14px;
+                cursor: pointer;
             }
         }
+
         .move {
             cursor: move;
         }
+
         .content {
             clear: both;
             width: 100%;
@@ -214,12 +245,23 @@
             margin-top: 0px;
             text-align: center;
             overflow-y: auto;
-            background: url(/img/bg/nav-bg.jpeg) no-repeat;
-            background-size: 100% 100%;
+            background: rgba(0, 131, 176, 0.9); /* fallback for old browsers */
+            background: -webkit-linear-gradient(
+                to left,
+                rgba(0, 180, 219, 0.9),
+                rgba(0, 131, 176, 0.9)
+            ); /* Chrome 10-25, Safari 5.1-6 */
+            background: linear-gradient(
+                to left,
+                rgba(0, 180, 219, 0.9),
+                rgba(0, 131, 176, 0.9)
+            ); /* W3C, IE 10+/ Edge, Firefox 16+, Chrome 26+, Opera 12+, Safari 7+ */
             border-radius: 0 0 8px 8px;
+
             ul {
                 padding: 15px;
                 padding-top: 4px;
+
                 li {
                     padding-left: 24px;
                     position: relative;
@@ -228,6 +270,7 @@
                     list-style: none;
                     border-bottom: 1px dashed #ccc;
                     text-align: left;
+
                     img {
                         position: absolute;
                         left: 0;
@@ -237,10 +280,12 @@
                         margin: auto;
                         width: 14px;
                     }
+
                     span {
                         color: #fff;
                         cursor: pointer;
                     }
+
                     span:hover {
                         text-decoration: underline;
                     }

--
Gitblit v1.9.3