From 81e426e19db140e630f45409c1569fe16dbcc33f Mon Sep 17 00:00:00 2001
From: 徐旺旺 <11530253@qq.com>
Date: 星期二, 18 五月 2021 15:25:19 +0800
Subject: [PATCH] 修复点击弹窗bug

---
 src/components/BaseNav/WasteGas/WasteGasRealChart.vue |  386 +++++++++++++++++++-----------------------------------
 1 files changed, 135 insertions(+), 251 deletions(-)

diff --git a/src/components/BaseNav/WasteGas/WasteGasRealChart.vue b/src/components/BaseNav/WasteGas/WasteGasRealChart.vue
index a882ee3..d8de3cf 100644
--- a/src/components/BaseNav/WasteGas/WasteGasRealChart.vue
+++ b/src/components/BaseNav/WasteGas/WasteGasRealChart.vue
@@ -1,49 +1,38 @@
 <template>
-  <div id="Tab">
-    <PublicDataStandard :dataStandard="dataStandard"></PublicDataStandard>
-    <div class="form-echrts">
-      <div class="from-search">
-        <div class="pickerMon">
-          <div class="pickerData">
-            <span> 寮�濮嬫椂闂�:</span>
-            <span class="pickerTable">
-              <el-date-picker type="datetime" v-model="formInline.timeStart"></el-date-picker>
-            </span>
-          </div>
-          <div class="pickerData">
-            <span>缁撴潫鏃堕棿:</span>
-            <span class="pickerTable">
-              <el-date-picker type="datetime" v-model="formInline.timeEnd"></el-date-picker>
-            </span>
-          </div>
-        </div>
-        <div>
-          <span>閲囨牱鐐规暟:</span>
-          <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="querySearch">鏌ヨ</div>
-      </div>
-      <div style="width:5rem;height:1.5rem;" ref="echarts"></div>
+  <div class="echarts-box">
+    <div class="tab-scroll">
+      <PublicDataStandard :dataStandard="dataStandard"></PublicDataStandard>
+    </div>
+    <div class="echarts-form">
+      <span class="demonstration">寮�濮嬫椂闂达細</span>
+      <el-date-picker v-model="formData.startTime" value-format="yyyy-MM-dd HH:mm:ss" type="datetime" size="mini" ></el-date-picker>
+      <span class="demonstration">缁撴潫鏃堕棿锛�</span>
+      <el-date-picker v-model="formData.endTime" value-format="yyyy-MM-dd HH:mm:ss" type="datetime" size="mini"></el-date-picker>
+      <span class="demonstration">閲囨牱鐐规暟锛�</span>
+      <el-select v-model="formData.region" placeholder="璇烽�夋嫨" size="mini">
+        <el-option v-for="(item,index) in formData.regionList" :key="index" :label="item" :value="item"></el-option>
+      </el-select>
+      <el-button @click="querySearch">鏌ヨ</el-button>
+    </div>
+    <div class="echarts-chart">
+      <div ref="echarts"></div>
+      <span class="time-select">{{ formData.startTime }}鈥攞{ formData.endTime }}</span>
+      <!--      <public-chart :propsData="propsData"></public-chart>-->
     </div>
   </div>
 </template>
 
 <script>
-
-import PublicDataStandard from '@/components/BaseNav/PublicDataStandard'
-import mapApi from '@/api/mapApi'
+// import PublicChart from '../PublicChart'
+import PublicDataStandard from '../PublicDataStandard'
+import mapApi from '../../../api/mapApi'
 import 'dayjs/locale/es'
 import dayjs from 'dayjs'
 
 export default {
   name: 'WasteGasRealChart',
   components: {
+    // PublicChart,
     PublicDataStandard
   },
   data () {
@@ -90,19 +79,18 @@
             val: null
           }
         }],
+      propsData: {},
+
+      // 寮�濮� /缁撴潫 鏃堕棿 鍜岄噰鏍风偣鍊肩殑缁戝畾鍊兼暟鎹�
+      formData: {
+        region: '25',
+        regionList: [25, 50, 75, 100],
+        startTime: dayjs().subtract(3, 'minute').format('YYYY-MM-DD HH:mm:ss'),
+        endTime: dayjs().format('YYYY-MM-DD HH:mm:ss')
+      },
 
       // echarts鐨勬暟鎹缃�
       myChart: null,
