--- 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**。三者互不依赖。