From c6d73ab9748dcafb3977f3e7acfaf4257b270408 Mon Sep 17 00:00:00 2001
From: yangdelong <828900aaa>
Date: 星期三, 07 四月 2021 14:23:19 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/develop' into develop

---
 src/components/panel/RightSearchPanel.vue                                 |   16 ++
 src/conf/layers/LayerPipeLines.js                                         |    6 
 src/components/table/enterprise.vue                                       |    6 
 src/components/panel/ToolBoxPanel.vue                                     |   77 +++++++++--
 src/components/LayerController/modules/LcServiceLayerFilter.vue           |   88 ++++++++----
 src/api/mapApi.js                                                         |    9 +
 src/components/BaseNav/PublicBounced/GasComponents/PublicTable.vue        |   55 +++++--
 src/components/panel/LegendPanel.vue                                      |   18 +
 src/components/BaseNav/PublicBounced/GasComponents/PublicDetailedList.vue |    2 
 src/api/mapUrl.js                                                         |    2 
 src/components/LayerController/LayerController.vue                        |   31 +++-
 src/components/BaseNav/PublicBounced/PublicBounced.vue                    |   19 ++
 src/components/LayerController/modules/LcServiceLayer.vue                 |   18 +-
 public/assets/images/map/solidwaste/gf_green.png                          |    0 
 src/conf/layers/LayerSewers.js                                            |    8 
 src/components/table/summarySheets.vue                                    |    4 
 src/components/BaseNav/PublicBounced/GasComponents/PublicVideo.vue        |    4 
 src/components/LayerController/service/WfsLayerService.js                 |    5 
 src/components/BaseNav/PublicBounced/GasComponents/ECharts.vue            |    9 +
 src/components/LayerController/logic/WasteWater.js                        |   21 ++
 src/components/BaseNav/PublicBounced/GasComponents/PublicTabs.vue         |   14 +-
 src/components/LayerController/logic/SolidWaste.js                        |    7 
 22 files changed, 299 insertions(+), 120 deletions(-)

diff --git a/public/assets/images/map/solidwaste/gf_green.png b/public/assets/images/map/solidwaste/gf_green.png
index 144c0ce..3238061 100644
--- a/public/assets/images/map/solidwaste/gf_green.png
+++ b/public/assets/images/map/solidwaste/gf_green.png
Binary files differ
diff --git a/src/api/mapApi.js b/src/api/mapApi.js
index 4542721..a621754 100644
--- a/src/api/mapApi.js
+++ b/src/api/mapApi.js
@@ -36,9 +36,18 @@
   getWasteGasDetails (data) {
     return axios.get(mapUrl.getWasteGasDetails, data)
   },
+  // 搴熸按鐐�
   getWasteWater (data) {
     return axios.get(mapUrl.getWasteWater, data)
   },
+  // 搴熸按鐩戞祴鏁版嵁
+  getWasteWaterMonitoring (data) {
+    return axios.get(mapUrl.getWasteWaterMonitoring, data)
+  },
+  // 搴熸按鐐规槑缁嗚〃
+  getWasteWaterMonitoringDetails (data) {
+    return axios.get(mapUrl.getWasteWaterMonitoringDetails, data)
+  },
   getCompany (data) {
     return axios.get(mapUrl.getCompany, data)
   }
diff --git a/src/api/mapUrl.js b/src/api/mapUrl.js
index 33bf39f..c2493a8 100644
--- a/src/api/mapUrl.js
+++ b/src/api/mapUrl.js
@@ -14,5 +14,7 @@
 export const getWasteGasDetails = $HOST + '/wasteGas/getWasteGasMonitoringDetails'
 
 export const getWasteWater = $HOST + '/wasteWater/getWasteWater'
+export const getWasteWaterMonitoring = $HOST + '/wasteWater/getWasteWaterMonitoring'
+export const getWasteWaterMonitoringDetails = $HOST + '/wasteWater/getWasteWaterMonitoringDetails'
 
 export const getCompany = $HOST + '/company/getCompany'
diff --git a/src/components/BaseNav/PublicBounced/GasComponents/ECharts.vue b/src/components/BaseNav/PublicBounced/GasComponents/ECharts.vue
index c3338d4..2b0e353 100644
--- a/src/components/BaseNav/PublicBounced/GasComponents/ECharts.vue
+++ b/src/components/BaseNav/PublicBounced/GasComponents/ECharts.vue
@@ -11,10 +11,12 @@
           <el-button size="mini" round @click="dialogVisible = true">鏄庣粏琛�</el-button>
           <el-dialog  :visible.sync="dialogVisible"
                       :append-to-body="true"
-                      width="66%"
+                      :title="this.$attrs.getWasteGasDetails[0].OnLineMonEmissPointName"
+                      width="68%"
                       center
+                      v-dialogDrag
                       >
