From 48986a9e1c74b27776122c20997b95924d711157 Mon Sep 17 00:00:00 2001
From: 徐旺旺 <11530253@qq.com>
Date: 星期三, 31 三月 2021 16:51:33 +0800
Subject: [PATCH] 图层配置

---
 src/conf/layers/LayerHbss.js                              |   69 ++++++++++-------------
 src/conf/Constants.js                                     |    3 -
 src/conf/MapConfig.js                                     |    4 +
 src/conf/layers/LayerArea.js                              |    8 +-
 src/conf/layers/LayerPk.js                                |    6 +
 src/components/LayerController/service/LayerFactory.js    |   75 ++++++++++++++----------
 src/components/LayerController/modules/LcServiceLayer.vue |    7 +-
 7 files changed, 88 insertions(+), 84 deletions(-)

diff --git a/src/components/LayerController/modules/LcServiceLayer.vue b/src/components/LayerController/modules/LcServiceLayer.vue
index 87ea4a7..01bfe83 100644
--- a/src/components/LayerController/modules/LcServiceLayer.vue
+++ b/src/components/LayerController/modules/LcServiceLayer.vue
@@ -6,8 +6,7 @@
         <div class="wms-panel">
             <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)" v-if="item.childLayer"
-                                                                               class="btn-filter">杩囨护</span>
+                            @change="swAllLayers(item)"/>{{ item.name }}
                 </div>
                 <div class="layerbox-item">
                     <div class="basemap-layer-item" v-for="itm in item.layers" :key="itm.code"><input type="checkbox"
@@ -66,9 +65,9 @@
     swWmsLayer (itm) {
       itm.checked = !itm.checked
       if (itm.checked) {
-        window.layerFactory.show(itm.code)
+        window.layerFactory.show(itm)
       } else {
-        window.layerFactory.hide(itm.code)
+        window.layerFactory.hide(itm)
       }
       // this.updateWms()
     },
diff --git a/src/components/LayerController/service/LayerFactory.js b/src/components/LayerController/service/LayerFactory.js
index e7a585c..484d6e2 100644
--- a/src/components/LayerController/service/LayerFactory.js
+++ b/src/components/LayerController/service/LayerFactory.js
@@ -18,44 +18,55 @@
       var layers = config.layers
       for (var j = 0; j < layers.length; j++) {
         var childConfig = layers[j]
-        var code = childConfig.code
-        var wfs = childConfig.wfs
-        var wms = childConfig.wms
-        var url = childConfig.url
-        // 鍒ゆ柇鏄惁宸茬粡鍔犺浇杩囷紝鍔犺浇杩囧氨 鐩存帴寰楀埌瀵硅薄璋冪敤 鏄剧ず鍑芥暟
-        var layer = this.layers[code]
-        if (!layer) {
-          layer = this.L.featureGroup({}).addTo(this.map)
-          // 2. 鍒ゆ柇绫诲瀷
-          if (wfs) {
-            // 3. 瀹炰緥鍖栧叿浣搒ervice
-            var wfsLayerService = new WfsLayerService(childConfig)
-            wfsLayerService.init(layer)
-          }
-          if (wms) {
-            var wmsLayerService = new WmsLayerService(childConfig)
-            wmsLayerService.init(layer)
-          }
-          // 璇锋眰涓氬姟鏁版嵁鎺ュ彛
-          if (url) {
-            var busiLayerService = new BusiLayerService(childConfig)
-            busiLayerService.init(layer)
-          }
-          layer ? (this.layers[code] = layer) : console.log('LayerFactory锛歯ewLayer is null锛宲lease check !!!')
-        } else {
-          this.show(code)
-        }
+        var checked = childConfig.checked
+        checked && this.load(childConfig)
       }
     }
   }
 
