From 6cdcf30b52502fa2b7db21064c40b7193bf7e25f Mon Sep 17 00:00:00 2001
From: YANGDL <114714267@qq.com>
Date: 星期四, 25 二月 2021 10:55:32 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/master'

---
 src/conf/Constants.js                                           |    5 
 src/components/LayerController/modules/LcServiceLayerFilter.vue |   37 -
 src/conf/MapConfig.js                                           |    6 
 src/conf/Layers.js                                              |  296 -------------------
 src/conf/Styles.js                                              |   24 +
 src/views/MapTemplate.vue                                       |   10 
 src/conf/LayerSewers.js                                         |  321 +++++++++++++++++++-
 src/components/helpers/BasemapHelper.js                         |   20 
 src/components/helpers/ServiceLayerHelper.js                    |  151 +++++++--
 src/components/LayerController/modules/LcServiceLayer.vue       |    8 
 src/store/modules/map.js                                        |    5 
 11 files changed, 480 insertions(+), 403 deletions(-)

diff --git a/src/components/LayerController/modules/LcServiceLayer.vue b/src/components/LayerController/modules/LcServiceLayer.vue
index cb9a7e8..09ec4c4 100644
--- a/src/components/LayerController/modules/LcServiceLayer.vue
+++ b/src/components/LayerController/modules/LcServiceLayer.vue
@@ -1,7 +1,7 @@
 <template>
     <div class="inner-panel">
         <div class="wms-panel">
-            <div v-for="item in mapConfig.ServiceLayers" :key="item.code" class="layerbox">
+            <div v-for="item in serviceLayers" :key="item.code" class="layerbox">
                 <div><input type="checkbox" :name="'wmsLayer_'+item.code" :checked="item.checked" :value="item.code"
                             @change="swAllLayers(item)"/>{{ item.name }} <span @click="swFilter(item)"
                                                                                class="btn-filter">杩囨护</span>
@@ -11,7 +11,7 @@
                                                                                                       :name="'wmsSublayers_'+item.code+'_'+itm.code"
                                                                                                       :checked="itm.checked"
                                                                                                       :value="itm.code"
-                                                                                                      @change="swWmsLayer(itm)"/>{{ itm.sname }}
+                                                                                                      @change="swWmsLayer(itm)"/>{{ itm.name }}
                     </div>
                 </div>
             </div>
