From f8865d1c7f36c4ffa66002e0dd3a9d5e99e4fe6b Mon Sep 17 00:00:00 2001
From: 徐旺旺 <11530253@qq.com>
Date: 星期日, 30 五月 2021 13:45:44 +0800
Subject: [PATCH] Merge branch 'develop' of http://xearth.cn:6600/r/wuyushui/SewerAndRainNetwork into develop

---
 public/assets/images/map-pages/title_bg2.png                                            |    0 
 src/components/LayerController/logic/GovernEquipment.js                                 |   93 ++++
 src/components/base-page/enterprise-emergency/events-reported/ReportLocationSearch.vue  |  174 ++++++--
 dist.zip                                                                                |    0 
 public/assets/images/map/governEquipment/govern_green.png                               |    0 
 src/api/mapApi.js                                                                       |    3 
 src/views/popup/DynamicHeader/DynamicTable.vue                                          |   43 ++
 src/components/LayerController/modules/LcServiceLayer.vue                               |    1 
 public/assets/images/map-pages/title_bg.png                                             |    0 
 src/components/base-page/WasteWater/WasteWaterHoursChart.vue                            |  227 +++++++++--
 src/components/base-page/WasteWater/WasteWaterIndex.vue                                 |   21 
 /dev/null                                                                               |   36 -
 src/components/base-page/enterprise-emergency/events-reported/ReportLocationPoint.vue   |   40 +
 src/components/table/components/tabHandover.vue                                         |    4 
 src/conf/Constants.js                                                                   |    8 
 src/conf/layers/LayerEnvRisk.js                                                         |    8 
 src/views/popup/DynamicHeader/TableColumn.vue                                           |   24 +
 src/components/base-page/PublicDataStandard.vue                                         |   13 
 src/components/base-page/enterprise-emergency/events-reported/ReportLocationSection.vue |  139 ++++--
 src/components/base-page/WasteWater/WasteWaterDayChart.vue                              |  243 +++++++++---
 src/components/base-page/enterprise-emergency/events-reported/EventsReported.vue        |    4 
 public/assets/governEquipment.json                                                      |   22 +
 src/components/panel/topicSearch/enterprise-emergency/EventQuery.vue                    |    2 
 src/App.vue                                                                             |    6 
 24 files changed, 824 insertions(+), 287 deletions(-)

diff --git a/dist.zip b/dist.zip
new file mode 100644
index 0000000..1e1ad71
--- /dev/null
+++ b/dist.zip
Binary files differ
diff --git a/public/assets/governEquipment.json b/public/assets/governEquipment.json
new file mode 100644
index 0000000..17d1b68
--- /dev/null
+++ b/public/assets/governEquipment.json
@@ -0,0 +1,22 @@
+[
+  {
+    "no": 0,
+    "company": "鎵瓙鐭冲寲",
+    "plate": "鐐兼补鏉垮潡",
+    "unitName": "鑺崇儍鍘傘�佺偧娌瑰巶",
+    "governName": "纭:鍥炴敹娌荤悊璁炬柦",
+    "Longitude": 118.7936111111,
+    "Latitude": 32.2583305556,
+    "status": 1
+  },
+  {
+    "no": 1,
+    "company": "涓煩鐭冲寲",
+    "plate": "鐐兼补鏉垮潡",
+    "unitName": "鐐兼补浜岄儴",
+    "governName": "鍌寲瑁傚寲娌荤悊璁炬柦",
+    "Longitude": 114.44016,
+    "Latitude": 30.65305,
+    "status": 1
+  }
+]
diff --git a/public/assets/images/map-pages/title_bg.png b/public/assets/images/map-pages/title_bg.png
new file mode 100644
index 0000000..0f0b6cd
--- /dev/null
+++ b/public/assets/images/map-pages/title_bg.png
Binary files differ
diff --git a/public/assets/images/map-pages/title_bg2.png b/public/assets/images/map-pages/title_bg2.png
new file mode 100644
index 0000000..642a42f
--- /dev/null
+++ b/public/assets/images/map-pages/title_bg2.png
Binary files differ
diff --git a/public/assets/images/map/governEquipment/govern_green.png b/public/assets/images/map/governEquipment/govern_green.png
new file mode 100644
index 0000000..1b30b11
--- /dev/null
+++ b/public/assets/images/map/governEquipment/govern_green.png
Binary files differ
diff --git a/src/App.vue b/src/App.vue
index 6b056a7..a2535d8 100644
--- a/src/App.vue
+++ b/src/App.vue
@@ -29,5 +29,9 @@
   -ms-overflow-style: none;
   font-size: 12px;
 }
-
+.popoverBoxStyle{
+  border: 0.00521rem solid #00fff6;
+  box-shadow: 0 0 0.03rem #00fff6;
+  background-color: rgba(0, 16, 30, 0.7) !important;
+}
 </style>
diff --git a/src/api/mapApi.js b/src/api/mapApi.js
index ae65d02..2897794 100644
--- a/src/api/mapApi.js
+++ b/src/api/mapApi.js
@@ -90,6 +90,9 @@
   getSourcesPoll (data) {
     return axios.get(mapUrl.getSourcesPoll, data)
   },
+  getGovernEquipment (data) {
+    return axios.get('/assets/governEquipment.json', data)
+  },
   getEnvironmentRisk (data) {
     return axios.get('/assets/environmentRisk.json', data)
   },
diff --git a/src/components/LayerController/logic/GovernEquipment.js b/src/components/LayerController/logic/GovernEquipment.js
new file mode 100644
index 0000000..f5f174f
--- /dev/null
+++ b/src/components/LayerController/logic/GovernEquipment.js
@@ -0,0 +1,93 @@
+/**
+ * 姹℃煋婧�
+ */
+// 淇℃伅缁勪欢
+const GovernEquipmentIndex = require('../../base-page/RiskSource/RiskSourceIndex.vue').default
+// 浣跨敤灏佽鏂规硶
+const AnimalService = require('../service/AnimalService').default
+// 璇锋眰鎺ュ彛鏁版嵁
+const mapApi = require('../../../api/mapApi').default
+// 鍏叡鏂规硶 panTo() 寮曠敤
+const { setPanTo } = require('../../../utils/utils')
+
+const governGreen = '/assets/images/map/governEquipment/govern_green.png'
+
+module.exports = function () {
+  /**
+   * 鍒濆鍖栧苟鍔犺浇鍥惧眰
+   * @param L leaflet瀵硅薄
+   */
+  this.init = async (layer, L) => {
+    this.animalService = new AnimalService({
+      L: L,
+      layer: layer
+    })
+    const data = await mapApi.getGovernEquipment()
+    for (let i = 0; i < data.length; i++) {
+      const postion = [data[i].Latitude, data[i].Longitude] // 鍧愭爣
+      const iconUrl = this.governIconUrl(data[i].status) // 娌荤悊璁炬柦鍥炬爣
+      const marker = L.marker(postion, {
+        totransferData: data[i],
+        icon: L.icon({
+          iconUrl: iconUrl,
+          iconSize: [30, 30],
+          iconAnchor: [15, 15]
+        })
+      })
+      layer.addLayer(marker)
+    }
+  }
+
+  /**
+   * 鎻愮ず绐�
+   * @param layer
+   * @returns {string}
+   */
+  this.bindTooltip = (layer) => {
+    return layer.options.totransferData.governName
+  }
+
+  /**
+   * 淇℃伅寮圭獥
+   * @param e
+   */
+  this.clickListener = (e) => {
+    // 鑴夊啿鏁堟灉
+    this.animalService.pulseEffect(e.latlng)
+    // 淇℃伅寮圭獥骞崇Щ
+    setPanTo(e.latlng, 200)
+    // 寮规鏍囬
+    const title = e.layer.options.totransferData.Name
+    window.$layer.open({
+      content: {
+        comp: GovernEquipmentIndex, // 缁勪欢
+        parent: this, // 鐖剁粍浠�
+        data: { // 浼犻�掔殑鍙傛暟
+          riskSourceId: e.layer.options.totransferData.no
+        }
+      },
+      title: title // 鏍囬
+    })
+  }
+
+  /**
+   * 娌荤悊璁炬柦鍥炬爣閰嶇疆
+   * @param t
+   * @returns {string}
+   */
+  this.governIconUrl = (t) => {
+    let iconUrl = null
+    switch (t) {
+      case 1:
+        iconUrl = governGreen
+        break
+      case 2:
+        iconUrl = ''
+        break
+      default:
+        iconUrl = ''
+        break
+    }
+    return iconUrl
+  }
+}
diff --git a/src/components/LayerController/logic/SourcesPollution.js b/src/components/LayerController/logic/SourcesPollution.js
deleted file mode 100644
index 27899ce..0000000
--- a/src/components/LayerController/logic/SourcesPollution.js
+++ /dev/null
@@ -1,36 +0,0 @@
-/**
- * 姹℃煋婧�
- *  */
-
-// 璇锋眰鎺ュ彛鏁版嵁
-const mapApi = require('../../../api/mapApi').default
-// 浣跨敤灏佽鏂规硶
-const AnimalService = require('../service/AnimalService').default
-
-module.exports = function () {
-  this.init = async (layer, L) => {
-    this.animalService = new AnimalService({
-      L: L,
-      layer: layer
-    })
-    const result = await mapApi.getSourcesPoll()
-    // console.log(result)
-    const resultData = result.Result.DataInfo || []
-    const polygon = L.polygon(resultData, { color: 'yellow' })
-    polygon.addTo(layer)
-  }
-  this.bindTooltip = (layer) => {
-    return 'layer'
-  }
-  this.click = () => {
-    window.$layer.open({
-      content: {
-        content: 'Popup', // 缁勪欢
-        data: { // 浼犻�掔殑鍙傛暟
-          datas: 'popupDatas'
-        }
-      },
-      title: ''
-    })
-  }
-}
diff --git a/src/components/LayerController/modules/LcServiceLayer.vue b/src/components/LayerController/modules/LcServiceLayer.vue
index 5aef608..eb0472f 100644
--- a/src/components/LayerController/modules/LcServiceLayer.vue
+++ b/src/components/LayerController/modules/LcServiceLayer.vue
@@ -36,6 +36,7 @@
 
 <script>
 import LcServiceLayerFilter from '@components/LayerController/modules/LcServiceLayerFilter'
