派生自 wuyushui/SewerAndRainNetwork

chenzeping
2021-03-17 2d9a0acec2da0d6caf81083e900f5eb111623304
src/components/panel/ToolBoxPanel.vue
@@ -244,6 +244,7 @@
      ],
      selectGroup: false,
      drawLayer: null,
      drawLayerArray: [],
      map: null,
      // L: window.L,
      active: -1,
@@ -285,6 +286,9 @@
      })
    },
    changeChoose (index) {
      if (this.drawLayer == null) {
        this.drawLayer = this.L.layerGroup().addTo(this.map)
      }
      this.active = index
      if (this.drawLayer == null) {
        this.drawLayer = this.L.layerGroup().addTo(this.map)
@@ -310,33 +314,35 @@
            iconAnchor: [13, 16],
            popupAnchor: [26, -32]
          })
          var drawLayerMarker = this.map.editTools.startMarker()
          drawLayerMarker.setIcon(myIcon)
          this.drawLayer.addLayer(drawLayerMarker)
          this.setLogic(drawLayerMarker)
          this.drawLayer = this.map.editTools.startMarker()
          this.drawLayer.setIcon(myIcon)
          this.drawLayerArray.push(this.drawLayer)
          this.drawLayer.on('dblclick', this.L.DomEvent.stop).on('dblclick', this.drawLayer.toggleEdit)
          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)
@@ -350,10 +356,9 @@
        case '全屏':
          // this.map.toggleFullscreen()
          var printer = this.L.easyPrint({
            sizeModes: ['Current', 'A4Landscape', 'A4Portrait'],
            filename: 'map_image',
            exportOnly: true,
            hideControlContainer: true
            hideControlContainer: true,
            hidden: true
          }).addTo(this.map)
          printer.printMap('CurrentSize', '全屏')
          break
@@ -362,7 +367,8 @@
            sizeModes: ['Current', 'A4Landscape', 'A4Portrait'],
            filename: 'map_image',
            exportOnly: true,
            hideControlContainer: true
            hideControlContainer: true,
            hidden: true
          }).addTo(this.map)
          printerX.printMap('A4Landscape page', '横向')
          break
@@ -371,22 +377,26 @@
            sizeModes: ['Current', 'A4Landscape', 'A4Portrait'],
            filename: 'map_image',
            exportOnly: true,
            hideControlContainer: true
            hideControlContainer: true,
            hidden: true
          }).addTo(this.map)
          printerY.printMap('A4Portrait page', '纵向')
          break
      }
    },
    setLogic (layer) {
      layer.on('dblclick', this.L.DomEvent.stop).on('dblclick', layer.toggleEdit)
      layer.setStyle({
    setLogic () {
      this.drawLayer.on('dblclick', this.L.DomEvent.stop).on('dblclick', this.drawLayer.toggleEdit)
      this.drawLayer.setStyle({
        color: 'red'
      })
    },
    changeSelect () {
      this.selectGroup = !this.selectGroup
      this.selectGroup = false
      this.isShow = !this.isShow
      this.checked = false
      this.active = -1
    },
    changeSelectMouse () {
      this.selectGroup = true
    }
  }
}
@@ -417,8 +427,8 @@
      margin: 0 0.015rem;
      width: 45px;
      height: 45px;
      background: @background-color-tools;
      border: none;
      background: @background-color;
      vertical-align: middle !important;
      .base-map-img {
        position: absolute;
@@ -433,14 +443,16 @@
        height: 22px;
      }
      span {
        display: block;
        color: @color-tool;
      }
      a {
      .span-default {
        display: block;
        color: @color-shadow;
        font-size: 11px;
      }
      span {
        display: block;
        color: @color-over;
        font-size: 11px;
      }
    }
@@ -450,17 +462,19 @@
      margin: 0 0.015rem;
      width: 45px;
      height: 45px;
      background: @background-color-tools;
      border: 1px solid @color-shadow;
      background: @background-color;
      border: 0.00521rem solid @color-shadow;
    }
    .active-button {
      border: 0.00521rem solid #fff700;
      box-shadow: 0 0 0.03rem #fff700;
    }
    .specific-tools-group {
      z-index: 1;
      //.tools-panel-content {
      //  width:220px!important;
      //}
      .base-map-inner-panel {
        //width: 230px!important;
        display: flex;
        justify-content: center;
        align-items: center;
@@ -477,7 +491,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;
@@ -516,14 +530,19 @@
        span {
          display: block;
          color: @color-shadow;
        }
        a {
          display: block;
          color: @color-over;
        }
      }
    }
    .special-button {
      width: 22.5px;
      height: 45px;
      color: @color-over;
      .special-button {
        width: 22px;
        height: 45px;
        color: @color-over;
      }
    }
  }
}