From 18612eb1726e3f0972226201fdad01d6e618cbca Mon Sep 17 00:00:00 2001
From: 陈泽平 <chenzeping>
Date: 星期六, 29 五月 2021 17:57:15 +0800
Subject: [PATCH] 企业应急-事件上报-管段定位优化

---
 src/components/base-page/enterprise-emergency/events-reported/ReportLocationSection.vue |  141 +++++++++++-----------------------------------
 1 files changed, 35 insertions(+), 106 deletions(-)

diff --git a/src/components/base-page/enterprise-emergency/events-reported/ReportLocationSection.vue b/src/components/base-page/enterprise-emergency/events-reported/ReportLocationSection.vue
index ce1d9a1..b7e9d69 100644
--- a/src/components/base-page/enterprise-emergency/events-reported/ReportLocationSection.vue
+++ b/src/components/base-page/enterprise-emergency/events-reported/ReportLocationSection.vue
@@ -258,67 +258,17 @@
     pipeClickLocation () {
       // 璁炬柦涓嶈繘琛� 绠$嚎琛ㄦ牸鏁版嵁鐨勭偣鍑讳氦浜�
       this.SectionAndAffFacTableJudge = false
-      // this.tableList = []
       // 鐐瑰嚮鑾峰彇鏁版嵁
       window.map.on('click', (e) => {
+        // 鐐瑰嚮鍦板浘鍏抽棴寮规
         window.mapManager.clickDialogSwitch = false
-        window.mapManager.loadWfsDatas(e.latlng).then((res) => {
-          // for (let i = 0; i < res.features.length; i++) {
-          //   console.log(res.features[i])
-          //   const ids = res.features[i].id.split('.')
-          //   // console.log(ids[0])
-          //   if (ids[0] === 'pipeline') {
-          //     this.tableList.push(res.features[i])
-          //   } else if (ids[0] === 'pipesegment') {
-          //     this.tableListSection.push(res.features[i])
-          //   } else {
-          //     this.tableDataAffFac.push(res.features[i])
-          //     // const obj = {
-          //     //   properties: {
-          //     //     pipecode: res.features[i].properties.code,
-          //     //     name: res.features[i].properties.companyname,
-          //     //     type: res.features[i].properties.mediumtype
-          //     //   }
-          //     // }
-          //     // console.log(obj)
-          //     // this.tableDataAffFac.push(obj)
-          //     // console.log(this.tableDataAffFac)
-          //   }
-          // }
-          const size = window.map.getSize()
-          var point = window.map.latLngToContainerPoint(e.latlng, window.map.getZoom())
-          const wmsParams = Object.assign({
-            LAYERS: 'sewer:pipeline',
-            QUERY_LAYERS: 'sewer:pipeline',
-            WIDTH: size.x,
-            HEIGHT: size.y,
-            X: Math.round(point.x),
-            Y: Math.round(point.y),
-            BBOX: window.map.getBounds().toBBoxString()
-          }, {
-            VERSION: '1.1.1',
-            SERVICE: 'WMS',
-            REQUEST: 'GetFeatureInfo',
-            // bbox: bbox,
-            FORMAT: 'image/png',
-            INFO_FORMAT: 'application/json',
-            TRANSPARENT: true,
-            FEATURE_COUNT: 50,
-            SRS: 'EPSG:4326',
-            EXCEPTIONS: 'application/vnd.ogc.se_inimage'
-          })
-          AjaxUtils.get4JsonDataByUrl(WMS_URL, wmsParams, (res) => {
-            // console.log(res)
-            for (let i = 0; i < res.data.features.length; i++) {
-              // console.log(res.data.features[i])
-              this.tableList.push(res.data.features[i])
-            }
-          })
-          // 绠℃
-          this.sectionData(e)
-          // 闄勫睘璁炬柦
-          this.affFacData(e)
-        })
+        // 绠$嚎鐐瑰嚮鏁版嵁
+        this.pipeData(e)
+        // 绠℃鐐瑰嚮鏁版嵁
+        this.sectionData(e)
+        // 闄勫睘璁炬柦鏁版嵁
+        this.affFacData(e)
+        // 鍏抽棴鐐瑰嚮浜嬩欢
         window.map.off('click')
       })
       // 鏁版嵁 閲嶆柊鑾峰彇 杩涜缃┖
@@ -329,68 +279,47 @@
       this.tableListSection = []
       this.tableDataAffFac = []
     },