@@ -34,8 +34,8 @@
     }
   },
   computed: {
-    mapConfig () {
-      return this.$store.state.map.mapConfig.mapConfig
+    serviceLayers () {
+      return this.$store.state.map.serviceLayers.LayerSewersLine
     }
   },
   mounted () {
diff --git a/src/components/LayerController/modules/LcServiceLayerFilter.vue b/src/components/LayerController/modules/LcServiceLayerFilter.vue
index cd5fb45..d9bad44 100644
--- a/src/components/LayerController/modules/LcServiceLayerFilter.vue
+++ b/src/components/LayerController/modules/LcServiceLayerFilter.vue
@@ -7,8 +7,8 @@
                 </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>
+                        <input type="checkbox" :value="filter.code" :checked="filter.checked" @change="swSubFilter(filter)"><label
+                            :title="filter.name">{{filter.name}}</label>
                     </div>
                 </div>
             </div>
@@ -18,7 +18,6 @@
 
 <script>
 import { mapMutations } from 'vuex'
-import WmsHelper from '../../helpers/WmsHelper'
 
 export default {
   name: 'LcServiceLayerFilter',
@@ -30,14 +29,14 @@
     }
   },
   computed: {
-    mapConfig () {
-      return this.$store.state.map.mapConfig.mapConfig
+    config () {
+      return this.$store.state.map.config
     },
     pointLayers () {
       // 鏍规嵁绾垮浘灞傞�変腑鎯呭喌锛屾樉绀烘垨闅愯棌鐐瑰浘灞傞潰鏉�
-      var config = this.mapConfig
-      var checkedLayers = window.serviceLayerHelper.getCheckedLayers(config)
-      var pointLayers = config.PointLayers
+      var serviceLayers = this.config.mapConfig.Layers.LayerSewersLine // 涓�绾у浘灞�
+      var checkedLayers = window.serviceLayerHelper.getCheckedLayers(serviceLayers)
+      var pointLayers = this.config.mapConfig.Layers.layerSewersPoint // 浜岀骇鍥惧眰
       return pointLayers.filter(function (layer) {
         var code = layer.code
         for (var i = 0; i < checkedLayers.length; i++) {
@@ -56,21 +55,13 @@
     ...mapMutations([]),
     swAllSubFilter (item) {
       item.checked = !item.checked
-      for (let i = 0, len = item.filters.length; i < len; ++i) {
-        item.filters[i].checked = item.checked
-      }
-      var mapConfig = this.mapConfig
-      var wmsHelper = new WmsHelper()
-      wmsHelper.initMapConfig(mapConfig)
-      var wmsLayersMap = wmsHelper.getWmsLayersMap()
-      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)
-        }
-      }
+      console.log(item)
+      // window.serviceLayerHelper.loadLayers()
+    },
+    swSubFilter (item) {
+      item.checked = !item.checked
+      console.log(item)
+      // window.serviceLayerHelper.loadLayers()
     }
   }
 }
diff --git a/src/components/helpers/BasemapHelper.js b/src/components/helpers/BasemapHelper.js
index a430df0..9b29e4e 100644
--- a/src/components/helpers/BasemapHelper.js
+++ b/src/components/helpers/BasemapHelper.js
@@ -18,11 +18,11 @@
      * @param map
      * @param defBasemapName 鍒濆鍖栧畬鎴愬悗锛岄粯璁ゆ樉绀虹殑鍥惧眰
      */
-    initBasemap = (mapConfig, isIntranet) => {
+    initBasemap = (config, isIntranet) => {
       if (isIntranet) { // 鍐呯綉
-        this._getToken(mapConfig) // 鑾峰彇token鍚庯紝骞舵寜閰嶇疆鍔犺浇鍦板浘
+        this._getToken(config) // 鑾峰彇token鍚庯紝骞舵寜閰嶇疆鍔犺浇鍦板浘
       } else { // 澶栫綉
-        this._createBasemapByConfig(mapConfig)
+        this._createBasemapByConfig(config)
       }
 
       return this.basemapMap
@@ -72,8 +72,8 @@
     }
 
     // 鍏綉鍒涘缓鍦板浘閮ㄥ垎
-    _createBasemapByConfig (mapConfig) {
-      const internetBasemaps = mapConfig.mapConfig.InternetBaseMaps
+    _createBasemapByConfig (config) {
+      const internetBasemaps = config.mapConfig.InternetBaseMaps
       for (let i = 0, len = internetBasemaps.length; i < len; ++i) {
         const basemapConfig = internetBasemaps[i]
         const basemapLayer = this.L.tileLayer(basemapConfig.map.url, basemapConfig.map.option)
@@ -98,16 +98,16 @@
 
     // 鍐呯綉鍦板浘鍒涘缓閮ㄥ垎
     // 鑾峰彇鍐呯綉鍦板浘token锛屽苟鍔犺浇鍒板湴鍥句腑
-    _getToken = (mapConfig) => {
-      const params = mapConfig.TokenConfig
+    _getToken = (config) => {
+      const params = config.TokenConfig
       AjaxUtils.GetDataAsynByUrl(params.url, params.option, (token) => {
-        this._showTDT(token, mapConfig)
+        this._showTDT(token, config)
       })
     }
 
     // 鍐呯綉鍦板浘鍔犺浇锛屽苟鍔犺浇鍒板湴鍥�
-    _showTDT = (token, mapConfig) => {
-      const intranetBasemaps = mapConfig.mapConfig.IntranetBaseMaps
+    _showTDT = (token, config) => {
+      const intranetBasemaps = config.mapConfig.IntranetBaseMaps
       for (let i = 0, len = intranetBasemaps.length; i < len; ++i) {
         const basemapConfig = intranetBasemaps[i]
         const basemapLayer = this.L.tileLayer(basemapConfig.map.url, basemapConfig.map.option)
diff --git a/src/components/helpers/ServiceLayerHelper.js b/src/components/helpers/ServiceLayerHelper.js
index 2ff5042..cbfdedd 100644
--- a/src/components/helpers/ServiceLayerHelper.js
+++ b/src/components/helpers/ServiceLayerHelper.js
@@ -2,6 +2,8 @@
 /**
  * 鍒涘缓鍥惧眰鐩稿叧鐨勭被
  */
+import AjaxUtils from '@/utils/AjaxUtils'
+import { GEOM_TYPE } from '../../conf/Constants'
 
 class ServiceLayerHelper {
   constructor (options) {
@@ -12,7 +14,9 @@
     this.tileLayersWMTSArray = [] // 鍒濆鐨刉MTS闆�
     this.tileLayersTileArray = [] // 鍒濆鐨凾ile闆�
     this.tileLayersWMSArray = [] // 鍒濆鐨刉MS闆�
-    this.mapConfig = {}
+    this.geojsonArray = [] // 鍒濆鐨刧eojson闆�
+    this.layerConfig = {}
+    this.regex = /\{(.+?)\}/g // 鍖归厤{}
   }
 
   getTileLayer (code) {
@@ -22,9 +26,9 @@
   /**
      * 鏍规嵁閰嶇疆鏂囦欢鍒濆鍖栦笟鍔″簳鍥�
      */
-  initServiceLayers (mapConfig) {
-    this.mapConfig = mapConfig
-    this._loadLayers(mapConfig)
+  initServiceLayers (layerConfig) {
+    this.layerConfig = layerConfig
+    this.loadLayers(layerConfig.mapConfig.Layers.LayerSewersLine)
   }
 
   /**
@@ -32,30 +36,104 @@
      * @param {*} mapConfig
      * @param {*} isAddToMap
      */
-  _loadLayers (mapConfig, isAddToMap = true) {
-    console.debug('ServiceLayerHelper鍔犺浇鍙傛暟锛�', mapConfig)
-    for (let i = 0, len = mapConfig.mapConfig.ServiceLayers.length; i < len; ++i) {
-      const opt = mapConfig.mapConfig.ServiceLayers[i]
-      this.setArray(opt)
-      if (opt.type === 'wmts') {
-        opt.checked && this.loadWmtsLayer(opt, isAddToMap, mapConfig.mapConfig.ServiceLayers[i])
-      } else if (opt.type === 'wms') {
-        opt.checked && this.loadWmsLayer(opt, isAddToMap, mapConfig.mapConfig.ServiceLayers[i])
-      } else if (opt.type === 'tile') {
-        opt.checked && this.loadTileLayer(opt, isAddToMap, mapConfig.mapConfig.ServiceLayers[i])
+  loadLayers (layerConfig, isAddToMap = true) {
+    console.debug('ServiceLayerHelper鍔犺浇鍙傛暟锛�', layerConfig)
+    for (let i = 0, len = layerConfig.length; i < len; ++i) {
+      const opt = layerConfig[i]
+      if (opt.checked) {
+        if (opt.type === 'wmts') {
+          this.loadWmtsLayer(opt, isAddToMap)
+          this.tileLayersWMTSArray.push(opt)
+        } else if (opt.type === 'wms') {
+          this.loadWmsLayer(opt, isAddToMap)
+          this.tileLayersWMSArray.push(opt)
+        } else if (opt.type === 'tile') {
+          this.loadTileLayer(opt, isAddToMap)
+          this.tileLayersTileArray.push(opt)
+        } else if (opt.type === 'geojson') {
+          this.loadGeojson(opt)
+        }
       }
     }
   }
 
-  setArray (opt) {
-    var type = opt.type
-    if (type === 'wmts') {
-      this.tileLayersWMTSArray.push(opt)
-    } else if (type === 'wms') {
-      this.tileLayersWMSArray.push(opt)
-    } else if (type === 'tile') {
-      this.tileLayersTileArray.push(opt)
+  loadGeojson (options) {
+    var url = options.url
+    var layers = options.layers
+    var matches = this.regex.exec(url)
+    for (var i = 0; i < layers.length; i++) {
+      var layer = layers[i]
+      var matchValue = layer[matches[1]]
+      var checked = layer.checked
+      var geomtype = layer.geomtype
+      if (!checked) {
+        continue
+      }
+      var newUrl = url.replace(this.regex, matchValue)
+      var that = this
+      AjaxUtils.GetDataAsynByUrl(newUrl, {}, function (res) {
+        switch (geomtype) {
+          case GEOM_TYPE.POINT :
+            that.loadPointGeojson(res)
+            break
+          case GEOM_TYPE.LINE :
+            that.loadLineGeojson(res)
+            break
+          case GEOM_TYPE.POLYGON :
+            break
+          default:
+            that.loadLineGeojson(res)
+            break
+        }
+      })
     }
+  }
+
+  /**
+   * 鍔犺浇鐐规暟鎹�
+   * @param res
+   */
+  loadPointGeojson (res) {
+    this.L.geoJSON(res.features, {
+      pointToLayer: function (geoJsonPoint, latlng) {
+        return this.L.canvasMarker(latlng,
+          {
+            radius: 20,
+            prevLatlng: this.L.latLng(51.503, -0.09), // previous point
+            img: {
+              url: './images/beng.png',
+              size: [20, 20],
+              rotate: 90
+            }
+          })
+      }
+    }).bindPopup(function (layer) {
+      // return layer.feature.properties.linenumber
+    }).addTo(this.map)
+  }
+
+  /**
+   * 鍔犺浇绾挎暟鎹�
+   * @param res
+   */
+  loadLineGeojson (res) {
+    this.L.geoJSON(res.features, {
+      style: function (feature) {
+        return {
+          fill: true,
+          weight: 2,
+          fillColor: '#06cccc',
+          color: '#06cccc',
+          fillOpacity: 0.2,
+          opacity: 0.8,
+          dashArray: '10,4',
+          dashSpeed: -10
+        }
+      },
+      minZoom: 10
+    }).bindPopup(function (layer) {
+      // return layer.feature.properties.linenumber
+    }).addTo(this.map)
   }
 
   /**
@@ -63,9 +141,9 @@
      * @param {}} options
      * @param {*} isAddToMap
      */
-  loadWmtsLayer (options, isAddToMap = true, config) {
+  loadWmtsLayer (options, isAddToMap = true) {
     const layer = this.L.tileLayer(options.url, options.option)
-    layer.config = config
+    layer.config = options
 
     if (isAddToMap) {
       layer.addTo(this.map)
@@ -78,9 +156,9 @@
      * @param {}} options
      * @param {*} isAddToMap
      */
-  loadWmsLayer (options, isAddToMap = true, config) {
+  loadWmsLayer (options, isAddToMap = true) {
     const layer = this.L.tileLayer.wms(options.url, options.option)
-    layer.config = config
+    layer.config = options
 
     if (isAddToMap) {
       layer.addTo(this.tileLayerWmslayerGroup)
@@ -93,7 +171,7 @@
      * @param {}} options
      * @param {*} isAddToMap
      */
-  loadTileLayer (options, isAddToMap = true, config) {
+  loadTileLayer (options, isAddToMap = true) {
     const layer = this.L.tileLayer(options.url, {
       layers: options.layers || 'all', // country
       format: options.format || 'image/png',
@@ -103,7 +181,7 @@
       minZoom: options.minZoom || 1,
       zoomOffset: options.zoomOffset || 0
     })
-    layer.config = config
+    layer.config = options
 
     if (isAddToMap) {
       layer.addTo(this.map)
@@ -134,13 +212,12 @@
   }
 
   /**
-   * 寰楀埌閫変腑鐨勫浘灞傚垪琛�
-   * @param mapConfig
-   * @returns {[]}
-   */
-  getCheckedLayers (mapConfig) {
+     * 寰楀埌閫変腑鐨勫浘灞傚垪琛�
+     * @param mapConfig
+     * @returns {[]}
+     */
+  getCheckedLayers (serviceLayers) {
     var checkedLayers = []
-    var serviceLayers = mapConfig.ServiceLayers
     for (var i = 0; i < serviceLayers.length; i++) {
       var serviceLayer = serviceLayers[i]
       var layers = serviceLayer.layers
@@ -177,8 +254,8 @@
   }
 
   /**
-   * 鏍规嵁绾跨殑閫夋嫨锛屽緱鍒扮偣鐨勫彲閫夋嫨鍥惧眰鏁版嵁
-   */
+     * 鏍规嵁绾跨殑閫夋嫨锛屽緱鍒扮偣鐨勫彲閫夋嫨鍥惧眰鏁版嵁
+     */
   getFiltersGroup () {
 
   }
diff --git a/src/conf/Constants.js b/src/conf/Constants.js
new file mode 100644
index 0000000..0c173b0
--- /dev/null
+++ b/src/conf/Constants.js
@@ -0,0 +1,5 @@
+export const GEOM_TYPE = {
+  POINT: 'point',
+  LINE: 'line',
+  POLYGON: 'polygon'
+}
diff --git a/src/conf/LayerSewers.js b/src/conf/LayerSewers.js
index 7b91411..01626a2 100644
--- a/src/conf/LayerSewers.js
+++ b/src/conf/LayerSewers.js
@@ -1,38 +1,21 @@
-import * as L from 'leaflet'
-
-const APP_GIS_HOST_2 = 'http://xearth.cn:6230'
-const myRenderer = L.canvas()// 闇�瑕佷娇鐢ㄧ敾甯冩覆鏌撶殑浣跨敤 renderer: myRenderer 浣滀负鍙傛暟
-export const LayerSewers = {
+import { GEOM_TYPE } from './Constants'
+// const APP_GIS_HOST_2 = 'http://xearth.cn:6230'
+const APP_GIS_HOST_2 = 'http://localhost:3000'
+export const LayerSewersLine = {
   code: 'pipeline',
   name: '绠$綉鏁版嵁',
-  icon_actived: '',
-  icon_deactived: '',
   type: 'geojson',
   // url: APP_GIS_HOST_PIPELINE + '/server/ogcserver/PipeLineTest/wms?version=1.1.1',
-  url: APP_GIS_HOST_2 + '/layer/findLayer?layerName=pipeline',
-  inLegend: true,
+  url: APP_GIS_HOST_2 + '/layer/findLayer?layerName={sname}',
   checked: true,
-  option: {
-    styles: {
-      fill: true,
-      weight: 2,
-      fillColor: '#06cccc',
-      color: '#06cccc',
-      fillOpacity: 0.2,
-      opacity: 0.8
-      // dashArray:'10,4',
-      // dashSpeed:-10,
-    },
-    renderer: myRenderer
-
-  },
   layers: [
     {
       code: 'rainline',
       name: '闆ㄦ按绾�',
-      sname: '闆ㄦ按',
+      sname: 'pipeline', // 琛ㄥ悕
       checked: true, // 榛樿閫変腑鐘舵��
       filter: {},
+      zoom: 10, // 鍦ㄦ寚瀹氱骇鍒樉绀�
       childLayer: 'fsss,hbss' // 鍏宠仈PointLayers
     },
     {
@@ -109,3 +92,293 @@
     }
   ]
 }
+
+export const LayerSewersPoint = [
+  {
+    code: 'fsss',
+    name: '闄勫睘璁炬柦',
+    checked: false, // 榛樿閫変腑鐘舵��
+    filters: [
+      {
+        code: 'fourlink',
+        name: '鍥涢��',
+        sname: 'FourLink',
+        checked: false,
+        geomtype: GEOM_TYPE.POINT
+      },
+      {
+        code: 'tee',
+        name: '涓夐��',
+        sname: 'Tee',
+        checked: false,
+        geomtype: GEOM_TYPE.POINT
+      },
+      {
+        code: 'piperack',
+        name: '绠℃灦(澧�)',
+        sname: 'PipeRack',
+        checked: false,
+        geomtype: GEOM_TYPE.POINT
+      },
+      {
+        code: 'pipegallery',
+        name: '绠″粖(甯�)',
+        sname: 'PipeGallery',
+        checked: false,
+        geomtype: GEOM_TYPE.POINT
+      },
+      {
+        code: 'pipesegment',
+        name: '娴佸悜',
+        sname: 'ywslx',
+        checked: false,
+        geomtype: GEOM_TYPE.POINT
+      },
+      {
+        code: 'pipeline',
+        name: '绠$綉',
+        sname: 'pipeline',
+        checked: false,
+        geomtype: GEOM_TYPE.POINT
+      },
+      {
+        code: 'valve',
+        name: '闃�闂�',
+        sname: 'valve',
+        checked: false,
+        geomtype: GEOM_TYPE.POINT
+      },
+      {
+        code: 'elbow',
+        name: '寮ご',
+        sname: 'Elbow',
+        checked: false,
+        geomtype: GEOM_TYPE.POINT
+      }
+    ]
+  },
+  {
+    code: 'hbss',
+    name: '鐜繚璁炬柦',
+    checked: false, // 榛樿閫変腑鐘舵��
+    filters: [
+      {
+        code: 'manhole',
+        name: '绐ㄤ簳',
+        sname: '绐ㄤ簳',
+        checked: false,
+        geomtype: GEOM_TYPE.POINT
+      },
+      {
+        code: 'firedike',
+        name: '闃茬伀鍫�',
+        sname: '闃茬伀鍫�',
+        checked: false,
+        geomtype: GEOM_TYPE.POINT
+      },
+      {
+        code: 'raingate',
+        name: '闆ㄧ瀛�',
+        sname: '闆ㄧ瀛�',
+        checked: false,
+        geomtype: GEOM_TYPE.POINT
+      },
+      {
+        code: 'overflowweir',
+        name: '婧㈡祦鍫�',
+        sname: '婧㈡祦鍫�',
+        checked: false,
+        geomtype: GEOM_TYPE.POINT
+      },
+      {
+        code: 'chokevalve',
+        name: '鎴祦闂�',
+        sname: '鎴祦闂�',
+        checked: false,
+        geomtype: GEOM_TYPE.POINT
+      },
+      {
+        code: 'collectingbasin',
+        name: '闆嗘按姹�(缃�)',
+        sname: '闆嗘按姹�',
+        checked: false,
+        geomtype: GEOM_TYPE.POINT
+      },
+      {
+        code: 'oilseparator',
+        name: '闅旀补姹�',
+        sname: '闅旀补姹�',
+        checked: false,
+        geomtype: GEOM_TYPE.POINT
+      }
+    ]
+  },
+  {
+    code: 'pk',
+    name: '鎺掑彛',
+    checked: false, // 榛樿閫変腑鐘舵��
+    filters: [
+      {
+        code: 'dischargeport',
+        name: '鎺掓斁鍙�',
+        sname: '鎺掓斁鍙�',
+        checked: false,
+        geomtype: GEOM_TYPE.POINT
+      }
+    ]
+  },
+  {
+    code: 'qyxx',
+    name: '鍖哄煙淇℃伅',
+    checked: false, // 榛樿閫変腑鐘舵��
+    filters: [
+      {
+        code: 'thirdpartypipe',
+        name: '绗笁鏂圭閬�',
+        sname: '绗笁鏂圭閬�',
+        checked: false,
+        geomtype: GEOM_TYPE.POINT
+      },
+      {
+        code: 'firefightingunit',
+        name: '娑堥槻鍗曚綅',
+        sname: '娑堥槻鍗曚綅',
+        checked: false,
+        geomtype: GEOM_TYPE.POINT
+      },
+      {
+        code: 'emergencyesources',
+        name: '搴旀�ョ墿璧�',
+        sname: '搴旀�ョ墿璧�',
+        checked: false,
+        geomtype: GEOM_TYPE.POINT
+      },
+      {
+        code: 'emergencyres',
+        name: '绀句細涓撲笟搴旀�ユ晳鎻撮槦浼�',
+        sname: '涓撲笟搴旀�ユ晳鎻�',
+        checked: false,
+        geomtype: GEOM_TYPE.POINT
+      },
+      {
+        code: 'maintenanceteam',
+        name: '缁存姠淇槦浼�',
+        sname: '缁存姠淇槦浼�',
+        checked: false,
+        geomtype: GEOM_TYPE.POINT
+      },
+      {
+        code: 'hospital',
+        name: '鍖婚櫌',
+        sname: '鍖婚櫌',
+        checked: false,
+        geomtype: GEOM_TYPE.POINT
+      },
+      {
+        code: 'pointpreservationzone',
+        name: '鑷劧淇濇姢鍖�',
+        sname: '鑷劧淇濇姢鍖�',
+        checked: false,
+        geomtype: GEOM_TYPE.POINT
+      },
+      {
+        code: 'pointhydrology',
+        name: '姘翠綋',
+        sname: '姘翠綋',
+        checked: false,
+        geomtype: GEOM_TYPE.POINT
+      },
+      {
+        code: 'sensitivetarget',
+        name: '鏁忔劅鐩爣',
+        sname: '鏁忔劅鐩爣',
+        checked: false,
+        geomtype: GEOM_TYPE.POINT
+      },
+      {
+        code: 'envmonunit',
+        name: '鐜鐩戞祴鍗曚綅',
+        sname: '鐜鐩戞祴鍗曚綅',
+        checked: false,
+        geomtype: GEOM_TYPE.POINT
+      },
+      {
+        code: 'pointcontaminants',
+        name: '鐩戞祴鐐规薄鏌撶墿鎸囨爣淇℃伅',
+        sname: '姹℃煋鐗╂寚鏍�',
+        checked: false,
+        geomtype: GEOM_TYPE.POINT
+      },
+      {
+        code: 'dischargeportaround',
+        name: '鎺掓斁鍙e懆杈圭幆澧冩晱鎰熶俊鎭�',
+        sname: '鎺掓斁鍙e懆杈圭幆澧�',
+        checked: false,
+        geomtype: GEOM_TYPE.POINT
+      },
+      {
+        code: 'pump',
+        name: '娉�',
+        sname: '娉�',
+        checked: false,
+        geomtype: GEOM_TYPE.POINT
+      },
+      {
+        code: 'liquidlevelmeter',
+        name: '娑蹭綅璁�',
+        sname: '娑蹭綅璁�',
+        checked: false,
+        geomtype: GEOM_TYPE.POINT
+      },
+      {
+        code: 'flowmeter',
+        name: '娴侀噺璁�',
+        sname: '娴侀噺璁�',
+        checked: false,
+        geomtype: GEOM_TYPE.POINT
+      },
+      {
+        code: 'video',
+        name: '瑙嗛鐩戞帶閰嶇疆',
+        sname: '瑙嗛鐩戞帶',
+        checked: false,
+        geomtype: GEOM_TYPE.POINT
+      },
+      {
+        code: 'onlinemonitoring',
+        name: '鍦ㄧ嚎鐩戞祴璁惧閰嶇疆',
+        sname: '鍦ㄧ嚎鐩戞祴',
+        checked: false,
+        geomtype: GEOM_TYPE.POINT
+      },
+      {
+        code: 'combustiblegas',
+        name: '鍙噧姘斾綋鎶ヨ璁惧閰嶇疆',
+        sname: '鍙噧姘斾綋鎶ヨ',
+        checked: false,
+        geomtype: GEOM_TYPE.POINT
+      },
+      {
+        code: 'hydrogensulfide',
+        name: 'H2S娴撳害鎶ヨ璁惧閰嶇疆',
+        sname: 'H2S娴撳害鎶ヨ',
+        checked: false,
+        geomtype: GEOM_TYPE.POINT
+      },
+      {
+        code: 'controlpoint',
+        name: '绠$嚎鐐�',
+        sname: '绠$嚎鐐�',
+        checked: false,
+        geomtype: GEOM_TYPE.POINT
+      },
+      {
+        code: 'pipesegment',
+        name: '绠℃',
+        sname: '绠℃',
+        checked: false,
+        geomtype: GEOM_TYPE.POINT
+      }
+    ]
+  }
+]
diff --git a/src/conf/Layers.js b/src/conf/Layers.js
index 8400913..5c69adf 100644
--- a/src/conf/Layers.js
+++ b/src/conf/Layers.js
@@ -1,9 +1,8 @@
 // import * as L from 'leaflet'
-import { LayerSewers } from './LayerSewers'
+import { LayerSewers, PointLayers } from './LayerSewers'
 // const APP_GIS_HOST = 'http://xearth.cn:6299'
 
 // 鍑犱綍绫诲瀷甯搁噺
-const GEOM_POINT = 'POINT'
 
 export const ServiceLayers = [
   /*    {
@@ -27,296 +26,5 @@
           uppercase: false,
           WMSTILE: 1
         }, */
-  LayerSewers
-
-]
-
-export const PointLayers = [
-  {
-    code: 'fsss',
-    name: '闄勫睘璁炬柦',
-    checked: true, // 榛樿閫変腑鐘舵��
-    filters: [
-      {
-        code: 'fourlink',
-        name: '鍥涢��',
-        sname: '鍥涢��',
-        checked: true, // 榛樿閫変腑鐘舵��
-        geom: GEOM_POINT
-      },
-      {
-        code: 'tee',
-        name: '涓夐��',
-        sname: '涓夐��',
-        checked: true, // 榛樿閫変腑鐘舵��
-        geom: GEOM_POINT
-      },
-      {
-        code: 'piperack',
-        name: '绠℃灦(澧�)',
-        sname: '绠℃灦',
-        checked: true, // 榛樿閫変腑鐘舵��
-        geom: GEOM_POINT
-      },
-      {
-        code: 'pipegallery',
-        name: '绠″粖(甯�)',
-        sname: '绠″粖',
-        checked: true, // 榛樿閫変腑鐘舵��
-        geom: GEOM_POINT
-      },
-      {
-        code: 'pipesegment',
-        name: '娴佸悜',
-        sname: '娴佸悜',
-        checked: true, // 榛樿閫変腑鐘舵��
-        geom: GEOM_POINT
-      },
-      {
-        code: 'pipeline',
-        name: '绠$綉',
-        sname: '绠$綉',
-        checked: true, // 榛樿閫変腑鐘舵��
-        geom: GEOM_POINT
-      },
-      {
-        code: 'valve',
-        name: '闃�闂�',
-        sname: '闃�闂�',
-        checked: true, // 榛樿閫変腑鐘舵��
-        geom: GEOM_POINT
-      },
-      {
-        code: 'elbow',
-        name: '寮ご',
-        sname: '寮ご',
-        checked: true, // 榛樿閫変腑鐘舵��
-        geom: GEOM_POINT
-      }
-    ]
-  },
-  {
-    code: 'hbss',
-    name: '鐜繚璁炬柦',
-    checked: true, // 榛樿閫変腑鐘舵��
-    filters: [
-      {
-        code: 'manhole',
-        name: '绐ㄤ簳',
-        sname: '绐ㄤ簳',
-        checked: true, // 榛樿閫変腑鐘舵��
-        geom: GEOM_POINT
-      },
-      {
-        code: 'firedike',
-        name: '闃茬伀鍫�',
-        sname: '闃茬伀鍫�',
-        checked: true, // 榛樿閫変腑鐘舵��
-        geom: GEOM_POINT
-      },
-      {
-        code: 'raingate',
-        name: '闆ㄧ瀛�',
-        sname: '闆ㄧ瀛�',
-        checked: true, // 榛樿閫変腑鐘舵��
-        geom: GEOM_POINT
-      },
-      {
-        code: 'overflowweir',
-        name: '婧㈡祦鍫�',
-        sname: '婧㈡祦鍫�',
-        checked: true, // 榛樿閫変腑鐘舵��
-        geom: GEOM_POINT
-      },
-      {
-        code: 'chokevalve',
-        name: '鎴祦闂�',
-        sname: '鎴祦闂�',
-        checked: true, // 榛樿閫変腑鐘舵��
-        geom: GEOM_POINT
-      },
-      {
-        code: 'collectingbasin',
-        name: '闆嗘按姹�(缃�)',
-        sname: '闆嗘按姹�',
-        checked: true, // 榛樿閫変腑鐘舵��
-        geom: GEOM_POINT
-      },
-      {
-        code: 'oilseparator',
-        name: '闅旀补姹�',
-        sname: '闅旀补姹�',
-        checked: true, // 榛樿閫変腑鐘舵��
-        geom: GEOM_POINT
-      }
-    ]
-  },
-  {
-    code: 'pk',
-    name: '鎺掑彛',
-    checked: true, // 榛樿閫変腑鐘舵��
-    filters: [
-      {
-        code: 'dischargeport',
-        name: '鎺掓斁鍙�',
-        sname: '鎺掓斁鍙�',
-        checked: true, // 榛樿閫変腑鐘舵��
-        geom: GEOM_POINT
-      }
-    ]
-  },
-  {
-    code: 'qyxx',
-    name: '鍖哄煙淇℃伅',
-    checked: true, // 榛樿閫変腑鐘舵��
-    filters: [
-      {
-        code: 'thirdpartypipe',
-        name: '绗笁鏂圭閬�',
-        sname: '绗笁鏂圭閬�',
-        checked: true, // 榛樿閫変腑鐘舵��
-        geom: GEOM_POINT
-      },
-      {
-        code: 'firefightingunit',
-        name: '娑堥槻鍗曚綅',
-        sname: '娑堥槻鍗曚綅',
-        checked: true, // 榛樿閫変腑鐘舵��
-        geom: GEOM_POINT
-      },
-      {
-        code: 'emergencyesources',
-        name: '搴旀�ョ墿璧�',
-        sname: '搴旀�ョ墿璧�',
-        checked: true, // 榛樿閫変腑鐘舵��
-        geom: GEOM_POINT
-      },
-      {
-        code: 'emergencyres',
-        name: '绀句細涓撲笟搴旀�ユ晳鎻撮槦浼�',
-        sname: '涓撲笟搴旀�ユ晳鎻�',
-        checked: true, // 榛樿閫変腑鐘舵��
-        geom: GEOM_POINT
-      },
-      {
-        code: 'maintenanceteam',
-        name: '缁存姠淇槦浼�',
-        sname: '缁存姠淇槦浼�',
-        checked: true, // 榛樿閫変腑鐘舵��
-        geom: GEOM_POINT
-      },
-      {
-        code: 'hospital',
-        name: '鍖婚櫌',
-        sname: '鍖婚櫌',
-        checked: true, // 榛樿閫変腑鐘舵��
-        geom: GEOM_POINT
-      },
-      {
-        code: 'pointpreservationzone',
-        name: '鑷劧淇濇姢鍖�',
-        sname: '鑷劧淇濇姢鍖�',
-        checked: true, // 榛樿閫変腑鐘舵��
-        geom: GEOM_POINT
-      },
-      {
-        code: 'pointhydrology',
-        name: '姘翠綋',
-        sname: '姘翠綋',
-        checked: true, // 榛樿閫変腑鐘舵��
-        geom: GEOM_POINT
-      },
-      {
-        code: 'sensitivetarget',
-        name: '鏁忔劅鐩爣',
-        sname: '鏁忔劅鐩爣',
-        checked: true, // 榛樿閫変腑鐘舵��
-        geom: GEOM_POINT
-      },
-      {
-        code: 'envmonunit',
-        name: '鐜鐩戞祴鍗曚綅',
-        sname: '鐜鐩戞祴鍗曚綅',
-        checked: true, // 榛樿閫変腑鐘舵��
-        geom: GEOM_POINT
-      },
-      {
-        code: 'pointcontaminants',
-        name: '鐩戞祴鐐规薄鏌撶墿鎸囨爣淇℃伅',
-        sname: '姹℃煋鐗╂寚鏍�',
-        checked: true, // 榛樿閫変腑鐘舵��
-        geom: GEOM_POINT
-      },
-      {
-        code: 'dischargeportaround',
-        name: '鎺掓斁鍙e懆杈圭幆澧冩晱鎰熶俊鎭�',
-        sname: '鎺掓斁鍙e懆杈圭幆澧�',
-        checked: true, // 榛樿閫変腑鐘舵��
-        geom: GEOM_POINT
-      },
-      {
-        code: 'pump',
-        name: '娉�',
-        sname: '娉�',
-        checked: true, // 榛樿閫変腑鐘舵��
-        geom: GEOM_POINT
-      },
-      {
-        code: 'liquidlevelmeter',
-        name: '娑蹭綅璁�',
-        sname: '娑蹭綅璁�',
-        checked: true, // 榛樿閫変腑鐘舵��
-        geom: GEOM_POINT
-      },
-      {
-        code: 'flowmeter',
-        name: '娴侀噺璁�',
-        sname: '娴侀噺璁�',
-        checked: true, // 榛樿閫変腑鐘舵��
-        geom: GEOM_POINT
-      },
-      {
-        code: 'video',
-        name: '瑙嗛鐩戞帶閰嶇疆',
-        sname: '瑙嗛鐩戞帶',
-        checked: true, // 榛樿閫変腑鐘舵��
-        geom: GEOM_POINT
-      },
-      {
-        code: 'onlinemonitoring',
-        name: '鍦ㄧ嚎鐩戞祴璁惧閰嶇疆',
-        sname: '鍦ㄧ嚎鐩戞祴',
-        checked: true, // 榛樿閫変腑鐘舵��
-        geom: GEOM_POINT
-      },
-      {
-        code: 'combustiblegas',
-        name: '鍙噧姘斾綋鎶ヨ璁惧閰嶇疆',
-        sname: '鍙噧姘斾綋鎶ヨ',
-        checked: true, // 榛樿閫変腑鐘舵��
-        geom: GEOM_POINT
-      },
-      {
-        code: 'hydrogensulfide',
-        name: 'H2S娴撳害鎶ヨ璁惧閰嶇疆',
-        sname: 'H2S娴撳害鎶ヨ',
-        checked: true, // 榛樿閫変腑鐘舵��
-        geom: GEOM_POINT
-      },
-      {
-        code: 'controlpoint',
-        name: '绠$嚎鐐�',
-        sname: '绠$嚎鐐�',
-        checked: true, // 榛樿閫変腑鐘舵��
-        geom: GEOM_POINT
-      },
-      {
-        code: 'pipesegment',
-        name: '绠℃',
-        sname: '绠℃',
-        checked: true, // 榛樿閫変腑鐘舵��
-        geom: GEOM_POINT
-      }
-    ]
-  }
+  LayerSewers, PointLayers
 ]
diff --git a/src/conf/MapConfig.js b/src/conf/MapConfig.js
index 9eed49f..dccff74 100644
--- a/src/conf/MapConfig.js
+++ b/src/conf/MapConfig.js
@@ -1,6 +1,6 @@
 锘縤mport * as L from 'leaflet'
 import TDT from './TDT'
-import { ServiceLayers, PointLayers } from './Layers'
+import { LayerSewersLine, LayerSewersPoint } from './LayerSewers'
 const curWwwPath = window.document.location.href
 const pathname = window.document.location.pathname
 const pos = curWwwPath.indexOf(pathname)
@@ -35,8 +35,7 @@
   showBaseMapType: 1, // 1鏄剧ず澶╁湴鍥撅紝2鏄剧ずarcgis鍦板浘
   IntranetBaseMaps: TDT.intranet,
   InternetBaseMaps: TDT.internet,
-  ServiceLayers: ServiceLayers,
-  PointLayers: PointLayers
+  Layers: { LayerSewersLine: [LayerSewersLine], layerSewersPoint: LayerSewersPoint } // 姹¢洦姘村浘灞傞厤缃�
 }
 
 /**
@@ -57,6 +56,5 @@
   mapOptions,
   mapConfig,
   TokenConfig,
-
   BLUEMAP_HOST
 }
diff --git a/src/conf/Styles.js b/src/conf/Styles.js
new file mode 100644
index 0000000..42416e5
--- /dev/null
+++ b/src/conf/Styles.js
@@ -0,0 +1,24 @@
+export const LineStyles = {
+  pipeline: {
+    fill: true,
+    weight: 2,
+    fillColor: '#06cccc',
+    color: '#06cccc',
+    fillOpacity: 0.2,
+    opacity: 0.8,
+    dashArray: '10,4',
+    dashSpeed: -10
+  }
+}
+export const PointStyles = {
+  pipeline: {
+    fill: true,
+    weight: 2,
+    fillColor: '#06cccc',
+    color: '#06cccc',
+    fillOpacity: 0.2,
+    opacity: 0.8,
+    dashArray: '10,4',
+    dashSpeed: -10
+  }
+}
diff --git a/src/store/modules/map.js b/src/store/modules/map.js
index 2a1bff6..c6b997e 100644
--- a/src/store/modules/map.js
+++ b/src/store/modules/map.js
@@ -1,4 +1,4 @@
-import mapConfig from '../../conf/MapConfig'
+import config from '../../conf/MapConfig'
 
 const state = {
   currentCorp: null,
@@ -14,7 +14,8 @@
   selectedServiceLayer: '', // 浣跨敤杩囨护鍣ㄦ椂锛岃鎵撳紑鐨刉MS鏈嶅姟鐨凜ODE
   serviceLayerFilters: {}, // 鏈嶅姟鍥惧眰鎺у埗杩囨护閰嶇疆
   checkedLayers: {}, // 閫変腑鍥惧眰瀵硅薄
-  mapConfig: mapConfig
+  config: config,
+  serviceLayers: config.mapConfig.Layers
 }
 const mutations = {
   setMapObj (state, map) {
diff --git a/src/views/MapTemplate.vue b/src/views/MapTemplate.vue
index 513fc98..b7bac3b 100644
--- a/src/views/MapTemplate.vue
+++ b/src/views/MapTemplate.vue
@@ -50,8 +50,8 @@
     }
   },
   computed: {
-    mapConfig () {
-      return this.$store.state.map.mapConfig
+    config () {
+      return this.$store.state.map.config
     }
   },
   beforeMount () {
@@ -74,13 +74,13 @@
       this.map = Sgis.initMap(mapcontainer)
 
       this.basemapHelper = Sgis.initBasemapsHelper(this.map) // 鍒濆鍖栧熀纭�搴曞浘鍔╂墜
-      this.basemapHelper.initBasemap(this.mapConfig, false) // 绗簩涓弬鏁帮紝琛ㄧず鏄惁鍐呯綉搴曞浘
+      this.basemapHelper.initBasemap(this.config, false) // 绗簩涓弬鏁帮紝琛ㄧず鏄惁鍐呯綉搴曞浘
 
       this.serviceLayerHelper = Sgis.initTileLayersHelper(this.map) // 鍒濆鍖栦笟鍔″簳鍥惧姪鎵�
-      this.serviceLayerHelper.initServiceLayers(this.mapConfig)
+      this.serviceLayerHelper.initServiceLayers(this.config)
 
       this.vectorLayerHelper = Sgis.initVectorLayersHelper(this.map) // 鍒濆鍖栧姩鎬佽绱犲浘灞傚姪鎵�
-      this.vectorLayerHelper.initVectorLayers(this.mapConfig)
+      this.vectorLayerHelper.initVectorLayers(this.config)
 
       this.saveMapStatus()
       // this.setMapObj(this.mapObj)

--
Gitblit v1.8.0