-  show (code) {
-    var _layer = this.layers[code].addTo(this.map)
-    this.setZIndex(_layer)
+  load (config) {
+    var code = config.code
+    var wfs = config.wfs
+    var wms = config.wms
+    var url = config.url
+    // 鍒ゆ柇鏄惁宸茬粡鍔犺浇杩囷紝鍔犺浇杩囧氨 鐩存帴寰楀埌瀵硅薄璋冪敤 鏄剧ず鍑芥暟
+    var layer = this.layers[code]
+    if (!layer) {
+      layer = this.L.featureGroup({}).addTo(this.map)
+      // 2. 鍒ゆ柇绫诲瀷
+      if (wfs) {
+        // 3. 瀹炰緥鍖栧叿浣搒ervice
+        var wfsLayerService = new WfsLayerService(config)
+        wfsLayerService.init(layer)
+        this.setZIndex(layer)
+      }
+      if (wms) {
+        var wmsLayerService = new WmsLayerService(config)
+        wmsLayerService.init(layer)
+      }
+      // 璇锋眰涓氬姟鏁版嵁鎺ュ彛
+      if (url) {
+        var busiLayerService = new BusiLayerService(config)
+        busiLayerService.init(layer)
+      }
+      layer ? (this.layers[code] = layer) : console.log('LayerFactory锛歯ewLayer is null锛宲lease check !!!')
+    } else {
+      this.show(code)
+    }
   }
 
-  hide (code) {
-    var layer = this.layers[code]
+  show (config) {
+    var layer = this.layers[config.code]
+    if (layer) {
+      layer.addTo(this.map)
+      this.setZIndex(layer)
+    } else {
+      this.load(config)
+    }
+  }
+
+  hide (config) {
+    var layer = this.layers[config.code]
     layer && this.map.removeLayer(layer)
   }
 
diff --git a/src/conf/Constants.js b/src/conf/Constants.js
index 92212b0..ef780e6 100644
--- a/src/conf/Constants.js
+++ b/src/conf/Constants.js
@@ -5,9 +5,6 @@
 }
 
 export const logicMapper = {
-  // fsqy: 'Sample.js',
-  fspfk: 'Sample.js',
-  fsjcd: 'Sample.js',
   wasteGasJcd: 'WasteGas.js',
   wasteWaterJcd: 'WasteWater.js',
   solidWasteJcd: 'SolidWaste.js',
diff --git a/src/conf/MapConfig.js b/src/conf/MapConfig.js
index ea8b7fb..ef799e2 100644
--- a/src/conf/MapConfig.js
+++ b/src/conf/MapConfig.js
@@ -7,6 +7,8 @@
 import { LayerPipeLine } from './layers/LayerPipeLine'
 import { LayerArea } from './layers/LayerArea'
 import { LayerPk } from './layers/LayerPk'
+import { LayerFsss } from './layers/LayerFsss'
+import { LayerHbss } from './layers/LayerHbss'
 
 const curWwwPath = window.document.location.href
 const pathname = window.document.location.pathname
@@ -46,7 +48,7 @@
   IntranetBaseMaps: TDT.intranet,
   InternetBaseMaps: TDT.internet,
   Layers: {
-    LayerSewersLine: [LayerPipeLine, LayerArea, LayerPk, LayerWasteWater, LayerWasteGas, LayerSolidWaste],
+    LayerSewersLine: [LayerPipeLine, LayerFsss, LayerHbss, LayerArea, LayerPk, LayerWasteWater, LayerWasteGas, LayerSolidWaste],
     layerSewersPoint: LayerSewersPoint
   } // 姹¢洦姘村浘灞傞厤缃�
 }
diff --git a/src/conf/layers/LayerArea.js b/src/conf/layers/LayerArea.js
index b4dd2b9..f3b9da5 100644
--- a/src/conf/layers/LayerArea.js
+++ b/src/conf/layers/LayerArea.js
@@ -1,6 +1,8 @@
 /**
  * 鍖哄煙
  */
+const APP_GIS_HOST_2 = 'http://xearth.cn:8088'
+const WFS_URL = APP_GIS_HOST_2 + '/server/ogcserver/PipeLine/wfs'
 export const LayerArea = {
   code: 'sewersArea',
   name: '鍖哄煙淇℃伅',
@@ -11,7 +13,7 @@
       name: '鍏徃',
       sname: '鍏徃', // 琛ㄥ悕
       checked: true, // 榛樿閫変腑鐘舵��
-      url: '?TYPENAME=绠$綉',
+      wfs: WFS_URL + '?TYPENAME=鍏徃',
       minZoom: 10, // 鍦ㄦ寚瀹氱骇鍒樉绀�
       childLayer: 'fsss,hbss' // 鍏宠仈PointLayers
     },
@@ -20,7 +22,7 @@
       name: '鐮佸ご',
       sname: '鐮佸ご',
       checked: true, // 榛樿閫変腑鐘舵��
-      wfs: '?TYPENAME=鍚补姹℃按',
+      wfs: WFS_URL + '?TYPENAME=鐮佸ご',
       minZoom: 10,
       childLayer: 'fsss,hbss' // 鍏宠仈PointLayers
     },
@@ -29,7 +31,7 @@
       name: '瑁呯疆鍖�',
       sname: '瑁呯疆鍖�',
       checked: true, // 榛樿閫変腑鐘舵��
-      wfs: '?TYPENAME=鍚洂姹℃按',
+      wfs: WFS_URL + '?TYPENAME=瑁呯疆鍖�',
       minZoom: 10
     }
   ]
diff --git a/src/conf/layers/LayerHbss.js b/src/conf/layers/LayerHbss.js
index c77b633..d5193d2 100644
--- a/src/conf/layers/LayerHbss.js
+++ b/src/conf/layers/LayerHbss.js
@@ -3,77 +3,68 @@
  */
 const APP_GIS_HOST_2 = 'http://xearth.cn:8088'
 const WFS_URL = APP_GIS_HOST_2 + '/server/ogcserver/PipeLine/wfs'
