派生自 wuyushui/SewerAndRainNetwork

陈泽平
2021-05-29 b5e596e670ecb194157436b61e1ffd635e1130f7
src/components/LayerController/modules/LcServiceLayer.vue
@@ -40,6 +40,11 @@
export default {
  name: 'LcServiceLayer',
  components: { LcServiceLayerFilter },
  data () {
    return {
      changeList: []
    }
  },
  computed: {
    serviceLayers () {
      return this.$store.state.map.serviceLayers.LayerSewersLine
@@ -51,8 +56,18 @@
    swAllLayers (item) {
      // eslint-disable-next-line no-debugger
      item.checked = !item.checked
      this.toggleLayer(item)
      this.swLayers(item.layers, item.checked)
      // this.toggleLayer(item)
      if (item.layers && item.layers.length > 0) {
        this.swLayers(item.layers, item.checked)
        if (item.checked) {
          window.layerFactory.showAll(this.changeList)
        } else {
          window.layerFactory.hideAll(this.changeList)
        }
        this.changeList = []
      } else {
        this.toggleLayer(item)
      }
      this.serviceLayers.forEach(function (item1, index1) {
        if (item1.layers) {
          item1.istrue = 0
@@ -90,19 +105,23 @@
          } else {
            item1.type = 1 // 半选
          }
          if (item1.name === '企业应急') {
            // console.log(item1)
            bus.$emit('changeSearchBar', item1)
          }
          // console.log(item1.layers.length, item1.istrue, item1.isfalse, item1.type)
        }
      })
      console.log(this.serviceLayers)
      // console.log(this.serviceLayers)
    },
    swLayers (layers, checked) {
      if (layers) {
        for (let i = 0, len = layers.length; i < len; ++i) {
          var layer = layers[i]
          layer.checked = checked
          this.toggleLayer(layer)
          if (layer.layers) {
            this.swLayers(layer.layers, checked)
    swLayers (configs, checked) {
      if (configs) {
        for (let i = 0, len = configs.length; i < len; ++i) {
          var config = configs[i]
          config.checked = checked
          this.changeList.push(config)
          if (config.layers) {
            this.swLayers(config.layers, checked)
          }
        }
      }