From 7f93b01660cae23d38e9fa8083fe24a952b7ef4c Mon Sep 17 00:00:00 2001
From: 沈斌 <bluelazysb@hotmail.com>
Date: Fri, 13 Jul 2018 14:37:01 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/master'

---
 src/app/routes/home-page/home-page/home-page.component.ts   |   57 +++++++++++++++++--
 src/app/routes/reports/query/query.component.ts             |    2 
 .gitignore                                                  |    1 
 _mock/index.ts                                              |    1 
 package.json                                                |    2 
 src/app/routes/home-page/home-page/home-page.component.less |    3 +
 src/app/routes/home-page/home-page.module.ts                |    6 +
 _mock/_demo.ts                                              |   19 ++++++
 src/app/routes/home-page/home-page/home-page.component.html |   70 ++++++++++++++++++++---
 9 files changed, 141 insertions(+), 20 deletions(-)

diff --git a/.gitignore b/.gitignore
index dbb8954..4fbf46a 100644
--- a/.gitignore
+++ b/.gitignore
@@ -41,3 +41,4 @@
 /_nginx/*
 .github/*
 
+yarn.lock
diff --git a/_mock/_demo.ts b/_mock/_demo.ts
new file mode 100644
index 0000000..a188994
--- /dev/null
+++ b/_mock/_demo.ts
@@ -0,0 +1,19 @@
+import { MockRequest } from "@delon/mock";
+
+function getRandomNumber(base: number, range: number) {
+  return base + Math.ceil(Math.random()*range*10) % range;
+}
+function getForecast24List(req: MockRequest) {
+   const base = req.queryString.base;
+   const range = req.queryString.range;
+   const array = new Array(24);
+   for(let n = 0 ; n < array.length ; n++) {
+      array[n] = getRandomNumber(base,range);
+   }
+   return array;
+}
+
+export const DEMOS = {
+    '/aqi/forecast24hours': (req: MockRequest) => getForecast24List(req),
+    '/mete/forecast24hours': (req: MockRequest) => getForecast24List(req),
+};
\ No newline at end of file
diff --git a/_mock/index.ts b/_mock/index.ts
index 34345bf..2dca7a1 100644
--- a/_mock/index.ts
+++ b/_mock/index.ts
@@ -2,3 +2,4 @@
 export * from './_rule';
 export * from './_api';
 export * from './_chart';
+export * from './_demo';
diff --git a/package.json b/package.json
index a003894..24353f4 100644
--- a/package.json
+++ b/package.json
@@ -70,7 +70,7 @@
     "ng2-img-cropper": "^0.9.0",
     "ngx-color-picker": "^5.0.0",
     "ngx-countdown": "^2.0.0",
-    "ngx-echarts": "^2.0.2",
+    "ngx-echarts": "^2.2.0",
     "ngx-tinymce": "^1.0.1",
     "ngx-ueditor": "^1.1.0",
     "rxjs": "^5.5.5",
diff --git a/src/app/routes/home-page/home-page.module.ts b/src/app/routes/home-page/home-page.module.ts
index a3adbbb..003b7ae 100644
--- a/src/app/routes/home-page/home-page.module.ts
+++ b/src/app/routes/home-page/home-page.module.ts
@@ -3,9 +3,13 @@
 import { SharedModule } from "@shared/shared.module";
 import { HomePageRoutingModule } from "./home-page-routing.module";
 import { HomePageComponent } from "./home-page/home-page.component";
+import { NgxEchartsModule } from "ngx-echarts";
 
 @NgModule({
-  imports: [SharedModule, HomePageRoutingModule],
+  imports: [
+    SharedModule, 
+    NgxEchartsModule,
+    HomePageRoutingModule],
   declarations: [HomePageComponent]
 })
 export class HomePageModule {}
diff --git a/src/app/routes/home-page/home-page/home-page.component.html b/src/app/routes/home-page/home-page/home-page.component.html
index 2b8d1c7..7c145d7 100644
--- a/src/app/routes/home-page/home-page/home-page.component.html
+++ b/src/app/routes/home-page/home-page/home-page.component.html
@@ -96,14 +96,64 @@
     </div>
   </div>
   <div nz-row [nzGutter]="24" class="pt-lg">
-      <div nz-col nzXs="24" nzMd="12">
-          <nz-card [nzBordered]="false">
-              <!-- <div echarts style="margin-top: 12px;" [options]="chartOption" [loading]="aqiChartLoading" class="line-chart" (chartInit)="onApiChartInit($event)"></div> -->
-          </nz-card>
-      </div>
-      <div nz-col nzXs="24" nzMd="12">
-          <nz-card [nzBordered]="false">
-            22222222222
-          </nz-card>
-      </div>
+    <div nz-col style="display: block;" nzXs="24" nzMd="24">
+       <nz-card [nzBordered]="false">
+            <ng-template #title>
+                    ������������������ &nbsp;
+                    <nz-dropdown>
+                        <a class="ant-dropdown-link" nz-dropdown>
+                         PM2.5 <i class="anticon anticon-down"></i>
+                        </a>
+                        <ul nz-menu>
+                          <li nz-menu-item>
+                            PM10
+                          </li>
+                          <li nz-menu-item>
+                            ������������
+                          </li>
+                          <li nz-menu-item>
+                            ������������
+                          </li>
+                          <li nz-menu-item>
+                            ������������
+                          </li>
+                          <li nz-menu-item>
+                            ������
+                          </li>
+                        </ul>
+                      </nz-dropdown>
+                </ng-template>
+            <div echarts style="margin-top: 12px;" class="line-chart" [options]="aqiChartOption" [loading]="aqiChartLoading" (chartInit)="onApiChartInit($event)"></div>
+       </nz-card>
+    </div>
   </div>
+  <div nz-row [nzGutter]="24" class="pt-lg">
+        <div nz-col style="display: block;" nzXs="24" nzMd="24">
+           <nz-card [nzBordered]="false">
+                <ng-template #title>
+                        ������������ &nbsp;
+                        <nz-dropdown>
+                            <a class="ant-dropdown-link" nz-dropdown>
+                             ������<i class="anticon anticon-down"></i>
+                            </a>
+                            <ul nz-menu>
+                              <li nz-menu-item>
+                                ������
+                              </li>
+                              <li nz-menu-item>
+                                ������
+                              </li>
+                              <li nz-menu-item>
+                                ������
+                              </li>
+                              <li nz-menu-item>
+                                ������
+                              </li>
+                            </ul>
+                          </nz-dropdown>
+                    </ng-template>
+                <div echarts style="margin-top: 12px;" class="line-chart" [options]="meteChartOption" [loading]="meteChartLoading" (chartInit)="onMeteChartInit($event)"></div>
+           </nz-card>
+        </div>
+      </div>
+    
diff --git a/src/app/routes/home-page/home-page/home-page.component.less b/src/app/routes/home-page/home-page/home-page.component.less
index e69de29..41bc1aa 100644
--- a/src/app/routes/home-page/home-page/home-page.component.less
+++ b/src/app/routes/home-page/home-page/home-page.component.less
@@ -0,0 +1,3 @@
+.line-chart {
+    height: 100%;
+}
\ No newline at end of file
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..5333df9 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() {
@@ -34,15 +36,40 @@
       // 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}]
+                }
+            )
+        }
+    );
   }
-  public aqiChartOption
+  
+  public aqiChartOption = {};
   public aqiEchartsIntance;
   public aqiChartLoading = false;
   public onApiChartInit(e): void {
         this.aqiEchartsIntance = e;
   }
-  private reloadChart(): void {
+  public meteChartOption = {};
+  public meteEchartsIntance;
+  public meteChartLoading = false;
+  private onMeteChartInit(e): void {
+      this.meteEchartsIntance = e;
+  }
+  private reloadAqiChart(): void {
     // const  timeList = this.grid.columns.map(item => item.text);  
      if (!!this.aqiEchartsIntance) {
          this.aqiChartOption = null;
@@ -55,8 +82,26 @@
      
     //  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 +144,7 @@
         series : [
         ]
     };
-    $.extend(true, defaultOption, opt);
-    chartOption = defaultOption;
+    Object.assign( defaultOption, opt);
+    Object.assign(chartOption, defaultOption);
   }
 }
diff --git a/src/app/routes/reports/query/query.component.ts b/src/app/routes/reports/query/query.component.ts
index ffe5ddd..074cffb 100644
--- a/src/app/routes/reports/query/query.component.ts
+++ b/src/app/routes/reports/query/query.component.ts
@@ -409,7 +409,6 @@
           this.treeClickStream.next(event);
     }
     public onSensorSelect(event): void {
-        debugger;
         const data = event.node.data;
         if (data.id === -1 && data.halfChecked === false) {
             if (!!data.checked) {
@@ -500,7 +499,6 @@
     public loadGrid(): void {        
         // ������������
         const sensors = Object.values(this._sensors);
-        debugger;
         if ( sensors.length === 0 ) {
             this.msg.error(' ������������ ������������');
             return ;

--
Gitblit v1.8.0