+
 export default {
   name: 'LcServiceLayer',
   components: { LcServiceLayerFilter },
diff --git a/src/components/base-page/PublicDataStandard.vue b/src/components/base-page/PublicDataStandard.vue
index df75eaf..164801f 100644
--- a/src/components/base-page/PublicDataStandard.vue
+++ b/src/components/base-page/PublicDataStandard.vue
@@ -7,7 +7,7 @@
       <!--      <span class="grid-content">搴熸皵娴侀噺 : <i style="color: #e8ee0b">120343.18</i></span>-->
       <span class="grid-content" v-for="item in dataStandard" :key="item.current.name">{{ item.current.name }} :
         <i style="color: #e8ee0b">{{ item.current.val }}</i>  {{
-          item.standard.name ? item.standard.name + ':' : ''
+          item.standard.name && item.current.name.indexOf('娴侀噺') === -1 ? item.standard.name + ':' : ''
         }} <i style="color: #fff">{{ item.standard.val }}</i></span>
     </div>
   </div>
@@ -16,6 +16,11 @@
 <script>
 export default {
   name: 'PublicDataStandard',
+  watch: {
+    dataStandard (val, oldVal) {
+      this.dataStandard = val
+    }
+  },
   props: {
     dataStandard: {
       type: Array,
@@ -31,12 +36,12 @@
 .animation {
   .information {
     .grid-content {
-      padding: 0.02rem;
-      background-color: #2e4967;
+      padding: 0.03rem 0.08rem 0.03rem 0.08rem;
       text-align: center;
       border-radius: 0.02rem;
       line-height: 0.15rem;
-      margin: 0 0.05rem;
+      margin: 0 0.03rem;
+      box-shadow: 0 0 10px rgba(129,211,248,.35) inset;
     }
   }
 }
diff --git a/src/components/base-page/WasteWater/WasteWaterDayChart.vue b/src/components/base-page/WasteWater/WasteWaterDayChart.vue
index 1fcb2c9..8f0bce3 100644
--- a/src/components/base-page/WasteWater/WasteWaterDayChart.vue
+++ b/src/components/base-page/WasteWater/WasteWaterDayChart.vue
@@ -13,7 +13,14 @@
                 <el-option v-for="(item,index) in formData.regionList" :key="index" :label="item" :value="item"></el-option>
             </el-select>
             <el-button @click="querySearch()">鏌ヨ</el-button>
-            <el-button>鏄庣粏琛�</el-button>
+            <el-popover
+                placement="top"
+                width="100%"
+                popper-class="popoverBoxStyle"
+                trigger="click">
+              <dynamic-table :tableData="tableData" :tableHeader="tableConfig" v-if="tableData"></dynamic-table>
+              <el-button slot="reference">鏄庣粏琛�</el-button>
+            </el-popover>
         </div>
         <div class="echarts-chart">
             <div ref="echartsDay"></div>
@@ -26,56 +33,19 @@
 import dayjs from 'dayjs'
 import PublicDataStandard from '../PublicDataStandard'
 import mapApi from '@/api/mapApi'
+import DynamicTable from '../../../views/popup/DynamicHeader/DynamicTable' // 澶氱骇琛ㄥご
 
 export default {
   name: 'WasteWaterDayChart',
   components: {
-    PublicDataStandard
+    PublicDataStandard,
+    DynamicTable
   },
   data () {
     return {
       // tab鏍忎紶閫掓帴鏀舵暟鎹�
-      dataStandard: [
-        {
-          current: {
-            name: '姘哀鍖栫墿',
-            val: 29.93
-          },
-          standard: {
-            name: '鏍囧噯',
-            val: 100
-          }
-        },
-        {
-          current: {
-            name: '浜屾哀鍖栫~',
-            val: 17.34
-          },
-          standard: {
-            name: '鏍囧噯',
-            val: 50
-          }
-        },
-        {
-          current: {
-            name: '鐑熷皹',
-            val: 6.93
-          },
-          standard: {
-            name: '鏍囧噯',
-            val: 30
-          }
-        },
-        {
-          current: {
-            name: '搴熸皵娴侀噺',
-            val: 120
-          },
-          standard: {
-            name: '',
-            val: null
-          }
-        }],
+      dataStandard: [],
+      tableData: null,
       formData: {
         region: '25',
         regionList: [25, 50, 75, 100],
@@ -86,7 +56,98 @@
       dataType: 1,
       jcdID: 1,
       bzz: null,
-      bzzList: []
+      bzzList: [],
+      // 琛ㄥご鏁版嵁
+      tableConfig: [
+        {
+          id: 100,
+          label: '鎺掓斁鐐�',
+          prop: 'OnLineMonEmissPointName'
+        },
+        {
+          id: 200,
+          label: '鐩戞祴鏃堕棿',
+          prop: 'MonTimeStr'
+        },
+        {
+          id: 300,
+          label: 'COD',
+          prop: 'PoltmtrlName',
+          children: [
+            {
+              id: 310,
+              label: '瀹炴祴鎺掓斁閲忥紙kg/h锛�',
+              prop: 'COD_EmissQty'
+            },
+            {
+              id: 320,
+              label: '瀹炴祴娴撳害锛坢g/l锛�',
+              prop: 'COD_MonQty'
+            },
+            {
+              id: 330,
+              label: '鏍囧噯鍊硷紙mg/l锛�',
+              prop: 'COD_StdValue'
+            }
+          ]
+        },
+        {
+          id: 400,
+          label: '姘ㄦ爱',
+          prop: 'PoltmtrlName',
+          children: [
+            {
+              id: 410,
+              label: '瀹炴祴鎺掓斁閲忥紙kg/h锛�',
+              prop: '姘ㄦ爱_EmissQty'
+            },
+            {
+              id: 420,
+              label: '瀹炴祴娴撳害锛坢g/l锛�',
+              prop: '姘ㄦ爱_MonQty'
+            },
+            {
+              id: 430,
+              label: '鏍囧噯鍊硷紙mg/l锛�',
+              prop: '姘ㄦ爱_StdValue'
+            }
+          ]
+        },
+        {
+          id: 500,
+          label: 'PH',
+          prop: 'PoltmtrlName',
+          children: [
+            {
+              id: 510,
+              label: '瀹炴祴鎺掓斁閲忥紙kg/h锛�',
+              prop: 'pH_EmissQty'
+            },
+            {
+              id: 520,
+              label: '瀹炴祴娴撳害锛坢g/l锛�',
+              prop: 'pH_MonQty'
+            },
+            {
+              id: 530,
+              label: '鏍囧噯鍊硷紙mg/l锛�',
+              prop: 'pH_StdValue'
+            }
+          ]
+        },
+        {
+          id: 600,
+          label: '搴熸按娴侀噺',
+          prop: '',
+          children: [
+            {
+              id: 610,
+              label: '瀹炴祴娴侀噺锛坢鲁/h锛�',
+              prop: '搴熸按娴侀噺_MonQty'
+            }
+          ]
+        }
+      ]
     }
   },
   mounted () {
@@ -104,7 +165,7 @@
         poltMtrlId: '',
         emissTypeId: '',
         onLineMonEmissPointId: 23,
-        monItemId: 28,
+        monItemId: '28,31,35', // 鐩戞祴椤�  COD銆佹皑姘�丳H
         beginTime: this.formData.timeStart,
         endTime: this.formData.timeEnd,
         dataType: this.dataType
@@ -114,6 +175,8 @@
     },
     get24HourDate (res) {
       if (res.length > 0) {
+        this.dataStandard = []
+        this.tableData = this.analysisResult(res) // 灏忔椂鏄庣粏琛ㄨВ鏋愮粨鏋�
         // 澶勭悊鏁版嵁寮�濮�
         const d = res
         const nameList = [] // 瀛樻斁鍥句緥
@@ -148,19 +211,44 @@
           if (nameList.length === 0) {
             nameList.push(d[i].PoltmtrlName.trim())
             dateList.push(strDate)
-
+            this.dataStandard.push({
+              current: {
+                name: d[i].PoltmtrlName.trim(),
+                val: ''
+              },
+              standard: {
+                name: '鏍囧噯',
+                val: ''
+              }
+            })
             bzh.push(d[i].StdValue)
             data = {
               name: d[i].PoltmtrlName.trim(),
-              data: [d[i].MonQty]
+              data: []
+            }
+            if (d[i].MonQty !== null) {
+              data.data.push(d[i].MonQty)
             }
             dataList.push(data)
           } else if (nameList.indexOf(d[i].PoltmtrlName.trim()) < 0) {
             nameList.push(d[i].PoltmtrlName)
             bzh.push(d[i].StdValue)
+            this.dataStandard.push({
+              current: {
+                name: d[i].PoltmtrlName.trim(),
+                val: ''
+              },
+              standard: {
+                name: '鏍囧噯',
+                val: ''
+              }
+            })
             data = {
               name: d[i].PoltmtrlName.trim(),
-              data: [d[i].MonQty]
+              data: []
+            }
+            if (d[i].MonQty !== null) {
+              data.data.push(d[i].MonQty)
             }
             dataList.push(data)
           } else {
@@ -169,7 +257,7 @@
             }
             for (let j = 0; j < dataList.length; j++) {
               if (d[i].PoltmtrlName.trim() === dataList[j].name) {
-                dataList[j].data.push(d[i].MonQty)
+                if (d[i].MonQty !== null)dataList[j].data.push(d[i].MonQty)
               }
             }
           }
@@ -265,7 +353,10 @@
           }
           ydatas.push(ydata)
         }
-
+        for (var t = 0; t < this.dataStandard.length; t++) {
+          this.dataStandard[t].current.val = ydatas[t].data[ydatas[t].data.length - 1].toFixed(2)
+          this.dataStandard[t].standard.val = ydatas[t].bzz
+        }
         const yname = '娴撳害(mg/l)'
         this.effChartShow(legend, xdata, ydatas, yname, this.jcdID, this.datatype)
       }
@@ -273,7 +364,6 @@
     effChartShow (legend, xdata, ydatas, yname, jcdID, datatype) {
       this.chart = this.$echarts.init(this.$refs.echartsDay)
       this.chart.clear()
-      // console.log(this.chart)
       this.chart.clear()
       let dataUnit = ''
       if (datatype === 1) {
@@ -302,12 +392,14 @@
                       biaozhuiz = bzzList[i].bzhui
                     }
                   }
-                  if (c.value[1] > biaozhuiz) {
-                    return zdcbcolor
-                  } else if (c.value[1] > biaozhuiz * 0.9) {
-                    return '#FFA500'
-                  } else {
-                    return '#33c95f'
+                  if (c.value) {
+                    if (c.value[1] > biaozhuiz) {
+                      return zdcbcolor
+                    } else if (c.value[1] > biaozhuiz * 0.9) {
+                      return '#FFA500'
+                    } else {
+                      return '#33c95f'
+                    }
                   }
                 },
                 lineStyle: { // 鎶樼嚎鐨勯鑹�
@@ -544,6 +636,43 @@
       }
       this.chart.setOption(option)
       window.onresize = this.chart.resize
+    },
+    analysisResult (result) {
+      // 澶勭悊琛ㄦ牸澶�
+      const json = {}
+      const arr = []
+      // 澶勭悊琛ㄦ牸鍐呭
+      const bodyDataList = []
+      const dataMap = {}
+      for (let i = 0; i < result.length; i++) {
+        json[result[i].PoltmtrlName] = result[i].PoltmtrlName
+        const rgdata = result[i]
+        const timeTag = rgdata.MonTimeStr
+        if (!dataMap[timeTag]) {
+          dataMap[timeTag] = { MonTimeStr: '' + rgdata.MonTimeStr }
+        }
+        // 寰�鏁版嵁涓坊鍔犲睘鎬ф暟鎹�
+        const el = dataMap[timeTag]
+        el.OnLineMonEmissPointName = rgdata.OnLineMonEmissPointName
+        el[rgdata.PoltmtrlName + '_EmissQty'] = rgdata.EmissQty ? rgdata.EmissQty.toFixed(2) : '--'
+        el[rgdata.PoltmtrlName + '_MonQty'] = rgdata.MonQty ? rgdata.MonQty.toFixed(2) : '--'
+        el[rgdata.PoltmtrlName + '_StdValue'] = rgdata.StdValue ? rgdata.StdValue.toFixed(2) : '--'
+      }
+      let FSLLtemp = null
+      for (var key in json) {
+        if (key === '搴熸按娴侀噺' || key === '搴熸按') {
+          FSLLtemp = key
+        } else {
+          arr.push(key)
+        }
+      }
+      if (FSLLtemp != null) {
+        arr.push(FSLLtemp)
+      }
+      for (var p in dataMap) {
+        bodyDataList.push(dataMap[p])
+      }
+      return bodyDataList
     }
   }
 }
diff --git a/src/components/base-page/WasteWater/WasteWaterHoursChart.vue b/src/components/base-page/WasteWater/WasteWaterHoursChart.vue
index 2acfe80..6cdefb1 100644
--- a/src/components/base-page/WasteWater/WasteWaterHoursChart.vue
+++ b/src/components/base-page/WasteWater/WasteWaterHoursChart.vue
@@ -13,7 +13,14 @@
         <el-option v-for="(item,index) in formData.regionList" :key="index" :label="item" :value="item"></el-option>
       </el-select>
       <el-button @click="querySearch()">鏌ヨ</el-button>
-      <el-button>鏄庣粏琛�</el-button>
+      <el-popover
+          placement="top"
+          width="100%"
+          popper-class="popoverBoxStyle"
+          trigger="click">
+        <dynamic-table :tableData="tableData" :tableHeader="tableConfig" v-if="tableData"></dynamic-table>
+        <el-button slot="reference">鏄庣粏琛�</el-button>
+      </el-popover>
     </div>
     <div class="echarts-chart">
       <div ref="echartsHour"></div>
@@ -26,56 +33,21 @@
 import PublicDataStandard from '../PublicDataStandard'
 import dayjs from 'dayjs'
 import mapApi from '../../../api/mapApi'
+import DynamicTable from '../../../views/popup/DynamicHeader/DynamicTable' // 澶氱骇琛ㄥご
 
 export default {
   name: 'WasteWaterHoursChart',
   components: {
-    PublicDataStandard
+    PublicDataStandard,
+    DynamicTable
   },
   data () {
     return {
       // tab鏍忎紶閫掓帴鏀舵暟鎹�
-      dataStandard: [
-        {
-          current: {
-            name: '姘哀鍖栫墿',
-            val: 29.93
-          },
-          standard: {
-            name: '鏍囧噯',
-            val: 100
-          }
-        },
-        {
-          current: {
-            name: '浜屾哀鍖栫~',
-            val: 17.34
-          },
-          standard: {
-            name: '鏍囧噯',
-            val: 50
-          }
-        },
-        {
-          current: {
-            name: '鐑熷皹',
-            val: 6.93
-          },
-          standard: {
-            name: '鏍囧噯',
-            val: 30
-          }
-        },
-        {
-          current: {
-            name: '搴熸皵娴侀噺',
-            val: 123
-          },
-          standard: {
-            name: '',
-            val: null
-          }
-        }],
+      dataStandard: [],
+      popUpName: '',
+      tableData: null,
+      mingxiBoxHtml: '',
       formData: {
         region: '25',
         regionList: [25, 50, 75, 100],
@@ -87,7 +59,98 @@
       dataType: 2,
       bzz: null,
       bzzList: [],
-      bz: ''
+      bz: '',
+      // 琛ㄥご鏁版嵁
+      tableConfig: [
+        {
+          id: 100,
+          label: '鎺掓斁鐐�',
+          prop: 'OnLineMonEmissPointName'
+        },
+        {
+          id: 200,
+          label: '鐩戞祴鏃堕棿',
+          prop: 'MonTimeStr'
+        },
+        {
+          id: 300,
+          label: 'COD',
+          prop: 'PoltmtrlName',
+          children: [
+            {
+              id: 310,
+              label: '瀹炴祴鎺掓斁閲忥紙kg/h锛�',
+              prop: 'COD_EmissQty'
+            },
+            {
+              id: 320,
+              label: '瀹炴祴娴撳害锛坢g/l锛�',
+              prop: 'COD_MonQty'
+            },
+            {
+              id: 330,
+              label: '鏍囧噯鍊硷紙mg/l锛�',
+              prop: 'COD_StdValue'
+            }
+          ]
+        },
+        {
+          id: 400,
+          label: '姘ㄦ爱',
+          prop: 'PoltmtrlName',
+          children: [
+            {
+              id: 410,
+              label: '瀹炴祴鎺掓斁閲忥紙kg/h锛�',
+              prop: '姘ㄦ爱_EmissQty'
+            },
+            {
+              id: 420,
+              label: '瀹炴祴娴撳害锛坢g/l锛�',
+              prop: '姘ㄦ爱_MonQty'
+            },
+            {
+              id: 430,
+              label: '鏍囧噯鍊硷紙mg/l锛�',
+              prop: '姘ㄦ爱_StdValue'
+            }
+          ]
+        },
+        {
+          id: 500,
+          label: 'PH',
+          prop: 'PoltmtrlName',
+          children: [
+            {
+              id: 510,
+              label: '瀹炴祴鎺掓斁閲忥紙kg/h锛�',
+              prop: 'pH_EmissQty'
+            },
+            {
+              id: 520,
+              label: '瀹炴祴娴撳害锛坢g/l锛�',
+              prop: 'pH_MonQty'
+            },
+            {
+              id: 530,
+              label: '鏍囧噯鍊硷紙mg/l锛�',
+              prop: 'pH_StdValue'
+            }
+          ]
+        },
+        {
+          id: 600,
+          label: '搴熸按娴侀噺',
+          prop: '',
+          children: [
+            {
+              id: 610,
+              label: '瀹炴祴娴侀噺锛坢鲁/h锛�',
+              prop: '搴熸按娴侀噺_MonQty'
+            }
+          ]
+        }
+      ]
     }
   },
   mounted () {
@@ -105,18 +168,20 @@
         poltMtrlId: '',
         emissTypeId: '',
         onLineMonEmissPointId: 23,
-        monItemId: 28,
+        monItemId: '28,31,35', // 鐩戞祴椤�  COD銆佹皑姘�丳H
         beginTime: this.formData.startTime,
         endTime: this.formData.endTime,
         dataType: this.dataType
       }
       const result = (await mapApi.getQueryOnlineMonData(data)).Result.DataInfo
-      // console.log(result)
+      this.popUpName = result[0].OnLineMonEmissPointName
       this.get24HourDate(result)
     },
     // 缁樺埗灏忔椂鏁版嵁鎶樼嚎鍥�
     get24HourDate (result) {
       if (result.length > 0) {
+        this.dataStandard = []
+        this.tableData = this.analysisResult(result) // 灏忔椂鏄庣粏琛ㄨВ鏋愮粨鏋�
         const d = result
         const nameList = [] // 瀛樻斁鍥句緥
         const dateList = [] // 瀛樻斁鏃堕棿
@@ -170,24 +235,43 @@
               }
             }
           }
-
           if (nameList.length === 0) {
             nameList.push(d[i].PoltmtrlName.trim())
+            this.dataStandard.push({
+              current: {
+                name: d[i].PoltmtrlName.trim(),
+                val: 29.93
+              },
+              standard: {
+                name: '鏍囧噯',
+                val: 100
+              }
+            })
             dateList.push(strDate)
             if ((d[i].PoltmtrlName === '搴熸按娴侀噺' || d[i].PoltmtrlName === '搴熸按') && d[i].MonQty < 0) {
               d[i].MonQty = 0
             }
-            data.push(d[i].MonQty)
+            if (d[i].MonQty !== null)data.push(d[i].MonQty)
             bzh.push(d[i].StdValue)
           } else if (nameList.indexOf(d[i].PoltmtrlName.trim()) < 0) {
             nameList.push(d[i].PoltmtrlName)
+            this.dataStandard.push({
+              current: {
+                name: d[i].PoltmtrlName.trim(),
+                val: 29.93
+              },
+              standard: {
+                name: '鏍囧噯',
+                val: 100
+              }
+            })
             bzh.push(d[i].StdValue)
             dataList.push(data)
             data = []
             if ((d[i].PoltmtrlName === '搴熸按娴侀噺' || d[i].PoltmtrlName === '搴熸按') && d[i].MonQty < 0) {
               d[i].MonQty = 0
             }
-            data.push(d[i].MonQty)
+            if (d[i].MonQty !== null)data.push(d[i].MonQty)
           } else if (i === d.length - 1) {
             if ((d[i].PoltmtrlName === '搴熸按娴侀噺' || d[i].PoltmtrlName === '搴熸按') && d[i].MonQty < 0) {
               d[i].MonQty = 0
@@ -202,10 +286,9 @@
             if ((d[i].PoltmtrlName === '搴熸按娴侀噺' || d[i].PoltmtrlName === '搴熸按') && d[i].MonQty < 0) {
               d[i].MonQty = 0
             }
-            data.push(d[i].MonQty)
+            if (d[i].MonQty !== null)data.push(d[i].MonQty)
           }
         }
-
         const newList = []
 
         for (let i = 0; i < dataList.length; i++) {
@@ -291,7 +374,10 @@
         // console.log(ydatas)
 
         const yname = '娴撳害(mg/l)'
-
+        for (var t = 0; t < this.dataStandard.length; t++) {
+          this.dataStandard[t].current.val = ydatas[t].data[ydatas[t].data.length - 1].toFixed(2)
+          this.dataStandard[t].standard.val = ydatas[t].bzz
+        }
         this.effChartShow(legend, xdata, ydatas, yname, this.jcdID, this.datatype)
       }
     },
