From 81f54040c2cb65537c6c6e1db8358a39a57dea0d Mon Sep 17 00:00:00 2001
From: mayisheng <admin>
Date: Mon, 15 Aug 2022 16:14:01 +0800
Subject: [PATCH] 1

---
 src/components/arcNavBar/index.vue |  112 +++++++++++++++++++++++++++++++++++++++++++-------------
 1 files changed, 86 insertions(+), 26 deletions(-)

diff --git a/src/components/arcNavBar/index.vue b/src/components/arcNavBar/index.vue
index faf856e..9c49b89 100644
--- a/src/components/arcNavBar/index.vue
+++ b/src/components/arcNavBar/index.vue
@@ -5,7 +5,7 @@
                 <img class="icon deblurring" src="/img/icon/xyjz.png" alt />
                 <span>{{ arcNavBarTitle }}</span>
             </div>
-            <img class="close" src="/img/navicon/close.png" alt @click="closeModel" />
+            <img class="close deblurring" src="/img/navicon/close.png" alt @click="closeModel" />
         </template>
         <template slot="public-box-content">
             <div class="tab" v-show="false">
@@ -47,7 +47,6 @@
     props: {},
     computed: {
         ...mapGetters([
-            'viewer',
             'popupBgUrl',
             'pupupQRUrl',
             // 点信息
@@ -61,7 +60,8 @@
             // 全景地址
             'panoramaUrl',
             'arcNavBarTitle',
-            'arcNavBarCode'
+            'arcNavBarCode',
+            'twoOrThree'
         ])
     },
     created () {
@@ -89,6 +89,16 @@
         }
     },
     methods: {
+
+        coordinate (item) {
+            const arr = item.split(',')
+
+            return {
+                lng: arr[0],
+                lat: arr[1]
+            }
+        },
+
         topNavClick (item, index) {
             this.titleList.forEach((item) => {
                 item.flag = false
@@ -118,20 +128,16 @@
         mapPopup (param) {
             getChildNavDetail({ id: param.id }).then((res) => {
                 var result = res.data.data[0].list
+
                 this.$store.commit('CLEAR_ALL', null)
 
                 var imgArr = result.tpurl.split(',')
 
+                const position = this.coordinate(result.x)
+
                 this.$store.commit('SET_POPUPBGURL', imgArr[0])
                 this.$store.commit('SET_POPUPQRURL', result.codeurl)
-                this.$store.commit('SET_POINTPOSITION', [
-                    Number(result.jd),
-                    Number(result.wd),
-                    Number(result.gd),
-                    Number(result.heading),
-                    Number(result.pitch),
-                    Number(result.roll)
-                ])
+
                 this.$store.commit('SET_STATENAME', result.mechanismname)
                 this.$store.commit('SET_SITENAME', result.address)
                 this.$store.commit('SET_TELEPHONE', result.telephone)
@@ -155,28 +161,78 @@
                     this.$store.commit('SET_LIVELIST', [])
                 }
 
-                this.newPopup(result)
-                this.viewer.flyToPosition(
-                    new global.DC.Position(
-                        Number(result.jd),
-                        Number(result.wd),
-                        300,
+                this.newPopup(result, position)
+
+                if (this.twoOrThree == '三 维') {
+                    this.$store.commit('SET_POINTPOSITION', [
+                        Number(position.lng),
+                        Number(position.lat),
+                        Number(result.gd),
                         Number(result.heading),
                         Number(result.pitch),
                         Number(result.roll)
-                    ),
-                    function () { },
-                    3
-                )
+                    ])
+
+                    global.viewer.flyToPosition(
+                        new global.DC.Position(
+                            Number(position.lng),
+                            Number(position.lat),
+                            300,
+                            Number(result.heading),
+                            Number(result.pitch),
+                            Number(result.roll)
+                        ),
+                        function () { },
+                        3
+                    )
+                } else {
+                    this.$store.commit('SET_POINTPOSITION', [
+                        Number(result.jd),
+                        Number(result.wd),
+                        Number(result.gd),
+                        Number(result.heading),
+                        Number(result.pitch),
+                        Number(result.roll)
+                    ])
+
+                    global.viewer.flyToPosition(
+                        new global.DC.Position(
+                            Number(result.jd),
+                            Number(result.wd),
+                            300,
+                            Number(result.heading),
+                            Number(result.pitch),
+                            Number(result.roll)
+                        ),
+                        function () { },
+                        3
+                    )
+                }
             })
         },
 
-        newPopup (item) {
-            const position = global.DC.Transform.transformWGS84ToCartesian(
-                new global.DC.Position(Number(item.jd), Number(item.wd), Number(item.gd))
-            )
+        newPopup (item, positionArr) {
+            let position
+            if (this.twoOrThree == '三 维') {
+                position = global.DC.Transform.transformWGS84ToCartesian(
+                    new global.DC.Position(
+                        Number(positionArr.lng),
+                        Number(positionArr.lat),
+                        Number(item.alt)
+                    )
+                )
+            } else {
+                position = global.DC.Transform.transformWGS84ToCartesian(
+                    new global.DC.Position(
+                        Number(item.jd),
+                        Number(item.wd),
+                        Number(50)
+                    )
+                )
+            }
+
             // eslint-disable-next-line no-unused-vars
-            var popup = new global.DC.DivForms(this.viewer, {
+            var popup = new global.DC.DivForms(global.viewer, {
                 domId: 'divFormsDomBox',
                 position: [position]
             })
@@ -196,6 +252,10 @@
             this.$store.commit('SET_ARCNAVBARTITLE', '')
             this.$store.commit('SET_ARCNAVBARCODE', '')
             this.$store.commit('SET_ARCNAVBARFLAG', false)
+
+            this.$store.commit('SET_DETAILSPOPUP', false)
+            this.$store.commit('SET_PANORAMAPOPUP', false)
+            this.$store.commit('SET_MONITORPOPUP', false)
         }
     }
 }

--
Gitblit v1.9.3