## 1. 类型、接口与常量 - [ ] 1.1 新增记录查询类型(采集成功/失败记录、卡日流量、套餐日流量详单、冲正流水、后处理尝试记录、`traffic_refresh`) - [ ] 1.2 `types/api/refund.ts`:`Refund` 增加 `asset_post_status`、`asset_post_attempts`、`asset_post_last_error`、`asset_post_next_at`;`RefundQueryParams` 增加 `asset_post_status` - [ ] 1.3 新增 `api/modules/trafficRecords.ts`(6 个全局查询接口),在 `api/modules/index.ts` 导出 - [ ] 1.4 `api/modules/asset.ts` 增加资产采集记录、套餐冲正查询与提交;`AssetRefreshResponse` 增加 `traffic_refresh` - [ ] 1.5 `api/modules/refund.ts` 增加人工重试接口 - [ ] 1.6 新增 `config/constants/trafficRecords.ts`:权限码(design D3)、枚举中文名(D5)、31 天跨度校验工具 ## 2. 可复用记录组件 - [ ] 2.1 原始数据展开组件:格式化 JSON、截断标注、复制 - [ ] 2.2 `TrafficCollectionRecords.vue`(成功 / 失败两种模式,支持固定 identifier、include_failures) - [ ] 2.3 `CardDailyUsages.vue` - [ ] 2.4 `PackageUsageDailyRecords.vue` - [ ] 2.5 `PackageTrafficAdjustments.vue`(支持固定 identifier + package_usage_id) - [ ] 2.6 `RefundPostProcessAttempts.vue`(支持固定 refund_id,时间范围必填) - [ ] 2.7 组件统一处理:默认时间范围、31 天校验、非平台账号必须填资产标识、分页 ## 3. 页面与路由 - [ ] 3.1 新增 5 个记录查询页(资产管理 → 记录管理)与退款后处理尝试记录页(财务管理),注册 `routesAlias.ts` 与 `asyncRoutes.ts`,配置 `meta.permissions` - [ ] 3.2 菜单多语言文案(`locales`) ## 4. 资产详情 - [ ] 4.1 `BasicInfoCard` 为卡与设备绑定卡增加"采集记录"按钮(权限 + 非企业账号),弹窗嵌入 `TrafficCollectionRecords` - [ ] 4.2 `PackageListCard` 每笔套餐增加"冲正记录",弹窗嵌入 `PackageTrafficAdjustments` - [ ] 4.3 新增人工冲正弹窗:方向 + 正整数 MB + 原因必填 + 选填关联 ID;二次确认展示预计结果;退回不得小于 0;提交防重复;成功后刷新套餐列表 - [ ] 4.4 (可选)同步成功后展示 `traffic_refresh` 入账结果 ## 5. 退款 - [ ] 5.1 退款列表增加后处理状态列与筛选项 - [ ] 5.2 退款详情增加后处理状态、尝试次数(/10)、最后错误、下次重试时间 - [ ] 5.3 列表操作列与详情增加"人工重试"(需人工处理 + 平台账号 + 权限),二次确认、防重复,成功替换数据、失败显示错误并重新加载 - [ ] 5.4 退款详情增加"后处理尝试记录"入口,按退款单 ID 打开尝试记录 ## 6. 验证与发布 - [ ] 6.1 `vue-tsc --noEmit` 与 `build:development` 通过 - [ ] 6.2 整理 D3 权限码清单给后端,在测试库 `tb_permission` 补数据并分配测试角色 - [ ] 6.3 超级管理员验证:6 个列表页筛选与原始数据、资产详情采集记录、冲正记录与人工冲正、退款后处理展示与筛选、人工重试 - [ ] 6.4 普通运营账号验证菜单与按钮权限;代理账号验证必须填资产标识、看不到人工重试 - [ ] 6.5 人工冲正、人工重试后确认停复机调用被网关只读拦截(worker 日志),不以上游卡状态为准 - [ ] 6.6 推送 `iteration/8-11` 部署测试环境(先 `docker login registry.boss160.cn`,时间由你安排)