docs(changelog): #5926 排车Step2栅格改期残留旧实派行不回显明文(前端渲染,后端已补字段) (PR #5930)
所有检测均成功
changelog-filename-gate / validate (push) Successful in 2s
所有检测均成功
changelog-filename-gate / validate (push) Successful in 2s
这个提交包含在:
父节点
57bf865c3b
当前提交
50b22e6b6b
@ -0,0 +1,96 @@
|
||||
---
|
||||
schema: "hl-changelog/v2"
|
||||
ticket: "5926"
|
||||
title: "排车 Step2 栅格改期残留旧实派行不回显车牌/司机/价(前端渲染)"
|
||||
consumer: "admin"
|
||||
change_type: "前端修复"
|
||||
author: "wx(GIT)"
|
||||
backend_status: "deployed"
|
||||
gateway_status: "verified"
|
||||
frontend_status: "pending"
|
||||
frontend_owner: "mmg"
|
||||
frontend_ref: ""
|
||||
target_release: ""
|
||||
verified_at: ""
|
||||
status_note: "后端已补 cell 明文字段并部署测试服实测通过:订单 26-0821(改期 08-18→08-21) candidates cells 08-18/19/20 现返回 vehiclePlate=蒙A-K1999/driverName=巴根那/protocolPrice=1500.0 + residue=true + canDelete=true。前端只需渲染栅格时把这三个明文填进对应行(别只贴残留红标签留空数据列)。"
|
||||
updated_at: "2026-08-12"
|
||||
base: "dev-v3"
|
||||
---
|
||||
|
||||
# 排车 Step2 栅格改期残留旧实派行不回显车牌/司机/价(#5926 / PR #5930,承接 #5912)
|
||||
|
||||
> **服务**: hl-fleet-service(后端) + hl-ui(前端渲染)
|
||||
> **PR**: #5930(后端字段透出)
|
||||
> **日期**: 2026-08-12
|
||||
> **现象**: 订单改期后,派单页 Step2 排车栅格里 08-18/19/20 这三行旧实派数据显示成「车辆待选择 / 司机待选择 / ¥0.00」空态,只挂了个「改期残留·待清理」红标签——数据列不回显。
|
||||
|
||||
---
|
||||
|
||||
## 根因(前后端各一半,后端缺口已补)
|
||||
|
||||
1. **#5912 已修日期轴**:栅格 `editableServiceDates` 已并入旧行日期(08-18~24 共 7 天),旧实派行的日期格回来了。
|
||||
2. **后端缺口(本次 #5926 补)**:栅格 `cells[]` 原本只透 `vehicleId`/`driverId` 两个 ID,无明文;而 `selectedVehicle`/`selectedDriver` 展示快照只在「本次新选中」时填充,改期前旧会话派的行进入 Step2 时为 **null**。前端拿不到明文,只能贴残留标签、数据列留空。
|
||||
3. **前端待做**:渲染栅格逐行时,把后端回的 `vehiclePlate`/`driverName`/`protocolPrice` 填进对应行。
|
||||
|
||||
## 对应接口(前端排车 Step2 栅格唯一权威数据源)
|
||||
|
||||
```
|
||||
POST /admin/fleet/assignments/candidates
|
||||
```
|
||||
|
||||
请求体(**必传 `startDate`/`endDate`**,否则 400「用车开始/结束日期不能为空」):
|
||||
|
||||
```json
|
||||
{
|
||||
"orderId": 2086270141158346754,
|
||||
"requirementId": 2087434583048888322,
|
||||
"startDate": "2026-08-21",
|
||||
"endDate": "2026-08-24"
|
||||
}
|
||||
```
|
||||
|
||||
栅格数据确切路径:
|
||||
|
||||
```
|
||||
data.canonicalSnapshot.editableServiceDates # ["2026-08-18"..."2026-08-24"] 7 天日期轴(已并入旧行日期)
|
||||
data.canonicalSnapshot.cells[] # 每 cell = 一个槽位 × 一天:
|
||||
```
|
||||
|
||||
## 本次 cell 新增 3 个明文字段(前端消费)
|
||||
|
||||
| 字段 | 类型 | 说明 |
|
||||
|---|---|---|
|
||||
| `vehiclePlate` | string | 当天车牌明文(行冻结展示快照)。USED cell 有值;UNUSED/未编辑为 null。 |
|
||||
| `driverName` | string | 当天司机姓名明文(行冻结展示快照)。USED cell 有值;UNUSED/未编辑为 null。 |
|
||||
| `protocolPrice` | number | 当天派车价。chargeable=0(免费日)恒 0;缺协议价回退日历参考价;再无则 0 兜底。UNUSED/未编辑为 null。 |
|
||||
|
||||
配合既有字段:`used`(USED/UNUSED/null)、`rescheduleResidue`(改期残留标记,前端红标签靠它)、`canDelete`/`deleteBlockReason`。
|
||||
|
||||
## 实测(订单 26-0821 / 2086270141158346754,改期 08-18→08-21)
|
||||
|
||||
```
|
||||
editableServiceDates = [08-18,08-19,08-20,08-21,08-22,08-23,08-24]
|
||||
cells(槽位1 蒙A-K1999 巴根那 ¥1500):
|
||||
08-18 USED · plate=蒙A-K1999 · driver=巴根那 · price=1500.0 · residue=true · canDelete=true
|
||||
08-19 USED · 同上 · residue=true
|
||||
08-20 USED · 同上 · residue=true
|
||||
08-21 USED · 同上 · residue=false(在新窗内,不误标)
|
||||
cells(槽位2 蒙A-T1557 朝鲁门 ¥1000):同样 4 天明文齐全
|
||||
```
|
||||
|
||||
## 前端修复要点
|
||||
|
||||
- 栅格日期轴用 `canonicalSnapshot.editableServiceDates` 建(已含旧日期 08-18~20),**不要**自己按当前需求窗建轴。
|
||||
- 逐行渲染时按 `cells[]` 里同 `serviceDate` 的 cell,把 `vehiclePlate`/`driverName`/`protocolPrice` 填进去——后端已回,别再只贴「改期残留」红标签留空数据列。
|
||||
- `rescheduleResidue=true` 的行继续挂「改期残留·待清理」徽标 + `canDelete=true` 提供醒目「取消残留派车」入口(调既有 `DELETE /admin/fleet/assignments/{assignmentId}`)。
|
||||
|
||||
## 验证证据(后端)
|
||||
|
||||
- fleet 全量 `mvn test` 3680 跑 0 失败 0 错误;ArchTest 13 绿;spotless 净。
|
||||
- 新增单测覆盖明文透传 + FREE/OVERRIDE/CALENDAR 价口径。
|
||||
- 测试服 API 实测:08-18/19/20 返回明文车牌/司机/价(见上)。
|
||||
|
||||
## 联系人
|
||||
|
||||
- **后端负责人**: @wx
|
||||
- **前端消费**: @mmg(渲染 `cells[].vehiclePlate/driverName/protocolPrice` + 既有 `rescheduleResidue`/`canDelete`)
|
||||
正在加载...
x
在新工单中引用
屏蔽一个用户