## Why 系统中存在多处账单列表实现,各自使用不同的样式和交互方式。经过代码审查,发现只有 `calendarV2/modules/TransactionList.vue` 需要迁移,其他页面要么已使用 `BillListComponent`,要么不是账单列表。统一账单列表 UI 可以提供一致的用户体验和更好的可维护性。 ## What Changes - 将 `calendarV2/modules/TransactionList.vue` 的自定义账单列表替换为 `BillListComponent` 组件 - 保留日历视图的特殊功能:自定义 header (Items 计数) 和 Smart 按钮 - 移除自定义的数据格式转换逻辑和账单卡片渲染代码 - 简化代码从 403 行减少到 177 行 **备注**: 原设计文档中列出的其他 5 个页面经审查后: - `TransactionsRecord.vue` (balance页面): ✅ 已使用 `BillListComponent` - `EmailRecord.vue`: ✅ 已使用 `BillListComponent` - `MessageView.vue`: ❌ 系统消息列表,不是账单 - `PeriodicRecord.vue`: ❌ 周期性账单规则列表,不是交易账单 - `ClassificationEdit.vue`: ❌ 分类管理列表,不是账单 - `budgetV2/Index.vue`: ❌ 预算卡片列表,不是账单 ## Capabilities ### New Capabilities - `bill-list-unified-ui`: 统一的账单列表 UI 规范,定义所有账单列表页面必须遵循的视觉设计和交互模式 ### Modified Capabilities ## Impact **受影响的代码**: - `Web/src/views/calendarV2/modules/TransactionList.vue` (已完成迁移) **依赖组件**: - `Web/src/components/Bill/BillListComponent.vue` (已存在,无需修改) **API**: - 无 API 变更,仅前端 UI 统一 **用户体验影响**: - 正向影响:日历视图的账单列表与 /balance 页面保持一致 - UI 风格变化:从自定义卡片样式改为统一的 BillListComponent 样式 - 功能保留:自定义 header、Items 计数、Smart 按钮均已保留