From 55fe54afa01e7cd4ff4f14bafead7bf187bc034f Mon Sep 17 00:00:00 2001 From: API Changelog Bot Date: Fri, 24 Jul 2026 16:40:42 +0800 Subject: [PATCH] docs(changelog): clarify multi-vehicle frontend handoff (#5187) --- ...派车与价格日历带价_前端待处理-新增接口-管理后台.md | 43 ++++++++++++++++--- 1 file changed, 37 insertions(+), 6 deletions(-) diff --git a/changelogs-v2/2026-07/23_5187_多车辆槽位原子批量派车与价格日历带价_前端待处理-新增接口-管理后台.md b/changelogs-v2/2026-07/23_5187_多车辆槽位原子批量派车与价格日历带价_前端待处理-新增接口-管理后台.md index 6a09b71..538629c 100644 --- a/changelogs-v2/2026-07/23_5187_多车辆槽位原子批量派车与价格日历带价_前端待处理-新增接口-管理后台.md +++ b/changelogs-v2/2026-07/23_5187_多车辆槽位原子批量派车与价格日历带价_前端待处理-新增接口-管理后台.md @@ -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 项通过。