From 175db8fd0f26c8f7b01c7bc717cbf46cebad9805 Mon Sep 17 00:00:00 2001
From: chenyabin <Chenab123!>
Date: 星期四, 01 四月 2021 18:10:14 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/develop' into develop

---
 src/components/panel/RightSearchPanel.vue                          |    2 
 src/components/LayerController/logic/WasteGas.js                   |    3 
 src/components/LayerController/service/AnimalService.js            |    3 
 src/components/BaseNav/PublicBounced/GasComponents/PublicChart.vue |  103 +++
 src/components/panel/topicSearch/GasWasteSearch.vue                |  244 +++++++++
 src/api/mapApi.js                                                  |    8 
 src/components/BaseNav/PublicBounced/GasComponents/PublicTable.vue |   57 -
 src/components/panel/LegendPanel.vue                               |  121 ----
 src/api/mapUrl.js                                                  |    9 
 src/components/BaseNav/PublicBounced/PublicBounced.vue             |   42 
 src/Sgis.js                                                        |    1 
 src/components/panel/topicSearch/SolidWasteSearch.vue              |  234 +++++++++
 src/conf/layers/LayerSolidWaste.js                                 |    1 
 /dev/null                                                          |  221 --------
 src/components/panel/topicSearch/WaterWasteSearch.vue              |  244 +++++++++
 src/components/BaseNav/PublicBounced/GasComponents/PublicVideo.vue |    0 
 src/components/BaseNav/PublicBounced/GasComponents/ECharts.vue     |   29 
 src/components/LayerController/logic/WasteWater.js                 |   12 
 src/components/BaseNav/PublicBounced/GasComponents/PublicTabs.vue  |  142 +++++
 src/components/LayerController/logic/SolidWaste.js                 |   63 +-
 20 files changed, 1,114 insertions(+), 425 deletions(-)

diff --git a/src/Sgis.js b/src/Sgis.js
index 6e794e0..6626200 100644
--- a/src/Sgis.js
+++ b/src/Sgis.js
@@ -49,6 +49,7 @@
  */
 const initBasemapsHelper = (map) => {
   // todo 杩欓噷杩涜搴曞浘鍦板浘鐨勫垵濮嬪寲
+  console.log(map)
   return new BasemapHelper({ map })
 }
 /**
diff --git a/src/api/mapApi.js b/src/api/mapApi.js
index 69f9f9a..e43f988 100644
--- a/src/api/mapApi.js
+++ b/src/api/mapApi.js
@@ -20,6 +20,14 @@
   getSolidWasteBaseInfo (data) {
     return axios.get(mapUrl.getSolidWasteBaseInfo, data)
   },
+  // 鍥哄簾璇︾粏淇℃伅
+  getSolidWasteDetail (data) {
+    return axios.get(mapUrl.getSolidWasteDetail, data)
+  },
+  // 鍥哄簾 鏁版嵁鎼滅储 鏆傛椂
+  getSolidWasteSurveyDetail (data) {
+    return axios.get(mapUrl.getSolidWasteSurveyDetail, data)
+  },
   getWasteGas (data) {
     return axios.get(mapUrl.getWasteGas, data)
   },
diff --git a/src/api/mapUrl.js b/src/api/mapUrl.js
index 1755bd1..03933ac 100644
--- a/src/api/mapUrl.js
+++ b/src/api/mapUrl.js
@@ -5,12 +5,13 @@
 
 export const GetUser = $HOST + '/user/getUser'
 
+export const getSolidWaste = $HOST + '/wasteSolid/getSolidWaste'
+export const getSolidWasteBaseInfo = $HOST + '/wasteSolid/getSolidWasteBaseInfo'
+export const getSolidWasteDetail = $HOST + '/wasteSolid/getSolidWasteDetail'
+export const getSolidWasteSurveyDetail = $HOST + '/wasteSolid/getSolidWasteSurveyDetail'
+
 export const getWasteGas = $HOST + '/wasteGas/getWasteGas'
 
-export const getSolidWaste = $HOST + '/wasteSolid/getSolidWaste'
-
 export const getWasteWater = $HOST + '/wasteWater/getWasteWater'
-
-export const getSolidWasteBaseInfo = $HOST + '/wasteSolid/getSolidWasteBaseInfo'
 
 export const getCompany = $HOST + '/company/getCompany'
diff --git a/src/components/BaseNav/PublicBounced/GasComponents/GasECharts.vue b/src/components/BaseNav/PublicBounced/GasComponents/ECharts.vue
similarity index 83%
rename from src/components/BaseNav/PublicBounced/GasComponents/GasECharts.vue
rename to src/components/BaseNav/PublicBounced/GasComponents/ECharts.vue
index c2366b0..0fc0cfb 100644
--- a/src/components/BaseNav/PublicBounced/GasComponents/GasECharts.vue
+++ b/src/components/BaseNav/PublicBounced/GasComponents/ECharts.vue
@@ -1,10 +1,18 @@
 <template>
-    <div style="width:750px;height:260px;" id="echarts" ref="main"></div>
+    <div id="Tab">
+        <div class="Infomation">
+            <el-tag>姘哀鍖栫墿 : 29.93 鏍囧噯 : 100</el-tag>
+            <el-tag>浜屾哀鍖栫~ : 17.34 鏍囧噯 : 50</el-tag>
+            <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>
 </template>
 
 <script>
 export default {
-  name: 'GasECharts',
+  name: 'ECharts',
   methods: {
     drawChart: function () {
       const myChart = this.$echarts.init(this.$refs.main)
@@ -88,7 +96,7 @@
         xAxis: {
           type: 'category',
           boundaryGap: false,
-          data: ['12:00:01', '12:00:02', '12:00:03', '12:00:04', '12:00:05', '12:00:06', '12:00:07'],
+          data: ['2021.01.01', '2021.01.02', '2021.01.03', '2021.01.04', '2021.01.05', '2021.01.06', '2021.01.07'],
           axisLabel: { // x杞村叏閮ㄦ樉绀�
             rotate: 20,
             interval: 0,
@@ -174,10 +182,23 @@
 </script>
 
 <style scoped lang="less">
+    .Infomation{
+        margin-left: 10px;
+    }
+    .el-tag{
+        height: 25px;
+        line-height: 25px;
+        margin-right: 10px;
+        font-size: 10px;
+        background-color: rgba(0, 255, 246, 0.14);
+        color: #00d0f9;
+        border: none;
+        padding: 0 15px;
+    }
   #echarts{
     margin: 0;
     padding: 0;
     border: 1px solid #396d83;
-    /*margin: 10px 10px 10px 10px;*/
+    margin: 10px 10px 10px 10px;
   }
 </style>
