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> <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}} ������������</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 }} <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 }} <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 }} <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 }} <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 }} <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 }} <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