-export const LayerFsss = {
-  code: 'sewersFsss',
+export const LayerHbss = {
+  code: 'sewersHbss',
   name: '鐜繚璁炬柦',
   checked: false, // 榛樿閫変腑鐘舵��
   layers: [
     {
-      code: 'fourlink',
-      name: '鍥涢��',
-      sname: '鍥涢��',
+      code: 'yj',
+      name: '绐ㄤ簳',
+      sname: '绐ㄤ簳',
       checked: true,
       minZoom: 10,
-      wfs: WFS_URL + '?TYPENAME=鍥涢��',
+      wfs: WFS_URL + '?TYPENAME=绐ㄤ簳',
       icon: 'sewers/鍥涢��.png'
     },
     {
-      code: 'tee',
-      name: '涓夐��',
-      sname: '涓夐��',
+      code: 'ybz',
+      name: '闆ㄧ瀛�',
+      sname: '闆ㄧ瀛�',
       checked: false,
       minZoom: 10,
-      wfs: WFS_URL + '?TYPENAME=涓夐��',
+      wfs: WFS_URL + '?TYPENAME=闆ㄧ瀛�',
       icon: 'sewers/涓夐��.png'
     },
     {
-      code: 'piperack',
-      name: '绠℃灦(澧�)',
-      sname: 'PipeRack',
+      code: 'fht',
+      name: '闃茬伀鍫�',
+      sname: '闃茬伀鍫�',
       minZoom: 10,
-      wfs: WFS_URL + '?TYPENAME=绠℃灦',
+      wfs: WFS_URL + '?TYPENAME=闃茬伀鍫�',
       checked: false
     },
     {
-      code: 'pipegallery',
-      name: '绠″粖(甯�)',
-      sname: 'PipeGallery',
+      code: 'jsc',
+      name: '闆嗘按姹�',
+      sname: '闆嗘按姹�',
       minZoom: 10,
-      wfs: WFS_URL + '?TYPENAME=绠″粖',
+      wfs: WFS_URL + '?TYPENAME=闆嗘按姹�',
       checked: false
     },
     {
-      code: 'pipesegment',
-      name: '娴佸悜',
-      sname: 'ywslx',
-      wfs: WFS_URL + '?TYPENAME=娴佸悜',
+      code: 'jlz',
+      name: '鎴祦闂�',
+      sname: '鎴祦闂�',
+      wfs: WFS_URL + '?TYPENAME=鎴祦闂�',
       checked: false
     },
     {
-      code: 'pipeline',
-      name: '绠$綉',
+      code: 'yly',
+      name: '婧㈡祦鍫�',
+      sname: '婧㈡祦鍫�',
       minZoom: 10,
-      sname: 'pipeline',
-      wfs: WFS_URL + '?TYPENAME=绠$綉',
+      wfs: WFS_URL + '?TYPENAME=婧㈡祦鍫�',
       checked: false
     },
     {
-      code: 'valve',
-      name: '闃�闂�',
+      code: 'gyd',
+      name: '闅旀补姹�',
+      sname: '闅旀补姹�',
       minZoom: 10,
-      sname: 'valve',
       checked: false,
-      wfs: WFS_URL + '?TYPENAME=闃�闂�',
+      wfs: WFS_URL + '?TYPENAME=闅旀补姹�',
       icon: 'sewers/闃�闂�.png'
-    },
-    {
-      code: 'elbow',
-      name: '寮ご',
-      sname: 'Elbow',
-      minZoom: 10,
-      checked: false,
-      wfs: WFS_URL + '?TYPENAME=寮ご',
-      icon: 'sewers/寮ご.png'
     }
   ]
 }
diff --git a/src/conf/layers/LayerPk.js b/src/conf/layers/LayerPk.js
index ab13cdf..62bbee9 100644
--- a/src/conf/layers/LayerPk.js
+++ b/src/conf/layers/LayerPk.js
@@ -1,6 +1,8 @@
 /**
  * 鎺掑彛
  */
+const APP_GIS_HOST_2 = 'http://xearth.cn:8088'
+const WFS_URL = APP_GIS_HOST_2 + '/server/ogcserver/PipeLine/wfs'
 export const LayerPk = {
   code: 'sewersPk',
   name: '鎺掑彛',
@@ -11,7 +13,7 @@
       name: '鍐呮帓鍙�',
       sname: '鍐呮帓鍙�',
       checked: true,
-      wfs: '?TYPENAME=绠$綉',
+      wfs: WFS_URL + '?TYPENAME=鍐呮帓鍙�',
       minZoom: 10 // 鍦ㄦ寚瀹氱骇鍒樉绀�
     },
     {
@@ -19,7 +21,7 @@
       name: '澶栨帓鍙�',
       sname: '澶栨帓鍙�',
       checked: true, // 榛樿閫変腑鐘舵��
-      wfs: '?TYPENAME=浜嬫晠姘�',
+      wfs: WFS_URL + '?TYPENAME=澶栨帓鍙�',
       minZoom: 10
     }
   ]

--
Gitblit v1.8.0