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 |  277 +++++++++++++++++++------------------------------------
 1 files changed, 97 insertions(+), 180 deletions(-)

diff --git a/src/views/MapTemplate.vue b/src/views/MapTemplate.vue
index c5d2668..67a6523 100644
--- a/src/views/MapTemplate.vue
+++ b/src/views/MapTemplate.vue
@@ -1,25 +1,25 @@
 <template>
-  <div class="full-screen">
-    <popup ref="popup" @callPopup="callPopup"></popup>
-    <div id="map" ref="rootmap">
+    <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>
+        <!--        <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>
-    <sgis-layer-controller :preset="'warningPreset'">
-      <lc-basemap></lc-basemap>
-      <!--            <div class="barline"></div>-->
-      <lc-service-layer class="barline" v-if="lcServiceLayerVisible"></lc-service-layer>
-    </sgis-layer-controller>
-    <monitor-panel></monitor-panel>
-    <!--        <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>
-    <enterprise></enterprise>
-    <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>
-  </div>
 </template>
 
 <script>
@@ -27,38 +27,37 @@
 import Sgis from '@src/Sgis'
 // 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 MonitorPanel from '@components/panel/RightSearchPanel'
 // import TopEnterprisePanel from '@components/panel/TopEnterprisePanel'
-import summarySheets from '@components/table/summarySheets.vue'
+// import summarySheets from '@components/table/summarySheets.vue'
+import SummarySheet from '@components/table/SummarySheet'
 import ToolBoxPanel from '@components/panel/ToolBoxPanel'
-import Popup from '@views/popup/Popup'
 // import MenuSpecial from '@components/panel/MenuTopic'
 import LegendPanel from '@components/panel/LegendPanel'
-import Enterprise from '../components/table/enterprise'
-// 搴曞浘涓氬姟js閫昏緫
-import AddSolidWasteHelper from '@components/BaseNav/SolidWaste/SolidWaste'
-import AddWasteWaterHelper from '@components/BaseNav/WasteWater/WasteWater'
-import AddGasHelper from '@components/BaseNav/flueGas/flueGas'
+// import Enterprise from '../components/table/enterprise'
 // // 鍏叡灞曠ず鏁版嵁
-import PublicBounced from '@components/BaseNav/PublicBounced/PublicBounced'
+// 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: {
-    Enterprise,
+    // Enterprise,
     LegendPanel,
     // MenuSpecial,
     ToolBoxPanel,
     // TopEnterprisePanel,
     SgisLayerController,
     MonitorPanel,