-            <div class="el-dialog-div" style="height: 600px">
+            <div class="el-dialog-div" style="height: 500px">
               <public-detailed-list v-bind="$attrs"></public-detailed-list>
             </div>
           </el-dialog>
@@ -34,6 +36,7 @@
   },
   data () {
     return {
+      watchData: [],
       dialogVisible: false
     }
   },
@@ -201,6 +204,8 @@
   },
   mounted () {
     this.drawChart()
+    const dataWatch = JSON.parse(JSON.stringify(this.$attrs))
+    console.log(dataWatch)
   }
 }
 </script>
diff --git a/src/components/BaseNav/PublicBounced/GasComponents/PublicDetailedList.vue b/src/components/BaseNav/PublicBounced/GasComponents/PublicDetailedList.vue
index efdfd77..4510bc3 100644
--- a/src/components/BaseNav/PublicBounced/GasComponents/PublicDetailedList.vue
+++ b/src/components/BaseNav/PublicBounced/GasComponents/PublicDetailedList.vue
@@ -1,6 +1,6 @@
 <template>
   <div class="PublicDetailedList">
-    <el-table :data="tableData" max-height="600px">
+    <el-table :data="tableData" max-height="500px">
       <el-table-column prop="OnLineMonEmissPointName" label="鎺掓斁鐐�"></el-table-column>
       <el-table-column prop="MonTimeStr" label="鐩戞祴鏃堕棿"></el-table-column>
       <el-table-column  label="姘哀鍖栫墿">
diff --git a/src/components/BaseNav/PublicBounced/GasComponents/PublicTable.vue b/src/components/BaseNav/PublicBounced/GasComponents/PublicTable.vue
index 4e750c7..a1e01bd 100644
--- a/src/components/BaseNav/PublicBounced/GasComponents/PublicTable.vue
+++ b/src/components/BaseNav/PublicBounced/GasComponents/PublicTable.vue
@@ -7,20 +7,11 @@
     <div class="border_corner border_corner_right_bottom"></div>
     <div class="main">
       <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="浜х敓閲�(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 :data="listData" style="width: 100%" stripe='stripe'
+                  :height="300"
+                  tooltip-effect="dark" :row-class-name="tableRowClassName">
+          <el-table-column v-for="(item, index) in listLabel" :key="index" :prop="item.prop"
+                           :label="item.label"></el-table-column>
         </el-table>
       </div>
     </div>
@@ -33,13 +24,43 @@
   props: ['displayContentTable'],
   data () {
     return {
-      displayContentTableData: []
+      listData: [],
+      listLabel: [
+        {
+          label: '搴忓彿',
+          prop: 'StoragePlaceId'
+        },
+        {
+          label: '绫诲埆',
+          prop: 'StoragePlaceTypeName'
+        },
+        {
+          label: '鍥哄簾鍚嶇О',
+          prop: 'StoragePlaceName'
+        },
+        {
+          label: '浠g爜',
+          prop: 'StorageZDMJ'
+        },
+        {
+          label: '浜х敓閲�(t)',
+          prop: 'StorageZCL'
+        },
+        {
+          label: '璐瓨閲�(t)',
+          prop: 'StorageZCNL'
+        },
+        {
+          label: '浜х敓瑁呯疆',
+          prop: 'StorageType'
+        }
+      ]
     }
   },
   mounted () {
     this.$nextTick(() => {
       this.displayContentTable.forEach(item => {
-        this.displayContentTableData = item
+        this.listData = item
       })
     })
   },
