实现售后审核功能,包括创建审核对话框、实现同意/拒绝退款逻辑、状态更新和成功提示。
文件: src/app/pages/refunds/components/review-modal/review-modal.component.ts
功能特性:
核心方法:
- selectApprove(): 选择同意退款
- selectReject(): 选择拒绝退款
- submit(): 提交审核决定
- close(): 关闭对话框
文件: src/app/pages/refunds/components/review-modal/review-modal.component.html
UI 结构:
文件: src/app/pages/refunds/components/review-modal/review-modal.component.scss
样式特点:
更新文件: src/app/pages/refunds/refund-list/refund-list.component.ts
新增功能:
// 打开审核模态框
openReviewModal(refund: Refund): void
// 处理审核结果
private handleReviewResult(refund: Refund, result: ReviewResult): void
// 同意退款
private approveRefund(refundNo: string): void
// 拒绝退款
private rejectRefund(refundNo: string, reason: string): void
流程:
更新文件: src/app/pages/refunds/refund-list/refund-list.component.html
变更:
(click)="openReviewModal(refund)"文件:
src/app/pages/refunds/components/review-modal/review-modal.component.spec.tssrc/app/pages/refunds/refund-list/refund-list.component.spec.ts(更新)测试覆盖:
✅ 实现:
selectApprove() 方法设置 action 为 'approve'approveRefund() 调用 MockRefundService.approveRefund()✅ 实现:
selectReject() 方法设置 action 为 'reject'rejectRefund() 调用 MockRefundService.rejectRefund(refundNo, reason)✅ 实现:
loadRefunds() 刷新列表// 条件验证:只有选择拒绝时才验证原因
this.reviewForm.get('action')?.valueChanges.subscribe(action => {
const rejectReasonControl = this.reviewForm.get('rejectReason');
if (action === 'reject') {
rejectReasonControl?.setValidators([
Validators.required,
Validators.minLength(5),
Validators.maxLength(200)
]);
} else {
rejectReasonControl?.clearValidators();
}
rejectReasonControl?.updateValueAndValidity();
});
// 打开对话框
const dialogRef = this.dialog.open(ReviewModalComponent, {
width: '700px',
maxWidth: '90vw',
data: { refund },
disableClose: false
});
// 接收结果
dialogRef.afterClosed().subscribe((result: ReviewResult | undefined) => {
if (result) {
this.handleReviewResult(refund, result);
}
});
src/app/pages/refunds/components/review-modal/review-modal.component.tssrc/app/pages/refunds/components/review-modal/review-modal.component.htmlsrc/app/pages/refunds/components/review-modal/review-modal.component.scsssrc/app/pages/refunds/components/review-modal/review-modal.component.spec.tssrc/app/pages/refunds/refund-list/refund-list.component.tssrc/app/pages/refunds/refund-list/refund-list.component.htmlsrc/app/pages/refunds/refund-list/refund-list.component.spec.ts任务 11.3 已成功完成,实现了完整的售后审核功能:
所有需求(Requirements 15.1-15.3)均已满足,代码质量良好,具有完整的单元测试覆盖。