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/environment/management/management.component.ts       |   22 ++++++++++++----------
 src/app/routes/forecasting-warning/forecasting-warning.component.ts |   28 +++++++++++++++++-----------
 src/app/routes/statistics/analysis/analysis.component.ts            |    7 +++++--
 3 files changed, 34 insertions(+), 23 deletions(-)

diff --git a/src/app/routes/environment/management/management.component.ts b/src/app/routes/environment/management/management.component.ts
index ab2ee99..d2ced06 100644
--- a/src/app/routes/environment/management/management.component.ts
+++ b/src/app/routes/environment/management/management.component.ts
@@ -6,6 +6,7 @@
 import * as moment from 'moment';
 import { DeviceService } from '@business/services/http/device.service';
 import * as echarts from 'echarts';
+import * as $ from 'jquery';
 
 @Component({
     selector: 'environment-management',
@@ -14,8 +15,6 @@
     providers: [DeviceService]
 })
 export class EnvironmentManagementComponent implements OnInit, OnDestroy {
-
-    offlineChartData: any[] = [];
 
     constructor(
         private deviceService: DeviceService,
@@ -37,8 +36,7 @@
         data: ['������������', '������������']
       },
       xAxis: {
-        type: 'category',
-        data: []
+        type: 'category'
       },
       yAxis: {
         type: 'value',
@@ -46,12 +44,10 @@
       },
       series: [
         {
-          data: [],
           type: 'line',
           smooth: true,
           name: '������������'
         }, {
-          data: [],
           type: 'line',
           smooth: true,
           name: '������������'
@@ -71,10 +67,16 @@
         ])
       };
       this.http2.get(environment.SERVER_BASH_URL + 'report/compare', {params: params}).subscribe((res: any) => {
-        this.option.xAxis.data = res.data.times;
-        this.option.series[0].data = res.data.datas[0]['e1'];
-        this.option.series[1].data = res.data.datas[1]['e1'];
-        PM25.setOption(this.option, false);
+        const PM25Option = $.extend(true,
+          {
+            xAxis: {data: res.data.times},
+            series: [
+              {data: res.data.datas[0]['e1']},
+              {data: res.data.datas[1]['e1']}
+            ]
+          },
+          this.option);
+        PM25.setOption(PM25Option, false);
         window.onresize = PM25.resize;
         PM25.hideLoading();
       });
diff --git a/src/app/routes/forecasting-warning/forecasting-warning.component.ts b/src/app/routes/forecasting-warning/forecasting-warning.component.ts
index 80daec2..b8bf208 100644
--- a/src/app/routes/forecasting-warning/forecasting-warning.component.ts
+++ b/src/app/routes/forecasting-warning/forecasting-warning.component.ts
@@ -99,7 +99,6 @@
         this.option.yAxis.name = '������������';
         this.option.series[0].data = temp;
         this.option.series[0].itemStyle.color = this.colors[0];
        forecasting_tempChart.setOption(this.option, false);
-        window.onresize = forecasting_tempChart.resize;
 
         const forecasting_humidityChart = echarts.init(document.getElementById('forecasting_humidity'));
         this.option.title.text = title + '(������)';
@@ -107,7 +106,6 @@
         this.option.series[0].data = humidity;
         this.option.series[0].itemStyle.color = this.colors[1];
         forecasting_humidityChart.setOption(this.option, false);
-        window.onresize = forecasting_humidityChart.resize;
 
         const forecasting_pressureChart = echarts.init(document.getElementById('forecasting_pressure'));
         this.option.title.text = title + '(������)';
@@ -115,7 +113,6 @@
         this.option.series[0].data = pressure;
         this.option.series[0].itemStyle.color = this.colors[2];
         forecasting_pressureChart.setOption(this.option, false);
-        window.onresize = forecasting_pressureChart.resize;
 
         const forecasting_uviChart = echarts.init(document.getElementById('forecasting_uvi'));
         this.option.title.text = title + '(���������)';
