From f8523eab69d2695163f9edb44fe822dbd0027068 Mon Sep 17 00:00:00 2001
From: xufenglei <xufenglei>
Date: Wed, 25 Jul 2018 13:55:33 +0800
Subject: [PATCH] 图表 优化

---
 src/app/routes/statistics/analysis/analysis.component.ts |   83 +++++++++++++++++++++++++++++++++--------
 1 files changed, 67 insertions(+), 16 deletions(-)

diff --git a/src/app/routes/statistics/analysis/analysis.component.ts b/src/app/routes/statistics/analysis/analysis.component.ts
index 4426108..e129154 100644
--- a/src/app/routes/statistics/analysis/analysis.component.ts
+++ b/src/app/routes/statistics/analysis/analysis.component.ts
@@ -1,9 +1,11 @@
+import { environment } from '../../../../environments/environment';
 import { Component, OnInit, OnDestroy } from '@angular/core';
 import { NzMessageService } from 'ng-zorro-antd';
 import { _HttpClient } from '@delon/theme';
 import { HttpClient } from '@angular/common/http';
 import * as moment from 'moment';
 import { DeviceService } from '@business/services/http/device.service';
+import * as echarts from 'echarts';
 
 @Component({
     selector: 'statistics-analysis',
@@ -22,24 +24,73 @@
         public msg: NzMessageService,
         private http2: HttpClient) {
     }
+    
+    public option = {
+      title: {
+        text: '',
+        left: 'center'
+      },
+      tooltip: {
+        trigger: 'item',
+        axisPointer: {
+          type: 'cross'
+        }
+      },
+      legend: {
+        right: '10%',
+        top: '10%',
+        data: ['������������', '������������']
+      },
+      xAxis: {
+        type: 'category',
+        data: []
+      },
+      yAxis: {
+        type: 'value',
+        name: '���������ug/m��'
+      },
+      series: [
+        {
+          data: [],
+          type: 'line',
+          smooth: true,
+          name: '������������'
+        }, {
+          data: [],
+          type: 'line',
+          smooth: true,
+          name: '������������'
+        }
+      ]
+    };
 
     ngOnInit() {
-        const offlineChartData1 = [];
-        const offlineChartData2 = [];
-        for (let i = 0; i < 20; i += 1) {
-            offlineChartData1.push({
-                x: new Date().getTime() + 1000 * 60 * 30 * i,
-                y1: Math.floor(Math.random() * 100) + 10,
-                y2: Math.floor(Math.random() * 100) + 10
-            });
-            offlineChartData2.push({
-                x: new Date().getTime() + 1000 * 60 * 30 * i,
-                y1: Math.floor(Math.random() * 100) + 10,
-                y2: Math.floor(Math.random() * 100) + 10
-            });
-        }
-        this.offlineChartData1 = offlineChartData1;
-        this.offlineChartData2 = offlineChartData2;
+      const offlineChartData = [[], [], [], []];
+      const params = {size: '24'};
+      this.http2.get(environment.SERVER_BASH_URL + 'demo/compare', {params: params}).subscribe((res: any) => {
+        res.forEach(data => {
+          offlineChartData[0].push(data.this_month_PM2_5);
+          offlineChartData[1].push(data.last_month_PM2_5);
+          offlineChartData[2].push(data.this_month_PM10);
+          offlineChartData[3].push(data.last_month_PM2_5);
+          this.option.xAxis.data.push(data.format_time);
+        });
+
+        const PM25 = echarts.init(document.getElementById('PM25'));
+        this.option.series[0].data = offlineChartData[0];
+        this.option.series[1].data = offlineChartData[1];
+        PM25.setOption(this.option, false);
+
+        const PM10 = echarts.init(document.getElementById('PM10'));
+        this.option.series[0].data = offlineChartData[2];
+        this.option.series[1].data = offlineChartData[3];
+        PM10.setOption(this.option, false);
+        
+        window.addEventListener('resize', function() {
+          PM25.resize();
+          PM10.resize();
+        });
+      });
     }
 
     ngOnDestroy(): void {

--
Gitblit v1.8.0