文件
hl-api-changelog/changelogs-v2/2026-09/18_frontend_团期看板不要显示28位班期编号batchNo-前端缺陷-管理后台.md
T
Mimingguang 27ee86ea5f
changelog-filename-gate / validate (push) Failing after 2s
chore(changelog): 团期看板 3 条交付回写 verified(#7939 统计条提示+月份分组正序+batchNo 移除)
- #7939 → 8360287a(总览条 scopeFilterHint 两口径文案,scope 已摘除只提示不切)
- 月份分组缺陷 → c19923be(默认月组倒序改升序,显式排序仍跟随行序)
- batchNo 缺陷 → c6174f2c(仅删显示,keyword 搜索数据链不动)
各自定向 spec 6/6、21/21、9/9 + scoped checkpoint 全绿,hl-admin v2.1 已推。
2026-09-18 16:10:53 +08:00

94 行
4.6 KiB
Markdown
原始文件 Blame 文件历史

此文件含有模棱两可的 Unicode 字符
此文件含有可能会与其他字符混淆的 Unicode 字符。 如果您是想特意这样的,可以安全地忽略该警告。 使用 Escape 按钮显示他们。
---
schema: "hl-changelog/v2"
ticket: "frontend"
title: "团期看板不要显示 28 位班期编号 batchNo"
consumer: "admin"
author: "wx(GIT)"
change_type: "前端缺陷"
backend_status: "not_required"
gateway_status: "not_required"
frontend_status: "verified"
frontend_owner: "mmg"
frontend_ref: "c6174f2ccc77df246e63f9b94f3810b457b0a603"
target_release: ""
verified_at: "2026-09-18"
status_note: "纯前端条目,后端零改动。团期看板每行在班期名称右侧渲染了 batchNo,而 batchNo 的实际值是 Q + yyyyMMdd + 19 位雪花 id(共 28 位,如 Q202610082100839310855999490),在窄列里被折行截断成「Q20 / 26…999490」,对用户没有任何可读意义。行内已有 batchLabel(第N期)与 batchName(如「10月8日出发团」)足以识别该班期,请前端移除 batchNo 的显示。注意 batchNo 仍是 keyword 搜索的匹配字段之一,只是不再展示,不要从请求里删掉。[mmg 2026-09-18 已实现并验证] PeriodRow 移除 batchNo 渲染块+batchNoText/batchNoFull computed+format 两函数 import+.period__gtno 死样式;仅删显示——batchNo 仍是 keyword 搜索匹配字段,请求/响应数据链不动,BatchHero 详情页展示不在本条目范围保持原样;spec 原短号例改「不渲染+可读标识保留」专项,定向 21/21+scoped checkpoint 全绿。"
updated_at: "2026-09-18"
base: "dev-v3"
---
# 团期看板不要显示 28 位班期编号 batchNo(前端缺陷)
> **服务**: hl-order-service-v3(**后端零改动**)
> **页面**: 管理后台 团期订单 → 选中产品 → 右侧班期列表每一行
> **接口**: `GET /v3/admin/order/group-batch/board`
> **日期**: 2026-09-18
> **影响范围**: 仅前台渲染;无端点、无出入参、无路由、无 DDL 变化
---
## 一、现象
班期行在名称右侧渲染 `batchNo`,实际值形如:
```
Q202610082100839310855999490
```
共 28 位(`Q` + `yyyyMMdd` + 19 位雪花 id)。窄列放不下,被折成两行显示成
「`Q20`」换行「`26…999490`」,用户完全读不出含义。
## 二、请前端移除该字段的显示
同一行里已经有两个可读标识,足以定位班期:
| 字段 | 示例 | 说明 |
|---|---|---|
| `batchLabel` | `第3期` | 班期序号,人读的期号 |
| `batchName` | `10月8日出发团` | 班期名称 |
| `batchNo` | `Q202610082100839310855999490` | **请不要显示** |
⚠️ **只是不显示,不要从请求或响应处理里删掉** —— `batchNo` 仍然是关键词搜索的匹配字段之一
(见下节),前端内部仍可能需要它。
## 三、为什么后端不改这个编号格式
后端契约里 `batchNo` 的示例值是 `GB-26-000001`
(`GroupBatchBoardItemRespVO.java:35` 的 `@ApiModelProperty(example = ...)`),
原型稿里则是 `XMM-26-01` 这类短码——都是人可读的业务编号。
但**实际生成规则**是
`ProductConstants.BATCH_NO_PREFIX + dateStr + IdWorker.getId()`
(`hl-product-service-v2` 的 `ProductPricingService.java:931`、`ProductCopyService.java:272` 两处),
即固定前缀 `Q` 加日期加雪花 id。
改生成规则会动到 `group_tour_batch.uk_batch_no` 这个全局唯一键与全部存量数据,
不是前端这条能顺带解决的,因此**本条目只要求前端不显示**,编号格式是否重做另议。
## 四、连带问题:搜索框的「期号」搜不到界面上的期号
这一条**需要后端配合**,已单独立单,见文末「相关」。
本页搜索框标注为「期号 / 名称」,但 `keyword` 的匹配范围只有 `batchNo` 与 `batchName`
(`MergedRowCriteriaDTO.java:22`:「对 `batchNo`/`batchName` 忽略大小写包含匹配」),
**不含 `batchLabel`**。2026-09-18 测试环境实测(产品 `2100839045562077186`,10 个班期):
| 输入 | 命中数 | 说明 |
|---|---|---|
| `第3期` | **0** | 界面上显示的期号,搜不到 |
| `3` | **10** | 匹配到雪花 id 里的数字,全量返回,是噪音 |
| `10月8日出发团` | 1 | 名称可用 |
| `Q202610082100839310855999490` | 1 | 可用但无人会手打 |
移除 `batchNo` 显示之后,用户能看到的期号只剩 `第3期`,而它恰好搜不到。
后端补齐 `batchLabel` 的匹配之后,这个洞才补上。**两件事可以各自独立上线**,
前端移除显示不必等后端。
---
## 相关
- 后端工单:**#7942**(`wx/HL`)——`keyword` 增加对 `batchLabel` 的匹配。
- 同一页面另有一条后端问题:统计条缺省收窄班期范围却不声明,导致「10 期 / 8 期」两个数字打架,
见 **#7939**。三者互不依赖。