派生自 wuyushui/SewerAndRainNetwork

chenyabin
2021-04-07 cd80929f0ae8882a98cfe3936b2a96bded1c12d8
src/components/LayerController/modules/LcServiceLayer.vue
@@ -1,27 +1,38 @@
<template>
    <div class="inner-panel">
        <div class="title">
            图层控制
        </div>
        <div class="panel-title"> 图层控制 </div>
        <div class="wms-panel">
            <el-scrollbar class="wms-panel-scrollbar">
                <div v-for="item in serviceLayers" :key="item.code" class="layerbox">
                    <div>
                        <input type="checkbox" :name="'wmsLayer_'+item.code" :checked="item.checked" :value="item.code"  @change="swAllLayers(item)"/>{{ item.name }}
                    <!-- 一级图层遍历 -->
                    <div style="padding-left:10px;padding-top:10px">
                        <input type="checkbox" :name="'wmsLayer_'+item.code" :checked="item.checked" :value="item.code"
                               @change="swAllLayers(item)"/>{{ item.name }}
                    </div>
                    <div class="layerbox-item">
                        <!-- 二级图层遍历 -->
                        <div class="basemap-layer-item" v-for="itm in item.layers" :key="itm.code">
                            <input type="checkbox"
                                   :name="'wmsSublayers_'+item.code+'_'+itm.code"
                                   :checked="itm.checked"
                                   :value="itm.code"
                                   @change="swWmsLayer(itm)"/>{{ itm.name }}
                            <!-- 三级图层遍历 -->
                            <div class="layerbox-item-3">
                                <div class="basemap-layer-item" v-for="layer in itm.layers" :key="layer.code">
                                    <input type="checkbox"
                                           :name="'wmsSublayers_'+item.code+'_'+layer.code"
                                           :checked="layer.checked"
                                           :value="layer.code"
                                           @change="swWmsLayer(layer)"/>{{ layer.name }}
                                </div>
                            </div>
                        </div>
                    </div>
                </div>
            </el-scrollbar>
        </div>
        <lc-service-layer-filter v-if="layerFilterVisible" ref="serviceLayerFilter"></lc-service-layer-filter>
        <lc-service-layer-filter ref="serviceLayerFilter"></lc-service-layer-filter>
    </div>
</template>
@@ -33,11 +44,6 @@
export default {
  name: 'LcServiceLayer',
  components: { LcServiceLayerFilter },
  data () {
    return {
      layerFilterVisible: false
    }
  },
  computed: {
    serviceLayers () {
      return this.$store.state.map.serviceLayers.LayerSewersLine
@@ -74,9 +80,6 @@
      }
      // this.updateWms()
    },
    swFilter (item) {
      this.layerFilterVisible = !this.layerFilterVisible
    },
    updateServiceLayerList () {
    },
@@ -100,35 +103,34 @@
<style scoped lang="less">
    .inner-panel {
        .title{
            color: #ffffff;
            font-size: 16px;
            font-weight: 600;
            margin: 10px;
            text-align: center;
        }
        .btn-filter {
            cursor: pointer;
            color: #ffffff;
        }
        .wms-panel {
            width:  1.79167rem;
            .wms-panel-scrollbar{
                height: 50vh;
                height: 457px;
                width: 100%;
                font-size: 14px;
            }
            .layerbox {
                width: 100%;
                .layerbox-item {
                    display: flex;
                    flex-flow: row wrap;
                    margin-left: 15px;
                    margin-top: 5px;
                    padding-left: 30px;
                    padding-top: 5px;
                    .basemap-layer-item {
                        width: 50%;
                        margin-bottom: 5px;
                    }
                }
                .layerbox-item-3{
                    padding-left: 20px;
                    padding-top: 5px;
                    display: flex;
                    flex-wrap: wrap;
                    .basemap-layer-item{width: 50%}
                }
            }
        }
    }