diff --git a/src/components/BaseNav/PublicBounced/GasComponents/EchartsTab.vue b/src/components/BaseNav/PublicBounced/GasComponents/EchartsTab.vue
deleted file mode 100644
index 1ab150f..0000000
--- a/src/components/BaseNav/PublicBounced/GasComponents/EchartsTab.vue
+++ /dev/null
@@ -1,33 +0,0 @@
-<template>
-        <div class="Infomation">
-            <el-tag>姘哀鍖栫墿: 29.93 鏍囧噯: 100</el-tag>
-            <el-tag>浜屾哀鍖栫~: 17.34鏍囧噯: 50</el-tag>
-            <el-tag>鐑熷皹: 6.93鏍囧噯: 30</el-tag>
-            <el-tag>搴熸皵娴侀噺: 120343.18</el-tag>
-        </div>
-</template>
-
-<script>
-export default {
-  name: 'EchartsTab',
-  props: ['displayContent'],
-  data () {
-    return {}
-  }
-}
-</script>
-
-<style scoped lang="less">
-    .Infomation{
-        margin-left: 10px;
-    }
-    .el-tag{
-        height: 25px;
-        line-height: 25px;
-        margin-right: 10px;
-        font-size: 10px;
-        background-color: rgba(0, 255, 246, 0.14);
-        color: #00d0f9;
-        border: none;
-    }
-</style>
diff --git a/src/components/BaseNav/PublicBounced/GasComponents/GasTab.vue b/src/components/BaseNav/PublicBounced/GasComponents/GasTab.vue
deleted file mode 100644
index ff172eb..0000000
--- a/src/components/BaseNav/PublicBounced/GasComponents/GasTab.vue
+++ /dev/null
@@ -1,112 +0,0 @@
-<template>
-  <!-- 妗� -->
-  <div class="win">
-    <!-- 鍥涗釜瑙掔殑杈规鏁堟灉 -->
-    <div class="border_corner border_corner_left_top"></div>
-    <div class="border_corner border_corner_right_top"></div>
-    <div class="border_corner border_corner_left_bottom"></div>
-    <div class="border_corner border_corner_right_bottom"></div>
-    <div class="main">
-      <div class="main-matter">
-        <el-row type="flex" class="row-bg row-item-one" justify="space-around">
-          <el-col :span="8">鐩戞祴鐐瑰悕绉�:{{ displayContent.Name }}</el-col>
-          <el-col :span="8">鐢熶骇鍗曚綅:{{ displayContent.porltName }}</el-col>
-          <el-col :span="8">鎺掓斁绫诲瀷鍔犺浇:{{ displayContent.MonTypeName }}</el-col>
-<!--          <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">鎺掓斁鍘诲悜:{{ displayContent.EmissDirecti }}</el-col>
-          <el-col :span="8">鎺у埗绾у埆鍚嶇О:{{ displayContent.ContrLevelShowName }}</el-col>
-          <el-col :span="8">鍐�/澶栨帓鍙�:{{ displayContent.OrOutPortName }}</el-col>
-<!--          <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>
-  </div>
-</template>
-
-<script>
-export default {
-  name: 'GasTable',
-  props: ['displayContent'],
-  data () {
-    return {}
-  }
-}
-</script>
-
-<style scoped lang="less">
-
-.win {
-  position: relative;
-  margin-bottom: 13px;
-  background-color: rgba(33, 41, 69,0.9);
-}
-.main {
-  width: 100%;
-  height: 100%;
-  .main-matter{
-    font-size: 13px;
-    font-weight: normal;
-    padding: 10px 6px;
-    border: 1px solid #396d83;
-    .row-item-one{
-      margin-bottom: 7px;
-    }
-    .el-row {
-      width: 100%;
-      color: #00d0f9;
-      display: flex;
-      font-size: 12px !important;
-      .el-col{
-        flex: 1;
-        width: 100%;
-        background-color: #243a55;;
-        text-align: center;
-        line-height: 28px;
-        margin-left: 6px;
-        border-radius: 4px;
-        &:nth-child(1){
-          margin-left:0;
-        }
-      }
-    }
-  }
-}
-.border_corner{
-  z-index: 999;
-  position: absolute;
-  width: 10px;
-  height: 10px;
-  background: rgba(0,0,0,0);
-  border: 1.5px solid #47d5ea;
-}
-.border_corner_left_top{
-  top: 0;
-  left: 0;
-  border-right: none;
-  border-bottom: none;
-}
-.border_corner_right_top{
-  top: 0;
-  right: 0;
-  border-left: none;
-  border-bottom: none;
-}
-.border_corner_left_bottom{
-  bottom: 0;
-  left: 0;
-  border-right: none;
-  border-top: none;
-}
-.border_corner_right_bottom{
-  bottom: 0;
-  right: 0;
-  border-left: none;
-  border-top: none;
-}
-</style>
diff --git a/src/components/BaseNav/PublicBounced/GasComponents/GasTable.vue b/src/components/BaseNav/PublicBounced/GasComponents/GasTable.vue
deleted file mode 100644
index e69de29..0000000
--- a/src/components/BaseNav/PublicBounced/GasComponents/GasTable.vue
+++ /dev/null
diff --git a/src/components/BaseNav/PublicBounced/GasComponents/GasTabs.vue b/src/components/BaseNav/PublicBounced/GasComponents/GasTabs.vue
deleted file mode 100644
index 23814fc..0000000
--- a/src/components/BaseNav/PublicBounced/GasComponents/GasTabs.vue
+++ /dev/null
@@ -1,79 +0,0 @@
-<template>
-    <div class="win">
-        <div class="border_corner border_corner_left_top"></div>
-        <div class="border_corner border_corner_right_top"></div>
-        <div class="border_corner border_corner_left_bottom"></div>
-        <div class="border_corner border_corner_right_bottom"></div>
-        <el-tabs type="card" v-model="activeName">
-            <el-tab-pane label="瀹炶瘯鏁版嵁" name="first">
-                <EchartsTab></EchartsTab>
-                <GasECharts></GasECharts>
-            </el-tab-pane>
-            <el-tab-pane label="鏃ユ暟鎹�" name="second"><EchartsTab></EchartsTab><GasECharts></GasECharts></el-tab-pane>
-            <el-tab-pane label="鏈堟暟鎹�" name="third"><EchartsTab></EchartsTab><GasECharts></GasECharts></el-tab-pane>
-            <el-tab-pane label="浜哄伐鏁版嵁" name="fourth"><EchartsTab></EchartsTab><GasECharts></GasECharts></el-tab-pane>
-        </el-tabs>
-    </div>
-</template>
-
-<script>
-import GasECharts from './GasECharts'
-import EchartsTab from './EchartsTab'
-
-export default {
-  name: 'GasTabs',
-  components: {
-    GasECharts,
-    EchartsTab
-  },
-  data () {
-    return {
-      activeName: 'first'
-    }
-  },
-  methods: {
-  }
-}
-
-</script>
-
-<style scoped>
-    .win {
-        position: relative;
-        margin-bottom: 13px;
-        background-color: rgba(33, 41, 69,0.9);
-        border: 0.8px solid #396d83;
-    }
-    .border_corner{
-        z-index: 999;
-        position: absolute;
-        width: 10px;
-        height: 10px;
-        background: rgba(0,0,0,0);
-        border: 1.5px solid #47d5ea;
-    }
-    .border_corner_left_top{
-        top: 0;
-        left: 0;
-        border-right: none;
-        border-bottom: none;
-    }
-    .border_corner_right_top{
-        top: 0;
-        right: 0;
-        border-left: none;
-        border-bottom: none;
-    }
-    .border_corner_left_bottom{
-        bottom: 0;
-        left: 0;
-        border-right: none;
-        border-top: none;
-    }
-    .border_corner_right_bottom{
-        bottom: 0;
-        right: 0;
-        border-left: none;
-        border-top: none;
-    }
-</style>
diff --git a/src/components/BaseNav/PublicBounced/GasComponents/PublicChart.vue b/src/components/BaseNav/PublicBounced/GasComponents/PublicChart.vue
new file mode 100644
index 0000000..db99764
--- /dev/null
+++ b/src/components/BaseNav/PublicBounced/GasComponents/PublicChart.vue
@@ -0,0 +1,103 @@
+<template>
+    <div class="win">
+        <div class="border_corner border_corner_left_top"></div>
+        <div class="border_corner border_corner_right_top"></div>
+        <div class="border_corner border_corner_left_bottom"></div>
+        <div class="border_corner border_corner_right_bottom"></div>
+        <ul class="tab">
+            <li @click='tabTaggle("ECharts")'>瀹炶瘯鏁版嵁</li>
+            <li @click='tabTaggle("ECharts")'>鏃ユ暟鎹�</li>
+            <li @click='tabTaggle("ECharts")'>鏈堟暟鎹�</li>
+            <li @click='tabTaggle("ECharts")'>浜哄伐鏁版嵁</li>
+        </ul>
+        <component :is="currentTab"></component>
+    </div>
+</template>
+
+<script>
+import ECharts from './ECharts'
+
+export default {
+  name: 'PublicChart',
+  components: {
+    ECharts
+  },
+  data () {
+    return {
+      currentTab: 'ECharts'
+    }
+  },
+  methods: {
+    tabTaggle (taggleMenu) {
+      this.currentTab = taggleMenu
+    }
+  }
+}
+
+</script>
+
+<style scoped>
+    *{
+        margin: 0;
+        padding: 0;
+        list-style: none;
+    }
+    .win {
+        position: relative;
+        margin-bottom: 13px;
+        background-color: rgba(33, 41, 69,0.9);
+        border: 0.8px solid #396d83;
+    }
+    .border_corner{
+        z-index: 999;
+        position: absolute;
+        width: 10px;
+        height: 10px;
+        background: rgba(0,0,0,0);
+        border: 1.5px solid #47d5ea;
+    }
+    .border_corner_left_top{
+        top: 0;
+        left: 0;
+        border-right: none;
+        border-bottom: none;
+    }
+    .border_corner_right_top{
+        top: 0;
+        right: 0;
+        border-left: none;
+        border-bottom: none;
+    }
+    .border_corner_left_bottom{
+        bottom: 0;
+        left: 0;
+        border-right: none;
+        border-top: none;
+    }
+    .border_corner_right_bottom{
+        bottom: 0;
+        right: 0;
+        border-left: none;
+        border-top: none;
+    }
+    .tab{
+        display: flex;
+        border-bottom: 1px solid #396d83;
+        margin-bottom: 10px;
+    }
+    li{
+        background-color: #243a55;
+        margin: 10px 10px 2px 10px;
+        /*padding: 5px 10px;*/
+        width: 90px;
+        height: 25px;
+        line-height: 25px;
+        text-align: center;
+        border-radius: 5px;
+    }
+    ul li:hover{
+        background-color: #0e639e;
+        color: #682000;
+        cursor: pointer;
+    }
+</style>
diff --git a/src/components/BaseNav/PublicBounced/GasComponents/PublicTable.vue b/src/components/BaseNav/PublicBounced/GasComponents/PublicTable.vue
index a6b9aa8..a35207d 100644
--- a/src/components/BaseNav/PublicBounced/GasComponents/PublicTable.vue
+++ b/src/components/BaseNav/PublicBounced/GasComponents/PublicTable.vue
@@ -9,15 +9,15 @@
       <div class="main-video">
         <el-table
             tooltip-effect="dark"
