docs(vehicle): notify frontend add requirement button
这个提交包含在:
父节点
53b8c8b115
当前提交
9e5b45e7a5
@ -0,0 +1,132 @@
|
||||
# 订单详情用车安排缺少“用车需求”按钮(前端待处理)
|
||||
|
||||
> 模块:管理后台 · 订单详情 v2 `/order-v2/detail/{orderId}` · 行程安排
|
||||
> 类型:**前端待处理(后端无接口变更)**
|
||||
> 日期:2026-07-05
|
||||
> 说明:后端已有提交/修改/调整用车需求接口,前端需要在“用车安排”卡片补充入口。
|
||||
|
||||
## 问题现象
|
||||
|
||||
测试页面:
|
||||
|
||||
- 页面:订单详情 v2 → 行程安排
|
||||
- 订单:`HL20260703140009401`
|
||||
- 订单 ID:`2072923329412427777`
|
||||
- 当前用车卡片文案:`尚未提交用车需求`
|
||||
- 当前页面只显示“联系车务”按钮,缺少“用车需求 / 提交用车需求”按钮。
|
||||
|
||||
业务期望:
|
||||
|
||||
- 当订单尚未提交用车需求时,定制师应能直接从“用车安排”卡片发起用车需求。
|
||||
- 用车需求提交后进入车务后续处理链路。
|
||||
|
||||
## 后端当前口径
|
||||
|
||||
后端已有接口,不需要新增接口。
|
||||
|
||||
```http
|
||||
PUT /v3/admin/order/{id}/vehicle-requirement
|
||||
```
|
||||
|
||||
源码契约:
|
||||
|
||||
```text
|
||||
提交/修改/调整用车需求(三分支自动判断:无 active=INIT_SUBMIT,PENDING=PENDING_EDIT,DONE=DONE_ADJUST)
|
||||
```
|
||||
|
||||
测试服复验当前订单:
|
||||
|
||||
```http
|
||||
GET /v3/admin/order/2072923329412427777/itinerary
|
||||
```
|
||||
|
||||
返回中住宿已完成,且当前没有 `vehicleGroup` 数据;页面展示“尚未提交用车需求”与接口状态一致。这种状态下前端应提供“用车需求”入口,而不是只提供“联系车务”。
|
||||
|
||||
## 接口说明
|
||||
|
||||
### 提交/修改/调整用车需求
|
||||
|
||||
```http
|
||||
PUT /v3/admin/order/{id}/vehicle-requirement
|
||||
Content-Type: application/json
|
||||
```
|
||||
|
||||
请求体:
|
||||
|
||||
```json
|
||||
{
|
||||
"fleet": [
|
||||
{
|
||||
"vehicleType": "BUSINESS",
|
||||
"seats": 7,
|
||||
"count": 1
|
||||
}
|
||||
],
|
||||
"specialTags": ["需要大后备箱"],
|
||||
"remark": "客户有 2 个大件行李"
|
||||
}
|
||||
```
|
||||
|
||||
字段约束:
|
||||
|
||||
| 字段 | 类型 | 必填 | 说明 |
|
||||
|------|------|------|------|
|
||||
| `fleet` | array | 是 | 车型组合,至少 1 项 |
|
||||
| `fleet[].vehicleType` | string | 是 | 车型分类,字典 `vehicle_type` 的 value,如 `SUV/BUSINESS/CORE_PRODUCT` |
|
||||
| `fleet[].seats` | number | 是 | 座位数,行李车可为 0 |
|
||||
| `fleet[].count` | number | 是 | 辆数,需大于 0 |
|
||||
| `specialTags` | array | 否 | 特殊诉求标签,允许自定义 |
|
||||
| `remark` | string | 否 | 备注,最长 500 字 |
|
||||
|
||||
响应中 `branchTaken` 表示后端实际分支:
|
||||
|
||||
| branchTaken | 场景 |
|
||||
|-------------|------|
|
||||
| `INIT_SUBMIT` | 首次提交用车需求 |
|
||||
| `PENDING_EDIT` | 已有待处理用车需求,编辑当前需求 |
|
||||
| `DONE_ADJUST` | 已配车/已完成后再次调整用车需求 |
|
||||
|
||||
## 【前端 · 管理后台】处理要求
|
||||
|
||||
### 1. 用车安排卡片补充“用车需求”按钮
|
||||
|
||||
在订单详情 `行程安排` 的“用车安排”卡片中:
|
||||
|
||||
- 当当前无用车需求,页面显示“尚未提交用车需求”时,展示主操作按钮:`用车需求` 或 `提交用车需求`。
|
||||
- 按钮位置建议与“联系车务”同一操作区,避免用户只能联系车务而无法录入需求。
|
||||
- 点击后打开现有用车需求表单/弹窗,提交到 `PUT /v3/admin/order/{id}/vehicle-requirement`。
|
||||
|
||||
### 2. 已有用车需求时也应允许修改
|
||||
|
||||
用车需求与住宿需求一致,不应只在空状态可提交:
|
||||
|
||||
- 待处理/PENDING:按钮文案可为 `修改用车需求`,提交后走 `PENDING_EDIT`。
|
||||
- 配车中/PROCESSING:仍允许修改,提交后由后端走调整链路。
|
||||
- 已完成/DONE:仍允许调整,提交后走 `DONE_ADJUST`。
|
||||
|
||||
前端不要因为用车卡片状态变成“配车中 / 已配车 / 已完成”就永久隐藏该入口。
|
||||
|
||||
### 3. 入口显示口径
|
||||
|
||||
建议前端按“订单存在行程安排页 + 用车安排模块可见”显示该入口,不要依赖是否已有 `vehicleGroup`:
|
||||
|
||||
- 无 `vehicleGroup`:显示 `用车需求 / 提交用车需求`。
|
||||
- 有 `vehicleGroup`:显示 `修改用车需求`。
|
||||
|
||||
## 验收标准
|
||||
|
||||
| 场景 | 期望 |
|
||||
|------|------|
|
||||
| `HL20260703140009401` 用车卡片显示“尚未提交用车需求” | 卡片上显示“用车需求/提交用车需求”按钮 |
|
||||
| 点击按钮 | 打开用车需求表单,至少可填写车型、座位数、辆数、特殊诉求、备注 |
|
||||
| 首次提交 | 调用 `PUT /v3/admin/order/{id}/vehicle-requirement`,返回 `branchTaken=INIT_SUBMIT` |
|
||||
| 已有待处理用车需求 | 仍可打开表单修改,后端返回 `PENDING_EDIT` |
|
||||
| 已配车/已完成后调整 | 仍可打开表单修改,后端返回 `DONE_ADJUST` |
|
||||
| “联系车务”按钮 | 保留,不替代“用车需求”入口 |
|
||||
|
||||
## 影响范围
|
||||
|
||||
| 页面/能力 | 说明 |
|
||||
|-----------|------|
|
||||
| `/order-v2/detail/{orderId}` | 行程安排页签 · 用车安排卡片 |
|
||||
| `PUT /v3/admin/order/{id}/vehicle-requirement` | 复用现有后端接口,无新增字段 |
|
||||
正在加载...
x
在新工单中引用
屏蔽一个用户