fengxiang
2018-07-16 1fdd2c6fe276c5d9849c14739eaba37061264eb5
src/app/routes/home-page/home-page/home-page.component.ts
@@ -29,32 +29,37 @@
            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;
     });
     this.http.get('/aqi/forecast24hours',{base: 25,range: 10}).subscribe(
         (res: any) => {
             this.aqiEchartsIntance.setOption(
                 {
                    series: [{type: 'line', data: res}]
                 }
             )
         }
     );
     this.http.get('/aqi/forecast24hours',{base: 30,range: 8}).subscribe(
        (res: any) => {
            this.meteEchartsIntance.setOption(
                {
                   series: [{type: 'line', data: res}]
                }
            )
        }
    );
        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 = {};
@@ -147,4 +152,32 @@
    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.data.salesTypeDataOffline
        );
        if (this.salesPieData) this.salesTotal = this.salesPieData.reduce((pre, now) => now.y + pre, 0);
    }
}