From eef69fa1194f6ab215b08a8baaf402d0539362cc Mon Sep 17 00:00:00 2001
From: fengxiang <110431245@qq.com>
Date: Tue, 31 Jul 2018 15:56:59 +0800
Subject: [PATCH] 日历完善,设备相关功能开发

---
 src/app/routes/home-page/home-page/home-page.component.ts                                |    2 
 src/app/routes/systems/organization/organization-list/organization-list.component.ts     |    2 
 src/app/routes/statistics/statistics.module.ts                                           |    7 
 src/app/routes/enterprise-management/enterprise-data/enterprise-data.component.ts        |    2 
 src/app/routes/statistics/calendar/calendar.component.html                               |   76 +--------
 src/app/routes/devices/basic-info/device-edit/device-edit.component.ts                   |    6 
 src/app/routes/operation/device-status/device-status.component.html                      |  169 ++++++++++++--------
 src/app/routes/reports/query2/query2.component.ts                                        |    1 
 src/app/routes/statistics/calendar/calendar.component.ts                                 |   90 ++++++++++-
 src/app/routes/systems/organization/organization-config/organization-config.component.ts |    1 
 src/app/routes/devices/basic-info/device-edit/device-edit.component.html                 |    5 
 src/app/routes/statistics/calendar/aqi-detail/aqi-detail.component.html                  |   85 ++++++++++
 src/app/routes/statistics/calendar/aqi-detail/aqi-detail.component.ts                    |   21 ++
 src/app/routes/home-page/home-page/home-page.component.html                              |    2 
 14 files changed, 314 insertions(+), 155 deletions(-)

diff --git a/src/app/routes/devices/basic-info/device-edit/device-edit.component.html b/src/app/routes/devices/basic-info/device-edit/device-edit.component.html
index fa89a42..ae5e79e 100644
--- a/src/app/routes/devices/basic-info/device-edit/device-edit.component.html
+++ b/src/app/routes/devices/basic-info/device-edit/device-edit.component.html
@@ -110,13 +110,14 @@
             ������:                  
           </span>
           <nz-select style="width: 240px;" [(ngModel)]="configMap.orgId" (ngModelChange)="setOrgId($event)" [nzPlaceHolder]="'������ ������(������������������)'"
-            nzAllowClear [nzFilter]="false" nzShowSearch  (nzSearchChange)="orgSelectChange($event)" [nzNotFoundContent]="'������������'" >
+            nzAllowClear [nzFilter]="false" nzShowSearch  (nzSearchChange)="orgSelectChange($event)" [nzNotFoundContent]="'������������'" 
+            [nzDisabled]="!isEditState">
             <nz-option *ngFor="let option of orgOptions" [nzLabel]="option.name" [nzValue]="option.id" [nzDisabled]="option.disabled">
             </nz-option>
           </nz-select>
           &nbsp;
         <button nz-button type="button" (click)="close()">������</button>
-        <button nz-button [nzType]="'primary'" (click)="save(null,validateForm.value,validateForm.valid)" [nzLoading]="isSaving">
+        <button nz-button *ngIf="isEditState" [nzType]="'primary'" (click)="save(null,validateForm.value,validateForm.valid)" [nzLoading]="isSaving">
           <span>
             ������
             <span *ngIf="isSaving">���</span>
diff --git a/src/app/routes/devices/basic-info/device-edit/device-edit.component.ts b/src/app/routes/devices/basic-info/device-edit/device-edit.component.ts
index 2c35a62..4fe30c2 100644
--- a/src/app/routes/devices/basic-info/device-edit/device-edit.component.ts
+++ b/src/app/routes/devices/basic-info/device-edit/device-edit.component.ts
@@ -13,6 +13,7 @@
 import { ExampleService } from '@business/services/util/example.service';
 import { Observable } from 'rxjs/Observable';
 import { OrganizationService } from '@business/services/http/organization.service';
