Files
mes-ui-d2/docs/功能测试流程文档.md
sheng a0192d9567
Some checks failed
Release pipeline / publish (push) Has been cancelled
Release pipeline / Always run job (push) Has been cancelled
feat(production-master-data): 新增生产主数据模块下物料与工序相关功能
1. 新增物料单位、物料类别、物料信息管理的API与页面
2. 新增工序单元管理的API、页面与弹窗组件
3. 新增可选参数管理组件与相关API
4. 补充对应国际化多语言配置
5. 新增生产主数据模块路由配置
6. 新增计量单位功能测试流程文档
2026-06-02 11:25:26 +08:00

3411 lines
126 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# 功能测试流程文档
> **累积追加模式**:每次完成功能迁移后,将新功能的测试内容追加至本文档末尾。
> 测试人员按章节执行,通过项打 ✅,未通过项记录具体问题。
---
## 测试环境配置
| 配置项 | 要求 |
|--------|------|
| 浏览器 | Chrome 最新版、Edge 最新版 |
| 屏幕分辨率 | ≥ 1920×1080 |
| 后端服务 | 测试环境 API 正常运行 |
| 测试账号 | 具有系统管理员权限(含用户管理、角色管理菜单权限) |
| 语言 | 先测中文,再切换到英文验证 i18n |
---
## 测试前置条件
1. 后端 API 服务已启动并正常运行
2. 前端项目 `pnpm dev` 正常启动,可访问登录页
3. 使用管理员账号登录系统
4. 侧边栏菜单 **系统设置 → 用户管理** 下可见 **角色****用户** 两个子菜单
---
---
# 一、角色管理功能测试
> **迁移日期**2026-05-28
> **对应页面**`src/views/system-administration/user-management/role/index.vue`
> **API 文件**`src/api/system-administration/role.js`
> **路由路径**`/system_settings/user_management/role`
## 1.1 页面加载与数据展示
### TC-ROLE-001角色列表正常加载
| 项目 | 内容 |
|------|------|
| **测试步骤** | 1. 登录系统 2. 点击菜单「系统设置 → 用户管理 → 角色」 |
| **预期结果** | 页面正常加载,显示角色列表表格,包含序号、角色名称、状态、描述、操作列;底部分页组件显示总条数 |
| **实际结果** | |
| **测试状态** | ⬜ 通过 / ⬜ 未通过 |
| **问题描述** | |
### TC-ROLE-002状态列显示正确
| 项目 | 内容 |
|------|------|
| **测试步骤** | 查看角色列表中各行的状态列 |
| **预期结果** | 状态为 1 时显示绿色 ✅ 图标 + "启用" 文字;状态为 0 时显示灰色 ❌ 图标 + "禁用" 文字 |
| **实际结果** | |
| **测试状态** | ⬜ 通过 / ⬜ 未通过 |
| **问题描述** | |
### TC-ROLE-003搜索功能
| 项目 | 内容 |
|------|------|
| **测试步骤** | 1. 在角色名称输入框输入关键字 2. 选择状态下拉为"启用" 3. 点击「查询」按钮 |
| **预期结果** | 表格数据按搜索条件过滤,仅显示匹配的角色 |
| **实际结果** | |
| **测试状态** | ⬜ 通过 / ⬜ 未通过 |
| **问题描述** | |
### TC-ROLE-004重置搜索
| 项目 | 内容 |
|------|------|
| **测试步骤** | 1. 输入搜索条件并查询 2. 点击「重置」按钮 |
| **预期结果** | 搜索条件清空,表格恢复显示全部数据 |
| **实际结果** | |
| **测试状态** | ⬜ 通过 / ⬜ 未通过 |
| **问题描述** | |
### TC-ROLE-005分页功能
| 项目 | 内容 |
|------|------|
| **测试步骤** | 1. 切换每页显示条数 2. 点击下一页/上一页 3. 输入页码跳转 |
| **预期结果** | 分页切换正常,表格数据按分页加载,总条数正确显示 |
| **实际结果** | |
| **测试状态** | ⬜ 通过 / ⬜ 未通过 |
| **问题描述** | |
## 1.2 新增角色
### TC-ROLE-006打开新增弹框
| 项目 | 内容 |
|------|------|
| **测试步骤** | 点击表格上方工具栏「新增」按钮 |
| **预期结果** | 弹出新增角色弹框,标题显示"新增角色",表单为空(名称、描述为空,状态默认"启用" |
| **实际结果** | |
| **测试状态** | ⬜ 通过 / ⬜ 未通过 |
| **问题描述** | |
### TC-ROLE-007新增表单校验
| 项目 | 内容 |
|------|------|
| **测试步骤** | 1. 打开新增弹框 2. 不填写任何内容直接点击「确定」 |
| **预期结果** | 角色名称输入框下方显示红色校验提示"请输入角色名称" |
| **实际结果** | |
| **测试状态** | ⬜ 通过 / ⬜ 未通过 |
| **问题描述** | |
### TC-ROLE-008新增角色成功
| 项目 | 内容 |
|------|------|
| **测试步骤** | 1. 打开新增弹框 2. 输入角色名称(如"测试角色001"3. 输入描述 4. 选择状态为"启用" 5. 点击「确定」 |
| **预期结果** | 弹框关闭,提示"操作成功",表格刷新并显示新增的角色 |
| **实际结果** | |
| **测试状态** | ⬜ 通过 / ⬜ 未通过 |
| **问题描述** | |
### TC-ROLE-009取消新增
| 项目 | 内容 |
|------|------|
| **测试步骤** | 1. 打开新增弹框 2. 填写部分内容 3. 点击「取消」按钮 |
| **预期结果** | 弹框关闭,表格数据不变 |
| **实际结果** | |
| **测试状态** | ⬜ 通过 / ⬜ 未通过 |
| **问题描述** | |
## 1.3 编辑角色
### TC-ROLE-010打开编辑弹框
| 项目 | 内容 |
|------|------|
| **测试步骤** | 点击非系统角色(非超级管理员等)行操作列的「编辑」按钮 |
| **预期结果** | 弹出编辑角色弹框,标题显示"编辑角色",表单回填该角色的名称、描述、状态 |
| **实际结果** | |
| **测试状态** | ⬜ 通过 / ⬜ 未通过 |
| **问题描述** | |
### TC-ROLE-011编辑角色成功
| 项目 | 内容 |
|------|------|
| **测试步骤** | 1. 打开编辑弹框 2. 修改角色名称 3. 点击「确定」 |
| **预期结果** | 弹框关闭,提示"操作成功",表格数据更新 |
| **实际结果** | |
| **测试状态** | ⬜ 通过 / ⬜ 未通过 |
| **问题描述** | |
## 1.4 删除角色
### TC-ROLE-012删除角色确认
| 项目 | 内容 |
|------|------|
| **测试步骤** | 点击非系统角色行操作列的「删除」按钮 |
| **预期结果** | 弹出确认提示框,内容为"确定要删除该角色吗?",有「确定」和「取消」按钮 |
| **实际结果** | |
| **测试状态** | ⬜ 通过 / ⬜ 未通过 |
| **问题描述** | |
### TC-ROLE-013删除角色成功
| 项目 | 内容 |
|------|------|
| **测试步骤** | 1. 点击删除按钮 2. 在确认框中点击「确定」 |
| **预期结果** | 提示"操作成功",该角色从列表中消失,分页总数减 1 |
| **实际结果** | |
| **测试状态** | ⬜ 通过 / ⬜ 未通过 |
| **问题描述** | |
### TC-ROLE-014取消删除
| 项目 | 内容 |
|------|------|
| **测试步骤** | 1. 点击删除按钮 2. 在确认框中点击「取消」 |
| **预期结果** | 确认框关闭,角色数据不变 |
| **实际结果** | |
| **测试状态** | ⬜ 通过 / ⬜ 未通过 |
| **问题描述** | |
## 1.5 启用/禁用角色
### TC-ROLE-015启用角色
| 项目 | 内容 |
|------|------|
| **测试步骤** | 1. 勾选一个或多个状态为"禁用"的非系统角色 2. 点击工具栏「启用」按钮 |
| **预期结果** | 所选角色状态变为"启用" |
| **实际结果** | |
| **测试状态** | ⬜ 通过 / ⬜ 未通过 |
| **问题描述** | |
### TC-ROLE-016禁用角色
| 项目 | 内容 |
|------|------|
| **测试步骤** | 1. 勾选一个或多个状态为"启用"的非系统角色 2. 点击工具栏「禁用」按钮 |
| **预期结果** | 所选角色状态变为"禁用" |
| **实际结果** | |
| **测试状态** | ⬜ 通过 / ⬜ 未通过 |
| **问题描述** | |
### TC-ROLE-017未选中时点击启用/禁用
| 项目 | 内容 |
|------|------|
| **测试步骤** | 不勾选任何行,直接点击工具栏「启用」或「禁用」按钮 |
| **预期结果** | 提示"请先勾选要操作的数据" |
| **实际结果** | |
| **测试状态** | ⬜ 通过 / ⬜ 未通过 |
| **问题描述** | |
## 1.6 系统角色保护
### TC-ROLE-018系统角色不可勾选
| 项目 | 内容 |
|------|------|
| **测试步骤** | 尝试勾选 system=1 的系统角色(如超级管理员) |
| **预期结果** | 复选框不可勾选(灰色禁用状态) |
| **实际结果** | |
| **测试状态** | ⬜ 通过 / ⬜ 未通过 |
| **问题描述** | |
### TC-ROLE-019系统角色不显示编辑/删除/分配权限按钮
| 项目 | 内容 |
|------|------|
| **测试步骤** | 查看系统角色system=1行操作列 |
| **预期结果** | 操作列不显示「编辑」「分配权限」「删除」按钮 |
| **实际结果** | |
| **测试状态** | ⬜ 通过 / ⬜ 未通过 |
| **问题描述** | |
## 1.7 权限分配抽屉
### TC-ROLE-020打开权限分配抽屉
| 项目 | 内容 |
|------|------|
| **测试步骤** | 点击非系统角色行操作列的「分配权限」按钮 |
| **预期结果** | 从右侧滑出抽屉面板,标题显示"分配权限",内含加载中的菜单树,底部有「取消」「确定」按钮 |
| **实际结果** | |
| **测试状态** | ⬜ 通过 / ⬜ 未通过 |
| **问题描述** | |
### TC-ROLE-021权限树正确加载
| 项目 | 内容 |
|------|------|
| **测试步骤** | 等待权限树加载完成 |
| **预期结果** | 显示完整菜单树(含多层级),该角色已拥有的权限节点处于勾选状态 |
| **实际结果** | |
| **测试状态** | ⬜ 通过 / ⬜ 未通过 |
| **问题描述** | |
### TC-ROLE-022勾选/取消权限节点
| 项目 | 内容 |
|------|------|
| **测试步骤** | 1. 勾选一个未勾选的菜单节点 2. 取消一个已勾选的菜单节点 |
| **预期结果** | 勾选状态正常切换父子节点独立勾选check-strictly 模式) |
| **实际结果** | |
| **测试状态** | ⬜ 通过 / ⬜ 未通过 |
| **问题描述** | |
### TC-ROLE-023保存权限分配
| 项目 | 内容 |
|------|------|
| **测试步骤** | 1. 修改权限勾选 2. 点击抽屉底部「确定」按钮 |
| **预期结果** | 提交成功提示"操作成功",抽屉关闭,表格刷新 |
| **实际结果** | |
| **测试状态** | ⬜ 通过 / ⬜ 未通过 |
| **问题描述** | |
### TC-ROLE-024取消权限分配
| 项目 | 内容 |
|------|------|
| **测试步骤** | 1. 修改权限勾选 2. 点击抽屉底部「取消」按钮 |
| **预期结果** | 抽屉关闭,勾选修改不生效 |
| **实际结果** | |
| **测试状态** | ⬜ 通过 / ⬜ 未通过 |
| **问题描述** | |
---
---
# 二、用户管理功能测试
> **迁移日期**2026-05-28
> **对应页面**`src/views/system-administration/user-management/user/index.vue`
> **API 文件**`src/api/system-administration/user.js`
> **路由路径**`/system_settings/user_management/user`
## 2.1 页面加载与数据展示
### TC-USER-001用户列表正常加载
| 项目 | 内容 |
|------|------|
| **测试步骤** | 1. 登录系统 2. 点击菜单「系统设置 → 用户管理 → 用户」 |
| **预期结果** | 页面正常加载显示用户列表表格包含序号、账号、姓名、出入证编号、状态、用户组、上次登录IP、上次登录时间、操作列底部分页组件显示总条数 |
| **实际结果** | |
| **测试状态** | ⬜ 通过 / ⬜ 未通过 |
| **问题描述** | |
### TC-USER-002状态列显示正确
| 项目 | 内容 |
|------|------|
| **测试步骤** | 查看用户列表中各行的状态列 |
| **预期结果** | 状态为 1 时显示绿色 ✅ 图标 + "启用" 文字;状态为 0 时显示灰色 ❌ 图标 + "禁用" 文字 |
| **实际结果** | |
| **测试状态** | ⬜ 通过 / ⬜ 未通过 |
| **问题描述** | |
### TC-USER-003搜索功能—按账号
| 项目 | 内容 |
|------|------|
| **测试步骤** | 1. 在账号输入框输入关键字 2. 点击「查询」 |
| **预期结果** | 表格数据按账号关键字过滤 |
| **实际结果** | |
| **测试状态** | ⬜ 通过 / ⬜ 未通过 |
| **问题描述** | |
### TC-USER-004搜索功能—按姓名
| 项目 | 内容 |
|------|------|
| **测试步骤** | 1. 在姓名输入框输入关键字 2. 点击「查询」 |
| **预期结果** | 表格数据按姓名关键字过滤 |
| **实际结果** | |
| **测试状态** | ⬜ 通过 / ⬜ 未通过 |
| **问题描述** | |
### TC-USER-005搜索功能—组合条件
| 项目 | 内容 |
|------|------|
| **测试步骤** | 1. 同时输入账号和姓名关键字 2. 点击「查询」 |
| **预期结果** | 表格数据按两个条件同时过滤AND 逻辑) |
| **实际结果** | |
| **测试状态** | ⬜ 通过 / ⬜ 未通过 |
| **问题描述** | |
### TC-USER-006重置搜索
| 项目 | 内容 |
|------|------|
| **测试步骤** | 1. 输入搜索条件并查询 2. 点击「重置」按钮 |
| **预期结果** | 搜索条件清空,表格恢复显示全部数据 |
| **实际结果** | |
| **测试状态** | ⬜ 通过 / ⬜ 未通过 |
| **问题描述** | |
### TC-USER-007分页功能
| 项目 | 内容 |
|------|------|
| **测试步骤** | 1. 切换每页显示条数10/25/50/1002. 点击下一页/上一页 3. 输入页码跳转 |
| **预期结果** | 分页切换正常,表格数据按分页加载,总条数正确显示 |
| **实际结果** | |
| **测试状态** | ⬜ 通过 / ⬜ 未通过 |
| **问题描述** | |
## 2.2 新增用户
### TC-USER-008打开新增弹框
| 项目 | 内容 |
|------|------|
| **测试步骤** | 点击表格上方工具栏「新增」按钮 |
| **预期结果** | 弹出新增用户弹框,标题显示"新增用户",表单包含:账号、密码、确认密码、用户组(下拉)、姓名、出入证编号、状态(默认"启用" |
| **实际结果** | |
| **测试状态** | ⬜ 通过 / ⬜ 未通过 |
| **问题描述** | |
### TC-USER-009新增表单校验—必填项
| 项目 | 内容 |
|------|------|
| **测试步骤** | 1. 打开新增弹框 2. 不填写任何内容直接点击「确定」 |
| **预期结果** | 账号、密码、确认密码、用户组字段下方分别显示红色校验提示 |
| **实际结果** | |
| **测试状态** | ⬜ 通过 / ⬜ 未通过 |
| **问题描述** | |
### TC-USER-010新增表单校验—账号长度
| 项目 | 内容 |
|------|------|
| **测试步骤** | 1. 打开新增弹框 2. 输入账号为 2 个字符(如"ab"3. 点击「确定」 |
| **预期结果** | 账号字段下方提示"长度在 3 到 20 个字符" |
| **实际结果** | |
| **测试状态** | ⬜ 通过 / ⬜ 未通过 |
| **问题描述** | |
### TC-USER-011新增表单校验—密码长度
| 项目 | 内容 |
|------|------|
| **测试步骤** | 1. 打开新增弹框 2. 输入密码为 5 个字符 3. 点击「确定」 |
| **预期结果** | 密码字段下方提示"长度在 6 到 64 个字符" |
| **实际结果** | |
| **测试状态** | ⬜ 通过 / ⬜ 未通过 |
| **问题描述** | |
### TC-USER-012新增表单校验—两次密码不一致
| 项目 | 内容 |
|------|------|
| **测试步骤** | 1. 打开新增弹框 2. 密码输入"123456",确认密码输入"654321" 3. 填写其他必填项 4. 点击「确定」 |
| **预期结果** | 提示"两次输入的密码不一致",弹框不关闭 |
| **实际结果** | |
| **测试状态** | ⬜ 通过 / ⬜ 未通过 |
| **问题描述** | |
### TC-USER-013新增用户成功
| 项目 | 内容 |
|------|------|
| **测试步骤** | 1. 打开新增弹框 2. 输入账号(如"testuser001"3. 输入密码和确认密码 4. 选择用户组 5. 输入姓名 6. 选择状态为"启用" 7. 点击「确定」 |
| **预期结果** | 弹框关闭,提示"操作成功",表格刷新并显示新增的用户 |
| **实际结果** | |
| **测试状态** | ⬜ 通过 / ⬜ 未通过 |
| **问题描述** | |
### TC-USER-014取消新增
| 项目 | 内容 |
|------|------|
| **测试步骤** | 1. 打开新增弹框 2. 填写部分内容 3. 点击「取消」按钮 |
| **预期结果** | 弹框关闭,表格数据不变 |
| **实际结果** | |
| **测试状态** | ⬜ 通过 / ⬜ 未通过 |
| **问题描述** | |
## 2.3 编辑用户
### TC-USER-015打开编辑弹框
| 项目 | 内容 |
|------|------|
| **测试步骤** | 点击任意用户行操作列的「编辑」按钮 |
| **预期结果** | 弹出编辑用户弹框,标题显示"编辑用户",表单回填该用户的账号、用户组、姓名、出入证编号、状态;密码和确认密码字段不显示 |
| **实际结果** | |
| **测试状态** | ⬜ 通过 / ⬜ 未通过 |
| **问题描述** | |
### TC-USER-016编辑用户成功
| 项目 | 内容 |
|------|------|
| **测试步骤** | 1. 打开编辑弹框 2. 修改用户组 3. 修改姓名 4. 点击「确定」 |
| **预期结果** | 弹框关闭,提示"操作成功",表格数据更新 |
| **实际结果** | |
| **测试状态** | ⬜ 通过 / ⬜ 未通过 |
| **问题描述** | |
## 2.4 删除用户
### TC-USER-017删除其他用户确认
| 项目 | 内容 |
|------|------|
| **测试步骤** | 点击非当前登录用户行操作列的「删除」按钮 |
| **预期结果** | 弹出确认提示框"确定要删除该用户吗?",有「确定」和「取消」按钮 |
| **实际结果** | |
| **测试状态** | ⬜ 通过 / ⬜ 未通过 |
| **问题描述** | |
### TC-USER-018删除用户成功
| 项目 | 内容 |
|------|------|
| **测试步骤** | 1. 点击非当前用户的删除按钮 2. 在确认框中点击「确定」 |
| **预期结果** | 提示"操作成功",该用户从列表中消失 |
| **实际结果** | |
| **测试状态** | ⬜ 通过 / ⬜ 未通过 |
| **问题描述** | |
### TC-USER-019不能删除自己
| 项目 | 内容 |
|------|------|
| **测试步骤** | 找到当前登录用户所在行,点击「删除」按钮 |
| **预期结果** | 提示"不能删除自己的账号",不弹出确认框 |
| **实际结果** | |
| **测试状态** | ⬜ 通过 / ⬜ 未通过 |
| **问题描述** | |
## 2.5 批量删除
### TC-USER-020批量删除—正常
| 项目 | 内容 |
|------|------|
| **测试步骤** | 1. 勾选多个非当前用户的用户行 2. 点击工具栏「批量删除」按钮 3. 确认框中点击「确定」 |
| **预期结果** | 提示"操作成功",勾选的用户从列表中消失 |
| **实际结果** | |
| **测试状态** | ⬜ 通过 / ⬜ 未通过 |
| **问题描述** | |
### TC-USER-021批量删除—包含自己
| 项目 | 内容 |
|------|------|
| **测试步骤** | 1. 勾选自己 + 其他用户 2. 点击工具栏「批量删除」按钮 |
| **预期结果** | 自己的账号自动从勾选列表中排除,仅删除其他用户 |
| **实际结果** | |
| **测试状态** | ⬜ 通过 / ⬜ 未通过 |
| **问题描述** | |
### TC-USER-022批量删除—未勾选
| 项目 | 内容 |
|------|------|
| **测试步骤** | 不勾选任何行,直接点击「批量删除」按钮 |
| **预期结果** | 提示"请先勾选要操作的数据" |
| **实际结果** | |
| **测试状态** | ⬜ 通过 / ⬜ 未通过 |
| **问题描述** | |
## 2.6 启用/禁用用户
### TC-USER-023启用用户
| 项目 | 内容 |
|------|------|
| **测试步骤** | 1. 勾选一个或多个状态为"禁用"的其他用户 2. 点击工具栏「启用」按钮 3. 确认框中点击「确定」 |
| **预期结果** | 所选用户状态变为"启用" |
| **实际结果** | |
| **测试状态** | ⬜ 通过 / ⬜ 未通过 |
| **问题描述** | |
### TC-USER-024禁用用户
| 项目 | 内容 |
|------|------|
| **测试步骤** | 1. 勾选一个或多个状态为"启用"的其他用户 2. 点击工具栏「禁用」按钮 3. 确认框中点击「确定」 |
| **预期结果** | 所选用户状态变为"禁用" |
| **实际结果** | |
| **测试状态** | ⬜ 通过 / ⬜ 未通过 |
| **问题描述** | |
### TC-USER-025不能禁用自己
| 项目 | 内容 |
|------|------|
| **测试步骤** | 1. 勾选自己的账号 2. 点击工具栏「禁用」按钮 |
| **预期结果** | 提示"不能操作自己的账号",操作不执行 |
| **实际结果** | |
| **测试状态** | ⬜ 通过 / ⬜ 未通过 |
| **问题描述** | |
### TC-USER-026未勾选时点击启用/禁用
| 项目 | 内容 |
|------|------|
| **测试步骤** | 不勾选任何行,直接点击「启用」或「禁用」按钮 |
| **预期结果** | 提示"请先勾选要操作的数据" |
| **实际结果** | |
| **测试状态** | ⬜ 通过 / ⬜ 未通过 |
| **问题描述** | |
## 2.7 重置密码
### TC-USER-027重置密码确认
| 项目 | 内容 |
|------|------|
| **测试步骤** | 点击任意用户行操作列的「重置密码」按钮 |
| **预期结果** | 弹出确认提示框"确定要重置该用户密码吗?" |
| **实际结果** | |
| **测试状态** | ⬜ 通过 / ⬜ 未通过 |
| **问题描述** | |
### TC-USER-028重置密码成功
| 项目 | 内容 |
|------|------|
| **测试步骤** | 1. 点击「重置密码」按钮 2. 在确认框中点击「确定」 |
| **预期结果** | 提示"操作成功",该用户密码被重置 |
| **实际结果** | |
| **测试状态** | ⬜ 通过 / ⬜ 未通过 |
| **问题描述** | |
### TC-USER-029取消重置密码
| 项目 | 内容 |
|------|------|
| **测试步骤** | 1. 点击「重置密码」按钮 2. 在确认框中点击「取消」 |
| **预期结果** | 确认框关闭,密码不变 |
| **实际结果** | |
| **测试状态** | ⬜ 通过 / ⬜ 未通过 |
| **问题描述** | |
## 2.8 用户组下拉数据
### TC-USER-030新增时用户组下拉有数据
| 项目 | 内容 |
|------|------|
| **测试步骤** | 打开新增用户弹框,点击用户组下拉框 |
| **预期结果** | 下拉框显示所有角色列表(从角色管理页创建的角色应全部出现) |
| **实际结果** | |
| **测试状态** | ⬜ 通过 / ⬜ 未通过 |
| **问题描述** | |
### TC-USER-031编辑时用户组下拉有数据
| 项目 | 内容 |
|------|------|
| **测试步骤** | 打开编辑用户弹框,点击用户组下拉框 |
| **预期结果** | 下拉框显示所有角色列表,当前用户所属角色为选中状态 |
| **实际结果** | |
| **测试状态** | ⬜ 通过 / ⬜ 未通过 |
| **问题描述** | |
## 2.9 多语言切换
### TC-USER-032切换到英文
| 项目 | 内容 |
|------|------|
| **测试步骤** | 1. 切换到英文语言 2. 查看用户管理页面 |
| **预期结果** | 所有标签、按钮、表头、弹框标题均切换为英文显示 |
| **实际结果** | |
| **测试状态** | ⬜ 通过 / ⬜ 未通过 |
| **问题描述** | |
### TC-USER-033英文下操作正常
| 项目 | 内容 |
|------|------|
| **测试步骤** | 在英文界面下执行:查询、新增、编辑、删除操作 |
| **预期结果** | 所有功能正常运行,提示信息为英文 |
| **实际结果** | |
| **测试状态** | ⬜ 通过 / ⬜ 未通过 |
| **问题描述** | |
---
# 三、菜单配置功能测试
> **迁移日期**2026-05-29
> **对应页面**`src/views/system-administration/menu-management/menu-configuration/index.vue`
> **API 文件**`src/api/system-administration/menu-configuration.js`
> **路由路径**`/system_settings/menu_configuration/menu`
> **页面结构**:左侧树形菜单 + 右侧表单卡片 + 顶部筛选栏
## 3.1 页面加载与树形展示
### TC-MENU-001菜单配置页面正常加载
| 项目 | 内容 |
|------|------|
| **测试步骤** | 1. 登录系统 2. 点击菜单「系统设置 → 菜单管理 → 菜单配置」 |
| **预期结果** | 页面正常加载,左侧显示后台菜单树形结构(含文件夹/文档图标和菜单名称),右侧默认显示表单卡片(标题为"新增菜单" |
| **实际结果** | |
| **测试状态** | ⬜ 通过 / ⬜ 未通过 |
| **问题描述** | |
### TC-MENU-002树节点图标正确显示
| 项目 | 内容 |
|------|------|
| **测试步骤** | 查看左侧树形结构的各级节点图标 |
| **预期结果** | 有子节点的菜单展开时显示「打开的文件夹」图标,收起时显示「关闭的文件夹」图标;叶子节点显示「文档」图标;如果菜单配置了 FontAwesome 图标,则显示对应图标 |
| **实际结果** | |
| **测试状态** | ⬜ 通过 / ⬜ 未通过 |
| **问题描述** | |
### TC-MENU-003点击树节点加载表单
| 项目 | 内容 |
|------|------|
| **测试步骤** | 点击左侧树形结构中任意菜单节点 |
| **预期结果** | 右侧表单卡片标题变为"编辑菜单"表单回填该菜单的所有信息上级菜单、名称、别名、图标、排序、导航开关、链接类型、打开方式、URL、参数、备注 |
| **实际结果** | |
| **测试状态** | ⬜ 通过 / ⬜ 未通过 |
| **问题描述** | |
### TC-MENU-004禁用菜单节点差异化显示
| 项目 | 内容 |
|------|------|
| **测试步骤** | 找到状态为"禁用"的菜单节点(如有),查看其显示样式 |
| **预期结果** | 禁用的菜单节点文字颜色为灰色,并带有删除线样式(`text-decoration: line-through`),与其他正常节点明显区分 |
| **实际结果** | |
| **测试状态** | ⬜ 通过 / ⬜ 未通过 |
| **问题描述** | |
## 3.2 模块切换筛选
### TC-MENU-005切换到 PDA 模块
| 项目 | 内容 |
|------|------|
| **测试步骤** | 在顶部筛选栏点击「PDA」单选按钮 |
| **预期结果** | 树形结构自动刷新,切换到 PDA 模块的菜单数据(与后台模块菜单不同) |
| **实际结果** | |
| **测试状态** | ⬜ 通过 / ⬜ 未通过 |
| **问题描述** | |
### TC-MENU-006按状态筛选
| 项目 | 内容 |
|------|------|
| **测试步骤** | 1. 在状态下拉框选择"启用" 2. 点击「查询」按钮 |
| **预期结果** | 树形结构仅显示状态为启用的菜单节点 |
| **实际结果** | |
| **测试状态** | ⬜ 通过 / ⬜ 未通过 |
| **问题描述** | |
### TC-MENU-007按导航属性筛选
| 项目 | 内容 |
|------|------|
| **测试步骤** | 1. 在导航属性下拉框选择"可见" 2. 点击「查询」按钮 |
| **预期结果** | 树形结构仅显示导航属性为可见的菜单节点 |
| **实际结果** | |
| **测试状态** | ⬜ 通过 / ⬜ 未通过 |
| **问题描述** | |
### TC-MENU-008按菜单深度筛选
| 项目 | 内容 |
|------|------|
| **测试步骤** | 1. 设置菜单深度为 1 2. 点击「查询」按钮 |
| **预期结果** | 树形结构仅显示深度为 1一级菜单的节点 |
| **实际结果** | |
| **测试状态** | ⬜ 通过 / ⬜ 未通过 |
| **问题描述** | |
### TC-MENU-009重置搜索条件
| 项目 | 内容 |
|------|------|
| **测试步骤** | 1. 设置多个筛选条件并查询 2. 点击「重置」按钮 |
| **预期结果** | 筛选条件恢复默认(模块=后台,其他清空),树形结构恢复加载全部后台菜单数据 |
| **实际结果** | |
| **测试状态** | ⬜ 通过 / ⬜ 未通过 |
| **问题描述** | |
## 3.3 树的展开/收起/过滤
### TC-MENU-010一键展开所有节点
| 项目 | 内容 |
|------|------|
| **测试步骤** | 点击工具栏「展开」按钮 |
| **预期结果** | 树形结构所有节点全部展开,显示完整的层级结构 |
| **实际结果** | |
| **测试状态** | ⬜ 通过 / ⬜ 未通过 |
| **问题描述** | |
### TC-MENU-011一键收起所有节点
| 项目 | 内容 |
|------|------|
| **测试步骤** | 1. 先点击「展开」使所有节点展开 2. 再点击「收起」按钮 |
| **预期结果** | 所有子节点收起,仅显示一级根节点 |
| **实际结果** | |
| **测试状态** | ⬜ 通过 / ⬜ 未通过 |
| **问题描述** | |
### TC-MENU-012过滤树节点
| 项目 | 内容 |
|------|------|
| **测试步骤** | 1. 在过滤输入框输入某个菜单名称的关键字(如"用户"2. 观察树形结构变化 |
| **预期结果** | 树形结构仅显示名称包含关键字的节点及其父/子路径节点 |
| **实际结果** | |
| **测试状态** | ⬜ 通过 / ⬜ 未通过 |
| **问题描述** | |
### TC-MENU-013清除过滤
| 项目 | 内容 |
|------|------|
| **测试步骤** | 1. 输入过滤关键字使树节点被过滤 2. 清除过滤输入框内容(点击清空按钮或手动删除) |
| **预期结果** | 树形结构恢复显示所有菜单节点 |
| **实际结果** | |
| **测试状态** | ⬜ 通过 / ⬜ 未通过 |
| **问题描述** | |
## 3.4 新增菜单(顶层)
### TC-MENU-014新增顶层菜单—点击按钮
| 项目 | 内容 |
|------|------|
| **测试步骤** | 点击工具栏「新增顶层菜单」按钮 |
| **预期结果** | 右侧表单标题变为"新增菜单",表单所有字段清空为默认值,上级菜单为空(顶层) |
| **实际结果** | |
| **测试状态** | ⬜ 通过 / ⬜ 未通过 |
| **问题描述** | |
### TC-MENU-015新增顶层菜单—成功
| 项目 | 内容 |
|------|------|
| **测试步骤** | 1. 点击「新增顶层菜单」2. 填写名称(如"测试菜单"3. 选择图标 4. 设置排序号 5. 设置导航开关 6. 点击「确定」 |
| **预期结果** | 提示"操作成功",左侧树形结构根级新增该菜单节点,表单恢复为新增状态 |
| **实际结果** | |
| **测试状态** | ⬜ 通过 / ⬜ 未通过 |
| **问题描述** | |
### TC-MENU-016新增顶层菜单—名称必填校验
| 项目 | 内容 |
|------|------|
| **测试步骤** | 1. 点击「新增顶层菜单」2. 不填写名称,点击「确定」 |
| **预期结果** | 名称字段下方提示"名称不能为空",表单不提交 |
| **实际结果** | |
| **测试状态** | ⬜ 通过 / ⬜ 未通过 |
| **问题描述** | |
### TC-MENU-017新增顶层菜单—名称长度校验
| 项目 | 内容 |
|------|------|
| **测试步骤** | 1. 点击「新增顶层菜单」2. 名称输入超过 32 个字符 3. 点击「确定」 |
| **预期结果** | 名称字段下方提示"长度不能大于 32 个字符" |
| **实际结果** | |
| **测试状态** | ⬜ 通过 / ⬜ 未通过 |
| **问题描述** | |
## 3.5 新增子菜单
### TC-MENU-018新增子菜单—通过行按钮
| 项目 | 内容 |
|------|------|
| **测试步骤** | 将鼠标悬停到某个树节点上,点击出现的「新增」按钮 |
| **预期结果** | 右侧表单标题变为"新增菜单",上级菜单自动设置为当前悬停的节点,表单其他字段为空 |
| **实际结果** | |
| **测试状态** | ⬜ 通过 / ⬜ 未通过 |
| **问题描述** | |
### TC-MENU-019新增子菜单—成功
| 项目 | 内容 |
|------|------|
| **测试步骤** | 1. 悬停到某个树节点上点击「新增」2. 填写名称 3. 选择链接类型为"模块" 4. 填写 URL 5. 点击「确定」 |
| **预期结果** | 提示"操作成功",左侧树形结构中该节点下出现新增的子菜单节点,表单恢复为新增状态 |
| **实际结果** | |
| **测试状态** | ⬜ 通过 / ⬜ 未通过 |
| **问题描述** | |
### TC-MENU-020上级菜单级联选择器搜索
| 项目 | 内容 |
|------|------|
| **测试步骤** | 1. 点击「新增顶层菜单」2. 在上级菜单级联选择器中输入关键字搜索(如"首页" |
| **预期结果** | 级联选择器按关键字过滤,可从中选择任意节点作为上级菜单 |
| **实际结果** | |
| **测试状态** | ⬜ 通过 / ⬜ 未通过 |
| **问题描述** | |
## 3.6 编辑菜单
### TC-MENU-021编辑菜单—修改基本信息
| 项目 | 内容 |
|------|------|
| **测试步骤** | 1. 点击树中某个菜单节点加载编辑表单 2. 修改名称、别名 3. 修改排序号 4. 点击「修改」按钮 |
| **预期结果** | 提示"操作成功",树中该节点的名称和排序立即更新 |
| **实际结果** | |
| **测试状态** | ⬜ 通过 / ⬜ 未通过 |
| **问题描述** | |
### TC-MENU-022编辑菜单—切换链接类型
| 项目 | 内容 |
|------|------|
| **测试步骤** | 1. 点击树中某个模块菜单节点 2. 切换链接类型为"外链" 3. 输入外部 URL 4. 点击「修改」 |
| **预期结果** | 提示"操作成功",菜单链接类型和外链 URL 保存成功 |
| **实际结果** | |
| **测试状态** | ⬜ 通过 / ⬜ 未通过 |
| **问题描述** | |
### TC-MENU-023编辑菜单—设置导航属性
| 项目 | 内容 |
|------|------|
| **测试步骤** | 1. 点击树中某个菜单节点 2. 切换导航开关(开启→关闭 或 关闭→开启3. 点击「修改」 |
| **预期结果** | 提示"操作成功",导航属性更新(在侧边栏菜单渲染时相应生效) |
| **实际结果** | |
| **测试状态** | ⬜ 通过 / ⬜ 未通过 |
| **问题描述** | |
### TC-MENU-024编辑菜单—修改打开方式
| 项目 | 内容 |
|------|------|
| **测试步骤** | 1. 点击树中某个外链菜单 2. 切换打开方式为"新窗口" 3. 点击「修改」 |
| **预期结果** | 提示"操作成功",打开方式更新为在新标签页打开 |
| **实际结果** | |
| **测试状态** | ⬜ 通过 / ⬜ 未通过 |
| **问题描述** | |
## 3.7 删除菜单
### TC-MENU-025删除菜单—确认弹框
| 项目 | 内容 |
|------|------|
| **测试步骤** | 鼠标悬停到某个菜单节点上,点击出现的「删除」按钮 |
| **预期结果** | 弹出确认提示框"确定要执行该操作吗?",有「确定」和「取消」按钮 |
| **实际结果** | |
| **测试状态** | ⬜ 通过 / ⬜ 未通过 |
| **问题描述** | |
### TC-MENU-026删除菜单—成功
| 项目 | 内容 |
|------|------|
| **测试步骤** | 1. 悬停到叶子菜单节点上点击「删除」2. 在确认框中点击「确定」 |
| **预期结果** | 提示"操作成功",该菜单节点从树中消失 |
| **实际结果** | |
| **测试状态** | ⬜ 通过 / ⬜ 未通过 |
| **问题描述** | |
### TC-MENU-027删除菜单—取消
| 项目 | 内容 |
|------|------|
| **测试步骤** | 1. 点击「删除」按钮 2. 在确认框中点击「取消」 |
| **预期结果** | 确认框关闭,菜单节点未被删除 |
| **实际结果** | |
| **测试状态** | ⬜ 通过 / ⬜ 未通过 |
| **问题描述** | |
## 3.8 启用/禁用菜单
### TC-MENU-028禁用菜单—确认弹框
| 项目 | 内容 |
|------|------|
| **测试步骤** | 鼠标悬停到某个状态为启用的菜单节点上,点击出现的「禁用」按钮 |
| **预期结果** | 弹出确认提示框"状态的切换会影响上下级菜单,是否确认操作?" |
| **实际结果** | |
| **测试状态** | ⬜ 通过 / ⬜ 未通过 |
| **问题描述** | |
### TC-MENU-029禁用菜单—成功
| 项目 | 内容 |
|------|------|
| **测试步骤** | 1. 点击启用菜单的「禁用」按钮 2. 在确认框中点击「确定」 |
| **预期结果** | 提示"操作成功",树刷新后该节点显示为灰色+删除线的禁用样式 |
| **实际结果** | |
| **测试状态** | ⬜ 通过 / ⬜ 未通过 |
| **问题描述** | |
### TC-MENU-030启用菜单—成功
| 项目 | 内容 |
|------|------|
| **测试步骤** | 1. 点击禁用菜单的「启用」按钮 2. 在确认框中点击「确定」 |
| **预期结果** | 提示"操作成功",树刷新后该节点恢复正常显示样式 |
| **实际结果** | |
| **测试状态** | ⬜ 通过 / ⬜ 未通过 |
| **问题描述** | |
## 3.9 拖拽排序
### TC-MENU-031拖拽调整同级顺序
| 项目 | 内容 |
|------|------|
| **测试步骤** | 在同级菜单中,拖拽某个节点到另一个同级节点的上方或下方 |
| **预期结果** | 松手后触发排序 API同级节点的排序号自动更新页面刷新后顺序保持 |
| **实际结果** | |
| **测试状态** | ⬜ 通过 / ⬜ 未通过 |
| **问题描述** | |
### TC-MENU-032拖拽移动到其他父级
| 项目 | 内容 |
|------|------|
| **测试步骤** | 拖拽某个菜单节点到另一个非同级父节点内部 |
| **预期结果** | 菜单移动到新父级下,页面刷新后位置保持 |
| **实际结果** | |
| **测试状态** | ⬜ 通过 / ⬜ 未通过 |
| **问题描述** | |
## 3.10 表单校验
### TC-MENU-033别名长度校验
| 项目 | 内容 |
|------|------|
| **测试步骤** | 1. 新增或编辑菜单 2. 别名输入超过 16 个字符 3. 点击提交 |
| **预期结果** | 别名字段下方提示"长度不能大于 16 个字符" |
| **实际结果** | |
| **测试状态** | ⬜ 通过 / ⬜ 未通过 |
| **问题描述** | |
### TC-MENU-034URL 长度校验
| 项目 | 内容 |
|------|------|
| **测试步骤** | 1. 新增外链菜单 2. URL 输入超过 255 个字符 3. 点击提交 |
| **预期结果** | URL 字段下方提示"长度不能大于 255 个字符" |
| **实际结果** | |
| **测试状态** | ⬜ 通过 / ⬜ 未通过 |
| **问题描述** | |
### TC-MENU-035排序号数字校验
| 项目 | 内容 |
|------|------|
| **测试步骤** | 1. 新增或编辑菜单 2. 排序号输入非数字字符 3. 点击提交 |
| **预期结果** | 排序号字段下方提示"必须为数字值" |
| **实际结果** | |
| **测试状态** | ⬜ 通过 / ⬜ 未通过 |
| **问题描述** | |
## 3.11 多语言切换
### TC-MENU-036切换到英文
| 项目 | 内容 |
|------|------|
| **测试步骤** | 1. 切换到英文语言 2. 查看菜单配置页面 |
| **预期结果** | 所有标签、按钮、表单字段名、提示信息均切换为英文显示 |
| **实际结果** | |
| **测试状态** | ⬜ 通过 / ⬜ 未通过 |
| **问题描述** | |
### TC-MENU-037英文下操作正常
| 项目 | 内容 |
|------|------|
| **测试步骤** | 在英文界面下执行:切换模块、新增顶层菜单、新增子菜单、编辑菜单、删除菜单、启用/禁用、拖拽排序 |
| **预期结果** | 所有功能正常运行,提示信息为英文 |
| **实际结果** | |
| **测试状态** | ⬜ 通过 / ⬜ 未通过 |
| **问题描述** | |
---
# 四、接口日志功能测试
> **迁移日期**2026-05-29
> **对应页面**`src/views/system-administration/system-utilities/api-logs/index.vue`
> **API 文件**`src/api/system-administration/api-logs.js`
> **路由路径**`/system_settings/system_assistant/interface_log`
> **页面结构**:顶部搜索区域 + 数据表格 + 查看响应弹框组件
## 4.1 页面加载与数据展示
### TC-API-001接口日志页面正常加载
| 项目 | 内容 |
|------|------|
| **测试步骤** | 1. 登录系统 2. 点击菜单「系统设置 → 系统工具 → 接口日志」 |
| **预期结果** | 页面正常加载,显示接口日志列表表格,包含 ID、IP、请求方法、响应状态、响应时长、工序编码、托盘号、电池条码、批次号、进程ID、创建日期、操作列底部分页组件显示总条数 |
| **实际结果** | |
| **测试状态** | ⬜ 通过 / ⬜ 未通过 |
| **问题描述** | |
### TC-API-002响应状态列显示正确
| 项目 | 内容 |
|------|------|
| **测试步骤** | 查看接口日志列表中各行的响应状态列 |
| **预期结果** | 状态为 0 时显示绿色 ✅ 图标 + "成功"文字;状态非 0 时显示红色 ❌ 图标 + "失败"文字 |
| **实际结果** | |
| **测试状态** | ⬜ 通过 / ⬜ 未通过 |
| **问题描述** | |
### TC-API-003表格列完整显示
| 项目 | 内容 |
|------|------|
| **测试步骤** | 1. 观察表格列头 2. 横向滚动查看所有列 |
| **预期结果** | 表格包含以下列ID、IP、请求方法、响应状态、响应时长(毫秒)、工序编码、托盘号、电池条码、批次号、进程ID、创建日期、操作共 12 列),操作列固定在右侧 |
| **实际结果** | |
| **测试状态** | ⬜ 通过 / ⬜ 未通过 |
| **问题描述** | |
## 4.2 搜索筛选
### TC-API-004按 IP 搜索
| 项目 | 内容 |
|------|------|
| **测试步骤** | 1. 在 IP 输入框输入已知 IP 地址 2. 点击「查询」按钮 |
| **预期结果** | 表格仅显示该 IP 来源的接口日志 |
| **实际结果** | |
| **测试状态** | ⬜ 通过 / ⬜ 未通过 |
| **问题描述** | |
### TC-API-005按接口名称搜索
| 项目 | 内容 |
|------|------|
| **测试步骤** | 1. 在接口名称输入框输入关键字 2. 点击「查询」按钮 |
| **预期结果** | 表格按接口名称过滤,仅显示匹配的记录 |
| **实际结果** | |
| **测试状态** | ⬜ 通过 / ⬜ 未通过 |
| **问题描述** | |
### TC-API-006按状态筛选
| 项目 | 内容 |
|------|------|
| **测试步骤** | 1. 在状态下拉框选择"成功" 2. 点击「查询」按钮 |
| **预期结果** | 表格仅显示响应状态为成功的日志记录 |
| **实际结果** | |
| **测试状态** | ⬜ 通过 / ⬜ 未通过 |
| **问题描述** | |
### TC-API-007按批次搜索
| 项目 | 内容 |
|------|------|
| **测试步骤** | 1. 在批次输入框输入已知批次号 2. 点击「查询」按钮 |
| **预期结果** | 表格仅显示该批次的日志记录 |
| **实际结果** | |
| **测试状态** | ⬜ 通过 / ⬜ 未通过 |
| **问题描述** | |
### TC-API-008按时间范围筛选
| 项目 | 内容 |
|------|------|
| **测试步骤** | 1. 在创建时间选择器中设置一个时间范围 2. 点击「查询」按钮 |
| **预期结果** | 表格仅显示该时间范围内的日志记录 |
| **实际结果** | |
| **测试状态** | ⬜ 通过 / ⬜ 未通过 |
| **问题描述** | |
### TC-API-009组合搜索
| 项目 | 内容 |
|------|------|
| **测试步骤** | 1. 同时设置多个搜索条件(如 IP + 状态 + 时间范围2. 点击「查询」按钮 |
| **预期结果** | 表格按照所有条件的交集进行过滤显示 |
| **实际结果** | |
| **测试状态** | ⬜ 通过 / ⬜ 未通过 |
| **问题描述** | |
### TC-API-010重置搜索条件
| 项目 | 内容 |
|------|------|
| **测试步骤** | 1. 设置多个搜索条件并查询 2. 点击「重置」按钮 |
| **预期结果** | 所有搜索条件清空,表格恢复显示全部数据(第一页) |
| **实际结果** | |
| **测试状态** | ⬜ 通过 / ⬜ 未通过 |
| **问题描述** | |
## 4.3 分页功能
### TC-API-011分页切换
| 项目 | 内容 |
|------|------|
| **测试步骤** | 1. 切换每页显示条数10 → 20 → 502. 点击下一页/上一页 |
| **预期结果** | 分页切换正常,表格数据按分页加载,总条数正确显示 |
| **实际结果** | |
| **测试状态** | ⬜ 通过 / ⬜ 未通过 |
| **问题描述** | |
## 4.4 查看响应
### TC-API-012打开查看响应弹框
| 项目 | 内容 |
|------|------|
| **测试步骤** | 点击任一接口日志行操作列的「查看响应」按钮 |
| **预期结果** | 弹出"响应"弹框,显示两段内容:请求体和响应内容,均为 JSON 树形结构展示 |
| **实际结果** | |
| **测试状态** | ⬜ 通过 / ⬜ 未通过 |
| **问题描述** | |
### TC-API-013复制请求内容
| 项目 | 内容 |
|------|------|
| **测试步骤** | 1. 打开查看响应弹框 2. 点击「复制请求内容」按钮 |
| **预期结果** | 请求体的 JSON 内容被复制到剪贴板,提示"操作成功" |
| **实际结果** | |
| **测试状态** | ⬜ 通过 / ⬜ 未通过 |
| **问题描述** | |
### TC-API-014复制响应内容
| 项目 | 内容 |
|------|------|
| **测试步骤** | 1. 打开查看响应弹框 2. 点击「复制响应内容」按钮 |
| **预期结果** | 响应内容的 JSON 被复制到剪贴板,提示"操作成功" |
| **实际结果** | |
| **测试状态** | ⬜ 通过 / ⬜ 未通过 |
| **问题描述** | |
### TC-API-015关闭响应弹框
| 项目 | 内容 |
|------|------|
| **测试步骤** | 1. 打开查看响应弹框 2. 点击弹框右上角 X 按钮或弹框遮罩层 |
| **预期结果** | 弹框关闭 |
| **实际结果** | |
| **测试状态** | ⬜ 通过 / ⬜ 未通过 |
| **问题描述** | |
### TC-API-016响应弹框 JSON 树形展开/折叠
| 项目 | 内容 |
|------|------|
| **测试步骤** | 1. 打开查看响应弹框 2. 点击请求体或响应内容 JSON 树中的展开/折叠箭头 |
| **预期结果** | JSON 节点可正常展开/折叠,嵌套数据层级清晰可见 |
| **实际结果** | |
| **测试状态** | ⬜ 通过 / ⬜ 未通过 |
| **问题描述** | |
### TC-API-017切换不同行的响应数据
| 项目 | 内容 |
|------|------|
| **测试步骤** | 1. 点击第 1 行「查看响应」→ 记下内容后关闭 2. 点击第 3 行「查看响应」 |
| **预期结果** | 每次打开的弹框显示对应行的请求体和响应内容,数据不混淆 |
| **实际结果** | |
| **测试状态** | ⬜ 通过 / ⬜ 未通过 |
| **问题描述** | |
## 4.5 多语言切换
### TC-API-018切换到英文
| 项目 | 内容 |
|------|------|
| **测试步骤** | 1. 切换到英文语言 2. 查看接口日志页面 |
| **预期结果** | 所有标签、按钮、表头、弹框标题均切换为英文显示;状态列显示 "Success" / "Failure" |
| **实际结果** | |
| **测试状态** | ⬜ 通过 / ⬜ 未通过 |
| **问题描述** | |
### TC-API-019英文下搜索功能正常
| 项目 | 内容 |
|------|------|
| **测试步骤** | 在英文界面下执行:按 IP 搜索、按状态筛选、查看响应、复制请求/响应内容 |
| **预期结果** | 所有功能正常运行,提示信息为英文 |
| **实际结果** | |
| **测试状态** | ⬜ 通过 / ⬜ 未通过 |
| **问题描述** | |
### TC-API-020英文下查看响应弹框正常
| 项目 | 内容 |
|------|------|
| **测试步骤** | 1. 切换到英文 2. 点击「View Response」打开弹框 |
| **预期结果** | 弹框标题为 "Response",分隔标题为 "Request Body" / "Response Body",按钮文字为 "Copy Request" / "Copy Response" |
| **实际结果** | |
| **测试状态** | ⬜ 通过 / ⬜ 未通过 |
| **问题描述** | |
---
# 五、操作日志功能测试
> **迁移日期**2026-05-29
> **对应页面**`src/views/system-administration/system-utilities/operation-logs/index.vue`
> **API 文件**`src/api/system-administration/operation-logs.js`
> **路由路径**`/system_settings/system_assistant/operate_log`
> **页面结构**:折叠式搜索区 + 数据表格 + 查看响应弹框(复用)
## 5.1 页面加载与数据展示
### TC-OPL-001操作日志页面正常加载
| 项目 | 内容 |
|------|------|
| **测试步骤** | 1. 登录系统 2. 点击菜单「系统设置 → 系统工具 → 操作日志」 |
| **预期结果** | 页面正常加载,显示操作日志列表表格,包含 ID、操作人、IP、状态、操作动作名称、操作动作编码、请求路径、批次、托盘号、创建日期、操作列底部显示分页组件和总条数 |
| **实际结果** | |
| **测试状态** | ⬜ 通过 / ⬜ 未通过 |
| **问题描述** | |
### TC-OPL-002响应状态列显示正确
| 项目 | 内容 |
|------|------|
| **测试步骤** | 查看操作日志列表中各行的状态列 |
| **预期结果** | 状态为 0 时显示绿色 ✅ + "成功"文字;状态非 0 时显示红色 ❌ + "失败"文字 |
| **实际结果** | |
| **测试状态** | ⬜ 通过 / ⬜ 未通过 |
| **问题描述** | |
### TC-OPL-003表格列完整显示
| 项目 | 内容 |
|------|------|
| **测试步骤** | 1. 观察表格列头 2. 横向滚动查看所有列 |
| **预期结果** | 表格包含以下列ID、操作人、IP、状态、操作动作名称、操作动作编码、请求路径、批次、托盘号、创建日期、操作共 11 列),操作列固定在右侧 |
| **实际结果** | |
| **测试状态** | ⬜ 通过 / ⬜ 未通过 |
| **问题描述** | |
## 5.2 搜索筛选
### TC-OPL-004按 IP 搜索
| 项目 | 内容 |
|------|------|
| **测试步骤** | 1. 在 IP 输入框输入已知 IP 地址 2. 点击「查询」按钮 |
| **预期结果** | 表格仅显示该 IP 来源的操作日志 |
| **实际结果** | |
| **测试状态** | ⬜ 通过 / ⬜ 未通过 |
| **问题描述** | |
### TC-OPL-005按操作人搜索
| 项目 | 内容 |
|------|------|
| **测试步骤** | 1. 在操作人下拉框选择一个用户 2. 点击「查询」按钮 |
| **预期结果** | 表格仅显示该操作人的日志;下拉框支持输入关键字搜索过滤 |
| **实际结果** | |
| **测试状态** | ⬜ 通过 / ⬜ 未通过 |
| **问题描述** | |
### TC-OPL-006展开更多搜索条件
| 项目 | 内容 |
|------|------|
| **测试步骤** | 1. 点击「展开更多」按钮 2. 观察搜索区 |
| **预期结果** | 搜索区展开显示额外条件:批次、托盘号、创建时间(时间范围选择器);按钮变为「收起」图标向上 |
| **实际结果** | |
| **测试状态** | ⬜ 通过 / ⬜ 未通过 |
| **问题描述** | |
### TC-OPL-007折叠搜索条件
| 项目 | 内容 |
|------|------|
| **测试步骤** | 1. 先展开搜索区 2. 点击「收起」按钮 |
| **预期结果** | 额外搜索条件隐藏,搜索区恢复为单行;按钮变回「展开更多」图标向下 |
| **实际结果** | |
| **测试状态** | ⬜ 通过 / ⬜ 未通过 |
| **问题描述** | |
### TC-OPL-008组合搜索
| 项目 | 内容 |
|------|------|
| **测试步骤** | 1. 同时设置多个搜索条件(如 IP + 操作人 + 时间范围2. 点击「查询」按钮 |
| **预期结果** | 表格按照所有条件的交集进行过滤显示 |
| **实际结果** | |
| **测试状态** | ⬜ 通过 / ⬜ 未通过 |
| **问题描述** | |
### TC-OPL-009重置搜索条件
| 项目 | 内容 |
|------|------|
| **测试步骤** | 1. 设置搜索条件并查询 2. 点击「重置」按钮 |
| **预期结果** | 所有搜索条件清空,下拉框恢复默认,表格恢复显示全部数据(第一页) |
| **实际结果** | |
| **测试状态** | ⬜ 通过 / ⬜ 未通过 |
| **问题描述** | |
## 5.3 分页功能
### TC-OPL-010分页切换
| 项目 | 内容 |
|------|------|
| **测试步骤** | 1. 切换每页显示条数10 → 20 → 502. 点击下一页/上一页 |
| **预期结果** | 分页切换正常,表格数据按分页加载,总条数正确显示 |
| **实际结果** | |
| **测试状态** | ⬜ 通过 / ⬜ 未通过 |
| **问题描述** | |
## 5.4 查看响应
### TC-OPL-011打开查看响应弹框
| 项目 | 内容 |
|------|------|
| **测试步骤** | 点击任一操作日志行操作列的「查看响应」按钮 |
| **预期结果** | 弹出"响应"弹框,显示两段 JSON 树形结构:请求体和响应内容 |
| **实际结果** | |
| **测试状态** | ⬜ 通过 / ⬜ 未通过 |
| **问题描述** | |
### TC-OPL-012复制请求内容
| 项目 | 内容 |
|------|------|
| **测试步骤** | 1. 打开查看响应弹框 2. 点击「复制请求内容」按钮 |
| **预期结果** | 请求体的 JSON 被复制到剪贴板,提示"操作成功" |
| **实际结果** | |
| **测试状态** | ⬜ 通过 / ⬜ 未通过 |
| **问题描述** | |
### TC-OPL-013复制响应内容
| 项目 | 内容 |
|------|------|
| **测试步骤** | 1. 打开查看响应弹框 2. 点击「复制响应内容」按钮 |
| **预期结果** | 响应内容的 JSON 被复制到剪贴板,提示"操作成功" |
| **实际结果** | |
| **测试状态** | ⬜ 通过 / ⬜ 未通过 |
| **问题描述** | |
### TC-OPL-014关闭响应弹框
| 项目 | 内容 |
|------|------|
| **测试步骤** | 1. 打开查看响应弹框 2. 点击弹框右上角 X 或遮罩层 |
| **预期结果** | 弹框关闭 |
| **实际结果** | |
| **测试状态** | ⬜ 通过 / ⬜ 未通过 |
| **问题描述** | |
## 5.5 多语言切换
### TC-OPL-015切换到英文
| 项目 | 内容 |
|------|------|
| **测试步骤** | 1. 切换到英文语言 2. 查看操作日志页面 |
| **预期结果** | 所有标签、按钮、表头、弹框均切换为英文;状态列显示 "Success" / "Failure" |
| **实际结果** | |
| **测试状态** | ⬜ 通过 / ⬜ 未通过 |
| **问题描述** | |
### TC-OPL-016英文下搜索功能正常
| 项目 | 内容 |
|------|------|
| **测试步骤** | 在英文界面下执行:按 IP 搜索、按操作人筛选、展开/收起搜索区 |
| **预期结果** | 所有功能正常运行,提示信息为英文;操作人下拉框显示英文用户名 |
| **实际结果** | |
| **测试状态** | ⬜ 通过 / ⬜ 未通过 |
| **问题描述** | |
### TC-OPL-017英文下查看响应弹框正常
| 项目 | 内容 |
|------|------|
| **测试步骤** | 1. 切换到英文 2. 点击「View Response」打开弹框 |
| **预期结果** | 弹框标题 "Response",分隔标题 "Request Body" / "Response Content",按钮 "Copy Request Content" / "Copy Response Content" |
| **实际结果** | |
| **测试状态** | ⬜ 通过 / ⬜ 未通过 |
| **问题描述** | |
### TC-OPL-018表格无选中框
| 项目 | 内容 |
|------|------|
| **测试步骤** | 查看操作日志表格的左侧 |
| **预期结果** | 表格左侧无复选框选中列(只读页面,无需批量操作) |
| **实际结果** | |
| **测试状态** | ⬜ 通过 / ⬜ 未通过 |
| **问题描述** | |
---
# 六、问题帮助功能测试
> **迁移日期**2026-05-29
> **对应页面**`src/views/system-administration/system-utilities/problem-help/index.vue`
> **API 文件**`src/api/system-administration/problem-help.js`
> **路由路径**`/system_settings/system_assistant/problem_help`
> **页面结构**:搜索区 + 左侧树形菜单 + 右侧 Markdown 预览 + 分类弹框 + 文档编辑抽屉
## 6.1 页面加载与数据展示
### TC-PHP-001问题帮助页面正常加载
| 项目 | 内容 |
|------|------|
| **测试前置条件** | 系统中已存在问题帮助的分类目录和文档数据 |
| **测试步骤** | 1. 登录系统 2. 点击菜单「系统设置 → 系统工具 → 问题帮助」 |
| **预期结果** | 页面正常加载,左侧显示树形分类菜单,右侧显示空白提示"请从左侧菜单选择文档查看" |
| **实际结果** | |
| **测试状态** | ⬜ 通过 / ⬜ 未通过 |
| **问题描述** | |
### TC-PHP-002树形菜单展示完整
| 项目 | 内容 |
|------|------|
| **测试步骤** | 观察左侧树形菜单 |
| **预期结果** | 菜单以树形层级结构展示所有分类目录和文档节点md 类型文档显示文件夹图标 📁file 类型文档显示文件图标 📄 |
| **实际结果** | |
| **测试状态** | ⬜ 通过 / ⬜ 未通过 |
| **问题描述** | |
### TC-PHP-003点击文档查看内容
| 项目 | 内容 |
|------|------|
| **测试前置条件** | 树形菜单中存在 md 类型的文档 |
| **测试步骤** | 1. 展开树形菜单的分类目录 2. 点击一个 md 文档节点 |
| **预期结果** | 右侧区域显示 Markdown 渲染后的文档内容,包含标题、提交人、创建时间信息 |
| **实际结果** | |
| **测试状态** | ⬜ 通过 / ⬜ 未通过 |
| **问题描述** | |
### TC-PHP-004树菜单展开/折叠
| 项目 | 内容 |
|------|------|
| **测试步骤** | 1. 点击一个分类目录展开其子节点 2. 点击另一个分类目录 |
| **预期结果** | 树形菜单支持唯一展开(展开新分类时旧分类自动收起),子节点列表正常显示 |
| **实际结果** | |
| **测试状态** | ⬜ 通过 / ⬜ 未通过 |
| **问题描述** | |
## 6.2 搜索功能
### TC-PHP-005搜索文档
| 项目 | 内容 |
|------|------|
| **测试前置条件** | 系统中存在包含搜索关键字的文档 |
| **测试步骤** | 1. 在顶部搜索框输入文档标题关键字 2. 点击搜索按钮或按 Enter |
| **预期结果** | 如果查找结果存在数据,左侧树形菜单上方出现搜索结果卡片区域,显示匹配的文档标题和描述;如果没有匹配数据,无结果展示 |
| **实际结果** | |
| **测试状态** | ⬜ 通过 / ⬜ 未通过 |
| **问题描述** | |
### TC-PHP-006清除搜索结果
| 项目 | 内容 |
|------|------|
| **测试步骤** | 1. 执行搜索出现结果后 2. 点击搜索输入框的清除按钮 |
| **预期结果** | 搜索结果区域消失,恢复显示树形菜单 |
| **实际结果** | |
| **测试状态** | ⬜ 通过 / ⬜ 未通过 |
| **问题描述** | |
### TC-PHP-007搜索空内容
| 项目 | 内容 |
|------|------|
| **测试步骤** | 不输入任何内容,直接点击搜索按钮 |
| **预期结果** | 搜索结果区域清空 / 不出现搜索结果 |
| **实际结果** | |
| **测试状态** | ⬜ 通过 / ⬜ 未通过 |
| **问题描述** | |
## 6.3 分类目录管理
### TC-PHP-008新增分类目录
| 项目 | 内容 |
|------|------|
| **测试步骤** | 1. 点击搜索框旁的「新增目录」按钮 2. 在弹框中填写分类名称 3. 选择上级菜单可选4. 选择查看权限角色 5. 设置序号 6. 点击「确定」 |
| **预期结果** | 提示"添加成功",弹框关闭,树形菜单中显示新分类 |
| **实际结果** | |
| **测试状态** | ⬜ 通过 / ⬜ 未通过 |
| **问题描述** | |
### TC-PHP-009编辑分类目录
| 项目 | 内容 |
|------|------|
| **测试前置条件** | 先在树形菜单上选中一个分类目录 |
| **测试步骤** | 1. 点击树形菜单中的一个分类节点使其被选中 2. 点击左侧工具栏的「编辑」按钮 3. 修改分类名称 4. 点击「修改」 |
| **预期结果** | 提示"修改成功",弹框关闭,树形菜单中的分类名称更新 |
| **实际结果** | |
| **测试状态** | ⬜ 通过 / ⬜ 未通过 |
| **问题描述** | |
### TC-PHP-010删除分类目录
| 项目 | 内容 |
|------|------|
| **测试前置条件** | 先在树形菜单上选中一个分类目录 |
| **测试步骤** | 1. 点击分类节点使其选中 2. 点击「删除」按钮 3. 确认删除弹框 |
| **预期结果** | 删除确认弹框出现,确认后提示"删除成功",树形菜单刷新 |
| **实际结果** | |
| **测试状态** | ⬜ 通过 / ⬜ 未通过 |
| **问题描述** | |
### TC-PHP-011未选中分类时编辑/删除提示
| 项目 | 内容 |
|------|------|
| **测试步骤** | 1. 不选中任何树节点 2. 直接点击「编辑」或「删除」按钮 |
| **预期结果** | 弹出提示"请先选择需要编辑的目录"或"请先选择需要删除的目录" |
| **实际结果** | |
| **测试状态** | ⬜ 通过 / ⬜ 未通过 |
| **问题描述** | |
### TC-PHP-012取消删除操作
| 项目 | 内容 |
|------|------|
| **测试步骤** | 1. 选中分类后点击「删除」2. 在确认弹框中点击「取消」 |
| **预期结果** | 删除操作取消,分类不丢失 |
| **实际结果** | |
| **测试状态** | ⬜ 通过 / ⬜ 未通过 |
| **问题描述** | |
## 6.4 文档管理
### TC-PHP-013新增文档
| 项目 | 内容 |
|------|------|
| **测试步骤** | 1. 点击左侧工具栏「新增文档」2. 在抽屉中填写标题、描述 3. 选择上级分类菜单 4. 选择权限角色 5. 设置序号 6. 在 Markdown 编辑器中输入内容 7. 点击「新增」 |
| **预期结果** | 提示"新增成功",抽屉关闭,树形菜单中显示新文档 |
| **实际结果** | |
| **测试状态** | ⬜ 通过 / ⬜ 未通过 |
| **问题描述** | |
### TC-PHP-014编辑文档
| 项目 | 内容 |
|------|------|
| **测试步骤** | 1. 在树形菜单中找到 md 文档节点 2. 点击文档右侧的「编辑」按钮 |
| **预期结果** | 打开编辑抽屉,回填该文档的标题、描述、分类、内容等数据 |
| **实际结果** | |
| **测试状态** | ⬜ 通过 / ⬜ 未通过 |
| **问题描述** | |
### TC-PHP-015删除文档
| 项目 | 内容 |
|------|------|
| **测试步骤** | 1. 在树形菜单中文档节点右侧点击「删除」2. 确认删除 |
| **预期结果** | 弹出确认框,确认后提示"删除成功",树形菜单刷新 |
| **实际结果** | |
| **测试状态** | ⬜ 通过 / ⬜ 未通过 |
| **问题描述** | |
### TC-PHP-016编辑抽屉关闭确认
| 项目 | 内容 |
|------|------|
| **测试步骤** | 1. 打开新增文档抽屉并填写部分内容 2. 直接点击抽屉遮罩层或右上角 X 关闭 |
| **预期结果** | 弹出"确认关闭?"确认框,确认后抽屉关闭,表单重置 |
| **实际结果** | |
| **测试状态** | ⬜ 通过 / ⬜ 未通过 |
| **问题描述** | |
### TC-PHP-017文档表单验证
| 项目 | 内容 |
|------|------|
| **测试步骤** | 1. 打开新增文档抽屉 2. 不填写标题直接点击「新增」 |
| **预期结果** | 表单验证提示"请输入标题"和"请输入描述",阻止提交 |
| **实际结果** | |
| **测试状态** | ⬜ 通过 / ⬜ 未通过 |
| **问题描述** | |
## 6.5 多语言切换
### TC-PHP-018切换到英文
| 项目 | 内容 |
|------|------|
| **测试步骤** | 1. 切换到英文语言 2. 查看问题帮助页面 |
| **预期结果** | 所有标签、按钮、弹框标题均切换为英文;工具栏显示 "Add Directory"、"Add Document"、"Edit"、"Delete" |
| **实际结果** | |
| **测试状态** | ⬜ 通过 / ⬜ 未通过 |
| **问题描述** | |
### TC-PHP-019英文下搜索功能正常
| 项目 | 内容 |
|------|------|
| **测试步骤** | 在英文界面下执行:搜索文档、查看搜索结果、清除搜索 |
| **预期结果** | 所有功能正常运行,提示信息为英文 |
| **实际结果** | |
| **测试状态** | ⬜ 通过 / ⬜ 未通过 |
| **问题描述** | |
### TC-PHP-020英文下分类弹框正常
| 项目 | 内容 |
|------|------|
| **测试步骤** | 1. 切换到英文 2. 点击「Add Directory」打开分类弹框 |
| **预期结果** | 弹框标题为 "Add Category" 或 "Edit Category",表单字段标签为英文,底部按钮为 "Confirm" / "Cancel" |
| **实际结果** | |
| **测试状态** | ⬜ 通过 / ⬜ 未通过 |
| **问题描述** | |
### TC-PHP-021英文下Markdown编辑器正常
| 项目 | 内容 |
|------|------|
| **测试步骤** | 1. 切换到英文 2. 点击「Add Document」打开编辑器抽屉 |
| **预期结果** | 抽屉标题和表单标签为英文;验证提示信息为英文 |
| **实际结果** | |
| **测试状态** | ⬜ 通过 / ⬜ 未通过 |
| **问题描述** | |
---
## 测试结果汇总
| 功能模块 | 测试用例数 | 通过 | 未通过 | 通过率 |
|----------|-----------|------|--------|--------|
| 角色管理 | 24 | | | |
| 用户管理 | 33 | | | |
| 菜单配置 | 37 | | | |
| 接口日志 | 20 | | | |
| 操作日志 | 18 | | | |
| 问题帮助 | 21 | | | |
| **合计** | **153** | | | |
---
---
---
# 七、产品列表功能测试
> **迁移日期**2026-06-01
> **对应页面**`src/views/production-master-data/product-management/product-list/index.vue`
> **API 文件**`src/api/production-master-data/product-management.js`
> **路由路径**`/production_configuration/product_management/product_list`
> **页面结构**:搜索区(产品代号搜索)+ 数据表格 + 新增/编辑弹框
## 7.1 页面加载与数据展示
### TC-PROD-001产品列表页面正常加载
| 项目 | 内容 |
|------|------|
| **测试步骤** | 1. 登录系统 2. 点击菜单「生产配置 → 产品管理 → 产品列表」 |
| **预期结果** | 页面正常加载,显示产品列表表格,包含序号、产品代号、产品名称、备注、操作列;底部分页组件显示总条数 |
| **实际结果** | |
| **测试状态** | ⬜ 通过 / ⬜ 未通过 |
| **问题描述** | |
### TC-PROD-002表格列完整显示
| 项目 | 内容 |
|------|------|
| **测试步骤** | 1. 观察表格列头 2. 横向滚动查看所有列 |
| **预期结果** | 表格包含以下列:序号、产品代号、产品名称、备注、操作(共 5 列),操作列固定在右侧 |
| **实际结果** | |
| **测试状态** | ⬜ 通过 / ⬜ 未通过 |
| **问题描述** | |
### TC-PROD-003空数据状态展示
| 项目 | 内容 |
|------|------|
| **测试前置条件** | 确保数据库中没有产品数据(或清空搜索条件后无匹配数据) |
| **测试步骤** | 1. 在搜索框中输入一个不存在产品代号 2. 点击「查询」 |
| **预期结果** | 表格显示空状态提示(如"暂无数据"),分页显示总数为 0 |
| **实际结果** | |
| **测试状态** | ⬜ 通过 / ⬜ 未通过 |
| **问题描述** | |
### TC-PROD-004表格序号正确递增
| 项目 | 内容 |
|------|------|
| **测试步骤** | 1. 加载产品列表 2. 观察序号列 |
| **预期结果** | 序号从 1 开始递增,翻页后序号接续正确 |
| **实际结果** | |
| **测试状态** | ⬜ 通过 / ⬜ 未通过 |
| **问题描述** | |
## 7.2 搜索与分页
### TC-PROD-005按产品代号搜索
| 项目 | 内容 |
|------|------|
| **测试步骤** | 1. 在产品代号输入框中输入已知存在的产品代号(如"P001"2. 点击「查询」按钮 |
| **预期结果** | 表格仅显示产品代号匹配的记录 |
| **实际结果** | |
| **测试状态** | ⬜ 通过 / ⬜ 未通过 |
| **问题描述** | |
### TC-PROD-006模糊搜索产品代号
| 项目 | 内容 |
|------|------|
| **测试步骤** | 1. 在产品代号输入框中输入部分关键字(如"P"2. 点击「查询」按钮 |
| **预期结果** | 表格显示所有产品代号包含关键字的记录 |
| **实际结果** | |
| **测试状态** | ⬜ 通过 / ⬜ 未通过 |
| **问题描述** | |
### TC-PROD-007搜索无匹配结果
| 项目 | 内容 |
|------|------|
| **测试步骤** | 1. 在产品代号输入框中输入不存在的代号(如"ZZZ999"2. 点击「查询」按钮 |
| **预期结果** | 表格显示空状态,分页总数显示为 0 |
| **实际结果** | |
| **测试状态** | ⬜ 通过 / ⬜ 未通过 |
| **问题描述** | |
### TC-PROD-008回车键触发搜索
| 项目 | 内容 |
|------|------|
| **测试步骤** | 1. 在产品代号输入框中输入关键字 2. 按键盘 Enter 键 |
| **预期结果** | 触发表格搜索,效果与点击「查询」按钮一致 |
| **实际结果** | |
| **测试状态** | ⬜ 通过 / ⬜ 未通过 |
| **问题描述** | |
### TC-PROD-009重置搜索条件
| 项目 | 内容 |
|------|------|
| **测试步骤** | 1. 输入搜索条件并查询 2. 点击「重置」按钮 |
| **预期结果** | 搜索输入框内容清空,表格恢复显示全部数据(回到第一页) |
| **实际结果** | |
| **测试状态** | ⬜ 通过 / ⬜ 未通过 |
| **问题描述** | |
### TC-PROD-010输入框清空按钮
| 项目 | 内容 |
|------|------|
| **测试步骤** | 1. 在产品代号输入框输入内容 2. 点击输入框右侧的清空(×)图标 |
| **预期结果** | 输入框内容被清空 |
| **实际结果** | |
| **测试状态** | ⬜ 通过 / ⬜ 未通过 |
| **问题描述** | |
### TC-PROD-011分页切换—切换每页条数
| 项目 | 内容 |
|------|------|
| **测试步骤** | 1. 点击分页组件的每页条数下拉框 2. 依次切换为 10、25、50、100 |
| **预期结果** | 每种条数下表格显示正确数量的数据,总页数相应变化 |
| **实际结果** | |
| **测试状态** | ⬜ 通过 / ⬜ 未通过 |
| **问题描述** | |
### TC-PROD-012分页切换—翻页
| 项目 | 内容 |
|------|------|
| **测试步骤** | 1. 点击分页组件的「下一页」按钮 2. 点击「上一页」按钮 3. 直接输入页码跳转(如跳到第 3 页) |
| **预期结果** | 页码切换后表格数据显示对应页的数据,当前页码高亮正确 |
| **实际结果** | |
| **测试状态** | ⬜ 通过 / ⬜ 未通过 |
| **问题描述** | |
## 7.3 新增产品
### TC-PROD-013打开新增弹框
| 项目 | 内容 |
|------|------|
| **测试步骤** | 点击表格上方工具栏「新增」按钮 |
| **预期结果** | 弹出新增产品弹框,标题显示"新增产品",表单字段为空:产品代号(输入框)、产品名称(输入框)、备注(多行文本域) |
| **实际结果** | |
| **测试状态** | ⬜ 通过 / ⬜ 未通过 |
| **问题描述** | |
### TC-PROD-014新增产品成功
| 项目 | 内容 |
|------|------|
| **测试步骤** | 1. 打开新增弹框 2. 输入产品代号(如"P-TEST-001"3. 输入产品名称(如"测试产品001"4. 输入备注(如"用于测试"5. 点击「确定」 |
| **预期结果** | 弹框关闭,提示"操作成功",表格刷新并显示新增的产品 |
| **实际结果** | |
| **测试状态** | ⬜ 通过 / ⬜ 未通过 |
| **问题描述** | |
### TC-PROD-015新增产品—仅填写必填项
| 项目 | 内容 |
|------|------|
| **测试步骤** | 1. 打开新增弹框 2. 必填:产品代号和产品名称 3. 备注留空 4. 点击「确定」 |
| **预期结果** | 弹框关闭,提示"操作成功",备注字段在表格中显示为空 |
| **实际结果** | |
| **测试状态** | ⬜ 通过 / ⬜ 未通过 |
| **问题描述** | |
### TC-PROD-016取消新增
| 项目 | 内容 |
|------|------|
| **测试步骤** | 1. 打开新增弹框 2. 填写部分内容 3. 点击「取消」按钮或弹框右上角 X |
| **预期结果** | 弹框关闭,表格数据不变 |
| **实际结果** | |
| **测试状态** | ⬜ 通过 / ⬜ 未通过 |
| **问题描述** | |
### TC-PROD-017连续新增
| 项目 | 内容 |
|------|------|
| **测试步骤** | 1. 新增产品 A 成功后 2. 再次点击「新增」按钮 3. 新增产品 B |
| **预期结果** | 弹框表单每次打开时均为空状态,上次填写的内容不残留;两次新增均成功 |
| **实际结果** | |
| **测试状态** | ⬜ 通过 / ⬜ 未通过 |
| **问题描述** | |
## 7.4 编辑产品
### TC-PROD-018打开编辑弹框
| 项目 | 内容 |
|------|------|
| **测试步骤** | 点击产品列表中任一产品行操作列的「编辑」按钮 |
| **预期结果** | 弹出编辑产品弹框,标题显示"编辑产品",表单回填该产品的产品代号、产品名称、备注 |
| **实际结果** | |
| **测试状态** | ⬜ 通过 / ⬜ 未通过 |
| **问题描述** | |
### TC-PROD-019编辑产品—修改产品名称
| 项目 | 内容 |
|------|------|
| **测试步骤** | 1. 打开编辑弹框 2. 修改产品名称(如改为"测试产品-已修改"3. 点击「确定」 |
| **预期结果** | 弹框关闭,提示"操作成功",表格中该行产品名称更新 |
| **实际结果** | |
| **测试状态** | ⬜ 通过 / ⬜ 未通过 |
| **问题描述** | |
### TC-PROD-020编辑产品—修改备注
| 项目 | 内容 |
|------|------|
| **测试步骤** | 1. 打开编辑弹框 2. 修改备注内容 3. 点击「确定」 |
| **预期结果** | 弹框关闭,提示"操作成功",备注更新 |
| **实际结果** | |
| **测试状态** | ⬜ 通过 / ⬜ 未通过 |
| **问题描述** | |
### TC-PROD-021编辑产品—产品代号不可修改如适用
| 项目 | 内容 |
|------|------|
| **测试步骤** | 1. 打开编辑弹框 2. 查看产品代号输入框 |
| **预期结果** | 产品代号字段显示为禁用状态(灰色不可编辑),仅产品名称和备注可修改 |
| **实际结果** | |
| **测试状态** | ⬜ 通过 / ⬜ 未通过 |
| **问题描述** | |
### TC-PROD-022取消编辑
| 项目 | 内容 |
|------|------|
| **测试步骤** | 1. 打开编辑弹框 2. 修改内容 3. 点击「取消」按钮 |
| **预期结果** | 弹框关闭,原数据不变 |
| **实际结果** | |
| **测试状态** | ⬜ 通过 / ⬜ 未通过 |
| **问题描述** | |
## 7.5 删除产品
### TC-PROD-023删除产品确认弹框
| 项目 | 内容 |
|------|------|
| **测试步骤** | 点击产品列表中任一产品行操作列的「删除」按钮 |
| **预期结果** | 弹出确认提示框,内容为"确定要执行该操作吗?",有「确定」和「取消」按钮 |
| **实际结果** | |
| **测试状态** | ⬜ 通过 / ⬜ 未通过 |
| **问题描述** | |
### TC-PROD-024删除产品成功
| 项目 | 内容 |
|------|------|
| **测试步骤** | 1. 点击产品行的「删除」按钮 2. 在确认框中点击「确定」 |
| **预期结果** | 提示"操作成功",该产品从列表中消失,分页总数减 1 |
| **实际结果** | |
| **测试状态** | ⬜ 通过 / ⬜ 未通过 |
| **问题描述** | |
### TC-PROD-025取消删除
| 项目 | 内容 |
|------|------|
| **测试步骤** | 1. 点击「删除」按钮 2. 在确认框中点击「取消」 |
| **预期结果** | 确认框关闭,产品数据保持不变 |
| **实际结果** | |
| **测试状态** | ⬜ 通过 / ⬜ 未通过 |
| **问题描述** | |
### TC-PROD-026删除最后一页唯一数据后的分页处理
| 项目 | 内容 |
|------|------|
| **测试前置条件** | 存在数据,且最后一页只有一条记录 |
| **测试步骤** | 1. 翻到最后一页 2. 删除该页唯一的产品 |
| **预期结果** | 提示"操作成功",自动跳转到前一页,分页总数减 1 |
| **实际结果** | |
| **测试状态** | ⬜ 通过 / ⬜ 未通过 |
| **问题描述** | |
## 7.6 表单校验
### TC-PROD-027新增表单校验—产品代号必填
| 项目 | 内容 |
|------|------|
| **测试步骤** | 1. 打开新增弹框 2. 不填写产品代号 3. 填写产品名称 4. 点击「确定」 |
| **预期结果** | 产品代号输入框下方显示红色校验提示"请输入产品代号",弹框不关闭 |
| **实际结果** | |
| **测试状态** | ⬜ 通过 / ⬜ 未通过 |
| **问题描述** | |
### TC-PROD-028新增表单校验—产品名称必填
| 项目 | 内容 |
|------|------|
| **测试步骤** | 1. 打开新增弹框 2. 填写产品代号 3. 不填写产品名称 4. 点击「确定」 |
| **预期结果** | 产品名称输入框下方显示红色校验提示"请输入产品名称",弹框不关闭 |
| **实际结果** | |
| **测试状态** | ⬜ 通过 / ⬜ 未通过 |
| **问题描述** | |
### TC-PROD-029新增表单校验—产品代号长度上限
| 项目 | 内容 |
|------|------|
| **测试步骤** | 1. 打开新增弹框 2. 在产品代号输入框中输入超过 100 个字符的字符串 3. 点击「确定」 |
| **预期结果** | 产品代号输入框下方显示红色校验提示"长度在 1 到 100 个字符" |
| **实际结果** | |
| **测试状态** | ⬜ 通过 / ⬜ 未通过 |
| **问题描述** | |
### TC-PROD-030新增表单校验—产品名称长度上限
| 项目 | 内容 |
|------|------|
| **测试步骤** | 1. 打开新增弹框 2. 在产品名称输入框中输入超过 100 个字符的字符串 3. 点击「确定」 |
| **预期结果** | 产品名称输入框下方显示红色校验提示"长度在 1 到 100 个字符" |
| **实际结果** | |
| **测试状态** | ⬜ 通过 / ⬜ 未通过 |
| **问题描述** | |
### TC-PROD-031新增表单校验—中文字符正常输入
| 项目 | 内容 |
|------|------|
| **测试步骤** | 1. 打开新增弹框 2. 产品名称输入中文字符 3. 点击「确定」 |
| **预期结果** | 表单正常提交,中文内容正确保存 |
| **实际结果** | |
| **测试状态** | ⬜ 通过 / ⬜ 未通过 |
| **问题描述** | |
### TC-PROD-032编辑表单校验—修改后清空必填项
| 项目 | 内容 |
|------|------|
| **测试步骤** | 1. 打开已存在产品的编辑弹框 2. 清空产品名称 3. 点击「确定」 |
| **预期结果** | 产品名称输入框下方显示红色校验提示"请输入产品名称" |
| **实际结果** | |
| **测试状态** | ⬜ 通过 / ⬜ 未通过 |
| **问题描述** | |
## 7.7 多语言切换
### TC-PROD-033切换到英文—页面标签
| 项目 | 内容 |
|------|------|
| **测试步骤** | 1. 切换到英文语言 2. 点击菜单进入产品列表页面 |
| **预期结果** | 搜索区标签显示"Product Code"、"Search"、"Reset";表格列头显示"No."、"Product Code"、"Product Name"、"Remark"、"Actions";工具栏按钮显示"Add" |
| **实际结果** | |
| **测试状态** | ⬜ 通过 / ⬜ 未通过 |
| **问题描述** | |
### TC-PROD-034切换到英文—弹框标签
| 项目 | 内容 |
|------|------|
| **测试步骤** | 1. 切换到英文 2. 点击新增按钮 3. 查看弹框 |
| **预期结果** | 弹框标题为"Add Product";表单标签为"Product Code"、"Product Name"、"Remark";底部按钮为"Confirm"、"Cancel" |
| **实际结果** | |
| **测试状态** | ⬜ 通过 / ⬜ 未通过 |
| **问题描述** | |
### TC-PROD-035切换到英文—编辑弹框
| 项目 | 内容 |
|------|------|
| **测试步骤** | 1. 切换到英文 2. 点击某行的编辑按钮 |
| **预期结果** | 弹框标题为"Edit Product",表单回填正确,所有标签为英文 |
| **实际结果** | |
| **测试状态** | ⬜ 通过 / ⬜ 未通过 |
| **问题描述** | |
### TC-PROD-036切换到英文—提示信息
| 项目 | 内容 |
|------|------|
| **测试步骤** | 1. 切换到英文 2. 执行新增/编辑/删除操作 |
| **预期结果** | 操作成功提示为"Operation succeeded";删除确认框内容为"Are you sure to delete?";校验提示为英文 |
| **实际结果** | |
| **测试状态** | ⬜ 通过 / ⬜ 未通过 |
| **问题描述** | |
### TC-PROD-037英文下所有操作功能正常
| 项目 | 内容 |
|------|------|
| **测试步骤** | 在英文界面下执行:搜索、新增产品、编辑产品、删除产品、分页切换 |
| **预期结果** | 所有功能正常运行,交互逻辑与中文界面一致 |
| **实际结果** | |
| **测试状态** | ⬜ 通过 / ⬜ 未通过 |
| **问题描述** | |
---
---
# 八、工艺流程类别功能测试
> **迁移日期**2026-06-01
> **对应页面**`src/views/production-master-data/process-model/process-category/index.vue`
> **API 文件**`src/api/production-master-data/process-category.js`
> **路由路径**`/production_configuration/technology_model/technology_flow_category`
> **页面结构**:搜索区(编码+名称搜索)+ 数据表格 + 新增/编辑弹框
## 8.1 页面加载与数据展示
### TC-PCAT-001工艺流程类别页面正常加载
| 项目 | 内容 |
|------|------|
| **测试步骤** | 1. 登录系统 2. 点击菜单「生产配置 → 工艺模型 → 工艺流程类别」 |
| **预期结果** | 页面正常加载,显示工艺流程类别列表表格,包含序号、流程类别编码、流程类别名称、备注、操作列;底部分页组件显示总条数 |
| **实际结果** | |
| **测试状态** | ⬜ 通过 / ⬜ 未通过 |
| **问题描述** | |
### TC-PCAT-002表格列完整显示
| 项目 | 内容 |
|------|------|
| **测试步骤** | 1. 观察表格列头 2. 横向滚动查看所有列 |
| **预期结果** | 表格包含以下列:序号、流程类别编码、流程类别名称、备注、操作(共 5 列),操作列固定在右侧 |
| **实际结果** | |
| **测试状态** | ⬜ 通过 / ⬜ 未通过 |
| **问题描述** | |
### TC-PCAT-003空数据状态展示
| 项目 | 内容 |
|------|------|
| **测试前置条件** | 确保数据库中没有工艺流程类别数据(或清空搜索条件后无匹配数据) |
| **测试步骤** | 1. 在搜索框中输入一个不存在的编码 2. 点击「查询」 |
| **预期结果** | 表格显示空状态提示(如"暂无数据"),分页显示总数为 0 |
| **实际结果** | |
| **测试状态** | ⬜ 通过 / ⬜ 未通过 |
| **问题描述** | |
### TC-PCAT-004表格序号正确递增
| 项目 | 内容 |
|------|------|
| **测试步骤** | 1. 加载工艺流程类别列表 2. 观察序号列 3. 翻页后观察序号 |
| **预期结果** | 序号从 1 开始递增,翻页后序号接续正确 |
| **实际结果** | |
| **测试状态** | ⬜ 通过 / ⬜ 未通过 |
| **问题描述** | |
## 8.2 搜索与分页
### TC-PCAT-005按流程类别编码搜索
| 项目 | 内容 |
|------|------|
| **测试步骤** | 1. 在流程类别编码输入框中输入已知存在的编码 2. 点击「查询」按钮 |
| **预期结果** | 表格仅显示编码匹配的记录 |
| **实际结果** | |
| **测试状态** | ⬜ 通过 / ⬜ 未通过 |
| **问题描述** | |
### TC-PCAT-006按流程类别名称搜索
| 项目 | 内容 |
|------|------|
| **测试步骤** | 1. 在流程类别名称输入框中输入已知存在的名称 2. 点击「查询」按钮 |
| **预期结果** | 表格仅显示名称匹配的记录 |
| **实际结果** | |
| **测试状态** | ⬜ 通过 / ⬜ 未通过 |
| **问题描述** | |
### TC-PCAT-007组合搜索编码+名称)
| 项目 | 内容 |
|------|------|
| **测试步骤** | 1. 同时输入流程类别编码和名称关键字 2. 点击「查询」按钮 |
| **预期结果** | 表格按照两个条件同时过滤AND 逻辑),显示匹配的记录 |
| **实际结果** | |
| **测试状态** | ⬜ 通过 / ⬜ 未通过 |
| **问题描述** | |
### TC-PCAT-008回车键触发搜索
| 项目 | 内容 |
|------|------|
| **测试步骤** | 1. 在编码或名称输入框中输入关键字 2. 按键盘 Enter 键 |
| **预期结果** | 触发表格搜索,效果与点击「查询」按钮一致 |
| **实际结果** | |
| **测试状态** | ⬜ 通过 / ⬜ 未通过 |
| **问题描述** | |
### TC-PCAT-009重置搜索条件
| 项目 | 内容 |
|------|------|
| **测试步骤** | 1. 输入搜索条件并查询 2. 点击「重置」按钮 |
| **预期结果** | 搜索输入框内容清空,表格恢复显示全部数据(回到第一页) |
| **实际结果** | |
| **测试状态** | ⬜ 通过 / ⬜ 未通过 |
| **问题描述** | |
### TC-PCAT-010输入框清空按钮
| 项目 | 内容 |
|------|------|
| **测试步骤** | 1. 在编码输入框输入内容 2. 点击输入框右侧的清空(×)图标 |
| **预期结果** | 输入框内容被清空 |
| **实际结果** | |
| **测试状态** | ⬜ 通过 / ⬜ 未通过 |
| **问题描述** | |
### TC-PCAT-011分页切换—每页条数
| 项目 | 内容 |
|------|------|
| **测试步骤** | 点击分页组件的每页条数下拉框,依次切换为 10、25、50、100 |
| **预期结果** | 每种条数下表格显示正确数量的数据,总页数相应变化 |
| **实际结果** | |
| **测试状态** | ⬜ 通过 / ⬜ 未通过 |
| **问题描述** | |
### TC-PCAT-012分页切换—翻页
| 项目 | 内容 |
|------|------|
| **测试步骤** | 1. 点击分页组件的「下一页」按钮 2. 点击「上一页」按钮 3. 直接输入页码跳转(如跳到第 3 页) |
| **预期结果** | 页码切换后表格数据显示对应页的数据,当前页码高亮正确 |
| **实际结果** | |
| **测试状态** | ⬜ 通过 / ⬜ 未通过 |
| **问题描述** | |
## 8.3 新增工艺流程类别
### TC-PCAT-013打开新增弹框
| 项目 | 内容 |
|------|------|
| **测试步骤** | 点击表格上方工具栏「新增」按钮 |
| **预期结果** | 弹出新增工艺流程类别弹框,标题显示"新增工艺流程类别",表单字段为空:流程类别编码(输入框)、流程类别名称(输入框)、备注(多行文本域) |
| **实际结果** | |
| **测试状态** | ⬜ 通过 / ⬜ 未通过 |
| **问题描述** | |
### TC-PCAT-014新增工艺流程类别成功
| 项目 | 内容 |
|------|------|
| **测试步骤** | 1. 打开新增弹框 2. 输入流程类别编码(如"PC-001"3. 输入流程类别名称(如"测试流程类别001"4. 输入备注(如"用于测试"5. 点击「确定」 |
| **预期结果** | 弹框关闭,提示"操作成功",表格刷新并显示新增的流程类别 |
| **实际结果** | |
| **测试状态** | ⬜ 通过 / ⬜ 未通过 |
| **问题描述** | |
### TC-PCAT-015新增工艺流程类别—仅填写必填项
| 项目 | 内容 |
|------|------|
| **测试步骤** | 1. 打开新增弹框 2. 填写编流程类别码和名称 3. 备注留空 4. 点击「确定」 |
| **预期结果** | 弹框关闭,提示"操作成功",备注字段在表格中显示为空 |
| **实际结果** | |
| **测试状态** | ⬜ 通过 / ⬜ 未通过 |
| **问题描述** | |
### TC-PCAT-016取消新增
| 项目 | 内容 |
|------|------|
| **测试步骤** | 1. 打开新增弹框 2. 填写部分内容 3. 点击「取消」按钮或弹框右上角 X |
| **预期结果** | 弹框关闭,表格数据不变 |
| **实际结果** | |
| **测试状态** | ⬜ 通过 / ⬜ 未通过 |
| **问题描述** | |
### TC-PCAT-017连续新增
| 项目 | 内容 |
|------|------|
| **测试步骤** | 1. 新增流程类别 A 成功后 2. 再次点击「新增」按钮 3. 新增流程类别 B |
| **预期结果** | 弹框表单每次打开时均为空状态,上次填写的内容不残留;两次新增均成功 |
| **实际结果** | |
| **测试状态** | ⬜ 通过 / ⬜ 未通过 |
| **问题描述** | |
## 8.4 编辑工艺流程类别
### TC-PCAT-018打开编辑弹框
| 项目 | 内容 |
|------|------|
| **测试步骤** | 点击工艺流程类别列表中任一类别行操作列的「编辑」按钮 |
| **预期结果** | 弹出编辑工艺流程类别弹框,标题显示"编辑工艺流程类别",表单回填该流程类别的编码、名称、备注 |
| **实际结果** | |
| **测试状态** | ⬜ 通过 / ⬜ 未通过 |
| **问题描述** | |
### TC-PCAT-019编辑工艺流程类别—修改名称
| 项目 | 内容 |
|------|------|
| **测试步骤** | 1. 打开编辑弹框 2. 修改流程类别名称(如改为"测试流程类别-已修改"3. 点击「确定」 |
| **预期结果** | 弹框关闭,提示"操作成功",表格中该行名称更新 |
| **实际结果** | |
| **测试状态** | ⬜ 通过 / ⬜ 未通过 |
| **问题描述** | |
### TC-PCAT-020编辑工艺流程类别—修改备注
| 项目 | 内容 |
|------|------|
| **测试步骤** | 1. 打开编辑弹框 2. 修改备注内容 3. 点击「确定」 |
| **预期结果** | 弹框关闭,提示"操作成功",备注更新 |
| **实际结果** | |
| **测试状态** | ⬜ 通过 / ⬜ 未通过 |
| **问题描述** | |
### TC-PCAT-021取消编辑
| 项目 | 内容 |
|------|------|
| **测试步骤** | 1. 打开编辑弹框 2. 修改内容 3. 点击「取消」按钮 |
| **预期结果** | 弹框关闭,原数据不变 |
| **实际结果** | |
| **测试状态** | ⬜ 通过 / ⬜ 未通过 |
| **问题描述** | |
## 8.5 删除工艺流程类别
### TC-PCAT-022删除确认弹框
| 项目 | 内容 |
|------|------|
| **测试步骤** | 点击工艺流程类别列表中任一类别行操作列的「删除」按钮 |
| **预期结果** | 弹出确认提示框,内容为"确定要执行该操作吗?",有「确定」和「取消」按钮 |
| **实际结果** | |
| **测试状态** | ⬜ 通过 / ⬜ 未通过 |
| **问题描述** | |
### TC-PCAT-023删除工艺流程类别成功
| 项目 | 内容 |
|------|------|
| **测试步骤** | 1. 点击类别行的「删除」按钮 2. 在确认框中点击「确定」 |
| **预期结果** | 提示"操作成功",该工艺流程类别从列表中消失,分页总数减 1 |
| **实际结果** | |
| **测试状态** | ⬜ 通过 / ⬜ 未通过 |
| **问题描述** | |
### TC-PCAT-024取消删除
| 项目 | 内容 |
|------|------|
| **测试步骤** | 1. 点击「删除」按钮 2. 在确认框中点击「取消」 |
| **预期结果** | 确认框关闭,工艺流程类别数据保持不变 |
| **实际结果** | |
| **测试状态** | ⬜ 通过 / ⬜ 未通过 |
| **问题描述** | |
### TC-PCAT-025删除最后一页唯一数据后的分页处理
| 项目 | 内容 |
|------|------|
| **测试前置条件** | 存在数据,且最后一页只有一条记录 |
| **测试步骤** | 1. 翻到最后一页 2. 删除该页唯一的工艺流程类别 |
| **预期结果** | 提示"操作成功",自动跳转到前一页,分页总数减 1 |
| **实际结果** | |
| **测试状态** | ⬜ 通过 / ⬜ 未通过 |
| **问题描述** | |
## 8.6 表单校验
### TC-PCAT-026新增表单校验—编码必填
| 项目 | 内容 |
|------|------|
| **测试步骤** | 1. 打开新增弹框 2. 不填写流程类别编码 3. 填写流程类别名称 4. 点击「确定」 |
| **预期结果** | 编码输入框下方显示红色校验提示"请输入流程类别编码",弹框不关闭 |
| **实际结果** | |
| **测试状态** | ⬜ 通过 / ⬜ 未通过 |
| **问题描述** | |
### TC-PCAT-027新增表单校验—名称必填
| 项目 | 内容 |
|------|------|
| **测试步骤** | 1. 打开新增弹框 2. 填写流程类别编码 3. 不填写流程类别名称 4. 点击「确定」 |
| **预期结果** | 名称输入框下方显示红色校验提示"请输入流程类别名称",弹框不关闭 |
| **实际结果** | |
| **测试状态** | ⬜ 通过 / ⬜ 未通过 |
| **问题描述** | |
### TC-PCAT-028新增表单校验—编码长度上限
| 项目 | 内容 |
|------|------|
| **测试步骤** | 1. 打开新增弹框 2. 在编码输入框中输入超过 100 个字符的字符串 3. 点击「确定」 |
| **预期结果** | 编码输入框下方显示红色校验提示"长度在 1 到 100 个字符" |
| **实际结果** | |
| **测试状态** | ⬜ 通过 / ⬜ 未通过 |
| **问题描述** | |
### TC-PCAT-029新增表单校验—名称长度上限
| 项目 | 内容 |
|------|------|
| **测试步骤** | 1. 打开新增弹框 2. 在名称输入框中输入超过 100 个字符的字符串 3. 点击「确定」 |
| **预期结果** | 名称输入框下方显示红色校验提示"长度在 1 到 100 个字符" |
| **实际结果** | |
| **测试状态** | ⬜ 通过 / ⬜ 未通过 |
| **问题描述** | |
### TC-PCAT-030新增表单校验—中文字符正常输入
| 项目 | 内容 |
|------|------|
| **测试步骤** | 1. 打开新增弹框 2. 流程类别名称输入中文字符 3. 点击「确定」 |
| **预期结果** | 表单正常提交,中文内容正确保存 |
| **实际结果** | |
| **测试状态** | ⬜ 通过 / ⬜ 未通过 |
| **问题描述** | |
### TC-PCAT-031编辑表单校验—修改后清空必填项
| 项目 | 内容 |
|------|------|
| **测试步骤** | 1. 打开已存在流程类别的编辑弹框 2. 清空流程类别名称 3. 点击「确定」 |
| **预期结果** | 名称输入框下方显示红色校验提示"请输入流程类别名称" |
| **实际结果** | |
| **测试状态** | ⬜ 通过 / ⬜ 未通过 |
| **问题描述** | |
## 8.7 多语言切换
### TC-PCAT-032切换到英文—页面标签
| 项目 | 内容 |
|------|------|
| **测试步骤** | 1. 切换到英文语言 2. 点击菜单进入工艺流程类别页面 |
| **预期结果** | 搜索区标签显示"Category Code"、"Category Name"、"Search"、"Reset";表格列头显示"No."、"Category Code"、"Category Name"、"Remark"、"Actions";工具栏按钮显示"Add" |
| **实际结果** | |
| **测试状态** | ⬜ 通过 / ⬜ 未通过 |
| **问题描述** | |
### TC-PCAT-033切换到英文—新增弹框标签
| 项目 | 内容 |
|------|------|
| **测试步骤** | 1. 切换到英文 2. 点击新增按钮 3. 查看弹框 |
| **预期结果** | 弹框标题为"Add Process Category";表单标签为"Category Code"、"Category Name"、"Remark";底部按钮为"Confirm"、"Cancel" |
| **实际结果** | |
| **测试状态** | ⬜ 通过 / ⬜ 未通过 |
| **问题描述** | |
### TC-PCAT-034切换到英文—编辑弹框标签
| 项目 | 内容 |
|------|------|
| **测试步骤** | 1. 切换到英文 2. 点击某行的编辑按钮 |
| **预期结果** | 弹框标题为"Edit Process Category",表单回填正确,所有标签为英文 |
| **实际结果** | |
| **测试状态** | ⬜ 通过 / ⬜ 未通过 |
| **问题描述** | |
### TC-PCAT-035切换到英文—提示信息
| 项目 | 内容 |
|------|------|
| **测试步骤** | 1. 切换到英文 2. 执行新增/编辑/删除操作 |
| **预期结果** | 操作成功提示为"Operation succeeded";删除确认框内容为"Are you sure to delete?";校验提示为英文 |
| **实际结果** | |
| **测试状态** | ⬜ 通过 / ⬜ 未通过 |
| **问题描述** | |
### TC-PCAT-036英文下所有操作功能正常
| 项目 | 内容 |
|------|------|
| **测试步骤** | 在英文界面下执行:搜索、新增流程类别、编辑流程类别、删除流程类别、分页切换 |
| **预期结果** | 所有功能正常运行,交互逻辑与中文界面一致 |
| **实际结果** | |
| **测试状态** | ⬜ 通过 / ⬜ 未通过 |
| **问题描述** | |
---
---
# 九、产线设置功能测试
> **迁移日期**2026-06-01
> **对应页面**`src/views/production-master-data/factory-model/production-line/index.vue`
> **API 文件**`src/api/production-master-data/production-line.js`
> **路由路径**`/production_configuration/factory_model/factory_line`
> **页面结构**:搜索区(产线编码 + 产线名称 + 所区下拉 + 查询/重置按钮)+ 数据表格 + 新增/编辑弹框(含所区下拉选择)
## 9.1 页面加载与数据展示
### TC-PL-001产线设置页面正常加载
| 项目 | 内容 |
|------|------|
| **测试步骤** | 1. 登录系统 2. 点击菜单「生产配置 → 工厂模型 → 产线设置」 |
| **预期结果** | 页面正常加载,显示产线列表表格,包含序号、产线编码、产线名称、所属所区、备注、操作列;搜索区包含产线编码输入框、产线名称输入框、所区下拉选择器;底部有分页组件显示总条数 |
| **实际结果** | |
| **测试状态** | ⬜ 通过 / ⬜ 未通过 |
| **问题描述** | |
### TC-PL-002表格列完整显示
| 项目 | 内容 |
|------|------|
| **测试步骤** | 查看产线列表表格的列头 |
| **预期结果** | 表格列依次为:序号、产线编码、产线名称、所属所区、备注、操作。各列宽度合理,内容不重叠 |
| **实际结果** | |
| **测试状态** | ⬜ 通过 / ⬜ 未通过 |
| **问题描述** | |
### TC-PL-003工具栏按钮显示
| 项目 | 内容 |
|------|------|
| **测试步骤** | 查看表格上方的工具栏 |
| **预期结果** | 工具栏左侧显示「新 增」按钮,带加号图标,类型为蓝色主按钮;右侧显示帮助按钮 |
| **实际结果** | |
| **测试状态** | ⬜ 通过 / ⬜ 未通过 |
| **问题描述** | |
### TC-PL-004行内操作按钮显示
| 项目 | 内容 |
|------|------|
| **测试步骤** | 查看表格每行的操作列 |
| **预期结果** | 每行操作列显示「编 辑」按钮(带编辑图标)和「删 除」按钮(红色危险按钮,带删除图标) |
| **实际结果** | |
| **测试状态** | ⬜ 通过 / ⬜ 未通过 |
| **问题描述** | |
## 9.2 查询与搜索
### TC-PL-005按产线编码搜索
| 项目 | 内容 |
|------|------|
| **测试步骤** | 1. 在「产线编码」输入框输入一个已知的产线编码 2. 点击「查询」按钮或按 Enter 键 |
| **预期结果** | 表格数据按产线编码模糊匹配过滤,仅显示匹配的产线记录;分页回到第 1 页 |
| **实际结果** | |
| **测试状态** | ⬜ 通过 / ⬜ 未通过 |
| **问题描述** | |
### TC-PL-006按产线名称搜索
| 项目 | 内容 |
|------|------|
| **测试步骤** | 1. 在「产线名称」输入框输入关键字 2. 点击「查询」按钮 |
| **预期结果** | 表格数据按产线名称模糊匹配过滤,仅显示匹配的产线记录 |
| **实际结果** | |
| **测试状态** | ⬜ 通过 / ⬜ 未通过 |
| **问题描述** | |
### TC-PL-007按所区下拉筛选
| 项目 | 内容 |
|------|------|
| **测试步骤** | 1. 点击搜索区「所区」下拉框 2. 选择一个具体所区 3. 点击「查询」按钮 |
| **预期结果** | 下拉框显示所有已存在的所区选项;选择某个所区后查询,表格仅显示属于该所区的产线记录 |
| **实际结果** | |
| **测试状态** | ⬜ 通过 / ⬜ 未通过 |
| **问题描述** | |
### TC-PL-008组合条件搜索
| 项目 | 内容 |
|------|------|
| **测试步骤** | 1. 输入产线编码关键字 2. 同时选择一个所区 3. 点击「查询」按钮 |
| **预期结果** | 表格数据按多个条件 AND 逻辑过滤,显示同时满足所有条件的记录 |
| **实际结果** | |
| **测试状态** | ⬜ 通过 / ⬜ 未通过 |
| **问题描述** | |
### TC-PL-009重置搜索条件
| 项目 | 内容 |
|------|------|
| **测试步骤** | 1. 输入搜索条件并查询 2. 点击「重置」按钮 |
| **预期结果** | 产线编码、产线名称输入框清空,所区下拉恢复为空;表格恢复显示全部数据;分页回到第 1 页 |
| **实际结果** | |
| **测试状态** | ⬜ 通过 / ⬜ 未通过 |
| **问题描述** | |
### TC-PL-010空关键字搜索
| 项目 | 内容 |
|------|------|
| **测试步骤** | 不输入任何条件直接点击「查询」按钮 |
| **预期结果** | 显示全部产线数据,无过滤效果 |
| **实际结果** | |
| **测试状态** | ⬜ 通过 / ⬜ 未通过 |
| **问题描述** | |
## 9.3 分页功能
### TC-PL-011分页切换
| 项目 | 内容 |
|------|------|
| **测试步骤** | 1. 切换每页显示条数10/20/50/100 2. 点击下一页/上一页 3. 输入页码直接跳转 |
| **预期结果** | 分页切换正常,表格数据按分页正确加载;总条数显示正确;切换每页条数后当前页重置为第 1 页 |
| **实际结果** | |
| **测试状态** | ⬜ 通过 / ⬜ 未通过 |
| **问题描述** | |
## 9.4 新增产线
### TC-PL-012打开新增弹框
| 项目 | 内容 |
|------|------|
| **测试步骤** | 点击表格上方工具栏「新 增」按钮 |
| **预期结果** | 弹出新增产线弹框,标题显示"新增产线";表单包含 4 个字段:产线编码(输入框)、产线名称(输入框)、所区(下拉选择器)、备注(文本域);所有字段为空;底部有「确定」和「取消」按钮 |
| **实际结果** | |
| **测试状态** | ⬜ 通过 / ⬜ 未通过 |
| **问题描述** | |
### TC-PL-013所区下拉框正常加载选项
| 项目 | 内容 |
|------|------|
| **测试步骤** | 1. 打开新增弹框 2. 点击「所区」下拉选择器 |
| **预期结果** | 下拉框正常显示所有已存在的所区列表选项,选项格式为"所区名称";支持 filterable 筛选 |
| **实际结果** | |
| **测试状态** | ⬜ 通过 / ⬜ 未通过 |
| **问题描述** | |
### TC-PL-014新增产线—正常提交
| 项目 | 内容 |
|------|------|
| **测试步骤** | 1. 打开新增弹框 2. 输入产线编码(如"PL-001" 3. 输入产线名称(如"测试产线" 4. 选择一个所区 5. 输入备注(可选) 6. 点击「确定」按钮 |
| **预期结果** | 弹框关闭,显示"操作成功"提示消息;表格自动刷新,新增的产线出现在列表中 |
| **实际结果** | |
| **测试状态** | ⬜ 通过 / ⬜ 未通过 |
| **问题描述** | |
### TC-PL-015新增产线—表单验证必填项为空
| 项目 | 内容 |
|------|------|
| **测试步骤** | 1. 打开新增弹框 2. 不填写任何内容直接点击「确定」按钮 |
| **预期结果** | 产线编码字段提示"请输入产线编码";产线名称字段提示"请输入产线名称";所区字段提示"请选择所区";表单阻止提交 |
| **实际结果** | |
| **测试状态** | ⬜ 通过 / ⬜ 未通过 |
| **问题描述** | |
### TC-PL-016新增产线—编码/名称超长验证
| 项目 | 内容 |
|------|------|
| **测试步骤** | 1. 打开新增弹框 2. 在产线编码输入框输入 101 个字符 3. 在产线名称输入框输入 101 个字符 4. 选择所区 5. 点击「确定」按钮 |
| **预期结果** | 提示"长度在 1 到 100 个字符",表单阻止提交 |
| **实际结果** | |
| **测试状态** | ⬜ 通过 / ⬜ 未通过 |
| **问题描述** | |
### TC-PL-017新增产线—取消操作
| 项目 | 内容 |
|------|------|
| **测试步骤** | 1. 打开新增弹框 2. 填写部分内容 3. 点击「取消」按钮 |
| **预期结果** | 弹框关闭,表格数据不变;再次打开新增弹框时表单已重置为空 |
| **实际结果** | |
| **测试状态** | ⬜ 通过 / ⬜ 未通过 |
| **问题描述** | |
## 9.5 编辑产线
### TC-PL-018打开编辑弹框并数据回填
| 项目 | 内容 |
|------|------|
| **测试步骤** | 1. 在表格中找到一条产线记录 2. 点击该行的「编 辑」按钮 |
| **预期结果** | 弹出编辑产线弹框,标题显示"编辑产线";表单自动回填该产线的编码、名称、所区、备注数据 |
| **实际结果** | |
| **测试状态** | ⬜ 通过 / ⬜ 未通过 |
| **问题描述** | |
### TC-PL-019编辑产线—修改名称后提交
| 项目 | 内容 |
|------|------|
| **测试步骤** | 1. 编辑一条产线 2. 修改产线名称为新值 3. 点击「确定」按钮 |
| **预期结果** | 弹框关闭,显示"操作成功"提示;表格自动刷新,该行显示更新后的产线名称 |
| **实际结果** | |
| **测试状态** | ⬜ 通过 / ⬜ 未通过 |
| **问题描述** | |
### TC-PL-020编辑产线—修改所属所区后提交
| 项目 | 内容 |
|------|------|
| **测试步骤** | 1. 编辑一条产线 2. 切换选择另一个所区 3. 点击「确定」按钮 |
| **预期结果** | 弹框关闭,操作成功;表格刷新后该行的「所属所区」列显示更新后的所区名称 |
| **实际结果** | |
| **测试状态** | ⬜ 通过 / ⬜ 未通过 |
| **问题描述** | |
### TC-PL-021编辑产线—验证必填项
| 项目 | 内容 |
|------|------|
| **测试步骤** | 1. 编辑一条产线 2. 清空产线编码或产线名称 3. 清空所区选择 4. 点击「确定」按钮 |
| **预期结果** | 对应字段出现必填验证提示,表单阻止提交 |
| **实际结果** | |
| **测试状态** | ⬜ 通过 / ⬜ 未通过 |
| **问题描述** | |
## 9.6 删除产线
### TC-PL-022删除产线—确认删除
| 项目 | 内容 |
|------|------|
| **测试步骤** | 1. 在表格中找到一条产线记录 2. 点击该行的「删 除」按钮 3. 在弹出的确认框中点击「确定」 |
| **预期结果** | 弹出确认框,标题为"提示",内容为"确定要执行该操作吗?";点击确定后显示"操作成功"提示;表格自动刷新,该产线不再出现在列表中;分页正确调整 |
| **实际结果** | |
| **测试状态** | ⬜ 通过 / ⬜ 未通过 |
| **问题描述** | |
### TC-PL-023删除产线—取消删除
| 项目 | 内容 |
|------|------|
| **测试步骤** | 1. 点击某条产线记录的「删 除」按钮 2. 在弹出的确认框中点击「取消」 |
| **预期结果** | 确认框关闭,该产线记录仍然保留在表格中,数据不变 |
| **实际结果** | |
| **测试状态** | ⬜ 通过 / ⬜ 未通过 |
| **问题描述** | |
## 9.7 多语言切换
### TC-PL-024切换到英文—页面标签
| 项目 | 内容 |
|------|------|
| **测试步骤** | 1. 切换到英文语言 2. 查看产线设置页面 |
| **预期结果** | 所有标签、按钮、表头均切换为英文:搜索区标签 "Production Line Code" / "Production Line Name" / "Plant Area";表格列头 "No." / "Production Line Code" / "Production Line Name" / "Plant Area" / "Remark" / "Actions";工具栏 "Add";行按钮 "Edit" / "Delete" |
| **实际结果** | |
| **测试状态** | ⬜ 通过 / ⬜ 未通过 |
| **问题描述** | |
### TC-PL-025切换到英文—弹框标题与表单
| 项目 | 内容 |
|------|------|
| **测试步骤** | 1. 切换到英文 2. 点击「Add」按钮打开新增弹框 3. 查看弹框内容 |
| **预期结果** | 弹框标题为 "Add Production Line";表单字段标签为英文;底部按钮为 "Confirm" / "Cancel";所区下拉 placeholder 为 "Please select plant area" |
| **实际结果** | |
| **测试状态** | ⬜ 通过 / ⬜ 未通过 |
| **问题描述** | |
### TC-PL-026切换到英文—提示信息
| 项目 | 内容 |
|------|------|
| **测试步骤** | 1. 切换到英文 2. 执行新增/编辑/删除操作 |
| **预期结果** | 操作成功提示为 "Operation succeeded";删除确认框内容为 "Are you sure to delete?",按钮为 "Confirm" / "Cancel";校验提示为英文(如 "Please enter production line code" |
| **实际结果** | |
| **测试状态** | ⬜ 通过 / ⬜ 未通过 |
| **问题描述** | |
### TC-PL-027英文下所有核心功能正常
| 项目 | 内容 |
|------|------|
| **测试步骤** | 在英文界面下执行完整操作流程:按编码搜索 → 按所区筛选 → 新增产线 → 编辑产线 → 删除产线 → 分页切换 |
| **预期结果** | 所有功能正常运行,交互逻辑与中文界面一致,无 i18n key 缺失导致的未翻译文本 |
| **实际结果** | |
| **测试状态** | ⬜ 通过 / ⬜ 未通过 |
| **问题描述** | |
## 9.8 边界与异常场景
### TC-PL-028搜索关键词无匹配结果
| 项目 | 内容 |
|------|------|
| **测试步骤** | 1. 在产线编码输入框输入一个不存在的编码(如"ZZZZZZZ" 2. 点击「查询」按钮 |
| **预期结果** | 表格显示空数据,分页显示总条数为 0页面无报错 |
| **实际结果** | |
| **测试状态** | ⬜ 通过 / ⬜ 未通过 |
| **问题描述** | |
### TC-PL-029新增产线—编码重复
| 项目 | 内容 |
|------|------|
| **测试步骤** | 1. 新增一条产线,编码与已有产线编码完全相同 2. 点击「确定」按钮 |
| **预期结果** | 后端返回编码重复错误,前端以错误提示形式展示;弹框不关闭,允许用户修改后重新提交 |
| **实际结果** | |
| **测试状态** | ⬜ 通过 / ⬜ 未通过 |
| **问题描述** | |
### TC-PL-030删除后分页自动调整
| 项目 | 内容 |
|------|------|
| **测试步骤** | 1. 翻到最后一页 2. 如果该页只有 1 条数据,将其删除 |
| **预期结果** | 删除成功后自动跳转到上一页(当前页页码正确调整),不会停留在空页面 |
| **实际结果** | |
| **测试状态** | ⬜ 通过 / ⬜ 未通过 |
| **问题描述** | |
---
## 测试结果汇总
| 功能模块 | 测试用例数 | 通过 | 未通过 | 通过率 |
|----------|-----------|------|--------|--------|
| 角色管理 | 24 | | | |
| 用户管理 | 33 | | | |
| 菜单配置 | 37 | | | |
| 接口日志 | 20 | | | |
| 操作日志 | 18 | | | |
| 问题帮助 | 21 | | | |
| 产品列表 | 37 | | | |
| 工艺流程类别 | 36 | | | |
| 产线设置 | 30 | | | |
| 工序单元 | 36 | | | |
| **合计** | **292** | | | |
---
# 十、工序单元功能测试
> **迁移日期**2026-06-01
> **对应页面**`src/views/production-master-data/process-model/process-step/index.vue`
> **API 文件**`src/api/production-master-data/process-step.js`
> **路由路径**`/production_configuration/technology_model/technology_flow_workingsubclass`
> **页面结构**:搜索区(工序单元编码 + 工序单元名称 + 查询/重置按钮)+ 数据表格 + 新增/编辑弹框(含设备类别下拉选择)
## 10.1 页面加载与数据展示
### TC-STEP-001工序单元页面正常加载
| 项目 | 内容 |
|------|------|
| **测试步骤** | 1. 登录系统 2. 点击菜单「生产配置 → 工艺模型 → 工序单元」 |
| **预期结果** | 页面正常加载,显示工序单元列表表格,包含序号、工序单元编码、工序单元名称、设备类别、备注、操作列;底部分页组件显示总条数 |
| **实际结果** | |
| **测试状态** | ⬜ 通过 / ⬜ 未通过 |
| **问题描述** | |
### TC-STEP-002表格列完整显示
| 项目 | 内容 |
|------|------|
| **测试步骤** | 1. 观察表格列头 2. 横向滚动查看所有列 |
| **预期结果** | 表格包含以下列:序号、工序单元编码、工序单元名称、设备类别、备注、操作(共 6 列),操作列固定在右侧 |
| **实际结果** | |
| **测试状态** | ⬜ 通过 / ⬜ 未通过 |
| **问题描述** | |
### TC-STEP-003空数据状态展示
| 项目 | 内容 |
|------|------|
| **测试前置条件** | 确保数据库中没有工序单元数据(或清空搜索条件后无匹配数据) |
| **测试步骤** | 1. 在搜索框中输入一个不存在的工序单元编码 2. 点击「查询」 |
| **预期结果** | 表格显示空状态提示(如"暂无数据"),分页显示总数为 0 |
| **实际结果** | |
| **测试状态** | ⬜ 通过 / ⬜ 未通过 |
| **问题描述** | |
### TC-STEP-004表格序号正确递增
| 项目 | 内容 |
|------|------|
| **测试步骤** | 1. 加载工序单元列表 2. 观察序号列 |
| **预期结果** | 序号从 1 开始递增,翻页后序号接续正确 |
| **实际结果** | |
| **测试状态** | ⬜ 通过 / ⬜ 未通过 |
| **问题描述** | |
## 10.2 搜索与分页
### TC-STEP-005按工序单元编码搜索
| 项目 | 内容 |
|------|------|
| **测试步骤** | 1. 在工序单元编码输入框中输入已知存在的编码 2. 点击「查询」按钮 |
| **预期结果** | 表格仅显示编码匹配的记录 |
| **实际结果** | |
| **测试状态** | ⬜ 通过 / ⬜ 未通过 |
| **问题描述** | |
### TC-STEP-006按工序单元名称搜索
| 项目 | 内容 |
|------|------|
| **测试步骤** | 1. 在工序单元名称输入框中输入已知存在的名称 2. 点击「查询」按钮 |
| **预期结果** | 表格仅显示名称匹配的记录 |
| **实际结果** | |
| **测试状态** | ⬜ 通过 / ⬜ 未通过 |
| **问题描述** | |
### TC-STEP-007组合搜索
| 项目 | 内容 |
|------|------|
| **测试步骤** | 1. 同时填写工序单元编码和名称搜索条件 2. 点击「查询」按钮 |
| **预期结果** | 表格显示同时满足编码和名称条件的记录 |
| **实际结果** | |
| **测试状态** | ⬜ 通过 / ⬜ 未通过 |
| **问题描述** | |
### TC-STEP-008重置搜索条件
| 项目 | 内容 |
|------|------|
| **测试步骤** | 1. 输入搜索条件并查询 2. 点击「重置」按钮 |
| **预期结果** | 搜索条件清空,表格恢复显示全部数据 |
| **实际结果** | |
| **测试状态** | ⬜ 通过 / ⬜ 未通过 |
| **问题描述** | |
### TC-STEP-009分页功能
| 项目 | 内容 |
|------|------|
| **测试步骤** | 1. 切换每页显示条数 2. 点击下一页/上一页 3. 输入页码跳转 |
| **预期结果** | 分页切换正常,表格数据按分页加载,总条数正确显示 |
| **实际结果** | |
| **测试状态** | ⬜ 通过 / ⬜ 未通过 |
| **问题描述** | |
## 10.3 新增工序单元
### TC-STEP-010打开新增弹框
| 项目 | 内容 |
|------|------|
| **测试步骤** | 点击表格上方工具栏「新增」按钮 |
| **预期结果** | 弹出新增工序单元弹框,标题显示"新增工序单元",表单字段为空:工序单元编码(输入框)、工序单元名称(输入框)、设备类别(下拉选择)、备注(多行文本域) |
| **实际结果** | |
| **测试状态** | ⬜ 通过 / ⬜ 未通过 |
| **问题描述** | |
### TC-STEP-011新增工序单元成功
| 项目 | 内容 |
|------|------|
| **测试步骤** | 1. 打开新增弹框 2. 输入工序单元编码(如"PS-001"3. 输入工序单元名称(如"测试工序单元001"4. 选择设备类别 5. 输入备注(如"用于测试"6. 点击「确定」 |
| **预期结果** | 弹框关闭,提示"操作成功",表格刷新并显示新增的工序单元 |
| **实际结果** | |
| **测试状态** | ⬜ 通过 / ⬜ 未通过 |
| **问题描述** | |
### TC-STEP-012新增工序单元—仅填写必填项
| 项目 | 内容 |
|------|------|
| **测试步骤** | 1. 打开新增弹框 2. 填写编码、名称,选择设备类别 3. 备注留空 4. 点击「确定」 |
| **预期结果** | 弹框关闭,提示"操作成功",备注字段在表格中显示为空 |
| **实际结果** | |
| **测试状态** | ⬜ 通过 / ⬜ 未通过 |
| **问题描述** | |
### TC-STEP-013新增工序单元—设备类别下拉选择
| 项目 | 内容 |
|------|------|
| **测试步骤** | 1. 打开新增弹框 2. 点击设备类别下拉框 |
| **预期结果** | 下拉列表显示所有设备类别选项,可搜索过滤 |
| **实际结果** | |
| **测试状态** | ⬜ 通过 / ⬜ 未通过 |
| **问题描述** | |
### TC-STEP-014取消新增
| 项目 | 内容 |
|------|------|
| **测试步骤** | 1. 打开新增弹框 2. 填写部分内容 3. 点击「取消」按钮或弹框右上角 X |
| **预期结果** | 弹框关闭,表格数据不变 |
| **实际结果** | |
| **测试状态** | ⬜ 通过 / ⬜ 未通过 |
| **问题描述** | |
### TC-STEP-015连续新增
| 项目 | 内容 |
|------|------|
| **测试步骤** | 1. 新增工序单元 A 成功后 2. 再次点击「新增」按钮 3. 新增工序单元 B |
| **预期结果** | 弹框表单每次打开时均为空状态,上次填写的内容不残留;两次新增均成功 |
| **实际结果** | |
| **测试状态** | ⬜ 通过 / ⬜ 未通过 |
| **问题描述** | |
## 10.4 编辑工序单元
### TC-STEP-016打开编辑弹框
| 项目 | 内容 |
|------|------|
| **测试步骤** | 点击工序单元列表中任一工序单元行操作列的「编辑」按钮 |
| **预期结果** | 弹出编辑工序单元弹框,标题显示"编辑工序单元",表单回填该工序单元的编码、名称、设备类别、备注 |
| **实际结果** | |
| **测试状态** | ⬜ 通过 / ⬜ 未通过 |
| **问题描述** | |
### TC-STEP-017编辑工序单元—修改名称
| 项目 | 内容 |
|------|------|
| **测试步骤** | 1. 打开编辑弹框 2. 修改工序单元名称(如改为"测试工序单元-已修改"3. 点击「确定」 |
| **预期结果** | 弹框关闭,提示"操作成功",表格中该行名称更新 |
| **实际结果** | |
| **测试状态** | ⬜ 通过 / ⬜ 未通过 |
| **问题描述** | |
### TC-STEP-018编辑工序单元—修改设备类别
| 项目 | 内容 |
|------|------|
| **测试步骤** | 1. 打开编辑弹框 2. 切换选择另一个设备类别 3. 点击「确定」 |
| **预期结果** | 弹框关闭,提示"操作成功",表格中该行设备类别列更新 |
| **实际结果** | |
| **测试状态** | ⬜ 通过 / ⬜ 未通过 |
| **问题描述** | |
### TC-STEP-019编辑工序单元—工序单元编码不可修改
| 项目 | 内容 |
|------|------|
| **测试步骤** | 1. 打开编辑弹框 2. 查看工序单元编码输入框 |
| **预期结果** | 工序单元编码字段显示为禁用状态(灰色不可编辑) |
| **实际结果** | |
| **测试状态** | ⬜ 通过 / ⬜ 未通过 |
| **问题描述** | |
### TC-STEP-020取消编辑
| 项目 | 内容 |
|------|------|
| **测试步骤** | 1. 打开编辑弹框 2. 修改内容 3. 点击「取消」按钮 |
| **预期结果** | 弹框关闭,原数据不变 |
| **实际结果** | |
| **测试状态** | ⬜ 通过 / ⬜ 未通过 |
| **问题描述** | |
## 10.5 删除工序单元
### TC-STEP-021删除确认弹框
| 项目 | 内容 |
|------|------|
| **测试步骤** | 点击工序单元列表中任一工序单元行操作列的「删除」按钮 |
| **预期结果** | 弹出确认提示框,内容为"确定要执行该操作吗?",有「确定」和「取消」按钮 |
| **实际结果** | |
| **测试状态** | ⬜ 通过 / ⬜ 未通过 |
| **问题描述** | |
### TC-STEP-022删除工序单元成功
| 项目 | 内容 |
|------|------|
| **测试步骤** | 1. 点击工序单元行的「删除」按钮 2. 在确认框中点击「确定」 |
| **预期结果** | 提示"操作成功",该工序单元从列表中消失,分页总数减 1 |
| **实际结果** | |
| **测试状态** | ⬜ 通过 / ⬜ 未通过 |
| **问题描述** | |
### TC-STEP-023取消删除
| 项目 | 内容 |
|------|------|
| **测试步骤** | 1. 点击「删除」按钮 2. 在确认框中点击「取消」 |
| **预期结果** | 确认框关闭,工序单元数据保持不变 |
| **实际结果** | |
| **测试状态** | ⬜ 通过 / ⬜ 未通过 |
| **问题描述** | |
### TC-STEP-024删除最后一页唯一数据后的分页处理
| 项目 | 内容 |
|------|------|
| **测试前置条件** | 存在数据,且最后一页只有一条记录 |
| **测试步骤** | 1. 翻到最后一页 2. 删除该页唯一的工序单元 |
| **预期结果** | 提示"操作成功",自动跳转到前一页,分页总数减 1 |
| **实际结果** | |
| **测试状态** | ⬜ 通过 / ⬜ 未通过 |
| **问题描述** | |
## 10.6 表单校验
### TC-STEP-025新增表单校验—编码必填
| 项目 | 内容 |
|------|------|
| **测试步骤** | 1. 打开新增弹框 2. 不填写工序单元编码 3. 填写其他必填项 4. 点击「确定」 |
| **预期结果** | 编码输入框下方显示红色校验提示,弹框不关闭 |
| **实际结果** | |
| **测试状态** | ⬜ 通过 / ⬜ 未通过 |
| **问题描述** | |
### TC-STEP-026新增表单校验—名称必填
| 项目 | 内容 |
|------|------|
| **测试步骤** | 1. 打开新增弹框 2. 填写编码 3. 不填写工序单元名称 4. 选择设备类别 5. 点击「确定」 |
| **预期结果** | 名称输入框下方显示红色校验提示,弹框不关闭 |
| **实际结果** | |
| **测试状态** | ⬜ 通过 / ⬜ 未通过 |
| **问题描述** | |
### TC-STEP-027新增表单校验—设备类别必填
| 项目 | 内容 |
|------|------|
| **测试步骤** | 1. 打开新增弹框 2. 填写编码和名称 3. 不选择设备类别 4. 点击「确定」 |
| **预期结果** | 设备类别下方显示红色校验提示"请选择设备类别",弹框不关闭 |
| **实际结果** | |
| **测试状态** | ⬜ 通过 / ⬜ 未通过 |
| **问题描述** | |
### TC-STEP-028新增表单校验—编码长度上限
| 项目 | 内容 |
|------|------|
| **测试步骤** | 1. 打开新增弹框 2. 在编码输入框中输入超过 100 个字符 3. 点击「确定」 |
| **预期结果** | 编码输入框下方显示红色校验提示"长度在 1 到 100 个字符" |
| **实际结果** | |
| **测试状态** | ⬜ 通过 / ⬜ 未通过 |
| **问题描述** | |
### TC-STEP-029新增表单校验—中文字符正常输入
| 项目 | 内容 |
|------|------|
| **测试步骤** | 1. 打开新增弹框 2. 工序单元名称输入中文字符 3. 点击「确定」 |
| **预期结果** | 表单正常提交,中文内容正确保存 |
| **实际结果** | |
| **测试状态** | ⬜ 通过 / ⬜ 未通过 |
| **问题描述** | |
### TC-STEP-030编辑表单校验—清空必填项
| 项目 | 内容 |
|------|------|
| **测试步骤** | 1. 打开已存在工序单元的编辑弹框 2. 清空工序单元名称 3. 点击「确定」 |
| **预期结果** | 名称输入框下方显示红色校验提示 |
| **实际结果** | |
| **测试状态** | ⬜ 通过 / ⬜ 未通过 |
| **问题描述** | |
## 10.7 多语言切换
### TC-STEP-031切换到英文—页面标签
| 项目 | 内容 |
|------|------|
| **测试步骤** | 1. 切换到英文语言 2. 点击菜单进入工序单元页面 |
| **预期结果** | 搜索区标签显示"Process Unit Code"、"Process Unit Name"、"Search"、"Reset";表格列头显示"No."、"Process Unit Code"、"Process Unit Name"、"Device Category"、"Remark"、"Actions";工具栏按钮显示"Add" |
| **实际结果** | |
| **测试状态** | ⬜ 通过 / ⬜ 未通过 |
| **问题描述** | |
### TC-STEP-032切换到英文—新增弹框标签
| 项目 | 内容 |
|------|------|
| **测试步骤** | 1. 切换到英文 2. 点击新增按钮 3. 查看弹框 |
| **预期结果** | 弹框标题为"Add Process Unit";表单标签为"Process Unit Code"、"Process Unit Name"、"Device Category"、"Remark";底部按钮为"Confirm"、"Cancel" |
| **实际结果** | |
| **测试状态** | ⬜ 通过 / ⬜ 未通过 |
| **问题描述** | |
### TC-STEP-033切换到英文—编辑弹框标签
| 项目 | 内容 |
|------|------|
| **测试步骤** | 1. 切换到英文 2. 点击某行的编辑按钮 |
| **预期结果** | 弹框标题为"Edit Process Unit",表单回填正确,所有标签为英文 |
| **实际结果** | |
| **测试状态** | ⬜ 通过 / ⬜ 未通过 |
| **问题描述** | |
### TC-STEP-034切换到英文—提示信息
| 项目 | 内容 |
|------|------|
| **测试步骤** | 1. 切换到英文 2. 执行新增/编辑/删除操作 |
| **预期结果** | 操作成功提示为"Operation succeeded";删除确认框内容为"Proceed with this action?";校验提示为英文 |
| **实际结果** | |
| **测试状态** | ⬜ 通过 / ⬜ 未通过 |
| **问题描述** | |
### TC-STEP-035切换到英文—设备类别下拉
| 项目 | 内容 |
|------|------|
| **测试步骤** | 1. 切换到英文 2. 打开新增弹框 3. 点击设备类别下拉框 |
| **预期结果** | 下拉 placeholder 为"Please select device category" |
| **实际结果** | |
| **测试状态** | ⬜ 通过 / ⬜ 未通过 |
| **问题描述** | |
### TC-STEP-036英文下所有操作功能正常
| 项目 | 内容 |
|------|------|
| **测试步骤** | 在英文界面下执行:搜索、新增工序单元、编辑工序单元、删除工序单元、分页切换 |
| **预期结果** | 所有功能正常运行,交互逻辑与中文界面一致 |
| **实际结果** | |
| **测试状态** | ⬜ 通过 / ⬜ 未通过 |
| **问题描述** | |
### TC-STEP-037预设设定值按钮权限控制
| 项目 | 内容 |
|------|------|
| **测试步骤** | 1. 登录系统 2. 进入工序单元页面 3. 查看某行数据的操作列 |
| **预期结果** | 操作列显示:编辑(黄色)、预设设定值(橙色)、预设结果参数(绿色)、删除(红色)四个按钮 |
| **实际结果** | |
| **测试状态** | ⬜ 通过 / ⬜ 未通过 |
| **问题描述** | |
### TC-STEP-038打开预设设定值弹框
| 项目 | 内容 |
|------|------|
| **测试步骤** | 1. 进入工序单元页面 2. 点击某行的"预设设定值"按钮 |
| **预期结果** | 弹出"预设设定值"对话框,标题正确,显示配置区域占位符和提示信息 |
| **实际结果** | |
| **测试状态** | ⬜ 通过 / ⬜ 未通过 |
| **问题描述** | |
### TC-STEP-039预设设定值弹框关闭
| 项目 | 内容 |
|------|------|
| **测试步骤** | 1. 打开预设设定值弹框 2. 点击取消按钮 |
| **预期结果** | 弹框关闭,无错误 |
| **实际结果** | |
| **测试状态** | ⬜ 通过 / ⬜ 未通过 |
| **问题描述** | |
### TC-STEP-040预设设定值提交
| 项目 | 内容 |
|------|------|
| **测试步骤** | 1. 打开预设设定值弹框 2. 点击确定按钮 |
| **预期结果** | 显示"操作成功"提示,弹框关闭 |
| **实际结果** | |
| **测试状态** | ⬜ 通过 / ⬜ 未通过 |
| **问题描述** | |
### TC-STEP-041预设结果参数按钮存在
| 项目 | 内容 |
|------|------|
| **测试步骤** | 进入工序单元页面,查看操作列按钮 |
| **预期结果** | 显示"预设结果参数"按钮(绿色图标) |
| **实际结果** | |
| **测试状态** | ⬜ 通过 / ⬜ 未通过 |
| **问题描述** | |
### TC-STEP-042打开预设结果参数弹框
| 项目 | 内容 |
|------|------|
| **测试步骤** | 1. 进入工序单元页面 2. 点击某行的"预设结果参数"按钮 |
| **预期结果** | 弹出"预设结果参数"对话框,显示可选参数列表表格(名称、参数、类别、备注、是否唯一、是否上传) |
| **实际结果** | |
| **测试状态** | ⬜ 通过 / ⬜ 未通过 |
| **问题描述** | |
### TC-STEP-043预设结果参数搜索功能
| 项目 | 内容 |
|------|------|
| **测试步骤** | 1. 打开预设结果参数弹框 2. 输入名称和参数进行搜索 |
| **预期结果** | 点击查询按钮后,表格数据根据搜索条件过滤 |
| **实际结果** | |
| **测试状态** | ⬜ 通过 / ⬜ 未通过 |
| **问题描述** | |
### TC-STEP-044新增可选参数
| 项目 | 内容 |
|------|------|
| **测试步骤** | 1. 打开预设结果参数弹框 2. 点击"新增一行"按钮 3. 填写参数信息 4. 点击确定 |
| **预期结果** | 新增成功,列表刷新显示新数据,弹出成功提示 |
| **实际结果** | |
| **测试状态** | ⬜ 通过 / ⬜ 未通过 |
| **问题描述** | |
### TC-STEP-045编辑可选参数
| 项目 | 内容 |
|------|------|
| **测试步骤** | 1. 打开预设结果参数弹框 2. 点击某行的编辑图标 3. 修改信息 4. 点击确定 |
| **预期结果** | 编辑成功,列表刷新显示更新后的数据 |
| **实际结果** | |
| **测试状态** | ⬜ 通过 / ⬜ 未通过 |
| **问题描述** | |
### TC-STEP-046删除可选参数
| 项目 | 内容 |
|------|------|
| **测试步骤** | 1. 打开预设结果参数弹框 2. 点击某行的删除图标 3. 确认删除 |
| **预期结果** | 删除成功,列表刷新,该数据不再显示 |
| **实际结果** | |
| **测试状态** | ⬜ 通过 / ⬜ 未通过 |
| **问题描述** | |
### TC-STEP-047预设结果参数分页
| 项目 | 内容 |
|------|------|
| **测试步骤** | 1. 打开预设结果参数弹框 2. 当数据较多时切换分页 |
| **预期结果** | 分页切换正常,显示正确的页码和总条数 |
| **实际结果** | |
| **测试状态** | ⬜ 通过 / ⬜ 未通过 |
| **问题描述** | |
### TC-STEP-048预设结果参数关闭
| 项目 | 内容 |
|------|------|
| **测试步骤** | 1. 打开预设结果参数弹框 2. 点击关闭按钮 |
| **预期结果** | 弹框正常关闭 |
| **实际结果** | |
| **测试状态** | ⬜ 通过 / ⬜ 未通过 |
| **问题描述** | |
### TC-STEP-049预设结果参数导入功能入口
| 项目 | 内容 |
|------|------|
| **测试步骤** | 1. 打开预设结果参数弹框 2. 点击"导入"按钮 |
| **预期结果** | 显示"导入功能开发中"提示 |
| **实际结果** | |
| **测试状态** | ⬜ 通过 / ⬜ 未通过 |
| **问题描述** | |
### TC-STEP-050预设结果参数英文界面
| 项目 | 内容 |
|------|------|
| **测试步骤** | 1. 切换到英文 2. 打开预设结果参数弹框 |
| **预期结果** | 弹框标题显示"Preset Result Parameters"表格列头显示英文Name、Parameter、Category等 |
| **实际结果** | |
| **测试状态** | ⬜ 通过 / ⬜ 未通过 |
| **问题描述** | |
---
## 测试结果汇总
| 功能模块 | 测试用例数 | 通过 | 未通过 | 通过率 |
|----------|-----------|------|--------|--------|
| 角色管理 | 24 | | | |
| 用户管理 | 33 | | | |
| 菜单配置 | 37 | | | |
| 接口日志 | 20 | | | |
| 操作日志 | 18 | | | |
| 问题帮助 | 21 | | | |
| 产品列表 | 37 | | | |
| 工艺流程类别 | 36 | | | |
| 产线设置 | 30 | | | |
| 工序单元 | 50 | | | |
| **合计** | **306** | | | |
---
> **版本记录**
> - v1.0 (2026-05-28)初始版本包含角色管理功能24 条用例)
> - v1.1 (2026-05-28)追加用户管理功能33 条用例)
> - v1.2 (2026-05-29)追加菜单配置功能37 条用例)
> - v1.3 (2026-05-29)追加接口日志功能20 条用例)
> - v1.4 (2026-05-29)追加操作日志功能18 条用例)
> - v1.5 (2026-05-29)追加问题帮助功能21 条用例)
> - v1.6 (2026-06-01)追加产品列表功能37 条用例)
> - v1.7 (2026-06-01)追加工艺流程类别功能36 条用例)
> - v1.8 (2026-06-01)追加产线设置功能30 条用例)
> - v1.9 (2026-06-01)追加工序单元功能36 条用例)
> - v1.10 (2026-06-01)追加工序单元预设设定值和预设结果参数功能14 条用例)