@@ -123,7 +120,6 @@
         this.option.series[0].data = uvi;
         this.option.series[0].itemStyle.color = this.colors[3];
         forecasting_uviChart.setOption(this.option, false);
-        window.onresize = forecasting_uviChart.resize;
 
         const daydatas = daysRes['data'].forecast;
         const temp_day = [];
@@ -160,7 +156,14 @@
           }
         };
         forecasting_temp_dayChart.setOption(this.option, false);
-        window.onresize = forecasting_temp_dayChart.resize;
+
+        window.addEventListener('resize', function() {
+          forecasting_tempChart.resize();
+          forecasting_humidityChart.resize();
+          forecasting_pressureChart.resize();
+          forecasting_uviChart.resize();
+          forecasting_temp_dayChart.resize();
+        });
       });
   }
 
@@ -189,7 +192,6 @@
       this.option.series[0].data = PM2_5;
       this.option.series[0].itemStyle.color = this.colors[0];
       warning_PM25Chart.setOption(this.option, false);
-      window.onresize = warning_PM25Chart.resize;
 
       const warning_PM10Chart = echarts.init(document.getElementById('warning_PM10'));
       this.option.title.text = title + '(PM10)';
@@ -197,7 +199,6 @@
       this.option.series[0].data = PM10;
       this.option.series[0].itemStyle.color = this.colors[1];
       warning_PM10Chart.setOption(this.option, false);
-      window.onresize = warning_PM10Chart.resize;
 
       const warning_COChart = echarts.init(document.getElementById('warning_CO'));
       this.option.title.text = title + '(CO)';
@@ -205,7 +206,6 @@
       this.option.series[0].data = CO;
       this.option.series[0].itemStyle.color = this.colors[2];
       warning_COChart.setOption(this.option, false);
-      window.onresize = warning_COChart.resize;
 
       const warning_NO2Chart = echarts.init(document.getElementById('warning_NO2'));
       this.option.title.text = title + '(NO2)';
@@ -213,7 +213,6 @@
       this.option.series[0].data = NO2;
       this.option.series[0].itemStyle.color = this.colors[3];
       warning_NO2Chart.setOption(this.option, false);
-      window.onresize = warning_NO2Chart.resize;
 
       const warning_O3Chart = echarts.init(document.getElementById('warning_O3'));
       this.option.title.text = title + '(O3)';
@@ -221,7 +220,6 @@
       this.option.series[0].data = O3;
       this.option.series[0].itemStyle.color = this.colors[4];
       warning_O3Chart.setOption(this.option, false);
-      window.onresize = warning_O3Chart.resize;
 
       const warning_SO2Chart = echarts.init(document.getElementById('warning_SO2'));
       this.option.title.text = title + '(SO2)';
@@ -229,7 +227,15 @@
       this.option.series[0].data = SO2;
       this.option.series[0].itemStyle.color = this.colors[6];
       warning_SO2Chart.setOption(this.option, false);
-      window.onresize = warning_SO2Chart.resize;
+      
+      window.addEventListener('resize', function() {
+        warning_PM25Chart.resize();
+        warning_PM10Chart.resize();
+        warning_COChart.resize();
+        warning_NO2Chart.resize();
+        warning_O3Chart.resize();
+        warning_SO2Chart.resize();
+      });
     });
   }
 }
diff --git a/src/app/routes/statistics/analysis/analysis.component.ts b/src/app/routes/statistics/analysis/analysis.component.ts
index 3b9e0fa..e129154 100644
--- a/src/app/routes/statistics/analysis/analysis.component.ts
+++ b/src/app/routes/statistics/analysis/analysis.component.ts
@@ -80,13 +80,16 @@
         this.option.series[0].data = offlineChartData[0];
         this.option.series[1].data = offlineChartData[1];
         PM25.setOption(this.option, false);
-        window.onresize = PM25.resize;
 
         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.onresize = PM10.resize;
+        
+        window.addEventListener('resize', function() {
+          PM25.resize();
+          PM10.resize();
+        });
       });
     }
 

--
Gitblit v1.8.0