From 0eb2de2d7631496fb6d9db215852c43b49793f6a Mon Sep 17 00:00:00 2001
From: wangqi <magical1908@outlook.com>
Date: 星期一, 12 四月 2021 15:08:45 +0800
Subject: [PATCH] Merge branch 'develop' of http://xearth.cn:6600/r/wuyushui/SewerAndRainNetwork into develop

---
 src/components/BaseNav/PublicBounced/GasComponents/PublicChart.vue |   98 +---
 src/assets/css/map/map-panel-style.less                            |   59 +++
 src/components/BaseNav/PublicBounced/GasComponents/EChartsHour.vue |  194 +++++-----
 src/components/panel/ToolBoxPanel.vue                              |   20 +
 src/components/BaseNav/PublicBounced/GasComponents/Echarts.vue     |  355 +++++++++++---------
 src/components/LayerController/LayerController.vue                 |   15 
 src/components/BaseNav/PublicBounced/PublicBounced.vue             |   28 
 src/eventBus.js                                                    |    2 
 src/utils/dragBoxes.js                                             |   39 ++
 src/components/table/summarySheets.vue                             |   13 
 src/components/BaseNav/PublicBounced/GasComponents/EChartsDate.vue |   78 ++--
 src/components/BaseNav/SolidWaste/directive/dir.js                 |   37 -
 src/components/BaseNav/PublicBounced/GasComponents/PublicTabs.vue  |   82 +---
 13 files changed, 559 insertions(+), 461 deletions(-)

diff --git a/src/assets/css/map/map-panel-style.less b/src/assets/css/map/map-panel-style.less
index 5c5a3a9..fcf9008 100644
--- a/src/assets/css/map/map-panel-style.less
+++ b/src/assets/css/map/map-panel-style.less
@@ -239,6 +239,7 @@
 .el-button{
 
 }
+.hover-bottom:hover,
 .active-button{
   border: 0.00521rem solid #fff700 !important;
   box-shadow: 0 0 0.03rem #fff700 !important;
@@ -440,3 +441,61 @@
 
 }
 
