Files

61 lines
2.9 KiB
Markdown
Raw Permalink Normal View History

2026-02-20 13:56:29 +08:00
## 1. 创建 PopupContainerV2.vue 组件
- [x] 1.1 创建文件 `Web/src/components/PopupContainerV2.vue`
- [x] 1.2 实现基础结构(基于 van-popup16px 圆角,#ffffff / #18181b 背景)
- [x] 1.3 实现固定头部区域(标题 + 关闭按钮Inter 18px font-weight 600
- [x] 1.4 实现可滚动内容区域default 插槽flex: 1, overflow-y: auto
- [x] 1.5 实现固定底部区域footer 插槽border-top 分隔线)
- [x] 1.6 实现暗色模式支持(@media prefers-color-scheme: dark
- [x] 1.7 添加组件文档注释(说明 API、使用示例、与 v1 的区别)
## 2. 重构 TransactionDetailSheet.vue 使用 PopupContainerV2
- [x] 2.1 引入 PopupContainerV2 组件
- [x] 2.2 将 van-popup 替换为 PopupContainerV2
- [x] 2.3 移除自定义 `.sheet-header` 头部区域(使用 PopupContainerV2 的 title prop
- [x] 2.4 将金额区域、表单区域、分类选择器保留在 default 插槽中
- [x] 2.5 将操作按钮区域(删除、保存)移入 PopupContainerV2 的 `#footer` 插槽
- [x] 2.6 移除 handleClose 方法PopupContainerV2 自动处理)
## 3. 调整 TransactionDetailSheet 样式
- [x] 3.1 移除 `.transaction-detail-sheet` 外层容器样式
- [x] 3.2 调整各内容区域的 padding金额区域、表单区域、分类选择器
- [x] 3.3 移除 `.sheet-header` 相关样式
- [x] 3.4 调整暗色模式样式(移除已由 PopupContainerV2 处理的部分)
## 4. 功能验证
- [x] 4.1 测试弹窗打开/关闭功能
- [x] 4.2 测试金额编辑功能(点击进入编辑模式、输入、失焦格式化)
- [x] 4.3 测试日期时间选择功能(弹出选择器、确认更新)
- [x] 4.4 测试类型切换功能(支出/收入/不计)
- [x] 4.5 测试分类选择功能(展开选择器、选择分类、自动保存)
- [x] 4.6 测试备注输入功能
- [x] 4.7 测试保存功能验证、API 调用、成功提示)
- [x] 4.8 测试删除功能确认对话框、API 调用、成功提示)
## 5. 布局验证
- [x] 5.1 验证头部标题固定不滚动
- [x] 5.2 验证底部操作按钮固定不滚动
- [x] 5.3 验证内容区域可独立滚动
- [x] 5.4 验证分类选择器展开后的滚动体验
- [x] 5.5 验证不同内容长度下的布局表现
- [x] 5.6 验证弹窗圆角为 16px
- [x] 5.7 验证标题字体为 Inter 18px font-weight 600
## 6. 兼容性验证
- [x] 6.1 验证 Props 接口不变show, transaction
- [x] 6.2 验证 Events 接口不变update:show, save, delete
- [x] 6.3 验证调用方无需修改代码
- [x] 6.4 测试日期选择器弹窗的 z-index 层级(确保在 PopupContainerV2 之上)
- [x] 6.5 验证暗色模式下的样式表现
## 7. 清理和文档
- [x] 7.1 移除不再使用的代码和注释
- [x] 7.2 确保代码符合项目 ESLint 规范(`pnpm lint`
- [x] 7.3 在本地运行前端项目验证无报错(`pnpm build`