派生自 wuyushui/SewerAndRainNetwork

徐旺旺
2021-04-08 6f52267465d2ce8e08ae0fd61bbe7f69b366a2c4
src/components/panel/ToolBoxPanel.vue
@@ -1,11 +1,12 @@
<template>
  <div class="left-top-toolbox-panel">
    <div class="specific-tools">
      <el-button :class="selectGroup === true ?'active-button':''" class="el-button-choice"   @click.enter.native="changeSelectMouse">
      <el-tooltip :popper-class="'map-tooltip'" effect="dark" content="工具" placement="left">
        <el-button :class="selectGroup === true ?'active-button':''" class="el-button-choice"   @click.enter.native="changeSelectMouse">
          <img src="@assets/images/map-pages/icon/toolbox/Selecd/tool.png" alt="" class="icon" />
          <span class="span-default">工具</span>
      </el-button>
          <!--<span class="span-default">工具</span>-->
        </el-button>
      </el-tooltip>
      <transition name="animationChange">
        <el-row v-show="selectGroup" class="specific-tools-group">
          <el-popover
@@ -21,23 +22,24 @@
                       @click.native="changeChoose(index)">
              <img :src="item.iconSelecd" alt="" v-if="active === index"/>
              <img :src="item.icon" alt="" v-else/>
              <span v-if="active === index">{{ item.label }}</span>
              <span v-else class="default-span">{{ 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)"
                       v-show="item.index!=='2'">
              <img :src="itemT.iconChoose" :title="itemT.title" v-if="Selecd === indexT && checkedItem" alt=""/>
              <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 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"
                             label="标注" @change="changeBasemap(item)">
                </el-checkbox>
              </div>
            </div>
<!--            <div class="base-map-inner-panel" v-show="item.index==='2'">-->
<!--              <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"-->
<!--                             label="标注" @change="changeBasemap(item)">-->
<!--                </el-checkbox>-->
<!--              </div>-->
<!--            </div>-->
            <lc-base-map v-show="item.index==='2'"></lc-base-map>
          </el-popover>
          <el-button @click="changeSelect" class="special-button">
            <i class="el-icon-d-arrow-left"></i>
@@ -49,6 +51,7 @@
</template>
<script>
import LcBaseMap from '@components/LayerController/modules/LcBaseMap'
// 功能导航
import plot from '@assets/images/map-pages/icon/toolbox/biaohui.png'
import polygon from '@assets/images/map-pages/icon/toolbox/celiang1.png'
@@ -95,11 +98,14 @@
export default {
  name: 'ToolBoxPanel',
  components: {
    LcBaseMap
  },
  data () {
    return {
      isShow: [],
      currentBaseMapCode: 'tianditu_img',
      basemapList: [],
      // currentBaseMapCode: 'tianditu_img',
      // basemapList: [],
      selectGroup: false,
      drawLayer: null,
      drawLayerArray: [],
@@ -257,33 +263,10 @@
      ]
    }
  },
  computed: {
    basemapHelper () {
      return this.$store.state.map.basemapHelper
    }
  },
  methods: {
    init (map) {
      this.map = map
      this.toolBoxPanelVisible = true
    },
    changeBasemap (itm) {
      this.active = -1
      const code = itm.code
      this.basemapHelper.basemapList.forEach((item) => {
        if (item.code === code) {
          if (this.currentBaseMapCode == null || this.currentBaseMapCode !== code) {
            this.currentBaseMapCode = code
            this.basemapHelper.showBasemap(item.code, item.conf.annotationCheck, true)
          } else {
            this.basemapHelper.showBasemap(item.code, item.conf.annotationCheck, false)
          }
          this.basemapHelper.basemapList.forEach((item) => {
            item.layer.bringToBack()
          })
        }
      })
    },
    changeChoose (index) {
      if (this.drawLayer == null) {
@@ -506,7 +489,15 @@
      .special-button {
        width: 0.1362rem;
        height: 0.2725rem;
        color: @color-over;
        background:@background-color4;
        color:@color-tool;
        border:1px solid @color-tool;
      }
      .special-button:hover{
        background:@background-color;
        border:1px solid @color;
        box-shadow: 0 0 2px @color;
        color:@color;
      }
    }
  }