docs(changelog): 团期详情配房/配车明细更新时间列恒为空(前端优化)
changelog-filename-gate / validate (push) Failing after 1s

这个提交包含在:
wx
2026-09-24 17:17:12 +08:00
父节点 846822af4e
当前提交 32d20d5696
@@ -0,0 +1,63 @@
---
schema: "hl-changelog/v2"
ticket: "frontend"
title: "团期详情「配房 / 配车」明细的“更新时间”列恒为空,建议隐藏该列或补真实时间源"
consumer: "admin"
author: "wx(GIT)"
change_type: "前端优化"
backend_status: "not_required"
gateway_status: "not_required"
frontend_status: "pending"
frontend_owner: "mmg"
frontend_ref: ""
target_release: ""
verified_at: ""
status_note: "浏览器实测(测试服 web.test.1814.love,2026-09-24 17:0x,团期 2102981652823302146,4 户):团期详情 → 配房 / 配车 两个芯片明细列表的“更新时间”列四行全部为「—」。对照后端契约:GET /v3/admin/order/group-batch/{groupBatchId}/chips/hotel 与 /chips/vehicle 的 items[].updateTime 恒为 null;后端源码 GroupBatchChipResolver#toItem 明确注释“无状态时间列时 updateTime=null”,ChipItem.updateTime 字段 javadoc 同款(“六状态列无独立时间戳”)。该列对房/车两块芯片永远渲染不出值,属纯前端展示问题,无需后端改动。"
updated_at: "2026-09-24"
base: "dev-v3"
---
# 团期详情 · 配房/配车明细「更新时间」列恒为空
> **端**: 管理后台 | **页面**: 团期详情 → 配房 / 配车 | **Issue**: 无(前端展示优化,已核实无需后端改动)
---
## 一、现象(浏览器实测)
测试服 `https://web.test.1814.love` → 团期详情 `2102981652823302146`(4 户):
- **配房** tab:表头为 `联系人 | 订单号 | 人数 | 状态 | 更新时间`,四行(甲/乙/丙/丁)的「更新时间」**全部显示为「—」**;
- **配车** tab:同一表格结构,四行「更新时间」**同样全部为「—」**(含状态已经是「配房完成」「配车完成」的两户)。
截图见本次浏览器测试留档。
## 二、根因(后端契约已核实,不是偶发渲染)
两个芯片明细接口对每一户返回的 `updateTime` **恒为 null**:
```json
{ "orderId": "2102981652680695809", "teamNo": "26-6045",
"status": "PENDING", "statusText": "待车务配", "updateTime": null }
```
后端源码(hl-order-service-v3)两处写死这一口径:
- `GroupBatchChipResolver#toItem` 注释:「单户逐户派生(status 按芯片口径,**无状态时间列时 updateTime=null**)」,构造实参直接传 null;
- `GroupBatchChipResolver.ChipItem.updateTime` 字段 javadoc:「该项最后变更时间;**无独立来源列时为 null(六状态列无独立时间戳)**」。
也就是说:房/车两块芯片的状态取自 `order_main.room_control_status / vehicle_control_status` 等**六状态列**,这些列没有配套的时间戳列,所以该字段在契约上永远是 null。**要让它有值必须后端补数据源(新增列或改用状态流转日志),不在本条目范围。**
## 三、建议(前端)
两条路都不需要后端配合,推荐第一条:
1. **(推荐)对房/车两块芯片隐藏「更新时间」列**:若该表格组件同时服务约/保等芯片,可按 `chipLabel` 动态隐藏,或按「本页所有行 updateTime 皆为 null 时不渲染该列」,避免一整列永远只有「—」的占位列;
2. 若产品要求保留该列,则应先由后端补时间源;在当前契约下保留该列只会持续展示空值。
配套约束:**不要**在前端用 `status-logs` 等接口的最近一条时间「近似凑值」——那会让同一列在不同芯片上口径不一致(约/保是真值、房/车是近似值),排查成本比留空更高。
## 四、影响范围
- **仅展示**:团期详情 → 配房 / 配车 两个 tab 的明细表格列。
- **零影响**:接口契约与字段结构(`updateTime` 仍按契约返回 null)、聚合态与完成计数、房务/车务的实际操作链路。