派生自 wuyushui/SewerAndRainNetwork

chenzeping
2021-03-17 acf1cadd6e2af1f288192e02e5b8303841d85c4b
src/components/panel/ToolBoxPanel.vue
@@ -1,13 +1,10 @@
<template>
  <div class="left-top-toolbox-panel">
    <div class="specific-tools">
      <el-button @click="changeSelect" v-show="selectGroup">
        <img src="@assets/images/map-pages/icon/toolbox/tool.png" alt="">
        <span>工具</span>
      </el-button>
      <el-button @click="changeSelect" v-show="!selectGroup">
        <img src="@assets/images/map-pages/icon/toolbox/Selecd/tool.png" alt="">
        <a>工具</a>
      <el-button :class="selectGroup === true ?'active-button':''" class="el-button-choice"
                 @mouseover.enter.native="changeSelectMouse">
        <img src="@assets/images/map-pages/icon/toolbox/Selecd/tool.png" alt=""/>
        <span class="span-default">工具</span>
      </el-button>
      <transition name="animationChange">
        <el-row v-show="selectGroup" class="specific-tools-group">
@@ -40,7 +37,7 @@
            </div>
          </el-popover>
          <el-button @click="changeSelect" class="special-button">
            <i :class="selectGroup === false ? 'el-icon-d-arrow-right':'el-icon-d-arrow-left'"></i>
            <i class="el-icon-d-arrow-left"></i>
          </el-button>
        </el-row>
      </transition>
@@ -95,6 +92,11 @@
      isShow: true,
      currentBaseMapCode: 'tianditu_img',
      basemapList: [],
      selectGroup: false,
      drawLayer: null,
      map: null,
      active: -1,
      Selecd: -1,
      menuList: [
        {
          icon: plot,
@@ -239,13 +241,7 @@
            }
          ]
        }
      ],
      selectGroup: false,
      drawLayer: null,
      map: null,
      L: window.L,
      active: -1,
      Selecd: -1
      ]
    }
  },
  computed: {
@@ -283,13 +279,15 @@
      })
    },
    changeChoose (index) {
      if (this.active === index) {
        console.log('取消当前选中状态')
      }
      this.active = index
      if (this.drawLayer == null) {
        this.drawLayer = this.L.layerGroup().addTo(this.map)
      }
    },
    choiceItem (itemT, indexT) {
      // console.log(itemT.label)
      this.Selecd = indexT
      switch (itemT.label) {
        case '点标绘':
@@ -299,10 +297,10 @@
            iconAnchor: [13, 16],
            popupAnchor: [26, -32]
          })
          var drawLayer = this.map.editTools.startMarker()
          drawLayer.setIcon(myIcon)
          this.drawLayer.addLayer(drawLayer)
          this.setLogic(drawLayer)
          var drawLayerMarker = this.map.editTools.startMarker()
          drawLayerMarker.setIcon(myIcon)
          this.drawLayer.addLayer(drawLayerMarker)
          this.setLogic(drawLayerMarker)
          break
        case '线标绘':
          var drawLayerLine = this.map.editTools.startPolyline()
@@ -369,15 +367,15 @@
    setLogic (layer) {
      layer.on('dblclick', this.L.DomEvent.stop).on('dblclick', layer.toggleEdit)
      layer.setStyle({
        color: 'red',
        fillColor: '#ffffff',
        fillOpacity: 0.1,
        fill: true
        color: 'yellow'
      })
    },
    changeSelect () {
      this.selectGroup = !this.selectGroup
      this.selectGroup = false
      this.isShow = !this.isShow
    },
    changeSelectMouse () {
      this.selectGroup = true
    }
  }
}
@@ -408,8 +406,9 @@
      margin: 0 0.015rem;
      width: 45px;
      height: 45px;
      background: @background-color-tools;
      border: none;
      background: @background-color;
      //border: 1px solid @color-shadow;
      vertical-align: middle !important;
      .base-map-img {
        position: absolute;
@@ -424,16 +423,30 @@
        height: 22px;
      }
      span {
        display: block;
        font-size: 0.012rem;
        color: @color-tool;
      }
      a {
      .span-default {
        display: block;
        color: @color-shadow;
      }
      span {
        display: block;
        color: @color-over;
      }
    }
    .el-button-choice {
      z-index: 999;
      padding: 0;
      margin: 0 0.015rem;
      width: 45px;
      height: 45px;
      background: @background-color;
      border: 1px solid @color-shadow;
    }
    .active-button {
      border: 0.00521rem solid #fff700;
      box-shadow: 0 0 0.03rem #fff700;
    }
    .specific-tools-group {
@@ -459,7 +472,7 @@
          position: absolute;
          margin-left: 2px;
          background-color: rgba(0, 0, 0, .5);
          color: white;
          color: @color-over;
          .el-checkbox__label {
            padding-left: 5px !important;
@@ -498,14 +511,15 @@
        span {
          display: block;
          color: @color-shadow;
        }
      }
    }
    .special-button {
      width: 22.5px;
      height: 45px;
      color: @color-over;
      .special-button {
        width: 22px;
        height: 45px;
        color: @color-over;
      }
    }
  }
}