派生自 wuyushui/SewerAndRainNetwork

徐旺旺
2021-03-31 afd4342bccb0e111fe4134fa7693f50b0b91fdbd
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 = []
    }
  }
}