From 780f76a3e8dd68abe6b007006f85a76991ea2c54 Mon Sep 17 00:00:00 2001
From: fengxiang <110431245@qq.com>
Date: Mon, 16 Apr 2018 13:40:28 +0800
Subject: [PATCH] Merge branch 'develop' of http://blit.7drlb.com:8888/r/screen-frontend into develop

---
 src/app/routes/report/report.component.ts |  111 ++++++++++++++++++++++++++++++++++++++++++++++++++++---
 1 files changed, 105 insertions(+), 6 deletions(-)

diff --git a/src/app/routes/report/report.component.ts b/src/app/routes/report/report.component.ts
index 64d1127..4fcfc16 100644
--- a/src/app/routes/report/report.component.ts
+++ b/src/app/routes/report/report.component.ts
@@ -2,7 +2,6 @@
 import {NzMessageService, NzModalService} from 'ng-zorro-antd';
 import {Component, OnInit, Injector} from '@angular/core';
 import {HttpClient} from '@angular/common/http';
-import {ActivatedRoute} from '@angular/router';
 import * as echarts from 'echarts';
 import * as $ from 'jquery';
 
@@ -69,7 +68,6 @@
   constructor(
     public injector: Injector,
     public http: HttpClient,
-    public activeRoute: ActivatedRoute,
     public msgSrv: NzMessageService
   ) {
     for (let index = 0; index < 30; index++) {
@@ -77,8 +75,93 @@
     }
   }
 
+  private pieCharOption: any = {
+    title: {
+      text: 'AQI������������������������',
+      x: 'center'
+    },
+    tooltip: {
+      trigger: 'item',
+      formatter: "{a} <br/>{b}: {c} ({d}%)"
+    },
+    legend: {
+      //x : 'center',
+      top: '10%',
+      data: ['PM 2.5', 'PM 10', '���������������CO���', '���������������SO������', '���������O������', '���������������NO������']
+    },
+    graphic: [{
+      type: 'text',
+      left: '24%',
+      top: '49%',
+      style: {
+        text: '������������'
+      }
+    }, {
+      type: 'text',
+      left: '74%',
+      top: '49%',
+      style: {
+        text: '{b}'
+      }
+    }
+    ],
+    series: [
+      {
+        name: '������������',
+        type: 'pie',
+        radius: ['30%', '50%'],
+        center: ['25%', '50%'],
+        label: {
+          normal: {
+            formatter: "{b}:{d}%"
+          }
+        },
+        labelLine: {
+          normal: {
+            show: true
+          }
+        },
+        data: [
+          {value: 100, name: 'PM 2.5'},
+          {value: 100, name: 'PM 10'},
+          {value: 200, name: '���������������CO���'},
+          {value: 200, name: '���������������SO������'},
+          {value: 100, name: '���������O������'},
+          {value: 100, name: '���������������NO������'}
+        ]
+      },
+      {
+        name: '������������',
+        type: 'pie',
+        radius: ['30%', '50%'],
+        center: ['75%', '50%'],
+        label: {
+          normal: {
+            formatter: "{b}:{d}%",
+          }
+        },
+        labelLine: {
+          normal: {
+            show: true,
+          }
+        },
+        data: [
+          {value: 0, name: 'PM 2.5'},
+          {value: 0, name: 'PM 10'},
+          {value: 100, name: '���������������CO���'},
+          {value: 100, name: '���������������SO������'},
+          {value: 100, name: '���������O������'},
+          {value: 100, name: '���������������NO������'}
+
+        ]
+      }
+    ]
+  };
+
   ngOnInit() {
-    this.activeRoute.queryParams.subscribe(params => {
+    const params = JSON.parse(sessionStorage.getItem("queryParams"));
+    if (!!params) {
+      localStorage.removeItem("queryParams");
       const items = this.items = JSON.parse(params.items);
       const timeType = params.type;
       this.http.get(environment.SERVER_BASH_URL + 'report/compare', {params: params}).subscribe((res: any) => {
@@ -87,6 +170,7 @@
         } else {
           const option = this.echartOption;
           const sensors = res.data.sensors;
+          const deviceCounts = res.data.deviceCounts;
           const timeArr = this.timeArr;
           const label = timeArr[this.typeArr.indexOf(timeType)];
           option.xAxis.data = res.data.times;
@@ -105,11 +189,15 @@
             }
             for (let i = 0; i < items.length; i++) {
               this.title = items[i].formatTime;
-              const legendName = items[i].formatTime + label + (items[i].mac ? items[i].deviceName : items[i].monitorPointName);
+              items[i].deviceCount = deviceCounts[i];
+              if (!items[i].monitorPointid) {
+                items[i].monitorPointName = items[i].areaName
+              }
+              const legendName = items[i].formatTime + label + (items[i].mac ? '������:' + items[i].deviceName : (items[i].monitorPointid ? '���������:' + items[i].monitorPointName : items[i].areaName));
               option.legend.data[i] = legendName;
               option.series.push({
                 name: legendName,
-                data: res.data.datas[i]['data' + i][0][sensorKey],
+                data: res.data.datas[i][sensorKey],
                 type: params.reportType,
                 smooth: true,
                 itemStyle: {
@@ -134,8 +222,19 @@
           for (let i = 0; i < title.length; i++) {
             this.title += title[i] + timeArr[i];
           }
+          if (sensors.length % 2 == 0) {
+            this.pieCharOption.backgroundColor = 'rgba(0,0,0,0)';
+          } else {
+            this.pieCharOption.backgroundColor = 'rgba(23,133,23,0.06)';
+          }
+//          const myChart = echarts.init(document.getElementById('pieChar'));
+//          myChart.setOption(this.pieCharOption, true);
+//          window.onresize = myChart.resize;
         }
       });
-    });
+    } else {
+      this.msgSrv.error("������������������������������������");
+      setTimeout("window.close();", 1000);
+    }
   }
 }

--
Gitblit v1.8.0