From 9885498796b8ba0a7b45bc04fb7bb7bf68206583 Mon Sep 17 00:00:00 2001 From: 徐旺旺 <11530253@qq.com> Date: 星期五, 09 四月 2021 09:42:35 +0800 Subject: [PATCH] 图层全选 --- src/components/LayerController/modules/LcServiceLayerFilter.vue | 24 ++++++++++++++++++------ 1 files changed, 18 insertions(+), 6 deletions(-) diff --git a/src/components/LayerController/modules/LcServiceLayerFilter.vue b/src/components/LayerController/modules/LcServiceLayerFilter.vue index 2e4d80d..9f36a5e 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,7 +20,6 @@ </template> <script> -import { mapMutations } from 'vuex' import { LayerSewersPoint } from '@src/conf/layers/LayerSewers' export default { @@ -43,12 +42,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 +89,7 @@ } } }, - swSubFilter (url, item) { - item.checked = !item.checked + toggleLayer (item) { if (item.checked) { window.layerFactory.show(item) } else { -- Gitblit v1.8.0