From 8bb474b9fcf3f964d7937bcb2c3e7bb2d139bf7c Mon Sep 17 00:00:00 2001
From: chenyabin <Chenab123!>
Date: 星期三, 07 四月 2021 09:24:54 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/develop' into develop

---
 src/conf/layers/LayerPipeLines.js                                         |    4 
 src/components/panel/topicSearch/GasWasteSearch.vue                       |   15 
 src/assets/css/map/map-panel-style.less                                   |   61 ++-
 src/conf/layers/LayerAirQuality.js                                        |   20 +
 src/api/mapApi.js                                                         |    5 
 src/conf/LayerPipeLine.js                                                 |   13 
 src/components/BaseNav/PublicBounced/GasComponents/PublicDetailedList.vue |   51 +++
 src/components/panel/topicSearch/DischargeSearch.vue                      |   24 
 src/Sgis.js                                                               |   17 
 src/conf/layers/LayerBasin.js                                             |   44 ++
 src/views/baseInfoMgr/pipeline/PipeLineIndex.vue                          |   13 
 src/conf/layers/LayerWasteSolid.js                                        |    2 
 src/components/panel/topicSearch/EnvRiskSearch.vue                        |   48 +-
 src/components/LayerController/service/WfsLayerService.js                 |   24 
 src/components/BaseNav/PublicBounced/GasComponents/ECharts.vue            |   47 ++
 src/conf/Constants.js                                                     |   12 
 src/conf/layers/LayerEnvRisk.js                                           |   52 +++
 src/components/BaseNav/PublicBounced/GasComponents/PublicTabs.vue         |  113 ++++--
 src/components/panel/RightSearchPanel.vue                                 |    8 
 src/components/LayerController/logic/WasteGas.js                          |   21 
 src/components/BaseNav/PublicBounced/GasComponents/PublicChart.vue        |    2 
 src/conf/LayerTopic.js                                                    |   16 +
 src/components/BaseNav/PublicBounced/GasComponents/PublicTable.vue        |   30 +
 src/views/MapTemplate.vue                                                 |   89 -----
 src/components/LayerController/service/LayerFactory.js                    |   13 
 src/api/mapUrl.js                                                         |    1 
 src/components/LayerController/LayerController.vue                        |   20 -
 src/components/BaseNav/PublicBounced/PublicBounced.vue                    |   20 
 src/components/LayerController/modules/LcServiceLayer.vue                 |   31 +
 src/components/panel/topicSearch/SolidWasteSearch.vue                     |    1 
 src/conf/layers/LayerSewers.js                                            |   16 
 /dev/null                                                                 |   21 -
 src/components/BaseNav/PublicBounced/GasComponents/PublicVideo.vue        |   15 
 src/components/table/components/WasteWater.vue                            |    2 
 src/conf/MapConfig.js                                                     |   14 
 src/conf/layers/LayerSoilGroundWater.js                                   |   52 +++
 src/components/LayerController/logic/SolidWaste.js                        |    8 
 37 files changed, 601 insertions(+), 344 deletions(-)

diff --git a/src/Sgis.js b/src/Sgis.js
index 6626200..6682108 100644
--- a/src/Sgis.js
+++ b/src/Sgis.js
@@ -1,9 +1,7 @@
 import BasemapHelper from '@components/helpers/BasemapHelper'
 import VectorLayerHelper from '@components/helpers/VectorLayerHelper'
 // 鍒濆鍖栨樉绀�
-import ServiceLayerHelper from '@components/helpers/ServiceLayerHelper'
-
-import '@components/plugin/PathDrag'
+// import '@components/plugin/PathDrag'
 import MapConfig from '@/conf/MapConfig'
 import '@components/plugin/PathDashFlow' // 娴佸姩绾垮浘
 import DownLoad from '@components/plugin/DownLoad'
@@ -37,8 +35,6 @@
   window.map = map
   window.L = L
 
-  initTileLayersHelper(map)
-
   return map
 }
 
@@ -52,15 +48,7 @@
   console.log(map)
   return new BasemapHelper({ map })
 }
-/**
- * 涓氬姟搴曞浘鍒濆鍖�
- * @param map
- * @param L
- */
-const initTileLayersHelper = (map) => {
-  var serviceLayerHelper = new ServiceLayerHelper({ map })
-  return serviceLayerHelper
-}
+
 /**
  * 鐭㈤噺鍦板浘鍒濆鍖�
  * @param map
@@ -75,6 +63,5 @@
 export default {
   initMap,
   initBasemapsHelper,
-  initTileLayersHelper,
   initVectorLayersHelper
 }
diff --git a/src/api/mapApi.js b/src/api/mapApi.js
index e43f988..4542721 100644
--- a/src/api/mapApi.js
+++ b/src/api/mapApi.js
@@ -28,9 +28,14 @@
   getSolidWasteSurveyDetail (data) {
     return axios.get(mapUrl.getSolidWasteSurveyDetail, data)
   },
+  // 搴熸皵鐐瑰姞杞�
   getWasteGas (data) {
     return axios.get(mapUrl.getWasteGas, data)
   },
+  // 搴熸皵鏄庣粏琛�
+  getWasteGasDetails (data) {
+    return axios.get(mapUrl.getWasteGasDetails, data)
+  },
   getWasteWater (data) {
     return axios.get(mapUrl.getWasteWater, data)
   },
diff --git a/src/api/mapUrl.js b/src/api/mapUrl.js
index 03933ac..33bf39f 100644
--- a/src/api/mapUrl.js
+++ b/src/api/mapUrl.js
@@ -11,6 +11,7 @@
 export const getSolidWasteSurveyDetail = $HOST + '/wasteSolid/getSolidWasteSurveyDetail'
 
 export const getWasteGas = $HOST + '/wasteGas/getWasteGas'
+export const getWasteGasDetails = $HOST + '/wasteGas/getWasteGasMonitoringDetails'
 
 export const getWasteWater = $HOST + '/wasteWater/getWasteWater'
 
diff --git a/src/assets/css/map/map-panel-style.less b/src/assets/css/map/map-panel-style.less
index 247200e..a23fdc6 100644
--- a/src/assets/css/map/map-panel-style.less
+++ b/src/assets/css/map/map-panel-style.less
@@ -1,13 +1,11 @@
 @import "_map-variable";
 
 /*鍏ㄥ眬璁剧疆***********/
