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/components/arcNavBar/index.vue |   99 +++++++++++++++++++++++++++++++++++++++++++------
 1 files changed, 87 insertions(+), 12 deletions(-)

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;

--
Gitblit v1.9.3