From ffafeb1548168dd8ee9526030e0ec3a7e7c7089a Mon Sep 17 00:00:00 2001
From: chenzeping <ChenZeping02609@163.com>
Date: 星期五, 23 四月 2021 13:46:23 +0800
Subject: [PATCH] 废水实时数据弹框相关修改

---
 src/components/BaseNav/WasteWater/RealData.vue |  452 +++++++++++++++++++++++++++-----------------------------
 1 files changed, 219 insertions(+), 233 deletions(-)

diff --git a/src/components/BaseNav/WasteWater/RealData.vue b/src/components/BaseNav/WasteWater/RealData.vue
index 60554f9..c11e43f 100644
--- a/src/components/BaseNav/WasteWater/RealData.vue
+++ b/src/components/BaseNav/WasteWater/RealData.vue
@@ -2,17 +2,19 @@
   <div class="echarts-box">
     <div class="tab-scroll">
       <PublicDataStandard :dataStandard="dataStandard"></PublicDataStandard>
-      <span class="time-select">{{ startTime }}鈥攞{ endTime }}</span>
+      <span class="time-select">{{ formData.startTime }}鈥攞{ formData.endTime }}</span>
     </div>
     <div class="echarts-form">
       <span class="demonstration">寮�濮嬫椂闂达細</span>
       <el-date-picker
-          v-model="startTime"
+          v-model="formData.startTime"
+          value-format="yyyy-MM-dd HH:mm:ss"
           type="datetime">
       </el-date-picker>
       <span class="demonstration">缁撴潫鏃堕棿锛�</span>
       <el-date-picker
-          v-model="endTime"
+          v-model="formData.endTime"
+          value-format="yyyy-MM-dd HH:mm:ss"
           type="datetime">
       </el-date-picker>
       <span class="demonstration">閲囨牱鐐规暟锛�</span>
@@ -87,260 +89,260 @@
           }
         }],
       formData: {
-        startTime: '',
-        endTime: ''
+        startTime: dayjs().subtract(3, 'minute').format('YYYY-MM-DD HH:mm:ss'),
+        endTime: dayjs().format('YYYY-MM-DD HH:mm:ss')
       },
-      startTime: dayjs().subtract(3, 'minute').format('YYYY-MM-DD HH:mm:ss'),
-      endTime: dayjs().format('YYYY-MM-DD HH:mm:ss'),
       region: '25',
       regionList: [25, 50, 75, 100],
       datatype: 1,
       RealTimeDataList: [],
       bzz: null,
