From 48d575a147ecf5b5ea042dc38d99ed58df68ddfd Mon Sep 17 00:00:00 2001 From: YANGDL <114714267@qq.com> Date: 星期五, 15 一月 2021 18:02:53 +0800 Subject: [PATCH] 增加mapbox插接件和功能 --- src/components/LayerController/modules/LcServiceLayerFilter.vue | 60 +++++++++++++++++++++++++++++++++++++++++++++--------------- 1 files changed, 45 insertions(+), 15 deletions(-) diff --git a/src/components/LayerController/modules/LcServiceLayerFilter.vue b/src/components/LayerController/modules/LcServiceLayerFilter.vue index 75231cd..a185123 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> @@ -14,14 +14,16 @@ </template> <script> -import { mapState, mapMutations } from "vuex"; +import { mapState, mapMutations } from 'vuex' +import WmsHelper from '../../helpers/WmsHelper' + export default { - name: "LcServiceLayerFilter", + name: 'LcServiceLayerFilter', components: {}, - data() { + data () { return { - filterConfig: [], // 闄勫睘瑕佺礌 - }; + filterConfig: [] // 闄勫睘瑕佺礌 + } }, computed: { ...mapState({ @@ -31,23 +33,51 @@ selectedServiceLayer: (state) => { return state.selectedServiceLayer }, - }), + serviceLayerFilters: (state) => { + return state.serviceLayerFilters + }, + mapConfig: (state) => { + return state.mapConfig + } + }) }, - mounted() { - + mounted () { + }, methods: { ...mapMutations([]), - getFilterConfig(){ - return this.filterConfig + 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: { - selectedServiceLayer(newVal){ - this.filterConfig = this.serviceLayerHelper.getWMSConfig(newVal).filtersGroup - } + selectedServiceLayer (newVal) { + this.filterConfig = this.serviceLayerHelper.getWMSConfig(newVal).filtersGroup + } } -}; +} </script> <style scoped lang="less"> -- Gitblit v1.8.0