From 7aabdfc457bf7dd9a30f46b4d6efb032a196c3d8 Mon Sep 17 00:00:00 2001
From: xufenglei <xufenglei>
Date: Wed, 25 Jul 2018 11:03:49 +0800
Subject: [PATCH] 环境管理 图表实现

---
 src/app/routes/environment/management/management.component.ts       |   80 ++++++++++++++++++++++++++++++----------
 src/app/routes/forecasting-warning/forecasting-warning.component.ts |    1 
 tslint.json                                                         |    1 
 src/app/routes/environment/management/management.component.html     |    4 +
 4 files changed, 64 insertions(+), 22 deletions(-)

diff --git a/src/app/routes/environment/management/management.component.html b/src/app/routes/environment/management/management.component.html
index 0f40300..b6ca37f 100644
--- a/src/app/routes/environment/management/management.component.html
+++ b/src/app/routes/environment/management/management.component.html
@@ -22,8 +22,10 @@
             <ng-template #nzTitle>
                 ������������
                 <small class="text-sm font-weight-normal"></small>
+                <span class="text-md font-weight-normal" style="color:red">PM2.5</span>
             </ng-template>
-            <timeline [data]="offlineChartData" [height]="239" [padding]="[0, 0, 0, 0]" [titleMap]="{ y1: '������������', y2: '������������' }"></timeline>
+            <div id="PM25" style="height: 300px; width: 100%"></div>
+            <!-- <timeline [data]="offlineChartData" [height]="239" [padding]="[0, 0, 0, 0]" [titleMap]="{ y1: '������������', y2: '������������' }"></timeline> -->
         </nz-card>
     </div>
 </div>
diff --git a/src/app/routes/environment/management/management.component.ts b/src/app/routes/environment/management/management.component.ts
index d942dd9..ab2ee99 100644
--- a/src/app/routes/environment/management/management.component.ts
+++ b/src/app/routes/environment/management/management.component.ts
@@ -1,9 +1,11 @@
-import { Component, OnInit, OnDestroy } from '@angular/core';
+import { environment } from '../../../../environments/environment';
+import { Component, OnInit, OnDestroy, AfterViewInit } 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: 'environment-management',
@@ -21,26 +23,64 @@
         public msg: NzMessageService,
         private http2: HttpClient) {
     }
-
+  
+    public option = {
+      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: '������������'
+        }
+      ]
+    };
+  
+    ngAfterViewInit() {
+      const PM25 = echarts.init(document.getElementById('PM25'));
+      PM25.showLoading();
+      const params = {
+        type: 'month',
+        sensors: JSON.stringify(['e1']),
+        items: JSON.stringify([
+          {areaCode: 320583, formatTime: moment().format('YYYY-MM')},
+          {areaCode: 320583, formatTime: moment().subtract(1, 'M').format('YYYY-MM')}
+        ])
+      };
+      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);
+        window.onresize = PM25.resize;
+        PM25.hideLoading();
+      });
+    }
+    
     ngOnInit() {
-        const searchData = [];
-        for (let i = 0; i < 50; i += 1) {
-            searchData.push({
-                index: i + 1,
-                point: `������������-${i}`,
-                value: Math.floor(Math.random() * 100)
-            });
-        }
-
-        const offlineChartData = [];
-        for (let i = 0; i < 20; i += 1) {
-            offlineChartData.push({
-                x: new Date().getTime() + 1000 * 60 * 30 * i,
-                y1: Math.floor(Math.random() * 100) + 10,
-                y2: Math.floor(Math.random() * 100) + 10
-            });
-        }
-        this.offlineChartData = offlineChartData;
     }
 
     ngOnDestroy(): void {
diff --git a/src/app/routes/forecasting-warning/forecasting-warning.component.ts b/src/app/routes/forecasting-warning/forecasting-warning.component.ts
index 2e660eb..80daec2 100644
--- a/src/app/routes/forecasting-warning/forecasting-warning.component.ts
+++ b/src/app/routes/forecasting-warning/forecasting-warning.component.ts
@@ -56,6 +56,7 @@
       }
     ]
   };
+  public type = 'warning';
   ngOnInit() {
     this.initWarning();
   }
diff --git a/tslint.json b/tslint.json
index 54f1235..84aee1d 100644
--- a/tslint.json
+++ b/tslint.json
@@ -131,7 +131,6 @@
     "use-host-property-decorator": true,
     "no-input-rename": false,
     "no-output-rename": false,
-    "use-life-cycle-interface": true,
     "use-pipe-transform-interface": true,
     "component-class-suffix": true,
     "directive-class-suffix": true,

--
Gitblit v1.8.0