-            :data="data"
+            :data="displayContentTable2"
         >
-          <el-table-column prop="name" label="搴忓彿"></el-table-column>
-          <el-table-column prop="name" label="绫诲埆"></el-table-column>
-          <el-table-column prop="date" label="鍥哄簾鍚嶇О"></el-table-column>
-          <el-table-column prop="address" label="浠g爜"></el-table-column>
-          <el-table-column prop="address" label="浜х敓閲�"></el-table-column>
-          <el-table-column prop="name" label="鍌ㄥ瓨閲�"></el-table-column>
-          <el-table-column prop="date" label="浜х敓瑁呯疆"></el-table-column>
+          <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="StorageType" label="浜х敓瑁呯疆"></el-table-column>
         </el-table>
       </div>
     </div>
@@ -27,33 +27,22 @@
 <script>
 export default {
   name: 'PublicTable',
-  props: ['requestSolidWasteData'],
+  props: ['displayContentTable'],
   data () {
     return {
-      data: [{
-        date: '2016-05-03',
-        name: '鐜嬪皬铏�',
-        address: '涓婃捣甯傛櫘闄�鍖�'
-      }, {
-        date: '2016-05-02',
-        name: '鐜嬪皬铏�',
-        address: '涓婃捣甯傛櫘闄�鍖�'
-      }, {
-        date: '2016-05-02',
-        name: '鐜嬪皬铏�',
-        address: '涓婃捣甯傛櫘闄�鍖�'
-      }]
-    }
-  },
-  mounted () {
-    this.$nextTick(() => {
-      this.getSolidWasteData()
-    })
-  },
-  methods: {
-    getSolidWasteData () {
-      // const data = requestSolidWasteData
-      // console.log(data)
+      displayContentTable2: [
+        {
+          CompanyName: '涓煩鐭冲寲',
+          StoragePlaceId: 3,
+          StoragePlaceName: '鐏版福鍦�',
+          StoragePlaceTypeName: '涓�鑸浐搴熷~鍩嬪満',
+          StorageType: '绮夌叅鐏般�佺伆娓�',
+          StorageZCL: '38',
+          StorageZCNL: '40.7',
+          StorageZDMJ: '10.60798'
+        }
+      ],
+      displayContentTable3: []
     }
   }
 }
