派生自 wuyushui/SewerAndRainNetwork

chenyabin
2021-04-13 2e876ee0ba719df9a0008c2eb93de5a6d3697ee7
修改 图层控制和搜索组件联动。
4个文件已修改
86 ■■■■ 已修改文件
src/components/LayerController/modules/LcServiceLayer.vue 13 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/components/panel/LegendPanel.vue 15 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/components/panel/RightSearchPanel.vue 43 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/conf/Topic.js 15 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/components/LayerController/modules/LcServiceLayer.vue
@@ -7,7 +7,7 @@
                    <i class="downUp el-icon-caret-bottom" @click="item.isShow=!item.isShow" :class="item.isShow?'':'active'" ></i><!-- el-icon-arrow-down -->
                    <!-- 一级图层遍历 -->
                    <div style="padding-left:25px;padding-top:10px;color:#fff">
                        <input type="checkbox" :name="'wmsLayer_'+item.code" :checked="item.checked" :value="item.code" @change="swAllLayers(item)"/>{{ item.name }}
                        <input type="checkbox" :name="'wmsLayer_'+item.code" :checked="item.checked" :value="item.code" @change="swAllLayers(item,'')"/>{{ item.name }}
                    </div>
                    <div class="layerbox-item" v-show="item.isShow">
                        <!-- 二级图层遍历 -->
@@ -16,7 +16,7 @@
                                   :name="'wmsSublayers_'+item.code+'_'+itm.code"
                                   :checked="itm.checked"
                                   :value="itm.code"
                                   @change="swAllLayers(itm)"/>{{ itm.name }}
                                   @change="swAllLayers(itm,item.name)"/>{{ itm.name }}
                            <!-- 三级图层遍历 -->
                            <div class="layerbox-item-3">
                                <div class="basemap-layer-item" v-for="layer in itm.layers" :key="layer.code">
@@ -24,7 +24,7 @@
                                           :name="'wmsSublayers_'+item.code+'_'+layer.code"
                                           :checked="layer.checked"
                                           :value="layer.code"
                                           @change="swAllLayers(layer)"/>
                                           @change="swAllLayers(layer,'')"/>
                                    <span :style="'color:'+layer.color">{{ layer.name }}</span>
                                </div>
                            </div>
