派生自 wuyushui/SewerAndRainNetwork

李红刚
2021-03-17 d5fb65532736b996aa3176423e11e8fb114bce90
src/components/panel/ToolBoxPanel.vue
@@ -1,11 +1,11 @@
<template>
  <div class="left-top-toolbox-panel">
    <div class="specific-tools">
      <el-button @click="changeSelect" v-show="selectGroup">
      <el-button class="el-button-choice" @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">
      <el-button class="el-button-choice" @click="changeSelect" v-show="!selectGroup">
        <img src="@assets/images/map-pages/icon/toolbox/Selecd/tool.png" alt="">
        <a>工具</a>
      </el-button>
@@ -40,7 +40,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>
@@ -242,8 +242,9 @@
      ],
      selectGroup: false,
      drawLayer: null,
      drawLayerArray: [],
      map: null,
      L: window.L,
      // L: window.L,
      active: -1,
      Selecd: -1
    }
@@ -284,12 +285,11 @@
    },
    changeChoose (index) {
      this.active = index
      if (this.drawLayer == null) {
      if (this.drawLayer == null && index === 0) {
        this.drawLayer = this.L.layerGroup().addTo(this.map)
      }
    },
    choiceItem (itemT, indexT) {
      // console.log(itemT.label)
      this.Selecd = indexT
      switch (itemT.label) {
        case '点标绘':
@@ -299,33 +299,34 @@
            iconAnchor: [13, 16],
            popupAnchor: [26, -32]
          })
          var drawLayer = this.map.editTools.startMarker()
          drawLayer.setIcon(myIcon)
          this.drawLayer.addLayer(drawLayer)
          this.setLogic(drawLayer)
          this.drawLayer = this.map.editTools.startMarker()
          this.drawLayer.setIcon(myIcon)
          this.drawLayerArray.push(this.drawLayer)
          break
        case '线标绘':
          var drawLayerLine = this.map.editTools.startPolyline()
          this.drawLayer.addLayer(drawLayerLine)
          this.setLogic(drawLayerLine)
          this.drawLayer = this.map.editTools.startPolyline()
          this.drawLayerArray.push(this.drawLayer)
          this.setLogic()
          break
        case '多边形':
          var drawLayerPolygonD = this.map.editTools.startPolygon()
          this.drawLayer.addLayer(drawLayerPolygonD)
          this.setLogic(drawLayerPolygonD)
          this.drawLayer = this.map.editTools.startPolygon()
          this.drawLayerArray.push(this.drawLayer)
          this.setLogic()
          break
        case '矩形':
          var drawLayerPolygonJ = this.map.editTools.startRectangle()
          this.drawLayer.addLayer(drawLayerPolygonJ)
          this.setLogic(drawLayerPolygonJ)
          this.drawLayer = this.map.editTools.startRectangle()
          this.drawLayerArray.push(this.drawLayer)
          this.setLogic()
          break
        case '圆形':
          var drawLayerPolygonY = this.map.editTools.startCircle()
          this.drawLayer.addLayer(drawLayerPolygonY)
          this.setLogic(drawLayerPolygonY)
          this.drawLayer = this.map.editTools.startCircle()
          this.drawLayerArray.push(this.drawLayer)
          this.setLogic()
          break
        case '删除':
          this.drawLayer.clearLayers()
          for (let i = 0; i < this.drawLayerArray.length; i++) {
            this.map.removeLayer(this.drawLayerArray[i])
          }
          break
        case '清除':
          Measure.clearMeasure(this.map, this.L)
@@ -366,13 +367,10 @@
          break
      }
    },
    setLogic (layer) {
      layer.on('dblclick', this.L.DomEvent.stop).on('dblclick', layer.toggleEdit)
      layer.setStyle({
        color: 'red',
        fillColor: '#ffffff',
        fillOpacity: 0.1,
        fill: true
    setLogic () {
      this.drawLayer.on('dblclick', this.L.DomEvent.stop).on('dblclick', this.drawLayer.toggleEdit)
      this.drawLayer.setStyle({
        color: 'red'
      })
    },
    changeSelect () {
@@ -426,7 +424,6 @@
      span {
        display: block;
        font-size: 0.012rem;
        color: @color-tool;
      }
@@ -436,6 +433,16 @@
      }
    }
    .el-button-choice {
      z-index: 999;
      padding: 0;
      margin: 0 0.015rem;
      width: 45px;
      height: 45px;
      background: @background-color-tools;
      border: 1px solid @color-shadow;
    }
    .specific-tools-group {
      z-index: 1;
      //.tools-panel-content {