[web-app] dashboard模拟数据展示
This commit is contained in:
@@ -4,6 +4,7 @@ import com.usthe.manager.pojo.entity.Param;
|
|||||||
import org.springframework.data.jpa.repository.JpaRepository;
|
import org.springframework.data.jpa.repository.JpaRepository;
|
||||||
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
import java.util.Set;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* ParamDao 数据库操作
|
* ParamDao 数据库操作
|
||||||
@@ -24,4 +25,10 @@ public interface ParamDao extends JpaRepository<Param, Long> {
|
|||||||
* @param monitorId 监控ID
|
* @param monitorId 监控ID
|
||||||
*/
|
*/
|
||||||
void deleteParamsByMonitorId(long monitorId);
|
void deleteParamsByMonitorId(long monitorId);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 根据监控ID列表删除与之关联的参数列表
|
||||||
|
* @param monitorIds 监控ID列表
|
||||||
|
*/
|
||||||
|
void deleteParamsByMonitorIdIn(Set<Long> monitorIds);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1 +1,27 @@
|
|||||||
<page-header></page-header>
|
|
||||||
|
<div nz-row [nzGutter]="24" class="pt-lg">
|
||||||
|
<div nz-col nzXs="24" nzSm="24" nzMd="24" nzLg="18">
|
||||||
|
<!-- <button nz-button (click)="refresh()" nzType="primary">监控分布</button>-->
|
||||||
|
<nz-card nzTitle="在网监控" class="pie-card">
|
||||||
|
<g2-pie
|
||||||
|
#pie
|
||||||
|
[hasLegend]="true"
|
||||||
|
title="在网监控数量"
|
||||||
|
subTitle="监控数量"
|
||||||
|
[total]="433"
|
||||||
|
[valueFormat]="format"
|
||||||
|
[data]="salesPieData"
|
||||||
|
height="294"
|
||||||
|
repaint="false"
|
||||||
|
(clickItem)="handleClick($event)"
|
||||||
|
></g2-pie>
|
||||||
|
</nz-card>
|
||||||
|
</div>
|
||||||
|
<div nz-col nzXs="24" nzSm="24" nzMd="12" nzLg="6">
|
||||||
|
<nz-card nzTitle="监控资源使用情况" class="pie-card">
|
||||||
|
<div class="text-center">
|
||||||
|
<g2-water-wave [title]="'已监控License占比'" [percent]="34" [height]="161"></g2-water-wave>
|
||||||
|
</div>
|
||||||
|
</nz-card>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|||||||
@@ -1,4 +1,6 @@
|
|||||||
import { ChangeDetectionStrategy, Component } from '@angular/core';
|
import {ChangeDetectionStrategy, Component, ViewChild} from '@angular/core';
|
||||||
|
import {NzMessageService} from "ng-zorro-antd/message";
|
||||||
|
import {G2PieClickItem, G2PieComponent, G2PieData} from "@delon/chart/pie";
|
||||||
|
|
||||||
@Component({
|
@Component({
|
||||||
selector: 'app-dashboard',
|
selector: 'app-dashboard',
|
||||||
@@ -6,4 +8,55 @@ import { ChangeDetectionStrategy, Component } from '@angular/core';
|
|||||||
styleUrls: ['./dashboard.component.less'],
|
styleUrls: ['./dashboard.component.less'],
|
||||||
changeDetection: ChangeDetectionStrategy.OnPush
|
changeDetection: ChangeDetectionStrategy.OnPush
|
||||||
})
|
})
|
||||||
export class DashboardComponent {}
|
export class DashboardComponent {
|
||||||
|
|
||||||
|
@ViewChild('pie', { static: false }) readonly pie!: G2PieComponent;
|
||||||
|
salesPieData: G2PieData[] = [];
|
||||||
|
total = '';
|
||||||
|
|
||||||
|
constructor(private msg: NzMessageService){}
|
||||||
|
|
||||||
|
ngOnInit(): void {
|
||||||
|
this.refresh();
|
||||||
|
}
|
||||||
|
|
||||||
|
refresh(): void {
|
||||||
|
const rv = (min: number = 0, max: number = 5000) => Math.floor(Math.random() * (max - min + 1) + min);
|
||||||
|
this.salesPieData = [
|
||||||
|
{
|
||||||
|
x: '应用服务',
|
||||||
|
y: rv(),
|
||||||
|
},
|
||||||
|
{
|
||||||
|
x: '数据库',
|
||||||
|
y: rv(),
|
||||||
|
},
|
||||||
|
{
|
||||||
|
x: '中间件',
|
||||||
|
y: rv(),
|
||||||
|
},
|
||||||
|
{
|
||||||
|
x: '自定义',
|
||||||
|
y: rv(),
|
||||||
|
},
|
||||||
|
{
|
||||||
|
x: '其它',
|
||||||
|
y: rv(),
|
||||||
|
},
|
||||||
|
];
|
||||||
|
this.total = `${this.salesPieData.reduce((pre, now) => now.y + pre, 0).toFixed(2)}`;
|
||||||
|
if (this.pie) {
|
||||||
|
// 等待组件渲染
|
||||||
|
setTimeout(() => this.pie.changeData());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
format(val: number): string {
|
||||||
|
return `${val.toFixed()}`;
|
||||||
|
}
|
||||||
|
|
||||||
|
handleClick(data: G2PieClickItem): void {
|
||||||
|
this.msg.info(`${data.item.x} - ${data.item.y}`);
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|||||||
@@ -5,6 +5,7 @@ import {Monitor} from "../../../pojo/Monitor";
|
|||||||
import {Page} from "../../../pojo/Page";
|
import {Page} from "../../../pojo/Page";
|
||||||
import {NzModalService} from "ng-zorro-antd/modal";
|
import {NzModalService} from "ng-zorro-antd/modal";
|
||||||
import {NzNotificationService} from "ng-zorro-antd/notification";
|
import {NzNotificationService} from "ng-zorro-antd/notification";
|
||||||
|
import {NzMessageService} from "ng-zorro-antd/message";
|
||||||
|
|
||||||
@Component({
|
@Component({
|
||||||
selector: 'app-monitor-list',
|
selector: 'app-monitor-list',
|
||||||
@@ -18,6 +19,7 @@ export class MonitorListComponent implements OnInit {
|
|||||||
private router: Router,
|
private router: Router,
|
||||||
private modal: NzModalService,
|
private modal: NzModalService,
|
||||||
private notifySvc: NzNotificationService,
|
private notifySvc: NzNotificationService,
|
||||||
|
private msg: NzMessageService,
|
||||||
private monitorSvc: MonitorService) { }
|
private monitorSvc: MonitorService) { }
|
||||||
|
|
||||||
app!: string;
|
app!: string;
|
||||||
|
|||||||
@@ -1,5 +1,7 @@
|
|||||||
import { NgModule, Type } from '@angular/core';
|
import { NgModule, Type } from '@angular/core';
|
||||||
import { SharedModule } from '@shared';
|
import { SharedModule } from '@shared';
|
||||||
|
import {G2PieModule} from "@delon/chart/pie";
|
||||||
|
import {G2WaterWaveModule} from "@delon/chart/water-wave";
|
||||||
// dashboard pages
|
// dashboard pages
|
||||||
import { DashboardComponent } from './dashboard/dashboard.component';
|
import { DashboardComponent } from './dashboard/dashboard.component';
|
||||||
// single pages
|
// single pages
|
||||||
@@ -23,7 +25,7 @@ const COMPONENTS: Array<Type<void>> = [
|
|||||||
];
|
];
|
||||||
|
|
||||||
@NgModule({
|
@NgModule({
|
||||||
imports: [SharedModule, RouteRoutingModule],
|
imports: [SharedModule, RouteRoutingModule, G2PieModule, G2WaterWaveModule],
|
||||||
declarations: COMPONENTS,
|
declarations: COMPONENTS,
|
||||||
})
|
})
|
||||||
export class RoutesModule {}
|
export class RoutesModule {}
|
||||||
|
|||||||
Reference in New Issue
Block a user