+.el-picker-panel{
+  background: @background-color;
+  border-color:@color;
+  color:@color;
+  .el-picker-panel__body-wrapper{
+    background: @background-color;
+  }
+  .el-input__inner{
+    background:@background-color;
+    border-color:@color;
+  }
+  .el-date-table td.today span{
+    color:@color-highlight;
+  }
+  .el-picker-panel__footer{
+    background: @background-color;
+    border-top-color:@color;
+  }
+  .el-date-table th{
+    border-bottom-color:@color;
+  }
+  .el-button{
+    background: @background-color;
+    color:@color;
+    border-color:@color;
+  }
+  .el-button--text{
+    padding: 7px 15px;
+  }
+  .el-button:hover{
+    background: @background-color;
+    color:@color-highlight;
+    border-color:@color-highlight;
+  }
+  .el-input__inner{
+    color:#fff;
+    text-align: center;
+  }
+  .el-date-picker__time-header{
+    border-bottom-color:@background-color-split;
+  }
+  .el-date-picker__header-label{color:#fff}
+}
+.el-select-dropdown{
+  background: @background-color;
+  border-color:@color;
+  color:@color;
+  .el-select-dropdown__item{
+    color:#fff;
+  }
+  .el-select-dropdown__item.hover{
+    background: @background-color;
+    box-shadow:  0 0 5px @color-highlight inset;
+  }
+  .el-select-dropdown__item.selected{
+    color:@color-highlight;
+  }
+  }
\ No newline at end of file
diff --git a/src/components/BaseNav/PublicBounced/GasComponents/EChartsDate.vue b/src/components/BaseNav/PublicBounced/GasComponents/EChartsDate.vue
index 7f68fb3..5033415 100644
--- a/src/components/BaseNav/PublicBounced/GasComponents/EChartsDate.vue
+++ b/src/components/BaseNav/PublicBounced/GasComponents/EChartsDate.vue
@@ -15,31 +15,25 @@
           <div class="pickerData">
             <span> 寮�濮嬫椂闂�:</span>
             <span class="pickerTable">
-                          <el-date-picker  type="datetime"   v-model="value1">
-                      </el-date-picker>
-                      </span>
+              <el-date-picker  type="datetime"   v-model="value1"></el-date-picker>
+            </span>
           </div>
           <div class="pickerData">
             <span >缁撴潫鏃堕棿:</span>
             <span class="pickerTable">
-                        <el-date-picker
-                            type="datetime"
-                            v-model="value2"
-                        >
-                      </el-date-picker>
-                      </span>
+              <el-date-picker type="datetime"  v-model="value2"></el-date-picker>
+            </span>
           </div>
         </div>
         <div>
           閲囨牱鐐规暟:
-          <input list="source" id="ipt" class="echatsInput" @change="datalistBtn">
-          <datalist id="source" @click="datalistBtn">
-            <option value="0" />
-            <option value="25" />
-            <option value="50" />
-            <option value="75" />
-            <option value="100" />
-          </datalist>
+          <el-select v-model="formInline.region" placeholder="50">
+            <el-option label="0" value="0"></el-option>
+            <el-option label="25" value="25"></el-option>
+            <el-option label="50" value="50"></el-option>
+            <el-option label="75" value="75"></el-option>
+            <el-option label="100" value="100"></el-option>
+          </el-select>
         </div>
         <div class="detailbtn"  @click="onSubmit">鏌ヨ</div>
         <div class="detailbtn" @click="dialogVisible = true" >鏄庣粏琛�</div>
@@ -88,7 +82,6 @@
   },
   methods: {
     onSubmit () {
-      console.log(this.value1)
       console.log('submit!')
     },
     drawChart: function () {
@@ -309,11 +302,12 @@
 //  }
 //}
   .grid-content {
-    font-size: 8px !important;
+    font-size: 8px;
     background-color: #2e4967;
     text-align: center;
-    margin: 0 2px 4px 2px;
     border-radius: 2px;
+    margin-right: 10px;
+    padding:0 10px
     >i{
       font-style: normal;
       color: #eef309;
@@ -322,8 +316,8 @@
 .animation {
   //width: 600px;
   //height: 0.06rem;
-  .Infomation {
-    margin-left: 10px;
+  .infomation {
+    padding: 5px 10px;
   }
 }
     .form-echrts {
@@ -343,18 +337,8 @@
                     flex: 1;
                     display: flex;
                       >span{line-height: 22px}
-                    .pickerTable{
-                        margin-left: 6px;
-                      /deep/.el-input{
-                        font-size: 0px;
-                        .el-input__prefix{
-                          width: 100%;
-                        }
-                      }
-                        /deep/.el-input__icon {
-                          width: 100%;
-                            font-size: 0;
-                        }
+                    .pickerTable {
+                      margin-left: 3px;
                     }
                 }
             }
@@ -363,16 +347,25 @@
             }
             /deep/.el-input__inner{
                 position: relative;
-                width: 0.9rem!important;
-                height: 0.125rem!important;
+                width:140px;
                 background-color: #2e4967;
-                color: #ffffff;
+                color: #fff;
                 font-size: 12px;
                 height: 24px;
                 padding: 0;
+                border-color:#00fff6;
+              text-align: center;
                 //padding-left:20px ;
                 //padding: 0!important;
             }
+          /deep/.el-input__icon{
+            display: block;
+            width: 140px;
+            height: 22px;
+            line-height: 22px;
+            cursor: pointer;
+            font-size: 0;
+          }
             .echatsInput{
               color: #00ffff;
               background-color: #2e4967;
@@ -380,6 +373,7 @@
               border-radius: 6px;
               width: 80px;
               height: 22px;
+              text-align: center;
             }
           input::-webkit-calendar-picker-indicator {
             opacity: 100;
@@ -388,10 +382,15 @@
                 background-color:#2e4967;
                 text-align: center;
                 padding: 0 7px;
-                line-height: 20px;
+                line-height: 24px;
                 border-radius: 4px;
                 margin-right: 6px;
             }
+          .detailbtn:hover{
+            box-shadow: 0 0 0.03rem #fff700 !important;
+            color:#fff700 !important;
+            cursor: pointer;
+          }
         }
         .el-dialog-div {
             //height: 50vh!important;
@@ -402,9 +401,6 @@
         #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/EChartsHour.vue b/src/components/BaseNav/PublicBounced/GasComponents/EChartsHour.vue
index c93b933..4af2b05 100644
--- a/src/components/BaseNav/PublicBounced/GasComponents/EChartsHour.vue
+++ b/src/components/BaseNav/PublicBounced/GasComponents/EChartsHour.vue
@@ -32,14 +32,13 @@
                 </div>
                 <div>
                     閲囨牱鐐规暟:
-                    <input list="source" id="ipt" class="echatsInput" v-model="value">
-                    <datalist id="source" >
-                        <option value="0" />
-                        <option value="25" />
-                        <option value="50" />
-                        <option value="75" />
-                        <option value="100" />
-                    </datalist>
+                    <el-select v-model="formInline.region" placeholder="50">
+                        <el-option label="0" value="0"></el-option>
+                        <el-option label="25" value="25"></el-option>
+                        <el-option label="50" value="50"></el-option>
+                        <el-option label="75" value="75"></el-option>
+                        <el-option label="100" value="100"></el-option>
+                    </el-select>
                 </div>
                 <div class="detailbtn"  @click="onSubmit">鏌ヨ</div>
                 <div class="detailbtn" @click="dialogVisible = true" >鏄庣粏琛�</div>
@@ -64,7 +63,6 @@
 
 <script>
 import PublicDetailedList from '@components/BaseNav/PublicBounced/GasComponents/PublicDetailedList'
-// import
 
 export default {
   name: 'ECharts',
@@ -73,12 +71,12 @@
   },
   data () {
     return {
-      value: '50',
       value1: '',
       value2: '',
       watchData: [],
       dialogVisible: false,
       myChar: null,
+      value: '',
       formInline: {
         user: '',
         region: ''
@@ -327,98 +325,98 @@
 
 <style scoped lang="less">
 .grid-content{
-  font-size: 8px!important;
-  background-color:#2e4967;
-  text-align: center;
-  margin: 0 2px 4px 2px;
-  border-radius: 2px;
-  >i{
-    font-style: normal;
-    color: #eef309;
-  }
+    font-size: 8px;
+    background-color: #2e4967;
+    text-align: center;
+    border-radius: 2px;
+    margin-right: 10px;
+    padding:0 10px
 }
-.Infomation {
-  margin-left: 10px;
+.infomation {
+  padding: 5px 10px;
 }
 
 .form-echrts {
-  width: 100%;
-  border-top: 1px solid #396d83;
-  //margin: 10px 10px 10px 10px;
-  .from-search{
-    display: flex;
-      padding:5px;
-      >div{margin-left: 10px}
-    .pickerMon{
-      display: flex;
-        >div:first-child{
-            margin-right: 10px;
-        }
-      .pickerData{
-        flex: 1;
-        display: flex;
-          >span{line-height: 22px}
-        .pickerTable{
-          margin-left: 6px;
-            /deep/.el-input{
-              font-size: 0px;
-              .el-input__prefix{
-                width: 100%;
-              }
-            }
-          /deep/.el-input__icon {
-             //font-size: 0;
-              width: 100%;
-          }
-        }
-      }
-    }
-    /deep/.el-date-editor--datetime{
-      width: 100%;
-    }
-    /deep/.el-input__inner{
-      position: relative;
-      width: 0.9rem!important;
-      height: 0.125rem!important;
-      background-color: #2e4967;
-      color: #ffffff;
-      font-size: 12px;
-        height: 24px;
-      padding: 0;
-      //padding-left:20px ;
-      //padding: 0!important;
-    }
-    .echatsInput{
-      color: #00ffff;
-      background-color: #2e4967;
-      border: none;
-      border-radius: 6px;
-      width: 80px;
-        height: 22px;
-    }
-    input::-webkit-calendar-picker-indicator {
-      opacity: 100;
-    }
-    .detailbtn{
-      background-color:#2e4967;
-      text-align: center;
-      padding: 0 7px;
-      line-height: 20px;
-      border-radius: 4px;
-    }
-  }
-  .el-dialog-div {
-    //height: 50vh!important;
-    overflow: auto;
-    //overflow: hidden;
-  }
-
-  #echarts {
-    margin: 0;
-    padding: 0;
-    //height: 3rem;
-    //border: 1px solid #396d83;
+    width: 100%;
+    border-top: 1px solid #396d83;
     //margin: 10px 10px 10px 10px;
-  }
+    .from-search{
+        display: flex;
+        padding:5px;
+        >div{margin-left: 10px}
+        .pickerMon{
+            display: flex;
+            >div:first-child {
+                margin-right: 10px;
+            }
+            .pickerData{
+                flex: 1;
+                display: flex;
+                >span{line-height: 22px}
+                .pickerTable {
+                    margin-left: 3px;
+                }
+            }
+        }
+        /deep/.el-date-editor--datetime{
+            width: 100%;
+        }
+        /deep/.el-input__inner{
+            position: relative;
+            width:140px;
+            background-color: #2e4967;
+            color: #ffffff;
+            font-size: 12px;
+            height: 24px;
+            padding: 0;
+            border-color:#00fff6;
+            text-align: center;
+            //padding-left:20px ;
+            //padding: 0!important;
+        }
+        /deep/.el-input__icon{
+            display: block;
+            width: 140px;
+            height: 22px;
+            line-height: 22px;
+            cursor: pointer;
+            font-size: 0;
+        }
+        .echatsInput{
+            color: #00ffff;
+            background-color: #2e4967;
+            border: none;
+            border-radius: 6px;
+            width: 80px;
+            height: 22px;
+            text-align: center;
+        }
+        input::-webkit-calendar-picker-indicator {
+            opacity: 100;
+        }
+        .detailbtn{
+            background-color:#2e4967;
+            text-align: center;
+            padding: 0 7px;
+            line-height: 24px;
+            border-radius: 4px;
+            margin-right: 6px;
+        }
+        .detailbtn:hover{
+            box-shadow: 0 0 0.03rem #fff700 !important;
+            color:#fff700 !important;
+            cursor: pointer;
+        }
+    }
+    .el-dialog-div {
+        //height: 50vh!important;
+        overflow: auto;
+        //overflow: hidden;
+    }
+
+    #echarts {
+        margin: 0;
+        padding: 0;
+    }
 }
 </style>
diff --git a/src/components/BaseNav/PublicBounced/GasComponents/Echarts.vue b/src/components/BaseNav/PublicBounced/GasComponents/Echarts.vue
index ad97760..a803441 100644
--- a/src/components/BaseNav/PublicBounced/GasComponents/Echarts.vue
+++ b/src/components/BaseNav/PublicBounced/GasComponents/Echarts.vue
@@ -1,5 +1,5 @@
 <template>
-  <div style="width:100%;height:2rem;margin-top: 0.3rem" ref="echarts"></div>
+  <div style="width:5rem;height:2rem;margin-top: 0.3rem" ref="echarts"></div>
 </template>
 
 <script>
@@ -12,202 +12,247 @@
   name: 'ECharts',
   data () {
     return {
-      myChart: [],
-      result: [],
       days: dayjs(new Date()).format('YYYYMMDDHHmmss'),
-      value: '',
+      myChart: [],
+      // x杞存暟鎹�
+      xAxis: [],
       seriesData: [],
-      aseries: ''
+      seriesName: []
     }
   },
+  mounted () {
+    this.$nextTick(() => {
+      this.initEchartsData()
+      this.upDateEchartsData()
+    })
+  },
   methods: {
-    drawChart () {
+    // 鍒濆鍖栨暟鎹�
+    async initEchartsData () {
+      const endTime = dayjs().add(1, 's')
+      const data = {
+        $tagCodeList: 'TJIP45.yyqAI90305,TJIP45.yyqAI90303,TJIP45.yyqFI_90310N,TJIP45.yyqAI90304,TJIP45.yyqAIR001',
+        $startTime: this.dayjs,
+        $endTime: endTime,
+        $step: 15
+      }
+      const result = (await mapApi.DataItems(data)).data
+      for (var i = 0; i < result.length; i++) {
+        // console.log(result[i])
+        this.xAxis.push(result[i].ReadTime)
+        this.seriesData.push(result[i].TagValue)
+        this.seriesName = result[i].UnionTagCode
+      }
+      this.upDateEchartsinit()
+    },
+    // 瀹炴椂鏁版嵁鍒锋柊
+    upDateEchartsData () {
+      // const interValHander =
+      setInterval(async () => {
+        const endTime = dayjs().add(1, 's')
+        const data = {
+          $tagCodeList: 'TJIP45.yyqAI90305,TJIP45.yyqAI90303,TJIP45.yyqFI_90310N,TJIP45.yyqAI90304,TJIP45.yyqAIR001',
+          $startTime: this.dayjs,
+          $endTime: endTime,
+          $step: 15
+        }
+        const result = (await mapApi.DataItems(data)).data
+        for (var i = 0; i < result.length; i++) {
+          // console.log(result[i])
+          // this.xAxis.shift()
+          this.xAxis.push(result[i].ReadTime)
+          this.seriesData.push(result[i].TagValue)
+          this.seriesName = result[i].UnionTagCode
+        }
+        this.upDateEchartsinit()
+      }, 1500)
+    },
+    // 鍒濆鍖杄charts
+    upDateEchartsinit () {
       this.myChart = this.$echarts.init(this.$refs.echarts)
-
-      const option = {
-        tooltip: {
-          trigger: 'axis'
+      // 鍥捐〃鐨勯厤缃」鏁版嵁
+      const xAxisData = this.xAxis
+      const legendData = [this.seriesName, 'TJIP45.lscl2tb552AISA11201B', 'TJIP45.lscl2tb552AISA11202A', 'TJIP45.lscl2tbAIA-10505-1', 'TJIP45.lscl2tbAIA-10505-2']
+      const seriesData = [
+        {
+          name: this.seriesName,
+          type: 'line',
+          stack: '鎬婚噺',
+          data: this.seriesData
         },
-        legend: {
-          data: ['閭欢钀ラ攢', '鑱旂洘骞垮憡', '瑙嗛骞垮憡', '鐩存帴璁块棶', '鎼滅储寮曟搸']
+        {
+          name: 'TJIP45.lscl2tb552AISA11201B',
+          type: 'line',
+          stack: '鎬婚噺',
+          data: [2.20, 1.82, 1.91, 2.34, 2.90, 3.30, 3.10]
+        }
+      ]
+      const option = {
+        title: {
+          // text: '瀹炴椂鏁版嵁',
+          target: 'blank',
+          left: '5%',
+          textStyle: {
+            color: '#fff',
+            fontSize: 15,
+            bottom: 20
+          }
+        },
+        tooltip: {
+          trigger: 'axis',
+          axisPointer: {
+            type: 'cross',
+            label: {
+              color: '#1a4245'
+            }
+          }
+          // formatter: function (params) {
+          //   // console.log(params)
+          //   var UnionTagCode = params[0].seriesName + '<br />'
+          //   for (var i = 0; i < params.length; i++) {
+          //     var seriesName = params[i].seriesName
+          //     // 鍊�
+          //     var value = params[i].value[1]
+          //
+          //     // var valueFliter = formatter(value)
+          //     var valueFliter = value
+          //
+          //     var maker = params[i].marker
+          //     var colo = ''
+          //     switch (seriesName) {
+          //       case 'TJIP45.lscl2tb552AI10710':
+          //         colo = '#fff21c'
+          //         break
+          //       default:
+          //         colo = 'red'
+          //         break
+          //     }
+          //     maker = '<span style="display:inline-block;margin-right:5px;border-radius:10px;width:10px;height:10px;background-color:' + colo + ';"></span>'
+          //     UnionTagCode += maker + seriesName + ':' + valueFliter + '<br />'
+          //   }
+          //   return UnionTagCode
+          // }
         },
         grid: {
-          containLabel: false
+          top: '20%'
         },
         toolbox: {
+          show: false,
           feature: {
-            saveAsImage: {
-              show: false
-            }
+            saveAsImage: {}
+          }
+        },
+        dataZoom: [{
+          type: 'inside',
+          start: 0,
+          end: 100
+        }, {
+          start: 0,
+          end: 100,
+          show: false,
+          handleIcon: 'M10.7,11.9v-1.3H9.3v1.3c-4.9,0.3-8.8,4.4-8.8,9.4c0,5,3.9,9.1,8.8,9.4v1.3h1.3v-1.3c4.9-0.3,8.8-4.4,8.8-9.4C19.5,16.3,15.6,12.2,10.7,11.9z M13.3,24.4H6.7V23h6.6V24.4z M13.3,19.6H6.7v-1.4h6.6V19.6z',
+          handleSize: '80%',
+          handleStyle: {
+            color: '#fff',
+            shadowBlur: 3,
+            shadowColor: 'rgba(0, 0, 0, 0.6)',
+            shadowOffsetX: 2,
+            shadowOffsetY: 2
+          }
+        }],
+        legend: {
+          data: legendData,
+          textStyle: {
+            color: '#ffffff',
+            fontSize: 12
           }
         },
         xAxis: {
           type: 'category',
+          // type: 'time',
           boundaryGap: false,
+          axisLabel: {
+            margin: 6,
+            interval: 0,
+            textStyle: {
+              color: '#fff'
+            }
+          },
           splitLine: {
+            show: true,
+            lineStyle: {
+              type: 'dashed'
+            }
+          },
+          axisTick: {
             show: false
           },
-          // data: this.seriesData,
-          data: ['鍛ㄤ竴', '鍛ㄤ簩', '鍛ㄤ笁', '鍛ㄥ洓', '鍛ㄤ簲', '鍛ㄥ叚', '鍛ㄦ棩'],
           axisLine: {
             lineStyle: {
               color: '#FFFFFF',
-              // width: 1
-              show: false
+              width: 1
             }
-          }
+          },
+          data: xAxisData
         },
-        yAxis: {
+        yAxis: [{
           type: 'value',
-          boundaryGap: [0, '100%'],
+          name: 'yname',
+          // max: function (value) {
+          //   var max_val_list = []; //鎵�鏈夋樉绀烘姌绾跨殑鏍囧噯鍊�
+          //   if (bzzList && bzzList.length > 0) {
+          //     $.each(bzzList, function (index, item) {
+          //       max_val_list.push(item.bzhui);
+          //     });
+          //   }
+          //   max_val_list = max_val_list.sort(function (a, b) {
+          //     return a - b
+          //   }); //鎺掑簭
+          //   var ma = value.max > max_val_list[max_val_list.length - 1] ? value.max + 5 : max_val_list[max_val_list.length - 1];
+          //   return parseInt(ma);
+          // },
+          axisLabel: {
+            formatter: '{value}',
+            textStyle: {
+              color: '#fff'
+            }
+          },
+          splitLine: {
+            show: false
+          }, // y杞� 缃戞牸绾夸笉鏄剧ず,
           axisLine: {
             lineStyle: {
               color: '#FFFFFF',
               width: 1
             }
           }
-        },
-        series: [
-          {
-            name: '妯℃嫙鏁版嵁',
-            type: 'line',
-            // showSymbol: false,
-            // hoverAnimation: false,
-            data: this.seriesData
+        }, {
+          type: 'value',
+          name: 'dataUnit',
+          axisLabel: {
+            formatter: '{value}',
+            textStyle: {
+              color: '#fff'
+            }
           },
-          {
-            name: '鑱旂洘骞垮憡',
-            type: 'line',
-            stack: '鎬婚噺',
-            data: [220, 182, 191, 234, 290, 330, 310]
+          splitLine: {
+            show: false
           },
-          {
-            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]
+          axisLine: {
+            lineStyle: {
+              color: '#FFFFFF',
+              width: 1
+            }
           }
-        ]
+        }],
+        series: seriesData
       }
       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
-      for (let i = 0; i < result.length; i++) {
-        //   // console.log(result[i])
-
-        // const seriesData = []
-        const aseries = []
-        // let nameData = ''
-
-        this.seriesData.push(result[i].ReadTime)
-        aseries.push(result[i].TagValue)
-        // nameData = result[i].UnionTagCode
-        this.aseries = result[i].UnionTagCode
-      }
-      this.myChart.setOption({
-        series: [{
-          data: this.seriesData
-        }]
-      })
-    },
-    // 鏁版嵁鐨勮姹�
-    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 = ''
-
-          this.seriesData.push(result[i].ReadTime)
-          aseries.push(result[i].TagValue)
-          // nameData = result[i].UnionTagCode
-          this.aseries = result[i].UnionTagCode
-        }
-        this.myChart.setOption({
-          series: [{
-            data: this.seriesData
-          }]
-        })
-      }, 3000)
     }
-  },
-  mounted () {
-    this.$nextTick(() => {
-      this.requestEcharts()
-      this.drawChart()
-      this.echartsData()
-    })
   }
 }
 </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 7296b46..efb16e4 100644
--- a/src/components/BaseNav/PublicBounced/GasComponents/PublicChart.vue
+++ b/src/components/BaseNav/PublicBounced/GasComponents/PublicChart.vue
@@ -5,20 +5,19 @@
         <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("EChartsHour")'>灏忔椂鏁版嵁</li>
             <li @click='tabTaggle("EChartsDate")'>鏃ユ暟鎹�</li>
             <li @click='tabTaggle("ECharts")'>浜哄伐鏁版嵁</li>
-            <div id="title" >
-                <span><strong> &nbsp; </strong></span>
-                <span >姝e父</span>
-                <span ></span>
-                <span >棰勮</span>
-                <span ></span>
-                <span >瓒呮爣</span>
-                <span ></span>
-            </div>
         </ul>
+        <div class="legend" >
+            <span >姝e父</span>
+            <i style=" background: #4ec99c;"></i>
+            <span >棰勮</span>
+            <i style=" background: red;"></i>
+            <span >瓒呮爣</span>
+            <i style=" background: orange;"></i>
+        </div>
         <component :is="currentTab" v-bind="$attrs"></component>
     </div>
 </template>
@@ -48,17 +47,11 @@
 
 </script>
 
-<style scoped>
-* {
-  margin: 0;
-  padding: 0;
-  list-style: none;
-}
-
+<style scoped lang="less">
 .win {
   position: relative;
   /*margin-bottom: 13px;*/
-  background-color: rgba(33, 41, 69, 0.9);
+  background:@background-color;
   border: 0.8px solid #396d83;
   /*height: 1.5rem;*/
 }
@@ -103,66 +96,39 @@
 .tab {
   display: flex;
   border-bottom: 1px solid #396d83;
-  margin-bottom: 10px;
+    padding:5px 10px
 }
 
-li {
+.tab 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;
+    margin-right: 10px;
+    padding:0 15px
 }
 
-ul li:hover {
+.tab li:hover {
   background-color: #0e639e;
   color: #682000;
   cursor: pointer;
 }
-#title{
-    height: 30px;
-    /* margin-top: 30px; */
-    color: #ffffff;
-    margin-top: 5px;
+.legend{
+    position: absolute;
+    top:10px;
+    right: 0;
+    display: flex;
+    justify-items: center;
+}
+.legend i {
+    display: block;
+    width: 35px;
+    height: 15px;
+    margin:0 10px 0 3px;
+    border-radius: 3px;
+}
+.legend span{
+    line-height: 15px;
 }
 
-#title span:nth-child(1){
-    /*margin-left: 478px*/
-}
-#title span:nth-child(2){
-    /*margin-left: 177px*/
-}
-#title span:nth-child(3){
-    display: inline-block;
-    background-color: #4ec99c;
-    height: 15px;
-    width: 35px;
-    margin-left: 10px;
-    border-radius: 5px;
-}
-#title span:nth-child(6){
-    /*margin-left: 21px*/
-}
-#title span:nth-child(7){
-    display: inline-block;
-    background-color: red;
-    height: 15px;
-    width: 35px;
-    margin-left: 7px;
-    border-radius: 5px;
-}
-#title span:nth-child(4){
-    margin-left: 17px;
-}
-#title span:nth-child(5){
-    display: inline-block;
-    background-color: orange;
-    height: 15px;
-    width: 35px;
-    margin-left: 9px;
-    border-radius: 5px;
-}
 </style>
