From a3f2a415049e1444110cea2a34ecb51b40c1b1bd Mon Sep 17 00:00:00 2001
From: 徐旺旺 <11530253@qq.com>
Date: 星期三, 31 三月 2021 15:42:03 +0800
Subject: [PATCH] 图层控制

---
 src/conf/layers/LayerFsss.js                              |   79 +++++++++++++
 src/conf/layers/LayerHbss.js                              |   79 +++++++++++++
 src/conf/layers/LayerPipeLine.js                          |   77 ++++++++++++
 src/conf/layers/LayerArea.js                              |   36 ++++++
 src/conf/layers/LayerPk.js                                |   26 ++++
 src/components/LayerController/logic/Sample.js            |   44 ++++++
 src/components/LayerController/modules/LcServiceLayer.vue |    5 
 7 files changed, 339 insertions(+), 7 deletions(-)

diff --git a/src/components/LayerController/logic/Sample.js b/src/components/LayerController/logic/Sample.js
index 063123f..20fe78f 100644
--- a/src/components/LayerController/logic/Sample.js
+++ b/src/components/LayerController/logic/Sample.js
@@ -1,9 +1,45 @@
+/**
+ * 搴熸皵
+ */
+const AnimalService = require('../service/AnimalService').default
+const AjaxUtils = require('../../../utils/AjaxUtils').default
+
 module.exports = function () {
-  this.init = (L) => {
-    console.log('sample init !!!')
+  /**
+   * 杩斿洖marker瀵硅薄鏁扮粍
+   * @param L leaflet瀵硅薄
+   */
+  this.init = (layer, L) => {
+    this.animalService = new AnimalService({ L: L, layer: layer })
+    AjaxUtils.get4JsonDataByUrl('http://10.246.162.140:8080/EPInterface/DataService/EPMapService.asmx/ObtainningConInfo', {
+      companyId: 3900100145,
+      id: '',
+      monType: 1,
+      userCode: 'wenchun.deng',
+      monDuration: '',
+      epName: '',
+      secdDeptId: '',
+      contrLevel: '',
+      dataStatus: '',
+      dataFlag: '',
+      runStatus: '',
+      emissTypeId: ''
+    }, function (res) {
+      const data = res.data.Result.DataInfo
+      for (let i = 0; i < data.length; i++) {
+        // 缁忕含搴� 浣嶇疆
+        const positionX = data[i].Latitude
+        const positionY = data[i].Longitude
+        layer.addLayer(L.marker([positionX, positionY], { test: '122224' }))
+      }
+    })
   }
 
-  this.clickListener = (e, data) => {
-    console.log('sample clickListener !!!')
+  this.bindTooltip = (layer) => {
+    return layer.options.test
+  }
+
+  this.clickListener = (e) => {
+    this.animalService.pulseEffect(e.latlng)
   }
 }
diff --git a/src/components/LayerController/modules/LcServiceLayer.vue b/src/components/LayerController/modules/LcServiceLayer.vue
index ab589f0..87ea4a7 100644
--- a/src/components/LayerController/modules/LcServiceLayer.vue
+++ b/src/components/LayerController/modules/LcServiceLayer.vue
@@ -6,7 +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)"
+                            @change="swAllLayers(item)"/>{{ item.name }} <span @click="swFilter(item)" v-if="item.childLayer"
                                                                                class="btn-filter">杩囨护</span>
                 </div>
                 <div class="layerbox-item">
@@ -14,8 +14,7 @@
                                                                                                       :name="'wmsSublayers_'+item.code+'_'+itm.code"
                                                                                                       :checked="itm.checked"
                                                                                                       :value="itm.code"
-                                                                                                      @change="swWmsLayer(itm)"/>{{
-                        itm.name }}
+                                                                                                      @change="swWmsLayer(itm)"/>{{ itm.name }}
                     </div>
                 </div>
             </div>
diff --git a/src/conf/layers/LayerArea.js b/src/conf/layers/LayerArea.js
new file mode 100644
index 0000000..b4dd2b9
--- /dev/null
+++ b/src/conf/layers/LayerArea.js
@@ -0,0 +1,36 @@
+/**
+ * 鍖哄煙
+ */
+export const LayerArea = {
+  code: 'sewersArea',
+  name: '鍖哄煙淇℃伅',
+  checked: true,
+  layers: [
+    {
+      code: 'sewersAreaGs',
+      name: '鍏徃',
+      sname: '鍏徃', // 琛ㄥ悕
+      checked: true, // 榛樿閫変腑鐘舵��
+      url: '?TYPENAME=绠$綉',
+      minZoom: 10, // 鍦ㄦ寚瀹氱骇鍒樉绀�
+      childLayer: 'fsss,hbss' // 鍏宠仈PointLayers
+    },
+    {
+      code: 'sewersAreaMt',
+      name: '鐮佸ご',
+      sname: '鐮佸ご',
+      checked: true, // 榛樿閫変腑鐘舵��
+      wfs: '?TYPENAME=鍚补姹℃按',
+      minZoom: 10,
+      childLayer: 'fsss,hbss' // 鍏宠仈PointLayers
+    },
+    {
+      code: 'sewersAreaZz',
+      name: '瑁呯疆鍖�',
+      sname: '瑁呯疆鍖�',
+      checked: true, // 榛樿閫変腑鐘舵��
+      wfs: '?TYPENAME=鍚洂姹℃按',
+      minZoom: 10
+    }
+  ]
+}
diff --git a/src/conf/layers/LayerFsss.js b/src/conf/layers/LayerFsss.js
new file mode 100644
index 0000000..ce4269c
--- /dev/null
+++ b/src/conf/layers/LayerFsss.js
@@ -0,0 +1,79 @@
+/**
+ * 鍖哄煙
+ */
+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',
+  name: '闄勫睘璁炬柦',
+  checked: false, // 榛樿閫変腑鐘舵��
+  layers: [
+    {
+      code: 'fourlink',
+      name: '鍥涢��',
+      sname: '鍥涢��',
+      checked: true,
+      minZoom: 10,
+      wfs: WFS_URL + '?TYPENAME=鍥涢��',
+      icon: 'sewers/鍥涢��.png'
+    },
+    {
+      code: 'tee',
+      name: '涓夐��',
+      sname: '涓夐��',
+      checked: false,
+      minZoom: 10,
+      wfs: WFS_URL + '?TYPENAME=涓夐��',
+      icon: 'sewers/涓夐��.png'
+    },
+    {
+      code: 'piperack',
+      name: '绠℃灦(澧�)',
+      sname: 'PipeRack',
+      minZoom: 10,
+      wfs: WFS_URL + '?TYPENAME=绠℃灦',
+      checked: false
+    },
+    {
+      code: 'pipegallery',
+      name: '绠″粖(甯�)',
+      sname: 'PipeGallery',
+      minZoom: 10,
+      wfs: WFS_URL + '?TYPENAME=绠″粖',
+      checked: false
+    },
+    {
+      code: 'pipesegment',
+      name: '娴佸悜',
+      sname: 'ywslx',
+      wfs: WFS_URL + '?TYPENAME=娴佸悜',
+      checked: false
+    },
+    {
+      code: 'pipeline',
+      name: '绠$綉',
+      minZoom: 10,
+      sname: 'pipeline',
+      wfs: WFS_URL + '?TYPENAME=绠$綉',
+      checked: false
+    },
+    {
+      code: 'valve',
+      name: '闃�闂�',
+      minZoom: 10,
+      sname: 'valve',
+      checked: false,
+      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/LayerHbss.js b/src/conf/layers/LayerHbss.js
new file mode 100644
index 0000000..c77b633
--- /dev/null
+++ b/src/conf/layers/LayerHbss.js
@@ -0,0 +1,79 @@
+/**
+ * 鍖哄煙
+ */
+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',
+  name: '鐜繚璁炬柦',
+  checked: false, // 榛樿閫変腑鐘舵��
+  layers: [
+    {
+      code: 'fourlink',
+      name: '鍥涢��',
+      sname: '鍥涢��',
+      checked: true,
+      minZoom: 10,
+      wfs: WFS_URL + '?TYPENAME=鍥涢��',
+      icon: 'sewers/鍥涢��.png'
+    },
+    {
+      code: 'tee',
+      name: '涓夐��',
+      sname: '涓夐��',
+      checked: false,
+      minZoom: 10,
+      wfs: WFS_URL + '?TYPENAME=涓夐��',
+      icon: 'sewers/涓夐��.png'
+    },
+    {
+      code: 'piperack',
+      name: '绠℃灦(澧�)',
+      sname: 'PipeRack',
+      minZoom: 10,
+      wfs: WFS_URL + '?TYPENAME=绠℃灦',
+      checked: false
+    },
+    {
+      code: 'pipegallery',
+      name: '绠″粖(甯�)',
+      sname: 'PipeGallery',
+      minZoom: 10,
+      wfs: WFS_URL + '?TYPENAME=绠″粖',
+      checked: false
+    },
+    {
+      code: 'pipesegment',
+      name: '娴佸悜',
+      sname: 'ywslx',
+      wfs: WFS_URL + '?TYPENAME=娴佸悜',
+      checked: false
+    },
+    {
+      code: 'pipeline',
+      name: '绠$綉',
+      minZoom: 10,
+      sname: 'pipeline',
+      wfs: WFS_URL + '?TYPENAME=绠$綉',
+      checked: false
+    },
+    {
+      code: 'valve',
+      name: '闃�闂�',
+      minZoom: 10,
+      sname: 'valve',
+      checked: false,
+      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/LayerPipeLine.js b/src/conf/layers/LayerPipeLine.js
new file mode 100644
index 0000000..c90a7f4
--- /dev/null
+++ b/src/conf/layers/LayerPipeLine.js
@@ -0,0 +1,77 @@
+/**
+ * 绠$綉
+ */
+const APP_GIS_HOST_2 = 'http://xearth.cn:8088'
+const WFS_URL = APP_GIS_HOST_2 + '/server/ogcserver/PipeLine/wfs'
+
+export const LayerPipeLine = {
+  code: 'sewersPipeLine',
+  name: '绠$嚎',
+  checked: true,
+  layers: [
+    {
+      code: 'rainline',
+      name: '闆ㄦ按绾�',
+      sname: '闆ㄦ按绾�',
+      checked: true,
+      wfs: WFS_URL + '?TYPENAME=绠$綉',
+      minZoom: 10 // 鍦ㄦ寚瀹氱骇鍒樉绀�
+    },
+    {
+      code: 'accidentline',
+      name: '浜嬫晠姘寸嚎',
+      sname: '浜嬫晠姘�',
+      checked: true, // 榛樿閫変腑鐘舵��
+      wfs: WFS_URL + '?TYPENAME=浜嬫晠姘�',
+      minZoom: 10
+    },
+    {
+      code: 'oilline',
+      name: '鍚补姹℃按绾�',
+      sname: '鍚补姹℃按',
+      checked: true, // 榛樿閫変腑鐘舵��
+      wfs: WFS_URL + '?TYPENAME=鍚补姹℃按',
+      minZoom: 10
+    },
+    {
+      code: 'saltline',
+      name: '鍚洂姹℃按绾�',
+      sname: '鍚洂姹℃按',
+      checked: true, // 榛樿閫変腑鐘舵��
+      wfs: WFS_URL + '?TYPENAME=鍚洂姹℃按',
+      minZoom: 10
+    },
+    {
+      code: 'alkaliline',
+      name: '鍚⒈姹℃按绾�',
+      sname: '鍚⒈姹℃按',
+      checked: true, // 榛樿閫変腑鐘舵��
+      wfs: WFS_URL + '?TYPENAME=鍚⒈姹℃按',
+      minZoom: 10
+    },
+    {
+      code: 'lifeline',
+      name: '鐢熸椿姹℃按',
+      sname: '鐢熸椿姹℃按',
+      checked: true, // 榛樿閫変腑鐘舵��
+      wfs: WFS_URL + '?TYPENAME=鐢熸椿姹℃按',
+      minZoom: 10
+    },
+    {
+      code: 'purifyline',
+      name: '鍑�鍖栨按绾�',
+      sname: '鍑�鍖栨按',
+      checked: true, // 榛樿閫変腑鐘舵��
+      wfs: WFS_URL + '?TYPENAME=鍑�鍖栨按',
+      minZoom: 10
+    },
+    {
+      code: 'loopline',
+      name: '寰幆姘寸嚎',
+      sname: '寰幆姘�',
+      checked: true, // 榛樿閫変腑鐘舵��
+      wfs: WFS_URL + '?TYPENAME=寰幆姘�',
+      minZoom: 10
+    }
+  ]
+}
diff --git a/src/conf/layers/LayerPk.js b/src/conf/layers/LayerPk.js
new file mode 100644
index 0000000..ab13cdf
--- /dev/null
+++ b/src/conf/layers/LayerPk.js
@@ -0,0 +1,26 @@
+/**
+ * 鎺掑彛
+ */
+export const LayerPk = {
+  code: 'sewersPk',
+  name: '鎺掑彛',
+  checked: true,
+  layers: [
+    {
+      code: 'sewersNpk',
+      name: '鍐呮帓鍙�',
+      sname: '鍐呮帓鍙�',
+      checked: true,
+      wfs: '?TYPENAME=绠$綉',
+      minZoom: 10 // 鍦ㄦ寚瀹氱骇鍒樉绀�
+    },
+    {
+      code: 'sewersWpk',
+      name: '澶栨帓鍙�',
+      sname: '澶栨帓鍙�',
+      checked: true, // 榛樿閫変腑鐘舵��
+      wfs: '?TYPENAME=浜嬫晠姘�',
+      minZoom: 10
+    }
+  ]
+}

--
Gitblit v1.8.0