From a3a8c23b196980732a795713a5eb5fe0c7075bf9 Mon Sep 17 00:00:00 2001 From: fengxiang <110431245@qq.com> Date: Wed, 11 Jul 2018 21:47:13 +0800 Subject: [PATCH] Revert "提交" --- src/app/routes/dashboard/monitor/monitor.component.ts | 99 +++++++++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 99 insertions(+), 0 deletions(-) diff --git a/src/app/routes/dashboard/monitor/monitor.component.ts b/src/app/routes/dashboard/monitor/monitor.component.ts new file mode 100644 index 0000000..ef25f13 --- /dev/null +++ b/src/app/routes/dashboard/monitor/monitor.component.ts @@ -0,0 +1,99 @@ +import { Component, OnInit, OnDestroy } from '@angular/core'; +import { NzMessageService } from 'ng-zorro-antd'; +import { zip } from 'rxjs'; +import { getTimeDistance, yuan } from '@delon/util'; +import { _HttpClient } from '@delon/theme'; + +@Component({ + selector: 'app-dashboard-monitor', + templateUrl: './monitor.component.html', + styleUrls: ['./monitor.component.less'], +}) +export class DashboardMonitorComponent implements OnInit, OnDestroy { + data: any = {}; + tags = []; + loading = true; + q: any = { + start: null, + end: null, + }; + + constructor(private http: _HttpClient, public msg: NzMessageService) {} + + ngOnInit() { + zip(this.http.get('/chart'), this.http.get('/chart/tags')).subscribe( + ([res, tags]: [any, any]) => { + this.data = res; + tags.list[ + Math.floor(Math.random() * tags.list.length) + 1 + ].value = 1000; + this.tags = tags.list; + this.loading = false; + }, + ); + + // active chart + this.genActiveData(); + this.activeTime$ = setInterval(() => this.genActiveData(), 1000); + } + + // region: active chart + + activeTime$: any; + + activeYAxis = { + tickCount: 3, + tickLine: false, + labels: false, + title: false, + line: false, + }; + + activeData: any[] = []; + + activeStat = { + max: 0, + min: 0, + t1: '', + t2: '', + }; + + genActiveData() { + const activeData = []; + for (let i = 0; i < 24; i += 1) { + activeData.push({ + x: `${i.toString().padStart(2, '0')}:00`, + y: i * 50 + Math.floor(Math.random() * 200), + }); + } + this.activeData = activeData; + // stat + this.activeStat.max = [...activeData].sort()[activeData.length - 1].y + 200; + this.activeStat.min = [...activeData].sort()[ + Math.floor(activeData.length / 2) + ].y; + this.activeStat.t1 = activeData[Math.floor(activeData.length / 2)].x; + this.activeStat.t2 = activeData[activeData.length - 1].x; + } + + // endregion + + couponFormat(val: any) { + switch (parseInt(val, 10)) { + case 20: + return '���'; + case 40: + return '���'; + case 60: + return '���'; + case 80: + return '���'; + default: + return ''; + } + } + + ngOnDestroy(): void { + if (this.activeTime$) clearInterval(this.activeTime$); + } +} -- Gitblit v1.8.0