-
-      // 寮�濮� /缁撴潫 鏃堕棿 鍜岄噰鏍风偣鍊肩殑缁戝畾鍊兼暟鎹�
-      formInline: {
-        region: '',
-        timeEnd: '',
-        timeStart: ''
-      },
-
-      res: [],
-
       // 瀹炴椂鏁版嵁鍒楄〃
       EXHRealTimeDataList: [],
       bzz: null,
@@ -117,41 +105,34 @@
     })
   },
   methods: {
-    // 鍒濆鍖栨暟鎹幏鍙杄charts鐨刼ptions鏁版嵁
+    // 鐐瑰嚮鏌ヨ鎸夐挳鍔熻兘 鏌ヨ鎼滅储鍔熻兘
+    querySearch () {
+      this.initEchartsData()
+      // console.log(this.EXHRealTimeDataList)
+    },
+    // 鍒濆鍖栨暟鎹姹�
     async initEchartsData () {
       const data = {
         $tagCodeList: 'TJIP45.y2h508CEMS01NOX,CTJIP45.y2h508CEMS01SO2,CTJIP45.y2h508CEMS01F,CTJIP45.y2h508CEMS01PM',
-        $startTime: dayjs().subtract(3, 'minute').format('YYYYMMDD HHmmss'),
-        $endTime: dayjs().format('YYYYMMDD HHmmss'),
-        $step: 15
-      }
-      this.res = (await mapApi.DataItems(data)).data
-      this.getRtdb15s(this.res)
-    },
-    // 鐐瑰嚮鏌ヨ鎸夐挳鍔熻兘
-    async querySearch () {
-      // 鐢ㄤ簬鎺ュ彛鏁版嵁璇锋眰鐨勫弬鏁� 寮�濮�/缁撴潫鏃堕棿 || 鍙�夋嫨鏌ヨ鐨勫紑濮�/缁撴潫鏃堕棿
-      // this.formInline.timeEnd = dayjs().format('YYYYMMDD HHmmss')
-      // this.formInline.timeStart = dayjs().subtract(3, 'minute').format('YYYYMMDD HHmmss')
-      const data = {
-        $tagCodeList: 'TJIP45.y2h508CEMS01NOX,CTJIP45.y2h508CEMS01SO2,CTJIP45.y2h508CEMS01F,CTJIP45.y2h508CEMS01PM',
-        $startTime: this.formInline.timeEnd,
-        $endTime: this.formInline.timeStart,
+        $startTime: this.formData.startTime,
+        $endTime: this.formData.endTime,
         $step: 15
       }
       const result = (await mapApi.DataItems(data)).data
-      this.getRtdb15s(result)
+      this.dealWithData(result)
     },
     // echarts鏁版嵁澶勭悊
-    getRtdb15s (res) {
+    dealWithData (res) {
       if (res.length > 0) {
         // 澶勭悊鏁版嵁寮�濮�
         const d = res
         const nameList = [] // 瀛樻斁鍥句緥
 
-        let data // 鏁版嵁绫诲瀷// let data={name:'',value:[now1.getFullYear(), now1.getMonth() + 1, now1.getDate().join('/'),value]}
-        let datalist // 瀛樻斁data鐨勬暟缁�
-        // let bzh = []
+        let data
+        // 瀛樻斁data鐨勬暟缁�
+        let datalist
+        this.EXHRealTimeDataList = []
+        this.nameList = []
         for (let i = 0; i < d.length; i++) {
           if (d[i].ErrorMessage != null) {
             continue
@@ -161,9 +142,9 @@
           const nameListTemp = [
             {
               'TJIP45.y2h508CEMS01NOX': '姘哀鍖栫墿',
-              'TJIP45.y2h508CEMS01SO2': '鐑熷皹',
-              'TJIP45.y2h508CEMS01F': '浜屾哀鍖栫7',
-              'TJIP45.y2h508CEMS01PM': 'ph'
+              'TJIP45.y2h508CEMS01SO2': '姘у惈閲�',
+              'TJIP45.y2h508CEMS01F': '娓╁害',
+              'TJIP45.y2h508CEMS01PM': '搴熸皵娴侀噺'
               // 'TJIP45.lscl2tb552AI10710': '浜屾哀鍖栫⒊'
             }
           ]
@@ -231,32 +212,27 @@
             }
           }
         }
-        // console.log(this.EXHRealTimeDataList)
-
-        const divid = 'mychart_ss'
-        const title = name
-        const lengList = []
+        const legendList = []
         let objTemp
-
         for (let l = 0; l < nameList.length; l++) {
           let obj
-          let iconurl
-          if (nameList[l] === 'ph') {
-            iconurl = 'image://../assets/imgs/legend/WenDu.png'
+          let iconUrl
+          if (nameList[l] === '娓╁害') {
+            iconUrl = 'image://../assets/imgs/legend/WenDu.png'
           } else if (nameList[l] === '姘哀鍖栫墿') {
-            iconurl = 'image://../assets/imgs/legend/NOX.png'
+            iconUrl = 'image://../assets/imgs/legend/NOX.png'
           } else if (nameList[l] === '鐑熷皹') {
-            iconurl = 'image://../assets/imgs/legend/zongdan.png'
-          } else if (nameList[l] === '浜屾哀鍖栫7') {
-            iconurl = 'image://../assets/imgs/legend/YanChen.png'
-          } else if (nameList[l] === '浜屾哀鍖栫⒊') {
-            iconurl = 'image://../assets/imgs/legend/VOCs.png'
+            iconUrl = 'image://../assets/imgs/legend/zongdan.png'
+          } else if (nameList[l] === '姘у惈閲�') {
+            iconUrl = 'image://../assets/imgs/legend/VOCs.png'
+          } else if (nameList[l] === '搴熸皵娴侀噺') {
+            iconUrl = 'image://../assets/imgs/legend/VOCs.png'
           }
 
           if (nameList[l] === '搴熸皵' || nameList[l] === '搴熸皵娴侀噺') { // 灏嗗簾姘旀祦閲忔帓鍒版暟缁勬渶鍚�
             objTemp = {
               name: nameList[l],
-              icon: iconurl,
+              icon: iconUrl,
               textStyle: {
                 color: '#ccc'
               },
@@ -266,24 +242,24 @@
           } else {
             obj = {
               name: nameList[l],
-              icon: iconurl,
+              icon: iconUrl,
               textStyle: {
                 color: '#ccc'
               },
               itemWidth: 20,
               itemHeight: 5
             }
-            lengList.push(obj)
+            legendList.push(obj)
           }
         }
-        lengList.push(objTemp)
+        legendList.push(objTemp)
 
-        const legend = lengList
+        const legend = legendList
         const ydatas = []
 
         for (let j = 0; j < nameList.length; j++) {
           let zdcbcolor, zxcolor
-          if (nameList[j] === 'ph') {
+          if (nameList[j] === '娓╁害') {
             zdcbcolor = 'red'
             zxcolor = '#f206ff'
           } else if (nameList[j] === '鐑熷皹') {
@@ -292,23 +268,21 @@
           } else if (nameList[j] === '姘哀鍖栫墿') {
             zdcbcolor = 'red'
             zxcolor = '#00B0F0'
-          } else if (nameList[j] === '浜屾哀鍖栫⒊') {
+          } else if (nameList[j] === '搴熸皵娴侀噺') {
             zdcbcolor = 'red'
             zxcolor = '#9ACD32'
-          } else if (nameList[j] === '浜屾哀鍖栫7') {
+          } else if (nameList[j] === '姘у惈閲�') {
             zdcbcolor = 'red'
-            zxcolor = '#f48183'
+            zxcolor = '#008000'
           }
           let ydata
           // 涓存椂鏁版嵁
-          const BBZMAPPING = [
-            {
-              姘哀鍖栫墿: 35,
-              鐑熷皹: 9,
-              浜屾哀鍖栫7: 15,
-              ph: 0.3
-            }
-          ]
+          const BBZMAPPING = {
+            姘哀鍖栫墿: 30,
+            鐑熷皹: 9,
+            浜屾哀鍖栫7: 15,
+            ph: 0.3
+          }
           for (let m = 0; m < this.EXHRealTimeDataList.length; m++) {
             let stdValue = null
             if (this.EXHRealTimeDataList[m].name === nameList[j]) {
@@ -316,9 +290,14 @@
               //   i++
               //   stdValue = BBZMAPPING[this.EXHRealTimeDataList[m].name]
               // }
-              BBZMAPPING.forEach(item => {
+              // BBZMAPPING.forEach(item => {
+              //   stdValue = BBZMAPPING[this.EXHRealTimeDataList[m].name]
+              // })
+              for (const p in BBZMAPPING) {
+                // console.log('p' + p)
+                this.a = p
                 stdValue = BBZMAPPING[this.EXHRealTimeDataList[m].name]
-              })
+              }
 
               ydata = {
                 name: nameList[j],
@@ -336,23 +315,26 @@
             }
           }
         }
-
-        const yname = '娴撳害(mg/m鲁)'
-
-        this.DrawRealTimeDateChart(divid, title, legend, ydatas, yname)
+        const yName = '娴撳害(mg/m鲁)'
+        this.drawRealTimeDateChart(legend, ydatas, yName)
       }
     },
     // 鑾峰彇鏁版嵁鐢ㄤ簬echarts鍥捐〃缁樺埗
-    DrawRealTimeDateChart (id, title, legend, ydatas, yname) {
-      // console.log(ydatas)
+    drawRealTimeDateChart (legend, ydatas, yName) {
+      // 姣忔缁樺埗鍥捐〃杩涜鍥捐〃瀹炰緥鍖�
       this.myChart = this.$echarts.init(this.$refs.echarts)
+      // 鍥捐〃鏁版嵁娓呴櫎
+      this.myChart.clear()
+      // 瀹氫箟series鏁版嵁
       const serLists = []
       let dataUnit
       for (let i = 0; i < ydatas.length; i++) {
         const zdcbcolor = ydatas[i].zdcbcolor
         const bz = ydatas[i].bzz
-        // console.log(bz)
         let obj
+        let biaozhuiz
+        const exhbzzList = this.exhbzzList
+        // console.log(exhbzzList)
         if (bz) {
           obj = {
             name: ydatas[i].name,
@@ -362,14 +344,14 @@
             itemStyle: {
               normal: {
                 color: function (c) { // 鏍规嵁value 鏄剧ず涓嶅悓鐨勬姌鐐归鑹�
-                  for (let i = 0; i < this.exhbzzList.length; i++) {
-                    if (this.exhbzzList[i].name === c.seriesName) {
-                      this.biaozhuiz = this.exhbzzList[i].bzhui
+                  for (let i = 0; i < exhbzzList.length; i++) {
+                    if (exhbzzList[i].name === c.seriesName) {
+                      biaozhuiz = exhbzzList[i].bzhui
                     }
                   }
-                  if (c.value[1] > this.biaozhuiz) {
+                  if (c.value[1] > biaozhuiz) {
                     return zdcbcolor
-                  } else if (c.value[1] > this.biaozhuiz * 0.9) {
+                  } else if (c.value[1] > biaozhuiz * 0.9) {
                     return '#FFA500'
                   } else {
                     return '#33c95f'
@@ -417,15 +399,14 @@
             itemStyle: {
               normal: {
                 color: function (c) { // 鏍规嵁value 鏄剧ず涓嶅悓鐨勬姌鐐归鑹�
-                  // let biaozhuiz
-                  // for (let i = 0; i < this.exhbzzList.length; i++) {
-                  //   if (this.exhbzzList[i].name === c.seriesName) {
-                  //     this.biaozhuiz = this.exhbzzList[i].bzhui
-                  //   }
-                  // }
-                  if (c.value[1] > 20) {
+                  for (let i = 0; i < exhbzzList.length; i++) {
+                    if (exhbzzList[i].name === c.seriesName) {
+                      biaozhuiz = exhbzzList[i].bzhui
+                    }
+                  }
+                  if (c.value[1] > biaozhuiz) {
                     return zdcbcolor
-                  } else if (c.value[1] > 15 * 0.9) {
+                  } else if (c.value[1] > biaozhuiz * 0.8) {
                     return '#FFA500'
                   } else {
                     return '#33c95f'
@@ -484,7 +465,7 @@
               let maker = params[i].marker
               let colo = ''
               switch (seriesName) {
-                case 'ph':
+                case '娓╁害':
                   colo = '#f206ff'
                   break
                 case '姘哀鍖栫墿':
@@ -493,11 +474,11 @@
                 case '鐑熷皹':
                   colo = '#e0ffff'
                   break
-                case '浜屾哀鍖栫⒊':
+                case '搴熸皵娴侀噺':
                   colo = '#9ACD32'
                   break
-                case '浜屾哀鍖栫7':
-                  colo = '#f48183'
+                case '姘у惈閲�':
+                  colo = '#008000'
                   break
                 default:
                   colo = ''
@@ -516,8 +497,8 @@
           }
         },
         grid: {
-          top: '20%',
-          bottom: '15%'
+          top: '40px',
+          bottom: '30px'
         },
         legend: {
           data: legend
@@ -543,9 +524,9 @@
         xAxis: { // x 杞磋缃�
           type: 'time',
           boundaryGap: false,
-          axisLabel: { // x杞村叏閮ㄦ樉绀�
+          axisLabel: {
             // rotate: 30,
-            margin: 6,
+            // margin: 6,
             interval: 0,
             textStyle: {
               color: '#fff'
@@ -566,15 +547,13 @@
               width: 1// 杩欓噷鏄负浜嗙獊鍑烘樉绀哄姞涓婄殑
             }
           }
-          // data: xdata
         },
         yAxis: [{
           type: 'value',
-          name: yname,
-          // max: function (value) {
-          //   console.log(value)
-          //   return parseInt(value.max + 30)
-          // },
+          name: yName,
+          max: function (value) {
+            return parseInt(value.max + 30)
+          },
           axisLabel: {
             formatter: '{value}',
             textStyle: {
@@ -607,10 +586,7 @@
           },
           splitLine: {
             show: false
-          }, // y杞� 缃戞牸绾夸笉鏄剧ず,
-          // inverse: true,
-          // nameLocation: 'start',
-          // max:500,
+          },
           axisLine: {
             lineStyle: {
               color: '#FFFFFF',
@@ -621,138 +597,46 @@
         series: serLists
       }
       this.myChart.setOption(option)
-    },
-    // 瀹氭椂鍣� 鏍规嵁鏃堕棿闂撮殧璇锋眰鏁版嵁
-    IntervalRealTimeDate (id, unionTagCodeList, BBZMAPPING) {
-      // const interValHander = setInterval(function () {
-      //   this.initEchartsData()
-      // console.log('闂撮殧璇锋眰鏁版嵁')
-      // }, 1500)
-      // console.log(interValHander)
     }
   }
 }
 </script>
 
 <style scoped lang="less">
-.grid-content {
-  font-size: 8px;
-  background-color: #2e4967;
-  text-align: center;
-  border-radius: 2px;
-  margin-right: 10px;
-  padding: 0 10px;
-
-  > i {
-    color: #ffffff;
-  }
-}
-
-.animation {
-  //width: 600px;
-  //height: 0.06rem;
-  .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: 3px;
-        }
-      }
-    }
-
-    /deep/ .el-date-editor--datetime {
-      width: 100%;
+.echarts-box {
+  .echarts-form {
+    .demonstration {
+      color: #00fff6;
+      font-size: 12px;
+      margin-left: 10px;
     }
 
     /deep/ .el-input__inner {
-      position: relative;
-      width: 140px;
+      height: 0.15rem;
       background-color: #2e4967;
       color: #fff;
       font-size: 12px;
-      height: 24px;
       padding: 0;
       border-color: #00fff6;
       text-align: center;
-      z-index: 9999;
-      //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;
+    .el-button {
+      margin: 0 15px;
+      width: 0.3rem;
+      height: 0.15rem;
+      display: inline-block;
       background-color: #2e4967;
-      border: none;
-      border-radius: 6px;
-      width: 80px;
-      height: 22px;
-    }
-
-    input::-webkit-calendar-picker-indicator {
-      opacity: 100;
-    }
-
-    .detailbtn {
-      background-color: #2e4967;
+      color: #fff;
+      font-size: 12px;
+      padding: 0;
+      border-color: #00fff6;
       text-align: center;
-      padding: 0 7px;
-      line-height: 20px;
-      border-radius: 4px;
-      margin-right: 6px;
     }
-
   }
 
-  .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;
+  /deep/ .el-icon-time:before {
+    content: " ";
   }
 }
 </style>

--
Gitblit v1.8.0