@@ -570,6 +656,43 @@
       }
       this.chart.setOption(option)
       window.onresize = this.chart.resize
+    },
+    analysisResult (result) {
+      // 澶勭悊琛ㄦ牸澶�
+      const json = {}
+      const arr = []
+      // 澶勭悊琛ㄦ牸鍐呭
+      const bodyDataList = []
+      const dataMap = {}
+      for (let i = 0; i < result.length; i++) {
+        json[result[i].PoltmtrlName] = result[i].PoltmtrlName
+        const rgdata = result[i]
+        const timeTag = rgdata.MonTimeStr
+        if (!dataMap[timeTag]) {
+          dataMap[timeTag] = { MonTimeStr: '' + rgdata.MonTimeStr }
+        }
+        // 寰�鏁版嵁涓坊鍔犲睘鎬ф暟鎹�
+        const el = dataMap[timeTag]
+        el.OnLineMonEmissPointName = rgdata.OnLineMonEmissPointName
+        el[rgdata.PoltmtrlName + '_EmissQty'] = rgdata.EmissQty ? rgdata.EmissQty.toFixed(2) : '--'
+        el[rgdata.PoltmtrlName + '_MonQty'] = rgdata.MonQty ? rgdata.MonQty.toFixed(2) : '--'
+        el[rgdata.PoltmtrlName + '_StdValue'] = rgdata.StdValue ? rgdata.StdValue.toFixed(2) : '--'
+      }
+      let FSLLtemp = null
+      for (var key in json) {
+        if (key === '搴熸按娴侀噺' || key === '搴熸按') {
+          FSLLtemp = key
+        } else {
+          arr.push(key)
+        }
+      }
+      if (FSLLtemp != null) {
+        arr.push(FSLLtemp)
+      }
+      for (var p in dataMap) {
+        bodyDataList.push(dataMap[p])
+      }
+      return bodyDataList
     }
   }
 }
