From c2c35bfab620d688d3433ef8cd77f8f979fb5eea Mon Sep 17 00:00:00 2001
From: wangqi <magical1908@outlook.com>
Date: 星期五, 09 四月 2021 10:00:06 +0800
Subject: [PATCH] Merge branch 'develop' of http://xearth.cn:6600/r/wuyushui/SewerAndRainNetwork into develop

---
 src/components/BaseNav/PublicBounced/GasComponents/PublicChart.vue |    4 
 src/components/BaseNav/PublicBounced/GasComponents/PublicVideo.vue |    3 
 src/components/BaseNav/PublicBounced/GasComponents/Echarts.vue     |  196 ++++++++++++++++++++++++++++++++
 src/components/LayerController/modules/LcServiceLayerFilter.vue    |   24 +++-
 package.json                                                       |    2 
 src/api/mapApi.js                                                  |    3 
 src/api/mapUrl.js                                                  |    1 
 src/components/BaseNav/PublicBounced/PublicBounced.vue             |   21 +-
 src/components/LayerController/modules/LcServiceLayer.vue          |   53 ++------
 9 files changed, 249 insertions(+), 58 deletions(-)

diff --git a/package.json b/package.json
index 40e1977..aa3ea33 100644
--- a/package.json
+++ b/package.json
@@ -16,7 +16,7 @@
     "axios": "^0.18.0",
     "babel-polyfill": "^6.26.0",
     "core-js": "^3.6.5",
-    "dayjs": "^1.9.6",
+    "dayjs": "^1.10.4",
     "echarts": "^4.2.1",
     "element-ui": "^2.14.1",
     "esri-leaflet": "^3.0.1",
diff --git a/src/api/mapApi.js b/src/api/mapApi.js
index 26ab8bc..85c6ab7 100644
--- a/src/api/mapApi.js
+++ b/src/api/mapApi.js
@@ -54,5 +54,8 @@
   },
   getCompany (data) {
     return axios.get(mapUrl.getCompany, data)
+  },
+  DataItems (data) {
+    return axios.get(mapUrl.DataItems, data)
   }
 }
diff --git a/src/api/mapUrl.js b/src/api/mapUrl.js
index 479b4cd..8d39ed4 100644
--- a/src/api/mapUrl.js
+++ b/src/api/mapUrl.js
@@ -12,6 +12,7 @@
 
 export const getWasteGas = $HOST + '/wasteGas/getWasteGas'
 export const getWasteGasDetails = $HOST + '/wasteGas/getWasteGasMonitoringDetails'
+export const DataItems = $HOST + '/wasteWater/RTDB/DataItems'
 export const getWasteGasMonData = $HOST + '/wasteGas/QueryOnlineMonData'
 
 export const getWasteWater = $HOST + '/wasteWater/getWasteWater'
