| | |
| | | <div class="inner-panel"> |
| | | <div class="filter-group"> |
| | | <div v-for="item in layers" :key="item.code" class="filter-item"> |
| | | <div class="title"><input type="checkbox" :value="item.code" :checked="item.checked" |
| | | @change="swAllSubFilter(item)">{{item.name}} |
| | | <div class="title"><input type="checkbox" :value="item.code" :checked="item.checked" @change="swAllSubFilter(item)">{{item.name}} |
| | | </div> |
| | | <!-- <el-scrollbar style="height:100%"> --> |
| | | <div class="content"> |
| | | <div v-for="filter in item.layers" :key="filter.code"> |
| | | <input type="checkbox" :value="filter.code" :checked="filter.checked" |
| | | @change="swAllSubFilter(filter)"><label |
| | | :title="filter.name">{{filter.name}}</label> |
| | | <input type="checkbox" :value="filter.code" :checked="filter.checked" @change="swAllSubFilter(filter)"><label :title="filter.name">{{filter.name}}</label> |
| | | </div> |
| | | </div> |
| | | <!-- </el-scrollbar> --> |
| | |
| | | return { |
| | | visible: {}, |
| | | layers: [], |
| | | changeList: [], |
| | | filterConfig: [] // 附属要素 |
| | | } |
| | | }, |
| | |
| | | // eslint-disable-next-line no-debugger |
| | | item.checked = !item.checked |
| | | this.toggleLayer(item) |
| | | this.swLayers(item.layers, item.checked) |
| | | 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) |
| | | } |
| | | }, |
| | | 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) { |
| | | const config = configs[i] |
| | | const layers = config.layers |
| | | this.changeList.push(config) |
| | | if (layers) { |
| | | this.swLayers(config, checked) |
| | | } |
| | | config.checked = checked |
| | | } |
| | | } |
| | | }, |