From 3b79ee564d4c77189484711ece4dc80786f79080 Mon Sep 17 00:00:00 2001
From: 徐旺旺 <11530253@qq.com>
Date: 星期一, 17 五月 2021 14:34:20 +0800
Subject: [PATCH] 定位、高亮重封装

---
 src/views/MapTemplate.vue |  216 ++++++++++++++++++++++++++++++++++++++++++------------
 1 files changed, 168 insertions(+), 48 deletions(-)

diff --git a/src/views/MapTemplate.vue b/src/views/MapTemplate.vue
index 6ee012d..67a6523 100644
--- a/src/views/MapTemplate.vue
+++ b/src/views/MapTemplate.vue
@@ -1,67 +1,187 @@
 <template>
-  <div class="full-screen">
-        <div id="map" ref="rootmap"></div>
-        <sgis-layer-controller :preset="'warningPreset'"></sgis-layer-controller>
+    <div class="full-screen">
+        <!--<popup ref="popup" @callPopup="callPopup"></popup>-->
+        <div id="map" ref="rootmap">
+        </div>
+        <sgis-layer-controller></sgis-layer-controller>
         <monitor-panel></monitor-panel>
-  </div>
+        <!--        <top-enterprise-panel></top-enterprise-panel>-->
+        <tool-box-panel ref="toolBox"></tool-box-panel>
+        <!--    <menu-special></menu-special>-->
+        <legend-panel></legend-panel>
+        <!--    <summary-sheets></summary-sheets>-->
+        <SummarySheet></SummarySheet>
+        <!-- <enterprise></enterprise> -->
+        <!--    <el-button id="map-btn" el-icon-c-scale-to-original icon="el-icon-c-scale-to-original" circle @click="isShowHidden"></el-button>-->
+        <!--    <el-button type="primary" @click="ChangeState" class="solid-waste">鍥哄簾</el-button>-->
+        <!--    <el-button type="primary" @click="ChangeWaterState" class="Waste-water">搴熸按</el-button>-->
+        <!--    <el-button type="primary" @click="AddGasHelper" class="flue-gas">搴熸皵</el-button>-->
+<!--        <PublicBounced ref="PublicBounced"></PublicBounced>-->
+<!--            <ReportPopup></ReportPopup>-->
+        <Emergency ref="Emergency"></Emergency>
+    </div>
 </template>
 
 <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 MonitorPanel from '@components/panel/MonitorPanel'
