Files
EmailBill/openspec/changes/archive/2026-02-19-unify-bill-list-ui/proposal.md
SunCheng 6922dff5a9
All checks were successful
Docker Build & Deploy / Build Docker Image (push) Successful in 17s
Docker Build & Deploy / Deploy to Production (push) Successful in 7s
Docker Build & Deploy / Cleanup Dangling Images (push) Successful in 1s
Docker Build & Deploy / WeChat Notification (push) Successful in 2s
archive: unify-bill-list-ui (2026-02-19)
变更已完成并归档:
- 迁移 calendarV2/TransactionList.vue 使用 BillListComponent
- 代码从 403 行简化到 177 行
- 添加左滑删除功能
- Delta spec 已同步到主 specs

提交记录:
- f8e6029: refactor(calendar-v2): migrate TransactionList to BillListComponent
- 4fd190f: fix(calendar-v2): remove left/right padding
- 1ba446f: feat(calendar-v2): add delete functionality
- d324769: specs: sync bill-list-unified-ui
2026-02-19 22:08:10 +08:00

43 lines
1.8 KiB
Markdown

## 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
<!-- 无现有能力需要修改 requirements -->
## Impact
**受影响的代码**:
- `Web/src/views/calendarV2/modules/TransactionList.vue` (已完成迁移)
**依赖组件**:
- `Web/src/components/Bill/BillListComponent.vue` (已存在,无需修改)
**API**:
- 无 API 变更,仅前端 UI 统一
**用户体验影响**:
- 正向影响:日历视图的账单列表与 /balance 页面保持一致
- UI 风格变化:从自定义卡片样式改为统一的 BillListComponent 样式
- 功能保留:自定义 header、Items 计数、Smart 按钮均已保留