-    LcBasemap,
-    LcServiceLayer,
-    Popup,
-    summarySheets,
-    PublicBounced
+    // summarySheets,
+    SummarySheet,
+    // PublicBounced,
+    Emergency
+    // ReportPopup
   },
   data () {
     return {
@@ -66,7 +65,8 @@
       lcServiceLayerVisible: false,
       basemapHelper: {},
       serviceLayerHelper: {},
-      vectorLayerHelper: {}
+      vectorLayerHelper: {},
+      toolBoxVisible: false
     }
   },
   computed: {
@@ -80,56 +80,6 @@
     })
   },
   methods: {
-    AddGasHelper () {
-      const data = {
-        companyId: 3900100145,
-        id: '',
-        monType: 2,
-        userCode: 'wenchun.deng',
-        monDuration: '',
-        epName: '',
-        secdDeptId: '',
-        contrLevel: '',
-        dataStatus: '',
-        dataFlag: '',
-        runStatus: '',
-        emissTypeId: ''
-      }
-      const AddGas = new AddGasHelper({ map: this.map })
-      AddGas.requestData(data)
-      AddGas.SetPlueGasContent(this.config, this.$refs.PublicBounced)
-    },
-    ChangeState () {
-      const data = {
-        companyId: 3900100145,
-        userCode: 'wenchun.deng',
-        name: '',
-        marginWarr: '',
-        longDayWarr: ''
-      }
-      const AddSolidWaste = new AddSolidWasteHelper({ map: this.map })
-      AddSolidWaste.requestData(data)
-      AddSolidWaste.SetSolidWasteContent(this.config, this.$refs.PublicBounced)
-    },
-    ChangeWaterState () {
-      const data = {
-        companyId: 3900100145,
-        id: '',
-        monType: 1,
-        userCode: 'wenchun.deng',
-        monDuration: '',
-        epName: '',
-        secdDeptId: '',
-        contrLevel: '',
-        dataStatus: '',
-        dataFlag: '',
-        runStatus: '',
-        emissTypeId: ''
-      }
-      const AddWasteWater = new AddWasteWaterHelper({ map: this.map })
-      AddWasteWater.requestData(data)
-      AddWasteWater.SetWasteWaterContent(this.config, this.$refs.PublicBounced)
-    },
     saveMapStatus () {
       window.serviceLayerHelper = this.serviceLayerHelper
       this.$store.commit('setMapObj', this.map)
@@ -144,58 +94,32 @@
       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.serviceLayerHelper = Sgis.initTileLayersHelper(this.map) // 鍒濆鍖栦笟鍔″簳鍥惧姪鎵�
-      console.log('-------' + this.$refs.popup.$el)
-      this.serviceLayerHelper.initServiceLayers(this.config, this.$refs.popup)
-
       this.vectorLayerHelper = Sgis.initVectorLayersHelper(this.map) // 鍒濆鍖栧姩鎬佽绱犲浘灞傚姪鎵�
       this.vectorLayerHelper.initVectorLayers(this.config)
 
-      // this.ChangeState()
       // this.AddGasHelper()
       // this.ChangeWaterState()
 
+      var eventHandler = new EventHandler()
+      window.eventHandler = eventHandler
+
+      var layerFactory = new LayerFactory({
+        L: window.L,
+        map: 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)
-      this.addMarker()
-    },
-    addMarker () {
-      const L = this.L
-      var icon = new L.Icon({
-        iconUrl: 'assets/images/map/marker-icon.png',
-        shadowUrl: 'assets/images/map/marker-shadow.png',
-        iconSize: [25, 41],
-        iconAnchor: [12, 41],
-        popupAnchor: [1, -34],
-        shadowSize: [41, 41]
-      })
-      var marker = L.marker([32.2221, 118.7843], {
-        icon: icon
-      }).addTo(this.map)
-        .bindPopup(() => this.$refs.popup.$el, {
-          className: 's-map-popup',
-          minWidth: 300,
-          closeButton: false,
-          autoClose: false
-        })
-        .bindTooltip('瀛椾綋鍏夋檿鏁堟灉t.', {
-          // permanent : true,
-          offset: [0, 0], // 鍋忕Щ
-          direction: 'right', // 鏀剧疆浣嶇疆
-          // sticky:true,//鏄惁鏍囪鍦ㄧ偣涓婇潰
-          className: 'anim-tooltip'// CSS鎺у埗
-        })
-
-      marker.on('popupopen', this.onLayerClick)
-    },
-    onLayerClick () {
-      this.$refs.popup.setShow()
     },
     callPopup (val) {
       console.log(val)
@@ -205,66 +129,59 @@
 </script>
 
 <style lang="less">
-.flue-gas {
-  position: fixed;
-  top: 88px;
-  left: 180px;
-  z-index: 500;
-}
+    .flue-gas {
+        position: fixed;
+        top: 88px;
+        left: 180px;
+        z-index: 500;
+    }
 
-.solid-waste {
-  position: absolute;
-  top: 88px;
-  left: 88px;
-  z-index: 999;
-}
+    .solid-waste {
+        position: absolute;
+        top: 88px;
+        left: 88px;
+        z-index: 999;
+    }
 
-.Waste-water {
-  position: absolute;
-  top: 88px;
-  left: 280px;
-  z-index: 999;
-}
+    .full-screen {
+        width: 100%;
+        height: 100%;
+        margin: 0;
+        padding: 0;
+        position: absolute;
 
-.full-screen {
-  width: 100%;
-  height: 100%;
-  margin: 0;
-  padding: 0;
-  position: absolute;
+        #map {
+            height: 100%;
+            width: 100%;
+        }
 
-  #map {
-    height: 100%;
-    width: 100%;
-  }
+        .barline {
+            //width: 100%;
+            //height: 1px;
+            //background-color: #0661AE;
+            border-top: 1px solid #0661AE;
+        }
 
-  .barline {
-    //width: 100%;
-    //height: 1px;
-    //background-color: #0661AE;
-    border-top: 1px solid #0661AE;
-  }
+        #map-btn {
+            position: fixed;
+            top: 20px;
+            left: 100px;
+            z-index: 9999;
+        }
 
-  #map-btn {
-    position: fixed;
-    top: 20px;
-    left: 100px;
-    z-index: 9999;
-  }
+        .leaflet-custom-icon {
+            background: white;
+        }
 
-  .leaflet-custom-icon {
-    background: white;
-  }
+        .leaflet-marker-icon {
+            background: none;
+        }
 
-  .leaflet-marker-icon {
-    background: none;
-  }
-
-  #migic {
-    width: 48px;
-    height: 48px;
-    margin: -18px -20px;
-    z-index: 999;
-  }
-}
+        #migic {
+            width: 48px;
+            height: 48px;
+            margin: -18px -20px;
+            z-index: 999;
+        }
+    }
 </style>

--
Gitblit v1.8.0