@@ -71,7 +60,7 @@
 
   .main-video {
     width: 100%;
-    min-height: 195px;
+    min-height: 164px;
 
     video {
       width: 100%;
diff --git a/src/components/BaseNav/PublicBounced/GasComponents/PublicTabs.vue b/src/components/BaseNav/PublicBounced/GasComponents/PublicTabs.vue
new file mode 100644
index 0000000..b8ea76b
--- /dev/null
+++ b/src/components/BaseNav/PublicBounced/GasComponents/PublicTabs.vue
@@ -0,0 +1,142 @@
+<template>
+  <!-- 妗� -->
+  <div class="win">
+    <!-- 鍥涗釜瑙掔殑杈规鏁堟灉 -->
+    <div class="border_corner border_corner_left_top"></div>
+    <div class="border_corner border_corner_right_top"></div>
+    <div class="border_corner border_corner_left_bottom"></div>
+    <div class="border_corner border_corner_right_bottom"></div>
+    <div class="main">
+      <div class="main-matter">
+        <div v-if="value === 'feiqi'">
+          <el-row type="flex" class="row-bg row-item-one" justify="space-around">
+            <el-col :span="8">鐩戞祴鐐瑰悕绉�:{{ setWasteGasdata.Name }}</el-col>
+            <el-col :span="8">鐢熶骇鍗曚綅:{{ setWasteGasdata.porltName }}</el-col>
+            <el-col :span="8">鎺掓斁绫诲瀷鍚嶇О:{{ setWasteGasdata.MonTypeName }}</el-col>
+          </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-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 === 'feishui'">
+          <el-row type="flex" class="row-bg row-item-one" justify="space-around">
+            <el-col :span="8">鐩戞祴鐐瑰悕绉�:{{ setWasteGasdata.Name }}</el-col>
+            <el-col :span="8">鐢熶骇鍗曚綅:{{ setWasteGasdata.porltName }}</el-col>
+            <el-col :span="8">鎺掓斁绫诲瀷鍚嶇О:{{ setWasteGasdata.MonTypeName }}</el-col>
+          </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-row>
+        </div>
+      </div>
+    </div>
+  </div>
+</template>
+
+<script>
+export default {
+  name: 'GasTable',
+  props: ['displayContentTab', 'value', 'setWasteGasdata'],
+  data () {
+    return {
+      displayContentTab2: []
+    }
+  },
+  mounted () {
+    this.$nextTick(() => {
+      this.displayContentTab.forEach(item => {
+        this.displayContentTab2 = item
+        console.log(item)
+      })
+    })
+  }
+}
+</script>
+
+<style scoped lang="less">
+
+.win {
+  position: relative;
+  margin-bottom: 13px;
+  background-color: rgba(33, 41, 69,0.9);
+}
+.main {
+  width: 100%;
+  height: 100%;
+  .main-matter{
+    font-size: 13px;
+    font-weight: normal;
+    padding: 10px 6px;
+    border: 1px solid #396d83;
+    .row-item-one{
+      margin-bottom: 7px;
+    }
+    .el-row {
+      width: 100%;
+      color: #00d0f9;
+      display: flex;
+      font-size: 12px !important;
+      .el-col{
+        flex: 1;
+        width: 100%;
+        background-color: #243a55;;
+        text-align: center;
+        line-height: 28px;
+        margin-left: 6px;
+        border-radius: 4px;
+        &:nth-child(1){
+          margin-left:0;
+        }
+      }
+    }
+  }
+}
+.border_corner{
+  z-index: 999;
+  position: absolute;
+  width: 10px;
+  height: 10px;
+  background: rgba(0,0,0,0);
+  border: 1.5px solid #47d5ea;
+}
+.border_corner_left_top{
+  top: 0;
+  left: 0;
+  border-right: none;
+  border-bottom: none;
+}
+.border_corner_right_top{
+  top: 0;
+  right: 0;
+  border-left: none;
+  border-bottom: none;
+}
+.border_corner_left_bottom{
+  bottom: 0;
+  left: 0;
+  border-right: none;
+  border-top: none;
+}
+.border_corner_right_bottom{
+  bottom: 0;
+  right: 0;
+  border-left: none;
+  border-top: none;
+}
+</style>
diff --git a/src/components/BaseNav/PublicBounced/GasComponents/GasVideo.vue b/src/components/BaseNav/PublicBounced/GasComponents/PublicVideo.vue
similarity index 100%
rename from src/components/BaseNav/PublicBounced/GasComponents/GasVideo.vue
rename to src/components/BaseNav/PublicBounced/GasComponents/PublicVideo.vue
diff --git a/src/components/BaseNav/PublicBounced/PublicBounced.vue b/src/components/BaseNav/PublicBounced/PublicBounced.vue
index fa40860..7ef971b 100644
--- a/src/components/BaseNav/PublicBounced/PublicBounced.vue
+++ b/src/components/BaseNav/PublicBounced/PublicBounced.vue
@@ -6,14 +6,14 @@
     </div>
     <div class="public-bounced-content">
       <div class="public-bounced-content-left">
-        <GasTab :displayContent="displayContentTab" ></GasTab>
+        <PublicTabs :displayContentTab="displayContentTab" :value="value" :setWasteGasdata="setWasteGasdata"></PublicTabs>
         <div class="public-bounced-content-left-bottom">
           <PublicTable v-if="value === 'gufei'"></PublicTable>
-          <GasECharts v-else></GasECharts>
+          <PublicChart v-else></PublicChart>
         </div>
       </div>
       <div class="public-bounced-content-right">
-        <GasVideo></GasVideo>
+        <PublicVideo></PublicVideo>
       </div>
     </div>
   </div>
@@ -22,34 +22,42 @@
 <script>
 
 import '@/components/BaseNav/SolidWaste/directive/dir'
-import GasTab from '@components/BaseNav/PublicBounced/GasComponents/GasTab'
+import PublicTabs from '@components/BaseNav/PublicBounced/GasComponents/PublicTabs'
 import PublicTable from '@components/BaseNav/PublicBounced/GasComponents/PublicTable'
-import GasECharts from '@components/BaseNav/PublicBounced/GasComponents/GasECharts'
-import GasVideo from '@components/BaseNav/PublicBounced/GasComponents/GasVideo'
-// import GasTabs from './GasComponents/GasTabs'
+import PublicVideo from '@components/BaseNav/PublicBounced/GasComponents/PublicVideo'
+import PublicChart from './GasComponents/PublicChart'
 
 export default {
   name: 'PublicBounced',
   components: {
-    GasTab,
+    PublicTabs,
     PublicTable,
-    GasECharts,
-    GasVideo
+    PublicChart,
+    PublicVideo
   },
   data () {
     return {
+      setWasteGasdata: '',
       displayContentTitle: '',
       displayContentTab: '',
-      flag: false
+      displayContentTable: '',
+      flag: false,
+      value: ''
     }
   },
   methods: {
-    setData (data, value) {
-      // data.forEach((item, index) => {
-      //   // console.log(item.StoragePlaceName)
-      //   // this.displayContentTitle = item.StoragePlaceName
-      // })
-      this.displayContentTab = data
+    setData (dataBasic, dataDetailed, value) {
+      dataBasic.forEach(item => {
+        this.displayContentTitle = item.StoragePlaceName
+      })
+      this.displayContentTab = dataBasic
+      this.displayContentTable = dataDetailed
+      this.flag = true
+      this.value = value
+    },
+    setGasData (data, value) {
+      this.setWasteGasdata = data
+      this.displayContentTitle = data.Name
       this.flag = true
       this.value = value
     },
diff --git a/src/components/LayerController/logic/SolidWaste.js b/src/components/LayerController/logic/SolidWaste.js
index 37b4b15..bb980a5 100644
--- a/src/components/LayerController/logic/SolidWaste.js
+++ b/src/components/LayerController/logic/SolidWaste.js
@@ -36,52 +36,33 @@
       var iconUrl = this.differentTypes(judgeValue)
 
       const marker = L.marker([positionX, positionY], {
-        test: getSolidWasteData[i],
+        totransferData: getSolidWasteData[i],
         icon: L.icon({
           iconUrl: iconUrl,
           iconSize: [50, 50],
           iconAnchor: [25, 25]
         })
       })
+      marker.bindTooltip(getSolidWasteData[i].Name, {
+        permanent: true,
+        offset: [0, 14],
+        direction: 'bottom',
+        className: 'company-bindTooltip'
+      })
       layer.addLayer(marker)
     }
   }
 
   this.bindTooltip = (layer) => {
-    return layer.options.test.Name
+    return layer.options.totransferData.Name
   }
 
   this.clickListener = (e) => {
     // 鐐瑰嚮marker鐨刾ulse()鍏夋尝
     this.animalService.pulseEffect(e.latlng)
-    /* flyTo()寮瑰嚭妗嗗钩绉讳簨浠� */
-    // this.setPanTo(e.latlng, 200)
     /* 鐐瑰嚮鏁版嵁鐨勬帴鍙h姹� */
     this.requestSolidWasteData(e).then(e)
   }
-
-  // 鏍规嵁鐐瑰嚮涓嶅悓鏁版嵁 杩涜鎺ュ彛鐨勬暟鎹姹�
-  this.requestSolidWasteData = async (e) => {
-    const dataValue = {
-      StoragePlaceId: e.layer.options.test.StoragePlaceId
-    }
-    const result = await mapApi.getSolidWasteBaseInfo(dataValue)
-    // console.log(result)
-    const PublicBounced = window.Vue.extend(publicBounced)
-    const instance = new PublicBounced()
-    instance.$mount()
-    document.body.appendChild(instance.$el)
-    instance.setData(result.Result.DataInfo, 'gufei')
-  }
-
-  // flayTo()
-  // this.setPanTo = (pos, value) => {
-  //   var position = pos
-  //   position = this.map.latLngToLayerPoint(position)
-  //   position.y += value
-  //   position = this.map.layerPointToLatLng(position)
-  //   this.map.flyTo(position)
-  // }
 
   // 涓嶅悓绫诲瀷鍥剧墖灏佽
   this.differentTypes = (judgeValue) => {
@@ -93,4 +74,32 @@
     }
     return effectOfChange
   }
+
+  // 鏍规嵁鐐瑰嚮涓嶅悓鏁版嵁 杩涜鎺ュ彛鐨勬暟鎹姹�
+  this.requestSolidWasteData = async (e) => {
+    // 鍩烘湰淇℃伅灞曠ず
+    const dataValue = {
+      StoragePlaceId: e.layer.options.totransferData.StoragePlaceId
+    }
+    const resultBasic = await mapApi.getSolidWasteBaseInfo(dataValue)
+    // 璇︾粏淇℃伅灞曠ず
+    const resultDetailed = await mapApi.getSolidWasteDetail(dataValue)
+
+    const PublicBounced = window.Vue.extend(publicBounced)
+    const instance = new PublicBounced()
+    instance.$mount()
+    document.body.appendChild(instance.$el)
+    instance.setData(resultBasic.Result.DataInfo, resultDetailed, 'gufei')
+    /* flyTo()寮瑰嚭妗嗗钩绉讳簨浠� */
+    this.setPanTo(e.latlng, 200)
+  }
+
+  // flayTo()
+  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/logic/WasteGas.js b/src/components/LayerController/logic/WasteGas.js
index 574ed9f..4ecd0e0 100644
--- a/src/components/LayerController/logic/WasteGas.js
+++ b/src/components/LayerController/logic/WasteGas.js
@@ -56,7 +56,8 @@
     // const result = await mapApi.getWasteGas(dataValue)
     const PublicBounced = window.Vue.extend(publicBounced)
     const instance = new PublicBounced()
-    instance.setData(e.layer.options.test)
+    instance.setGasData(e.layer.options.test, 'feiqi')
+    console.log(e.layer.options.test)
     instance.$mount()
     document.body.appendChild(instance.$el)
   }
diff --git a/src/components/LayerController/logic/WasteWater.js b/src/components/LayerController/logic/WasteWater.js
index 5a568e9..210afcd 100644
--- a/src/components/LayerController/logic/WasteWater.js
+++ b/src/components/LayerController/logic/WasteWater.js
@@ -52,13 +52,15 @@
   this.clickListener = async (e) => {
     // console.log(e)
     this.animalService.pulseEffect(e.latlng)
-    const dataValue = {
-      StoragePlaceId: e.layer.options.test.StoragePlaceId
-    }
-    const result = await mapApi.getWasteWater(dataValue)
+    // const dataValue = {
+    //   StoragePlaceId: e.layer.options.test.StoragePlaceId
+    // }
+    // const result = await mapApi.getWasteWater(dataValue)
+    // console.log(result)
     const PublicBounced = window.Vue.extend(publicBounced)
     const instance = new PublicBounced()
-    instance.setData(result)
+    instance.setGasData(e.layer.options.test, 'feishui')
+    console.log(e.layer.options.test)
     instance.$mount()
     document.body.appendChild(instance.$el)
   }
diff --git a/src/components/LayerController/service/AnimalService.js b/src/components/LayerController/service/AnimalService.js
index 9a80b7f..687b6e7 100644
--- a/src/components/LayerController/service/AnimalService.js
+++ b/src/components/LayerController/service/AnimalService.js
@@ -4,8 +4,9 @@
 class AnimalService {
   constructor (config) {
     this.intervals = [] // 瀹氭椂鍣ㄥ垪琛�
+    // todo 杩欑鎯呭喌涓�鑸敤 window绾х殑L銆乵ap杩樻槸浼犻�掑憿
     this.L = config.L
-    this.layer = config.layer
+    this.layer = window.map
     this.times = config.times || 5
     this.colors = ['#98FB98', '#ff0000']
   }
diff --git a/src/components/icon-btn/IconBtn.vue b/src/components/icon-btn/IconBtn.vue
deleted file mode 100644
index 4c618b8..0000000
--- a/src/components/icon-btn/IconBtn.vue
+++ /dev/null
@@ -1,221 +0,0 @@
-<template>
-    <div class="float-panel">
-        <div :class='["btn",active ? "active" : ""]' @click="onClick">
-            <span>
-                <img :src="src" alt="" width="26px" style="display: block;margin: auto">
-                <span class="icon-name">{{label}}</span>
-            </span>
-        </div>
-    </div>
-</template>
-
-<script>
-import '@assets/css/map/magic.min.css'
-
-import iconSetting from '@/assets/images/map-pages/icon/setting.png'
-
-export default {
-  name: 'LayerController',
-  props: {
-    src: String,
-    label: String,
-    active: Object,
-    onClick: Function
-  },
-  computed: {
-    map () {
-      return this.$store.state.map.map
-    },
-    L () {
-      return this.$store.state.map.L
-    },
-    layerHelper () {
-      return this.$store.state.map.layerHelper
-    }
-  },
-  data () {
-    return {
-      width: '250px',
-      isShow: true,
-      icons: {
-        setting: iconSetting
-      },
-      layerControllerVisible: false,
-      panelSwitch: {
-        main: true // 涓荤獥鍙�
-      }
-    }
-  },
-  mounted () {
-    this.$nextTick(function () {
-      this.init()
-    })
-  },
-  methods: {
-  }
-}
-</script>
-
-<style lang="less">
-    .float-panel {
-        position: absolute;
-        left: 2px;
-        top: 120px;
-        height: auto;
-        font-size: 11px;
-        z-index: 1000;
-
-        div {
-            color: #00fff6;
-        }
-        .btn {
-            width:45px;
-            text-align: center;
-            background: rgba(0, 16, 30, 0.5);
-            cursor: pointer;
-            color: #00fff6;
-            border: 0.00521rem solid #00fff6;
-            box-shadow: 0 0 0.03rem #00fff6;
-        }
-        .active {
-            border: 0.00521rem solid #fff700;
-            box-shadow: 0 0 0.03rem #fff700;
-        }
-        .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-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;
-        }
-        ::-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/panel/LegendPanel.vue b/src/components/panel/LegendPanel.vue
index 383aea2..b3c4784 100644
--- a/src/components/panel/LegendPanel.vue
+++ b/src/components/panel/LegendPanel.vue
@@ -2,13 +2,13 @@
   <div class="legend-panel">
     <transition name="fade">
       <div :class="'legend-content map-background'" v-show="legendControl">
-        <div class="legend-content-box" v-for="(item,index) in legendContents" :key="index">
-          <p><span>{{ item.title }}</span></p>
-          <div :class="index === 5 ? '':'map-under-line'"></div>
+        <div class="legend-content-box" v-for="(item,index) in serviceLayers" :key="index">
+          <p><span>{{ item.name }}</span></p>
+          <div class="map-under-line"></div>
           <ul>
-            <li v-for="(ite,inde) in item.items" :key="inde">
+            <li v-for="(ite,inde) in item.layers" :key="inde">
               <img :src='ite.legendImage' alt=''>
-              <span>{{ ite.legendContent }}</span>
+              <span>{{ ite.name }}</span>
             </li>
           </ul>
         </div>
@@ -28,111 +28,12 @@
   data () {
     return {
       // 鎺у埗鍥句緥 鍐呭鐨� 鏄剧ず/闅愯棌
-      legendControl: false,
-      // 鍥鹃噷瀛樺偍鏁版嵁
-      legendContents: [
-        {
-          title: '浼佷笟',
-          items: [
-            {
-              legendImage: '../.././assets/images/map-pages/setting.png',
-              legendContent: '涓浗鐭冲寲'
-            },
-            {
-              legendImage: '../.././assets/images/map-pages/setting.png',
-              legendContent: '娌圭敯浼佷笟      '
-            },
-            {
-              legendImage: '../.././assets/images/map-pages/setting.png',
-              legendContent: '鐐煎寲浼佷笟'
-            },
-            {
-              legendImage: '../.././assets/images/map-pages/setting.png',
-              legendContent: '閿�鍞紒涓�'
-            }
-          ]
-        },
-        {
-          title: '姘存儏',
-          items: [
-            {
-              legendImage: '../.././assets/images/map-pages/setting.png',
-              legendContent: '姘存枃绔�'
-            }
-          ]
-        },
-        {
-          title: '绠$嚎',
-          items: [
-            {
-              legendImage: '../.././assets/images/map-pages/setting.png',
-              legendContent: '澶╃劧姘旂绾�'
-            },
-            {
-              legendImage: '../.././assets/images/map-pages/setting.png',
-              legendContent: '澶╃劧姘斿満绔�'
-            },
-            {
-              legendImage: '../.././assets/images/map-pages/setting.png',
-              legendContent: '鎴愬搧娌圭绾�'
-            },
-            {
-              legendImage: '../.././assets/images/map-pages/setting.png',
-              legendContent: '鎴愬搧娌瑰満绔�'
-            }
-          ]
-        },
-        {
-          title: '鍙伴',
-          items: [
-            {
-              legendImage: '../.././assets/images/map-pages/setting.png',
-              legendContent: '鍙伴瀹炴祴涓績'
-            },
-            {
-              legendImage: '../.././assets/images/map-pages/setting.png',
-              legendContent: '鍙伴瀹炴祴璺緞'
-            },
-            {
-              legendImage: '../.././assets/images/map-pages/setting.png',
-              legendContent: '鍙伴棰勬祴涓績'
-            },
-            {
-              legendImage: '../.././assets/images/map-pages/setting.png',
-              legendContent: '鍙伴棰勬祴璺緞'
-            },
-            {
-              legendImage: '../.././assets/images/map-pages/setting.png',
-              legendContent: '鍙伴褰撳墠涓績'
-            }
-          ]
-        },
-        {
-          title: '闄嶆按绛夌骇(鍗曚綅锛歮m)',
-          items: [
-            {
-              legendImage: '../.././assets/images/map-pages/setting.png',
-              legendContent: '灏忛洦0-5'
-            },
-            {
-              legendImage: '../.././assets/images/map-pages/setting.png',
-              legendContent: '涓洦5-10'
-            },
-            {
-              legendImage: '../.././assets/images/map-pages/setting.png',
-              legendContent: '澶ч洦10-20'
-            },
-            {
-              legendImage: '../.././assets/images/map-pages/setting.png',
-              legendContent: '鏆撮洦20-50'
-            },
-            {
-              legendImage: '../.././assets/images/map-pages/setting.png',
-              legendContent: '澶ф毚闆�50-100'
-            }
-          ]
-        }
-      ]
+      legendControl: false
+    }
+  },
+  computed: {
+    serviceLayers () {
+      return this.$store.state.map.serviceLayers.LayerSewersLine
     }
   },
   methods: {
diff --git a/src/components/panel/RightSearchPanel.vue b/src/components/panel/RightSearchPanel.vue
index cbce13b..f3c049f 100644
--- a/src/components/panel/RightSearchPanel.vue
+++ b/src/components/panel/RightSearchPanel.vue
@@ -96,7 +96,7 @@
       console.log(done)
     },
     selected (val) {
-      console.log(val)
+      // console.log(val)
       this.topicList.forEach((itm) => {
         itm.checked = val.name === itm.name
       })
diff --git a/src/components/panel/topicSearch/GasWasteSearch.vue b/src/components/panel/topicSearch/GasWasteSearch.vue
index e69de29..245b226 100644
--- a/src/components/panel/topicSearch/GasWasteSearch.vue
+++ b/src/components/panel/topicSearch/GasWasteSearch.vue
@@ -0,0 +1,244 @@
+<template>
+  <div class="solidwaste-search" v-if="judgeVisible">
+    <div class="search-title">
+      <span>搴熸皵</span>
+      <!--      <span>{{ title }}</span>-->
+    </div>
+    <div class="search-panel ">
+      <el-form ref="form" :model="form" label-width="90px" class="search-form">
+        <el-form-item v-for="(item,index) in solidWasteTypeOptions" :key="index" :label="item.label+'锛�'" size="mini"
+                      class="search-panel-item">
+          <el-select style="width: 100%" v-model="form.pipelineType" @change="handlePipelineType"
+                     :popper-class="'select-down'">
+            <el-option
+                v-for="item in solidWasteTypeOptions"
+                :key="item.value"
+                :label="item.label"
+                :value="item.value">
+            </el-option>
+          </el-select>
+        </el-form-item>
+        <el-input v-model="form.keyword" size="mini" placeholder="鍦ㄦ杈撳叆鍏抽敭瀛楁悳绱�">
+          <i slot="suffix" class="search-btn el-input__icon el-icon-search" @click="handleSearch"></i>
+        </el-input>
+        <div class="search-radio">
+          <el-radio v-model="radio" label="1">鍏ㄩ儴</el-radio>
+          <el-radio v-model="radio" label="2">姝e父</el-radio>
+          <el-radio v-model="radio" label="3">瓒呮爣</el-radio>
+          <el-radio v-model="radio" label="4">寮傚父</el-radio>
+          <el-radio v-model="radio" label="5">鍋滀骇</el-radio>
+        </div>
+      </el-form>
+      <div>
+        <el-card class="box-card" v-for="(item,index) in searchDataDisplay" :key="index">
+          <div v-if="total > 3">
+            {{ item.CompanyName }}
+          </div>
+        </el-card>
+<!--        <el-pagination-->
+<!--            small-->
+<!--            layout="prev, pager, next"-->
+<!--            :total=total-->
+<!--            :current-page=1-->
+<!--            class="warnPagination"-->
+<!--        >-->
+<!--        </el-pagination>-->
+      </div>
+      <!--      <el-scrollbar style="height:100%">-->
+      <!--      <el-card class="footer-page">-->
+      <!--        <ul>-->
+      <!--          {{ searchDataDisplay }}-->
+      <!--          <li v-for="(item,index) in searchDataDisplay" :key="index">-->
+      <!--            {{ item.CompanyName }}-->
+      <!--          </li>-->
+      <!--        </ul>-->
+      <!--      </el-card>-->
+      <!--          <el-pagination-->
+      <!--              small-->
+      <!--              @current-change="handlePage"-->
+      <!--              :page-size=pageSize-->
+      <!--              layout="prev, pager, next"-->
+      <!--              :total=total-->
+      <!--              :current-page=current-->
+      <!--              class="warnPagination"-->
+      <!--          >-->
+      <!--          </el-pagination>-->
+      <!--      </el-card>-->
+      <!--      </el-scrollbar>-->
+    </div>
+  </div>
+</template>
+
+<script>
+
+import mapApi from '@/api/mapApi'
+
+export default {
+  name: 'SolidWasteSearch',
+  props: ['title'],
+  data () {
+    return {
+      judgeVisible: true,
+      solidWasteTypeOptions: [{
+        value: '1',
+        label: '鍖哄煙',
+        options: [{
+          value: '1',
+          layerName: '鍥哄簾',
+          key: 'pipename',
+          label: '鍏ㄩ儴鍥哄簾'
+        }],
+        labelList: [{
+          label: '杈撻�佷粙璐�',
+          key: 'mediumtype'
+        }, {
+          label: '闀垮害(m)',
+          key: 'length'
+        }]
+      }, {
+        value: '2',
+        label: '浼佷笟鍚嶇О',
+        options: [{
+          value: '1',
+          layerName: '鍥哄簾',
+          key: 'pipename',
+          label: '鍏ㄩ儴鍥哄簾'
+        }],
+        labelList: [{
+          label: '杈撻�佷粙璐�',
+          key: 'mediumtype'
+        }, {
+          label: '闀垮害(m)',
+          key: 'length'
+        }]
+      }, {
+        value: '3',
+        label: '浜岀骇鍗曚綅',
+        options: [{
+          value: '1',
+          layerName: '鍥哄簾',
+          key: 'pipename',
+          label: '鍏ㄩ儴鍥哄簾'
+        }],
+        labelList: [{
+          label: '杈撻�佷粙璐�',
+          key: 'mediumtype'
+        }, {
+          label: '闀垮害(m)',
+          key: 'length'
+        }]
+      }, {
+        value: '4',
+        label: '浼佷笟鍚嶇О',
+        options: [{
+          value: '1',
+          layerName: '鍥哄簾',
+          key: 'pipename',
+          label: '鍏ㄩ儴鍥哄簾'
+        }],
+        labelList: [{
+          label: '杈撻�佷粙璐�',
+          key: 'mediumtype'
+        }, {
+          label: '闀垮害(m)',
+          key: 'length'
+        }]
+      }],
+      radio: '1',
+      form: {
+        keyword: '杈撳叆鍏抽敭瀛�'
+      },
+      searchDataDisplay: [],
+      total: 0
+    }
+  },
+  methods: {
+    handlePipelineType (val) {
+      this.solidWasteTypeOptions.forEach((itm) => {
+        if (val === itm.value) {
+          this.dataTypeOptions = itm.options
+          this.form.pipelineType = itm.label
+          this.form.labelList = itm.labelList
+        }
+      })
+      this.form.dataType = this.dataTypeOptions[0].label
+      this.form.key = this.dataTypeOptions[0].key
+    },
+    // 鐐瑰嚮鎼滅储瀹炵幇鏁版嵁鐨勬悳绱㈠睍绀�
+    async handleSearch () {
+      // console.log(this.form.keyword)
+      const result = await mapApi.getWasteGas()
+      console.log(result)
+      this.searchDataDisplay = result.Result.DataInfo
+      this.total = result.Result.DataInfo.length
+    },
+    handleLocation (val) {
+      // console.log(val)
+      const bound = this.L.geoJSON([val], {}).getBounds()
+      var layer = window.serviceLayerHelper.getByLayerId(val.id)
+      layer && layer.openPopup()
+      this.$store.state.map.map.flyToBounds(bound)
+    }
+  }
+}
+</script>
+
+<style lang="less" scoped>
+
+.solidwaste-search {
+  position: relative;
+  overflow: hidden;
+  background-color: #365e60;
+
+  .search-panel {
+    background-color: transparent;
+    border: 1px solid @background-color-split;
+    padding: 10px;
+
+    /deep/ input {
+      border-radius: 0;
+      background-color: @background-color-split;
+      border: solid 1px @color;
+      color: @color-gray;
+      font-size: 0.01rem;
+
+      .el-select .el-input.is-focus .el-input__inner {
+        border-color: @color;
+        margin-top: 13px;
+      }
+    }
+
+    /deep/ input:focus {
+      border-color: @color;
+    }
+  }
+
+  .search-btn {
+
+  }
+
+  /deep/.search-radio {
+    margin: 6px 0;
+    display: flex;
+    flex-wrap: wrap;
+    //justify-content: flex-end;
+    //align-content: space-between;
+    .el-radio {
+      color: #ffffff!important;
+      line-height: 2;
+      .el-radio__label{
+        padding-left: 0px;
+      }
+    }
+  }
+
+  .location-btn:hover, .el-input__icon:hover {
+    color: @color;
+    cursor: pointer;
+  }
+
+  .box-card {
+    margin: 15px auto;
+  }
+}
+</style>
diff --git a/src/components/panel/topicSearch/SolidWasteSearch.vue b/src/components/panel/topicSearch/SolidWasteSearch.vue
index e69de29..87b3911 100644
--- a/src/components/panel/topicSearch/SolidWasteSearch.vue
+++ b/src/components/panel/topicSearch/SolidWasteSearch.vue
@@ -0,0 +1,234 @@
+<template>
+  <div class="solidwaste-search" v-if="judgeVisible">
+    <div class="search-title">
+      <span>鍥哄簾</span>
+      <!--      <span>{{ title }}</span>-->
+    </div>
+    <div class="search-panel ">
+      <el-form ref="form" :model="form" label-width="90px" class="search-form">
+        <el-form-item v-for="(item,index) in solidWasteTypeOptions" :key="index" :label="item.label+'锛�'" size="mini"
+                      class="search-panel-item">
+          <el-select style="width: 100%" v-model="form.pipelineType" @change="handlePipelineType"
+                     :popper-class="'select-down'">
+            <el-option
+                v-for="item in solidWasteTypeOptions"
+                :key="item.value"
+                :label="item.label"
+                :value="item.value">
+            </el-option>
+          </el-select>
+        </el-form-item>
+        <div class="search-radio">
+          <el-radio v-model="radio" label="1">鍏ㄩ儴</el-radio>
+          <el-radio v-model="radio" label="2">姝e父</el-radio>
+          <el-radio v-model="radio" label="3">棰勮</el-radio>
+        </div>
+        <el-input v-model="form.keyword" size="mini" placeholder="鍦ㄦ杈撳叆鍏抽敭瀛楁悳绱�">
+          <i slot="suffix" class="search-btn el-input__icon el-icon-search" @click="handleSearch"></i>
+        </el-input>
+      </el-form>
+      <el-card class="box-card"
+               v-for="(item,index) in searchDataDisplay.slice((currentPage-1)*PageSize,currentPage*PageSize)"
+               :key="index">
+        <div v-if="totalCount > 0">
+          {{ item.CompanyName }}
+        </div>
+      </el-card>
+      <div class="search-pagination">
+        <el-pagination
+            small
+            @size-change="handleSizeChange"
+            @current-change="handleCurrentChange"
+            :current-page="currentPage"
+            :page-sizes="[1, 2, 3]"
+            :page-size="1"
+            layout="total, sizes, prev, pager, next, jumper"
+            :total='totalCount'>
+        </el-pagination>
+      </div>
+    </div>
+    <!--      <el-scrollbar style="height:100%">-->
+    <!--      </el-scrollbar>-->
+  </div>
+</template>
+
+<script>
+
+import mapApi from '@/api/mapApi'
+
+export default {
+  name: 'SolidWasteSearch',
+  props: ['title'],
+  data () {
+    return {
+      judgeVisible: true,
+      solidWasteTypeOptions: [{
+        value: '1',
+        label: '鍖哄煙',
+        options: [{
+          value: '1',
+          layerName: '鍥哄簾',
+          key: 'pipename',
+          label: '鍏ㄩ儴鍥哄簾'
+        }],
+        labelList: [{
+          label: '杈撻�佷粙璐�',
+          key: 'mediumtype'
+        }, {
+          label: '闀垮害(m)',
+          key: 'length'
+        }]
+      }, {
+        value: '2',
+        label: '浼佷笟鍚嶇О',
+        options: [{
+          value: '1',
+          layerName: '鍥哄簾',
+          key: 'pipename',
+          label: '鍏ㄩ儴鍥哄簾'
+        }],
+        labelList: [{
+          label: '杈撻�佷粙璐�',
+          key: 'mediumtype'
+        }, {
+          label: '闀垮害(m)',
+          key: 'length'
+        }]
+      }, {
+        value: '3',
+        label: '浜岀骇鍗曚綅',
+        options: [{
+          value: '1',
+          layerName: '鍥哄簾',
+          key: 'pipename',
+          label: '鍏ㄩ儴鍥哄簾'
+        }],
+        labelList: [{
+          label: '杈撻�佷粙璐�',
+          key: 'mediumtype'
+        }, {
+          label: '闀垮害(m)',
+          key: 'length'
+        }]
+      }, {
+        value: '4',
+        label: '浼佷笟鍚嶇О',
+        options: [{
+          value: '1',
+          layerName: '鍥哄簾',
+          key: 'pipename',
+          label: '鍏ㄩ儴鍥哄簾'
+        }],
+        labelList: [{
+          label: '杈撻�佷粙璐�',
+          key: 'mediumtype'
+        }, {
+          label: '闀垮害(m)',
+          key: 'length'
+        }]
+      }],
+      radio: '1',
+      form: {
+        keyword: '鍥哄簾闈㈡澘鏁版嵁鏌ヨ',
+        // 鏁版嵁鐨勪紶閫�
+        transferData: ''
+      },
+      searchDataDisplay: [],
+      // 榛樿鏄剧ず绗嚑椤�
+      currentPage: 1,
+      // 鎬绘潯鏁帮紝鏍规嵁鎺ュ彛鑾峰彇鏁版嵁闀垮害(娉ㄦ剰锛氳繖閲屼笉鑳戒负绌�)
+      totalCount: 1,
+      // 涓暟閫夋嫨鍣紙鍙慨鏀癸級
+      pageSizes: [1, 2, 3, 4],
+      // 榛樿姣忛〉鏄剧ず鐨勬潯鏁帮紙鍙慨鏀癸級
+      PageSize: 1
+    }
+  },
+  methods: {
+    // 姣忛〉鏄剧ず鐨勬潯鏁�
+    handleSizeChange (val) {
+      this.PageSize = val
+      this.currentPage = 1
+    },
+    // 鏄剧ず绗嚑椤�
+    handleCurrentChange (val) {
+      this.currentPage = val
+    },
+    handlePipelineType (val) {
+      // console.log(val)
+      this.solidWasteTypeOptions.forEach(item => {
+        // console.log(item.value)
+        if (val === item.value) {
+          // console.log('鏁版嵁閫夋嫨鐩稿悓')
+          // 鎺ユ敹鏁版嵁 鐢ㄤ簬涔嬪悗鎺ュ彛鏁版嵁鐨勮皟鐢�
+          // this.form.transferData = item.value
+          this.handleSearch(item.value)
+        }
+      })
+    },
+    // 鐐瑰嚮鎼滅储瀹炵幇鏁版嵁鐨勬悳绱㈠睍绀�
+    async handleSearch (data) {
+      // console.log(this.form.keyword)
+      const result = await mapApi.getSolidWasteSurveyDetail(data)
+      // console.log(result)
+      this.searchDataDisplay = result.Result.DataInfo
+      this.totalCount = result.Result.DataInfo.length
+    }
+  }
+}
+</script>
+
+<style lang="less" scoped>
+
+.solidwaste-search {
+  position: relative;
+  overflow: hidden;
+
+  .search-panel {
+    background-color: transparent;
+    border: 1px solid @background-color-split;
+    padding: 10px;
+
+    /deep/ input {
+      border-radius: 0;
+      background-color: @background-color-split;
+      border: solid 1px @color;
+      color: @color-gray;
+      font-size: 0.01rem;
+
+      .el-select .el-input.is-focus .el-input__inner {
+        border-color: @color;
+      }
+    }
+
+    /deep/ input:focus {
+      border-color: @color;
+    }
+  }
+
+  .search-btn {
+
+  }
+
+  .search-radio {
+    margin: 15px auto;
+    display: flex;
+    align-items: center;
+    justify-content: space-around;
+  }
+
+  .location-btn:hover, .el-input__icon:hover {
+    color: @color;
+    cursor: pointer;
+  }
+
+  .box-card {
+    margin: 15px auto;
+  }
+
+  .search-pagination {
+    padding: 0;
+    margin: 15px auto;
+  }
+}
+</style>
diff --git a/src/components/panel/topicSearch/WaterWasteSearch.vue b/src/components/panel/topicSearch/WaterWasteSearch.vue
index e69de29..90234cb 100644
--- a/src/components/panel/topicSearch/WaterWasteSearch.vue
+++ b/src/components/panel/topicSearch/WaterWasteSearch.vue
@@ -0,0 +1,244 @@
+<template>
+    <div class="solidwaste-search" v-if="judgeVisible">
+        <div class="search-title">
+            <span>搴熸按</span>
+            <!--      <span>{{ title }}</span>-->
+        </div>
+        <div class="search-panel ">
+            <el-form ref="form" :model="form" label-width="90px" class="search-form">
+                <el-form-item v-for="(item,index) in solidWasteTypeOptions" :key="index" :label="item.label+'锛�'" size="mini"
+                              class="search-panel-item">
+                    <el-select style="width: 100%" v-model="form.pipelineType" @change="handlePipelineType"
+                               :popper-class="'select-down'">
+                        <el-option
+                                v-for="item in solidWasteTypeOptions"
+                                :key="item.value"
+                                :label="item.label"
+                                :value="item.value">
+                        </el-option>
+                    </el-select>
+                </el-form-item>
+                <el-input v-model="form.keyword" size="mini" placeholder="鍦ㄦ杈撳叆鍏抽敭瀛楁悳绱�">
+                    <i slot="suffix" class="search-btn el-input__icon el-icon-search" @click="handleSearch"></i>
+                </el-input>
+                <div class="search-radio">
+                    <el-radio v-model="radio" label="1">鍏ㄩ儴</el-radio>
+                    <el-radio v-model="radio" label="2">姝e父</el-radio>
+                    <el-radio v-model="radio" label="3">瓒呮爣</el-radio>
+                    <el-radio v-model="radio" label="4">寮傚父</el-radio>
+                    <el-radio v-model="radio" label="5">鍋滀骇</el-radio>
+                </div>
+            </el-form>
+            <div>
+                <el-card class="box-card" v-for="(item,index) in searchDataDisplay" :key="index">
+                    <div v-if="total > 3">
+                        {{ item.CompanyName }}
+                    </div>
+                </el-card>
+                <!--        <el-pagination-->
+                <!--            small-->
+                <!--            layout="prev, pager, next"-->
+                <!--            :total=total-->
+                <!--            :current-page=1-->
+                <!--            class="warnPagination"-->
+                <!--        >-->
+                <!--        </el-pagination>-->
+            </div>
+            <!--      <el-scrollbar style="height:100%">-->
+            <!--      <el-card class="footer-page">-->
+            <!--        <ul>-->
+            <!--          {{ searchDataDisplay }}-->
+            <!--          <li v-for="(item,index) in searchDataDisplay" :key="index">-->
+            <!--            {{ item.CompanyName }}-->
+            <!--          </li>-->
+            <!--        </ul>-->
+            <!--      </el-card>-->
+            <!--          <el-pagination-->
+            <!--              small-->
+            <!--              @current-change="handlePage"-->
+            <!--              :page-size=pageSize-->
+            <!--              layout="prev, pager, next"-->
+            <!--              :total=total-->
+            <!--              :current-page=current-->
+            <!--              class="warnPagination"-->
+            <!--          >-->
+            <!--          </el-pagination>-->
+            <!--      </el-card>-->
+            <!--      </el-scrollbar>-->
+        </div>
+    </div>
+</template>
+
+<script>
+
+import mapApi from '@/api/mapApi'
+
+export default {
+  name: 'SolidWasteSearch',
+  props: ['title'],
+  data () {
+    return {
+      judgeVisible: true,
+      solidWasteTypeOptions: [{
+        value: '1',
+        label: '鍖哄煙',
+        options: [{
+          value: '1',
+          layerName: '鍥哄簾',
+          key: 'pipename',
+          label: '鍏ㄩ儴鍥哄簾'
+        }],
+        labelList: [{
+          label: '杈撻�佷粙璐�',
+          key: 'mediumtype'
+        }, {
+          label: '闀垮害(m)',
+          key: 'length'
+        }]
+      }, {
+        value: '2',
+        label: '浼佷笟鍚嶇О',
+        options: [{
+          value: '1',
+          layerName: '鍥哄簾',
+          key: 'pipename',
+          label: '鍏ㄩ儴鍥哄簾'
+        }],
+        labelList: [{
+          label: '杈撻�佷粙璐�',
+          key: 'mediumtype'
+        }, {
+          label: '闀垮害(m)',
+          key: 'length'
+        }]
+      }, {
+        value: '3',
+        label: '浜岀骇鍗曚綅',
+        options: [{
+          value: '1',
+          layerName: '鍥哄簾',
+          key: 'pipename',
+          label: '鍏ㄩ儴鍥哄簾'
+        }],
+        labelList: [{
+          label: '杈撻�佷粙璐�',
+          key: 'mediumtype'
+        }, {
+          label: '闀垮害(m)',
+          key: 'length'
+        }]
+      }, {
+        value: '4',
+        label: '浼佷笟鍚嶇О',
+        options: [{
+          value: '1',
+          layerName: '鍥哄簾',
+          key: 'pipename',
+          label: '鍏ㄩ儴鍥哄簾'
+        }],
+        labelList: [{
+          label: '杈撻�佷粙璐�',
+          key: 'mediumtype'
+        }, {
+          label: '闀垮害(m)',
+          key: 'length'
+        }]
+      }],
+      radio: '1',
+      form: {
+        keyword: '杈撳叆鍏抽敭瀛�'
+      },
+      searchDataDisplay: [],
+      total: 0
+    }
+  },
+  methods: {
+    handlePipelineType (val) {
+      this.solidWasteTypeOptions.forEach((itm) => {
+        if (val === itm.value) {
+          this.dataTypeOptions = itm.options
+          this.form.pipelineType = itm.label
+          this.form.labelList = itm.labelList
+        }
+      })
+      this.form.dataType = this.dataTypeOptions[0].label
+      this.form.key = this.dataTypeOptions[0].key
+    },
+    // 鐐瑰嚮鎼滅储瀹炵幇鏁版嵁鐨勬悳绱㈠睍绀�
+    async handleSearch () {
+      // console.log(this.form.keyword)
+      const result = await mapApi.getWasteWater()
+      console.log(result)
+      this.searchDataDisplay = result.Result.DataInfo
+      this.total = result.Result.DataInfo.length
+    },
+    handleLocation (val) {
+      // console.log(val)
+      const bound = this.L.geoJSON([val], {}).getBounds()
+      var layer = window.serviceLayerHelper.getByLayerId(val.id)
+      layer && layer.openPopup()
+      this.$store.state.map.map.flyToBounds(bound)
+    }
+  }
+}
+</script>
+
+<style lang="less" scoped>
+
+    .solidwaste-search {
+        position: relative;
+        overflow: hidden;
+        /*background-color: #365e60;*/
+
+        .search-panel {
+            background-color: transparent;
+            border: 1px solid @background-color-split;
+            padding: 10px;
+
+            /deep/ input {
+                border-radius: 0;
+                background-color: @background-color-split;
+                border: solid 1px @color;
+                color: @color-gray;
+                font-size: 0.01rem;
+
+                .el-select .el-input.is-focus .el-input__inner {
+                    border-color: @color;
+                    margin-top: 13px;
+                }
+            }
+
+            /deep/ input:focus {
+                border-color: @color;
+            }
+        }
+
+        .search-btn {
+
+        }
+
+        /deep/.search-radio {
+            margin: 6px 0;
+            display: flex;
+            flex-wrap: wrap;
+            //justify-content: flex-end;
+            //align-content: space-between;
+            .el-radio {
+                color: #ffffff!important;
+                line-height: 2;
+                .el-radio__label{
+                    padding-left: 0px;
+                }
+            }
+        }
+
+        .location-btn:hover, .el-input__icon:hover {
+            color: @color;
+            cursor: pointer;
+        }
+
+        .box-card {
+            margin: 15px auto;
+        }
+    }
+</style>
diff --git a/src/conf/layers/LayerSolidWaste.js b/src/conf/layers/LayerSolidWaste.js
index c81dc8b..fb49c33 100644
--- a/src/conf/layers/LayerSolidWaste.js
+++ b/src/conf/layers/LayerSolidWaste.js
@@ -2,6 +2,7 @@
  * 鍥哄簾鍥惧眰
  * @type {string}
  */
+
 export const LayerSolidWaste = {
   code: 'solidWaste',
   name: '鍥哄簾',

--
Gitblit v1.8.0