From 39988e5380ba98b51cfe9f4f9b4b995e1ea4380c Mon Sep 17 00:00:00 2001 From: API Changelog Bot Date: Thu, 2 Jul 2026 11:08:04 +0800 Subject: [PATCH] =?UTF-8?q?changelog:=20=E8=AE=A2=E5=8D=95=E8=AF=A6?= =?UTF-8?q?=E6=83=85=E4=BD=8F=E5=AE=BF=E5=B7=B2=E5=9B=9E=E9=85=8D=E5=B1=95?= =?UTF-8?q?=E7=A4=BA=E6=9D=A1=E4=BB=B6=E4=BF=AE=E6=AD=A3=E8=AF=B4=E6=98=8E?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...宿卡片已回配展示条件错误-前端修复-管理后台.md | 155 ++++++++++++++++++ 1 file changed, 155 insertions(+) create mode 100644 changelogs-v2/2026-07/11_订单详情住宿卡片已回配展示条件错误-前端修复-管理后台.md diff --git a/changelogs-v2/2026-07/11_订单详情住宿卡片已回配展示条件错误-前端修复-管理后台.md b/changelogs-v2/2026-07/11_订单详情住宿卡片已回配展示条件错误-前端修复-管理后台.md new file mode 100644 index 0000000..9adc8c1 --- /dev/null +++ b/changelogs-v2/2026-07/11_订单详情住宿卡片已回配展示条件错误-前端修复-管理后台.md @@ -0,0 +1,155 @@ +# 订单详情住宿卡片「已回配」展示条件错误 + +> 模块:管理后台 · 订单详情 `/order-v2/detail/{orderId}` · 行程安排 · 住宿安排 +> 类型:**前端修复(展示条件修正,无需新增后端接口)** +> 日期:2026-07-02 +> 背景:订单详情住宿安排卡片在配房流程尚未完成时,底部酒店卡片错误显示「已回配」。实际房务工作台仍处于「配房中」,只有配房流程整体完成/最终确认后,定制师侧才应展示「已回配」。 + +## 问题现象 + +测试订单: + +- 订单号:`HL20260702100458640` +- 页面:`/order-v2/detail/2072501756742242305` + +当前现象: + +- 订单详情住宿安排卡片底部酒店行显示「已回配」 +- 但房务详情弹窗仍显示: + - `配房中` + - `配房进度 1/3` 或仍未最终确认 + - 配房流程未完成 + +这会让定制师误以为房务已经完整回传配房方案。 + +## 后端当前真实状态 + +经测试服接口核对,后端没有返回“整单已回配”语义。 + +### 1. 定制师订单详情行程接口 + +`GET /v3/admin/order/2072501756742242305/itinerary` + +关键状态: + +```json +{ + "hotelGroup": { + "requirement": { + "status": "PROCESSING", + "claimerId": "1001", + "claimerName": "admin" + }, + "assignments": [ + { + "assignmentId": "2072515686428479490", + "dayNumber": 1, + "hotelName": "海拉尔嘉世豪酒店", + "roomCount": 1 + } + ] + } +} +``` + +含义: + +- `requirement.status = PROCESSING`:整单用房需求仍在处理中,不是完成态。 +- `hotelGroup.assignments` 只代表已有部分已确认配房行,不能代表整单已回配。 + +### 2. 房务详情接口 + +`GET /admin/house/orders/2072501756742242305` + +关键状态: + +```json +{ + "progress": { + "houseStatus": "CLAIMING", + "houseStatusLabel": "配房中", + "currentStep": 2 + }, + "actions": { + "canFinalize": { + "enabled": false, + "disabledReason": "存在未闭环询问/未进入待最终确认" + }, + "canReopen": { + "enabled": false, + "disabledReason": "仅已最终确认的订单可回配" + } + } +} +``` + +含义: + +- 房务侧权威状态仍是 `CLAIMING`。 +- 还不能最终确认。 +- 还不能回配/回配后修改。 + +## 【前端 · 管理后台】需改动 + +### 1. 不要用 `assignments.length > 0` 判断「已回配」 + +错误逻辑示例: + +```ts +const isReturned = hotelGroup.assignments?.length > 0 +``` + +这个只能说明“已有部分配房行”,不能说明“整单配房流程已完成”。 + +### 2. 「已回配」只能在整单完成态显示 + +建议判断口径: + +```ts +const isHotelReturned = + hotelGroup?.requirement?.status === 'DONE' +``` + +如果当前页面可拿到订单主流程/房控状态,也可以等价使用完成态字段: + +```ts +const isHotelReturned = + order?.roomControlStatus === 'DONE' || + hotelGroup?.requirement?.status === 'DONE' +``` + +但不要用单条酒店分配记录存在与否来判断。 + +### 3. 未完成时的展示建议 + +| 状态 | 展示 | +|------|------| +| `requirement.status = PENDING` | 待配房 / 待房务抢单 | +| `requirement.status = PROCESSING` | 配房处理中 | +| 存在部分 `assignments` 但 `status=PROCESSING` | 可展示已配房行,但标签应为「配房中」或「部分已配」,不能显示「已回配」 | +| `requirement.status = DONE` | 才显示「已回配」 | + +### 4. 「查看已配房」按钮不等于「已回配」 + +如果存在 `hotelGroup.assignments`,可以展示「查看已配房」按钮或部分已配酒店卡片。 + +但酒店卡片右侧状态标签必须跟整单/需求状态区分: + +- 有已配房行:可以显示「已配房」或「已确认」 +- 整单流程完成:才显示「已回配」 + +## 验收标准 + +| 场景 | 期望 | +|------|------| +| `requirement.status=PROCESSING` 且只有部分配房行 | 不显示「已回配」,显示「配房处理中」/「部分已配」 | +| 房务弹窗仍在 `CLAIMING/配房中` | 定制师订单详情不得显示「已回配」 | +| `requirement.status=DONE` / `roomControlStatus=DONE` | 才允许显示「已回配」 | +| 点击「查看已配房」 | 可以看到已有配房行,但不改变整单回配状态判断 | + +## 影响范围 + +| 页面 | 修复点 | +|------|--------| +| `/order-v2/detail/{orderId}` 行程安排 Tab | 住宿安排卡片底部酒店行状态标签 | +| 房务详情弹窗 | 无需改动,当前后端状态已正确返回 `CLAIMING/配房中` |