diff --git a/changelogs-v2/2026-08/08_5693_矩阵拖拽改派一步到位-前端修复-管理后台.md b/changelogs-v2/2026-08/08_5693_矩阵拖拽改派一步到位-前端修复-管理后台.md index 47809f7..35b22cb 100644 --- a/changelogs-v2/2026-08/08_5693_矩阵拖拽改派一步到位-前端修复-管理后台.md +++ b/changelogs-v2/2026-08/08_5693_矩阵拖拽改派一步到位-前端修复-管理后台.md @@ -7,9 +7,9 @@ author: "wx" change_type: "前端修复" backend_status: "deployed" gateway_status: "verified" -frontend_status: "pending" -frontend_owner: "" -frontend_ref: "" +frontend_status: "implemented" +frontend_owner: "mmg" +frontend_ref: "23d6e7b1" target_release: "" verified_at: "" status_note: "" @@ -50,3 +50,13 @@ generated: "2026-08-08" ## 联系人 - 后端/协调台:wx + +## 前端实证确认(2026-08-08 mmg,hl-admin) + +按协调台拍板的「向导预选直达确认步」口径实现(非字面「直接调 change 不弹页」),hl-admin@23d6e7b1: + +- **矩阵拖拽补传常驻司机**:`matrix/index.vue onDropAssign` 从落点车辆行取 `primaryDriverId`(字符串透传,空归一 null),两个模式分支统一 `openAssign(order, { vehicle, driver: residentDriverId, mode })`。 +- **AssignModal reassign 应用预选**:拖拽条目 `order.assignmentId` 命中 `activeAssignments` 且带预选车辆时,自动锁定被拖槽位为改派目标 + 进入「已清除重选」态(`changeDraftCleared=true`,等价手选槽位后点清除),费用草稿按 `mergeSlotChangeSegments` 整段合并目标 + `preferSavedTotal` 恢复;`restoreSelection({ vehicleId, driverId, autoSelectResidentDriver })` 复用 batch 分支同一机制——预选司机仅作初始草稿,仍随 `loadCandidates` 携带两侧 ID 复核可用性与常驻关系,不硬信车辆档案;落点车无常驻司机时留空走既有空态。 +- **保持不变**:提交链 `buildAssignmentSubmission/changeAssignment`、跨常驻确认(605036)、基线差异(605041)、ORDER_HAS_OTHER_VEHICLES warning、逐日车费拦截全部未触碰。 +- **与原口径差异**:拖拽后仍需用户在改派向导点一次「下一步/确认」提交(未做到完全不弹页直接 change)。取舍原因:落点缺目标司机、落点日期、逐日车费三个向导输入,直接重建精简 change 链需自行补齐这三值,风险高于复用既有向导校验;多槽位由被拖条目 assignmentId 确定槽位(满足「落点确定改哪个槽位」)。 +- 验证:fleet/board 定向 vitest 413/413 通过;checkpoint(含生产构建)全绿。若需进一步做到「完全不弹页直改」,属另一次精简 change 链重建,建议单列工单。