From 902e52b94d2518196f5c5c91f62013342590abc7 Mon Sep 17 00:00:00 2001
From: fengxiang <110431245@qq.com>
Date: Fri, 20 Jul 2018 10:05:43 +0800
Subject: [PATCH] 页面更新提交

---
 src/app/routes/home-page/home-page/home-page.component.ts |  102 +++++++++++++++++++++++++++++++++++++++++++++-----
 1 files changed, 91 insertions(+), 11 deletions(-)

diff --git a/src/app/routes/home-page/home-page/home-page.component.ts b/src/app/routes/home-page/home-page/home-page.component.ts
index 0bb0017..0535670 100644
--- a/src/app/routes/home-page/home-page/home-page.component.ts
+++ b/src/app/routes/home-page/home-page/home-page.component.ts
@@ -13,6 +13,8 @@
   constructor(
     private http:_HttpClient,
   ) {
+     this.reloadAqiChart();
+     this.reloadMeteChart()
   }
   salesData: any[] =  [ ];
   ngOnInit() {
@@ -27,23 +29,53 @@
             this.cardData.temperature = conRes.data.condition.temp;
             this.cardData.api = aqiRes.data.aqi.value;
             this.cardData.pm25 = aqiRes.data.aqi.pm25;
+            this.http.get('/aqi/forecast24hours',{base: this.cardData.pm25,range: 10}).subscribe(
+                (res: any) => {
+                    this.aqiEchartsIntance.setOption(
+                        {
+                           series: [{type: 'line', data: res}]
+                        }
+                    )
+                }
+            );
+            this.http.get('/aqi/forecast24hours',{base: this.cardData.temperature,range: 5}).subscribe(
+               (res: any) => {
+                   this.meteEchartsIntance.setOption(
+                       {
+                          series: [{type: 'line', data: res}]
+                       }
+                   )
+               }
+           );
           }
         }
      );
      this.http.get('/chart').subscribe((res: any) => {
-      // this.webSite = res.visitData.slice(0, 10);
-      this.salesData = res.salesData;
-      // this.offlineChartData = res.offlineChartData;
-  });
+        res.offlineData.forEach((item: any) => {
+            item.chart = Object.assign([], res.offlineChartData);
+        });
+        this.data = res;
+        this.salesData = res.salesData;
+        this.loading = false;
+        this.changeSaleType();
+    });
+
   }
-  public aqiChartOption
+
+  public aqiChartOption = {};
   public aqiEchartsIntance;
   public aqiChartLoading = false;
   public onApiChartInit(e): void {
         this.aqiEchartsIntance = e;
   }
-  private reloadChart(): void {
-    // const  timeList = this.grid.columns.map(item => item.text);  
+  public meteChartOption = {};
+  public meteEchartsIntance;
+  public meteChartLoading = false;
+  public onMeteChartInit(e): void {
+      this.meteEchartsIntance = e;
+  }
+  private reloadAqiChart(): void {
+    // const  timeList = this.grid.columns.map(item => item.text);
      if (!!this.aqiEchartsIntance) {
          this.aqiChartOption = null;
          this.aqiEchartsIntance.clear();
@@ -52,11 +84,29 @@
     //  if ( this.chartSelectedIndex < this.grid.data.length ) {
     //     series = [{type: 'line', data: this.grid.data[this.chartSelectedIndex]}];
     //  }
-     
+
     //  this.initOpton(chartOption ,{ xAxis : [{data : []}]});
     //  this.aqiChartOption = true;
-    this.initOpton(this.aqiChartOption ,{ xAxis : [{data : []}]});
+    this.initOpton(this.aqiChartOption ,{ xAxis : [{data : this.newArray(0, 24, null, '���')}]});
   }
+  private reloadMeteChart(): void {
+     if (!!this.aqiEchartsIntance) {
+         this.aqiChartOption = null;
+         this.aqiEchartsIntance.clear();
+     }
+    this.initOpton(this.meteChartOption ,{ xAxis : [{data : this.newArray(0, 24, null, '���')}]});
+  }
+  private newArray = (startOrLen: number, len?: number, prefix?: string, suffix?: string) => {
+    const result = [];
+    const s = !!len ? startOrLen : 0;
+    len = !!len ? len : startOrLen;
+    suffix = !!suffix ? suffix : '';
+    prefix = !!prefix ? prefix :  '';
+    for (let i = s; result.length < len; i++) {
+        result.push(prefix + i + suffix);
+    }
+    return result;
+}
   private initOpton(chartOption,opt: {[key: string]: object}) {
      const defaultOption = {
         title: {
@@ -99,7 +149,37 @@
         series : [
         ]
     };
-    $.extend(true, defaultOption, opt);
-    chartOption = defaultOption;
+    Object.assign( defaultOption, opt);
+    Object.assign(chartOption, defaultOption);
   }
+  //---------mock-------------------
+  data: any = {
+    salesData: [],
+    offlineData: []
+  };
+  sort(sortName, sortValue) {
+    this.data.searchData = [
+        ...(<any[]>this.data.searchData).sort((a, b) => {
+            if (a[ sortName ] > b[ sortName ]) {
+                return (sortValue === 'ascend') ? 1 : -1;
+            } else if (a[ sortName ] < b[ sortName ]) {
+                return (sortValue === 'ascend') ? -1 : 1;
+            } else {
+                return 0;
+            }
+        })
+    ];
+  }
+    loading = true;
+    salesType = 'all';
+    salesPieData: any;
+    salesTotal = 0;
+    changeSaleType() {
+        this.salesPieData = this.salesType === 'all' ? this.data.salesTypeData : (
+            this.salesType === 'online' ? this.data.salesTypeDataOnline : (
+                this.salesType === 'online2' ?  this.data.salesTypeDataOnline2 : this.data.salesTypeDataOffline
+            )
+        );
+        if (this.salesPieData) this.salesTotal = this.salesPieData.reduce((pre, now) => now.y + pre, 0);
+    }
 }

--
Gitblit v1.8.0