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

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

## 问题现象

测试页面：

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

当前结果：

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

用户期望：

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

## 后端当前口径

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

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

测试服复验结果：

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

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

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

在 `/housekeeper/todos` 列表中，按行判断：

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

展示规则：

- `unreadMessageCount > 0`：展示标签“有未读消息”，并保留未读数字气泡。
- `unreadMessageCount === 0`：不展示该标签。

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

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

示例：

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

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

建议实现口径：

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

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

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

建议展示位置：

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

### 4. 读完消息后的刷新

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

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

## 验收标准

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

## 影响范围

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