-      bzzList: []
+      bzzList: [],
+      nameList: [],
+      // legend绫诲埆鍥捐〃灞曠ず璁剧疆鏁扮粍
+      lengList: [],
+      ydatas: []
     }
   },
   mounted () {
     this.$nextTick(() => {
-      this.myChart = this.$echarts.init(this.$refs.echarts)
       this.initEchartsData()
     })
   },
   methods: {
     // 鏌ヨ鎼滅储鍔熻兘
-    async querySearch () {
+    querySearch () {
+      this.initEchartsData()
+    },
+    async initEchartsData () {
       const data = {
         $tagCodeList: 'TJIP45.y2h508CEMS01NOX,CTJIP45.y2h508CEMS01SO2,CTJIP45.y2h508CEMS01F,CTJIP45.y2h508CEMS01PM',
         $startTime: this.formData.startTime,
         $endTime: this.formData.endTime,
         $step: 15
       }
-      // console.log(data)
       const result = (await mapApi.getDataItems(data)).data
-      // console.log(result)
-      this.dealWithData(result)
+      this.pointsSet(result)
+      this.legendSet()
+      this.yDataSet()
+      this.drawRealTimeDateChart()
     },
-    async initEchartsData () {
-      const data = {
-        $tagCodeList: 'TJIP45.y2h508CEMS01NOX,CTJIP45.y2h508CEMS01SO2,CTJIP45.y2h508CEMS01F,CTJIP45.y2h508CEMS01PM',
-        $startTime: dayjs().subtract(3, 'minute').format('YYYY-MM-DD HH:mm:ss'),
-        $endTime: dayjs().format('YYYY-MM-DD HH:mm:ss'),
-        $step: 15
-      }
-      const result = (await mapApi.getDataItems(data)).data
-      // this.result = result
-      this.dealWithData(result)
-    },
-    // 鏁版嵁澶勭悊
-    dealWithData (result) {
-      // 鎺ユ敹鏁版嵁姝g‘ 杩涜鏁版嵁澶勭悊
-      if (result.length > 0) {
-        // 澶勭悊鏁版嵁寮�濮�
-        const d = result
-        const nameList = []
-
-        let data
-        let datalist
-
-        // 鏁版嵁鍒ゆ柇
-        for (let i = 0; i < d.length; i++) {
-          if (d[i].ErrorMessage != null) {
-            continue
+    // 鎺ュ彛鏁版嵁鎸夌収 鏁版嵁鍐呭垎绫诲埆璁剧疆
+    pointsSet (d) {
+      let data = []
+      let datalist = []
+      for (let i = 0; i < d.length; i++) {
+        // this.RealTimeDataList = []
+        // 鍒ゆ柇鏄惁缁х画鎵ц
+        if (d[i].ErrorMessage != null) {
+          continue
+        }
+        // temp 涓存椂鏁版嵁鍒ゆ柇鏂规硶
+        const tempList = [
+          {
+            'TJIP45.lscl2tbAIA-10505-1': '姘哀鍖栫墿',
+            'TJIP45.lscl2tbAIA-10505-2': '鐑熷皹',
+            'TJIP45.lscl2tb552AISA11202A': '浜屾哀鍖栫7',
+            'TJIP45.lscl2tb552AISA11201B': 'pH',
+            'TJIP45.lscl2tb552AI10710': '浜屾哀鍖栫⒊'
           }
-
-          // temp 涓存椂鏁版嵁鍒ゆ柇鏂规硶
-          const tempList = [
-            {
-              'TJIP45.lscl2tbAIA-10505-1': '姘哀鍖栫墿',
-              'TJIP45.lscl2tbAIA-10505-2': '鐑熷皹',
-              'TJIP45.lscl2tb552AISA11202A': '浜屾哀鍖栫7',
-              'TJIP45.lscl2tb552AISA11201B': 'pH',
-              'TJIP45.lscl2tb552AI10710': '浜屾哀鍖栫⒊'
-            }
-          ]
-          const name = tempList[0][d[i].UnionTagCode]
-
-          if (nameList.length === 0) {
-            nameList.push(name)
-            const newdate = new Date(d[i].ReadTime)
+        ]
+        // 鎸囨爣
+        const name = tempList[0][d[i].UnionTagCode]
+        // 鍒ゆ柇甯傚眬绫诲瀷杩涜鍒嗙粍
+        if (this.nameList.length === 0) {
+          // 鏁扮粍涓虹┖鏃�
+          this.nameList.push(name)
+          // todo 鐢╠ayjs
+          const newDate = new Date(d[i].ReadTime)
+          data = {
+            name: name,
+            value: [newDate, d[i].TagValue]
+          }
+          datalist = {
+            name: name,
+            data: [data]
+          }
+          // console.log('1111111')
+          this.RealTimeDataList.push(datalist)
+        } else if (this.nameList.indexOf(name) < 0) {
+          // 娌℃湁鎸囨爣鏃�
+          this.nameList.push(name)
+          const newDate = new Date(d[i].ReadTime)
+          data = {
+            name: name,
+            value: [newDate, d[i].TagValue]
+          }
+          datalist = {
+            name: name,
+            data: [data]
+          }
+          // console.log('222222222')
+          this.RealTimeDataList.push(datalist)
+        } else if (i === d.length - 1) {
+          // 寰幆鍒版渶鍚�
+          if (this.nameList.indexOf(name) < 0) {
+            this.nameList.push(name)
+            const newDate = new Date(d[i].ReadTime)
             data = {
               name: name,
-              value: [newdate, d[i].TagValue]
+              value: [newDate, d[i].TagValue]
             }
             datalist = {
               name: name,
               data: [data]
             }
+            // console.log('3333333')
             this.RealTimeDataList.push(datalist)
-          } else if (nameList.indexOf(name) < 0) {
-            nameList.push(name)
-            const newdate = new Date(d[i].ReadTime)
-            data = {
-              name: name,
-              value: [newdate, d[i].TagValue]
-            }
-            datalist = {
-              name: name,
-              data: [data]
-            }
-            this.RealTimeDataList.push(datalist)
-          } else if (i === d.length - 1) {
-            if (nameList.indexOf(name) < 0) {
-              nameList.push(name)
-              const newdate = new Date(d[i].ReadTime)
-              data = {
-                name: name,
-                value: [newdate, d[i].TagValue]
-              }
-              datalist = {
-                name: name,
-                data: [data]
-              }
-              this.RealTimeDataList.push(datalist)
-            } else {
-              const newdate = new Date(d[i].ReadTime)
-              data = {
-                name: name,
-                value: [newdate, d[i].TagValue]
-              }
-              for (let k = 0; k < this.RealTimeDataList.length; k++) {
-                if (this.RealTimeDataList[k].name === name) {
-                  this.RealTimeDataList[k].data.push(data)
-                }
-              }
-            }
           } else {
-            const newdate = new Date(d[i].ReadTime)
+            const newDate = new Date(d[i].ReadTime)
             data = {
               name: name,
-              value: [newdate, d[i].TagValue]
+              value: [newDate, d[i].TagValue]
             }
+            // console.log('444444')
             for (let k = 0; k < this.RealTimeDataList.length; k++) {
               if (this.RealTimeDataList[k].name === name) {
                 this.RealTimeDataList[k].data.push(data)
               }
             }
           }
-        }
-        const lengList = []
-        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'
-          } else if (nameList[l] === '姘哀鍖栫墿') {
-            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'
+        } else {
+          const newDate = new Date(d[i].ReadTime)
+          data = {
+            name: name,
+            value: [newDate, d[i].TagValue]
           }
-
-          if (nameList[l] === '搴熸按' || nameList[l] === '搴熸按娴侀噺') { // 灏嗗簾姘存祦閲忔帓鍒版暟缁勬渶鍚�
-            objTemp = {
-              name: nameList[l],
-              icon: IconUrl,
-              textStyle: {
-                color: '#ccc'
-              },
-              itemWidth: 20,
-              itemHeight: 5
-            }
-          } else {
-            obj = {
-              name: nameList[l],
-              icon: IconUrl,
-              textStyle: {
-                color: '#ccc'
-              },
-              itemWidth: 20,
-              itemHeight: 5
-            }
-            lengList.push(obj)
-          }
-        }
-        lengList.push(objTemp)
-
-        const legend = lengList
-        const ydatas = []
-
-        // console.log(nameList)
-        for (let j = 0; j < nameList.length; j++) {
-          let zdcbcolor, zxcolor
-          if (nameList[j] === 'COD') {
-            zdcbcolor = 'red'
-            zxcolor = '#fff21c'
-          } else if (nameList[j] === '姘ㄦ爱') {
-            zdcbcolor = 'red'
-            zxcolor = '#00B0F0'
-          } else if (nameList[j] === '鎬荤7') {
-            zdcbcolor = 'red'
-            zxcolor = '#f48183'
-          } else if (nameList[j] === '鎬绘爱') {
-            zdcbcolor = 'red'
-            zxcolor = '#e0ffff'
-          } else {
-            zdcbcolor = 'red'
-            zxcolor = '#9ACD32'
-          }
-          let ydata
-
-          // 涓存椂鏁版嵁
-          const BBZMAPPING = {
-            COD: 35,
-            pH: 9,
-            鎬绘爱: 15,
-            鎬荤7: 0.3,
-            姘ㄦ爱: 3
-          }
-          for (let m = 0; m < this.RealTimeDataList.length; m++) {
-            let stdValue = null
-            if (this.RealTimeDataList[m].name === nameList[j]) {
-              for (const p in BBZMAPPING) {
-                // console.log('p' + p)
-                this.a = p
-                stdValue = BBZMAPPING[this.RealTimeDataList[m].name]
-              }
-              // console.log(stdValue)
-              this.bzz = {
-                name: nameList[j],
-                bzhui: stdValue
-              }
-              ydata = {
-                name: nameList[j],
-                data: this.RealTimeDataList[m].data,
-                zdcbcolor: zdcbcolor,
-                zxcolor: zxcolor,
-                bzz: stdValue
-              }
-              // console.log(stdValue)
-              this.bzzList.push(this.bzz)
-              ydatas.push(ydata)
+          for (let k = 0; k < this.RealTimeDataList.length; k++) {
+            if (this.RealTimeDataList[k].name === name) {
+              this.RealTimeDataList[k].data.push(data)
             }
           }
         }
-        const yname = '娴撳害(mg/l)'
-        this.DrawRealTimeDateChart(legend, ydatas, yname)
+      }
+      console.log(this.RealTimeDataList)
+    },
+    // legend绫诲埆鍥捐〃灞曠ず璁剧疆鏁扮粍
+    legendSet () {
+      this.lengList = []
+      let objTemp
+      for (let l = 0; l < this.nameList.length; l++) {
+        let obj
+        let IconUrl
+        if (this.nameList[l] === 'pH') {
+          IconUrl = 'image://../assets/imgs/legend/WenDu.png'
+        } else if (this.nameList[l] === '姘哀鍖栫墿') {
+          IconUrl = 'image://../assets/imgs/legend/NOX.png'
+        } else if (this.nameList[l] === '鐑熷皹') {
+          IconUrl = 'image://../assets/imgs/legend/zongdan.png'
+        } else if (this.nameList[l] === '浜屾哀鍖栫⒊') {
+          IconUrl = 'image://../assets/imgs/legend/YanChen.png'
+        } else if (this.nameList[l] === '浜屾哀鍖栫7') {
+          IconUrl = 'image://../assets/imgs/legend/VOCs.png'
+        }
+        if (this.nameList[l] === '搴熸按' || this.nameList[l] === '搴熸按娴侀噺') { // 灏嗗簾姘存祦閲忔帓鍒版暟缁勬渶鍚�
+          objTemp = {
+            name: this.nameList[l],
+            icon: IconUrl,
+            textStyle: {
+              color: '#ccc'
+            },
+            itemWidth: 20,
+            itemHeight: 5
+          }
+        } else {
+          obj = {
+            name: this.nameList[l],
+            icon: IconUrl,
+            textStyle: {
+              color: '#ccc'
+            },
+            itemWidth: 20,
+            itemHeight: 5
+          }
+          this.lengList.push(obj)
+        }
+      }
+      this.lengList.push(objTemp)
+    },
+    // yDataSet 鏁版嵁澶勭悊
+    yDataSet () {
+      this.bzzList = []
+      this.ydatas = []
+      for (let j = 0; j < this.nameList.length; j++) {
+        let zdcbcolor, zxcolor
+        if (this.nameList[j] === 'pH') {
+          zdcbcolor = 'red'
+          zxcolor = '#900090'
+        } else if (this.nameList[j] === '姘ㄦ爱') {
+          zdcbcolor = 'red'
+          zxcolor = '#00B0F0'
+        } else if (this.nameList[j] === '鐑熷皹') {
+          zdcbcolor = 'red'
+          zxcolor = '#f48183'
+        } else if (this.nameList[j] === '鎬绘爱') {
+          zdcbcolor = 'red'
+          zxcolor = '#e0ffff'
+        } else {
+          zdcbcolor = 'red'
+          zxcolor = '#9ACD32'
+        }
+        let ydata
+
+        // 涓存椂鏁版嵁
+        const BBZMAPPING = {
+          COD: 35,
+          pH: 9,
+          鎬绘爱: 15,
+          鎬荤7: 0.3,
+          姘ㄦ爱: 3
+        }
+        for (let m = 0; m < this.RealTimeDataList.length; m++) {
+          let stdValue = null
+          if (this.RealTimeDataList[m].name === this.nameList[j]) {
+            for (const p in BBZMAPPING) {
+              // console.log('p' + p)
+              this.a = p
+              stdValue = BBZMAPPING[this.RealTimeDataList[m].name]
+            }
+            // console.log(stdValue)
+            this.bzz = {
+              name: this.nameList[j],
+              bzhui: stdValue
+            }
+            ydata = {
+              name: this.nameList[j],
+              data: this.RealTimeDataList[m].data,
+              zdcbcolor: zdcbcolor,
+              zxcolor: zxcolor,
+              bzz: stdValue
+            }
+            // console.log(stdValue)
+            this.bzzList.push(this.bzz)
+            this.ydatas.push(ydata)
+          }
+        }
       }
     },
+    // 鏍规嵁澶勭悊濂界殑鏁扮粍杩涜echarts鍥炬爣鐨勬覆鏌�
+    drawRealTimeDateChart () {
+      this.myChart = this.$echarts.init(this.$refs.echarts)
+      this.myChart.clear()
 
-    // 鎸囨爣鏍规嵁鏍囧噯鍊煎垽鏂紝濡傛灉澶т簬鏍囧噯鍊兼槸绾㈣壊
-    // 鏍囧噯绾跨粯鍒�
-    DrawRealTimeDateChart (legend, ydatas, yname) {
-      const serLists = []
+      const legend = this.lengList
+      const yname = '娴撳害(mg/m鲁)'
       const bzzList = this.bzzList
-      for (let i = 0; i < ydatas.length; i++) {
-        const zdcbcolor = ydatas[i].zdcbcolor
-        const bz = ydatas[i].bzz
+
+      const serLists = []
+
+      for (let i = 0; i < this.ydatas.length; i++) {
+        const zdcbcolor = this.ydatas[i].zdcbcolor
+        const bz = this.ydatas[i].bzz
         // console.log(bz)
         let obj
         if (bz) {
           obj = {
-            name: ydatas[i].name,
+            name: this.ydatas[i].name,
             // symbol:'circle', // 鎶樼偣褰㈢姸
             // symbolSize: 3,   //澶у皬
             smooth: true, // 鐩寸嚎 锛宼rue 涓烘洸绾�
@@ -362,7 +364,7 @@
                   }
                 },
                 lineStyle: { // 鎶樼嚎鐨勯鑹�
-                  color: ydatas[i].zxcolor,
+                  color: this.ydatas[i].zxcolor,
                   width: 2
                 },
                 // borderColor:'black',  //鎶樼偣杈规鐨勯鑹�
@@ -372,7 +374,7 @@
               }
             },
             type: 'line',
-            data: ydatas[i].data,
+            data: this.ydatas[i].data,
             markLine: { // 骞冲潎鍊� 锛� 鍜� 鎸囨爣涓婇檺
               symbol: 'none',
               data: [{
@@ -386,12 +388,7 @@
                 yAxis: bz,
                 lineStyle: {
                   normal: {
-                    type: 'dashed',
-                    width: 2,
-                    // color: ydatas[i].zxcolor,
-                    // color: '#4ec99c',
-                    color: function (c) {
-                      console.log(c)
+                    color: function (c) { // 鏍规嵁value 鏄剧ず涓嶅悓鐨勬姌鐐归鑹�
                       let biaozhuiz
                       for (let i = 0; i < bzzList.length; i++) {
                         if (bzzList[i].name === c.seriesName) {
@@ -414,7 +411,7 @@
           }
         } else {
           obj = {
-            name: ydatas[i].name,
+            name: this.ydatas[i].name,
             symbol: 'circle', // 鎶樼偣褰㈢姸
             symbolSize: 10, // 澶у皬
             smooth: false, // 鐩寸嚎 锛宼rue 涓烘洸绾�
@@ -436,7 +433,7 @@
             //       }
             //     },
             //     lineStyle: { // 鎶樼嚎鐨勯鑹�
-            //       color: ydatas[i].zxcolor,
+            //       color: this.ydatas[i].zxcolor,
             //       width: 5
             //     },
             //     borderColor: 'black', // 鎶樼偣杈规鐨勯鑹�
@@ -446,27 +443,23 @@
             //   }
             // },
             type: 'line',
-            data: ydatas[i].data
+            data: this.ydatas[i].data
           }
         }
-
-        if (ydatas[i].name === '搴熸皵娴侀噺' || ydatas[i].name === '搴熸皵') {
+        if (this.ydatas[i].name === '搴熸皵娴侀噺' || this.ydatas[i].name === '搴熸皵') {
           obj.yAxisIndex = 1
         }
         serLists.push(obj)
       }
-
+      // console.log(serLists)
       let dataUnit = ''
       if (this.datatype === 1) {
         dataUnit = '娴侀噺(m鲁/d)'
       } else {
         dataUnit = '娴侀噺(m鲁/h)'
       }
-
+      // echarts鍥捐〃option鏁版嵁
       const options = {
-        /*  title: {
-              text: title,
-          }, */
         tooltip: { // 鎻愮ず妗�
           trigger: 'axis',
           axisPointer: {
@@ -491,15 +484,15 @@
               let colo = ''
               switch (seriesName) {
                 case 'pH':
-                  colo = '#f206ff'
+                  colo = '#900090'
                   break
-                case '姘哀鍖栫墿':
+                case '浜屾哀鍖栫⒊':
                   colo = '#00B0F0'
                   break
                 case '鐑熷皹':
                   colo = '#e0ffff'
                   break
-                case '浜屾哀鍖栫⒊':
+                case '姘哀鍖栫墿':
                   colo = '#9ACD32'
                   break
                 case '浜屾哀鍖栫7':
@@ -624,16 +617,9 @@
         }],
         series: serLists
       }
-      this.myChart.setOption(options)
+      this.myChart.setOption(options, true)
+      console.log(options)
       window.onresize = this.myChart.resize
-    },
-    // 瀹氭椂鍣� 鏍规嵁鏃堕棿闂撮殧璇锋眰鏁版嵁
-    IntervalRealTimeDate (id, unionTagCodeList, BBZMAPPING) {
-      // const interValHander = setInterval(function () {
-      //   this.initEchartsData()
-      // console.log('闂撮殧璇锋眰鏁版嵁')
-      // }, 1500)
-      // console.log(interValHander)
     }
   }
 }

--
Gitblit v1.8.0