@@ -64,7 +85,7 @@
 .win {
   position: relative;
   background-color: rgba(33, 41, 69, 0.9);
-  min-height: 300px;
+  min-height: 354px;
 }
 
 .main {
diff --git a/src/components/BaseNav/PublicBounced/GasComponents/PublicTabs.vue b/src/components/BaseNav/PublicBounced/GasComponents/PublicTabs.vue
index 6c039cd..8e5f267 100644
--- a/src/components/BaseNav/PublicBounced/GasComponents/PublicTabs.vue
+++ b/src/components/BaseNav/PublicBounced/GasComponents/PublicTabs.vue
@@ -32,14 +32,14 @@
         </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-col :span="8">鐩戞祴鐐瑰悕绉�:{{ setWasteWaterdata.Name }}</el-col>
+            <el-col :span="8">鐢熶骇鍗曚綅:{{ setWasteWaterdata.porltName }}</el-col>
+            <el-col :span="8">鎺掓斁绫诲瀷鍚嶇О:{{ setWasteWaterdata.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-col :span="8">鎺掓斁鍘诲悜:{{ setWasteWaterdata.EmissDirecti }}</el-col>
+            <el-col :span="8">鎺у埗绾у埆鍚嶇О:{{ setWasteWaterdata.ContrLevelShowName }}</el-col>
+            <el-col :span="8">鍐�/澶栨帓鍙�:{{ setWasteWaterdata.OrOutPortName }}</el-col>
           </el-row>
         </div>
       </div>
@@ -50,7 +50,7 @@
 <script>
 export default {
   name: 'GasTable',
-  props: ['displayContentTab', 'value', 'setWasteGasdata'],
+  props: ['displayContentTab', 'value', 'setWasteGasdata', 'setWasteWaterdata'],
   data () {
     return {
       tabData: []
diff --git a/src/components/BaseNav/PublicBounced/GasComponents/PublicVideo.vue b/src/components/BaseNav/PublicBounced/GasComponents/PublicVideo.vue
index 9c29b81..ab9246b 100644
--- a/src/components/BaseNav/PublicBounced/GasComponents/PublicVideo.vue
+++ b/src/components/BaseNav/PublicBounced/GasComponents/PublicVideo.vue
@@ -31,10 +31,10 @@
   border: 1px solid #396d83;
   padding: 6px;
   //.main-video {
-    height: 378px;
+    height: 432px;
     video {
       width: 100%;
-      height: 378px;
+      height: 432px;
       outline: none;
     }
   //}
diff --git a/src/components/BaseNav/PublicBounced/PublicBounced.vue b/src/components/BaseNav/PublicBounced/PublicBounced.vue
index 7726783..1aaf67c 100644
--- a/src/components/BaseNav/PublicBounced/PublicBounced.vue
+++ b/src/components/BaseNav/PublicBounced/PublicBounced.vue
@@ -7,11 +7,11 @@
     <div class="public-bounced-content">
       <div class="public-bounced-content-left">
         <public-tabs :displayContentTab="displayContentTab" :value="value"
-                     :setWasteGasdata="setWasteGasdata"></public-tabs>
+                     :setWasteGasdata="setWasteGasdata" :setWasteWaterdata="setWasteWaterdata"></public-tabs>
         <div class="public-bounced-content-left-bottom">
           <public-table v-if="value === 'gufei'"
                         :displayContentTable="displayContentTable"></public-table>
-          <public-chart v-else :getWasteGasDetails="getWasteGasDetails"></public-chart>
+          <public-chart v-else :getWasteGasDetails="getWasteGasDetails" :getWasteWaterMonitoring="getWasteWaterMonitoring" ></public-chart>
         </div>
       </div>
       <div class="public-bounced-content-right">
@@ -40,12 +40,15 @@
   data () {
     return {
       setWasteGasdata: '',
+      setWasteWaterdata: '',
       displayContentTitle: '',
       displayContentTab: '',
       displayContentTable: '',
       flag: false,
       value: '',
-      getWasteGasDetails: []
+      getWasteGasDetails: [],
+      getWasteWaterMonitoringDetails: [],
+      getWasteWaterMonitoring: []
     }
   },
   methods: {
@@ -68,6 +71,16 @@
       this.flag = true
       this.value = value
     },
+    setWaterData (dataWater, dataDetail, drawData, value) {
+      this.setWasteWaterdata = dataWater
+      // console.log(data)
+      this.getWasteWaterMonitoring = drawData
+      console.log(drawData)
+      this.getWasteWaterMonitoringDetails = dataDetail
+      this.displayContentTitle = dataWater.Name
+      this.flag = true
+      this.value = value
+    },
     closePopup () {
       this.flag = false
     }
diff --git a/src/components/LayerController/LayerController.vue b/src/components/LayerController/LayerController.vue
index d9165bf..7476f09 100644
--- a/src/components/LayerController/LayerController.vue
+++ b/src/components/LayerController/LayerController.vue
@@ -1,13 +1,13 @@
 <template>
   <div :class='["float-panel",layerControllerVisible ? "active" : ""]' >
-    <div @click="showPanel" class="iconBtn transition" :class='layerControllerVisible ? "active-button" : ""' v-show="!layerControllerVisible" style="position: absolute;top:0;left: 0">
-      <img src="@assets/images/map-pages/icon/layer.png" alt="" class="icon">
-      <span class="icon-name">鍥惧眰</span>
+    <div @click="showPanel" class="iconBtn" :class='layerControllerVisible ? "active-button" : ""' v-show="!layerControllerVisible" style="  position: absolute;top:0;left: 0;">
+        <img src="@assets/images/map-pages/icon/layer.png" alt="" class="icon">
+<!--        <span class="icon-name">鍥惧眰</span>-->
     </div>
-    <transition name="fade">
-      <div :class="'legend-content map-background'" v-show="layerControllerVisible" style=" transform-origin: top left;">
+    <transition name="animationChange">
+      <div :class="'legend-content map-background'" v-show="layerControllerVisible">
         <lc-service-layer></lc-service-layer>
-        <buttom  @click="showPanel" type="button" class="el-button special-button el-button--default el-icon-d-arrow-left"></buttom>
+        <button  @click="showPanel" type="button" class="el-button special-button el-button--default el-icon-d-arrow-left"></button>
       </div>
     </transition>
   </div>
@@ -71,15 +71,28 @@
 </script>
 
 <style lang="less">
+  .animationChange-enter-active, .animationChange-leave-active {
+    transition: all 0.5s;
+  }
+
+  .animationChange-enter, .animationChange-leave-to {
+    opacity: 0;
+    transform: translateX(-100px);
+  }
+  .float-panel.active{
+    overflow: visible;
+  }
 .float-panel {
   position: absolute;
   left: 0.14583rem;
-  top: 0.8rem;
+  top: 0.73979rem;
   height: auto;
   font-size: 11px;
   z-index: 1000;
   display: flex;
-
+  min-height: 0.28rem;
+  min-width: 0.28rem;
+  overflow: hidden;
   div {
     color: #00fff6;
   }
@@ -234,7 +247,7 @@
     background:@background-color;
   }
   .legend-content{
-    width:  1.79167rem;
+    width: 2.2rem;
   }
 }
 
diff --git a/src/components/LayerController/logic/SolidWaste.js b/src/components/LayerController/logic/SolidWaste.js
index 9344ecf..ffbedfa 100644
--- a/src/components/LayerController/logic/SolidWaste.js
+++ b/src/components/LayerController/logic/SolidWaste.js
@@ -71,18 +71,21 @@
 
   // 鏍规嵁鐐瑰嚮涓嶅悓鏁版嵁 杩涜鎺ュ彛鐨勬暟鎹姹�
   this.requestSolidWasteData = async (e) => {
-    // 鍩烘湰淇℃伅灞曠ず
+    // 鍩烘湰淇℃伅 鍜� 璇︾粏淇℃伅 灞曠ず鏁版嵁鎵�闇�鍙傛暟
     const dataValue = {
       StoragePlaceId: e.layer.options.totransferData.StoragePlaceId
     }
+    // 鍩烘湰淇℃伅 tabs
     const resultBasic = await mapApi.getSolidWasteBaseInfo(dataValue)
-    // 璇︾粏淇℃伅灞曠ず
+    // 璇︾粏淇℃伅灞曠ず table
     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.Result.DataInfo, 'gufei')
     /* flyTo()寮瑰嚭妗嗗钩绉讳簨浠� */
     this.setPanTo(e.latlng, 200)
diff --git a/src/components/LayerController/logic/WasteWater.js b/src/components/LayerController/logic/WasteWater.js
index 210afcd..31e0d53 100644
--- a/src/components/LayerController/logic/WasteWater.js
+++ b/src/components/LayerController/logic/WasteWater.js
@@ -52,17 +52,19 @@
   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)
-    // console.log(result)
+    const dataValue = {
+      StoragePlaceId: e.layer.options.test.StoragePlaceId
+    }
+    const drawback = await mapApi.getWasteWaterMonitoring()
+    console.log(drawback)
+    const result = await mapApi.getWasteWaterMonitoringDetails(dataValue)
     const PublicBounced = window.Vue.extend(publicBounced)
     const instance = new PublicBounced()
-    instance.setGasData(e.layer.options.test, 'feishui')
+    instance.setWaterData(e.layer.options.test, result.Result.DataInfo, drawback.Result.DataInfo, 'feishui')
     console.log(e.layer.options.test)
     instance.$mount()
     document.body.appendChild(instance.$el)
+    this.setPanTo(e.latlng, 240)
   }
 
   // 鏍规嵁杩斿洖鍊肩殑涓嶅悓鏍囪涓嶅悓鍥剧墖
@@ -96,4 +98,11 @@
     }
     return testChange
   }
+  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 327bbae..5d553c3 100644
--- a/src/components/LayerController/modules/LcServiceLayer.vue
+++ b/src/components/LayerController/modules/LcServiceLayer.vue
@@ -20,7 +20,7 @@
                                    :value="itm.code"
                                    @change="swWmsLayer(itm)"/>{{ itm.name }}
                             <!-- 涓夌骇鍥惧眰閬嶅巻 -->
-                            <div style="width: 100%">
+                            <div class="layerbox-item-3">
                                 <div class="basemap-layer-item" v-for="layer in itm.layers" :key="layer.code">
                                     <input type="checkbox"
                                            :name="'wmsSublayers_'+item.code+'_'+layer.code"
@@ -126,15 +126,19 @@
             .layerbox {
                 width: 100%;
                 .layerbox-item {
-                    display: flex;
-                    flex-flow: row wrap;
-                    margin-left: 15px;
-                    margin-top: 5px;
-
+                    padding-left: 20px;
+                    padding-top: 5px;
                     .basemap-layer-item {
-                        width: 50%;
+                        margin-bottom: 5px;
                     }
                 }
+                .layerbox-item-3{
+                    padding-left: 20px;
+                    padding-top: 5px;
+                    display: flex;
+                    flex-wrap: wrap;
+                    .basemap-layer-item{width: 50%}
+                }
             }
         }
     }
