54 行
2.8 KiB
Markdown
54 行
2.8 KiB
Markdown
---
|
||
schema: "hl-changelog/v2"
|
||
ticket: "5676"
|
||
title: "统一选择只改第一天(前端改单次调 change=整体改派)"
|
||
consumer: "admin"
|
||
author: "wx"
|
||
change_type: "前端修复"
|
||
backend_status: "deployed"
|
||
gateway_status: "verified"
|
||
frontend_status: "implemented"
|
||
frontend_owner: "mmg"
|
||
frontend_ref: "f4223996"
|
||
target_release: ""
|
||
verified_at: ""
|
||
status_note: ""
|
||
updated_at: "2026-08-08"
|
||
base: "origin/dev-v3"
|
||
generated: "2026-08-08"
|
||
---
|
||
|
||
# 统一选择只改第一天(前端修复)
|
||
|
||
## 问题(wx 实测)
|
||
派车"统一选择车辆/司机"选的车/司机**只应用到第一天**,没应用到所有出行日(该整体改派所有日期)。
|
||
|
||
## 根因(#5676 后端实证,责任端=前端)
|
||
前端"统一选择"**逐日循环调 change**(每天一行,effectiveDate 分别 8/28、8/29...)——change 语义是"effectiveDate 起连续后缀",逐日循环互相覆盖→只部分生效。
|
||
**后端单次 change(effectiveDate=第一天,不传 serviceDates)正确全改所有天**(取消整段后缀+重建),后端无 bug。
|
||
|
||
## 前端修复
|
||
"统一选择"(整体改派)改为**单次调 change:`effectiveDate=第一天`**(不传 serviceDates)——即整段改派所有出行日。不要逐日循环调。
|
||
- 按天改派(#5676 新增 serviceDates)是另一功能(按天单独改),保留
|
||
- 统一选择(整体)= 单次 change effectiveDate=第一天
|
||
|
||
## 补充(wx 明确矩阵场景)
|
||
**矩阵派单**:从矩阵某一行(车辆行)派车/司机时,**所有行程日对应槽位都该是这行的车+司机**(统一应用所有行程日,不只第一天)。与"统一选择"同一口径——矩阵一行派 = 单次 change effectiveDate=第一天(整段改派所有日)。
|
||
|
||
## 验收
|
||
- [ ] 统一选择选的车/司机应用到所有出行日(不只第一天)
|
||
- [ ] **矩阵派单从一行派车→所有行程日对应槽位=这行的车+司机**
|
||
- [ ] 按天改派不受影响
|
||
|
||
## 关联
|
||
- #5676(按天改派已实现;统一选择修复=本前端任务)
|
||
|
||
## 前端交付与矩阵场景实证(hl-admin@f4223996 + 3df533a5)
|
||
|
||
统一选择「只改第一天」已修:根因为逐日/多段槽位下统一选择只锚定被选执行段(effectiveDate=段首日、费用只本段),新增 `mergeSlotChangeSegments`(display.js:263)合并同槽全部有效执行段为整段改派目标,单次 change effectiveDate=整段首日、不发按天 serviceDates。
|
||
|
||
**矩阵场景补充实证**:矩阵派单从一行派车走 `matrix/index.vue:442 onDropAssign` → `openAssign(order, { vehicle, mode })`,复用 AssignModal 统一 assign/change 主流程,与统一选择同一单次 change 逻辑——一行派车即整段(所有行程日对应槽位=这行车+司机),不只第一天。按天改派(3df533a5)为独立入口,不受影响。
|
||
|
||
## 联系人
|
||
- 后端/协调台:wx
|