2.0 KiB
2.0 KiB
车辆充值模块恢复「加油」类型 — 设计文档
日期: 2026-09-26
状态: 已批准(方案 B)
前置:docs/superpowers/specs/2026-09-12-pl-vehicle-recharge-etc-only-design.md(曾收窄为仅 ETC)
界面模式: 沿用既有申请列表 + 发放看板;仅恢复充值类型枚举与读/写范围
背景与目标
2026-09-12 将「ETC充值申请 / ETC充值发放登记」收窄为仅 etc,历史 fuel 留库不展示。
业务澄清后:
| 业务 | 含义 | 模块 |
|---|---|---|
| 加油充值申请 | 给司机加油卡充值 | 本模块(与 ETC 共用) |
| 加油登记 | 司机用卡加油后登记 | vehicle-fuel-register(独立,本次不动) |
顺序:先加油充值,后加油登记。二者并存。
目标:在本模块恢复充值类型 etc | fuel(方案 B)。
已确认规则
| # | 规则 | 决策 |
|---|---|---|
| D1 | 类型枚举 | 恢复 etc(ETC)、fuel(加油) |
| D2 | 列表范围 | 取消「强制仅 etc」过滤;历史 fuel 重新可见 |
| D3 | 加油登记 | 不改菜单、表、接口 |
| D4 | 菜单名 | 「ETC/加油充值申请」「ETC/加油充值发放登记」 |
| D5 | 字典 | 重新启用 PL_RECHARGE_TYPE_FUEL(del_flag=0) |
| D6 | 表结构 / API path / 权限码 | 不变 |
非目标
- 改菜单名、拆独立加油充值菜单
- 迁移/清洗历史数据
- 改加油登记模块
- 审批流、小程序
实现要点
后端
RECHARGE_TYPES = {"etc", "fuel"};校验文案改为非法类型提示- 删除
MODULE_RECHARGE_TYPE及所有强制recharge_type == etc过滤(含申请/发放 get、列表、看板、pending-options、菜单角标) - 测试:由「拒 fuel」改为「接受 etc + fuel」
前端
- 表单下拉、列头漏斗增加「加油」
- 类型展示沿用
getPlRechargeTypeLabel(已支持 fuel)
数据
- 新增迁移 SQL:恢复字典「加油」;不改菜单名