@@ -39,7 +39,7 @@
<script>
import LcServiceLayerFilter from '@components/LayerController/modules/LcServiceLayerFilter'
import bus from '@/eventBus'
export default {
  name: 'LcServiceLayer',
  components: { LcServiceLayerFilter },
@@ -51,11 +51,14 @@
  mounted () {
  },
  methods: {
    swAllLayers (item) {
    swAllLayers (item, v) {
      // eslint-disable-next-line no-debugger
      item.checked = !item.checked
      this.toggleLayer(item)
      this.swLayers(item.layers, item.checked)
      if (v === '专题图层') {
        bus.$emit('changeSearchBar', item)
      }
    },
    swLayers (layers, checked) {
      if (layers) {
src/components/panel/LegendPanel.vue
@@ -32,7 +32,7 @@
import { LayerPipeLines } from '../../conf/layers/LayerPipeLines'
import { LayerPk } from '../../conf/layers/LayerPk'
import { LayerArea } from '../../conf/layers/LayerArea'
import bus from '@/eventBus'
export default {
  name: 'LegendPanel',
  data () {
@@ -42,10 +42,23 @@
      serviceLayers: [LayerSoilGroundWater, LayerEnvRisk, LayerAirQuality, LayerWasteSolid, LayerWasteGas, LayerWasteWater, LayerArea, LayerPk, LayerPipeLines]
    }
  },
  mounted () {
    const that = this
    bus.$on('changeState', function (state) {
      if (state.num !== 4 && state.type) {
        that.isShow = false
      }
    })
  },
  methods: {
    // 图标 控制内容的展示与隐藏
    legendChange () {
      this.isShow = !this.isShow
      const state = {
        type: this.isShow,
        num: 4
      }
      bus.$emit('changeState', state)
    }
  }
}
src/components/panel/RightSearchPanel.vue
@@ -12,7 +12,7 @@
                              </div>
                          </li>
                      </ul> -->
                      <ul  v-for="item in topicList" :key="item.name" :class="item.checked?'module-wrap map-btn-active':'module-wrap map-btn-unactive'" @click="()=>{selected(item)}" >
                      <ul  v-for="item in topicList" :key="item.name" :class="item.checked?'module-wrap map-btn-active':'module-wrap map-btn-unactive'" @click="()=>{selected(item)}" v-show="item.isShow" >
                          <el-tooltip :popper-class="'map-tooltip'" effect="dark" :content="item.name" placement="left">
                              <li>
                                  <img src="../../assets/images/map-pages/icon/sl.png" class="icon">
@@ -26,11 +26,11 @@
                      <div :class="[isCollapse? 'btn-stretch':'btn-shrink']" ></div>
                  </div>
                  <div :class="'search-container map-background'" v-show="selectGroup" >
                      <div @click="setSearchPanelChange" type="button" class="el-button special-button el-button--default ">
                      <div @click="setSearchPanelChange" class="el-button special-button el-button--default ">
                          <i class=" el-icon-d-arrow-right" v-if="selectGroup"></i>
                          <i class=" el-icon-d-arrow-left" v-else ></i>
                      </div>
                      <div class="el-message-box__content" style="padding:0 6px 6px 6px;font-size: 13px;">
                      <div class="el-message-box__content" style="padding:0;font-size: 13px;">
                          <component :title="title" :is="gcComp"></component>
                      </div>
                  </div>
@@ -55,6 +55,7 @@
import SolidWasteSearch from '@components/panel/topicSearch/SolidWasteSearch'
import SewersSearch from '@components/panel/topicSearch/SewersSearch'
import SoilGroundWaterSearch from '@components/panel/topicSearch/SoilGroundWaterSearch.vue'
import bus from '@/eventBus'
export default {
  name: 'MonitorPanel',
  components: { GasWasteSearch, WaterWasteSearch, SolidWasteSearch, EnvRiskSearch, DischargeSearch },
@@ -66,7 +67,6 @@
      topicCheckedList: [],
      isPanelVisible: false,
      gcComp: SewersSearch,
      gdVisible: true,
      hbVisible: false,
      pkVisible: false,
@@ -74,7 +74,7 @@
      title: '污雨水管网',
      isCollapse: true,
      selectGroup: true
      selectGroup: false
    }
  },
  computed: {},
@@ -116,13 +116,13 @@
        case '污染源':
          this.gcComp = DischargeSearch
          break
        case '废水监测':
        case '废水':
          this.gcComp = WaterWasteSearch
          break
        case '废气监测':
        case '废气':
          this.gcComp = GasWasteSearch
          break
        case '固废管理':
        case '固废':
          this.gcComp = SolidWasteSearch
          break
        case '环境风险':
@@ -131,7 +131,7 @@
        case '土壤及地下水':
          this.gcComp = SoilGroundWaterSearch
          break
        case '污雨水管网':
        case '管网':
          this.gcComp = SewersSearch
          break
      }
@@ -180,9 +180,32 @@
    //       speed: 1000
    //     })
    //   }
    },
    defaultLastOne () {
      let v = {}
      this.topicList.forEach((item) => {
        if (item.isShow) {
          v = item
        }
      })
      this.selected(v)
    }
  },
  mounted () {
    const that = this
    bus.$on('changeSearchBar', function (obj) {
      // console.log(obj.checked, obj.name)
      that.topicList.forEach((item) => {
        if (item.name === obj.name) {
          item.isShow = obj.checked
          if (item.isShow) {
            that.selected(item)
          } else {
            that.defaultLastOne()
          }
        }
      })
    })
  }
}
</script>
@@ -716,7 +739,7 @@
        .panel-title{}
        .search-panel{
            background-color: transparent;
            padding: 10px 0;
            padding: 10px;
            border-bottom: 1px solid @background-color-split;
            // .el-input{width:calc(100% - 40px);position: relative}
            /deep/ input {
src/conf/Topic.js
@@ -15,42 +15,49 @@
  name: '污染源',
  id: 1,
  check: false,
  isShow: true,
  icon: '/assets/images/menu/special.png',
  comp: ''
}, {
  name: '废水监测',
  name: '废水',
  id: 2,
  checked: false,
  isShow: true,
  icon: '/assets/images/menu/special.png',
  comp: ''
}, {
  name: '废气监测',
  name: '废气',
  id: 3,
  checked: false,
  isShow: true,
  icon: '/assets/images/menu/special.png',
  comp: ''
}, {
  name: '固废管理',
  name: '固废',
  id: 4,
  checked: false,
  isShow: true,
  icon: '/assets/images/menu/special.png',
  comp: ''
}, {
  name: '环境风险',
  id: 5,
  checked: false,
  isShow: true,
  icon: '/assets/images/menu/special.png',
  comp: ''
}, {
  name: '土壤及地下水',
  id: 6,
  checked: false,
  isShow: true,
  icon: '/assets/images/menu/special.png',
  comp: ''
}, {
  name: '污雨水管网',
  name: '管线',
  id: 7,
  checked: false,
  isShow: true,
  icon: '/assets/images/menu/special.png',
  comp: ''
}]