diff --git a/src/components/BaseNav/PublicBounced/GasComponents/PublicTabs.vue b/src/components/BaseNav/PublicBounced/GasComponents/PublicTabs.vue
index 3df30bb..967de8a 100644
--- a/src/components/BaseNav/PublicBounced/GasComponents/PublicTabs.vue
+++ b/src/components/BaseNav/PublicBounced/GasComponents/PublicTabs.vue
@@ -9,16 +9,14 @@
     <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 row-item-two" justify="space-around">
-            <el-col :span="8">鎺掓斁鍘诲悜:{{ setWasteGasdata.EmissDirecti }}</el-col>
-            <el-col :span="18">鎺у埗绾у埆鍚嶇О:{{ setWasteGasdata.ContrLevelShowName }}</el-col>
-            <el-col :span="18">鍐�/澶栨帓鍙�:{{ setWasteGasdata.OrOutPortName }}</el-col>
-          </el-row>
+          <ul>
+            <li>鐩戞祴鐐瑰悕绉�:{{ setWasteGasdata.Name }}</li>
+            <li>鐢熶骇鍗曚綅:{{ setWasteGasdata.porltName }}</li>
+            <li>鎺掓斁绫诲瀷鍚嶇О:{{ setWasteGasdata.MonTypeName }}</li>
+            <li>鎺掓斁鍘诲悜:{{ setWasteGasdata.EmissDirecti }}</li>
+            <li>鎺у埗绾у埆鍚嶇О:{{ setWasteGasdata.ContrLevelShowName }}</li>
+            <li>鍐�/澶栨帓鍙�:{{ setWasteGasdata.OrOutPortName }}</li>
+          </ul>
         </div>
         <div v-else-if="value === 'gufei'">
           <ul>
