# 功能测试 - 托盘追溯

> 模块：数据中台 / 基础追溯 / 托盘追溯 (Tray Traceability)
> 路由：`/data_middleground/produce/traceability/tray`

## 测试前置条件

- 测试账号具备访问“托盘追溯”和“电池追溯”的菜单权限。
- 准备至少 1 个存在电池明细和工序时间线的托盘号。
- 后端接口 `tray`、`traydetail`、`batteryactive` 可正常访问。

## 测试任务列表

| 序号 | 测试项 | 操作步骤 | 预期结果 |
|---:|---|---|---|
| 1 | 页面入口 | 进入“托盘追溯”页面 | 页面显示托盘号输入框、查询、重置按钮和托盘列表 |
| 2 | 托盘查询 | 输入有效托盘号并查询 | 表格展示托盘、批次、LOT、激活状态、投入电池数和时间信息 |
| 3 | 空数据查询 | 输入无数据托盘号并查询 | 表格显示空态，页面不报错 |
| 4 | 打开电池明细 | 点击某行“电池明细” | 打开全屏抽屉，展示左侧工序时间线和右侧电池明细表 |
| 5 | 明细搜索 | 在抽屉内输入电池条码关键字 | 明细表按电池条码过滤 |
| 6 | 取消激活校验 | 不选择电池，点击取消电池激活 | 页面提示请至少选择一个电池 |
| 7 | 取消激活 | 选择一个或多个电池后点击取消电池激活 | 调用取消激活接口，成功后刷新明细 |
| 8 | 跳转电池追溯 | 点击明细中的电池条码 | 跳转到电池追溯页面并携带 battery_id 查询参数 |
| 9 | 重置功能 | 查询后点击重置 | 托盘号、列表和分页状态清空 |
| 10 | 国际化检查 | 切换中英文语言后重新进入页面 | 页面按钮、表格列和抽屉文案随语言切换显示 |

## 回归关注点

- 电池明细过滤需要排除空电池条码和 0。
- 取消激活接口参数 `batterData` 必须是已选择电池数组的 JSON 字符串。
- 电池条码跳转需保留 `battery_id` 查询参数。