diff --git a/src/components/base-page/WasteWater/WasteWaterIndex.vue b/src/components/base-page/WasteWater/WasteWaterIndex.vue
index 0e8c77a..d5c3167 100644
--- a/src/components/base-page/WasteWater/WasteWaterIndex.vue
+++ b/src/components/base-page/WasteWater/WasteWaterIndex.vue
@@ -84,26 +84,26 @@
   display: flex;
   align-items: center;
   justify-content: space-between;
-  padding: 5px 0;
+  padding-left: 0.07rem;
   border-bottom: 1px #243a55 solid;
-
   .navigation-left {
     display: flex;
     align-items: center;
 
     .uncheck {
-      margin: 0 10px;
       cursor: pointer;
-      padding: 5px;
+      margin-left: -0.05rem;
+      width: .8rem;
+      padding: 6px 0;
       /*border: 1px solid #2b87c8;*/
       /*border-radius: 4px;*/
+      background-position: 0 0;
+      background-repeat: no-repeat;
+      background-size: 100% 100%;
+      background-image: url("../../../../public/assets/images/map-pages/title_bg.png");
       text-align: center;
       vertical-align: middle !important;
       color: #fff;
-      -webkit-transform: skew(30deg);
-      -moz-transform: skew(30deg);
-      -o-transform: skew(30deg);
-      transform: skew(15deg);
     }
 
     .default-uncheck {
@@ -113,15 +113,13 @@
     }
 
     .hover {
-      background-color: #0e539e;
+      background-image: url("../../../../public/assets/images/map-pages/title_bg2.png");
       color: #ffffff;
       cursor: pointer;
     }
 
     .hover:hover {
       cursor: pointer;
-      padding: 5px;
-      border: 1px solid #5F9EA0;
       border-radius: 4px;
       text-align: center;
       color: #F0FFFF;
@@ -129,7 +127,6 @@
   }
 
   .navigation-left :hover {
-    background-color: #0e639e;
     color: #fff;
     cursor: pointer;
   }
diff --git a/src/components/base-page/enterprise-emergency/events-reported/EventsReported.vue b/src/components/base-page/enterprise-emergency/events-reported/EventsReported.vue
index 85d1972..71adc84 100644
--- a/src/components/base-page/enterprise-emergency/events-reported/EventsReported.vue
+++ b/src/components/base-page/enterprise-emergency/events-reported/EventsReported.vue
@@ -127,8 +127,8 @@
                 </el-form-item>
             </div>
             <el-form-item class="confirmCancel">
-                <el-button type="primary" @click="submitForm('ruleForm')">纭</el-button>
-                <el-button @click="resetForm('ruleForm')">鍙栨秷</el-button>
+                <el-button type="primary" size="small" @click="submitForm('ruleForm')">纭</el-button>
+                <el-button size="small" @click="resetForm('ruleForm')">鍙栨秷</el-button>
             </el-form-item>
         </el-form>
         <el-dialog
diff --git a/src/components/base-page/enterprise-emergency/events-reported/ReportLocationPoint.vue b/src/components/base-page/enterprise-emergency/events-reported/ReportLocationPoint.vue
index 96388b5..58c1bc9 100644
--- a/src/components/base-page/enterprise-emergency/events-reported/ReportLocationPoint.vue
+++ b/src/components/base-page/enterprise-emergency/events-reported/ReportLocationPoint.vue
@@ -3,28 +3,42 @@
         <el-row class="place-box">
             <div class="place-left">
                 <el-form :model="LongLatPos" label-width="90px">
-                    <el-form-item label="缁忓害:">
-                        <el-input v-model="LongLatPos.longPos"></el-input>
-                    </el-form-item>
-                    <el-form-item label="绾害:">
-                        <el-input v-model="LongLatPos.latPos"></el-input>
-                    </el-form-item>
+                    <el-row style="display: flex;align-items: center">
+                        <el-form-item label="缁忓害:" style="display: inline-block">
+                            <el-col :span="20">
+                                <el-input v-model="LongLatPos.longPos"></el-input>
+                            </el-col>
+                        </el-form-item>
+                        <el-col :span="4">
+                            <el-button type="primary" size="small" @click="mapPoints">鐐瑰嚮瀹氫綅</el-button>
+                        </el-col>
+                    </el-row>
+                    <el-row style="display: flex;align-items: center">
+                        <el-form-item label="绾害:">
+                            <el-col :span="20">
+                                <el-input v-model="LongLatPos.latPos"></el-input>
+                            </el-col>
+                        </el-form-item>
+                        <el-col :span="4">
+                            <el-button type="primary" size="small" @click="dataPoints">鏁版嵁瀹氫綅</el-button>
+                        </el-col>
+                    </el-row>
                 </el-form>
             </div>
-            <div class="place-right">
-                <el-button type="primary" size="small" @click="mapPoints">鐐瑰嚮瀹氫綅</el-button>
-                <el-button type="primary" size="small" @click="dataPoints">鏁版嵁瀹氫綅</el-button>
-            </div>
+            <!--            <div class="place-right">-->
+            <!--                <el-button type="primary" size="small" @click="mapPoints">鐐瑰嚮瀹氫綅</el-button>-->
+            <!--                <el-button type="primary" size="small" @click="dataPoints">鏁版嵁瀹氫綅</el-button>-->
+            <!--            </div>-->
         </el-row>
         <div class="place-bottom" style="text-align: right;margin: 5px">
-            <el-button type="primary" @click="confirm">纭</el-button>
+            <el-button type="primary" @click="confirm" size="small">纭</el-button>
         </div>
     </div>
 </template>
 
 <script>
 import { pulseEffect } from '../../../../utils/utils'
-import iconUrl from '../../../../../public/assets/images/map/loc.png'
+import iconUrl from '../../../../../public/assets/images/map/marker-icon.png'
 import eventBus from '../../../../eventBus'
 
 export default {
@@ -52,7 +66,7 @@
         this.marker = window.L.marker(as, {
           icon: window.L.icon({
             iconUrl: iconUrl,
-            iconSize: [30, 30],
+            iconSize: [25, 45],
             iconAnchor: [15, 15]
           })
         })
diff --git a/src/components/base-page/enterprise-emergency/events-reported/ReportLocationSearch.vue b/src/components/base-page/enterprise-emergency/events-reported/ReportLocationSearch.vue
index 709627b..fbd79d3 100644
--- a/src/components/base-page/enterprise-emergency/events-reported/ReportLocationSearch.vue
+++ b/src/components/base-page/enterprise-emergency/events-reported/ReportLocationSearch.vue
@@ -3,23 +3,45 @@
         <el-row>
             <el-input type="text" v-model="clickLocation" clearable @change="focusLocation"></el-input>
         </el-row>
-        <el-scrollbar style="height:86.22px">
-            <el-row v-for="(item,index) in searchList" :key="index" style="display: flex;align-items: center">
-                <el-col :span="12">
-                    <span>{{ item.name }}</span>
-                </el-col>
-                <el-col :span="12">
-                    <el-button type="primary" size="mini" icon="el-icon-position" @click="locationMapClick(item)">瀹氫綅
-                    </el-button>
-                </el-col>
-                <!--            <el-pagination-->
-                <!--                    layout="prev, pager, next"-->
-                <!--                    :total="50">-->
-                <!--            </el-pagination>-->
-            </el-row>
-        </el-scrollbar>
+        <!--        <el-scrollbar style="height:250.34px">-->
+        <el-row v-for="(item,index) in searchList.slice((currentPage-1)*pageSize,currentPage*pageSize)" :key="index"
+                style="display: flex;align-items: center;margin: 0.1343rem 15px;text-align: left"
+                class="environmental-risk-list">
+            <el-col :span="4">
+                <img src="../../../../../public/assets/images/map/marker-icon.png" alt="" class="state"
+                     style="background: none;margin: 0 15px">
+            </el-col>
+            <el-col :span="12">
+                <div class=search-list>
+                    <!--                        <h4 :class="activeNum===index?'hover':''" @click="handleLocation(index)">鍚嶇О锛�<h3 style="display: inline-block">{{ item.name }}</h3></h4>-->
+                    <h3 :class="activeNum===index?'hover':''" @click="handleLocation(index)">鍚嶇О锛歿{ item.name }}</h3>
+                    <p style="text-overflow: ellipsis;white-space: nowrap;overflow: hidden">鍦板潃锛�<span>{{ item.address }}</span>
+                    <p>鐢佃瘽锛�<span>{{ item.phone }}</span></p>
+                </div>
+            </el-col>
+            <el-col :span="8" style="text-align: right">
+                <el-button type="primary" size="mini" icon="el-icon-position" @click="locationMapClick(item,index)">
+                    瀹氫綅
+                </el-button>
+            </el-col>
+        </el-row>
+        <!--        </el-scrollbar>-->
+        <!--        <el-card class="footer-page" >-->
+        <div v-if="total > 10">
+            <el-pagination
+                    small
+                    @current-change="handlePage"
+                    :page-size=pageSize
+                    :current-page.sync="currentPage"
+                    layout="prev, pager, next"
+                    :total=total
+                    class="warnPagination"
+            >
+            </el-pagination>
+        </div>
+        <!--        </el-card>-->
         <el-row style="text-align: right">
-            <el-button type="primary" @click="confirm">纭</el-button>
+            <el-button type="primary" size="small" @click="confirm">纭</el-button>
         </el-row>
     </div>
 </template>
@@ -29,24 +51,34 @@
 import { reportLocationSearch } from '../../../../api/request'
 import { pulseEffect } from '../../../../utils/utils'
 import eventBus from '../../../../eventBus'
-import iconUrl from '../../../../../public/assets/images/map/loc.png'
+import iconUrl from '../../../../../public/assets/images/map/marker-icon.png'
 
 export default {
   name: 'ReportLocationSearch',
   data () {
     return {
+      activeNum: -1,
       // 鐐瑰嚮瀹氫綅缁戝畾鏁版嵁
       clickLocation: '',
       searchList: [],
-      marker: null
+      marker: null,
+      total: 0,
+      // 鍒嗛〉 榛樿灞曠ず
+      currentPage: 1,
+      // 鍒嗛〉 姣忛〉澶氬皯鏁版嵁
+      pageSize: 3
     }
   },
   methods: {
+    handlePage (currentPage) {
+      // this.focusLocation()
+      this.currentPage = currentPage
+    },
+    handleLocation (index) {
+      this.activeNum = index
+    },
     // 鎼滅储瀹氫綅
     focusLocation () {
-      // console.log(this.clickLocation)
-      // console.log(window.map.getZoom())
-      // console.log(window.map.getBounds())
       const getBoundsData = '' + window.map.getBounds()._southWest.lng + ',' + window.map.getBounds()._southWest.lat + ',' + window.map.getBounds()._northEast.lng + ',' + window.map.getBounds()._northEast.lat
       const data = {
         postStr: {
@@ -60,45 +92,33 @@
         },
         type: 'query'
       }
-      // console.log(data)
       reportLocationSearch(data).then(res => {
-        // console.log(res)
+        console.log(res)
         this.searchList = res.pois
-        // console.log(this.searchList)
-        // const as = res.pois[0].lonlat.trim().split(' ')
-        // window.map.setView([as[1], as[0]], 17)
-        // pulseEffect([as[1], as[0]])
-        // for (let i = 0; i < res.pois.length; i++) {
-        //   const as = res.pois[i].lonlat.trim().split(' ')
-        //   if (res.pois[i].name.indexOf(this.clickLocation) >= 0) {
-        //     window.map.setView([as[1], as[0]], 17)
-        //     pulseEffect([as[1], as[0]])
-        //   }
-        // }
+        this.total = res.pois.length
       })
-      this.clickLocation = ''
     },
     // 鐐瑰嚮瀹氫綅
-    locationMapClick (val) {
-      console.log(val)
+    locationMapClick (val, index) {
+      this.activeNum = index
+      // console.log(val)
       const ps = val.lonlat.trim().split(' ')
-      // const htmls = '<div><ul><li>' + val.name + '</li> + <li>' + val.adress + '</li></ul></div>'
+      // const htmls = '<div><ul><li>' + val.name + '</li></ul></div>'
       // var myIcon = window.L.divIcon({
       //   html: htmls,
       //   className: 'company-bindTooltip',
       //   iconSize: 16
       // })
-      const htmls = '<div><ul><li>' + val.name + '</li> <br/> <li>' + val.address + '</li> <br/> <li>' + val.phone + '</li></ul></div>'
       this.marker = window.L.marker([ps[1], ps[0]], {
         icon: window.L.icon({
           iconUrl: iconUrl,
-          iconSize: [30, 30],
+          iconSize: [25, 40],
           iconAnchor: [15, 15]
         })
         // icon: myIcon
       })
-        .bindTooltip(htmls, {
-          // permanent: 'true',
+        .bindTooltip(val.name, {
+          permanent: 'true',
           direction: 'bottom',
           offset: [0, 10],
           sticky: true,
@@ -127,8 +147,27 @@
     /*    height: 10px;*/
     /*    max-height: 10px;*/
     /*}*/
-    .div-list-search {
+    .environmental-risk-list {
+        color: @color;
+        border-bottom: 1px solid rgba(0, 255, 246, 0.14);
 
+        h3 {
+            font-size: 0.1rem;
+        }
+    }
+
+    /*<!--.environmental-risk-list:hover {-->*/
+    /*<!--    color: @color-highlight;-->*/
+    /*<!--    background: @background-color;-->*/
+    /*<!--}-->*/
+    .search-list {
+        h3:hover {
+            color: @color-highlight;
+        }
+    }
+
+    .hover {
+        color: @color-highlight;
     }
 
     .click-location {
@@ -144,4 +183,53 @@
             margin: 15px auto;
         }
     }
+
+    /deep/
+    .warnPagination {
+        .btn-quicknext, .btn-quickprev {
+            color: #e4e8f1 !important;
+            background-color: transparent;
+            // border: 1px solid #25AECD;
+            border-left: 1px solid #25AECD;
+            border-bottom: 1px solid #25AECD;
+            border-top: 1px solid #25AECD;
+            color: #e4e8f1;
+        }
+
+        .el-pager li {
+            color: #e4e8f1;
+            background: transparent;
+            // border: 1px solid #25AECD;
+            border-left: 1px solid #25AECD;
+            border-bottom: 1px solid #25AECD;
+            border-top: 1px solid #25AECD;
+        }
+
+        .el-pager li.active {
+            border-color: #25AECD;
+            background-color: rgba(38, 222, 253, 0.3);
+            color: #e4e8f1;
+        }
+
+        .el-pager li:hover {
+            border-color: #25AECD;
+            background-color: rgba(38, 222, 253, 0.3);
+            color: #34e0ff;
+        }
+
+        .btn-prev {
+            background-color: transparent;
+            // border: 1px solid #25AECD;
+            border-left: 1px solid #25AECD;
+            border-bottom: 1px solid #25AECD;
+            border-top: 1px solid #25AECD;
+            color: #e4e8f1;
+        }
+
+        .btn-next {
+            background-color: transparent;
+            border: 1px solid #25AECD;
+            color: #e4e8f1;
+        }
+    }
 </style>
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 b7e9d69..3e9cbff 100644
--- a/src/components/base-page/enterprise-emergency/events-reported/ReportLocationSection.vue
+++ b/src/components/base-page/enterprise-emergency/events-reported/ReportLocationSection.vue
@@ -1,6 +1,6 @@
 <template>
     <div class="ReportLocationSection">
-        <el-form :model="form" label-width="90px">
+        <el-form :model="form" label-width="120px">
             <el-row class="pipe-line-search">
                 <el-col :span="12">
                     <el-form-item label="绠$嚎鍚嶇О:">
@@ -17,14 +17,21 @@
                 </el-col>
             </el-row>
             <el-row>
-                <el-col :span="12">
+                <el-col :span="24">
                     <el-form-item label="绠℃缂栫爜:">
                         <el-input v-model="form.sectionName" disabled></el-input>
                     </el-form-item>
                 </el-col>
+            </el-row>
+            <el-row>
                 <el-col :span="12">
-                    <el-form-item label="闄勫睘璁炬柦:">
+                    <el-form-item label="闄勫睘璁炬柦鍚嶇О:">
                         <el-input v-model="form.affiliatedFacilities" disabled></el-input>
+                    </el-form-item>
+                </el-col>
+                <el-col :span="12">
+                    <el-form-item label="闄勫睘璁炬柦缂栫爜:">
+                        <el-input v-model="form.affiliatedFacilitiesCode" disabled></el-input>
                     </el-form-item>
                 </el-col>
             </el-row>
@@ -141,7 +148,7 @@
             </el-card>
         </div>
         <el-row style="text-align: right;margin: 10px">
-            <el-button type="primary" @click="confirm">纭</el-button>
+            <el-button type="primary" @click="confirm" size="small">纭</el-button>
         </el-row>
     </div>
 </template>
@@ -160,7 +167,8 @@
       form: {
         pipeName: '',
         sectionName: '',
-        affiliatedFacilities: ''
+        affiliatedFacilities: '',
+        affiliatedFacilitiesCode: ''
       },
       // 绠$嚎鏌ヨ鏁版嵁鍒楄〃
       tableList: [],
@@ -196,57 +204,72 @@
         this.tableList = res.features
       }
       this.wfsHelper = new WfsHelper()
-      this.form.pipeName = ''
+      // this.form.pipeName = ''
       this.form.sectionName = ''
       this.form.affiliatedFacilities = ''
+      this.form.affiliatedFacilitiesCode = ''
     },
     // 鐐瑰嚮绠$嚎鍒楄〃 灞曠ず绠℃鍐呭 鍜岄檮灞炶鏂藉唴瀹�
-    async sectionShowClick (val) {
-      console.log(val)
-      // 濡傛灉 SectionAndAffFacTableJudge === true 鏄悳绱㈡暟鎹粨鏋滅殑鍒楄〃 鍙互杩涜 绠℃ 闄勫睘璁炬柦浜や簰 鐐瑰嚮瀹氫綅鏌ヨ缁撴灉 涓嶈繘琛岀偣鍑讳氦浜�
+    sectionShowClick (val) {
+      // console.log(val)
+      // this.SectionAndAffFacTableJudge = true
       if (this.SectionAndAffFacTableJudge === true) {
-        // 绠℃鏌ヨ
-        const sectionNameSearch = val.properties.pipename
-        this.tableListSection = []
-        this.wfsHelper.clearFilter()
-        this.wfsHelper.setTypeName(['sewer:pipesegment'])
-        this.wfsHelper.addLike('pipename', sectionNameSearch)
-        this.wfsHelper.addEquals('pipename', '\'' + sectionNameSearch + '\'')
-        const res = await AjaxUtils.GetDataAsynByUrl(this.wfsHelper.getUrl(), {})
-        // console.log(res)
-        if (res instanceof Object && Object.prototype.hasOwnProperty.call(res, 'features')) {
-          this.tableListSection = res.features
-        }
-        this.wfsHelper = new WfsHelper()
-        // 闄勫睘璁炬柦鏌ヨ
-        this.tableDataAffFac = []
-        const AffFacSearch = val.properties.pipecode
-        console.log(AffFacSearch)
-        this.wfsHelper.clearFilter()
-        this.wfsHelper.setTypeName(['sewer:view_pipeline'])
-        this.wfsHelper.addLike('pipecode', AffFacSearch)
-        // this.wfsHelper.addEquals('type', '\'' + AffFacSearch + '\'')
-        const resAffFac = await AjaxUtils.GetDataAsynByUrl(this.wfsHelper.getUrl(), {})
-        console.log(resAffFac)
-        if (resAffFac instanceof Object && Object.prototype.hasOwnProperty.call(resAffFac, 'features')) {
-          // for (let i = 0; i < resAffFac.features.length; i++) {
-          //   // console.log(resAffFac.features[i])
-          //   this.tableDataAffFac.push(resAffFac.features[i].properties)
-          // }
-          this.tableDataAffFac = resAffFac.features
-        }
-        this.wfsHelper = new WfsHelper()
+        this.searchSection(val)
+        this.searchAffFacData(val)
+      }
+    },
+    // 绠℃鏌ヨ
+    async searchSection (val) {
+      const sectionNameSearch = val.properties.pipename
+      this.tableListSection = []
+      this.wfsHelper.clearFilter()
+      this.wfsHelper.setTypeName(['sewer:pipesegment'])
+      this.wfsHelper.addLike('pipename', sectionNameSearch)
+      this.wfsHelper.addEquals('pipename', '\'' + sectionNameSearch + '\'')
+      const res = await AjaxUtils.GetDataAsynByUrl(this.wfsHelper.getUrl(), {})
+      // console.log(res)
+      if (res instanceof Object && Object.prototype.hasOwnProperty.call(res, 'features')) {
+        this.tableListSection = res.features
+      }
+    },
+    // 闄勫睘璁炬柦鏌ヨ
+    async searchAffFacData (val) {
+      this.tableDataAffFac = []
+      const AffFacSearch = val.properties.pipecode
+      this.wfsHelper.clearFilter()
+      this.wfsHelper.setTypeName(['sewer:view_pipeline'])
+      this.wfsHelper.addLike('pipecode', AffFacSearch)
+      // this.wfsHelper.addEquals('type', '\'' + AffFacSearch + '\'')
+      const resAffFac = await AjaxUtils.GetDataAsynByUrl(this.wfsHelper.getUrl(), {})
+      console.log(resAffFac)
+      if (resAffFac instanceof Object && Object.prototype.hasOwnProperty.call(resAffFac, 'features')) {
+        this.tableDataAffFac = resAffFac.features
+      }
+    },
+    // 鎼滅储鐨勫叕鍏辨柟娉曚紭鍖�
+    async publicSearch (searchVal, searchKeyword, searchTypeName, tableListData) {
+      tableListData = []
+      this.wfsHelper = new WfsHelper()
+      this.wfsHelper.clearFilter()
+      this.wfsHelper.setTypeName(searchTypeName)
+      this.wfsHelper.addLike(searchKeyword, searchVal)
+      this.wfsHelper.addEquals(searchKeyword, '\'' + searchVal + '\'')
+      const res = await AjaxUtils.GetDataAsynByUrl(this.wfsHelper.getUrl(), {})
+      // console.log(res)
+      if (res instanceof Object && Object.prototype.hasOwnProperty.call(res, 'features')) {
+        tableListData = res.features
       }
     },
     // 鐐瑰嚮绠℃鍒楄〃 绠℃缂栫爜浼犻��
     sectionCode (val) {
       // console.log(val)
-      this.form.sectionName = val.properties.pipecode
+      this.form.sectionName = val.properties.pipesegcode
     },
     // 鐐瑰嚮闄勫睘璁炬柦鍒楄〃 绠℃缂栫爜浼犻��
     affFacName (val) {
-      // console.log(val)
+      console.log(val)
       this.form.affiliatedFacilities = val.properties.name
+      this.form.affiliatedFacilitiesCode = val.properties.code
     },
     // 瀹氫綅鍔熻兘
     localAdr (val) {
@@ -258,23 +281,27 @@
     pipeClickLocation () {
       // 璁炬柦涓嶈繘琛� 绠$嚎琛ㄦ牸鏁版嵁鐨勭偣鍑讳氦浜�
       this.SectionAndAffFacTableJudge = false
-      // 鐐瑰嚮鑾峰彇鏁版嵁
-      window.map.on('click', (e) => {
-        // 鐐瑰嚮鍦板浘鍏抽棴寮规
-        window.mapManager.clickDialogSwitch = false
-        // 绠$嚎鐐瑰嚮鏁版嵁
-        this.pipeData(e)
-        // 绠℃鐐瑰嚮鏁版嵁
-        this.sectionData(e)
-        // 闄勫睘璁炬柦鏁版嵁
-        this.affFacData(e)
-        // 鍏抽棴鐐瑰嚮浜嬩欢
-        window.map.off('click')
-      })
+      if (this.SectionAndAffFacTableJudge === false) {
+        // 鐐瑰嚮鑾峰彇鏁版嵁
+        window.map.on('click', (e) => {
+          this.SectionAndAffFacTableJudge = false
+          // 鐐瑰嚮鍦板浘鍏抽棴寮规
+          window.mapManager.clickDialogSwitch = false
+          // 绠$嚎鐐瑰嚮鏁版嵁
+          this.pipeData(e)
+          // 绠℃鐐瑰嚮鏁版嵁
+          this.sectionData(e)
+          // 闄勫睘璁炬柦鏁版嵁
+          this.affFacData(e)
+          // 鍏抽棴鐐瑰嚮浜嬩欢
+          window.map.off('click')
+        })
+      }
       // 鏁版嵁 閲嶆柊鑾峰彇 杩涜缃┖
       this.form.pipeName = ''
       this.form.sectionName = ''
       this.form.affiliatedFacilities = ''
+      this.form.affiliatedFacilitiesCode = ''
       this.tableList = []
       this.tableListSection = []
       this.tableDataAffFac = []
@@ -317,7 +344,7 @@
         BBOX: window.map.getBounds().toBBoxString()
       }, defaultWmsParams)
       AjaxUtils.get4JsonDataByUrl(WMS_URL, wmsParams, (res) => {
-        console.log(res)
+        // console.log(res)
         for (let i = 0; i < res.data.features.length; i++) {
           dataList.push(res.data.features[i])
         }
diff --git a/src/components/panel/topicSearch/enterprise-emergency/EventQuery.vue b/src/components/panel/topicSearch/enterprise-emergency/EventQuery.vue
index 860f6e1..c1b30ae 100644
--- a/src/components/panel/topicSearch/enterprise-emergency/EventQuery.vue
+++ b/src/components/panel/topicSearch/enterprise-emergency/EventQuery.vue
@@ -66,7 +66,7 @@
                 <i class="state"></i>
                 <div>
                     <h3>
-                        <span @click="disposalfx">浠跺悕绉�:XXX浜嬩欢</span>
+                        <span @click="disposalfx">浜嬩欢鍚嶇О:XXX浜嬩欢</span>
                         <el-button class="rt btn00fff6" size="mini" style="margin-right: 0.04rem;"
                                    @click="startAnalysis">
                             <span>寮�濮嬪垎鏋�</span>
diff --git a/src/components/table/components/tabHandover.vue b/src/components/table/components/tabHandover.vue
index 0a92b64..c3e087a 100644
--- a/src/components/table/components/tabHandover.vue
+++ b/src/components/table/components/tabHandover.vue
@@ -19,7 +19,7 @@
 import EnvironmentalRisk from '@components/table/components/EnvironmentalRisk'
 import Pipeline from '@components/table/components/Pipeline'
 import CorporateEmergency from '@components/table/components/CorporateEmergency'
-import { TopicList } from '../../../conf/Topic'
+import { topicList } from '../../../conf/Topic'
 export default {
   name: 'tabHandover',
   components: {
@@ -36,7 +36,7 @@
     return {
       titleProp: '',
       activeName: '姹℃煋婧�',
-      topicList: TopicList, // tab椤�
+      topicList: topicList, // tab椤�
       gcComp: PollutionSource
     }
   },
diff --git a/src/conf/Constants.js b/src/conf/Constants.js
index 3abd745..af7e312 100644
--- a/src/conf/Constants.js
+++ b/src/conf/Constants.js
@@ -17,12 +17,12 @@
 }
 
 export const logicMapper = {
-  wasteGasPfk: 'WasteGas.js',
-  wasteWaterPfk: 'WasteWater.js',
-  wasteSolidCcd: 'WasteSolid.js',
+  wasteGasPfk: 'WasteGas.js', // 搴熸皵
+  wasteWaterPfk: 'WasteWater.js', // 搴熸按
+  wasteSolidCcd: 'WasteSolid.js', // 鍥哄簾
   sewersAreaGs: 'Company.js',
   pipesegment: 'PipeLineAnimal.js',
-  pollutionSources: 'SourcesPollution.js',
+  pollutionSourcesZlss: 'GovernEquipment.js', // 姹℃煋婧�-娌荤悊璁炬柦
   envRiskChart: 'EnvironmentRisk.js', // 椋庨櫓缁熻鍥�
   envRiskMajor: 'RiskSource.js', // 閲嶅ぇ椋庨櫓婧�
   envRiskFirst: 'RiskSource.js', // 涓�绾ч闄╂簮
diff --git a/src/conf/layers/LayerEnvRisk.js b/src/conf/layers/LayerEnvRisk.js
index 1ca0e15..983fe54 100644
--- a/src/conf/layers/LayerEnvRisk.js
+++ b/src/conf/layers/LayerEnvRisk.js
@@ -26,7 +26,7 @@
       name: '閲嶅ぇ椋庨櫓',
       sname: '閲嶅ぇ椋庨櫓',
       checked: false, // 榛樿閫変腑鐘舵��
-      minZoom: 10,
+      // minZoom: 10,
       color: 'red',
       level: 0
     },
@@ -36,7 +36,7 @@
       sname: '涓�绾ч闄�',
       checked: false, // 榛樿閫変腑鐘舵��
       type: 0,
-      minZoom: 10,
+      // minZoom: 10,
       color: 'sandybrown',
       level: 1
     },
@@ -46,7 +46,7 @@
       sname: '浜岀骇椋庨櫓',
       checked: false,
       type: 0,
-      minZoom: 10,
+      // minZoom: 10,
       color: 'yellow',
       level: 2
     },
@@ -56,7 +56,7 @@
       sname: '涓夌骇椋庨櫓',
       checked: false,
       type: 0,
-      minZoom: 10,
+      // minZoom: 10,
       color: 'green',
       level: 3
     }
diff --git a/src/views/popup/DynamicHeader/DynamicTable.vue b/src/views/popup/DynamicHeader/DynamicTable.vue
new file mode 100644
index 0000000..a115ba1
--- /dev/null
+++ b/src/views/popup/DynamicHeader/DynamicTable.vue
@@ -0,0 +1,43 @@
+<template>
+  <el-table :data="tableData" border :height="height">
+    <template v-for="item in tableHeader">
+      <table-column v-if="item.children && item.children.length" :key="item.id" :coloumn-header="item"></table-column>
+      <el-table-column v-else :key="item.id" :label="item.label" :prop="item.prop" align="center"></el-table-column>
+    </template>
+  </el-table>
+</template>
+
+<script>
+import TableColumn from './TableColumn'
+export default {
+  props: {
+    // 琛ㄦ牸鐨勬暟鎹�
+    tableData: {
+      type: Array,
+      required: true
+    },
+    // 澶氱骇琛ㄥご鐨勬暟鎹�
+    tableHeader: {
+      type: Array,
+      required: true
+    },
+    // 琛ㄦ牸鐨勯珮搴�
+    height: {
+      type: String,
+      default: '340'
+    }
+  },
+  components: {
+    TableColumn
+  },
+  watch: {
+    tableData (val, oldVal) {
+      this.tableData = val
+    }
+  }
+}
+</script>
+
+<style scoped>
+
+</style>
diff --git a/src/views/popup/DynamicHeader/TableColumn.vue b/src/views/popup/DynamicHeader/TableColumn.vue
new file mode 100644
index 0000000..be2ea78
--- /dev/null
+++ b/src/views/popup/DynamicHeader/TableColumn.vue
@@ -0,0 +1,24 @@
+<template>
+  <el-table-column :label="coloumnHeader.label" :prop="coloumnHeader.label" align="center">
+    <template v-for="item in coloumnHeader.children">
+      <tableColumn v-if="item.children && item.children.length" :key="item.id" :coloumn-header="item"></tableColumn>
+      <el-table-column v-else :key="item.name" :label="item.label" :prop="item.prop" align="center"></el-table-column>
+    </template>
+  </el-table-column>
+</template>
+
+<script>
+export default {
+  name: 'tableColumn',
+  props: {
+    coloumnHeader: {
+      type: Object,
+      required: true
+    }
+  }
+}
+</script>
+
+<style scoped>
+
+</style>

--
Gitblit v1.8.0