# 功能测试 - 电池复投管理

> 模块：计划与生产 / 生产监控 / 电池复投管理 (Rework Management)
> 路由：`/planning_production/produce/monitor/set_battery_rebatch`

## 测试前置条件

- 测试账号具备访问“电池复投管理”的菜单权限。
- 准备至少 3 个可用于验证的电池条码，其中包含：
  - 允许复投的电池条码。
  - 不允许复投或不存在的电池条码。
  - 已激活和未激活状态各一条。
- 后端 Workerman 服务可用，接口 `production_configuration/workerman/send` 可正常响应。

## 测试任务列表

| 序号 | 测试项 | 操作步骤 | 预期结果 |
|---:|---|---|---|
| 1 | 页面入口 | 从菜单进入“电池复投管理”页面，或直接访问 `/planning_production/produce/monitor/set_battery_rebatch` | 页面正常打开，显示电池条码输入框、验证数据、重置、复投激活按钮和空表格 |
| 2 | 单个电池验证 | 在电池条码输入框输入一条有效电池条码，点击“验证数据” | 表格展示该电池的批次、托盘、流水号、激活状态、档位、上一工序和当前工序 |
| 3 | 多电池粘贴验证 | 在输入框输入多个条码，使用逗号、空格或换行分隔，点击“验证数据” | 系统可自动规范化输入并返回多行电池数据 |
| 4 | 多电池弹窗输入 | 点击输入框右侧导入按钮，在弹窗中每行输入一个电池条码，点击“确定”后再点击“验证数据” | 输入框自动填入逗号分隔条码，表格展示对应验证数据 |
| 5 | 空输入校验 | 清空电池条码，点击“验证数据” | 页面提示“请输入电池条码数据”，不发起有效验证 |
| 6 | 重置功能 | 输入条码并验证出表格数据后，点击“重置” | 输入框、表格数据和已选行清空 |
| 7 | 全部复投激活 | 验证出多条可复投电池数据，不勾选表格行，点击“复投激活”并确认 | 请求提交表格内全部电池条码，成功后提示复投激活操作成功 |
| 8 | 选中行复投激活 | 验证出多条电池数据，勾选其中一部分，点击“复投激活”并确认 | 仅提交被勾选的电池条码，成功后提示复投激活操作成功 |
| 9 | 未验证直接复投 | 输入电池条码但不点击“验证数据”，直接点击“复投激活” | 页面提示需要先验证电池数据，不提交 Workerman 复投请求 |
| 10 | 复投取消 | 验证出表格数据，点击“复投激活”，在确认框点击取消 | 不提交复投请求，页面数据保持不变 |
| 11 | 后端失败提示 | 使用后端会返回失败的电池数据执行复投 | 页面显示后端错误信息或“复投激活失败”提示 |
| 12 | 国际化检查 | 切换中英文语言后重新进入页面 | 页面按钮、表格列和提示文案随语言切换显示 |

## 回归关注点

- 验证接口返回空数据时，表格应显示空态且页面不报错。
- 表格行勾选后再重置，已选状态应同步清空。
- 复投激活接口调用参数中的 `action` 应为 `set_battery_rebatch`，`battery_ids` 应与测试输入或勾选行一致。
