From afd4342bccb0e111fe4134fa7693f50b0b91fdbd Mon Sep 17 00:00:00 2001
From: 徐旺旺 <11530253@qq.com>
Date: 星期三, 31 三月 2021 19:00:51 +0800
Subject: [PATCH] 工具条调整

---
 src/components/panel/ToolBoxPanel.vue |   60 ++++++++++++++++++++++++++++++++----------------------------
 1 files changed, 32 insertions(+), 28 deletions(-)

diff --git a/src/components/panel/ToolBoxPanel.vue b/src/components/panel/ToolBoxPanel.vue
index 36b950d..f65eb9c 100644
--- a/src/components/panel/ToolBoxPanel.vue
+++ b/src/components/panel/ToolBoxPanel.vue
@@ -1,5 +1,5 @@
 <template>
-  <div class="left-top-toolbox-panel">
+  <div class="left-top-toolbox-panel" v-if="toolBoxPanelVisible">
     <div class="specific-tools">
       <el-button :class="selectGroup === true ?'active-button':''" class="el-button-choice"
                  @mouseover.enter.native="changeSelectMouse">
@@ -17,11 +17,11 @@
               v-model="isShow[index]"
           >
             <el-button slot="reference" class="el-button"
-                       :class="active === index && checked? 'tools-panel-choose':''"
+                       :class="active === index? 'tools-panel-choose':''"
                        @click.native="changeChoose(index)">
-              <img :src="item.iconSelecd" alt="" v-if="active === index && checked"/>
+              <img :src="item.iconSelecd" alt="" v-if="active === index"/>
               <img :src="item.icon" alt="" v-else/>
-              <span v-if="active === index && checked">{{ item.label }}</span>
+              <span v-if="active === index">{{ item.label }}</span>
               <span v-else class="default-span">{{ item.label }}</span>
             </el-button>
             <el-button v-for="(itemT,indexT) in item.items" :key="indexT" @click="choiceItem(itemT,indexT)"
@@ -30,7 +30,7 @@
               <img :src="itemT.icon" :title="itemT.title" alt="" v-else/>
             </el-button>
             <div class="base-map-inner-panel" v-show="item.index==='2'">
-              <div v-for="item in basemapList" :key="item.code" class="basemap-layer-item">
+              <div v-for="item in basemapHelper.basemapList" :key="item.code" class="basemap-layer-item">
                 <img class="base-map-img" width="50" height="50" :src="item.conf.icon_actived" :title="item.name"
                      @click="changeBasemap(item)" alt=""/>
                 <el-checkbox class="base-map-anno" name="basemap" v-model="item.conf.annotationCheck"
@@ -101,6 +101,7 @@
       currentBaseMapCode: 'tianditu_img',
       basemapList: [],
       selectGroup: false,
+      toolBoxPanelVisible: false,
       drawLayer: null,
       drawLayerArray: [],
       map: null,
@@ -262,23 +263,16 @@
       return this.$store.state.map.basemapHelper
     }
   },
-  watch: {
-    basemapHelper (newVal) {
-      if (newVal != null) {
-        this.updateBasemapList()
-      }
-    }
-  },
   methods: {
-    updateBasemapList () {
-      this.basemapList = this.basemapHelper.getBasemapList()
+    init (map) {
+      this.map = map
+      this.toolBoxPanelVisible = true
     },
     changeBasemap (itm) {
       this.active = -1
       const code = itm.code
-      this.basemapList.forEach((item) => {
+      this.basemapHelper.basemapList.forEach((item) => {
         if (item.code === code) {
-          console.log(this.currentBaseMapCode)
           if (this.currentBaseMapCode == null || this.currentBaseMapCode !== code) {
             this.currentBaseMapCode = code
             this.basemapHelper.showBasemap(item.code, item.conf.annotationCheck, true)
@@ -286,7 +280,7 @@
             this.basemapHelper.showBasemap(item.code, item.conf.annotationCheck, false)
           }
 
-          this.basemapHelper.getBasemapList().forEach((item) => {
+          this.basemapHelper.basemapList.forEach((item) => {
             item.layer.bringToBack()
           })
         }
@@ -296,19 +290,28 @@
       if (this.drawLayer == null) {
         this.drawLayer = this.L.layerGroup().addTo(this.map)
       }
-      this.active = index
-      this.isShow[index] = !this.isShow[index]
-      if (this.checkbutton === index) {
-        this.checked = !this.checked
-        this.Selecd = -1
-      } else {
-        if (this.checkbutton === -1) {
-          this.checked = !this.checked
-        } else {
-          this.checked = true
+      // this.isShow[index] = !this.isShow[index]
+      // this.isShow[index - 1] = !this.isShow[index - 1]
+      // if (this.checkbutton === index) {
+      //   this.checked = !this.checked
+      //   this.Selecd = -1
+      // } else {
+      //   if (this.checkbutton === -1) {
+      //     this.checked = !this.checked
+      //   } else {
+      //     this.checked = true
+      //   }
+      // }
+      // this.checkbutton = index
+      // console.log(this.isShow[index - 1])
+      console.log(this.basemapList)
+      for (let i = 0; i < this.isShow.length; i++) {
+        if (i !== index) {
+          this.isShow[i] = false
         }
       }
-      this.checkbutton = index
+      this.isShow[index] = !this.isShow[index]
+      this.isShow[index] ? (this.active = index) : (this.active = '')
     },
     choiceItem (itemT, indexT) {
       this.Selecd = indexT
@@ -414,6 +417,7 @@
     },
     changeSelectMouse () {
       this.selectGroup = true
+      this.isShow = []
     }
   }
 }

--
Gitblit v1.8.0