本次更新为项目详情页的售后板块中的投诉处理模块实现了两个核心功能:
文件路径:src/app/shared/components/complaint-card/complaint-card.ts
// 详情弹窗状态
showDetailModal = signal<boolean>(false);
selectedComplaint = signal<ComplaintItem | null>(null);
// 添加标签弹窗状态
showTagModal = signal<boolean>(false);
tagModalComplaint = signal<ComplaintItem | null>(null);
newTagInput = signal<string>('');
// 预设标签列表
presetTags = [
'质量问题', '服务态度', '延期交付', '沟通不畅',
'设计不满', '价格争议', '技术问题', '售后服务',
'紧急处理', '重要客户', '需要跟进', '已协商'
];
// 查看详情相关
viewDetails(complaint: ComplaintItem): void
closeDetailModal(): void
// 添加标签相关
addComplaintTag(complaint: ComplaintItem, tag?: string): void
closeTagModal(): void
selectPresetTag(tag: string): void
addCustomTag(): void
removeTag(complaint: ComplaintItem, tag: string): void
文件路径:src/app/shared/components/complaint-card/complaint-card.html
文件路径:src/app/shared/components/complaint-card/complaint-card.scss
使用 Angular Signals 进行响应式状态管理:
signal<boolean>
管理弹窗显示状态signal<ComplaintItem | null>
管理选中的投诉项signal<string>
管理输入框内容@if
)控制弹窗显示@for
)展示标签和图片(click)
事件处理按钮点击$event.stopPropagation()
阻止事件冒泡(keyup.enter)
支持回车键提交用户点击"查看详情"按钮
↓
调用 viewDetails(complaint)
↓
设置 selectedComplaint 和 showDetailModal
↓
显示详情弹窗
↓
用户查看信息 / 添加标签 / 删除标签
↓
点击关闭或遮罩层
↓
调用 closeDetailModal()
↓
关闭弹窗
用户点击"添加标签"按钮
↓
调用 addComplaintTag(complaint)
↓
设置 tagModalComplaint 和 showTagModal
↓
显示标签弹窗
↓
用户选择预设标签 / 输入自定义标签
↓
调用 selectPresetTag() / addCustomTag()
↓
标签添加到投诉项
↓
点击完成
↓
调用 closeTagModal()
↓
关闭弹窗
本次实现完整地为投诉处理模块添加了"查看详情"和"添加标签"两个核心功能,提供了:
所有功能已经过测试,无 linting 错误,可以直接投入使用。
实现日期:2025-10-14 实现人员:AI Assistant 状态:✅ 已完成