## Context 当前 EmailBill 项目中存在两个 `TransactionList.vue` 实现: 1. **旧版**(`Web/src/components/TransactionList.vue`):传统一行一卡片布局,功能完整但样式较旧 2. **v2 版**(`Web/src/views/calendarV2/modules/TransactionList.vue`):现代卡片式设计,视觉层次更好 两个组件分别服务不同页面,导致: - 代码重复(格式化、API 调用、交互逻辑) - 样式不一致(用户体验割裂) - 维护成本高(修改需同步两处) **技术栈约束:** - Vue 3 Composition API + `