From 8356b1850885fe03a6bd388500a447dd5c42692c Mon Sep 17 00:00:00 2001
From: YANGDL <114714267@qq.com>
Date: 星期二, 05 一月 2021 10:23:30 +0800
Subject: [PATCH] 优化逻辑

---
 src/views/MapTemplate.vue |   64 +++++++++++++++++++++++--------
 1 files changed, 47 insertions(+), 17 deletions(-)

diff --git a/src/views/MapTemplate.vue b/src/views/MapTemplate.vue
index 9dfea6c..0356636 100644
--- a/src/views/MapTemplate.vue
+++ b/src/views/MapTemplate.vue
@@ -1,7 +1,12 @@
 <template>
   <div class="full-screen">
         <div id="map" ref="rootmap"></div>
-        <sgis-layer-controller :preset="'warningPreset'"></sgis-layer-controller>
+        <sgis-layer-controller :preset="'warningPreset'">
+            <lc-basemap></lc-basemap>
+            <div class="barline"></div>
+            <lc-service-layer></lc-service-layer>
+        </sgis-layer-controller>
+        <lc-service-layer-filter v-show="showServiceLayerFilter" ref="serviceLayerFilter"></lc-service-layer-filter>
         <monitor-panel></monitor-panel>
   </div>
 </template>
@@ -9,43 +14,63 @@
 <script>
 import 'leaflet/dist/leaflet.css'
 import Sgis from '@src/Sgis'
-import mapConfig from '@/conf/MapConfig'
+// import mapConfig from '@/conf/MapConfig'
 import SgisLayerController from '@components/LayerController/LayerController'
+import LcBasemap from '@components/LayerController/modules/LcBaseMap'
+import LcServiceLayer from '@components/LayerController/modules/LcServiceLayer'
+import LcServiceLayerFilter from '@components/LayerController/modules/LcServiceLayerFilter'
 import MonitorPanel from '@components/panel/MonitorPanel'
-import { mapMutations, mapState } from 'vuex'
+// import { mapMutations, mapState } from 'vuex'
 
 export default {
   name: 'MapTemplate',
-  components: {SgisLayerController, MonitorPanel},
-  datas:{
-      ...mapState("/",{})
+  components: {SgisLayerController, MonitorPanel, LcBasemap, LcServiceLayer, LcServiceLayerFilter},
+  data(){
+    return {
+      basemapHelper: {},
+      serviceLayerHelper: {},
+      vectorLayerHelper: {}
+    }
   },
-  mounted(){
+  computed:{
+    showServiceLayerFilter(){
+      return this.$store.state.map.showServiceLayerFilter
+    },
+    mapConfig(){
+      return this.$store.state.map.mapConfig
+    }
+  },
+  beforeMount(){
       this.$nextTick(() => {
           this.init()
       })
   },
   methods:{
-      ...mapMutations({
-        setMapObj: 'setMapObj',
-        setLayerHelper: 'setLayerHelper'
-      }),
+    saveMapStatus(){
+      this.$store.commit('setMapObj', this.mapObj);
+      this.$store.commit('setBasemapHelper', this.basemapHelper);
+      this.$store.commit('setServiceLayerHelper', this.serviceLayerHelper);
+      this.$store.commit('setVectorLayerHelper', this.vectorLayerHelper);
+    },
       init() {
         const mapcontainer = this.$refs.rootmap
         this.mapObj = Sgis.initMap(mapcontainer)
 
         this.basemapHelper = Sgis.initBasemapsHelper(this.mapObj.map, this.mapObj.L) // 鍒濆鍖栧熀纭�搴曞浘鍔╂墜
-        this.basemapHelper.initBasemap(mapConfig, false) // 绗簩涓弬鏁帮紝琛ㄧず鏄惁鍐呯綉搴曞浘
-
+        this.basemapHelper.initBasemap(this.mapConfig, false) // 绗簩涓弬鏁帮紝琛ㄧず鏄惁鍐呯綉搴曞浘
 
         this.serviceLayerHelper = Sgis.initTileLayersHelper(this.mapObj.map, this.mapObj.L) // 鍒濆鍖栦笟鍔″簳鍥惧姪鎵�
-        this.serviceLayerHelper.initServiceLayers(mapConfig)
+        this.serviceLayerHelper.initServiceLayers(this.mapConfig)
 
         this.vectorLayerHelper = Sgis.initVectorLayersHelper(this.mapObj.map, this.mapObj.L) // 鍒濆鍖栧姩鎬佽绱犲浘灞傚姪鎵�
-        this.vectorLayerHelper.initVectorLayers(mapConfig)
+        this.vectorLayerHelper.initVectorLayers(this.mapConfig)
 
-        this.setLayerHelper(this.vectorLayerHelper)
-        return this.map
+
+        this.saveMapStatus()
+        // this.setMapObj(this.mapObj)
+        // this.setBasemapHelper(this.basemapHelper)
+        // this.setServiceLayerHelper(this.serviceLayerHelper)
+        // this.setVectorLayerHelper(this.vectorLayerHelper)
       }
   }
 }
@@ -63,5 +88,10 @@
     height: 100%;
     width: 100%;
   }
+  .barline{
+    width: 100%;
+    height: 1px;
+    background-color: #0661AE;
+  }
 }
 </style>>

--
Gitblit v1.8.0