From 59f41216be10124f7203ef4b08352f4aaa821491 Mon Sep 17 00:00:00 2001
From: chenyabin <Chenab123!>
Date: 星期三, 07 四月 2021 11:41:31 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/develop' into develop

---
 src/assets/css/map/_map-variable.less                                     |    5 +
 src/components/BaseNav/PublicBounced/GasComponents/PublicVideo.vue        |    4 
 src/components/BaseNav/PublicBounced/GasComponents/ECharts.vue            |    6 +
 src/components/panel/ToolBoxPanel.vue                                     |   51 ++++--------
 src/components/plugin/PathDashFlow.js                                     |    1 
 src/components/LayerController/modules/LcServiceLayerFilter.vue           |   81 +++++++++++++-------
 src/components/BaseNav/PublicBounced/GasComponents/PublicTable.vue        |   55 +++++++++----
 src/components/BaseNav/PublicBounced/GasComponents/PublicDetailedList.vue |    2 
 src/components/BaseNav/PublicBounced/PublicBounced.vue                    |    2 
 public/assets/images/map/solidwaste/gf_green.png                          |    0 
 src/components/LayerController/logic/SolidWaste.js                        |    7 +
 11 files changed, 126 insertions(+), 88 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/assets/css/map/_map-variable.less b/src/assets/css/map/_map-variable.less
index 2dd695f..8ef5f52 100644
--- a/src/assets/css/map/_map-variable.less
+++ b/src/assets/css/map/_map-variable.less
@@ -10,3 +10,8 @@
 @background-color-split: rgba(0, 255, 246, .14);//鍒嗗壊绾�
 @background-color-tools: #1A4951;//宸ュ叿绠�
 @border-radius: .03rem;//鍊掕
+
+@size-0:.08333rem;
+@size-1: .125rem;
+@size-2: .125rem;
+@size-3: .24479rem;
diff --git a/src/components/BaseNav/PublicBounced/GasComponents/ECharts.vue b/src/components/BaseNav/PublicBounced/GasComponents/ECharts.vue
index c3338d4..5ab9de8 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>
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/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 d908a07..7726783 100644
--- a/src/components/BaseNav/PublicBounced/PublicBounced.vue
+++ b/src/components/BaseNav/PublicBounced/PublicBounced.vue
@@ -11,7 +11,7 @@
         <div class="public-bounced-content-left-bottom">
           <public-table v-if="value === 'gufei'"
                         :displayContentTable="displayContentTable"></public-table>
-          <public-chart v-else></public-chart>
+          <public-chart v-else :getWasteGasDetails="getWasteGasDetails"></public-chart>
         </div>
       </div>
       <div class="public-bounced-content-right">
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/modules/LcServiceLayerFilter.vue b/src/components/LayerController/modules/LcServiceLayerFilter.vue
index 4b68c97..ffc77a5 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,45 +21,58 @@
 
 <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
@@ -68,6 +82,16 @@
         window.serviceLayerHelper.removeLayer(item)
       }
       // window.serviceLayerHelper.loadLayers()
+    }
+  },
+  watch: {
+    // 姝ゅ闇�瑕佹繁搴︾洃鍚浘灞傞�変腑鐘舵�侊紝浣跨敤computed鏃犳晥
+    '$store.state.map.serviceLayers.LayerSewersLine': {
+      handler: function (val) {
+        this.toggle(val)
+      },
+      immediate: true,
+      deep: true
     }
   }
 }
@@ -106,6 +130,7 @@
                     max-height: 200px;
                     //overflow-y: hidden;
                 }
+
                 //
                 //::-webkit-scrollbar {
                 //    width: 7px;
diff --git a/src/components/panel/ToolBoxPanel.vue b/src/components/panel/ToolBoxPanel.vue
index 6c0ed6f..ce0c138 100644
--- a/src/components/panel/ToolBoxPanel.vue
+++ b/src/components/panel/ToolBoxPanel.vue
@@ -5,7 +5,6 @@
           <img src="@assets/images/map-pages/icon/toolbox/Selecd/tool.png" alt="" class="icon" />
           <span class="span-default">宸ュ叿</span>
       </el-button>
