53 行
2.0 KiB
Markdown
53 行
2.0 KiB
Markdown
---
|
||
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
|