diff --git a/src/components/LayerController/modules/LcServiceLayerFilter.vue b/src/components/LayerController/modules/LcServiceLayerFilter.vue
index 4b68c97..8b64b1f 100644
--- a/src/components/LayerController/modules/LcServiceLayerFilter.vue
+++ b/src/components/LayerController/modules/LcServiceLayerFilter.vue
@@ -1,18 +1,19 @@
 <template>
     <div class="inner-panel">
         <div class="filter-group">
-            <div v-for="item in pointLayers" :key="item.code" class="filter-item">
+            <div v-for="item in layers" :key="item.code" class="filter-item">
                 <div class="title"><input type="checkbox" :value="item.code" :checked="item.checked"
                                           @change="swAllSubFilter(item)">{{item.name}}
                 </div>
-              <el-scrollbar style="height:100%">
-                <div class="content">
-                    <div v-for="filter in item.layers" :key="filter.code">
-                        <input type="checkbox" :value="filter.code" :checked="filter.checked" @change="swSubFilter(item.url,filter)"><label
-                            :title="filter.name">{{filter.name}}</label>
+                <el-scrollbar style="height:100%">
+                    <div class="content">
+                        <div v-for="filter in item.layers" :key="filter.code">
+                            <input type="checkbox" :value="filter.code" :checked="filter.checked"
+                                   @change="swSubFilter(item.url,filter)"><label
+                                :title="filter.name">{{filter.name}}</label>
+                        </div>
                     </div>
