From 8356b1850885fe03a6bd388500a447dd5c42692c Mon Sep 17 00:00:00 2001 From: YANGDL <114714267@qq.com> Date: 星期二, 05 一月 2021 10:23:30 +0800 Subject: [PATCH] 优化逻辑 --- src/components/LayerController/modules/LcServiceLayerFilter.vue | 34 ++++++++++++++++++++++++++++++++-- 1 files changed, 32 insertions(+), 2 deletions(-) diff --git a/src/components/LayerController/modules/LcServiceLayerFilter.vue b/src/components/LayerController/modules/LcServiceLayerFilter.vue index 75231cd..4fe2af2 100644 --- a/src/components/LayerController/modules/LcServiceLayerFilter.vue +++ b/src/components/LayerController/modules/LcServiceLayerFilter.vue @@ -2,7 +2,7 @@ <div class="inner-panel"> <div class="filter-group"> <div v-for="item in filterConfig" :key="item.code" class="filter-item"> - <div class="title"><input type="checkbox" :value="item.code" :checked="item.checked">{{item.name}}</div> + <div class="title"><input type="checkbox" :value="item.code" :checked="item.checked" @change="swAllSubFilter(item)">{{item.name}}</div> <div class="content"> <div v-for="filter in item.filters" :key="filter.code"> <input type="checkbox" :value="filter.code" :checked="filter.checked"><label :title="filter.name">{{filter.sname}}</label> @@ -15,6 +15,8 @@ <script> import { mapState, mapMutations } from "vuex"; +import WmsHelper from "../../helpers/WmsHelper"; + export default { name: "LcServiceLayerFilter", components: {}, @@ -31,15 +33,43 @@ selectedServiceLayer: (state) => { return state.selectedServiceLayer }, + serviceLayerFilters: (state) => { + return state.serviceLayerFilters + }, + mapConfig: (state) => { + return state.mapConfig + } }), }, mounted() { - + }, methods: { ...mapMutations([]), getFilterConfig(){ return this.filterConfig + }, + swAllSubFilter(item){ + item.checked = !item.checked + for(let i = 0, len = item.filters.length; i < len; ++i){ + item.filters[i].checked = item.checked + } + + console.log('------') + var mapConfig = this.mapConfig + var wmsHelper = new WmsHelper() + wmsHelper.initMapConfig(mapConfig) + var wmsLayersMap = wmsHelper.getWmsLayersMap() + //var filterURL = wmsHelper.getFilterURL() + console.log(wmsLayersMap) + for (var k in wmsLayersMap) { + var layers = wmsLayersMap[k] + var tileLayer = this.serviceLayerHelper.getTileLayer(k) + if (tileLayer) { + tileLayer.setParams({layers: layers.join(',')}, true) + tileLayer.setUrl(tileLayer.config.url,false) + } + } } }, watch: { -- Gitblit v1.8.0