@@ -31,16 +29,14 @@
           </ul>
         </div>
         <div v-else-if="value === 'feishui'">
-          <el-row type="flex" class="row-bg row-item-one" justify="space-around">
-            <el-col :span="8">鐩戞祴鐐瑰悕绉�:{{ 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 row-item-two" justify="space-around">
-            <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>
+          <ul>
+            <li>鐩戞祴鐐瑰悕绉�:{{ setWasteWaterdata.Name }}</li>
+            <li>鐢熶骇鍗曚綅:{{ setWasteWaterdata.porltName }}</li>
+            <li>鎺掓斁绫诲瀷鍚嶇О:{{ setWasteWaterdata.MonTypeName }}</li>
+            <li>鎺掓斁鍘诲悜:{{ setWasteWaterdata.EmissDirecti }}</li>
+            <li>鎺у埗绾у埆鍚嶇О:{{ setWasteWaterdata.ContrLevelShowName }}</li>
+            <li>鍐�/澶栨帓鍙�:{{ setWasteWaterdata.OrOutPortName }}</li>
+          </ul>
         </div>
       </div>
     </div>
@@ -75,7 +71,7 @@
 .win {
   position: relative;
   margin-bottom: 10px;
-  background-color: rgba(33, 41, 69, 0.9);
+  background-color: @background-color;
   //width: 6rem;
   //height: 0.5rem;
 }
@@ -87,40 +83,8 @@
   .main-matter {
     font-size: 13px;
     font-weight: normal;
-    padding: 0 6px;
+    padding: 6px;
     border: 1px solid #396d83;
-
-    .row-item-one {
-      //flex-wrap: nowrap;
-      overflow: hidden;
-      margin-top: 6px;
-      margin-bottom: 7px;
-      //margin-left: 10px;
-    }
-    .row-item-two{
-      margin-bottom: 6px;
-    }
-    .el-row {
-      width: 100%;
-      color: #00d0f9;
-      display: flex;
-      font-size: 12px !important;
-      text-align: center;
-
-      .el-col {
-        text-align: center;
-        flex: 1;
-        width: 100%;
-        background-color: #243a55;
-        margin-left: 6px;
-        border-radius: 4px;
-
-        &:nth-child(1) {
-          margin-left: 0;
-        }
-      }
-    }
-
     ul {
       //width: 100%;
       //height: 100%;
@@ -128,16 +92,14 @@
       align-items: center;
       justify-content: space-around;
       flex-wrap: wrap;
-      line-height: 30px;
-
+      margin-bottom: -6px;
       li {
+        margin-bottom: 6px;
         text-align: center;
-        width: 32%;
-        height: 30px;
-        margin: 5px auto;
+        min-width: 32%;
         background-color: #243a55;
         color: #00d0f9;
-        border-radius: 4px;
+        border-radius: 3px;
         font-size: 0.08rem;
       }
 
diff --git a/src/components/BaseNav/PublicBounced/PublicBounced.vue b/src/components/BaseNav/PublicBounced/PublicBounced.vue
index b221e49..8d23b01 100644
--- a/src/components/BaseNav/PublicBounced/PublicBounced.vue
+++ b/src/components/BaseNav/PublicBounced/PublicBounced.vue
@@ -1,7 +1,6 @@
 <template>
-  <div class="public-bounced" v-drag v-if="flag">
-    <!--    <Echarts></Echarts>-->
-    <div class="public-bounced-title">
+  <div class="public-bounced map-background" v-drag v-if="flag">
+    <div class="public-bounced-title panel-title" ref="publicBounced">
       <span>{{ displayContentTitle }}</span>
       <i class="el-icon-circle-close" @click="closePopup"></i>
     </div>
@@ -16,7 +15,7 @@
                         :value="value"
                         :getQueryOnlineMonData="getQueryOnlineMonData"
                         :getWasteWaterMonitoringDetails='getWasteWaterMonitoringDetails'
->
+          >
           </public-chart>
         </div>
       </div>
@@ -29,9 +28,7 @@
 
 <script>
 
-// import Echarts from '@components/BaseNav/PublicBounced/GasComponents/Echarts'
-
-import '@/components/BaseNav/SolidWaste/directive/dir'
+import '@/utils/dragBoxes'
 import PublicTabs from '@components/BaseNav/PublicBounced/GasComponents/PublicTabs'
 import PublicTable from '@components/BaseNav/PublicBounced/GasComponents/PublicTable'
 import PublicVideo from '@components/BaseNav/PublicBounced/GasComponents/PublicVideo'
@@ -60,6 +57,11 @@
       getQueryOnlineMonData: []
       // getGasQueryOnlineMonData: []
     }
+  },
+  mounted () {
+    this.$nextTick(() => {
+      console.log(this.$refs.publicBounced)
+    })
   },
   methods: {
     closePopup () {
@@ -101,16 +103,14 @@
 
 <style lang="less" scoped>
 .public-bounced {
-  z-index: 999;
+  z-index: 2000;
   position: absolute;
   top: 15%;
   left: 20%;
-  background-color: #002432;
-  border: 1px #9fc5c8 solid;
 
   .public-bounced-title {
+    cursor: move;
     height: 0.1rem;
-    border: 1px #a4c0d8 solid;
     padding: 10px 0;
     display: flex;
     align-items: center;
@@ -123,11 +123,15 @@
     }
 
     i {
-      color: white;
+      color: #C0C4CC;
       margin: 0 15px;
       font-size: 22px;
       cursor: pointer;
     }
+
+    i:hover {
+      color: #00fff6;
+    }
   }
 
   .public-bounced-content {
diff --git a/src/components/BaseNav/SolidWaste/directive/dir.js b/src/components/BaseNav/SolidWaste/directive/dir.js
index ef3a982..063f6c3 100644
--- a/src/components/BaseNav/SolidWaste/directive/dir.js
+++ b/src/components/BaseNav/SolidWaste/directive/dir.js
@@ -1,45 +1,31 @@
 import Vue from 'vue'
-// 浣跨敤Vue.directive()瀹氫箟涓�涓叏灞�鎸囦护
-// 1.鍙傛暟涓�锛氭寚浠ょ殑鍚嶇О锛屽畾涔夋椂鎸囦护鍓嶉潰涓嶉渶瑕佸啓v-
-// 2.鍙傛暟浜岋細鏄竴涓璞★紝璇ュ璞′腑鏈夌浉鍏崇殑鎿嶄綔鍑芥暟
-// 3.鍦ㄨ皟鐢ㄧ殑鏃跺�欏繀椤诲啓v-
+
 const drag = Vue.directive('drag', {
-  // 1.鎸囦护缁戝畾鍒板厓绱犱笂鍥炵珛鍒绘墽琛宐ind鍑芥暟锛屽彧鎵ц涓�娆�
-  // 2.姣忎釜鍑芥暟涓涓�涓弬鏁版案杩滄槸el锛岃〃绀虹粦瀹氭寚浠ょ殑鍏冪礌锛宔l鍙傛暟鏄師鐢焜s瀵硅薄
-  // 3.閫氳繃el.focus()鏄棤娉曡幏鍙栫劍鐐圭殑锛屽洜涓哄彧鏈夋彃鍏OM鍚庢墠鐢熸晥
-  bind: function (el) {
-    el.style.cursor = 'move' // 榧犳爣鏍峰紡鍙榤ove鏍峰紡
-  },
-  // inserted琛ㄧず涓�涓厓绱狅紝鎻掑叆鍒癉OM涓細鎵цinserted鍑芥暟锛屽彧瑙﹀彂涓�娆�
-  inserted: function (el) {
-    el.onmousedown = function (e) {
+  bind (el, binding, vnode, oldVnode) {
+    const dialogHeaderEl = el.querySelector('.public-bounced-title')
+    dialogHeaderEl.onmousedown = function (e) {
       var distX = e.pageX - el.offsetLeft
       var distY = e.pageY - el.offsetTop
-      // console.log('鍏冪礌鏈韩鐨勯珮锛�' + el.clientHeight + ',鍏冪礌鏈韩鐨勫锛�' + el.clientWidth)
-
       if (e.preventDefault) {
         e.preventDefault()
       } else {
         e.returnValue = false
       }
-      // 瑙e喅蹇�熸嫋鍔ㄦ粸鍚庨棶棰�
-
       document.onmousemove = function (e) {
-        // 鐢ㄩ紶鏍囩殑浣嶇疆鍑忓幓榧犳爣鐩稿鍏冪礌鐨勪綅缃紝寰楀埌鍏冪礌鐨勪綅缃�
         let left = e.clientX - distX
         let top = e.clientY - distY
 
         if (left <= 0) {
-          left = 5 // 璁剧疆鎴�5鏄负浜嗕笉绂昏竟缂樺お杩�
-        } else if (left > document.documentElement.clientWidth - el.clientWidth) {
-          // document.documentElement.clientWidth 灞忓箷鐨勫彲瑙嗗搴�
-          left = document.documentElement.clientWidth - el.clientWidth - 5
+          left = 5
+        } else if (left > document.documentElement.clientWidth - dialogHeaderEl.clientWidth) {
+          left = document.documentElement.clientWidth - dialogHeaderEl.clientWidth - 5
         }
         if (top <= 0) {
           top = 5
-        } else if (top > document.documentElement.clientHeight - el.clientHeight) {
-          top = document.documentElement.clientHeight - el.clientHeight - 5
+        } else if (top > document.documentElement.clientHeight - dialogHeaderEl.clientHeight) {
+          top = document.documentElement.clientHeight - dialogHeaderEl.clientHeight - 5
         }
+
         el.style.left = left + 'px'
         el.style.top = top + 'px'
       }
@@ -47,9 +33,6 @@
         document.onmousemove = document.onmouseup = null
       }
     }
-  },
-  // 褰揤Node鏇存柊鐨勬椂鍊欎細鎵цupdated锛屽彲浠ヨЕ鍙戝娆�
-  updated: function (el) {
   }
 })
 export default drag
diff --git a/src/components/LayerController/LayerController.vue b/src/components/LayerController/LayerController.vue
index fe80364..ef07406 100644
--- a/src/components/LayerController/LayerController.vue
+++ b/src/components/LayerController/LayerController.vue
@@ -21,7 +21,7 @@
 
 import iconSetting from '@/assets/images/map-pages/icon/setting.png'
 import LcServiceLayer from './modules/LcServiceLayer'
-
+import bus from '@/eventBus'
 export default {
   name: 'LayerController',
   components: { LcServiceLayer },
@@ -55,9 +55,22 @@
       }
     }
   },
+  mounted () {
+    const that = this
+    bus.$on('changeState', function (state) {
+      if (state.num !== 3 && state.type) {
+        that.layerControllerVisible = false
+      }
+    })
+  },
   methods: {
     showPanel () {
       this.layerControllerVisible = !this.layerControllerVisible
+      const state = {
+        type: this.layerControllerVisible,
+        num: 3
+      }
+      bus.$emit('changeState', state)
     },
     switchPanel () {
       this.panelSwitch.main = !this.panelSwitch.main
diff --git a/src/components/panel/ToolBoxPanel.vue b/src/components/panel/ToolBoxPanel.vue
index 9733c83..1e62696 100644
--- a/src/components/panel/ToolBoxPanel.vue
+++ b/src/components/panel/ToolBoxPanel.vue
@@ -96,6 +96,9 @@
 // 娴嬮噺鐨勬柟娉�
 import Measure from '@/components/plugin/MeaSure'
 
+//
+import bus from '@/eventBus'
+
 export default {
   name: 'ToolBoxPanel',
   components: {
@@ -263,7 +266,19 @@
       ]
     }
   },
+  mounted () {
+    /* import bus from '@/eventBus' */
+    const that = this
+    bus.$on('changeState', function (state) {
+      if (state.num !== 1 && state.type) {
+        that.selectGroup = false
+        that.isShow = []
+        that.active = -1
+      }
+    })
+  },
   methods: {
+
     init (map) {
       this.map = map
       this.toolBoxPanelVisible = true
@@ -391,6 +406,11 @@
         this.isShow = !this.isShow
         this.active = -1
       }
+      const state = {
+        type: this.selectGroup,
+        num: 1
+      }
+      bus.$emit('changeState', state)
     }
   }
 }
diff --git a/src/components/table/summarySheets.vue b/src/components/table/summarySheets.vue
index 41239cf..909a35f 100644
--- a/src/components/table/summarySheets.vue
+++ b/src/components/table/summarySheets.vue
@@ -47,7 +47,7 @@
 import IndexStatistics from './components/IndexStatistics'
 
 import '@/components/BaseNav/SolidWaste/directive/dir'
-
+import bus from '@/eventBus'
 export default {
   name: 'summary-sheet.vue',
   components: {
@@ -68,6 +68,7 @@
     }
   },
   methods: {
+
     closeBtn () {
       this.$refs.summarySheets.show()
       this.summaryVisible = true
@@ -82,10 +83,20 @@
     },
     subtopicBtn () {
       this.subtopic = !this.subtopic
+      const state = {
+        type: this.subtopic,
+        num: 2
+      }
+      bus.$emit('changeState', state)
     }
   },
   mounted () {
     const that = this
+    bus.$on('changeState', function (state) {
+      if (state.num !== 2 && state.type) {
+        that.subtopic = false
+      }
+    })
     this.$nextTick(() => {
       this.$refs.summarySheets.$on('closeDialog', () => {
         that.summaryVisible = false
diff --git a/src/eventBus.js b/src/eventBus.js
new file mode 100644
index 0000000..b0230b5
--- /dev/null
+++ b/src/eventBus.js
@@ -0,0 +1,2 @@
+import Vue from 'vue'
+export default new Vue()
diff --git a/src/utils/dragBoxes.js b/src/utils/dragBoxes.js
new file mode 100644
index 0000000..1e17b89
--- /dev/null
+++ b/src/utils/dragBoxes.js
@@ -0,0 +1,39 @@
+/* eslint */
+import Vue from 'vue'
+
+const drag = Vue.directive('drag', {
+  bind (el, binding, vnode, oldVnode) {
+    const dialogHeaderEl = el.querySelector('.public-bounced-title')
+    dialogHeaderEl.onmousedown = function (e) {
+      var distX = e.pageX - el.offsetLeft
+      var distY = e.pageY - el.offsetTop
+      if (e.preventDefault) {
+        e.preventDefault()
+      } else {
+        e.returnValue = false
+      }
+      document.onmousemove = function (e) {
+        let left = e.clientX - distX
+        let top = e.clientY - distY
+
+        if (left <= 0) {
+          left = 5
+        } else if (left > document.documentElement.clientWidth - dialogHeaderEl.clientWidth) {
+          left = document.documentElement.clientWidth - dialogHeaderEl.clientWidth - 5
+        }
+        if (top <= 0) {
+          top = 5
+        } else if (top > document.documentElement.clientHeight - dialogHeaderEl.clientHeight) {
+          top = document.documentElement.clientHeight - dialogHeaderEl.clientHeight - 5
+        }
+
+        el.style.left = left + 'px'
+        el.style.top = top + 'px'
+      }
+      document.onmouseup = function () {
+        document.onmousemove = document.onmouseup = null
+      }
+    }
+  }
+})
+export default drag

--
Gitblit v1.8.0