-                </div>
-              </el-scrollbar>
+                </el-scrollbar>
             </div>
         </div>
     </div>
@@ -20,54 +21,77 @@
 
 <script>
 import { mapMutations } from 'vuex'
+import { LayerSewersPoint } from '@src/conf/layers/LayerSewers'
 
 export default {
   name: 'LcServiceLayerFilter',
-  components: {},
+  components: { },
   data () {
     return {
       visible: {},
+      layerSewersPoint: LayerSewersPoint,
+      layers: [],
       filterConfig: [] // 闄勫睘瑕佺礌
     }
   },
   computed: {
+    serviceLayers () {
+      return this.$store.state.map.serviceLayers.LayerSewersLine
+    },
     config () {
       return this.$store.state.map.config
-    },
-    pointLayers () {
-      // 鏍规嵁绾垮浘灞傞�変腑鎯呭喌锛屾樉绀烘垨闅愯棌鐐瑰浘灞傞潰鏉�
-      var serviceLayers = this.config.mapConfig.Layers.LayerSewersLine // 涓�绾у浘灞�
-      var checkedLayers = window.serviceLayerHelper.getCheckedLayers(serviceLayers)
-      var pointLayers = this.config.mapConfig.Layers.layerSewersPoint // 浜岀骇鍥惧眰
-      return pointLayers.filter(function (layer) {
-        var code = layer.code
-        for (var i = 0; i < checkedLayers.length; i++) {
-          var checkedLayer = checkedLayers[i]
-          if (checkedLayer.childLayer.indexOf(code) >= 0) {
-            return checkedLayer
-          }
-        }
-      })
     }
-  },
-  mounted () {
-    // this.filterConfig = window.serviceLayerHelper.getWMSConfig().filtersGroup
   },
   methods: {
     ...mapMutations([]),
     swAllSubFilter (item) {
       item.checked = !item.checked
-      console.log(item)
       // window.serviceLayerHelper.loadLayers()
+    },
+    // todo 杩橀渶瑕佷紭鍖栵紝鍦ㄦ湁澶氫釜闇�瑕佸瓙鍥惧眰鐙珛寮圭獥鎯呭喌涓嬫棤鏁�
+    toggle (serviceLayers) {
+      for (var i = 0; i < serviceLayers.length; i++) {
+        var serviceLayer = serviceLayers[i]
+        var childLayer = serviceLayer.childLayer
+        if (childLayer) {
+          if (this.checkChecked(serviceLayer.layers)) {
+            this.layers = childLayer
+          } else {
+            this.layers = []
+          }
+          break
+        } else {
+          this.toggle(serviceLayer.layers)
+        }
+      }
+    },
+    checkChecked (serviceLayers) {
+      for (var i = 0; i < serviceLayers.length; i++) {
+        var serviceLayer = serviceLayers[i]
+        var checked = serviceLayer.checked
+        if (checked) {
+          return true
+        }
+      }
     },
     swSubFilter (url, item) {
       item.checked = !item.checked
       if (item.checked) {
-        window.serviceLayerHelper.loadGeojsonLayer(url, item)
+        window.layerFactory.show(item)
       } else {
-        window.serviceLayerHelper.removeLayer(item)
+        window.layerFactory.hide(item)
       }
       // window.serviceLayerHelper.loadLayers()
+    }
+  },
+  watch: {
+    // 姝ゅ闇�瑕佹繁搴︾洃鍚浘灞傞�変腑鐘舵�侊紝浣跨敤computed鏃犳晥
+    '$store.state.map.serviceLayers.LayerSewersLine': {
+      handler: function (val) {
+        this.toggle(val)
+      },
+      immediate: true,
+      deep: true
     }
   }
 }