-h1,h2,h3,h4,h5,h6,ul,li,p{
+h1, h2, h3, h4, h5, h6, ul, li, p {
   padding: 0;
   margin: 0;
   list-style: none;
 }
-
-
 
 
 .el-button--primary {
@@ -201,11 +199,11 @@
   display: none !important;
 }
 
-.el-tabs--card>.el-tabs__header .el-tabs__nav{
+.el-tabs--card > .el-tabs__header .el-tabs__nav {
   border: none;
 }
 
-.el-tabs--card>.el-tabs__header .el-tabs__item{
+.el-tabs--card > .el-tabs__header .el-tabs__item {
   border: none;
   margin-left: 10px;
 }
@@ -243,35 +241,66 @@
 }
 
 /***************Company 鍥惧眰 鎮诞妗嗘牱寮忋��*********************************/
-.company-bindTooltip{
-  background:none;
-  border:none;
-  color:red;
+.company-bindTooltip {
+  background: none;
+  border: none;
+  color: red;
   font-size: 16px;
   font-weight: 900 !important;
   text-shadow: 0 0 5px #fff;
   box-shadow: none;
 }
-.company-bindTooltip-hover h3{
+
+.company-bindTooltip-hover h3 {
   text-align: center;
-  border-bottom:1px solid #0B3B6D;
+  border-bottom: 1px solid #0B3B6D;
   margin: 0;
-  padding:0;
+  padding: 0;
 }
-.company-bindTooltip-hover ul{
+
+.company-bindTooltip-hover ul {
   list-style: none;
   margin: 0;
-  padding:0;
+  padding: 0;
   width: 260px;
   display: flex;
   flex-wrap: wrap;
 }
-.company-bindTooltip-hover ul li{
+
+.company-bindTooltip-hover ul li {
   margin: 0;
-  padding:3px 0;
+  padding: 3px 0;
   width: 50%;
 }
 
+/*************** PublicTable 琛ㄦ牸鏍峰紡銆�*********************************/
+.cell {
+  padding: 0;
+}
+
+.el-table .cell, .el-table--border td:first-child .cell, .el-table--border th:first-child .cell {
+  /* padding-left: 10px; */
+  text-align: center;
+}
+.el-table th>.cell {
+  color: #00fff6;
+}
+.el-table__row>td{
+  border: none;
+}
+.el-table::before {//鍘绘帀鏈�涓嬮潰鐨勯偅涓�鏉$嚎
+  height: 0;
+}
+.el-table td, .el-table th.is-leaf {
+  border: none;
+}
+.el-table .warning-row {
+  background: #28304d;
+}
+
+.el-table .success-row {
+  background: #30455f;
+}
 /***********************************************鍔ㄧ敾鏁堟灉************/
 .transition{
   transition: all .5s;
diff --git a/src/components/BaseNav/PublicBounced/GasComponents/ECharts.vue b/src/components/BaseNav/PublicBounced/GasComponents/ECharts.vue
index 0fc0cfb..c3338d4 100644
--- a/src/components/BaseNav/PublicBounced/GasComponents/ECharts.vue
+++ b/src/components/BaseNav/PublicBounced/GasComponents/ECharts.vue
@@ -6,13 +6,37 @@
             <el-tag>鐑熷皹 : 6.93 鏍囧噯 : 30</el-tag>
             <el-tag>搴熸皵娴侀噺 : 120343.18</el-tag>
         </div>
-        <div style="width:750px;height:260px;" id="echarts" ref="main"></div>
+      <div class="form-echrts">
+        <div>
+          <el-button size="mini" round @click="dialogVisible = true">鏄庣粏琛�</el-button>
+          <el-dialog  :visible.sync="dialogVisible"
+                      :append-to-body="true"
+                      width="66%"
+                      center
+                      >
+            <div class="el-dialog-div" style="height: 600px">
+              <public-detailed-list v-bind="$attrs"></public-detailed-list>
+            </div>
+          </el-dialog>
+        </div>
+        <div style="width:750px;height:260px;" id="echarts" ref="main">
+        </div>
+      </div>
     </div>
 </template>
 
 <script>
+import PublicDetailedList from '@components/BaseNav/PublicBounced/GasComponents/PublicDetailedList'
 export default {
   name: 'ECharts',
+  components: {
+    PublicDetailedList
+  },
+  data () {
+    return {
+      dialogVisible: false
+    }
+  },
   methods: {
     drawChart: function () {
       const myChart = this.$echarts.init(this.$refs.main)
@@ -195,10 +219,21 @@
         border: none;
         padding: 0 15px;
     }
-  #echarts{
-    margin: 0;
-    padding: 0;
-    border: 1px solid #396d83;
-    margin: 10px 10px 10px 10px;
+    .form-echrts{
+      width: 100%;
+      height: 100%;
+      border: 1px solid #396d83;
+      //margin: 10px 10px 10px 10px;
+      .el-dialog-div{
+        //height: 50vh!important;
+        overflow: auto;
+        //overflow: hidden;
+      }
+      #echarts {
+        margin: 0;
+        padding: 0;
+        //border: 1px solid #396d83;
+        //margin: 10px 10px 10px 10px;
+    }
   }
 </style>
diff --git a/src/components/BaseNav/PublicBounced/GasComponents/PublicChart.vue b/src/components/BaseNav/PublicBounced/GasComponents/PublicChart.vue
index db99764..8fd38d7 100644
--- a/src/components/BaseNav/PublicBounced/GasComponents/PublicChart.vue
+++ b/src/components/BaseNav/PublicBounced/GasComponents/PublicChart.vue
@@ -10,7 +10,7 @@
             <li @click='tabTaggle("ECharts")'>鏈堟暟鎹�</li>
             <li @click='tabTaggle("ECharts")'>浜哄伐鏁版嵁</li>
         </ul>
-        <component :is="currentTab"></component>
+        <component :is="currentTab" v-bind="$attrs"></component>
     </div>
 </template>
 
diff --git a/src/components/BaseNav/PublicBounced/GasComponents/PublicDetailedList.vue b/src/components/BaseNav/PublicBounced/GasComponents/PublicDetailedList.vue
new file mode 100644
index 0000000..efdfd77
--- /dev/null
+++ b/src/components/BaseNav/PublicBounced/GasComponents/PublicDetailedList.vue
@@ -0,0 +1,51 @@
+<template>
+  <div class="PublicDetailedList">
+    <el-table :data="tableData" max-height="600px">
+      <el-table-column prop="OnLineMonEmissPointName" label="鎺掓斁鐐�"></el-table-column>
+      <el-table-column prop="MonTimeStr" label="鐩戞祴鏃堕棿"></el-table-column>
+      <el-table-column  label="姘哀鍖栫墿">
+        <el-table-column prop="MonQty" label="娴撳害(mg/m鲁)"></el-table-column>
+        <el-table-column prop="OrglQty" label="鎶樼畻鍊�(mg/m鲁)"></el-table-column>
+        <el-table-column prop="ConvertQty" label="鏍囧噯鍊�(mg/m鲁)"></el-table-column>
+        <el-table-column prop="EmissQty" label="鎺掓斁閲�(kg/h)"></el-table-column>
+      </el-table-column>
+      <el-table-column label="浜屾哀鍖栫~">
+        <el-table-column prop="MonQty" label="娴撳害(mg/m鲁)"></el-table-column>
+        <el-table-column prop="OrglQty" label="鎶樼畻鍊�(mg/m鲁)"></el-table-column>
+        <el-table-column prop="ConvertQty" label="鏍囧噯鍊�(mg/m鲁)"></el-table-column>
+        <el-table-column prop="EmissQty" label="鎺掓斁閲�(kg/h)"></el-table-column>
+      </el-table-column>
+      <el-table-column  label="鐑熷皹">
+        <el-table-column prop="MonQty" label="娴撳害(mg/m鲁)"></el-table-column>
+        <el-table-column prop="OrglQty" label="鎶樼畻鍊�(mg/m鲁)"></el-table-column>
+        <el-table-column prop="ConvertQty" label="鏍囧噯鍊�(mg/m鲁)"></el-table-column>
+        <el-table-column prop="EmissQty" label="鎺掓斁閲�(kg/h)"></el-table-column>
+      </el-table-column>
+      <el-table-column  label="搴熸皵娴侀噺">
+        <el-table-column prop="StdValue" label="姘旈噺"></el-table-column>
+      </el-table-column>
+    </el-table>
+  </div>
+</template>
+
+<script>
+export default {
+  name: 'PublicDetailedList',
+  data () {
+    return {
+      tableData: []
+    }
+  },
+  mounted () {
+    this.tableData = this.$attrs.getWasteGasDetails
+    console.log(this.$attrs.getWasteGasDetails)
+  }
+}
+
+</script>
+
+<style scoped>
+.PublicDetailedList{
+  /*height: 100%*/
+}
+</style>
diff --git a/src/components/BaseNav/PublicBounced/GasComponents/PublicTable.vue b/src/components/BaseNav/PublicBounced/GasComponents/PublicTable.vue
index 56cd627..4e750c7 100644
--- a/src/components/BaseNav/PublicBounced/GasComponents/PublicTable.vue
+++ b/src/components/BaseNav/PublicBounced/GasComponents/PublicTable.vue
@@ -6,17 +6,20 @@
     <div class="border_corner border_corner_left_bottom"></div>
     <div class="border_corner border_corner_right_bottom"></div>
     <div class="main">
-      <div class="main-video">
+      <div class="main-table">
         <el-table
+            stripe='stripe'
+            :height="300"
             tooltip-effect="dark"
             :data="displayContentTableData"
+            :row-class-name="tableRowClassName"
         >
           <el-table-column prop="StoragePlaceId" label="搴忓彿"></el-table-column>
           <el-table-column prop="StoragePlaceTypeName" label="绫诲埆"></el-table-column>
           <el-table-column prop="StoragePlaceName" label="鍥哄簾鍚嶇О"></el-table-column>
           <el-table-column prop="StorageZDMJ" label="浠g爜"></el-table-column>
-          <el-table-column prop="StorageZCNL" label="浜х敓閲�"></el-table-column>
-          <el-table-column prop="StorageZCL" label="鍌ㄥ瓨閲�"></el-table-column>
+          <el-table-column prop="StorageZCNL" label="浜х敓閲�(t)"></el-table-column>
+          <el-table-column prop="StorageZCL" label="鍌ㄥ瓨閲�(t)"></el-table-column>
           <el-table-column prop="StorageType" label="浜х敓瑁呯疆"></el-table-column>
         </el-table>
       </div>
@@ -37,26 +40,41 @@
     this.$nextTick(() => {
       this.displayContentTable.forEach(item => {
         this.displayContentTableData = item
-        // console.log(item[0])
       })
     })
+  },
+  methods: {
+    tableRowClassName ({
+      row,
+      rowIndex
+    }) {
+      if (rowIndex % 2 === 0) {
+        return 'warning-row'
+      } else if (rowIndex % 2 === 1) {
+        return 'success-row'
+      }
+      return ''
+    }
   }
 }
 </script>
 
 <style lang="less" scoped>
+
 .win {
   position: relative;
   background-color: rgba(33, 41, 69, 0.9);
+  min-height: 300px;
 }
 
 .main {
   width: 100%;
   height: 100%;
 
-  .main-video {
+  .main-table {
     width: 100%;
     min-height: 195px;
+    //border: 1px @color solid;
 
     video {
       width: 100%;
@@ -72,7 +90,7 @@
   width: 14px;
   height: 14px;
   background: rgba(0, 0, 0, 0);
-  border: 1.5px solid #47d5ea;
+  border: 1px solid #47d5ea;
 }
 
 .border_corner_left_top {
diff --git a/src/components/BaseNav/PublicBounced/GasComponents/PublicTabs.vue b/src/components/BaseNav/PublicBounced/GasComponents/PublicTabs.vue
index 29723b3..6c039cd 100644
--- a/src/components/BaseNav/PublicBounced/GasComponents/PublicTabs.vue
+++ b/src/components/BaseNav/PublicBounced/GasComponents/PublicTabs.vue
@@ -16,22 +16,20 @@
           </el-row>
           <el-row type="flex" class="row-bg" justify="space-around">
             <el-col :span="8">鎺掓斁鍘诲悜:{{ setWasteGasdata.EmissDirecti }}</el-col>
-            <el-col :span="8">鎺у埗绾у埆鍚嶇О:{{ setWasteGasdata.ContrLevelShowName }}</el-col>
-            <el-col :span="8">鍐�/澶栨帓鍙�:{{ setWasteGasdata.OrOutPortName }}</el-col>
+            <el-col :span="18">鎺у埗绾у埆鍚嶇О:{{ setWasteGasdata.ContrLevelShowName }}</el-col>
+            <el-col :span="18">鍐�/澶栨帓鍙�:{{ setWasteGasdata.OrOutPortName }}</el-col>
           </el-row>
         </div>
-       <div v-else-if="value === 'gufei'">
-         <el-row type="flex" class="row-bg row-item-one" justify="space-around">
-           <el-col :span="8">鐩戞祴鐐瑰悕绉�:{{ displayContentTab2.StoragePlaceName }}</el-col>
-           <el-col :span="8">鐢熶骇鍗曚綅:{{ displayContentTab2.StoragePlaceName }}</el-col>
-           <el-col :span="8">鎺掓斁绫诲瀷鍔犺浇:{{ displayContentTab2.DesignFloorArea }}</el-col>
-         </el-row>
-         <el-row type="flex" class="row-bg" justify="space-around">
-           <el-col :span="8">鎺掓斁鍘诲悜:{{ displayContentTab2.StorageQty }}</el-col>
-           <el-col :span="8">鎺у埗绾у埆鍚嶇О:{{ displayContentTab2.SurplusFloorArea }}</el-col>
-           <el-col :span="8">鍐�/澶栨帓鍙�:{{ displayContentTab2.StorageDate }}</el-col>
-         </el-row>
-       </div>
+        <div v-else-if="value === 'gufei'">
+          <ul>
+            <li>鍦烘墍鍚嶇О:{{ tabData.StoragePlaceName }}</li>
+            <li>璐瓨鑳藉姏:{{ tabData.StorageQty }}(鍚�)</li>
+            <li>鍓╀綑璐瓨鑳藉姏:{{ tabData.SurplusFloorArea }}(鍚�)</li>
+            <li>鍗犲湴闈㈢Н(銕�):{{ tabData.DesignFloorArea }}(銕�)</li>
+            <li>鏈�杩戣串瀛樻棩鏈�:{{ tabData.StorageDate }}</li>
+            <li></li>
+          </ul>
+        </div>
         <div v-else-if="value === 'feishui'">
           <el-row type="flex" class="row-bg row-item-one" justify="space-around">
             <el-col :span="8">鐩戞祴鐐瑰悕绉�:{{ setWasteGasdata.Name }}</el-col>
@@ -55,16 +53,19 @@
   props: ['displayContentTab', 'value', 'setWasteGasdata'],
   data () {
     return {
-      displayContentTab2: []
+      tabData: []
     }
   },
   mounted () {
-    this.$nextTick(() => {
-      this.displayContentTab.forEach(item => {
-        this.displayContentTab2 = item
-        // console.log(item)
-      })
-    })
+    this.processingData()
+  },
+  methods: {
+    processingData () {
+      for (var i = 0; i < this.displayContentTab.length; i++) {
+        console.log(this.displayContentTab[i])
+        this.tabData = this.displayContentTab[i]
+      }
+    }
   }
 }
 </script>
@@ -73,67 +74,103 @@
 
 .win {
   position: relative;
-  margin-bottom: 13px;
-  background-color: rgba(33, 41, 69,0.9);
+  margin-bottom: 10px;
+  background-color: rgba(33, 41, 69, 0.9);
 }
+
 .main {
   width: 100%;
   height: 100%;
-  .main-matter{
+
+  .main-matter {
     font-size: 13px;
     font-weight: normal;
-    padding: 10px 6px;
+    //padding: 10px 6px;
+    min-height: 70px;
     border: 1px solid #396d83;
-    .row-item-one{
+
+    .row-item-one {
       margin-bottom: 7px;
     }
+
     .el-row {
       width: 100%;
       color: #00d0f9;
       display: flex;
       font-size: 12px !important;
-      .el-col{
+
+      .el-col {
         flex: 1;
         width: 100%;
-        background-color: #243a55;;
+        background-color: #243a55;
         text-align: center;
         line-height: 28px;
         margin-left: 6px;
         border-radius: 4px;
-        &:nth-child(1){
-          margin-left:0;
+
+        &:nth-child(1) {
+          margin-left: 0;
         }
+      }
+    }
+
+    ul {
+      width: 100%;
+      height: 100%;
+      display: flex;
+      align-items: center;
+      justify-content: space-around;
+      flex-wrap: wrap;
+      line-height: 35px;
+
+      li {
+        text-align: center;
+        width: 32%;
+        height: 30px;
+        margin: 5px auto;
+        background-color: #243a55;
+        color: #00d0f9;
+        border-radius: 4px;
+      }
+
+      li:last-child {
+        visibility: hidden
       }
     }
   }
 }
-.border_corner{
+
+.border_corner {
   z-index: 999;
   position: absolute;
   width: 10px;
-  height: 10px;
-  background: rgba(0,0,0,0);
-  border: 1.5px solid #47d5ea;
+  //height: 10px;
+  background: rgba(0, 0, 0, 0);
+  border: 1px solid #47d5ea;
 }
-.border_corner_left_top{
+
+.border_corner_left_top {
   top: 0;
   left: 0;
   border-right: none;
   border-bottom: none;
 }
-.border_corner_right_top{
+
+.border_corner_right_top {
   top: 0;
   right: 0;
   border-left: none;
   border-bottom: none;
 }
-.border_corner_left_bottom{
+
+.border_corner_left_bottom {
   bottom: 0;
   left: 0;
   border-right: none;
   border-top: none;
 }
-.border_corner_right_bottom{
+
+.border_corner_right_bottom {
   bottom: 0;
   right: 0;
   border-left: none;
diff --git a/src/components/BaseNav/PublicBounced/GasComponents/PublicVideo.vue b/src/components/BaseNav/PublicBounced/GasComponents/PublicVideo.vue
index 9519388..9c29b81 100644
--- a/src/components/BaseNav/PublicBounced/GasComponents/PublicVideo.vue
+++ b/src/components/BaseNav/PublicBounced/GasComponents/PublicVideo.vue
@@ -6,12 +6,12 @@
     <div class="border_corner border_corner_left_bottom"></div>
     <div class="border_corner border_corner_right_bottom"></div>
     <div class="main">
-      <div class="main-video">
+<!--      <div class="main-video">-->
         <video controls>
           <source src="movie.mp4" type="video/mp4">
           <source src="movie.ogg" type="video/ogg">
         </video>
-      </div>
+<!--      </div>-->
     </div>
   </div>
 </template>
@@ -30,15 +30,14 @@
 .main {
   border: 1px solid #396d83;
   padding: 6px;
-  .main-video {
-    width: 100%;
-    height: 100%;
+  //.main-video {
+    height: 378px;
     video {
       width: 100%;
-      height: 100%;
+      height: 378px;
       outline: none;
     }
-  }
+  //}
 }
 .border_corner{
   z-index: 999;
@@ -46,7 +45,7 @@
   width: 14px;
   height: 14px;
   background: rgba(0,0,0,0);
-  border: 1.5px solid #47d5ea;
+  border: 1px solid #47d5ea;
 }
 .border_corner_left_top{
   top: 0;
diff --git a/src/components/BaseNav/PublicBounced/PublicBounced.vue b/src/components/BaseNav/PublicBounced/PublicBounced.vue
index 9a379d9..d908a07 100644
--- a/src/components/BaseNav/PublicBounced/PublicBounced.vue
+++ b/src/components/BaseNav/PublicBounced/PublicBounced.vue
@@ -6,15 +6,16 @@
     </div>
     <div class="public-bounced-content">
       <div class="public-bounced-content-left">
-        <PublicTabs :displayContentTab="displayContentTab" :value="value"
-                    :setWasteGasdata="setWasteGasdata"></PublicTabs>
+        <public-tabs :displayContentTab="displayContentTab" :value="value"
+                     :setWasteGasdata="setWasteGasdata"></public-tabs>
         <div class="public-bounced-content-left-bottom">
-          <PublicTable v-if="value === 'gufei'" :displayContentTable="displayContentTable"></PublicTable>
-          <PublicChart v-else></PublicChart>
+          <public-table v-if="value === 'gufei'"
+                        :displayContentTable="displayContentTable"></public-table>
+          <public-chart v-else></public-chart>
         </div>
       </div>
       <div class="public-bounced-content-right">
-        <PublicVideo></PublicVideo>
+        <public-video></public-video>
       </div>
     </div>
   </div>
@@ -43,11 +44,14 @@
       displayContentTab: '',
       displayContentTable: '',
       flag: false,
-      value: ''
+      value: '',
+      getWasteGasDetails: []
     }
   },
   methods: {
     setData (dataBasic, dataDetailed, value) {
+      this.flag = true
+      this.value = value
       dataBasic.forEach(item => {
         this.displayContentTitle = item.StoragePlaceName
       })
@@ -56,8 +60,10 @@
       this.flag = true
       this.value = value
     },
-    setGasData (data, value) {
+    setGasData (data, dataDetails, value) {
       this.setWasteGasdata = data
+      this.getWasteGasDetails = dataDetails
+      // console.log(dataDetails)
       this.displayContentTitle = data.Name
       this.flag = true
       this.value = value
diff --git a/src/components/LayerController/LayerController.vue b/src/components/LayerController/LayerController.vue
index c826ec3..d9165bf 100644
--- a/src/components/LayerController/LayerController.vue
+++ b/src/components/LayerController/LayerController.vue
@@ -15,7 +15,6 @@
 
 <script>
 import '@assets/css/map/magic.min.css'
-import presets from './layerControllerPresets'
 
 import iconSetting from '@/assets/images/map-pages/icon/setting.png'
 import LcServiceLayer from './modules/LcServiceLayer'
@@ -53,28 +52,9 @@
       }
     }
   },
-  mounted () {
-    this.$nextTick(function () {
-      this.init()
-    })
-  },
   methods: {
     showPanel () {
       this.layerControllerVisible = !this.layerControllerVisible
-    },
-    init () {
-      this.initPreset()
-    },
-    initPreset () {
-      if (this.preset !== 'default') {
-        const prmPreset = presets[this.preset]
-        Object.assign(this.layerControllerVisible, prmPreset) // 闃叉棰勮鍙傛暟涓庨粯璁ゅ弬鏁颁笉涓�鑷村鑷存姤閿欙紝濡傛灉娌℃湁鎸夌収鎮ㄧ殑閰嶇疆鍙戠敓鏀瑰彉锛岃妫�鏌ユ嫾鍐欐槸鍚︽纭�
-        if (prmPreset === 'undefined') {
-          console.log('璇ュ浘灞傛帶鍒堕潰鏉跨殑棰勮娌℃湁鎵惧埌锛岃妫�鏌ラ璁惧悕绉版槸鍚︽纭紒')
-        } else {
-          this.$store.commit('updateLayerControllerVisible', this.layerControllerVisible)
-        }
-      }
     },
     switchPanel () {
       this.panelSwitch.main = !this.panelSwitch.main
diff --git a/src/components/LayerController/LayerController2.vue b/src/components/LayerController/LayerController2.vue
deleted file mode 100644
index 8f24ad7..0000000
--- a/src/components/LayerController/LayerController2.vue
+++ /dev/null
@@ -1,288 +0,0 @@
-<template>
-  <div class="float-panel">
-    <div class="title-text-border" @click="switchPanel">
-      <div class="title-icon"></div>
-      <div class="title-text">鍥惧眰鎺у埗</div>
-    </div>
-    <transition name="el-fade-in-linear">
-      <div class="body-box" id="panelContent" :style="{ width:width }">
-        <div v-show="isShow">
-          <slot></slot>
-        </div>
-      </div>
-    </transition>
-  </div>
-</template>
-
-<script>
-import '@assets/css/map/magic.min.css'
-import presets from './layerControllerPresets'
-
-import iconSetting from '@/assets/images/map-pages/icon/setting.png'
-
-export default {
-  name: 'LayerController',
-  components: {},
-  props: {
-    preset: {
-      type: String,
-      default: 'default'
-    }
-  },
-  computed: {
-    map () {
-      return this.$store.state.map.map
-    },
-    L () {
-      return this.$store.state.map.L
-    },
-    layerHelper () {
-      return this.$store.state.map.layerHelper
-    },
-    layerControllerVisible () {
-      return this.$store.state.map.layerControllerVisible
-    }
-  },
-  data () {
-    return {
-      width: '250px',
-      isShow: true,
-      icons: {
-        setting: iconSetting
-      },
-      panelSwitch: {
-        main: true // 涓荤獥鍙�
-      }
-    }
-  },
-  mounted () {
-    this.$nextTick(function () {
-      this.init()
-    })
-  },
-  methods: {
-    init () {
-      this.initPreset()
-    },
-    initPreset () {
-      if (this.preset !== 'default') {
-        const prmPreset = presets[this.preset]
-        Object.assign(this.layerControllerVisible, prmPreset) // 闃叉棰勮鍙傛暟涓庨粯璁ゅ弬鏁颁笉涓�鑷村鑷存姤閿欙紝濡傛灉娌℃湁鎸夌収鎮ㄧ殑閰嶇疆鍙戠敓鏀瑰彉锛岃妫�鏌ユ嫾鍐欐槸鍚︽纭�
-        if (prmPreset === 'undefined') {
-          console.log('璇ュ浘灞傛帶鍒堕潰鏉跨殑棰勮娌℃湁鎵惧埌锛岃妫�鏌ラ璁惧悕绉版槸鍚︽纭紒')
-        } else {
-          this.$store.commit('updateLayerControllerVisible', this.layerControllerVisible)
-        }
-      }
-    },
-    switchPanel () {
-      this.panelSwitch.main = !this.panelSwitch.main
-      if (this.panelSwitch.main) {
-        this.width = '250px'
-        this.isShow = true
-      } else {
-        this.width = '0px'
-        this.isShow = false
-      }
-    }
-  }
-}
-</script>
-
-<style lang="less">
-
-.float-panel {
-  position: absolute;
-  top: 120px;
-  height: auto;
-  font-size: 11px;
-  z-index: 1000;
-
-  div {
-    color: #90c8e0;
-  }
-
-  .title-border {
-    width: 100%;
-    height: 28px;
-    background: #10488c;
-    -webkit-clip-path: polygon(0px 0px, 0px 28px, 230px 28px, 230px 9px, 95px 9px, 86px 0px);
-    clip-path: polygon(0px 0px, 0px 28px, 230px 28px, 230px 9px, 95px 9px, 86px 0px);
-    position: relative;
-  }
-
-  .title-border:before {
-    content: "";
-    display: block;
-    position: absolute;
-    width: 6px;
-    height: 6px;
-    top: 0;
-    left: 0;
-    background-color: #38c8ef;
-  }
-
-  .title-border:after {
-    content: "";
-    display: block;
-    position: absolute;
-    width: 6px;
-    height: 6px;
-    top: 9px;
-    right: 0;
-    background-color: #38c8ef;
-    -webkit-clip-path: polygon(0px 0px, 0px 1px, 5px 1px, 5px 6px, 6px 6px, 6px 0px);
-    clip-path: polygon(0px 0px, 0px 1px, 5px 1px, 5px 6px, 6px 6px, 6px 0px);
-  }
-
-  .title-text-border {
-    width: 30px;
-    height: 120px;
-    float: left;
-    background: #091331;
-    // -webkit-clip-path: polygon(1px 1px, 1px 27px, 229px 27px, 229px 10px, 94px 10px, 85px 1px);
-    // clip-path: polygon(1px 1px, 1px 27px, 229px 27px, 229px 10px, 94px 10px, 85px 1px);
-  }
-
-  .title-icon {
-    float: left;
-    width: 22px;
-    height: 22px;
-    margin-top: 4px;
-    margin-left: 2px;
-    background-image: url(../../assets/images/map-pages/icon/setting.png);
-  }
-
-  .title-text {
-    width: 25px;
-    color: #00d0f9;
-    font-weight: bold;
-    margin-top: 6px;
-    text-align: center;
-    font-size: 14px;
-    filter: brightness(100%);
-    text-shadow: 0 0 5px #00d0f9, 0 0 0 #00d0f9, 0 0 0 #00d0f9, 0 0 0 #0258c5, 0 0 0 #0258c5, 0 0 2px #0258c5, 0 0 5px #0258c5, 0 0 15px #0258c5;
-  }
-
-  .title-line {
-    display: inline-block;
-    width: 120px;
-    height: 1px;
-    // margin-top: 14px;
-    margin-left: 4px;
-    background-color: #04527f;
-    line-height: 5px;
-    vertical-align: middle;
-  }
-
-  .title-point {
-    display: inline-block;
-    width: 5px;
-    height: 5px;
-    // margin-top: 12px;
-    background-color: #04527f;
-    line-height: 5px;
-    vertical-align: middle;
-  }
-
-  .title-button {
-    float: right;
-    width: 28px;
-    height: 28px;
-    cursor: pointer;
-
-    :hover {
-      font-weight: bold;
-      color: white;
-    }
-  }
-
-  .body-box {
-    background-color: rgba(44, 62, 80, 0.6);
-    border: 1px solid #10488c;
-    margin-top: -1px;
-    margin-left: 30px;
-    height: auto;
-  }
-
-  .switch-head-up {
-    width: 22px;
-    height: 16px;
-    float: right;
-    margin-top: 10px;
-    margin-right: 10px;
-    cursor: pointer;
-    background-image: url(../../assets/images/map-pages/icon/xljt1.png);
-    transform: rotateX(0deg);
-    transform-origin: 50% 50%;
-    transition: transform 0.5s linear 0s;
-  }
-
-  .switch-head-down {
-    transform: rotateX(180deg);
-    transform-origin: 50% 50%;
-    transition: transform 0.5s linear 0s;
-  }
-
-  select {
-    background: transparent;
-    margin: 6px;
-    border: .5px solid #569EB7;
-    width: 150px;
-    color: #569EB7;
-    padding: 0 16px;
-  }
-
-  .horn {
-    width: 6px;
-    height: 6px;
-    float: left;
-    position: absolute;
-  }
-
-  .horn-tl {
-    background-image: url(../../assets/images/map-pages/cosmetics/horn_tl.png);
-    left: -1px;
-    top: -1px;
-  }
-
-  .horn-tr {
-    background-image: url(../../assets/images/map-pages/cosmetics/horn_tr.png);
-    right: -1px;
-    top: -1px;
-  }
-
-  .horn-bl {
-    background-image: url(../../assets/images/map-pages/cosmetics/horn_bl.png);
-    left: -1px;
-    bottom: -1px;
-  }
-
-  .horn-br {
-    background-image: url(../../assets/images/map-pages/cosmetics/horn_br.png);
-    right: -1px;
-    bottom: -1px;
-  }
-
-  ::-webkit-scrollbar {
-    width: 7px;
-    height: 5px !important;
-  }
-
-  ::-webkit-scrollbar-thumb {
-    /*婊氬姩鏉¢噷闈㈠皬鏂瑰潡*/
-    border-radius: 10px;
-    box-shadow: inset 0 0 5px rgba(0, 0, 0, 0.2);
-    background: #0661AE;
-    border: 1px solid transparent;
-  }
-
-  ::-webkit-scrollbar-track {
-    /*婊氬姩鏉¢噷闈㈣建閬�*/
-    // box-shadow   : inset 0 0 5px rgba(0, 0, 0, 0.2);
-    border-radius: 0px;
-    background: #0E3565;
-  }
-}
-
-</style>
diff --git a/src/components/LayerController/layerControllerPresets.js b/src/components/LayerController/layerControllerPresets.js
deleted file mode 100644
index a092886..0000000
--- a/src/components/LayerController/layerControllerPresets.js
+++ /dev/null
@@ -1,26 +0,0 @@
-/**
- * 澶у浘鍥惧眰鎺у埗闈㈡澘鐨勬樉绀洪璁�
- */
-const bigmapPreset = { // 鍥惧眰鎺у埗闈㈡澘鐨勬樉绀虹姸鎬佲�衡��
-  layerController: true // 鐖哥埜鏍忕洰锛氭槸鍚︽樉绀哄浘灞傛帶鍒堕潰鏉�
-}
-
-/**
- * 缁煎悎鎶ヨ鍥惧眰鎺у埗闈㈡澘鐨勬樉绀洪璁�
- */
-const warningPreset = { // 鍥惧眰鎺у埗闈㈡澘鐨勬樉绀虹姸鎬佲�衡��
-  layerController: true // 鐖哥埜鏍忕洰锛氭槸鍚︽樉绀哄浘灞傛帶鍒堕潰鏉�
-}
-
-/**
- * 缁煎悎鎶ヨ鍥惧眰鎺у埗闈㈡澘鐨勬樉绀洪璁�
- */
-const vehicleWarningPreset = { // 鍥惧眰鎺у埗闈㈡澘鐨勬樉绀虹姸鎬佲�衡��
-  layerController: true // 鐖哥埜鏍忕洰锛氭槸鍚︽樉绀哄浘灞傛帶鍒堕潰鏉�
-}
-
-export default {
-  bigmapPreset,
-  warningPreset,
-  vehicleWarningPreset
-}
diff --git a/src/components/LayerController/logic/SolidWaste.js b/src/components/LayerController/logic/SolidWaste.js
index 3ea18d7..9344ecf 100644
--- a/src/components/LayerController/logic/SolidWaste.js
+++ b/src/components/LayerController/logic/SolidWaste.js
@@ -43,12 +43,6 @@
           iconAnchor: [25, 25]
         })
       })
-      /*  marker.bindTooltip(getSolidWasteData[i].Name, {
-        permanent: true,
-        offset: [0, 14],
-        direction: 'bottom',
-        className: 'company-bindTooltip'
-      }) */
       layer.addLayer(marker)
     }
   }
@@ -94,7 +88,7 @@
     this.setPanTo(e.latlng, 200)
   }
 
-  // flayTo()
+  // flayTo() 寮规鐨勫彲婊戝姩浜嬩欢
   this.setPanTo = (pos, value) => {
     var position = pos
     position = window.map.latLngToLayerPoint(position)
diff --git a/src/components/LayerController/logic/WasteGas.js b/src/components/LayerController/logic/WasteGas.js
index 4ecd0e0..9e7b219 100644
--- a/src/components/LayerController/logic/WasteGas.js
+++ b/src/components/LayerController/logic/WasteGas.js
@@ -50,16 +50,18 @@
   this.clickListener = async (e) => {
     // console.log(e)
     this.animalService.pulseEffect(e.latlng)
-    // const dataValue = {
-    //   StoragePlaceId: e.layer.options.test.StoragePlaceId
-    // }
-    // const result = await mapApi.getWasteGas(dataValue)
+    const dataValue = {
+      StoragePlaceId: e.layer.options.test.StoragePlaceId
+    }
+    const result = await mapApi.getWasteGasDetails(dataValue)
+    // console.log(result.Result.DataInfo)
     const PublicBounced = window.Vue.extend(publicBounced)
     const instance = new PublicBounced()
-    instance.setGasData(e.layer.options.test, 'feiqi')
-    console.log(e.layer.options.test)
+    instance.setGasData(e.layer.options.test, result.Result.DataInfo, 'feiqi')
+    // console.log(e.layer.options.test)
     instance.$mount()
     document.body.appendChild(instance.$el)
+    this.setPanTo(e.latlng, 240)
   }
   // 涓嶅悓绫诲瀷鍥剧墖鍔犺浇
   this.differentTypes = (ContrLevel) => {
@@ -75,4 +77,11 @@
     }
     return effectOfChange
   }
+  this.setPanTo = (pos, value) => {
+    var position = pos
+    position = window.map.latLngToLayerPoint(position)
+    position.y += value
+    position = window.map.layerPointToLatLng(position)
+    window.map.flyTo(position)
+  }
 }
diff --git a/src/components/LayerController/modules/LcServiceLayer.vue b/src/components/LayerController/modules/LcServiceLayer.vue
index 4cb5d8b..327bbae 100644
--- a/src/components/LayerController/modules/LcServiceLayer.vue
+++ b/src/components/LayerController/modules/LcServiceLayer.vue
@@ -6,22 +6,35 @@
         <div class="wms-panel">
             <el-scrollbar class="wms-panel-scrollbar">
                 <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 }}
+                        <input type="checkbox" :name="'wmsLayer_'+item.code" :checked="item.checked" :value="item.code"
+                               @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"
                                    :name="'wmsSublayers_'+item.code+'_'+itm.code"
                                    :checked="itm.checked"
                                    :value="itm.code"
                                    @change="swWmsLayer(itm)"/>{{ itm.name }}
+                            <!-- 涓夌骇鍥惧眰閬嶅巻 -->
+                            <div style="width: 100%">
+                                <div class="basemap-layer-item" v-for="layer in itm.layers" :key="layer.code">
+                                    <input type="checkbox"
+                                           :name="'wmsSublayers_'+item.code+'_'+layer.code"
+                                           :checked="layer.checked"
+                                           :value="layer.code"
+                                           @change="swWmsLayer(layer)"/>{{ layer.name }}
+                                </div>
+                            </div>
                         </div>
                     </div>
                 </div>
             </el-scrollbar>
         </div>
-        <lc-service-layer-filter v-if="layerFilterVisible" ref="serviceLayerFilter"></lc-service-layer-filter>
+        <lc-service-layer-filter ref="serviceLayerFilter"></lc-service-layer-filter>
     </div>
 </template>
 
@@ -33,11 +46,6 @@
 export default {
   name: 'LcServiceLayer',
   components: { LcServiceLayerFilter },
-  data () {
-    return {
-      layerFilterVisible: false
-    }
-  },
   computed: {
     serviceLayers () {
       return this.$store.state.map.serviceLayers.LayerSewersLine
@@ -74,9 +82,6 @@
       }
       // this.updateWms()
     },
-    swFilter (item) {
-      this.layerFilterVisible = !this.layerFilterVisible
-    },
     updateServiceLayerList () {
 
     },
@@ -106,6 +111,12 @@
             margin: 10px;
             text-align: center;
         }
+
+        .btn-filter {
+            cursor: pointer;
+            color: #ffffff;
+        }
+
         .wms-panel {
 
             .wms-panel-scrollbar{
diff --git a/src/components/LayerController/service/LayerFactory.js b/src/components/LayerController/service/LayerFactory.js
index 484d6e2..d12719b 100644
--- a/src/components/LayerController/service/LayerFactory.js
+++ b/src/components/LayerController/service/LayerFactory.js
@@ -1,4 +1,3 @@
-import store from '@/store'
 import WfsLayerService from './WfsLayerService'
 import BusiLayerService from './BusiLayerService'
 import WmsLayerService from './WmsLayerService'
@@ -10,17 +9,15 @@
     this.layers = {}
   }
 
-  init () {
+  init (layerConfig) {
     // 1. 閬嶅巻layer config
-    var layerConfig = store.state.map.serviceLayers.LayerSewersLine
     for (var i = 0, l = layerConfig.length; i < l; i++) {
       var config = layerConfig[i]
       var layers = config.layers
-      for (var j = 0; j < layers.length; j++) {
-        var childConfig = layers[j]
-        var checked = childConfig.checked
-        checked && this.load(childConfig)
-      }
+      layers && this.init(config.layers)
+
+      var checked = config.checked
+      checked && this.load(config)
     }
   }
 
diff --git a/src/components/LayerController/service/WfsLayerService.js b/src/components/LayerController/service/WfsLayerService.js
index 8d55234..7f10aee 100644
--- a/src/components/LayerController/service/WfsLayerService.js
+++ b/src/components/LayerController/service/WfsLayerService.js
@@ -2,7 +2,7 @@
  * 鍔犺浇涓氬姟鏁版嵁鍥惧眰
  */
 
-import styles from '../../../conf/Styles'
+import { STYLES } from '../../../conf/Constants'
 import AjaxUtils from '../../../utils/AjaxUtils'
 
 class WfsLayerService {
@@ -37,14 +37,14 @@
     this.L.geoJSON(features, {
       style: function (feature) {
         return {
-          fill: styles.defaultLineStyle.fill,
-          weight: styles.defaultLineStyle.weight,
-          fillColor: styles.defaultLineStyle.fillColor,
-          color: styles.defaultLineStyle.color,
-          fillOpacity: styles.defaultLineStyle.fillOpacity,
-          opacity: styles.defaultLineStyle.opacity,
-          dashArray: styles.defaultLineStyle.dashArray,
-          dashSpeed: styles.defaultLineStyle.dashSpeed
+          fill: STYLES.FILL,
+          weight: STYLES.WEIGHT,
+          fillColor: STYLES.FILL_COLOR,
+          color: STYLES.COLOR,
+          fillOpacity: STYLES.FILL_OPACITY,
+          opacity: STYLES.OPACITY,
+          dashArray: STYLES.DASH_ARRAY,
+          dashSpeed: STYLES.DASH_SPPED
         }
       },
       pointToLayer: (geoJsonPoint, latlng) => {
@@ -53,7 +53,7 @@
             img: {
               // url: 'assets/images/map/marker-icon.png',
               url: '/assets/images/map/' + icon,
-              size: styles.defaultLineStyle.size
+              size: STYLES.ICON_SIZE
             }
           })
       },
@@ -94,13 +94,13 @@
     const icon = this.config.icon
     const type = e.target.feature.geometry.type
     if (type === 'LineString' || type === 'MultiLineString') {
-      layer.setStyle({ weight: styles.defaultLineStyle.weight, color: styles.defaultLineStyle.color })
+      layer.setStyle({ weight: STYLES.WEIGHT, color: STYLES.COLOR })
     }
     if (type === 'Point' || type === 'MultiPoint') {
       layer.setStyle({
         img: {
           url: '/assets/images/map/' + icon,
-          size: styles.defaultLineStyle.size
+          size: STYLES.ICON_SIZE
         }
       })
     }
diff --git a/src/components/helpers/ServiceLayerHelper.js b/src/components/helpers/ServiceLayerHelper.js
deleted file mode 100644
index c53ff99..0000000
--- a/src/components/helpers/ServiceLayerHelper.js
+++ /dev/null
@@ -1,399 +0,0 @@
-/* eslint-disable no-debugger */
-/**
- * 鍒涘缓鍥惧眰鐩稿叧鐨勭被
- */
-import AjaxUtils from '@/utils/AjaxUtils'
-import store from '@/store'
-import styles from '@/conf/Styles'
-
-class ServiceLayerHelper {
-  constructor (options) {
-    this.map = options.map
-    this.L = window.L
-    this.loadedLayersMap = new Map()
-    this.tileLayerWmslayerGroup = this.L.layerGroup().addTo(this.map)
-    this.tileLayersWMTSArray = [] // 鍒濆鐨刉MTS闆�
-    this.tileLayersTileArray = [] // 鍒濆鐨凾ile闆�
-    this.tileLayersWMSArray = [] // 鍒濆鐨刉MS闆�
-    this.layerArray = {} // key涓洪厤缃殑code锛屽姞杞界殑鍥惧眰瀵硅薄锛�
-    this.regex = /\{(.+?)\}/g // 鍖归厤{}
-    this.popupComp = null
-  }
-
-  getTileLayer (code) {
-    return this.loadedLayersMap.get(code)
-  }
-
-  getByLayerId (layerId) {
-    for (var k in this.layerArray) {
-      var layerGroup = this.layerArray[k]
-      var layers = layerGroup.getLayers()
-      for (var m = 0; m < layers.length; m++) {
-        var layer = layers[m]
-        var feature = layer.feature
-        if (feature.id === layerId) {
-          return layer
-        }
-      }
-    }
-    return null
-  }
-
-  /**
-   * 鎺у埗鏄剧ず鐨勭骇鍒�
-   * @param layerConfig
-   */
-  initDisplayZoom (layerConfig) {
-    var that = this
-    that.map.on('zoomend ', function (e) {
-      const zoom = that.map.getZoom()
-      for (var i = 0, l = layerConfig.length; i < l; i++) {
-        var config = layerConfig[i]
-        var layers = config.layers
-        for (var j = 0; j < layers.length; j++) {
-          var layer = layers[j]
-          if (layer.minZoom) {
-            if (zoom > layer.minZoom) {
-              var layerObj = that.layerArray[layer.code]
-              layerObj && layerObj.addTo(that.map)
-            } else {
-              that.removeLayer(layer)
-            }
-          }
-        }
-      }
-    })
-  }
-
-  /**
-     * 鏍规嵁閰嶇疆鏂囦欢鍒濆鍖栦笟鍔″簳鍥�
-     */
-  initServiceLayers (layerConfig, popupComp) {
-    this.layerConfig = layerConfig
-    this.popupComp = popupComp
-    store.commit('clearSewersDatas')
-    store.commit('clearSewersLayers')
-    this.loadLayers(layerConfig.mapConfig.Layers.LayerSewersLine)
-    this.loadLayers(layerConfig.mapConfig.Layers.layerSewersPoint)
-    this.initDisplayZoom(layerConfig.mapConfig.Layers.LayerSewersLine)
-    this.initDisplayZoom(layerConfig.mapConfig.Layers.layerSewersPoint)
-  }
-
-  /**
-     * 鎸夐厤缃枃浠跺姞杞戒笁绉嶄笉鍚岀被鍨嬬殑
-     * @param {*} mapConfig
-     * @param {*} isAddToMap
-     */
-  loadLayers (layerConfig, isAddToMap = true) {
-    console.debug('ServiceLayerHelper鍔犺浇鍙傛暟锛�', layerConfig)
-    for (let i = 0, len = layerConfig.length; i < len; ++i) {
-      const opt = layerConfig[i]
-      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.loadGeojsonLayers(opt)
-      }
-    }
-  }
-
-  loadGeojsonLayers (options) {
-    var url = options.url
-    var layers = options.layers
-    for (var i = 0; i < layers.length; i++) {
-      var layer = layers[i]
-      var checked = layer.checked
-      if (checked) {
-        this.loadGeojsonLayer(url, layer)
-      }
-    }
-  }
-
-  /**
-     * 璇锋眰wfs鏁版嵁
-     * @param url
-     * @param item
-     */
-  async loadGeojsonLayer (url, item) {
-    var matches = this.regex.exec(url)
-    var matchValue = item[matches[1]]
-    var code = item.code
-    var newUrl = url.replace(this.regex, matchValue)
-    var that = this
-    if (!that.layerArray[code]) {
-      const res = await AjaxUtils.GetDataAsynByUrl(newUrl, {})
-      if (res.data instanceof Object && Object.prototype.hasOwnProperty.call(res.data, 'features')) {
-        store.commit('addSewersDatas', res.data)
-        var layer = that.loadGeojson(res.data, item)
-        that.layerArray[code] = layer
-      }
-    } else {
-      var _layer = that.layerArray[code].addTo(that.map)
-      that.setZIndex(_layer)
-    }
-  }
-
-  /**
-     * 鍔犺浇gis server杩斿洖鐨刧eoson鏁版嵁鍒板湴鍥句腑灞曠ず
-     * @param res
-     */
-  loadGeojson (res, opt) {
-    var icon = opt.icon
-    const featureGroup = this.L.featureGroup()
-    const featureList = []
-    const geojson = this.L.geoJSON(res.features, {
-      style: function (feature) {
-        return {
-          fill: styles.defaultLineStyle.fill,
-          weight: styles.defaultLineStyle.weight,
-          fillColor: styles.defaultLineStyle.fillColor,
-          color: styles.defaultLineStyle.color,
-          fillOpacity: styles.defaultLineStyle.fillOpacity,
-          opacity: styles.defaultLineStyle.opacity,
-          dashArray: styles.defaultLineStyle.dashArray,
-          dashSpeed: styles.defaultLineStyle.dashSpeed
-        }
-      },
-      pointToLayer: (geoJsonPoint, latlng) => {
-        return this.L.canvasMarker(latlng,
-          {
-            img: {
-              // url: 'assets/images/map/marker-icon.png',
-              url: '/assets/images/map/' + icon,
-              size: styles.defaultLineStyle.size
-            }
-          })
-      },
-      onEachFeature: (feature, layer) => {
-        featureList.push(layer)
-        layer.bindPopup((layer) => {
-          this.popupComp.setDatas(layer)
-          this.popupComp.setShow()
-          return this.popupComp.$el
-        }, {
-          className: 's-map-popup',
-          minWidth: 300,
-          closeButton: false,
-          autoClose: false
-        })
-          .bindTooltip((layer) => {
-            const nameId = layer.feature.id
-            let name = ''
-            if (nameId.indexOf('涓夐��') !== -1 || nameId.indexOf('鍥涢��') !== -1 || nameId.indexOf('绐ㄤ簳') !== -1) {
-              name = layer.feature.properties.pointnumber
-            } else {
-              name = layer.feature.properties.name
-            }
-            if (name === undefined) {
-              name = ''
-            }
-            return name
-          }, { direction: 'bottom', offset: [0, 15], sticky: true })
-          .on('mouseover', (e) => {
-            const type = e.target.feature.geometry.type
-            if (type === 'LineString' || type === 'MultiLineString') {
-              layer.setStyle({ weight: 8, color: '#00ffff' })
-            } else if (type === 'Point' || type === 'MultiPoint') {
-              layer.setStyle({
-                img: {
-                  url: '/assets/images/map/' + icon,
-                  size: [25, 25]
-                }
-              })
-
-              layer.bringToFront()
-            }
-          }).on('mouseout', (e) => {
-            const type = e.target.feature.geometry.type
-            if (type === 'LineString' || type === 'MultiLineString') {
-              layer.setStyle({ weight: styles.defaultLineStyle.weight, color: styles.defaultLineStyle.color })
-            }
-            if (type === 'Point' || type === 'MultiPoint') {
-              layer.setStyle({
-                img: {
-                  url: '/assets/images/map/' + icon,
-                  size: styles.defaultLineStyle.size
-                }
-              })
-            }
-          }).addTo(featureGroup)
-      }
-    })
-    store.commit('addSewersDatas', geojson)
-    featureGroup.addTo(this.map)
-    this.setZIndex(featureGroup)
-    return featureGroup
-  }
-
-  /**
-   * 璁剧疆index,绾垮湪鏈�涓嬮潰锛岀偣鍦ㄤ笂闈�
-   * @param layerGroup 鍥惧眰缁�
-   */
-  setZIndex (layerGroup) {
-    var layers = layerGroup.getLayers()
-    if (layers.length > 0) {
-      var layer = layers[0]
-      if (layer.feature && (layer.feature.geometry.type === 'LineString' || layer.feature.geometry.type === 'MultiLineString')) {
-        layerGroup.bringToBack()
-      } else {
-        layerGroup.bringToFront()
-      }
-    }
-  }
-
-  removeLayer (item) {
-    var layer = this.layerArray[item.code]
-    layer && this.map.removeLayer(layer)
-  }
-
-  /**
-     * 寰�鍦板浘涓姞鍏ヤ竴涓猈MTS鏈嶅姟
-     * @param {}} options
-     * @param {*} isAddToMap
-     */
-  loadWmtsLayer (options, isAddToMap = true) {
-    const layer = this.L.tileLayer(options.url, options.option)
-    layer.config = options
-    var checked = options.checked
-    if (checked) {
-      if (isAddToMap) {
-        layer.addTo(this.map)
-      }
-      this.loadedLayersMap.set(options.code, layer)
-    }
-  }
-
-  /**
-     * 寰�鍦板浘涓姞鍏ヤ竴涓猈MS鏈嶅姟
-     * @param {}} options
-     * @param {*} isAddToMap
-     */
-  loadWmsLayer (options, isAddToMap = true) {
-    const layer = this.L.tileLayer.wms(options.url, options.option)
-    layer.config = options
-
-    var checked = options.checked
-    if (checked) {
-      if (isAddToMap) {
-        layer.addTo(this.tileLayerWmslayerGroup)
-      }
-      this.loadedLayersMap.set(options.code, layer)
-    }
-  }
-
-  /**
-     * 寰�鍦板浘涓姞鍏ヤ竴涓猅ILE鏈嶅姟
-     * @param {}} options
-     * @param {*} isAddToMap
-     */
-  loadTileLayer (options, isAddToMap = true) {
-    const layer = this.L.tileLayer(options.url, {
-      layers: options.layers || 'all', // country
-      format: options.format || 'image/png',
-      transparent: options.true || true,
-      crs: options.crs || this.L.CRS.EPSG4326,
-      maxZoom: options.maxZoom || 21,
-      minZoom: options.minZoom || 1,
-      zoomOffset: options.zoomOffset || 0
-    })
-    layer.config = options
-
-    if (isAddToMap) {
-      layer.addTo(this.map)
-    }
-    this.loadedLayersMap.set(options.code, layer)
-  }
-
-  /**
-     * 闅愯棌鏈嶅姟鍥惧眰
-     * @param {*} name
-     */
-  hideTileLayer (code) {
-    if (this.loadedLayersMap) {
-      const tileLayer = this.loadedLayersMap.get(code)
-      this.map.removeLayer(tileLayer)
-    }
-  }
-
-  /**
-     * 灞曠ず鏈嶅姟鍥惧眰
-     * @param {*} name
-     */
-  showTileLayer (code) {
-    if (this.loadedLayersMap) {
-      const tileLayer = this.loadedLayersMap.get(code)
-      this.map.addLayer(tileLayer)
-    }
-  }
-
-  /**
-     * 寰楀埌閫変腑鐨勫浘灞傚垪琛�
-     * @param mapConfig
-     * @returns {[]}
-     */
-  getCheckedLayers (serviceLayers) {
-    var checkedLayers = []
-    for (var i = 0; i < serviceLayers.length; i++) {
-      var serviceLayer = serviceLayers[i]
-      var layers = serviceLayer.layers
-      for (var j = 0; j < layers.length; j++) {
-        var layer = layers[j]
-        var checked = layer.checked
-        if (checked) {
-          checkedLayers.push(layer)
-        }
-      }
-    }
-    return checkedLayers
-  }
-
-  /**
-     * 鑾峰彇鎵�鏈夌殑TILE鏈嶅姟鍥惧眰
-     */
-  getTileLayers () {
-    return this.tileLayersTileArray
-  }
-
-  /**
-     * 鑾峰彇鎵�鏈夌殑WMTS鏈嶅姟鍥惧眰
-     */
-  getWmtsLayers () {
-    return this.tileLayersWMTSArray
-  }
-
-  /**
-     * 鑾峰彇鎵�鏈夌殑WMS鏈嶅姟鍥惧眰
-     */
-  getWmsLayers () {
-    return this.tileLayersWMSArray
-  }
-
-  /**
-     * 鏍规嵁绾跨殑閫夋嫨锛屽緱鍒扮偣鐨勫彲閫夋嫨鍥惧眰鏁版嵁
-     */
-  getFiltersGroup () {
-
-  }
-
-  /**
-     * 閫氳繃code鏌ユ壘WMS鐨勬湇鍔¢厤缃�
-     * @param {} code wms鏈嶅姟閰嶇疆鐨刢ode
-     */
-  getWMSConfig (code) {
-    const mc = this.mapConfig
-    for (let i = 0, len = mc.mapConfig.ServiceLayers.length; i < len; ++i) {
-      if (code === mc.mapConfig.ServiceLayers[i].code || mc.mapConfig.ServiceLayers[i].type === 'wms') {
-        return mc.mapConfig.ServiceLayers[i]
-      }
-    }
-    return null
-  }
-}
-
-export default ServiceLayerHelper
diff --git a/src/components/panel/RightSearchPanel.vue b/src/components/panel/RightSearchPanel.vue
index d4f7db6..c8ff02e 100644
--- a/src/components/panel/RightSearchPanel.vue
+++ b/src/components/panel/RightSearchPanel.vue
@@ -35,11 +35,11 @@
         <div :class="[isCollapse? 'btn-stretch':'btn-shrink']" ></div>
       </div>
 
-        <div :class="'search-container map-background'">
-            <div class="el-message-box__content" style="padding:6px;font-size: 13px;">
-                <component :title="title" :is="gcComp"></component>
-            </div>
+      <div :class="'search-container map-background'">
+        <div class="el-message-box__content" style="padding:6px;font-size: 13px;">
+          <component :title="title" :is="gcComp"></component>
         </div>
+      </div>
     </div>
   </div>
 </template>
diff --git a/src/components/panel/topicSearch/DischargeSearch.vue b/src/components/panel/topicSearch/DischargeSearch.vue
index f4270ee..2696499 100644
--- a/src/components/panel/topicSearch/DischargeSearch.vue
+++ b/src/components/panel/topicSearch/DischargeSearch.vue
@@ -1,15 +1,15 @@
 <template>
-  <div class="sewers-search" v-if="gdVisible">
+  <div class="query-search" v-if="gdVisible">
     <div class="search-title">{{title}}</div>
     <div class="search-panel ">
       <el-form ref="form" :model="form" label-width="90px" class="search-form">
         <el-form-item label="鍖哄煙锛�" size="mini" class="search-panel-item">
           <el-select style="width: 100%"  v-model="form.areaVal" @change="areaType"  :popper-class="'select-down'">
             <el-option
-                    v-for="item in areaTypeOptions"
-                    :key="item.value"
-                    :label="item.label"
-                    :value="item.value">
+                v-for="item in areaTypeOptions"
+                :key="item.value"
+                :label="item.label"
+                :value="item.value">
             </el-option>
           </el-select>
         </el-form-item>
@@ -97,13 +97,13 @@
     <!--   <span class="location-btn" @click="handleLocation(item)">588</span> -->
     <el-card class="footer-page" v-if="total > 10">
       <el-pagination
-              small
-              @current-change="handlePage"
-              :page-size=pageSize
-              layout="prev, pager, next"
-              :total=total
-              :current-page=current
-              class="warnPagination"
+          small
+          @current-change="handlePage"
+          :page-size=pageSize
+          layout="prev, pager, next"
+          :total=total
+          :current-page=current
+          class="warnPagination"
       >
       </el-pagination>
     </el-card>
diff --git a/src/components/panel/topicSearch/EnvRiskSearch.vue b/src/components/panel/topicSearch/EnvRiskSearch.vue
index 99e555e..448978e 100644
--- a/src/components/panel/topicSearch/EnvRiskSearch.vue
+++ b/src/components/panel/topicSearch/EnvRiskSearch.vue
@@ -1,41 +1,41 @@
 <template>
-  <div class="sewers-search" v-if="gdVisible">
+  <div class="query-search" v-if="gdVisible">
     <div class="search-title">{{title}}</div>
     <div class="search-panel ">
       <el-form ref="form" :model="form" label-width="90px" class="search-form">
         <el-form-item label="鍖哄煙锛�" size="mini" class="search-panel-item">
           <el-select style="width: 100%"  v-model="form.areaVal" @change="areaType"  :popper-class="'select-down'">
             <el-option
-                    v-for="item in areaTypeOptions"
-                    :key="item.value"
-                    :label="item.label"
-                    :value="item.value">
+                v-for="item in areaTypeOptions"
+                :key="item.value"
+                :label="item.label"
+                :value="item.value">
             </el-option>
           </el-select>
         </el-form-item>
         <el-form-item label="浼佷笟鍚嶇О" size="mini">
           <el-select style="width: 100%"  v-model="form.enterpriseVal"  @change="enterpriseType" :popper-class="'select-down'">
             <el-option
-                    v-for="item in enterpriseTypeOptions"
-                    :key="item.value"
-                    :label="item.label"
-                    :value="item.value">
+                v-for="item in enterpriseTypeOptions"
+                :key="item.value"
+                :label="item.label"
+                :value="item.value">
             </el-option>
           </el-select>
         </el-form-item>
         <el-form-item label="浜岀骇鍗曚綅" size="mini">
           <el-select style="width: 100%"  v-model="form.enterpriseSubunitsVal"  @change="enterpriseSubunitsType" :popper-class="'select-down'">
             <el-option
-                    v-for="item in enterpriseSubunitsTypeOptions"
-                    :key="item.value"
-                    :label="item.label"
-                    :value="item.value">
+                v-for="item in enterpriseSubunitsTypeOptions"
+                :key="item.value"
+                :label="item.label"
+                :value="item.value">
             </el-option>
           </el-select>
         </el-form-item>
         <el-form-item label="椋庨櫓绾у埆" size="mini"></el-form-item>
         <el-radio-group v-model="form.type" class="levelOfRisk">
-            <el-radio  v-for="(item,index) in levelOfRisk" :label="item.value" :key="index"><span class="levelOfRisk-type">{{item.name}}<i :style="'background:'+item.color"></i></span></el-radio>
+          <el-radio  v-for="(item,index) in levelOfRisk" :label="item.value" :key="index"><span class="levelOfRisk-type">{{item.name}}<i :style="'background:'+item.color"></i></span></el-radio>
         </el-radio-group>
         <div class="rightButtonSearch">
           <el-input  v-model="form.keyword" size="mini"  placeholder="鍦ㄦ杈撳叆鍏抽敭瀛楁悳绱�">
@@ -48,22 +48,22 @@
       <div class="environmental-risk-list" v-for="(item,index) in 5" :key="index" ><!-- v-for="(item,index) in list" :key="index" -->
         <i class="state"></i>
         <div>
-            <h3>###鐐煎寲閮�</h3>
-            <p>鎵�灞為儴闂細<span>鐐煎寲閮�</span></p>
-            <p>椋庨櫓绾у埆锛�<span>涓夌骇</span></p>
+          <h3>###鐐煎寲閮�</h3>
+          <p>鎵�灞為儴闂細<span>鐐煎寲閮�</span></p>
+          <p>椋庨櫓绾у埆锛�<span>涓夌骇</span></p>
         </div>
       </div>
     </el-scrollbar>
     <!--   <span class="location-btn" @click="handleLocation(item)">588</span> -->
     <el-card class="footer-page" v-if="total > 10">
       <el-pagination
-              small
-              @current-change="handlePage"
-              :page-size=pageSize
-              layout="prev, pager, next"
-              :total=total
-              :current-page=current
-              class="warnPagination"
+          small
+          @current-change="handlePage"
+          :page-size=pageSize
+          layout="prev, pager, next"
+          :total=total
+          :current-page=current
+          class="warnPagination"
       >
       </el-pagination>
     </el-card>
diff --git a/src/components/panel/topicSearch/GasWasteSearch.vue b/src/components/panel/topicSearch/GasWasteSearch.vue
index 9cffa38..90166ea 100644
--- a/src/components/panel/topicSearch/GasWasteSearch.vue
+++ b/src/components/panel/topicSearch/GasWasteSearch.vue
@@ -1,5 +1,5 @@
 <template>
-  <div class="sewers-search" v-if="gdVisible">
+  <div class="query-search" v-if="gdVisible">
     <div class="search-title">{{title}}</div>
     <div class="search-panel ">
       <el-form ref="form" :model="form" label-width="90px" class="search-form">
@@ -24,6 +24,16 @@
           </el-select>
         </el-form-item>
         <el-form-item label="浜岀骇鍗曚綅" size="mini">
+          <el-select style="width: 100%"  v-model="form.enterpriseSubunitsVal"  @change="enterpriseSubunitsType" :popper-class="'select-down'">
+            <el-option
+                v-for="item in enterpriseSubunitsTypeOptions"
+                :key="item.value"
+                :label="item.label"
+                :value="item.value">
+            </el-option>
+          </el-select>
+        </el-form-item>
+        <el-form-item label="涓夌骇鍗曚綅" size="mini">
           <el-select style="width: 100%"  v-model="form.enterpriseSubunitsVal"  @change="enterpriseSubunitsType" :popper-class="'select-down'">
             <el-option
                 v-for="item in enterpriseSubunitsTypeOptions"
@@ -156,7 +166,7 @@
         { name: '姝e父', value: '2' },
         { name: '瓒呮爣', value: '3' },
         { name: '寮傚父', value: '4' },
-        { name: '鍋滀骇', value: '4' }
+        { name: '鍋滀骇', value: '5' }
       ]
     }
   },
@@ -182,6 +192,7 @@
     enterpriseSubunitsType (val) {
 
     },
+    // 涓夌骇鍗曚綅绛涢��
     async handleSearch () {
       const param = {
         pipelineType: this.form.pipelineType,
diff --git a/src/components/panel/topicSearch/SolidWasteSearch.vue b/src/components/panel/topicSearch/SolidWasteSearch.vue
index 7b78c79..eb42e35 100644
--- a/src/components/panel/topicSearch/SolidWasteSearch.vue
+++ b/src/components/panel/topicSearch/SolidWasteSearch.vue
@@ -129,6 +129,7 @@
         // 鏁版嵁鐨勪紶閫�
         transferData: ''
       },
+      // 鏁版嵁鎼滅储涔嬪悗锛屽瓨鍌ㄦ暟鎹殑
       searchDataDisplay: []
     }
   },
diff --git a/src/components/table/components/WasteWater.vue b/src/components/table/components/WasteWater.vue
index 3291fb1..af191ce 100644
--- a/src/components/table/components/WasteWater.vue
+++ b/src/components/table/components/WasteWater.vue
@@ -82,7 +82,7 @@
                            width="200"
                            trigger="click"
                                    popper-class="popovers"
-                           title="XXX1鏄庣粏琛�"
+                           title="鐩戞祴鐐规槑缁嗚〃"
                        >
                          <refinery></refinery>
                          <u slot="reference" style="color: #00ffff">{{row.normal}}</u>
diff --git a/src/conf/Constants.js b/src/conf/Constants.js
index 455d6e2..98f7fa1 100644
--- a/src/conf/Constants.js
+++ b/src/conf/Constants.js
@@ -11,6 +11,18 @@
   sewersAreaGs: 'Company.js'
 }
 
+export const STYLES = {
+  FILL: true,
+  WEIGHT: 3,
+  FILL_COLOR: '#73b2ff',
+  COLOR: '#73b2ff',
+  FILL_OPACITY: 0.2,
+  OPACITY: 1,
+  DASH_ARRAY: '4,4',
+  DASH_SPPED: -5,
+  ICON_SIZE: [20, 20]
+}
+
 export const props = {
   pipename: '绠$嚎鍚嶇О',
   pipecode: '绠$嚎缂栫爜',
diff --git a/src/conf/LayerPipeLine.js b/src/conf/LayerPipeLine.js
new file mode 100644
index 0000000..46807c3
--- /dev/null
+++ b/src/conf/LayerPipeLine.js
@@ -0,0 +1,13 @@
+/**
+ * 绠$嚎鏁版嵁
+ */
+import { LayerPipeLines } from './layers/LayerPipeLines'
+import { LayerArea } from './layers/LayerArea'
+import { LayerPk } from './layers/LayerPk'
+
+export const LayerPipeLine = {
+  code: 'sewersPipeLine',
+  name: '绠$嚎鏁版嵁',
+  checked: true,
+  layers: [LayerPipeLines, LayerPk, LayerArea]
+}
diff --git a/src/conf/LayerTopic.js b/src/conf/LayerTopic.js
new file mode 100644
index 0000000..66197d9
--- /dev/null
+++ b/src/conf/LayerTopic.js
@@ -0,0 +1,16 @@
+/**
+ * 鍖哄煙
+ */
+import { LayerWasteWater } from './layers/LayerWasteWater'
+import { LayerWasteGas } from './layers/LayerWasteGas'
+import { LayerWasteSolid } from './layers/LayerWasteSolid'
+import { LayerAirQuality } from './layers/LayerAirQuality'
+import { LayerEnvRisk } from './layers/LayerEnvRisk'
+import { LayerSoilGroundWater } from './layers/LayerSoilGroundWater'
+
+export const LayerTopic = {
+  code: 'sewersTopic',
+  name: '涓撻鍥惧眰',
+  checked: true,
+  layers: [LayerWasteWater, LayerWasteGas, LayerWasteSolid, LayerAirQuality, LayerEnvRisk, LayerSoilGroundWater]
+}
diff --git a/src/conf/MapConfig.js b/src/conf/MapConfig.js
index 704279b..8f95cd8 100644
--- a/src/conf/MapConfig.js
+++ b/src/conf/MapConfig.js
@@ -1,14 +1,8 @@
 锘縤mport * as L from 'leaflet'
 import TDT from './TDT'
 import { LayerSewersPoint } from './layers/LayerSewers'
-import { LayerWasteWater } from './layers/LayerWasteWater'
-import { LayerSolidWaste } from './layers/LayerSolidWaste'
-import { LayerWasteGas } from './layers/LayerWasteGas'
-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'
+import { LayerTopic } from './LayerTopic'
+import { LayerPipeLine } from './LayerPipeLine'
 
 const curWwwPath = window.document.location.href
 const pathname = window.document.location.pathname
@@ -32,7 +26,7 @@
   // center: [26, 104],
   center: [38.828558921813965, 117.41676807403564],
   // center: [29.454345703125, 113.40362548828125],
-  zoom: 14,
+  zoom: 5,
   worldCopyJump: true,
   inertia: true,
   zoomControl: false,
@@ -48,7 +42,7 @@
   IntranetBaseMaps: TDT.intranet,
   InternetBaseMaps: TDT.internet,
   Layers: {
-    LayerSewersLine: [LayerPipeLine, LayerFsss, LayerHbss, LayerArea, LayerPk, LayerWasteWater, LayerWasteGas, LayerSolidWaste],
+    LayerSewersLine: [LayerPipeLine, LayerTopic],
     layerSewersPoint: LayerSewersPoint
   } // 姹¢洦姘村浘灞傞厤缃�
 }
diff --git a/src/conf/Styles.js b/src/conf/Styles.js
deleted file mode 100644
index 9f6457d..0000000
--- a/src/conf/Styles.js
+++ /dev/null
@@ -1,21 +0,0 @@
-const defaultLineStyle = {
-  fill: true,
-  weight: 3,
-  fillColor: '#73b2ff',
-  color: '#73b2ff',
-  fillOpacity: 0.2,
-  opacity: 1,
-  dashArray: '4,4',
-  dashSpeed: -5,
-  size: [20, 20]
-}
-
-const customStyles = {
-  pipeline: {
-  }
-}
-
-export default {
-  defaultLineStyle,
-  customStyles
-}
diff --git a/src/conf/layers/LayerAirQuality.js b/src/conf/layers/LayerAirQuality.js
new file mode 100644
index 0000000..738548e
--- /dev/null
+++ b/src/conf/layers/LayerAirQuality.js
@@ -0,0 +1,20 @@
+/**
+ * 鍖哄煙
+ */
+const APP_GIS_HOST_2 = 'http://xearth.cn:8088'
+const WFS_URL = APP_GIS_HOST_2 + '/server/ogcserver/PipeLine/wfs'
+export const LayerAirQuality = {
+  code: 'sewersAirQuality',
+  name: '绌烘皵璐ㄩ噺',
+  checked: true,
+  layers: [
+    {
+      code: 'airQualityStation',
+      name: '鐩戞祴绔�',
+      sname: '鐩戞祴绔�', // 琛ㄥ悕
+      checked: true, // 榛樿閫変腑鐘舵��
+      url: WFS_URL + '?TYPENAME=鍏徃',
+      minZoom: 10
+    }
+  ]
+}
diff --git a/src/conf/layers/LayerBasin.js b/src/conf/layers/LayerBasin.js
new file mode 100644
index 0000000..1476068
--- /dev/null
+++ b/src/conf/layers/LayerBasin.js
@@ -0,0 +1,44 @@
+/**
+ * 娴佸煙
+ */
+const APP_GIS_HOST_2 = 'http://xearth.cn:8088'
+const WFS_URL = APP_GIS_HOST_2 + '/server/ogcserver/PipeLine/wfs'
+export const LayerBasin = {
+  code: 'sewersBasin',
+  name: '鍖哄煙鍥惧眰',
+  checked: true,
+  layers: [
+    {
+      code: 'basinCj',
+      name: '闀挎睙娴佸煙',
+      sname: '闀挎睙娴佸煙', // 琛ㄥ悕
+      checked: true, // 榛樿閫変腑鐘舵��
+      url: WFS_URL + '?TYPENAME=鍏徃',
+      minZoom: 10
+    },
+    {
+      code: 'basinHh',
+      name: '榛勬渤娴佸煙',
+      sname: '榛勬渤娴佸煙',
+      checked: true, // 榛樿閫変腑鐘舵��
+      wfs: WFS_URL + '?TYPENAME=鐮佸ご',
+      minZoom: 10
+    },
+    {
+      code: 'basinBh',
+      name: '娓ゆ捣娴佸煙',
+      sname: '娓ゆ捣娴佸煙',
+      checked: true, // 榛樿閫変腑鐘舵��
+      wfs: WFS_URL + '?TYPENAME=瑁呯疆鍖�',
+      minZoom: 10
+    },
+    {
+      code: 'basinQt',
+      name: '鍏朵粬',
+      sname: '鍏朵粬',
+      checked: true, // 榛樿閫変腑鐘舵��
+      wfs: WFS_URL + '?TYPENAME=瑁呯疆鍖�',
+      minZoom: 10
+    }
+  ]
+}
diff --git a/src/conf/layers/LayerEnvRisk.js b/src/conf/layers/LayerEnvRisk.js
new file mode 100644
index 0000000..5e24a1f
--- /dev/null
+++ b/src/conf/layers/LayerEnvRisk.js
@@ -0,0 +1,52 @@
+/**
+ * 鐜椋庨櫓
+ */
+const APP_GIS_HOST_2 = 'http://xearth.cn:8088'
+const WFS_URL = APP_GIS_HOST_2 + '/server/ogcserver/PipeLine/wfs'
+export const LayerEnvRisk = {
+  code: 'sewersEnvRisk',
+  name: '鐜椋庨櫓',
+  checked: true,
+  layers: [
+    {
+      code: 'envRiskChart',
+      name: '椋庨櫓缁熻鍥�',
+      sname: '椋庨櫓缁熻鍥�', // 琛ㄥ悕
+      checked: true, // 榛樿閫変腑鐘舵��
+      url: WFS_URL + '?TYPENAME=鍏徃',
+      minZoom: 10
+    },
+    {
+      code: 'envRiskMaterial',
+      name: '鐗╄祫搴�',
+      sname: '鐗╄祫搴�',
+      checked: true, // 榛樿閫変腑鐘舵��
+      wfs: WFS_URL + '?TYPENAME=鐮佸ご',
+      minZoom: 10
+    },
+    {
+      code: 'envRiskMajor',
+      name: '閲嶅ぇ椋庨櫓',
+      sname: '閲嶅ぇ椋庨櫓',
+      checked: true, // 榛樿閫変腑鐘舵��
+      wfs: WFS_URL + '?TYPENAME=瑁呯疆鍖�',
+      minZoom: 10
+    },
+    {
+      code: 'envRiskFirst',
+      name: '涓�绾ч闄�',
+      sname: '涓�绾ч闄�',
+      checked: true, // 榛樿閫変腑鐘舵��
+      wfs: WFS_URL + '?TYPENAME=瑁呯疆鍖�',
+      minZoom: 10
+    },
+    {
+      code: 'envRiskSecond',
+      name: '浜岀骇椋庨櫓',
+      sname: '浜岀骇椋庨櫓',
+      checked: true, // 榛樿閫変腑鐘舵��
+      wfs: WFS_URL + '?TYPENAME=瑁呯疆鍖�',
+      minZoom: 10
+    }
+  ]
+}
diff --git a/src/conf/layers/LayerPipeLine.js b/src/conf/layers/LayerPipeLines.js
similarity index 96%
rename from src/conf/layers/LayerPipeLine.js
rename to src/conf/layers/LayerPipeLines.js
index c90a7f4..4209ddc 100644
--- a/src/conf/layers/LayerPipeLine.js
+++ b/src/conf/layers/LayerPipeLines.js
@@ -4,8 +4,8 @@
 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',
+export const LayerPipeLines = {
+  code: 'sewersPipeLines',
   name: '绠$嚎',
   checked: true,
   layers: [
diff --git a/src/conf/layers/LayerSewers.js b/src/conf/layers/LayerSewers.js
index 93ca450..c61b00a 100644
--- a/src/conf/layers/LayerSewers.js
+++ b/src/conf/layers/LayerSewers.js
@@ -15,7 +15,7 @@
       checked: true, // 榛樿閫変腑鐘舵��
       wfs: WFS_URL + '?TYPENAME=绠$綉',
       minZoom: 10, // 鍦ㄦ寚瀹氱骇鍒樉绀�
-      childLayer: 'fsss,hbss' // 鍏宠仈PointLayers
+      childLayer: 'sewersFsss,sewersHbss' // 鍏宠仈PointLayers
     },
     {
       code: 'oilline',
@@ -24,7 +24,7 @@
       checked: true, // 榛樿閫変腑鐘舵��
       wfs: WFS_URL + '?TYPENAME=鍚补姹℃按',
       minZoom: 10,
-      childLayer: 'fsss,hbss' // 鍏宠仈PointLayers
+      childLayer: 'sewersFsss,sewersHbss' // 鍏宠仈PointLayers
     },
     {
       code: 'saltline',
@@ -33,7 +33,7 @@
       checked: true, // 榛樿閫変腑鐘舵��
       wfs: WFS_URL + '?TYPENAME=鍚洂姹℃按',
       minZoom: 10,
-      childLayer: 'fsss,hbss' // 鍏宠仈PointLayers
+      childLayer: 'sewersFsss,sewersHbss' // 鍏宠仈PointLayers
     },
     {
       code: 'alkaliline',
@@ -42,7 +42,7 @@
       checked: true, // 榛樿閫変腑鐘舵��
       wfs: WFS_URL + '?TYPENAME=鍚⒈姹℃按',
       minZoom: 10,
-      childLayer: 'fsss,hbss' // 鍏宠仈PointLayers
+      childLayer: 'sewersFsss,sewersHbss' // 鍏宠仈PointLayers
     },
     {
       code: 'outlet',
@@ -60,7 +60,7 @@
       checked: true, // 榛樿閫変腑鐘舵��
       wfs: WFS_URL + '?TYPENAME=浜嬫晠姘�',
       minZoom: 10,
-      childLayer: 'fsss,hbss' // 鍏宠仈PointLayers
+      childLayer: 'sewersFsss,sewersHbss' // 鍏宠仈PointLayers
     },
     {
       code: 'loopline',
@@ -69,7 +69,7 @@
       checked: true, // 榛樿閫変腑鐘舵��
       wfs: WFS_URL + '?TYPENAME=寰幆姘�',
       minZoom: 10,
-      childLayer: 'fsss,hbss' // 鍏宠仈PointLayers
+      childLayer: 'sewersFsss,sewersHbss' // 鍏宠仈PointLayers
     },
     {
       code: 'purifyline',
@@ -78,7 +78,7 @@
       checked: true, // 榛樿閫変腑鐘舵��
       wfs: WFS_URL + '?TYPENAME=鍑�鍖栨按',
       minZoom: 10,
-      childLayer: 'fsss,hbss' // 鍏宠仈PointLayers
+      childLayer: 'sewersFsss,sewersHbss' // 鍏宠仈PointLayers
     },
     {
       code: 'lifeline',
@@ -87,7 +87,7 @@
       checked: true, // 榛樿閫変腑鐘舵��
       wfs: WFS_URL + '?TYPENAME=鐢熸椿姹℃按',
       minZoom: 10,
-      childLayer: 'fsss,hbss' // 鍏宠仈PointLayers
+      childLayer: 'sewersFsss,sewersHbss' // 鍏宠仈PointLayers
     },
     {
       code: 'areainfo',
diff --git a/src/conf/layers/LayerSoilGroundWater.js b/src/conf/layers/LayerSoilGroundWater.js
new file mode 100644
index 0000000..b75b78d
--- /dev/null
+++ b/src/conf/layers/LayerSoilGroundWater.js
@@ -0,0 +1,52 @@
+/**
+ * 鍦熷¥鍙婂湴涓嬫按
+ */
+const APP_GIS_HOST_2 = 'http://xearth.cn:8088'
+const WFS_URL = APP_GIS_HOST_2 + '/server/ogcserver/PipeLine/wfs'
+export const LayerSoilGroundWater = {
+  code: 'sewersSoilGroundWater',
+  name: '鍦熷¥鍙婂湴涓嬫按',
+  checked: true,
+  layers: [
+    {
+      code: 'soil',
+      name: '鍦熷¥',
+      sname: '鍦熷¥', // 琛ㄥ悕
+      checked: true, // 榛樿閫変腑鐘舵��
+      url: WFS_URL + '?TYPENAME=鍏徃',
+      minZoom: 10
+    },
+    {
+      code: 'groundWater',
+      name: '鍦颁笅姘�',
+      sname: '鍦颁笅姘�',
+      checked: true, // 榛樿閫変腑鐘舵��
+      wfs: WFS_URL + '?TYPENAME=鐮佸ご',
+      minZoom: 10
+    },
+    {
+      code: 'firstRiskBlock',
+      name: '涓�绾ч闄╁湴鍧�',
+      sname: '涓�绾ч闄╁湴鍧�',
+      checked: true, // 榛樿閫変腑鐘舵��
+      wfs: WFS_URL + '?TYPENAME=瑁呯疆鍖�',
+      minZoom: 10
+    },
+    {
+      code: 'secondRiskBlock',
+      name: '浜岀骇椋庨櫓鍦板潡',
+      sname: '浜岀骇椋庨櫓鍦板潡',
+      checked: true, // 榛樿閫変腑鐘舵��
+      wfs: WFS_URL + '?TYPENAME=瑁呯疆鍖�',
+      minZoom: 10
+    },
+    {
+      code: 'threeRiskBlock',
+      name: '涓夌骇椋庨櫓鍦板潡',
+      sname: '涓夌骇椋庨櫓鍦板潡',
+      checked: true, // 榛樿閫変腑鐘舵��
+      wfs: WFS_URL + '?TYPENAME=瑁呯疆鍖�',
+      minZoom: 10
+    }
+  ]
+}
diff --git a/src/conf/layers/LayerSolidWaste.js b/src/conf/layers/LayerWasteSolid.js
similarity index 93%
rename from src/conf/layers/LayerSolidWaste.js
rename to src/conf/layers/LayerWasteSolid.js
index fb49c33..1610672 100644
--- a/src/conf/layers/LayerSolidWaste.js
+++ b/src/conf/layers/LayerWasteSolid.js
@@ -3,7 +3,7 @@
  * @type {string}
  */
 
-export const LayerSolidWaste = {
+export const LayerWasteSolid = {
   code: 'solidWaste',
   name: '鍥哄簾',
   checked: true,
diff --git a/src/views/MapTemplate.vue b/src/views/MapTemplate.vue
index 5463f63..e19b47f 100644
--- a/src/views/MapTemplate.vue
+++ b/src/views/MapTemplate.vue
@@ -3,11 +3,7 @@
     <popup ref="popup" @callPopup="callPopup"></popup>
     <div id="map" ref="rootmap">
     </div>
-    <sgis-layer-controller :preset="'warningPreset'">
-      <lc-basemap></lc-basemap>
-      <!--            <div class="barline"></div>-->
-      <lc-service-layer class="barline" v-if="lcServiceLayerVisible"></lc-service-layer>
-    </sgis-layer-controller>
+    <sgis-layer-controller></sgis-layer-controller>
     <monitor-panel></monitor-panel>
     <!--        <top-enterprise-panel></top-enterprise-panel>-->
     <tool-box-panel ref="toolBox"></tool-box-panel>
@@ -28,8 +24,6 @@
 import Sgis from '@src/Sgis'
 // import mapConfig from '@/conf/MapConfig'
 import SgisLayerController from '@components/LayerController/LayerController'
-import LcBasemap from '@components/LayerController/modules/LcBaseMap'
-import LcServiceLayer from '@components/LayerController/modules/LcServiceLayer'
 import MonitorPanel from '@components/panel/RightSearchPanel'
 // import TopEnterprisePanel from '@components/panel/TopEnterprisePanel'
 import summarySheets from '@components/table/summarySheets.vue'
@@ -38,10 +32,6 @@
 // import MenuSpecial from '@components/panel/MenuTopic'
 import LegendPanel from '@components/panel/LegendPanel'
 import Enterprise from '../components/table/enterprise'
-// 搴曞浘涓氬姟js閫昏緫
-
-import AddWasteWaterHelper from '@components/BaseNav/WasteWater/WasteWater'
-import AddGasHelper from '@components/BaseNav/flueGas/flueGas'
 // // 鍏叡灞曠ず鏁版嵁
 import PublicBounced from '@components/BaseNav/PublicBounced/PublicBounced'
 import LayerFactory from '@components/LayerController/service/LayerFactory'
@@ -56,8 +46,6 @@
     // TopEnterprisePanel,
     SgisLayerController,
     MonitorPanel,
-    LcBasemap,
-    LcServiceLayer,
     Popup,
     summarySheets,
     PublicBounced
@@ -83,44 +71,6 @@
     })
   },
   methods: {
-    AddGasHelper () {
-      const data = {
-        companyId: 3900100145,
-        id: '',
-        monType: 2,
-        userCode: 'wenchun.deng',
-        monDuration: '',
-        epName: '',
-        secdDeptId: '',
-        contrLevel: '',
-        dataStatus: '',
-        dataFlag: '',
-        runStatus: '',
-        emissTypeId: ''
-      }
-      const AddGas = new AddGasHelper({ map: this.map })
-      AddGas.requestData(data)
-      AddGas.SetPlueGasContent(this.config, this.$refs.PublicBounced)
-    },
-    ChangeWaterState () {
-      const data = {
-        companyId: 3900100145,
-        id: '',
-        monType: 1,
-        userCode: 'wenchun.deng',
-        monDuration: '',
-        epName: '',
-        secdDeptId: '',
-        contrLevel: '',
-        dataStatus: '',
-        dataFlag: '',
-        runStatus: '',
-        emissTypeId: ''
-      }
-      const AddWasteWater = new AddWasteWaterHelper({ map: this.map })
-      AddWasteWater.requestData(data)
-      AddWasteWater.SetWasteWaterContent(this.config, this.$refs.PublicBounced)
-    },
     saveMapStatus () {
       window.serviceLayerHelper = this.serviceLayerHelper
       this.$store.commit('setMapObj', this.map)
@@ -140,16 +90,11 @@
         L: window.L,
         map: this.map
       })
-      layerFactory.init()
+      layerFactory.init(this.$store.state.map.serviceLayers.LayerSewersLine)
       window.layerFactory = layerFactory
 
       this.basemapHelper = Sgis.initBasemapsHelper(this.map) // 鍒濆鍖栧熀纭�搴曞浘鍔╂墜
       this.basemapHelper.initBasemap(this.config, false) // 绗簩涓弬鏁帮紝琛ㄧず鏄惁鍐呯綉搴曞浘
-
-      // this.serviceLayerHelper = Sgis.initTileLayersHelper(this.map) // 鍒濆鍖栦笟鍔″簳鍥惧姪鎵�
-      // console.log('-------' + this.$refs.popup.$el)
-      // this.serviceLayerHelper.initServiceLayers(this.config, this.$refs.popup)
-
       this.vectorLayerHelper = Sgis.initVectorLayersHelper(this.map) // 鍒濆鍖栧姩鎬佽绱犲浘灞傚姪鎵�
       this.vectorLayerHelper.initVectorLayers(this.config)
 
@@ -161,36 +106,6 @@
       // this.setBasemapHelper(this.basemapHelper)
       // this.setServiceLayerHelper(this.serviceLayerHelper)
       // this.setVectorLayerHelper(this.vectorLayerHelper)
-      this.addMarker()
-    },
-    addMarker () {
-      const L = this.L
-      var icon = new L.Icon({
-        iconUrl: 'assets/images/map/marker-icon.png',
-        shadowUrl: 'assets/images/map/marker-shadow.png',
-        iconSize: [25, 41],
-        iconAnchor: [12, 41],
-        popupAnchor: [1, -34],
-        shadowSize: [41, 41]
-      })
-      var marker = L.marker([32.2221, 118.7843], {
-        icon: icon
-      }).addTo(this.map)
-        .bindPopup(() => this.$refs.popup.$el, {
-          className: 's-map-popup',
-          minWidth: 300,
-          closeButton: false,
-          autoClose: false
-        })
-        .bindTooltip('瀛椾綋鍏夋檿鏁堟灉t.', {
-          // permanent : true,
-          offset: [0, 0], // 鍋忕Щ
-          direction: 'right', // 鏀剧疆浣嶇疆
-          // sticky:true,//鏄惁鏍囪鍦ㄧ偣涓婇潰
-          className: 'anim-tooltip'// CSS鎺у埗
-        })
-
-      marker.on('popupopen', this.onLayerClick)
     },
     onLayerClick () {
       this.$refs.popup.setShow()
diff --git a/src/views/baseInfoMgr/pipeline/PipeLineIndex.vue b/src/views/baseInfoMgr/pipeline/PipeLineIndex.vue
index 7118d09..84ae2a2 100644
--- a/src/views/baseInfoMgr/pipeline/PipeLineIndex.vue
+++ b/src/views/baseInfoMgr/pipeline/PipeLineIndex.vue
@@ -9,7 +9,6 @@
 import 'leaflet/dist/leaflet.css'
 import Sgis from '@src/Sgis'
 import PipeLineList from './PipeLineList'
-import { mapMutations } from 'vuex'
 
 export default {
   name: 'PipeLineIndex',
@@ -20,20 +19,10 @@
     })
   },
   methods: {
-    ...mapMutations({
-      setMapObj: 'setMapObj',
-      setLayerHelper: 'setLayerHelper'
-    }),
     init () {
       const mapcontainer = this.$refs.rootmap
-      this.mapObj = Sgis.initMap(mapcontainer)
-      this.basemapHelper = Sgis.initBasemaps(this.mapObj.map, this.mapObj.L) // 鍒濆鍖栧簳鍥�
-      this.vectorLayerHelper = Sgis.initLayers(this.mapObj.map, this.mapObj.L, {}, this.$nodeEnv) // 鍒濆鍖栦笟鍔″浘灞�
-      this.setLayerHelper(this.vectorLayerHelper)
+      Sgis.initMap(mapcontainer)
       return this.map
-    },
-    setLayerHelper () {
-
     }
   }
 }

--
Gitblit v1.8.0