From 3eda2a49edc60f3961604223f557dcd6ab6db94f Mon Sep 17 00:00:00 2001 From: wangrui <zephyrs0894@163.com> Date: 星期三, 23 十二月 2020 16:52:54 +0800 Subject: [PATCH] 底图切换组件开发完成 --- src/components/LayerController/modules/LcBaseMap.vue | 82 +++++++++++++++++++++++++++------------- 1 files changed, 55 insertions(+), 27 deletions(-) diff --git a/src/components/LayerController/modules/LcBaseMap.vue b/src/components/LayerController/modules/LcBaseMap.vue index e86d7c1..9fca7f7 100644 --- a/src/components/LayerController/modules/LcBaseMap.vue +++ b/src/components/LayerController/modules/LcBaseMap.vue @@ -1,46 +1,74 @@ <template> -<div class="inner-panel"> + <div class="inner-panel"> <div v-for="item in basemapList" :key="item.code" class="basemap-layer-item"> - <img src="" width="40" height="40" :title="item.name"/> - <input type="checkbox" title="鏄剧ず鏍囨敞" /> + <img :src="item.conf.icon_actived" width="50" height="50" :title="item.name"/> + <input type="radio" name="basemap" v-model="selectedBasemap" :value="item.code" title="鏄剧ず鏍囨敞" @change="changeBasemap"/> </div> -</div> + </div> </template> <script> +import { mapState, mapMutations } from "vuex"; export default { - name: 'LcBaseMap', + name: "LcBaseMap", components: {}, - porps:['helper'], data() { return { - basemapHelper:null, - basemapList:[] - } + basemapList: [], + selectedBasemap: "tianditu_img", + }; }, - mounted(){ + computed: { + ...mapState({ + basemapHelper: (state) => { + return state.basemapHelper; + }, + }), + }, + mounted() { // console.log('03姝ラ锛�', this.helper) }, - methods:{ -init(basemapHelper){ - console.log('03姝ラ锛�', this.helper) - console.log(basemapHelper) - this.basemapHelper =basemapHelper -} - - } -} + methods: { + ...mapMutations([]), + updateBasemapList() { + let list = this.basemapHelper.getBasemapList(); + this.basemapList = list; + }, + changeBasemap() { + this.basemapHelper.showBasemap(this.selectedBasemap, true) + }, + }, + watch: { + basemapHelper(newVal) { + if (newVal != null) { + this.updateBasemapList(); + } + }, + }, +}; </script> <style scoped lang="less"> -.inner-panel{ - display: flex; - justify-content: center; - align-items: center; +.inner-panel { + display: flex; + justify-content: center; + align-items: center; } -.basemap-layer-item{ - width: 40px; - height: 40px; - margin: 10px; +.basemap-layer-item { + width: 50px; + height: 50px; + margin: 10px; + border: 2px solid white; + + input { + position: relative; + left: 0px; + top: -53px; + } + .basemap-layer-item-name { + position: relative; + left: 0px; + top: -53px; + } } </style> -- Gitblit v1.8.0