[web-app]bugfix: filter is missing when alert-center pageSize change

This commit is contained in:
tomsun28
2022-04-16 22:11:40 +08:00
parent 7c54bf0203
commit 4f23631e19
5 changed files with 14 additions and 54 deletions

View File

@@ -54,7 +54,7 @@ export class HeaderNotifyComponent implements OnInit {
return; return;
} }
this.loading = true; this.loading = true;
let loadAlerts$ = this.alertSvc.searchAlerts(0, undefined, undefined, 0, 5).subscribe( let loadAlerts$ = this.alertSvc.loadAlerts(0, undefined, undefined, 0, 5).subscribe(
message => { message => {
loadAlerts$.unsubscribe(); loadAlerts$.unsubscribe();
if (message.code === 0) { if (message.code === 0) {

View File

@@ -30,7 +30,7 @@
<i nz-icon nzType="sync" nzTheme="outline"></i> <i nz-icon nzType="sync" nzTheme="outline"></i>
</button> </button>
<button style="margin-right: 25px; float: right" nz-button nzType="primary" (click)="onFilterSearchAlerts()"> <button style="margin-right: 25px; float: right" nz-button nzType="primary" (click)="loadAlertsTable()">
{{ 'common.search' | i18n }} {{ 'common.search' | i18n }}
</button> </button>
<input <input
@@ -39,7 +39,7 @@
type="text" type="text"
[placeholder]="'alert.center.search' | i18n" [placeholder]="'alert.center.search' | i18n"
nzSize="default" nzSize="default"
(keyup.enter)="onFilterSearchAlerts()" (keyup.enter)="loadAlertsTable()"
[(ngModel)]="filterContent" [(ngModel)]="filterContent"
/> />
<nz-select <nz-select

View File

@@ -36,40 +36,15 @@ export class AlertCenterComponent implements OnInit {
this.loadAlertsTable(); this.loadAlertsTable();
} }
onFilterSearchAlerts() {
this.tableLoading = true;
let filterAlerts$ = this.alertSvc
.searchAlerts(this.filterStatus, this.filterPriority, this.filterContent, this.pageIndex - 1, this.pageSize)
.subscribe(
message => {
filterAlerts$.unsubscribe();
this.tableLoading = false;
this.checkedAll = false;
this.checkedAlertIds.clear();
if (message.code === 0) {
let page = message.data;
this.alerts = page.content;
this.pageIndex = page.number + 1;
this.total = page.totalElements;
} else {
console.warn(message.msg);
}
},
error => {
this.tableLoading = false;
filterAlerts$.unsubscribe();
console.error(error.msg);
}
);
}
sync() { sync() {
this.loadAlertsTable(); this.loadAlertsTable();
} }
loadAlertsTable() { loadAlertsTable() {
this.tableLoading = true; this.tableLoading = true;
let alertsInit$ = this.alertSvc.getAlerts(this.pageIndex - 1, this.pageSize).subscribe( let alertsInit$ = this.alertSvc
.loadAlerts(this.filterStatus, this.filterPriority, this.filterContent, this.pageIndex - 1, this.pageSize)
.subscribe(
message => { message => {
this.tableLoading = false; this.tableLoading = false;
this.checkedAll = false; this.checkedAll = false;

View File

@@ -347,7 +347,7 @@ export class DashboardComponent implements OnInit, OnDestroy {
alertsDealLoading: boolean = true; alertsDealLoading: boolean = true;
refreshAlertContentList(): void { refreshAlertContentList(): void {
let alertsInit$ = this.alertSvc.getAlerts(0, 4).subscribe( let alertsInit$ = this.alertSvc.loadAlerts(undefined, undefined, undefined, 0, 4).subscribe(
message => { message => {
if (message.code === 0) { if (message.code === 0) {
let page = message.data; let page = message.data;

View File

@@ -16,22 +16,7 @@ const alerts_status_uri = '/alerts/status';
export class AlertService { export class AlertService {
constructor(private http: HttpClient) {} constructor(private http: HttpClient) {}
public getAlerts(pageIndex: number, pageSize: number): Observable<Message<Page<Alert>>> { public loadAlerts(
pageIndex = pageIndex ? pageIndex : 0;
pageSize = pageSize ? pageSize : 8;
// 注意HttpParams是不可变对象 需要保存set后返回的对象为最新对象
let httpParams = new HttpParams();
httpParams = httpParams.appendAll({
sort: 'id',
order: 'desc',
pageIndex: pageIndex,
pageSize: pageSize
});
const options = { params: httpParams };
return this.http.get<Message<Page<Alert>>>(alerts_uri, options);
}
public searchAlerts(
status: number | undefined, status: number | undefined,
priority: number | undefined, priority: number | undefined,
content: string | undefined, content: string | undefined,