-import { mapMutations, mapState } from 'vuex'
+import MonitorPanel from '@components/panel/RightSearchPanel'
+// import TopEnterprisePanel from '@components/panel/TopEnterprisePanel'
+// import summarySheets from '@components/table/summarySheets.vue'
+import SummarySheet from '@components/table/SummarySheet'
+import ToolBoxPanel from '@components/panel/ToolBoxPanel'
+// import MenuSpecial from '@components/panel/MenuTopic'
+import LegendPanel from '@components/panel/LegendPanel'
+// import Enterprise from '../components/table/enterprise'
+// // 鍏叡灞曠ず鏁版嵁
+// import PublicBounced from '@components/BaseNav/PublicBounced/PublicBounced'
+import LayerFactory from '@components/LayerController/service/LayerFactory'
+import EventHandler from '../components/LayerController/event/EventHandler'
+// import ReportPopup from '../components/panel/topicSearch/SewersSelect/EnterpriseEmergency/ReportPopup'
+import Emergency from '@components/emergency/index'
+import MapManager from '../components/helpers/MapManager'
 
 export default {
   name: 'MapTemplate',
-  components: {SgisLayerController, MonitorPanel},
-  datas:{
-      ...mapState("/",{})
+  components: {
+    // Enterprise,
+    LegendPanel,
+    // MenuSpecial,
+    ToolBoxPanel,
+    // TopEnterprisePanel,
+    SgisLayerController,
+    MonitorPanel,
+    // summarySheets,
+    SummarySheet,
+    // PublicBounced,
+    Emergency
+    // ReportPopup
   },
-  mounted(){
-      this.$nextTick(() => {
-          this.init()
+  data () {
+    return {
+      map: null,
+      lcServiceLayerVisible: false,
+      basemapHelper: {},
+      serviceLayerHelper: {},
+      vectorLayerHelper: {},
+      toolBoxVisible: false
+    }
+  },
+  computed: {
+    config () {
+      return this.$store.state.map.config
+    }
+  },
+  beforeMount () {
+    this.$nextTick(() => {
+      this.init()
+    })
+  },
+  methods: {
+    saveMapStatus () {
+      window.serviceLayerHelper = this.serviceLayerHelper
+      this.$store.commit('setMapObj', this.map)
+      this.$store.commit('setBasemapHelper', this.basemapHelper)
+      // this.$store.commit('setServiceLayerHelper', this.serviceLayerHelper)
+      this.$store.commit('setVectorLayerHelper', this.vectorLayerHelper)
+
+      this.lcServiceLayerVisible = true
+    },
+    init () {
+      const mapcontainer = this.$refs.rootmap
+      this.map = Sgis.initMap(mapcontainer)
+      this.$refs.toolBox.map = this.map
+
+      window.popupComp = this.$refs.popup
+
+      this.basemapHelper = Sgis.initBasemapsHelper(this.map) // 鍒濆鍖栧熀纭�搴曞浘鍔╂墜
+      this.basemapHelper.initBasemap(this.config, false) // 绗簩涓弬鏁帮紝琛ㄧず鏄惁鍐呯綉搴曞浘
+      this.vectorLayerHelper = Sgis.initVectorLayersHelper(this.map) // 鍒濆鍖栧姩鎬佽绱犲浘灞傚姪鎵�
+      this.vectorLayerHelper.initVectorLayers(this.config)
+
+      // this.AddGasHelper()
+      // this.ChangeWaterState()
+
+      var eventHandler = new EventHandler()
+      window.eventHandler = eventHandler
+
+      var layerFactory = new LayerFactory({
+        L: window.L,
+        map: this.map
       })
-  },
-  methods:{
-      ...mapMutations({
-        setMapObj: 'setMapObj',
-        setLayerHelper: 'setLayerHelper'
-      }),
-      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.serviceLayerHelper = Sgis.initTileLayersHelper(this.mapObj.map, this.mapObj.L) // 鍒濆鍖栦笟鍔″簳鍥惧姪鎵�
-        this.serviceLayerHelper.initServiceLayers()
-
-        this.vectorLayerHelper = Sgis.initVectorLayersHelper(this.mapObj.map, this.mapObj.L) // 鍒濆鍖栧姩鎬佽绱犲浘灞傚姪鎵�
-        this.vectorLayerHelper.initVectorLayers()
-
-        this.setLayerHelper(this.vectorLayerHelper)
-        return this.map
-      }
+      layerFactory.init(this.$store.state.map.serviceLayers.LayerSewersLine)
+      layerFactory.initEvent(this.$store.state.map.serviceLayers.LayerSewersLine)
+      window.layerFactory = layerFactory
+      window.mapManager = new MapManager()
+      this.saveMapStatus()
+      // this.setMapObj(this.mapObj)
+      // this.setBasemapHelper(this.basemapHelper)
+      // this.setServiceLayerHelper(this.serviceLayerHelper)
+      // this.setVectorLayerHelper(this.vectorLayerHelper)
+    },
+    callPopup (val) {
+      console.log(val)
+    }
   }
 }
 </script>
 
 <style lang="less">
+    .flue-gas {
+        position: fixed;
+        top: 88px;
+        left: 180px;
+        z-index: 500;
+    }
 
-.full-screen{
-    width: 100%;
-    height: 100%;
-    margin: 0;
-    padding: 0;
-    position: absolute;
-  #map{
-    height: 100%;
-    width: 100%;
-  }
-}
-</style>>
+    .solid-waste {
+        position: absolute;
+        top: 88px;
+        left: 88px;
+        z-index: 999;
+    }
+
+    .full-screen {
+        width: 100%;
+        height: 100%;
+        margin: 0;
+        padding: 0;
+        position: absolute;
+
+        #map {
+            height: 100%;
+            width: 100%;
+        }
+
+        .barline {
+            //width: 100%;
+            //height: 1px;
+            //background-color: #0661AE;
+            border-top: 1px solid #0661AE;
+        }
+
+        #map-btn {
+            position: fixed;
+            top: 20px;
+            left: 100px;
+            z-index: 9999;
+        }
+
+        .leaflet-custom-icon {
+            background: white;
+        }
+
+        .leaflet-marker-icon {
+            background: none;
+        }
+
+        #migic {
+            width: 48px;
+            height: 48px;
+            margin: -18px -20px;
+            z-index: 999;
+        }
+    }
+</style>

--
Gitblit v1.8.0