-
       <transition name="animationChange">
         <el-row v-show="selectGroup" class="specific-tools-group">
           <el-popover
@@ -29,15 +28,16 @@
               <img :src="itemT.iconChoose" :title="itemT.title" v-if="Selecd === indexT && checkedItem" alt=""/>
               <img :src="itemT.icon" :title="itemT.title" alt="" v-else/>
             </el-button>
-            <div class="base-map-inner-panel" v-show="item.index==='2'">
-              <div v-for="item in basemapHelper.basemapList" :key="item.code" class="basemap-layer-item">
-                <img class="base-map-img" width="50" height="50" :src="item.conf.icon_actived" :title="item.name"
-                     @click="changeBasemap(item)" alt=""/>
-                <el-checkbox class="base-map-anno" name="basemap" v-model="item.conf.annotationCheck"
-                             label="鏍囨敞" @change="changeBasemap(item)">
-                </el-checkbox>
-              </div>
-            </div>
+<!--            <div class="base-map-inner-panel" v-show="item.index==='2'">-->
+<!--              <div v-for="item in basemapHelper.basemapList" :key="item.code" class="basemap-layer-item">-->
+<!--                <img class="base-map-img" width="50" height="50" :src="item.conf.icon_actived" :title="item.name"-->
+<!--                     @click="changeBasemap(item)" alt=""/>-->
+<!--                <el-checkbox class="base-map-anno" name="basemap" v-model="item.conf.annotationCheck"-->
+<!--                             label="鏍囨敞" @change="changeBasemap(item)">-->
+<!--                </el-checkbox>-->
+<!--              </div>-->
+<!--            </div>-->
+            <lc-base-map v-show="item.index==='2'"></lc-base-map>
           </el-popover>
           <el-button @click="changeSelect" class="special-button">
             <i class="el-icon-d-arrow-left"></i>
@@ -49,6 +49,7 @@
 </template>
 
 <script>
+import LcBaseMap from '@components/LayerController/modules/LcBaseMap'
 // 鍔熻兘瀵艰埅
 import plot from '@assets/images/map-pages/icon/toolbox/biaohui.png'
 import polygon from '@assets/images/map-pages/icon/toolbox/celiang1.png'
@@ -95,11 +96,14 @@
 
 export default {
   name: 'ToolBoxPanel',
+  components: {
+    LcBaseMap
+  },
   data () {
     return {
       isShow: [],
-      currentBaseMapCode: 'tianditu_img',
-      basemapList: [],
+      // currentBaseMapCode: 'tianditu_img',
+      // basemapList: [],
       selectGroup: false,
       drawLayer: null,
       drawLayerArray: [],
@@ -257,33 +261,10 @@
       ]
     }
   },
-  computed: {
-    basemapHelper () {
-      return this.$store.state.map.basemapHelper
-    }
-  },
   methods: {
     init (map) {
       this.map = map
       this.toolBoxPanelVisible = true
-    },
-    changeBasemap (itm) {
-      this.active = -1
-      const code = itm.code
-      this.basemapHelper.basemapList.forEach((item) => {
-        if (item.code === code) {
-          if (this.currentBaseMapCode == null || this.currentBaseMapCode !== code) {
-            this.currentBaseMapCode = code
-            this.basemapHelper.showBasemap(item.code, item.conf.annotationCheck, true)
-          } else {
-            this.basemapHelper.showBasemap(item.code, item.conf.annotationCheck, false)
-          }
-
-          this.basemapHelper.basemapList.forEach((item) => {
-            item.layer.bringToBack()
-          })
-        }
-      })
     },
     changeChoose (index) {
       if (this.drawLayer == null) {
diff --git a/src/components/plugin/PathDashFlow.js b/src/components/plugin/PathDashFlow.js
index a868066..13b295f 100644
--- a/src/components/plugin/PathDashFlow.js
+++ b/src/components/plugin/PathDashFlow.js
@@ -71,6 +71,7 @@
     }
   },
   _fillStroke: function (ctx, layer) {
+    debugger
     var options = layer.options
 
     if (options.fill) {

--
Gitblit v1.8.0