diff --git a/changelogs-v2/2026-08/08_5693_矩阵拖拽改派一步到位-前端修复-管理后台.md b/changelogs-v2/2026-08/08_5693_矩阵拖拽改派一步到位-前端修复-管理后台.md new file mode 100644 index 0000000..47809f7 --- /dev/null +++ b/changelogs-v2/2026-08/08_5693_矩阵拖拽改派一步到位-前端修复-管理后台.md @@ -0,0 +1,52 @@ +--- +schema: "hl-changelog/v2" +ticket: "5693" +title: "矩阵拖拽改派一步到位(拖到目标车/司机直接改成,不再弹窗手选)" +consumer: "admin" +author: "wx" +change_type: "前端修复" +backend_status: "deployed" +gateway_status: "verified" +frontend_status: "pending" +frontend_owner: "" +frontend_ref: "" +target_release: "" +verified_at: "" +status_note: "" +updated_at: "2026-08-08" +base: "origin/dev-v3" +generated: "2026-08-08" +--- + +# 矩阵拖拽改派一步到位(前端修复) + +## 口径(wx) +矩阵拖拽改派要**一步到位**——拖到目标车辆/司机就**直接改成它**(该车常驻司机或拖到的司机),**不再弹改派页手选槽位+重选车/司机**(拖完还手选=失去拖拽意义)。 + +## 现状(前端问题) +`matrix/index.vue:442 onDropAssign` 拖后仍 `openAssign` 弹窗手选——拖拽后还要手选槽位+车/司机。 + +## 后端能力已齐备(零改动) +- change API `POST /admin/fleet/assignments/{id}/change`:`newVehicleId`/`newDriverId` 均可空,必填仅 `effectiveDate`/`holdMode`/`reason`/`requestId` +- 拖拽落点行已带 `assignmentId`/`slotId`(只切片该槽位) +- 矩阵车辆行已带 `primaryDriverId`(常驻司机) +- 价格/收费日默认沿用 + +## 前端修复 +拖拽 drop 后**直接调 change**: +- 拖到车辆行 → change 传该 vehicleId + 其 primaryDriverId(常驻司机),effectiveDate=落点日期,切片该槽位 +- 拖到司机 → change 传该 driverId +- 多槽位:拖拽落点确定改哪个槽位(slotId) +- 仅跨常驻确认 / 605041 基线差异 / 多车 warning 等分支弹**轻量确认**,不弹完整改派页手选 + +## 验收 +- [ ] 拖拽到目标车/司机直接改派生效(一步到位,不弹改派页手选) +- [ ] 多槽位拖拽落点确定改哪个槽位 +- [ ] 跨常驻/基线差异等弹轻量确认 +- [ ] 拖拽后价格/逐日正确 + +## 关联 +- #5693(后端排查,契约齐备零改动;证据 evidence/5693/issue-comment-onestep.md) + +## 联系人 +- 后端/协调台:wx