hl-api-changelog/changelogs-v2/2026-07/17_4739_房务待处理未读消息标签缺失-前端待处理-管理后台.md

4.2 KiB

房务待处理已完成未读订单缺少“有未读消息”标签

模块:管理后台 · 房务管家 /housekeeper/todos 类型:前端待处理(后端无接口变更) 日期2026-07-03 工单:#4739 说明:后端已返回未读数,前端需补充列表行原因标签展示。

问题现象

测试页面:

  • 页面:http://192.168.100.160:9527/housekeeper/todos
  • 订单:HL20260702232101505
  • 客户:赵骐
  • 当前订单状态:已完成
  • 当前未读数:2

当前结果:

  • 该订单已进入“我的未完成/待处理”列表。
  • 列表行显示红色数字气泡 2
  • 但列表行没有明确展示“有未读消息”标签。

用户期望:

  • 已完成订单因为定制师新消息回到待处理时,需要有明确原因标签“有未读消息”。
  • 否则用户只能看到“已完成”状态和数字气泡,不清楚该订单为什么仍在待处理中。

后端当前口径

后端接口已返回未读数字段,不需要新增接口或字段。

GET /v3/admin/order/grab-pool/my-claims/hotel?status=todo&page=1&pageSize=20

测试服复验结果:

订单号 状态 unreadMessageCount 说明
HL20260702232101505 已完成 2 应展示“有未读消息”标签
HL20260702232103376 配房中 0 不展示“有未读消息”标签

【前端 · 管理后台】处理要求

1. 待处理列表行展示未读原因标签

/housekeeper/todos 列表中,按行判断:

const showUnreadMessageTag = Number(row.unreadMessageCount || 0) > 0

展示规则:

  • unreadMessageCount > 0:展示标签“有未读消息”,并保留未读数字气泡。
  • unreadMessageCount === 0:不展示该标签。

2. 待处理原因标签是多标签并列,不是互斥状态

待处理列表行的原因标签应支持多个独立标签同时展示。

示例:

场景 期望展示
只有未读消息 有未读消息
只有改需求 改需求
只有酒店超时 酒店超时 或现有超时文案
同时有未读消息 + 改需求 + 酒店超时 同一行展示 3 个独立标签:有未读消息改需求酒店超时

前端不要把“有未读消息”做成覆盖其他原因的单一状态,也不要因为订单已有“已完成 / 配房中”等状态标签就隐藏原因标签。

建议实现口径:

  • 订单状态标签:表达当前房务状态,例如 已完成配房中
  • 待处理原因标签:表达为什么出现在待处理列表,例如 有未读消息改需求酒店超时
  • 多个待处理原因同时存在时,按独立标签数组渲染,互不覆盖。

3. 标签用于解释已完成订单仍在待处理中的原因

已完成订单进入待处理列表时,列表行必须让用户看到触发原因。

建议展示位置:

  • 与订单状态标签“已完成”同一组标签区域;或
  • 与未读数字气泡相邻,保证一眼能识别原因。

4. 读完消息后的刷新

用户点击处理/联系定制师并读完消息后,前端需要刷新列表数据:

  • 未读数字消失。
  • “有未读消息”标签消失。
  • 如果该订单仍有其他待处理原因,例如改需求或酒店超时,应保留对应原因标签。
  • 如果该订单没有其他待处理原因,应从待处理列表移除。

验收标准

场景 期望
HL20260702232101505 未读数为 2 列表行显示“有未读消息”标签,并显示未读数量 2
HL20260702232103376 未读数为 0 不显示“有未读消息”标签
同一订单同时存在未读消息、改需求、酒店超时 同一行展示 3 个独立原因标签,不互相覆盖
已完成订单因未读消息进入待处理 用户能通过标签理解进入待处理的原因
读完消息并刷新 “有未读消息”标签和数字同步消失;其他原因标签保留;无其他待处理原因时订单退出待处理列表

影响范围

页面/能力 说明
/housekeeper/todos 房务管家待处理列表
unreadMessageCount 复用现有后端字段,无接口新增