@@ -75,12 +99,11 @@
 
 <style scoped lang="less">
     .inner-panel {
-        width: 500px;
         color: #90c8e0;
         font-size: 13px;
 
         position: absolute;
-        left: 260px;
+        left: 2.5rem;
         z-index: 1000;
         height: 220px;
         top: 0;
@@ -106,6 +129,7 @@
                     max-height: 200px;
                     //overflow-y: hidden;
                 }
+
                 //
                 //::-webkit-scrollbar {
                 //    width: 7px;
diff --git a/src/components/LayerController/service/WfsLayerService.js b/src/components/LayerController/service/WfsLayerService.js
index 7f10aee..3aae541 100644
--- a/src/components/LayerController/service/WfsLayerService.js
+++ b/src/components/LayerController/service/WfsLayerService.js
@@ -29,7 +29,10 @@
   }
 
   loadData (wfsUrl) {
-    AjaxUtils.get4JsonDataByUrl(wfsUrl, this.params, (res) => this.draw(res.data.features))
+    AjaxUtils.get4JsonDataByUrl(wfsUrl, this.params, (res) => {
+      console.log(res)
+      this.draw(res.data.features)
+    })
   }
 
   draw (features) {
diff --git a/src/components/panel/LegendPanel.vue b/src/components/panel/LegendPanel.vue
index b3c4784..fe6d347 100644
--- a/src/components/panel/LegendPanel.vue
+++ b/src/components/panel/LegendPanel.vue
@@ -23,17 +23,23 @@
   </div>
 </template>
 <script>
+import { LayerWasteWater } from '../../conf/layers/LayerWasteWater'
+import { LayerWasteGas } from '../../conf/layers/LayerWasteGas'
+import { LayerWasteSolid } from '../../conf/layers/LayerWasteSolid'
+import { LayerAirQuality } from '../../conf/layers/LayerAirQuality'
+import { LayerEnvRisk } from '../../conf/layers/LayerEnvRisk'
+import { LayerSoilGroundWater } from '../../conf/layers/LayerSoilGroundWater'
+import { LayerPipeLines } from '../../conf/layers/LayerPipeLines'
+import { LayerPk } from '../../conf/layers/LayerPk'
+import { LayerArea } from '../../conf/layers/LayerArea'
+
 export default {
   name: 'LegendPanel',
   data () {
     return {
       // 鎺у埗鍥句緥 鍐呭鐨� 鏄剧ず/闅愯棌
-      legendControl: false
-    }
-  },
-  computed: {
-    serviceLayers () {
-      return this.$store.state.map.serviceLayers.LayerSewersLine
+      legendControl: false,
+      serviceLayers: [LayerSoilGroundWater, LayerEnvRisk, LayerAirQuality, LayerWasteSolid, LayerWasteGas, LayerWasteWater, LayerArea, LayerPk, LayerPipeLines]
     }
   },
   methods: {
diff --git a/src/components/panel/RightSearchPanel.vue b/src/components/panel/RightSearchPanel.vue
index c8ff02e..a2cdb5f 100644
--- a/src/components/panel/RightSearchPanel.vue
+++ b/src/components/panel/RightSearchPanel.vue
@@ -5,6 +5,11 @@
 <!--           :class="{'B-TMT-tab-waybill-isActive': isWaybillHover}">-->
 <!--        <img :src="item.icon" style="width: 24px;height: 24px;"></div>-->
       <div class="container">
+          <ul>
+              <li style="text-align: right">
+                  <button type="button" class="el-button special-button el-button--default el-icon-d-arrow-right"></button>
+              </li>
+          </ul>
         <ul  v-for="item in topicList" :key="item.name" :class="item.checked?'module-wrap map-btn-active':'module-wrap map-btn-unactive'" @click="()=>{selected(item)}" >
           <el-tooltip :popper-class="'map-tooltip'" effect="dark" :content="item.name" placement="left">
           <li>
@@ -222,7 +227,7 @@
   //top: 10px;
   height: 0;
   position: absolute;
-  top: .46rem;
+  top: 0.42979rem;
   right: 0.14583rem;
   z-index: 501;
   display: -webkit-box;
@@ -248,6 +253,15 @@
   //  background-color: #061e51 !important;
   //  border: solid 1px #0e639e !important;
   //}
+    .el-button--default {
+        padding: 15px 3px;
+        background: rgba(0, 16, 30, 0.7);
+        color: #C0C4CC;
+    }
+    .el-button--default:hover{
+        background: transparent;
+        border-color: #0f93a9;
+    }
 
   .el-form-item__label {
     color: rgb(52, 224, 255);
diff --git a/src/components/panel/ToolBoxPanel.vue b/src/components/panel/ToolBoxPanel.vue
index 0d0297d..f42d6d9 100644
--- a/src/components/panel/ToolBoxPanel.vue
+++ b/src/components/panel/ToolBoxPanel.vue
@@ -1,9 +1,9 @@
 <template>
   <div class="left-top-toolbox-panel">
     <div class="specific-tools">
-      <el-button :class="selectGroup === true ?'active-button':''" class="el-button-choice"   @mouseover.enter.native="changeSelectMouse">
+      <el-button :class="selectGroup === true ?'active-button':''" class="el-button-choice"   @click.enter.native="changeSelectMouse">
           <img src="@assets/images/map-pages/icon/toolbox/Selecd/tool.png" alt="" class="icon" />
-          <span class="span-default">宸ュ叿</span>
+          <!--<span class="span-default">宸ュ叿</span>-->
       </el-button>
       <transition name="animationChange">
         <el-row v-show="selectGroup" class="specific-tools-group">
@@ -20,8 +20,8 @@
                        @click.native="changeChoose(index)">
               <img :src="item.iconSelecd" alt="" v-if="active === index"/>
               <img :src="item.icon" alt="" v-else/>
-              <span v-if="active === index">{{ item.label }}</span>
-              <span v-else class="default-span">{{ item.label }}</span>
+              <!--<span v-if="active === index">{{ item.label }}</span>
+              <span v-else class="default-span">{{ item.label }}</span>-->
             </el-button>
             <el-button v-for="(itemT,indexT) in item.items" :key="indexT" @click="choiceItem(itemT,indexT)"
                        v-show="item.index!=='2'">
@@ -409,16 +409,15 @@
 
   .specific-tools {
     display: flex;
-
-    .el-button {
+    overflow: hidden;
+     .el-button {
       z-index: 999;
       padding: 0;
       margin: 0 0.015rem;
-      width: 45px;
-      height: 45px;
+      width: 0.2725rem;
+      height: 0.2725rem;
       background: @background-color;
-      //vertical-align: middle !important;
-
+      vertical-align: middle !important;
       .base-map-img {
         position: absolute;
       }
@@ -437,6 +436,10 @@
       span {
         display: block;
         font-size: 10px;
+      }
+    }
+    .specific-tools-group .el-button{
+      span{
         color: #0B89B5;
       }
     }
@@ -447,8 +450,8 @@
       padding: 0;
       margin: 0;
       margin-right:0.015rem;
-      width: 45px;
-      height: 45px;
+      width: 0.2725rem;
+      height: 0.2725rem;
       background: @background-color;
       border: 0.00521rem solid @color-shadow;
     }
@@ -460,6 +463,7 @@
 
     .specific-tools-group {
       z-index: 1;
+
       .tools-panel-choose {
         border: none;
         box-shadow: 0 0 0.03rem @color-shadow;
@@ -481,11 +485,56 @@
       }
 
       .special-button {
-        width: 22px;
-        height: 45px;
+        width: 0.1362rem;
+        height: 0.2725rem;
         color: @color-over;
       }
     }
   }
 }
+.base-map-inner-panel {
+  display: flex;
+  justify-content: center;
+  align-items: center;
+
+  .base-map-img {
+    position: absolute;
+  }
+
+  .base-map-img-Tool:hover {
+    cursor: pointer;
+  }
+
+  .base-map-anno-Tool {
+    position: absolute;
+    margin-left: 2px;
+    background-color: rgba(0, 0, 0, .5);
+    color: @color-over;
+
+    .el-checkbox__label {
+      padding-left: 5px !important;
+    }
+  }
+
+  .basemap-layer-item {
+    display: flex;
+    width: 50px;
+    height: 50px;
+    margin: 10px;
+    border: 2px solid white;
+
+    input {
+      position: relative;
+      left: 0;
+      top: -53px;
+    }
+
+    .basemap-layer-item-name {
+      position: relative;
+      left: 0;
+      top: -53px;
+    }
+  }
+}
+
 </style>
diff --git a/src/components/table/enterprise.vue b/src/components/table/enterprise.vue
index d2f65ae..261ca06 100644
--- a/src/components/table/enterprise.vue
+++ b/src/components/table/enterprise.vue
@@ -3,7 +3,7 @@
         <div class="enterprise-function" @click="showWarnDialog()">
             <div :class='["iconBtn",warnVisible ? "active-button" : ""]'>
                 <img src="@/assets/images/map-pages/icon/map/warn.png" alt="" class="icon">
-                <span class="icon-name">棰勬姤璀�</span>
+                <!--<span class="icon-name">棰勬姤璀�</span>-->
                 <!--    <el-tooltip :popper-class="'map-tooltip'" effect="dark" content="棰勬姤璀�" placement="left">
                     <img src="@/assets/images/map-pages/icon/map/warn.png" alt="" width="26px" style="display: block;margin: auto">
 
@@ -13,7 +13,7 @@
         <div class="enterprise-function" @click="showStatisDialog()">
             <div :class='["iconBtn",companyVisible ? "active-button" : ""]'>
                 <img src="@/assets/images/map-pages/icon/map/company.png" alt="" class="icon">
-                <span class="icon-name">鎸囨爣</span>
+<!--                <span class="icon-name">鎸囨爣</span>-->
             </div>
         </div>
         <Dialog ref="warnDialog" title="浼佷笟棰勮鎶ヨ鍒嗙被缁熻" >
@@ -82,7 +82,7 @@
         cursor: pointer;
     }
     .enterprise-function:not(:first-child){
-        margin-left: 10px;
+        margin-left: 0.05rem;
     }
 }
 </style>
diff --git a/src/components/table/summarySheets.vue b/src/components/table/summarySheets.vue
index c030827..1d1d523 100644
--- a/src/components/table/summarySheets.vue
+++ b/src/components/table/summarySheets.vue
@@ -2,7 +2,7 @@
     <div class="summary-sheets">
         <div :class='["iconBtn",summaryVisible ? "active-button" : ""]' @click="closeBtn">
             <img src="@assets/images/map-pages/icon/toolbox/table.png" alt="" class="icon">
-            <span class="icon-name">缁熻琛�</span>
+            <!--<span class="icon-name">缁熻琛�</span>-->
         </div>
         <Dialog ref="summarySheets" title="浼佷笟鎸囨爣鍒嗙被缁熻">
           <tab-handover></tab-handover>
@@ -46,7 +46,7 @@
 <style scoped lang="less">
     .summary-sheets {
         position: absolute;
-        top: 0.46rem;
+        top: 0.42979rem;
         left: 0.14583rem;
         /*width: 850px;*/
         /*height: 265px;*/
diff --git a/src/conf/layers/LayerPipeLines.js b/src/conf/layers/LayerPipeLines.js
index 4209ddc..5ea2a19 100644
--- a/src/conf/layers/LayerPipeLines.js
+++ b/src/conf/layers/LayerPipeLines.js
@@ -1,6 +1,9 @@
 /**
  * 绠$綉
  */
+import { LayerHbss } from './LayerHbss'
+import { LayerFsss } from './LayerFsss'
+
 const APP_GIS_HOST_2 = 'http://xearth.cn:8088'
 const WFS_URL = APP_GIS_HOST_2 + '/server/ogcserver/PipeLine/wfs'
 
@@ -8,6 +11,7 @@
   code: 'sewersPipeLines',
   name: '绠$嚎',
   checked: true,
+  childLayer: [LayerFsss, LayerHbss],
   layers: [
     {
       code: 'rainline',
@@ -15,7 +19,7 @@
       sname: '闆ㄦ按绾�',
       checked: true,
       wfs: WFS_URL + '?TYPENAME=绠$綉',
-      minZoom: 10 // 鍦ㄦ寚瀹氱骇鍒樉绀�
+      minZoom: 10
     },
     {
       code: 'accidentline',
diff --git a/src/conf/layers/LayerSewers.js b/src/conf/layers/LayerSewers.js
index c61b00a..433b67d 100644
--- a/src/conf/layers/LayerSewers.js
+++ b/src/conf/layers/LayerSewers.js
@@ -103,7 +103,7 @@
 
 export const LayerSewersPoint = [
   {
-    code: 'fsss',
+    code: 'sewersFsss',
     name: '闄勫睘璁炬柦',
     checked: false, // 榛樿閫変腑鐘舵��
     type: 'geojson',
@@ -171,7 +171,7 @@
     ]
   },
   {
-    code: 'hbss',
+    code: 'sewersHbss',
     name: '鐜繚璁炬柦',
     checked: false, // 榛樿閫変腑鐘舵��
     type: 'geojson',
@@ -233,7 +233,7 @@
     ]
   },
   {
-    code: 'pk',
+    code: 'sewersPk',
     name: '鎺掑彛',
     checked: false, // 榛樿閫変腑鐘舵��
     type: 'geojson',
@@ -249,7 +249,7 @@
     ]
   },
   {
-    code: 'qyxx',
+    code: 'sewersQyxx',
     name: '鍖哄煙淇℃伅',
     checked: false, // 榛樿閫変腑鐘舵��
     type: 'geojson',

--
Gitblit v1.8.0