From bec20fdd032c7ab7ebe56f20050e72666629788b Mon Sep 17 00:00:00 2001 From: 徐旺旺 <11530253@qq.com> Date: 星期三, 14 四月 2021 10:10:52 +0800 Subject: [PATCH] 修复 --- src/components/LayerController/modules/LcServiceLayerFilter.vue | 27 ++++++++++++++++++--------- 1 files changed, 18 insertions(+), 9 deletions(-) diff --git a/src/components/LayerController/modules/LcServiceLayerFilter.vue b/src/components/LayerController/modules/LcServiceLayerFilter.vue index 2e4d80d..6903552 100644 --- a/src/components/LayerController/modules/LcServiceLayerFilter.vue +++ b/src/components/LayerController/modules/LcServiceLayerFilter.vue @@ -9,7 +9,7 @@ <div class="content"> <div v-for="filter in item.layers" :key="filter.code"> <input type="checkbox" :value="filter.code" :checked="filter.checked" - @change="swSubFilter(item.url,filter)"><label + @change="swAllSubFilter(filter)"><label :title="filter.name">{{filter.name}}</label> </div> </div> @@ -20,16 +20,12 @@ </template> <script> -import { mapMutations } from 'vuex' -import { LayerSewersPoint } from '@src/conf/layers/LayerSewers' - export default { name: 'LcServiceLayerFilter', components: { }, data () { return { visible: {}, - layerSewersPoint: LayerSewersPoint, layers: [], filterConfig: [] // 闄勫睘瑕佺礌 } @@ -43,12 +39,26 @@ } }, methods: { - ...mapMutations([]), swAllSubFilter (item) { + // eslint-disable-next-line no-debugger item.checked = !item.checked - // window.serviceLayerHelper.loadLayers() + this.toggleLayer(item) + this.swLayers(item.layers, item.checked) + }, + 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) + } + } + } }, // todo 杩橀渶瑕佷紭鍖栵紝鍦ㄦ湁澶氫釜闇�瑕佸瓙鍥惧眰鐙珛寮圭獥鎯呭喌涓嬫棤鏁� + // 鐩戝惉涓婄骇鍥惧眰瀛樺湪鐙珛寮圭獥鐨勯�変腑鎯呭喌 toggle (serviceLayers) { if (serviceLayers) { for (var i = 0; i < serviceLayers.length; i++) { @@ -76,8 +86,7 @@ } } }, - swSubFilter (url, item) { - item.checked = !item.checked + toggleLayer (item) { if (item.checked) { window.layerFactory.show(item) } else { -- Gitblit v1.8.0