+import { debug } from 'util';
 
 @Component({
   selector: 'app-device-edit',
@@ -20,6 +21,7 @@
   styles: []
 })
 export class DeviceEditComponent implements OnInit {
+  public isEditState = true;
   public monitorPoints: any [] = [];
   public professions: any [] = [];
   public deviceVersions: any [] = [];
@@ -80,6 +82,10 @@
     this.validateForm = this.formBuilder.group(
       validates
     );
+    if(!this.isEditState){
+        this.validateForm.disable();
+    }
+    this.validateForm
     this.orgSelectChange();
     const control = this.validateForm.controls['monitorPointId'];
     control.valueChanges.subscribe(value => {
diff --git a/src/app/routes/enterprise-management/enterprise-data/enterprise-data.component.ts b/src/app/routes/enterprise-management/enterprise-data/enterprise-data.component.ts
index 00c4ebf..6200ead 100644
--- a/src/app/routes/enterprise-management/enterprise-data/enterprise-data.component.ts
+++ b/src/app/routes/enterprise-management/enterprise-data/enterprise-data.component.ts
@@ -206,7 +206,6 @@
             // ������������ tree click ������
             this.treeClickStream.debounceTime(1).subscribe( event => {
                 const data = event.node.data;  
-                // console.log(data);    
                 if (data.id === -1) {
                     const children = data.children;
                     // ������������
@@ -582,7 +581,6 @@
           this.reloadChartTitle();
           // ������������
           this.grid.data = [];
-          console.log(lineChartCriteria);
           this.http.post('/report/line-chart', lineChartCriteria).subscribe(
             (res: ResultBean<{[key: string]: Array<Array<number>>}>) => {
                if (res.code === 1) {
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 612f176..e940d80 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
@@ -173,7 +173,7 @@
                             </th>
                             <th nz-th class="text-right">
                                 <span>������({{selectedApiSortedItem.unit}})</span>
-                                <nz-table-sort (nzValueChange)="aqiSortedTableSort('sum',$event)"></nz-table-sort>
+                                <nz-table-sort (nzValueChange)="aqiSortedTableSort('avg',$event)"></nz-table-sort>
                             </th>
                         </tr>
                     </thead>
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 e88e860..b3b1f38 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
@@ -163,7 +163,6 @@
                         this.aqiData = aqiData;
                         this.aqiDataLoading = false;
                     }
-                    console.log(this.aqiData);
                 }
             );
     }
@@ -396,7 +395,6 @@
                         // windDirData = windDirData.length >  2 ? windDirData.substr(1) : windDirData;
                         if(index == 0 ) {
                             const windDirName = this.winToChName(windDirData);
-                            console.log(windDirName);
                             windDirsData.push(
                                 {
                                     value: windDirName,
diff --git a/src/app/routes/operation/device-status/device-status.component.html b/src/app/routes/operation/device-status/device-status.component.html
index 18ebd9e..367d58a 100644
--- a/src/app/routes/operation/device-status/device-status.component.html
+++ b/src/app/routes/operation/device-status/device-status.component.html
@@ -1,72 +1,109 @@
 <div class="content__title">
-        <h1>
-            ������������
-            <small>������������������������������������</small>
-        </h1>
+    <h1>
+        ������������
+        <small>������������������������������������</small>
+    </h1>
+</div>
+<nz-card [nzBordered]="false">
+    <nz-spin [nzSpinning]="false">
+        <nz-row nzGutter="8">
+            <div nz-col nzXs="24" nzSm="12" nzMd="8" class="mb-md">
+                <div nz-row nzType="flex" nzAlign="middle" class="bg-primary rounded-md">
+                    <div nz-col nzSpan="24" class="p-md text-white" style="height: 90px;text-align: center;">
+                        <div style="height: 40px;" class="h2 mt0">
+                            2598
+                        </div>
+                        <p class="text-nowrap mb0">������������</p>
+                    </div>
+                </div>
+            </div>
+            <div nz-col nzXs="24" nzSm="12" nzMd="8" class="mb-md">
+                <div nz-row nzType="flex" nzAlign="middle" class="bg-success rounded-md">
+                    <div nz-col nzSpan="24" class="p-md text-white" style="height: 90px;text-align: center;">
+                        <div style="height: 40px;" class="h2 mt0">
+                            2510
+                        </div>
+                        <p class="text-nowrap mb0">������������</p>
+                    </div>
+                </div>
+            </div>
+            <div nz-col nzXs="24" nzSm="12" nzMd="8" class="mb-md">
+                <div nz-row nzType="flex" nzAlign="middle" class="bg-orange rounded-md">
+                    <div nz-col nzSpan="24" class="p-md text-white" style="height: 90px;text-align: center;">
+                        <div style="height: 40px;" class="h2 mt0">
+                            88
+                        </div>
+                        <p class="text-nowrap mb0">������������</p>
+                    </div>
+                </div>
+            </div>
+        </nz-row>
+    </nz-spin>
+</nz-card>
+<nz-card [nzBordered]="false">
+    <div nz-row class="mb-sm">
+        <div nz-col [nzSpan]="4">
+            <button nz-button (click)="addOrModify($event)" [nzType]="'primary'" [nzSize]="'large'">
+                <i class="anticon anticon-plus"></i>
+                <span>������</span>
+            </button>
+            <ng-container *ngIf="selectedRows.length > 0">
+                <button nz-button [nzSize]="'large'" (click)="deleteSelected()">������������</button>
+            </ng-container>
+        </div>
+        <div nz-col [nzSpan]="7">
+            <span style="padding: 5px 10px;">
+                ������:
+            </span>
+            <nz-select style="width: 79%;" [(ngModel)]="queryMap.orgId" (ngModelChange)="setOrgId($event)" [nzPlaceHolder]="'������ ������(������������������)'"
+                nzAllowClear [nzFilter]="false" nzShowSearch (nzSearchChange)="orgSelectChange($event)" [nzNotFoundContent]="'������������'">
+                <nz-option *ngFor="let option of orgOptions" [nzLabel]="option.name" [nzValue]="option.id" [nzDisabled]="option.disabled">
+                </nz-option>
+            </nz-select>
+        </div>
+        <div nz-col [nzSpan]="7">
+            <span style="padding: 5px 10px;">
+                ���������:
+            </span>
+            <nz-select style="width: 75%;" [(ngModel)]="queryMap.mpointId" (ngModelChange)="setMpointId($event)" [nzPlaceHolder]="'������ ���������������(������������������)'"
+                nzAllowClear [nzFilter]="false" nzShowSearch (nzSearchChange)="monitorPointChange($event)" [nzNotFoundContent]="'������������'">
+                <nz-option *ngFor="let option of monitorPoints" [nzLabel]="option.name" [nzValue]="option.id" [nzDisabled]="option.disabled">
+                </nz-option>
+            </nz-select>
+        </div>
+        <div nz-col [nzSpan]="6">
+            <nz-input [ngStyle]="{'width': '240px','float':'right'}" [(ngModel)]="queryText" name="" [nzPlaceHolder]="'������������������������������mac'"
+                (keyup)="queryTextChanged($event)" (change)="queryTextChanged($event)"></nz-input>
+        </div>
     </div>
-    <nz-card [nzBordered]="false">
-        <div nz-row class="mb-sm">
-            <div  nz-col [nzSpan]="4">
-                    <button nz-button (click)="addOrModify($event)" [nzType]="'primary'" [nzSize]="'large'">
-                        <i class="anticon anticon-plus"></i><span>������</span>
-                    </button>
-                    <ng-container *ngIf="selectedRows.length > 0">
-                    <button nz-button [nzSize]="'large'" (click)="deleteSelected()">������������</button>
-                    </ng-container>
-            </div>
-            <div  nz-col [nzSpan]="7">
-                  <span style="padding: 5px 10px;">
-                    ������:                  
-                  </span>
-                  <nz-select style="width: 79%;" [(ngModel)]="queryMap.orgId" (ngModelChange)="setOrgId($event)" [nzPlaceHolder]="'������ ������(������������������)'"
-                    nzAllowClear [nzFilter]="false" nzShowSearch  (nzSearchChange)="orgSelectChange($event)" [nzNotFoundContent]="'������������'" >
-                    <nz-option *ngFor="let option of orgOptions" [nzLabel]="option.name" [nzValue]="option.id" [nzDisabled]="option.disabled">
-                    </nz-option>
-                  </nz-select>
-            </div>
-            <div  nz-col [nzSpan]="7">
-                    <span style="padding: 5px 10px;">
-                            ���������:                  
-                          </span>
-                          <nz-select style="width: 75%;" [(ngModel)]="queryMap.mpointId" (ngModelChange)="setMpointId($event)" [nzPlaceHolder]="'������ ���������������(������������������)'"
-                          nzAllowClear [nzFilter]="false" nzShowSearch (nzSearchChange)="monitorPointChange($event)" [nzNotFoundContent]="'������������'" >
-                            <nz-option *ngFor="let option of monitorPoints" [nzLabel]="option.name" [nzValue]="option.id" [nzDisabled]="option.disabled">
-                            </nz-option>
-                          </nz-select>
-            </div>
-            <div  nz-col [nzSpan]="6">
-                    <nz-input [ngStyle]="{'width': '240px','float':'right'}" [(ngModel)]="queryText" name=""  [nzPlaceHolder]="'������������������������������mac'"
-                    (keyup)="queryTextChanged($event)" (change)="queryTextChanged($event)" ></nz-input>
-            </div>
-        </div>
-        <div class="mb-md">
-                <nz-alert *ngIf="selectedRows.length > 0" [nzType]="'info'" [nzShowIcon]="true"> 
-                    <span alert-body>
-                        ���������<strong class="text-primary">{{selectedRows.length}}</strong>���
-                    </span> 
-                </nz-alert>
-        </div>
-    <simple-table #simpleTable  [data]="listUrl" [extraParams]="extraParams"  [columns]="columns" [showTotal]="true"
-    [reqReName]="{pi: 'pageIndex',ps: 'pageSize'}"  (checkboxChange)="checkboxChange($event)" [ps]="10" [resReName]="{list: 'data',total: 'total'}">
-    <ng-template st-row="state-badge" let-item let-index="index">
+    <div class="mb-md">
+        <nz-alert *ngIf="selectedRows.length > 0" [nzType]="'info'" [nzShowIcon]="true">
+            <span alert-body>
+                ���������
+                <strong class="text-primary">{{selectedRows.length}}</strong>���
+            </span>
+        </nz-alert>
+    </div>
+    <simple-table #simpleTable [data]="listUrl" [extraParams]="extraParams" [columns]="columns" [showTotal]="true" [reqReName]="{pi: 'pageIndex',ps: 'pageSize'}"
+        (checkboxChange)="checkboxChange($event)" [ps]="10" [resReName]="{list: 'data',total: 'total'}">
+        <ng-template st-row="state-badge" let-item let-index="index">
             <ng-container [ngSwitch]="item.state">
-                    <span *ngSwitchCase="'0'">
-                         <nz-badge [nzStatus]="'success'" [nzText]="'������'"></nz-badge>
-                    </span>
-                    <span *ngSwitchCase="'1'">
-                         <nz-badge [nzStatus]="'processing'" [nzText]="'������'"></nz-badge>
-                    </span>
-                    <span *ngSwitchCase="'2'">
-                            <nz-badge [nzStatus]="'warning'" [nzText]="'������'"></nz-badge>
-                    </span>
-                    <span *ngSwitchCase="'3'">
-                            <nz-badge [nzStatus]="'error'" [nzText]="'������'"></nz-badge>
-                    </span>
-                    <span *ngSwitchDefault>
-                            <nz-badge [nzStatus]="'default'" [nzText]="'������'"></nz-badge>
-                    </span>
+                <span *ngSwitchCase="'0'">
+                    <nz-badge [nzStatus]="'success'" [nzText]="'������'"></nz-badge>
+                </span>
+                <span *ngSwitchCase="'1'">
+                    <nz-badge [nzStatus]="'processing'" [nzText]="'������'"></nz-badge>
+                </span>
+                <span *ngSwitchCase="'2'">
+                    <nz-badge [nzStatus]="'warning'" [nzText]="'������'"></nz-badge>
+                </span>
+                <span *ngSwitchCase="'3'">
+                    <nz-badge [nzStatus]="'error'" [nzText]="'������'"></nz-badge>
+                </span>
+                <span *ngSwitchDefault>
+                    <nz-badge [nzStatus]="'default'" [nzText]="'������'"></nz-badge>
+                </span>
             </ng-container>
         </ng-template>
     </simple-table>
-    </nz-card>
-    
+</nz-card>
diff --git a/src/app/routes/reports/query2/query2.component.ts b/src/app/routes/reports/query2/query2.component.ts
index 190a68d..6b01c89 100644
--- a/src/app/routes/reports/query2/query2.component.ts
+++ b/src/app/routes/reports/query2/query2.component.ts
@@ -262,7 +262,6 @@
         // ������������ tree click ������
         this.treeClickStream.debounceTime(1).subscribe( event => {
             const data = event.node.data;
-            // console.log(data);
             if (data.id === -1) {
                 const children = data.children;
                 // ������������
diff --git a/src/app/routes/statistics/calendar/aqi-detail/aqi-detail.component.html b/src/app/routes/statistics/calendar/aqi-detail/aqi-detail.component.html
new file mode 100644
index 0000000..19fe309
--- /dev/null
+++ b/src/app/routes/statistics/calendar/aqi-detail/aqi-detail.component.html
@@ -0,0 +1,85 @@
+<div class="modal-header">
+    <div class="modal-title">{{formatDate}}&nbsp;&nbsp;������������</div>
+</div>
+<nz-row nzGutter="8">
+        <div nz-col nzXs="24" nzSm="12" nzMd="6" class="mb-md">
+            <div nz-row nzType="flex" nzAlign="middle" class="bg-primary rounded-md">
+                <div nz-col nzSpan="24" class="p-md text-white" style="height: 90px;text-align: center;">
+                    <div style="height: 40px;" class="h2 mt0">
+                        {{ dayData.data.quality }}
+                    </div>
+                    <p class="text-nowrap mb0">������������</p>
+                </div>
+            </div>
+        </div>
+        <div nz-col nzXs="24" nzSm="12" nzMd="6" class="mb-md">
+            <div nz-row nzType="flex" nzAlign="middle" class="bg-success rounded-md">
+                <div nz-col nzSpan="24" class="p-md text-white" style="height: 90px;text-align: center;">
+                    <div style="height: 40px;" class="h2 mt0">
+                        {{ dayData.data.CO }}&nbsp;<small>ug/m3</small>
+                    </div>
+                    <p class="text-nowrap mb0">������������</p>
+                </div>
+            </div>
+        </div>
+        <div nz-col nzXs="24" nzSm="12" nzMd="6" class="mb-md">
+            <div nz-row nzType="flex" nzAlign="middle" class="bg-orange rounded-md">
+                <div nz-col nzSpan="24" class="p-md text-white" style="height: 90px;text-align: center;">
+                    <div style="height: 40px;" class="h2 mt0">
+                        {{ dayData.data.O3 }}&nbsp;<small>mg/m3</small>
+                    </div>
+                    <p class="text-nowrap mb0">������</p>
+                </div>
+            </div>
+        </div>
+        <div nz-col nzXs="24" nzSm="12" nzMd="6" class="mb-md">
+            <div nz-row nzType="flex" nzAlign="middle" class="bg-pink rounded-md">
+                <div nz-col nzSpan="24" class="p-md text-white" style="height: 90px;text-align: center;">
+                    <div style="height: 40px;" class="h2 mt0">
+                        {{ dayData.data.NO2 }}&nbsp;<small>mg/m3</small>
+                    </div>
+                    <p class="text-nowrap">������������</p>
+                </div>
+            </div>
+        </div>
+        <div nz-col nzXs="24" nzSm="12" nzMd="6" class="mb-md">
+            <div nz-row nzType="flex" nzAlign="middle" class="bg-primary rounded-md">
+                <div nz-col nzSpan="24" class="p-md text-white" style="height: 90px;text-align: center;">
+                    <div style="height: 40px;" class="h2 mt0">
+                        {{ dayData.data.AQI }}
+                    </div>
+                    <p class="text-nowrap mb0">AQI</p>
+                </div>
+            </div>
+        </div>
+        <div nz-col nzXs="24" nzSm="12" nzMd="6" class="mb-md">
+            <div nz-row nzType="flex" nzAlign="middle" class="bg-success rounded-md">
+                <div nz-col nzSpan="24" class="p-md text-white" style="height: 90px;text-align: center;">
+                    <div style="height: 40px;" class="h2 mt0">
+                        {{ dayData.data.SO2 }}&nbsp;<small>mg/m3</small>
+                    </div>
+                    <p class="text-nowrap mb0">������������</p>
+                </div>
+            </div>
+        </div>
+        <div nz-col nzXs="24" nzSm="12" nzMd="6" class="mb-md">
+            <div nz-row nzType="flex" nzAlign="middle" class="bg-orange rounded-md">
+                <div nz-col nzSpan="24" class="p-md text-white" style="height: 90px;text-align: center;">
+                    <div style="height: 40px;" class="h2 mt0">
+                        {{ dayData.data.PM10 }}&nbsp;<small>mg/m3</small>
+                    </div>
+                    <p class="text-nowrap mb0">PM10</p>
+                </div>
+            </div>
+        </div>
+        <div nz-col nzXs="24" nzSm="12" nzMd="6" class="mb-md">
+            <div nz-row nzType="flex" nzAlign="middle" class="bg-pink rounded-md">
+                <div nz-col nzSpan="24" class="p-md text-white" style="height: 90px;text-align: center;">
+                    <div style="height: 40px;" class="h2 mt0">
+                        {{ dayData.data.PM2_5 }}&nbsp;<small>mg/m3</small>
+                    </div>
+                    <p class="text-nowrap">PM2.5</p>
+                </div>
+            </div>
+        </div>
+</nz-row>
\ No newline at end of file
diff --git a/src/app/routes/statistics/calendar/aqi-detail/aqi-detail.component.ts b/src/app/routes/statistics/calendar/aqi-detail/aqi-detail.component.ts
new file mode 100644
index 0000000..f1091e7
--- /dev/null
+++ b/src/app/routes/statistics/calendar/aqi-detail/aqi-detail.component.ts
@@ -0,0 +1,21 @@
+import { Component, OnInit } from '@angular/core';
+import { _HttpClient } from '@delon/theme';
+import { Moment } from 'moment';
+
+@Component({
+  selector: 'app-aqi-detail',
+  templateUrl: './aqi-detail.component.html',
+})
+export class AqiDetailComponent implements OnInit {
+    public dayData;
+    public selectedMoment:Moment;
+    constructor(
+        private http: _HttpClient
+    ) { }
+    public get formatDate(): string {
+        return this.selectedMoment.format('YYYY-MM-DD');
+    }
+    ngOnInit() {
+    }
+
+}
diff --git a/src/app/routes/statistics/calendar/calendar.component.html b/src/app/routes/statistics/calendar/calendar.component.html
index 0fe6701..49de164 100644
--- a/src/app/routes/statistics/calendar/calendar.component.html
+++ b/src/app/routes/statistics/calendar/calendar.component.html
@@ -1,11 +1,17 @@
 
+<div class="content__title">
+    <h1>
+        ������������
+        <small>������������������������</small>
+    </h1>
+</div>
 <div nz-row [nzGutter]="24" style="padding: 20px">
     <div nz-col nzXs="24"   nzMd="24">
         <div nz-form-control nz-col [nzSm]="20">
             <nz-card [nzBordered]="false">
                 <nz-calendar [nzLocale]="'zh-cn'" >
                     <ng-template #dateCell let-day>
-                        <div *ngIf="!isExpire(day.date)" style="width: 80px;height: 80px;display: block;position: absolute;" (click)="calendarClick(day.date)">
+                        <div *ngIf="!isExpire(day.date) && isCellExist(day.date)" style="width: 80px;height: 80px;display: block;position: absolute;" (click)="calendarClick(day.date)">
                                 <nz-badge [nzStatus]="calendarDayCells[day.date|date:'dd']['status']" [nzText]="calendarDayCells[day.date|date:'dd']['statusName']" ></nz-badge>
                                 <!-- <nz-badge [nzStatus]="'success'" [nzText]="'Sunday'" *ngIf="(day.date|date:'EEE')==='Sun'"></nz-badge>
                                 {{day.date|date:'EEE'}}
@@ -16,72 +22,6 @@
                 </nz-calendar>
             </nz-card>
         </div>
-    </div>
-    <div nz-col nzXs="24" nzSm="12" nzMd="24" nzLg="15">
-        <div nz-col nzXs="24" nzSm="12" nzMd="6" class="mb-md">
-            <div nz-row nzType="flex" nzAlign="middle" class="bg-primary rounded-md">
-                <div nz-col nzSpan="24" class="p-md text-white" style="height: 90px;text-align: center;">
-                    <div style="height: 40px;" class="h2 mt0">100</div>
-                    <p class="text-nowrap mb0">AQI</p>
-                </div>
-            </div>
-        </div>
-        <div nz-col nzXs="24" nzSm="12" nzMd="6" class="mb-md">
-            <div nz-row nzType="flex" nzAlign="middle" class="bg-success rounded-md">
-                <div nz-col nzSpan="24" class="p-md text-white" style="height: 90px;text-align: center;">
-                    <div style="height: 40px;" class="h2 mt0">30 ���</div>
-                    <p class="text-nowrap mb0">������</p>
-                </div>
-            </div>
-        </div>
-        <div nz-col nzXs="24" nzSm="12" nzMd="6" class="mb-md">
-            <div nz-row nzType="flex" nzAlign="middle" class="bg-orange rounded-md">
-                <div nz-col nzSpan="24" class="p-md text-white" style="height: 90px;text-align: center;">
-                    <div style="height: 40px;" class="h2 mt0">2.5</div>
-                    <p class="text-nowrap mb0">������</p>
-                </div>
-            </div>
-        </div>
-        <div nz-col nzXs="24" nzSm="12" nzMd="6" class="mb-md">
-            <div nz-row nzType="flex" nzAlign="middle" class="bg-pink rounded-md">
-                <div nz-col nzSpan="24" class="p-md text-white" style="height: 90px;text-align: center;">
-                    <div style="height: 40px;" class="h2 mt0">78 mg/m��</div>
-                    <p class="text-nowrap">PM2.5</p>
-                </div>
-            </div>
-        </div>
-        <div nz-col nzXs="24" nzSm="12" nzMd="6" class="mb-md">
-            <div nz-row nzType="flex" nzAlign="middle" class="bg-primary rounded-md">
-                <div nz-col nzSpan="24" class="p-md text-white" style="height: 90px;text-align: center;">
-                    <div style="height: 40px;" class="h2 mt0">100</div>
-                    <p class="text-nowrap mb0">AQI</p>
-                </div>
-            </div>
-        </div>
-        <div nz-col nzXs="24" nzSm="12" nzMd="6" class="mb-md">
-            <div nz-row nzType="flex" nzAlign="middle" class="bg-success rounded-md">
-                <div nz-col nzSpan="24" class="p-md text-white" style="height: 90px;text-align: center;">
-                    <div style="height: 40px;" class="h2 mt0">30 ���</div>
-                    <p class="text-nowrap mb0">������</p>
-                </div>
-            </div>
-        </div>
-        <div nz-col nzXs="24" nzSm="12" nzMd="6" class="mb-md">
-            <div nz-row nzType="flex" nzAlign="middle" class="bg-orange rounded-md">
-                <div nz-col nzSpan="24" class="p-md text-white" style="height: 90px;text-align: center;">
-                    <div style="height: 40px;" class="h2 mt0">2.5</div>
-                    <p class="text-nowrap mb0">������</p>
-                </div>
-            </div>
-        </div>
-        <div nz-col nzXs="24" nzSm="12" nzMd="6" class="mb-md">
-            <div nz-row nzType="flex" nzAlign="middle" class="bg-pink rounded-md">
-                <div nz-col nzSpan="24" class="p-md text-white" style="height: 90px;text-align: center;">
-                    <div style="height: 40px;" class="h2 mt0">78 mg/m��</div>
-                    <p class="text-nowrap">PM2.5</p>
-                </div>
-            </div>
-        </div>
-    </div>
+    </div>  
 </div>
 
diff --git a/src/app/routes/statistics/calendar/calendar.component.ts b/src/app/routes/statistics/calendar/calendar.component.ts
index 09e03c1..2ba1c98 100644
--- a/src/app/routes/statistics/calendar/calendar.component.ts
+++ b/src/app/routes/statistics/calendar/calendar.component.ts
@@ -1,9 +1,11 @@
 import { Component, OnInit, OnDestroy } from '@angular/core';
 import { NzMessageService } from 'ng-zorro-antd';
-import { _HttpClient } from '@delon/theme';
+import { _HttpClient, ModalHelper } from '@delon/theme';
 import { HttpClient } from '@angular/common/http';
 import * as moment from 'moment';
 import { DeviceService } from '@business/services/http/device.service';
+import { TimeUnits } from '@business/enum/types.enum';
+import { AqiDetailComponent } from './aqi-detail/aqi-detail.component';
 
 @Component({
     selector: 'statistics-calender',
@@ -25,6 +27,7 @@
         private deviceService: DeviceService,
         private http: _HttpClient,
         public msg: NzMessageService,
+        private modalHelper: ModalHelper,
         private http2: HttpClient) {
     }
 
@@ -37,22 +40,93 @@
                 data: {}
             }
         }
-        // console.log(this.calendarDayCells);
+        const startTime = this.getPeriodDate(new Date(),TimeUnits.DAY,'start');
+        const endTime = this.getPeriodDate(new Date(),TimeUnits.HOUR,'end');
+        this.http.get(
+            'demo/get-dayaqis',{
+                startTime: startTime,
+                endTime: endTime
+            }
+        ).subscribe(
+            (res: any[]) => {
+                if(!!res && res.length >0) {
+                    Object.keys(this.calendarDayCells).forEach(
+                        (key) => {
+                            const index = Number(key) -1;
+                            if(res.length > index){
+                             const data = res[index];
+                                 if(!!data) {
+                                    const aqiJson = JSON.parse(data.aqi_json);
+                                    const cell = this.calendarDayCells[key];
+                                    cell.data = aqiJson;
+                                    cell.statusName = aqiJson.quality;
+                                    switch(aqiJson.quality) {
+                                        case '���' : cell.status = 'success';break;
+                                        case '���' : cell.status = 'success';break;
+                                        case '������������' : cell.status = 'warning';break;
+                                        case '������������' : cell.status = 'warning';break;
+                                        case '������������' : cell.status = 'error';break;
+                                        default: cell.status = 'success';break;
+                                    }
+                                 }
+                            }
+                        }
+                    );
+                }
+            }
+        );
     }
-
+    private getPeriodDate(value: Date , timeUnit: TimeUnits,type?: 'start'|'end' ): Date {
+        let month = 0;
+        let day = 1;
+        let hour = 0;
+        let minute = 0;
+        let second = 0; 
+        let millisecond = 0;
+        if ('end' === type) {
+            month = 11;
+            day = 31;
+            hour = 23;
+            minute = 59;
+            second = 59;
+            millisecond = 999;
+        }
+        const mo = moment(value);
+        switch ( timeUnit ) {
+            case TimeUnits.MONTH:
+            mo.month(month).date(day).hour(hour).minute(minute).second(second).millisecond(millisecond); break;
+            case TimeUnits.DAY:
+            mo.date(day).hour(hour).minute(minute).second(second).millisecond(millisecond); break;
+            case TimeUnits.HOUR:
+            mo.hour(hour).minute(minute).second(second).millisecond(millisecond); break;
+            case TimeUnits.MINUTE:
+            mo.minute(minute).second(second).millisecond(millisecond); break;
+            // case TimeUnits.MINUTE:
+            // mo.second(second).millisecond(millisecond); break;
+        }
+        return mo.toDate();
+    }
     ngOnDestroy(): void {
     }
     // ��������������� ���������
     calendarClick(mo: moment.Moment) {
-        console.log(mo.format('DD'));
+        // console.log(mo.format('DD'));
+        const dayKey = mo.format('DD');
+        const selectedMoment = mo;
+        const dayData = this.calendarDayCells[dayKey];
+        if( !!dayData ) {
+            this.modalHelper.open( AqiDetailComponent, { dayData,selectedMoment }).subscribe(
+                res => {}
+            );
+        }
     }
     public isExpire(mo: moment.Moment):boolean {
-        //  console.log(moment().valueOf());
-        //  console.log(mo.valueOf());
-        //  console.log(moment().valueOf() < mo.valueOf());
          return moment().valueOf() < mo.valueOf();
     }
+    public isCellExist(mo: moment.Moment):boolean {
+         return !!this.calendarDayCells[mo.format('DD')];
+    }
     loadCalendar(event) {
-        console.log(event);
+        // console.log(event);
     }
 }
diff --git a/src/app/routes/statistics/statistics.module.ts b/src/app/routes/statistics/statistics.module.ts
index 1b617b1..05bed05 100644
--- a/src/app/routes/statistics/statistics.module.ts
+++ b/src/app/routes/statistics/statistics.module.ts
@@ -9,6 +9,7 @@
 import { CalendarComponent } from './calendar/calendar.component';
 import { MonitorpointComponent } from './monitorpoint/monitorpoint.component';
 import { NzCalendarModule } from 'ng-zorro-antd';
+import { AqiDetailComponent } from './calendar/aqi-detail/aqi-detail.component';
 
 const routes: Routes = [
   {
@@ -21,7 +22,9 @@
   }
 ];
 
-const COMPONENT_NOROUNT = [];
+const COMPONENT_NOROUNT = [
+  AqiDetailComponent,
+];
 
 @NgModule({
   imports: [
@@ -38,7 +41,7 @@
       ...COMPONENT_NOROUNT,
       AnalysisComponent,
       CalendarComponent,
-      MonitorpointComponent
+      MonitorpointComponent,
   ],
   entryComponents: COMPONENT_NOROUNT
 })
diff --git a/src/app/routes/systems/organization/organization-config/organization-config.component.ts b/src/app/routes/systems/organization/organization-config/organization-config.component.ts
index fe80593..e0827eb 100644
--- a/src/app/routes/systems/organization/organization-config/organization-config.component.ts
+++ b/src/app/routes/systems/organization/organization-config/organization-config.component.ts
@@ -64,7 +64,6 @@
       const alarmLevels = alarmConfigValue.alarmLevels;
       const alarmLevelsGroupsConfig = {};
       Object.keys(alarmLevels).forEach(key => {
-
         let increment = alarmLevels[key].increment;
         increment = increment == null || increment.length !== 3 ? [0, 0, 0] : increment;
         const incrementArray = this.formBuilder.array([
diff --git a/src/app/routes/systems/organization/organization-list/organization-list.component.ts b/src/app/routes/systems/organization/organization-list/organization-list.component.ts
index 3cce5b9..b9828f6 100644
--- a/src/app/routes/systems/organization/organization-list/organization-list.component.ts
+++ b/src/app/routes/systems/organization/organization-list/organization-list.component.ts
@@ -239,7 +239,6 @@
                         this.organizationService.handle = 'screen' ;
                         this.organizationService.data = row;
                         this.organizationService.config['resultBean'] = res;
-                        console.log(res);
                         this.organizationService.title = '������������������';
                       }
                    }
@@ -257,7 +256,6 @@
                   this.organizationService.handle = 'unit' ;
                   this.organizationService.data = row;
                   this.organizationService.config['resultBean'] = res;
-                  console.log(res);
                   this.organizationService.title = '������������������';
                 }
              }

--
Gitblit v1.8.0