diff --git a/src/components/BaseNav/PublicBounced/GasComponents/Echarts.vue b/src/components/BaseNav/PublicBounced/GasComponents/Echarts.vue
new file mode 100644
index 0000000..3ac2e52
--- /dev/null
+++ b/src/components/BaseNav/PublicBounced/GasComponents/Echarts.vue
@@ -0,0 +1,196 @@
+<template>
+  <div style="width:100%;height:2rem;" ref="echarts"></div>
+</template>
+
+<script>
+
+import mapApi from '@/api/mapApi'
+import 'dayjs/locale/es'
+import dayjs from 'dayjs'
+
+export default {
+  name: 'ECharts',
+  data () {
+    return {
+      myChart: [],
+      dataDate: [],
+      value: '',
+      seriesData: [],
+      aseries: '',
+      result: [],
+      days: dayjs(new Date()).format('YYYYMMDDHHmmss')
+    }
+  },
+  methods: {
+    drawChart (result) {
+      // const result = this.result
+      this.myChart = this.$echarts.init(this.$refs.echarts)
+
+      // setInterval(function () {
+      // }, 3000)
+      const option = {
+        title: {
+          text: '鎶樼嚎鍥惧爢鍙�'
+        },
+        tooltip: {
+          trigger: 'axis'
+        },
+        legend: {
+          data: ['閭欢钀ラ攢', '鑱旂洘骞垮憡', '瑙嗛骞垮憡', '鐩存帴璁块棶', '鎼滅储寮曟搸']
+        },
+        grid: {
+          containLabel: true
+        },
+        toolbox: {
+          feature: {
+            saveAsImage: {
+              show: false
+            }
+          }
+        },
+        xAxis: {
+          type: 'category',
+          boundaryGap: false,
+          // data: seriesData,
+          data: ['鍛ㄤ竴', '鍛ㄤ簩', '鍛ㄤ笁', '鍛ㄥ洓', '鍛ㄤ簲', '鍛ㄥ叚', '鍛ㄦ棩'],
+          axisLine: {
+            lineStyle: {
+              color: '#FFFFFF',
+              width: 1
+            }
+          }
+        },
+        yAxis: {
+          type: 'value',
+          axisLine: {
+            lineStyle: {
+              color: '#FFFFFF',
+              width: 1
+            }
+          }
+        },
+        series: [
+          {
+            name: '閭欢钀ラ攢',
+            type: 'line',
+            stack: '鎬婚噺',
+            data: [120, 132, 101, 134, 90, 230, 210]
+          },
+          {
+            name: '鑱旂洘骞垮憡',
+            type: 'line',
+            stack: '鎬婚噺',
+            data: [220, 182, 191, 234, 290, 330, 310]
+          },
+          {
+            name: '瑙嗛骞垮憡',
+            type: 'line',
+            stack: '鎬婚噺',
+            data: [150, 232, 201, 154, 190, 330, 410]
+          },
+          {
+            name: '鐩存帴璁块棶',
+            type: 'line',
+            stack: '鎬婚噺',
+            data: [320, 332, 301, 334, 390, 330, 320]
+          },
+          {
+            name: '鎼滅储寮曟搸',
+            type: 'line',
+            stack: '鎬婚噺',
+            data: [820, 932, 901, 934, 1290, 1330, 1320]
+          }
+        ]
+      }
+      this.myChart.setOption(option)
+    },
+    async echartsData () {
+      const addDays = dayjs().add(300, 'day')
+      const data = {
+        $tagCodeList: 'TJIP45.yyqAI90305,TJIP45.yyqAI90303,TJIP45.yyqFI_90310N,TJIP45.yyqAI90304,TJIP45.yyqAIR001',
+        $startTime: this.dayjs,
+        $endTime: addDays,
+        $step: 15
+      }
+      const result = await mapApi.DataItems(data)
+      this.result = result.data
+    },
+    // 鏁版嵁鐨勮姹�
+    requestEcharts () {
+      setInterval(async () => {
+        const addDays = dayjs().add(300, 'day')
+        const data = {
+          $tagCodeList: 'TJIP45.yyqAI90305,TJIP45.yyqAI90303,TJIP45.yyqFI_90310N,TJIP45.yyqAI90304,TJIP45.yyqAIR001',
+          $startTime: this.dayjs,
+          $endTime: addDays,
+          $step: 15
+        }
+        const result = await mapApi.DataItems(data)
+        this.result = result.data
+        for (let i = 0; i < result.length; i++) {
+          //   // console.log(result[i])
+
+          const seriesData = []
+          const aseries = []
+          // let nameData = ''
+
+          seriesData.push(result[i].ReadTime)
+          aseries.push(result[i].TagValue)
+          // nameData = result[i].UnionTagCode
+          this.aseries = result[i].UnionTagCode
+        }
+        this.myChart.setOption({
+          series: [{
+            data: data
+          }]
+        })
+      }, 3000)
+    }
+  },
+  mounted () {
+    this.$nextTick(() => {
+      this.requestEcharts()
+      this.drawChart()
+    })
+  }
+}
+</script>
+
+<style scoped lang="less">
+.Infomation {
+  margin-left: 10px;
+  height: 0.2rem;
+}
+
+.el-tag {
+  height: 25px;
+  width: 140px;
+  line-height: 25px;
+  margin-right: 10px;
+  font-size: 10px;
+  background-color: rgba(0, 255, 246, 0.14);
+  color: #00d0f9;
+  border: none;
+  padding: 0 15px;
+}
+
+.form-echrts {
+  width: 100%;
+  height: 1rem;
+  border-top: 1px solid #396d83;
+  //margin: 10px 10px 10px 10px;
+  .el-dialog-div {
+    //height: 50vh!important;
+    overflow: auto;
+    //overflow: hidden;
+  }
+
+  #echarts {
+    margin: 0;
+    padding: 0;
+    //height: 3rem;
+    //border: 1px solid #396d83;
+    //margin: 10px 10px 10px 10px;
+  }
+}
+</style>
diff --git a/src/components/BaseNav/PublicBounced/GasComponents/PublicChart.vue b/src/components/BaseNav/PublicBounced/GasComponents/PublicChart.vue
index 09a7134..2aeea82 100644
--- a/src/components/BaseNav/PublicBounced/GasComponents/PublicChart.vue
+++ b/src/components/BaseNav/PublicBounced/GasComponents/PublicChart.vue
@@ -46,10 +46,10 @@
 
 .win {
   position: relative;
-  margin-bottom: 13px;
+  /*margin-bottom: 13px;*/
   background-color: rgba(33, 41, 69, 0.9);
   border: 0.8px solid #396d83;
-  height: 1.5rem;
+  /*height: 1.5rem;*/
 }
 
 .border_corner {
diff --git a/src/components/BaseNav/PublicBounced/GasComponents/PublicVideo.vue b/src/components/BaseNav/PublicBounced/GasComponents/PublicVideo.vue
index 4c581a3..1e67f2f 100644
--- a/src/components/BaseNav/PublicBounced/GasComponents/PublicVideo.vue
+++ b/src/components/BaseNav/PublicBounced/GasComponents/PublicVideo.vue
@@ -27,11 +27,12 @@
   position: relative;
   background-color: rgba(33, 41, 69, 0.9);
   //height: 2rem;
+  width: 3rem;
 }
 
 .main {
   border: 1px solid #396d83;
-  padding: 5px;
+  //padding: 5px;
   height: 2rem;
 
   video {
diff --git a/src/components/BaseNav/PublicBounced/PublicBounced.vue b/src/components/BaseNav/PublicBounced/PublicBounced.vue
index 5a47938..e363527 100644
--- a/src/components/BaseNav/PublicBounced/PublicBounced.vue
+++ b/src/components/BaseNav/PublicBounced/PublicBounced.vue
@@ -1,5 +1,6 @@
 <template>
   <div class="public-bounced" v-drag v-if="flag">
+    <!--    <Echarts></Echarts>-->
     <div class="public-bounced-title">
       <span>{{ displayContentTitle }}</span>
       <i class="el-icon-circle-close" @click="closePopup"></i>
@@ -26,6 +27,8 @@
 
 <script>
 
+// import Echarts from '@components/BaseNav/PublicBounced/GasComponents/Echarts'
+
 import '@/components/BaseNav/SolidWaste/directive/dir'
 import PublicTabs from '@components/BaseNav/PublicBounced/GasComponents/PublicTabs'
 import PublicTable from '@components/BaseNav/PublicBounced/GasComponents/PublicTable'
@@ -35,6 +38,7 @@
 export default {
   name: 'PublicBounced',
   components: {
+    // Echarts
     PublicTabs,
     PublicTable,
     PublicChart,
@@ -93,16 +97,10 @@
 
 <style lang="less" scoped>
 .public-bounced {
-  width: 8rem;
-  //height: 2.6rem;
-  //width: 70vw;
-  //height: 30vh;
   z-index: 999;
   position: absolute;
-  //bottom: 2rem;
-  //left: 5rem;
   top: 15%;
-  left: 15%;
+  left: 20%;
   background-color: #002432;
   border: 1px #9fc5c8 solid;
 
@@ -129,17 +127,18 @@
   }
 
   .public-bounced-content {
-    margin: 0.2rem auto !important;
+    padding: 0.1rem;
     display: flex;
     //align-items: center;
-    justify-content: space-around;
+    //justify-content: space-around;
 
     .public-bounced-content-left {
-      width: 4.8rem;
+      //width: 4.8rem;
     }
 
     .public-bounced-content-right {
-      width: 3rem;
+      //width: 3rem;
+      margin-left: 0.1rem;
     }
   }
 }
diff --git a/src/components/LayerController/modules/LcServiceLayer.vue b/src/components/LayerController/modules/LcServiceLayer.vue
index b404bc8..f6af058 100644
--- a/src/components/LayerController/modules/LcServiceLayer.vue
+++ b/src/components/LayerController/modules/LcServiceLayer.vue
@@ -16,7 +16,7 @@
                                    :name="'wmsSublayers_'+item.code+'_'+itm.code"
                                    :checked="itm.checked"
                                    :value="itm.code"
-                                   @change="swWmsLayer(itm)"/>{{ itm.name }}
+                                   @change="swAllLayers(itm)"/>{{ itm.name }}
                             <!-- 涓夌骇鍥惧眰閬嶅巻 -->
                             <div class="layerbox-item-3">
                                 <div class="basemap-layer-item" v-for="layer in itm.layers" :key="layer.code">
@@ -24,7 +24,7 @@
                                            :name="'wmsSublayers_'+item.code+'_'+layer.code"
                                            :checked="layer.checked"
                                            :value="layer.code"
-                                           @change="swWmsLayer(layer)"/>
+                                           @change="swAllLayers(layer)"/>
                                     <span :style="'color:'+layer.color">{{ layer.name }}</span>
                                 </div>
                             </div>
@@ -38,9 +38,7 @@
 </template>
 
 <script>
-import WfsHelper from '../../helpers/WfsHelper'
 import LcServiceLayerFilter from '@components/LayerController/modules/LcServiceLayerFilter'
-import AjaxUtils from '../../../utils/AjaxUtils'
 
 export default {
   name: 'LcServiceLayer',
@@ -51,52 +49,33 @@
     }
   },
   mounted () {
-    // console.log('03姝ラ锛�', this.helper)
-    this.updateServiceLayerList()
   },
   methods: {
     swAllLayers (item) {
       // eslint-disable-next-line no-debugger
       item.checked = !item.checked
-      for (let i = 0, len = item.layers.length; i < len; ++i) {
-        item.layers[i].checked = item.checked
+      this.toggleLayer(item)
+      this.swLayers(item.layers, item.checked)
+    },
+    swLayers (layers, checked) {
+      if (layers) {
+        for (let i = 0, len = layers.length; i < len; ++i) {
+          var layer = layers[i]
+          layer.checked = checked
+          this.toggleLayer(layer)
+          if (layer.layers) {
+            this.swLayers(layer.layers, checked)
+          }
+        }
       }
-      this.updateWms()
     },
-    loadWfs () {
-      var wfsHelper = new WfsHelper()
-      wfsHelper.addTypeName('绠$嚎鐐�')
-      wfsHelper.addEquals('pipename', '鐮旂┒闄�01璺痀S000001')
-
-      AjaxUtils.GetDataAsynByUrl(wfsHelper.getUrl(), {}, (res) => {
-        console.log(res)
-      })
-    },
-    swWmsLayer (itm) {
-      itm.checked = !itm.checked
+    toggleLayer (itm) {
       if (itm.checked) {
         window.layerFactory.show(itm)
       } else {
         window.layerFactory.hide(itm)
       }
       // this.updateWms()
-    },
-    updateServiceLayerList () {
-
-    },
-    updateWms () {
-      var mapConfig = this.mapConfig
-      var wmsHelper = new WfsHelper()
-      wmsHelper.initMapConfig(mapConfig)
-      var wmsLayersMap = wmsHelper.getWmsLayersMap()
-      for (var k in wmsLayersMap) {
-        var layers = wmsLayersMap[k]
-        var tileLayer = window.serviceLayerHelper.getTileLayer(k)
-        if (tileLayer) {
-          tileLayer.setParams({ layers: layers.join(',') }, false)
-          tileLayer.setUrl(tileLayer.config.url, false)
-        }
-      }
     }
   }
 }
diff --git a/src/components/LayerController/modules/LcServiceLayerFilter.vue b/src/components/LayerController/modules/LcServiceLayerFilter.vue
index 2e4d80d..9f36a5e 100644
--- a/src/components/LayerController/modules/LcServiceLayerFilter.vue
+++ b/src/components/LayerController/modules/LcServiceLayerFilter.vue
@@ -9,7 +9,7 @@
                     <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
+                                   @change="swAllSubFilter(filter)"><label
                                 :title="filter.name">{{filter.name}}</label>
                         </div>
                     </div>
@@ -20,7 +20,6 @@
 </template>
 
 <script>
-import { mapMutations } from 'vuex'
 import { LayerSewersPoint } from '@src/conf/layers/LayerSewers'
 
 export default {
@@ -43,12 +42,26 @@
     }
   },
   methods: {
-    ...mapMutations([]),
     swAllSubFilter (item) {
+      // eslint-disable-next-line no-debugger
       item.checked = !item.checked
-      // window.serviceLayerHelper.loadLayers()
+      this.toggleLayer(item)
+      this.swLayers(item.layers, item.checked)
+    },
+    swLayers (layers, checked) {
+      if (layers) {
+        for (let i = 0, len = layers.length; i < len; ++i) {
+          var layer = layers[i]
+          layer.checked = checked
+          this.toggleLayer(layer)
+          if (layer.layers) {
+            this.swLayers(layer.layers, checked)
+          }
+        }
+      }
     },
     // todo 杩橀渶瑕佷紭鍖栵紝鍦ㄦ湁澶氫釜闇�瑕佸瓙鍥惧眰鐙珛寮圭獥鎯呭喌涓嬫棤鏁�
+    // 鐩戝惉涓婄骇鍥惧眰瀛樺湪鐙珛寮圭獥鐨勯�変腑鎯呭喌
     toggle (serviceLayers) {
       if (serviceLayers) {
         for (var i = 0; i < serviceLayers.length; i++) {
@@ -76,8 +89,7 @@
         }
       }
     },
-    swSubFilter (url, item) {
-      item.checked = !item.checked
+    toggleLayer (item) {
       if (item.checked) {
         window.layerFactory.show(item)
       } else {

--
Gitblit v1.8.0