docs: correct frontend slot acceptance for #5245 #33
@ -6,13 +6,13 @@ consumer: "admin"
|
||||
change_type: "修改接口"
|
||||
backend_status: "deployed"
|
||||
gateway_status: "verified"
|
||||
frontend_status: "implemented"
|
||||
frontend_status: "claimed"
|
||||
frontend_owner: "hl-ui-codex"
|
||||
frontend_ref: "mmg/hl-ui@9f29b1eef42f48e98431caab67cc8a776541be3f"
|
||||
frontend_ref: ""
|
||||
target_release: ""
|
||||
verified_at: ""
|
||||
status_note: "后端已通过 PR #5249/#5250 合并、部署并完成网关验证;前端已实现多车多司机消费,待发布及页面验证。"
|
||||
updated_at: "2026-07-25T10:21:57.332Z"
|
||||
status_note: "后端已部署并完成网关验证;用户验收发现排车页缺少新增车辆槽位入口,前端已退回 claimed 继续修复。"
|
||||
updated_at: "2026-07-25"
|
||||
base: "dev-v3"
|
||||
---
|
||||
|
||||
@ -36,6 +36,8 @@ base: "dev-v3"
|
||||
active 派车组时继续返回 `605308`。
|
||||
- 批量派单和详情多司机字段是既有契约,本次明确前端消费口径:一次提交 `items[]`,详情展示
|
||||
`activeAssignments[]`,不得只处理兼容代表字段 `currentAssignment`。
|
||||
- 排车页必须提供“+ 添加车辆槽位”入口。新增槽位不是替换“车辆槽位 1”,而是追加一个可独立
|
||||
选择车辆和司机的草稿槽位;多个槽位统一映射为批量派单 `items[]`。
|
||||
|
||||
## 变更接口
|
||||
|
||||
@ -123,6 +125,12 @@ items:
|
||||
- `fleetItemIndex` 从 0 开始,对应需求展开后的稳定车辆槽位。
|
||||
- `vehicleId`、`driverId` 必填;雪花 ID 全程按字符串处理。
|
||||
- `protocolPrice`、`messageTemplateId`、`customBody`、`confirmCrossResident` 是单槽位可选字段。
|
||||
- 前端维护可编辑槽位列表。初始槽位来自当前有效派车组或订单用车需求;点击
|
||||
“+ 添加车辆槽位”后追加一个空白草稿槽位,不得覆盖或复用既有槽位。
|
||||
- 每个草稿槽位独立选择一辆车和一名司机;未提交的新槽位允许删除,已有
|
||||
`holding` / `assigned` 槽位不得被“删除草稿”操作静默撤销。
|
||||
- 进入下一步前校验所有可提交槽位均已选择车辆和司机,并为每个槽位生成唯一
|
||||
`fleetItemIndex`。页面可见槽位数必须等于本次提交的 `items[]` 数量。
|
||||
- 不得为每辆车循环调用单条 `POST /admin/fleet/assignments` 代替批量接口。
|
||||
- 批量响应按 `data.assignments[].assignment.assignmentGroupId` 返回各槽位派车组 ID;
|
||||
前端逐项调用模板预览时传入对应 `assignmentGroupId`,不得只预览代表项。
|
||||
@ -155,13 +163,20 @@ GET /admin/fleet/board/orders/<orderId>
|
||||
| 通知预览传入有效派车组 | `assignmentGroupId` + `renderedBody` 中的 `itinerary.url` | 即时创建或复用并展示稳定短链 |
|
||||
| 旧前端未传派车组但订单、车辆、司机唯一定位 | `orderId` + `vehicleId` + `driverId` | 兼容定位并返回同一稳定短链 |
|
||||
| 派车组缺失、无效或定位不唯一 | “行程链接暂不可用,请联系车务确认” | 展示不可用态,不把文案当可发送链接 |
|
||||
| 一单多个车辆槽位 | `items[]` | 每个槽位各选一辆车和一名司机,一次批量提交 |
|
||||
| 已有车辆槽位 | `activeAssignments[]` 或当前排车草稿 | 按稳定槽位逐项展示;允许重选当前槽位的车辆或司机 |
|
||||
| 新增车辆槽位 | 前端草稿槽位列表 | 展示“+ 添加车辆槽位”;每次点击只追加一个空白槽位,不替换已有槽位 |
|
||||
| 新增槽位未选完整 | 草稿槽位的 `vehicleId` / `driverId` | 槽位显示未完成警示,禁用“下一步”;不生成可发送通知 |
|
||||
| 删除未提交槽位 | 前端草稿槽位列表 | 只删除新增且未提交的草稿槽位,不撤销已有有效派车组 |
|
||||
| 一单多个车辆槽位 | `items[]` | 每个槽位各选一辆车和一名司机,一次批量提交;可见槽位数与 `items[]` 数量守恒 |
|
||||
| 详情有多个 active 派车组 | `activeAssignments[]` | 按槽位逐项展示车辆、司机、脱敏电话和状态 |
|
||||
| 详情无 active 派车组 | `activeAssignments=[]` | 展示无有效派单空态 |
|
||||
|
||||
## 前端处理清单
|
||||
|
||||
- [ ] 派车弹窗支持选择多个车辆槽位,并为每个槽位选择司机。
|
||||
- [ ] 排车页提供“+ 添加车辆槽位”入口,允许连续新增多个草稿槽位,不得只重选“车辆槽位 1”。
|
||||
- [ ] 每个新增槽位分别选择一辆车和一名司机,并支持删除未提交的草稿槽位。
|
||||
- [ ] “下一步”前校验所有槽位,按页面槽位顺序生成唯一 `fleetItemIndex`,可见槽位与
|
||||
`items[]` 一一对应。
|
||||
- [ ] 统一提交 `POST /admin/fleet/assignments/batch` 的 `items[]`,保留批次级 `requestId`。
|
||||
- [ ] 批量派单响应逐项保存 `assignmentGroupId`;通知预览传入当前槽位的
|
||||
`orderId`、`vehicleId`、`driverId`、`assignmentGroupId`,只把真实短链视为可发送链接。
|
||||
@ -169,6 +184,13 @@ GET /admin/fleet/board/orders/<orderId>
|
||||
- [ ] 司机电话使用后端脱敏值,雪花 ID 始终按字符串处理。
|
||||
- [ ] 覆盖无 active、多 active、短链不可用等空态/失败封闭场景。
|
||||
|
||||
## 前端验收反馈
|
||||
|
||||
- 2026-07-25 用户页面验收:排车页仅显示“车辆槽位 1”,只能在该槽位内重选车辆或司机,
|
||||
无法新增第二个槽位;当前前端提交不满足多车辆、多司机批量派单要求。
|
||||
- 状态因此由 `implemented` 回退为 `claimed`。前端完成新增槽位、逐槽位选择和批量提交后,
|
||||
应填写新的 `frontend_ref` 再迁移为 `implemented`。
|
||||
|
||||
## 验证证据
|
||||
|
||||
- OpenAPI/oasdiff:`not_configured`。项目未配置可复现的 Swagger2 → OAS3 导出与 oasdiff 基线;
|
||||
@ -193,4 +215,4 @@ GET /admin/fleet/board/orders/<orderId>
|
||||
- 不修改批量派单事务、价格、跨常驻确认、保险或通知冻结规则。
|
||||
- 不新增 DDL,不清理、不回填存量数据。
|
||||
|
||||
> `frontend_status: implemented` 表示前端代码已有真实提交引用;尚不代表已发布或完成页面验证。
|
||||
> `frontend_status: claimed` 表示前端已领取但仍需修复“新增车辆槽位”;尚未形成可验收的完整实现。
|
||||
|
||||
正在加载...
x
在新工单中引用
屏蔽一个用户