docs(changelog): clarify multi-vehicle frontend handoff (#5187)
所有检测均成功
changelog-filename-gate / validate (push) Successful in 1s

这个提交包含在:
API Changelog Bot 2026-07-24 16:40:42 +08:00
父节点 e492376528
当前提交 55fe54afa0

查看文件

@ -1,11 +1,18 @@
---
schema: "hl-changelog/v1"
schema: "hl-changelog/v2"
ticket: "5187"
title: "多车辆槽位原子批量派车与价格日历带价"
consumer: "admin"
backend: "verified"
gateway: "verified"
frontend: "pending"
change_type: "新增接口"
backend_status: "deployed"
gateway_status: "verified"
frontend_status: "pending"
frontend_owner: ""
frontend_ref: ""
target_release: "hl-ui/v2.1"
verified_at: ""
status_note: "2026-07-24 复核管理台仍使用单值 selVehicle/selDriver 和单派接口;待实现已选车辆多槽位状态并消费批量接口。"
updated_at: "2026-07-24"
base: "dev-v3"
generated: "2026-07-23T15:38:00+08:00"
---
@ -40,7 +47,7 @@ generated: "2026-07-23T15:38:00+08:00"
- 同一次提交及其网络重试必须复用同一个 `requestId`;用户修改选择后主动再次提交应生成新值。
- `holdMode=1` 表示排车中等待司机确认,`holdMode=0` 表示直接派定;整批模式必须一致。
## 二、新增原子批量派单接口
## 变更接口
```http
POST /admin/fleet/assignments/batch
@ -196,6 +203,30 @@ selectedSlots[fleetItemIndex] = {
- 禁止用 `for` 循环调用旧单派接口;那会在中途失败时留下半批状态。
- 成功后一次关闭弹窗并刷新看板;不得每成功一辆刷新一次。
#### 当前消费差距
- `useVehicleDriverPicker.js` 仍只维护一组 `selVehicle/selDriver`
- `AssignModalFooter.vue` 仍只展示一组车辆和司机,并按这一组决定按钮是否可用。
- `useAssignFlow.js` 仍只调用 `createAssignment`,没有构造 `items[]`
- `src/api/fleet/board.js` 尚未封装 `POST /fleet/assignments/batch`
#### 展示矩阵
| 场景 | “已选车辆”区域 | 候选/司机联动 | 主操作 |
| --- | --- | --- | --- |
| 尚未选择 | 显示 `已选车辆 0/N` 和 N 个待选槽位 | 提示先选择车辆 | 禁用,显示未完成组数 |
| 已选一辆 | 槽位 01 显示车牌、车型、司机和移除操作,并成为当前编辑槽位 | 已选车辆标记不可重复;司机只写入当前槽位 | 未完成全部槽位时保持禁用 |
| 继续多选 | 新车辆进入下一个待选 `fleetItemIndex`;其他已选槽位保持不变 | 已被其他槽位使用的车辆和司机不可重复选择 | 全部槽位完整后启用 |
| 切换槽位 | 高亮当前编辑槽位;允许单独更换车辆、司机和价格 | 候选与司机面板切换到该槽位上下文 | 完整度实时更新 |
| 搜索/筛选/翻页 | 已选区域固定可见,集合不丢失 | 只改变候选列表 | 状态保持 |
| HOLD 完整 | 显示 `已选择 N/N 辆,司机 N/N` | 每槽位独立司机 | `下一步 · 发送给 N 名司机` |
| DIRECT 完整 | 显示 `已选择 N/N 辆,司机 N/N` | 每槽位独立司机 | `直接派定 N 辆车` |
| 批量失败 | 保留全部选择;高亮 `failedFleetItemIndex` | 允许修正失败槽位 | 原批次不产生部分成功 |
| 批量成功 | 清空选择并关闭弹窗 | 看板只统一刷新一次 | 仅发送一次批量请求 |
“已选车辆”应作为车辆筛选与候选列表之间持续可见的紧凑区域,不得只在底栏显示最后一辆。
选择数量不得超过当前需求的待派车辆槽位数;移除某一槽位不得重排或清空其他槽位。
### 3.2 车型价格日历自动带价
候选接口 `vehicles[].protocolPrice` 已返回所选车辆车型在服务开始日的价格日历单价。当前页面
@ -238,7 +269,7 @@ selectedSlots[fleetItemIndex] = {
- [ ] 主动筛选“待派车”及重置行为正确。
- [ ] 增加多槽位状态管理、批量请求映射、车型切换带价和默认空筛选的组件/组合式函数测试。
## 六、后端验证证据
## 验证证据
- `mvn -pl hl-fleet-service spotless:check` 通过。
- `AssignmentControllerTest + AssignmentServiceTest`281 项通过。