-    // 鐐瑰嚮瀹氫綅 鎿﹀绠℃
-    sectionData (e) {
-      const size = window.map.getSize()
-      var point = window.map.latLngToContainerPoint(e.latlng, window.map.getZoom())
-      const wmsParams = Object.assign({
-        LAYERS: 'sewer:pipesegment',
-        QUERY_LAYERS: 'sewer:pipesegment',
-        WIDTH: size.x,
-        HEIGHT: size.y,
-        X: Math.round(point.x),
-        Y: Math.round(point.y),
-        BBOX: window.map.getBounds().toBBoxString()
-      }, {
-        VERSION: '1.1.1',
-        SERVICE: 'WMS',
-        REQUEST: 'GetFeatureInfo',
-        // bbox: bbox,
-        FORMAT: 'image/png',
-        INFO_FORMAT: 'application/json',
-        TRANSPARENT: true,
-        FEATURE_COUNT: 50,
-        SRS: 'EPSG:4326',
-        EXCEPTIONS: 'application/vnd.ogc.se_inimage'
-      })
-      AjaxUtils.get4JsonDataByUrl(WMS_URL, wmsParams, (res) => {
-        // console.log(res)
-        for (let i = 0; i < res.data.features.length; i++) {
-          this.tableListSection.push(res.data.features[i])
-        }
-      })
+    // 鐐瑰嚮瀹氫綅鍖哄煙 鎼滃绠$嚎鏁版嵁
+    pipeData (e) {
+      this.publicWay(e, 'sewer:pipeline', 'sewer:pipeline', this.tableList)
     },
-    // 鐐瑰嚮瀹氫綅 鎿﹀闄勫睘璁炬柦
+    // 鐐瑰嚮瀹氫綅鍖哄煙 鎼滃绠℃鏁版嵁
+    sectionData (e) {
+      this.publicWay(e, 'sewer:pipesegment', 'sewer:pipesegment', this.tableListSection)
+    },
+    // 鐐瑰嚮瀹氫綅鍖哄煙 鎼滃闄勫睘璁炬柦鏁版嵁
     affFacData (e) {
-      const size = window.map.getSize()
-      var point = window.map.latLngToContainerPoint(e.latlng, window.map.getZoom())
-      const wmsParams = Object.assign({
-        LAYERS: 'sewer:view_pipeline',
-        QUERY_LAYERS: 'sewer:view_pipeline',
-        // LAYERS: 'pipeline_fs',
-        // QUERY_LAYERS: 'pipeline_fs',
-        cql_filter: 'pipecode <> \'\'',
-        WIDTH: size.x,
-        HEIGHT: size.y,
-        X: Math.round(point.x),
-        Y: Math.round(point.y),
-        BBOX: window.map.getBounds().toBBoxString()
-      }, {
+      this.publicWay(e, 'sewer:view_pipeline', 'sewer:view_pipeline', this.tableDataAffFac, 'pipecode <> \'\'')
+    },
+    // 鐐瑰嚮鎸夐挳瀹氫綅 鐨勫叕鍏变簨浠�
+    publicWay (e, layer, queryLayer, dataList, cqlfilter) {
+      const defaultWmsParams = {
         VERSION: '1.1.1',
         SERVICE: 'WMS',
         REQUEST: 'GetFeatureInfo',
-        // bbox: bbox,
         FORMAT: 'image/png',
         INFO_FORMAT: 'application/json',
         TRANSPARENT: true,
         FEATURE_COUNT: 50,
         SRS: 'EPSG:4326',
+        cql_filter: cqlfilter,
         EXCEPTIONS: 'application/vnd.ogc.se_inimage'
-      })
+      }
+      const size = window.map.getSize()
+      const point = window.map.latLngToContainerPoint(e.latlng, window.map.getZoom())
+      const wmsParams = Object.assign({
+        LAYERS: layer,
+        QUERY_LAYERS: queryLayer,
+        WIDTH: size.x,
+        HEIGHT: size.y,
+        X: Math.round(point.x),
+        Y: Math.round(point.y),
+        BBOX: window.map.getBounds().toBBoxString()
+      }, defaultWmsParams)
       AjaxUtils.get4JsonDataByUrl(WMS_URL, wmsParams, (res) => {
         console.log(res)
         for (let i = 0; i < res.data.features.length; i++) {
-          this.tableDataAffFac.push(res.data.features[i])
+          dataList.push(res.data.features[i])
         }
       })
     },

--
Gitblit v1.8.0