doExport(){ this.exprotLoading = true; let params = {} this.preChangeRankService .getPreInvestRankingExport(params).subscribe(res=>{ this.downloadService.download(res, '预投入转化排名'); this.exprotLoading = false; }) }
时间: 2023-05-18 16:02:56 浏览: 40
这段代码是一个Angular组件中的一个方法,它通过调用preChangeRankService服务的getPreInvestRankingExport方法来获取数据,并通过downloadService服务下载数据。在下载数据之前,将exprotLoading设置为true,下载完成后将其设置为false。
相关问题
帮我分析以下这段代码 save(): void { this.isSaving = true; const salesOrder = this.createFromForm(); this.currentOrder = salesOrder; this.salesOrderService .query({ 'serialNum.equals': salesOrder.serialNum, }) .subscribe({ next: (res: HttpResponse<ISalesOrder[]>) => { if (salesOrder.id) { if (res.body && res.body.length === 1 && res.body[0].id === salesOrder.id) { this.subscribeToSaveResponse(this.salesOrderService.update(salesOrder)); } else { this.flag = true; } } else { if (res.body && res.body.length > 0) { this.flag = true; } else { this.subscribeToSaveResponse(this.salesOrderService.create(salesOrder)); } } }, }); }
这段代码是一个 Angular 组件中的方法 `save()`,具体功能是保存销售订单。我将逐行解释代码的作用:
```
save(): void {
this.isSaving = true; // 设置正在保存的标志为 true
const salesOrder = this.createFromForm(); // 从表单创建销售订单实体
this.currentOrder = salesOrder; // 将当前订单设置为刚创建的订单
// 查询与新订单序列号相同的订单
this.salesOrderService
.query({
'serialNum.equals': salesOrder.serialNum,
})
.subscribe({
next: (res: HttpResponse<ISalesOrder[]>) => {
if (salesOrder.id) { // 如果订单已存在
if (res.body && res.body.length === 1 && res.body[0].id === salesOrder.id) { // 如果查询到的订单与当前订单 ID 相同
this.subscribeToSaveResponse(this.salesOrderService.update(salesOrder)); // 更新订单
} else { // 否则标记已存在相同序列号的订单
this.flag = true;
}
} else { // 如果订单不存在
if (res.body && res.body.length > 0) { // 如果查询到的订单数量大于 0
this.flag = true; // 标记已存在相同序列号的订单
} else { // 否则创建新订单
this.subscribeToSaveResponse(this.salesOrderService.create(salesOrder));
}
}
},
});
}
```
总体来说,这段代码的功能是查询是否存在与当前销售订单相同序列号的订单,如果存在则更新订单,否则创建新订单。如果查询到的订单数量大于 0,则标记已存在相同序列号的订单。如果查询到的订单数量等于 1 并且订单 ID 与当前订单相同,则更新订单,否则标记已存在相同序列号的订单。
以下三个方法已经取出了我想要的对应的数据现在想要对这些数据分别进行分页处理我应该怎么修改代码 loadAll(): void { this.approvalRecordService.queryAuditing().subscribe((res: HttpResponse<IApprovalRecord[]>) => { this.auditingApprovalRecords = res.body ?? []; }); this.approvalRecordService.queryCreated().subscribe((res: HttpResponse<IApprovalRecord[]>) => { this.createdApprovalRecords = res.body ?? []; }); this.approvalRecordService.queryAudited().subscribe((res: HttpResponse<IApprovalRecord[]>) => { this.auditedApprovalRecords = res.body ?? []; }); }
你可以使用 Angular Material 提供的 `MatPaginator` 组件来实现分页。具体实现步骤如下:
1. 在组件的 HTML 模板中,添加 `MatPaginator` 组件。例如:
```html
<mat-paginator [length]="auditingApprovalRecords.length" [pageSize]="pageSize" [pageSizeOptions]="pageSizeOptions" (page)="onAuditingPageChange($event)">
</mat-paginator>
```
其中,`length` 表示数据总数,`pageSize` 表示每页显示的数据条数,`pageSizeOptions` 表示用户可选的每页数据条数选项,`page` 事件表示当用户点击页码时的回调函数。
2. 在组件的 TypeScript 文件中,定义相应的属性和方法。例如:
```typescript
import { Component, OnInit, ViewChild } from '@angular/core';
import { MatPaginator } from '@angular/material/paginator';
import { IApprovalRecord } from 'app/shared/model/approval-record.model';
import { ApprovalRecordService } from 'app/entities/approval-record/approval-record.service';
@Component({
selector: 'jhi-approval-record',
templateUrl: './approval-record.component.html',
})
export class ApprovalRecordComponent implements OnInit {
@ViewChild(MatPaginator) paginator!: MatPaginator;
auditingApprovalRecords: IApprovalRecord[] = [];
createdApprovalRecords: IApprovalRecord[] = [];
auditedApprovalRecords: IApprovalRecord[] = [];
pageSize = 10;
pageSizeOptions: number[] = [5, 10, 20];
constructor(private approvalRecordService: ApprovalRecordService) {}
ngOnInit(): void {
this.loadAll();
}
loadAll(): void {
this.approvalRecordService.queryAuditing().subscribe((res: HttpResponse<IApprovalRecord[]>) => {
this.auditingApprovalRecords = res.body ?? [];
this.auditingApprovalRecords.paginator = this.paginator; // 绑定分页组件
});
this.approvalRecordService.queryCreated().subscribe((res: HttpResponse<IApprovalRecord[]>) => {
this.createdApprovalRecords = res.body ?? [];
this.createdApprovalRecords.paginator = this.paginator; // 绑定分页组件
});
this.approvalRecordService.queryAudited().subscribe((res: HttpResponse<IApprovalRecord[]>) => {
this.auditedApprovalRecords = res.body ?? [];
this.auditedApprovalRecords.paginator = this.paginator; // 绑定分页组件
});
}
onAuditingPageChange(event: any): void {
this.auditingApprovalRecords.paginator = this.paginator;
}
onCreatedPageChange(event: any): void {
this.createdApprovalRecords.paginator = this.paginator;
}
onAuditedPageChange(event: any): void {
this.auditedApprovalRecords.paginator = this.paginator;
}
}
```
其中,`@ViewChild(MatPaginator) paginator!: MatPaginator` 表示获取 `MatPaginator` 组件的实例。在 `loadAll()` 方法中,将获取到的数据绑定到 `MatPaginator` 组件上。分别定义了三个回调函数 `onAuditingPageChange`、`onCreatedPageChange` 和 `onAuditedPageChange`,用来处理分页变化事件。
注意:在绑定分页组件时,需要先将获取到的数据赋值给对应的属性,再将属性绑定到分页组件上。