# SPC采集配置功能测试流程文档

> **测试对象**：生产配置 → SPC采集模型 → SPC采集配置（Data Collection Configuration）
> **迁移日期**：2026-06-02
> **对应页面**：[`src/views/production-master-data/spc-configuration/data-collection-configuration/index.vue`](file:///c:/code/compony/mes-ui-d2/src/views/production-master-data/spc-configuration/data-collection-configuration/index.vue)
> **API 文件**：[`src/api/production-master-data/data-collection-configuration.js`](file:///c:/code/compony/mes-ui-d2/src/api/production-master-data/data-collection-configuration.js)
> **路由路径**：`/production_configuration/spc_configuration/binding_scada_node`（旧值暂留，后续批量替换）
> **i18n 前缀**：`page.production_master_data.spc_configuration.data_collection_configuration`

---

## 一、测试环境配置

| 配置项 | 要求 |
|--------|------|
| 浏览器 | Chrome 最新版、Edge 最新版（兼容 IE 11+） |
| 屏幕分辨率 | ≥ 1920×1080 |
| Node.js | ≥ 16.x |
| 包管理器 | pnpm ≥ 7.x |
| 后端服务 | Webman 已启动，且 SPC采集配置相关 API 可正常访问（`production_configuration/spc_configuration/binding_scada_node/*`） |
| 测试账号 | 具有「生产配置 → SPC采集模型 → SPC采集配置」菜单权限的管理员账号（含 create / edit / delete 权限） |
| 测试数据 | 准备至少 5 条测试用 SPC采集配置（采集编码唯一），覆盖不同采集类型（实时、周期、触发）、不同状态（启用、禁用） |
| SCADA节点依赖 | 系统中至少配置 1 个可用的 SCADA 节点，便于绑定 |
| 语言切换 | 先测中文（简体中文），再切到英文验证 i18n 是否正常 |
| 权限分配 | 系统管理 → 菜单管理中确认 SPC采集配置按钮权限（新增、编辑、删除）已正确配置 |

---

## 二、测试前置条件

1. 后端服务（Webman）已启动，`production_configuration/spc_configuration/binding_scada_node/` 模块的 API 可正常访问
2. 前端项目已执行 `pnpm install` 且 `pnpm dev` 正常启动，可访问登录页
3. 使用具有「生产配置 → SPC采集模型 → SPC采集配置」菜单权限的管理员账号登录
4. 侧边栏菜单 **生产配置 → SPC采集模型** 下可见 **SPC采集配置** 子菜单
5. 浏览器控制台无 Vue 警告或 i18n key 缺失报错
6. 确认 `src/locales/zh-chs.json` 和 `src/locales/en.json` 中存在 `page.production_master_data.spc_configuration.data_collection_configuration` 配置
7. 数据库中 SPC采集配置表为空或仅有少量测试数据，便于验证
8. 系统中至少存在 1 个已配置的 SCADA 节点

---

## 三、功能测试用例

### 3.1 页面加载与数据展示

#### TC-SCC-001：菜单导航与页面加载

| 项目 | 内容 |
|------|------|
| **测试步骤** | 1. 登录系统 2. 点击侧边栏菜单「生产配置 → SPC采集模型 → SPC采集配置」 |
| **预期结果** | 页面正常加载，URL 显示 `/production_configuration/spc_configuration/binding_scada_node`；页面顶部显示搜索栏（采集编码、采集名称、SCADA节点、状态、查询、重置按钮）；中部显示 SPC采集配置 列表表格；底部分页组件显示 |
| **实际结果** |  |
| **测试状态** | ⬜ 通过 / ⬜ 未通过 |
| **问题描述** |  |

#### TC-SCC-002：列表表格列头与数据展示

| 项目 | 内容 |
|------|------|
| **测试步骤** | 查看 SPC采集配置 列表的表头列与各行数据 |
| **预期结果** | 表格列依次为：序号、采集编码、采集名称、SCADA节点、采集类型、采集间隔(秒)、状态（tag 标签展示）、备注、操作；操作列包含「编辑」「删除」两个按钮（带图标）；当数据为空时显示空数据占位提示 |
| **实际结果** |  |
| **测试状态** | ⬜ 通过 / ⬜ 未通过 |
| **问题描述** |  |

#### TC-SCC-003：状态列 Tag 展示

| 项目 | 内容 |
|------|------|
| **测试步骤** | 查看列表中状态列的不同取值 |
| **预期结果** | 启用状态显示绿色 tag（success 类型），禁用状态显示红色 tag（danger 类型） |
| **实际结果** |  |
| **测试状态** | ⬜ 通过 / ⬜ 未通过 |
| **问题描述** |  |

#### TC-SCC-004：工具栏按钮显示

| 项目 | 内容 |
|------|------|
| **测试步骤** | 查看表格上方的工具栏 |
| **预期结果** | 显示蓝色「新增」按钮（含加号图标），右上角显示问号「帮助」按钮（点击跳转 `/help/data-collection-configuration`） |
| **实际结果** |  |
| **测试状态** | ⬜ 通过 / ⬜ 未通过 |
| **问题描述** |  |

#### TC-SCC-005：表格自适应高度

| 项目 | 内容 |
|------|------|
| **测试步骤** | 1. 加载页面后查看表格高度 2. 缩小/放大浏览器窗口 3. 折叠/展开侧边栏 |
| **预期结果** | 表格高度自动填满 d2-container 剩余空间，窗口变化时无空白或滚动条异常 |
| **实际结果** |  |
| **测试状态** | ⬜ 通过 / ⬜ 未通过 |
| **问题描述** |  |

### 3.2 搜索功能

#### TC-SCC-006：按采集编码精确搜索

| 项目 | 内容 |
|------|------|
| **测试步骤** | 1. 在「采集编码」输入框输入完整的采集编码（如 `SCC_001`） 2. 点击「查询」按钮 |
| **预期结果** | 表格仅显示编码匹配的数据行；分页总数更新为匹配条数；输入框右侧 X 按钮可清空内容 |
| **实际结果** |  |
| **测试状态** | ⬜ 通过 / ⬜ 未通过 |
| **问题描述** |  |

#### TC-SCC-007：按采集编码模糊搜索

| 项目 | 内容 |
|------|------|
| **测试步骤** | 1. 在「采集编码」输入框输入编码的片段（如 `SCC_`） 2. 点击「查询」按钮 |
| **预期结果** | 表格显示所有编码包含 `SCC_` 的数据行 |
| **实际结果** |  |
| **测试状态** | ⬜ 通过 / ⬜ 未通过 |
| **问题描述** |  |

#### TC-SCC-008：按采集名称搜索

| 项目 | 内容 |
|------|------|
| **测试步骤** | 1. 在「采集名称」输入框输入关键字（如「温度」） 2. 点击「查询」按钮 |
| **预期结果** | 表格仅显示名称包含关键字的 SPC采集配置 |
| **实际结果** |  |
| **测试状态** | ⬜ 通过 / ⬜ 未通过 |
| **问题描述** |  |

#### TC-SCC-009：按 SCADA 节点搜索

| 项目 | 内容 |
|------|------|
| **测试步骤** | 1. 在「SCADA节点」输入框输入节点关键字 2. 点击「查询」按钮 |
| **预期结果** | 表格仅显示 SCADA 节点字段匹配的数据行 |
| **实际结果** |  |
| **测试状态** | ⬜ 通过 / ⬜ 未通过 |
| **问题描述** |  |

#### TC-SCC-010：按状态筛选

| 项目 | 内容 |
|------|------|
| **测试步骤** | 1. 在「状态」下拉中选择「启用」 2. 点击「查询」按钮 |
| **预期结果** | 表格仅显示状态为启用的数据行；下拉中可选择「启用」「禁用」或留空（全部） |
| **实际结果** |  |
| **测试状态** | ⬜ 通过 / ⬜ 未通过 |
| **问题描述** |  |

#### TC-SCC-011：组合条件搜索

| 项目 | 内容 |
|------|------|
| **测试步骤** | 1. 同时输入「采集编码」「采集名称」「SCADA节点」「状态」搜索条件 2. 点击「查询」按钮 |
| **预期结果** | 表格显示同时满足所有条件的数据行（AND 关系） |
| **实际结果** |  |
| **测试状态** | ⬜ 通过 / ⬜ 未通过 |
| **问题描述** |  |

#### TC-SCC-012：回车键触发搜索

| 项目 | 内容 |
|------|------|
| **测试步骤** | 1. 在搜索输入框中输入关键字 2. 按下键盘回车键 |
| **预期结果** | 等同于点击「查询」按钮，表格按搜索条件刷新 |
| **实际结果** |  |
| **测试状态** | ⬜ 通过 / ⬜ 未通过 |
| **问题描述** |  |

#### TC-SCC-013：重置搜索

| 项目 | 内容 |
|------|------|
| **测试步骤** | 1. 输入搜索条件并点击「查询」 2. 点击「重置」按钮 |
| **预期结果** | 搜索输入框和状态下拉清空，表格恢复显示全部 SPC采集配置 数据 |
| **实际结果** |  |
| **测试状态** | ⬜ 通过 / ⬜ 未通过 |
| **问题描述** |  |

#### TC-SCC-014：搜索无结果

| 项目 | 内容 |
|------|------|
| **测试步骤** | 1. 输入不存在的编码或名称 2. 点击「查询」 |
| **预期结果** | 表格显示空数据占位提示，分页总数显示 0 |
| **实际结果** |  |
| **测试状态** | ⬜ 通过 / ⬜ 未通过 |
| **问题描述** |  |

### 3.3 分页功能

#### TC-SCC-015：分页默认显示

| 项目 | 内容 |
|------|------|
| **测试步骤** | 加载页面后查看分页组件 |
| **预期结果** | 分页默认显示第 1 页，每页 10 条记录，总条数显示当前数据库 SPC采集配置 总数 |
| **实际结果** |  |
| **测试状态** | ⬜ 通过 / ⬜ 未通过 |
| **问题描述** |  |

#### TC-SCC-016：切换每页条数

| 项目 | 内容 |
|------|------|
| **测试步骤** | 1. 在分页组件的「每页显示」下拉中切换为 20、50、100 2. 观察表格变化 |
| **预期结果** | 表格按新条数加载数据，分页组件正确显示总页数 |
| **实际结果** |  |
| **测试状态** | ⬜ 通过 / ⬜ 未通过 |
| **问题描述** |  |

#### TC-SCC-017：翻页功能

| 项目 | 内容 |
|------|------|
| **测试步骤** | 1. 准备至少 25 条测试数据 2. 点击「下一页」「上一页」「首页」「末页」按钮 3. 输入页码跳转 |
| **预期结果** | 表格按页加载数据，翻页流畅无报错 |
| **实际结果** |  |
| **测试状态** | ⬜ 通过 / ⬜ 未通过 |
| **问题描述** |  |

### 3.4 新增 SPC采集配置

#### TC-SCC-018：打开新增弹框

| 项目 | 内容 |
|------|------|
| **测试步骤** | 点击表格上方「新增」按钮 |
| **预期结果** | 弹出新增 SPC采集配置 对话框，标题显示"新增SPC采集配置"，包含采集编码、采集名称、SCADA节点、采集类型、采集间隔(秒)、状态、备注共 7 个表单项；「确定」「取消」按钮位于底部；弹框宽度约 50% |
| **实际结果** |  |
| **测试状态** | ⬜ 通过 / ⬜ 未通过 |
| **问题描述** |  |

#### TC-SCC-019：新增表单必填校验 - 采集编码

| 项目 | 内容 |
|------|------|
| **测试步骤** | 1. 打开新增弹框 2. 不填写「采集编码」直接点击「确定」 |
| **预期结果** | 「采集编码」输入框下方显示红色校验提示"请输入采集编码" |
| **实际结果** |  |
| **测试状态** | ⬜ 通过 / ⬜ 未通过 |
| **问题描述** |  |

#### TC-SCC-020：新增表单必填校验 - 采集名称

| 项目 | 内容 |
|------|------|
| **测试步骤** | 1. 打开新增弹框 2. 不填写「采集名称」直接点击「确定」 |
| **预期结果** | 「采集名称」输入框下方显示红色校验提示"请输入采集名称" |
| **实际结果** |  |
| **测试状态** | ⬜ 通过 / ⬜ 未通过 |
| **问题描述** |  |

#### TC-SCC-021：新增表单必填校验 - SCADA 节点

| 项目 | 内容 |
|------|------|
| **测试步骤** | 1. 打开新增弹框 2. 不填写「SCADA节点」直接点击「确定」 |
| **预期结果** | 「SCADA节点」输入框下方显示红色校验提示"请输入SCADA节点" |
| **实际结果** |  |
| **测试状态** | ⬜ 通过 / ⬜ 未通过 |
| **问题描述** |  |

#### TC-SCC-022：新增表单必填校验 - 采集类型

| 项目 | 内容 |
|------|------|
| **测试步骤** | 1. 打开新增弹框 2. 不选择「采集类型」直接点击「确定」 |
| **预期结果** | 「采集类型」下拉框下方显示红色校验提示"请选择采集类型" |
| **实际结果** |  |
| **测试状态** | ⬜ 通过 / ⬜ 未通过 |
| **问题描述** |  |

#### TC-SCC-023：新增表单必填校验 - 状态

| 项目 | 内容 |
|------|------|
| **测试步骤** | 1. 打开新增弹框 2. 清空「状态」下拉框 3. 点击「确定」 |
| **预期结果** | 「状态」下拉框下方显示红色校验提示"请选择状态" |
| **实际结果** |  |
| **测试状态** | ⬜ 通过 / ⬜ 未通过 |
| **问题描述** |  |

#### TC-SCC-024：新增成功 - 实时采集类型

| 项目 | 内容 |
|------|------|
| **测试步骤** | 1. 打开新增弹框 2. 采集编码输入 `SCC_TEST_001` 3. 采集名称输入「温度实时采集」 4. SCADA节点输入 `SCADA_NODE_01` 5. 采集类型选择「实时」 6. 采集间隔输入 `1` 7. 状态选择「启用」 8. 备注输入「测试用」 9. 点击「确定」 |
| **预期结果** | 弹框关闭，页面右上角显示绿色成功提示"操作成功"；表格自动刷新并显示新增的 SPC采集配置 行 |
| **实际结果** |  |
| **测试状态** | ⬜ 通过 / ⬜ 未通过 |
| **问题描述** |  |

#### TC-SCC-025：新增成功 - 周期采集类型

| 项目 | 内容 |
|------|------|
| **测试步骤** | 1. 打开新增弹框 2. 采集编码输入 `SCC_TEST_002` 3. 采集名称输入「压力周期采集」 4. SCADA节点输入 `SCADA_NODE_02` 5. 采集类型选择「周期」 6. 采集间隔输入 `60` 7. 状态选择「启用」 8. 备注留空 9. 点击「确定」 |
| **预期结果** | 新增成功，备注字段允许为空，表格中可见新增行（采集类型显示为"周期"，采集间隔 60） |
| **实际结果** |  |
| **测试状态** | ⬜ 通过 / ⬜ 未通过 |
| **问题描述** |  |

#### TC-SCC-026：新增成功 - 触发采集类型

| 项目 | 内容 |
|------|------|
| **测试步骤** | 1. 打开新增弹框 2. 采集编码输入 `SCC_TEST_003` 3. 采集名称输入「流量触发采集」 4. SCADA节点输入 `SCADA_NODE_03` 5. 采集类型选择「触发」 6. 状态选择「禁用」 7. 点击「确定」 |
| **预期结果** | 新增成功，表格中状态列 tag 显示为红色（禁用） |
| **实际结果** |  |
| **测试状态** | ⬜ 通过 / ⬜ 未通过 |
| **问题描述** |  |

#### TC-SCC-027：新增 - 编码长度校验

| 项目 | 内容 |
|------|------|
| **测试步骤** | 1. 打开新增弹框 2. 在采集编码输入框输入超过 100 个字符 3. 失焦后观察 |
| **预期结果** | 输入框下方显示校验提示"长度在 1 到 100 个字符" |
| **实际结果** |  |
| **测试状态** | ⬜ 通过 / ⬜ 未通过 |
| **问题描述** |  |

#### TC-SCC-028：新增 - 编码重复

| 项目 | 内容 |
|------|------|
| **测试步骤** | 1. 打开新增弹框 2. 输入已存在的 SPC采集配置 编码 3. 点击「确定」 |
| **预期结果** | 提示后端返回的"编码已存在"等错误信息，新增失败，弹框不关闭 |
| **实际结果** |  |
| **测试状态** | ⬜ 通过 / ⬜ 未通过 |
| **问题描述** |  |

#### TC-SCC-029：取消新增

| 项目 | 内容 |
|------|------|
| **测试步骤** | 1. 打开新增弹框 2. 填写部分内容 3. 点击「取消」按钮 |
| **预期结果** | 弹框关闭，表格数据无变化，无任何提示 |
| **实际结果** |  |
| **测试状态** | ⬜ 通过 / ⬜ 未通过 |
| **问题描述** |  |

#### TC-SCC-030：新增 - 备注多行输入

| 项目 | 内容 |
|------|------|
| **测试步骤** | 1. 打开新增弹框 2. 在备注框中输入多行文字（超过 2 行） 3. 观察文本框是否自动扩展 |
| **预期结果** | 备注为 textarea 类型，输入多行内容后自动扩展（最少 2 行，最多 6 行） |
| **实际结果** |  |
| **测试状态** | ⬜ 通过 / ⬜ 未通过 |
| **问题描述** |  |

### 3.5 编辑 SPC采集配置

#### TC-SCC-031：打开编辑弹框

| 项目 | 内容 |
|------|------|
| **测试步骤** | 点击某一 SPC采集配置 行操作列的「编辑」按钮 |
| **预期结果** | 弹出编辑 SPC采集配置 对话框，标题显示"编辑SPC采集配置"，采集编码、采集名称、SCADA节点、采集类型、采集间隔(秒)、状态、备注共 7 个字段正确回填该行的数据 |
| **实际结果** |  |
| **测试状态** | ⬜ 通过 / ⬜ 未通过 |
| **问题描述** |  |

#### TC-SCC-032：编辑成功 - 修改名称

| 项目 | 内容 |
|------|------|
| **测试步骤** | 1. 打开编辑弹框（选择名称为"温度实时采集"的行） 2. 修改采集名称为"温度实时采集-改" 3. 点击「确定」 |
| **预期结果** | 弹框关闭，提示"操作成功"，表格对应行的名称列更新为新值 |
| **实际结果** |  |
| **测试状态** | ⬜ 通过 / ⬜ 未通过 |
| **问题描述** |  |

#### TC-SCC-033：编辑成功 - 修改状态

| 项目 | 内容 |
|------|------|
| **测试步骤** | 1. 打开编辑弹框（选择状态为启用的行） 2. 修改状态为「禁用」 3. 点击「确定」 |
| **预期结果** | 弹框关闭，提示"操作成功"，表格对应行的状态 tag 由绿色变为红色 |
| **实际结果** |  |
| **测试状态** | ⬜ 通过 / ⬜ 未通过 |
| **问题描述** |  |

#### TC-SCC-034：编辑成功 - 修改采集间隔

| 项目 | 内容 |
|------|------|
| **测试步骤** | 1. 打开编辑弹框 2. 修改采集间隔为 `120` 3. 点击「确定」 |
| **预期结果** | 弹框关闭，提示"操作成功"，表格对应行的采集间隔列更新为 `120` |
| **实际结果** |  |
| **测试状态** | ⬜ 通过 / ⬜ 未通过 |
| **问题描述** |  |

#### TC-SCC-035：编辑后清空必填项 - 采集名称

| 项目 | 内容 |
|------|------|
| **测试步骤** | 1. 打开编辑弹框 2. 清空「采集名称」输入框 3. 点击「确定」 |
| **预期结果** | 「采集名称」下方显示红色校验提示，无法提交 |
| **实际结果** |  |
| **测试状态** | ⬜ 通过 / ⬜ 未通过 |
| **问题描述** |  |

#### TC-SCC-036：编辑后清空必填项 - SCADA 节点

| 项目 | 内容 |
|------|------|
| **测试步骤** | 1. 打开编辑弹框 2. 清空「SCADA节点」输入框 3. 点击「确定」 |
| **预期结果** | 「SCADA节点」下方显示红色校验提示，无法提交 |
| **实际结果** |  |
| **测试状态** | ⬜ 通过 / ⬜ 未通过 |
| **问题描述** |  |

#### TC-SCC-037：取消编辑

| 项目 | 内容 |
|------|------|
| **测试步骤** | 1. 打开编辑弹框 2. 修改部分字段 3. 点击「取消」按钮 |
| **预期结果** | 弹框关闭，表格数据无变化，无任何提示 |
| **实际结果** |  |
| **测试状态** | ⬜ 通过 / ⬜ 未通过 |
| **问题描述** |  |

### 3.6 删除 SPC采集配置

#### TC-SCC-038：删除确认弹框

| 项目 | 内容 |
|------|------|
| **测试步骤** | 点击某一 SPC采集配置 行操作列的「删除」按钮 |
| **预期结果** | 弹出确认对话框，标题显示"提示"，内容为"确定要删除该SPC采集配置吗?"，按钮为"确定""取消" |
| **实际结果** |  |
| **测试状态** | ⬜ 通过 / ⬜ 未通过 |
| **问题描述** |  |

#### TC-SCC-039：取消删除

| 项目 | 内容 |
|------|------|
| **测试步骤** | 1. 点击「删除」按钮 2. 在确认弹框中点击「取消」 |
| **预期结果** | 确认弹框关闭，表格数据无变化，无任何提示 |
| **实际结果** |  |
| **测试状态** | ⬜ 通过 / ⬜ 未通过 |
| **问题描述** |  |

#### TC-SCC-040：删除成功

| 项目 | 内容 |
|------|------|
| **测试步骤** | 1. 点击「删除」按钮 2. 在确认弹框中点击「确定」 |
| **预期结果** | 确认弹框关闭，提示"操作成功"，表格对应行被移除；分页组件总数减 1；如删除的是当前页最后一行则自动跳到上一页 |
| **实际结果** |  |
| **测试状态** | ⬜ 通过 / ⬜ 未通过 |
| **问题描述** |  |

#### TC-SCC-041：删除最后一行后页码修正

| 项目 | 内容 |
|------|------|
| **测试步骤** | 1. 确保当前页只有 1 条数据 2. 删除该行 |
| **预期结果** | 删除成功后自动跳转到上一页（如当前已是第 1 页则停留在第 1 页），不会出现空页或无数据错误 |
| **实际结果** |  |
| **测试状态** | ⬜ 通过 / ⬜ 未通过 |
| **问题描述** |  |

### 3.7 国际化（i18n）

#### TC-SCC-042：中文显示

| 项目 | 内容 |
|------|------|
| **测试步骤** | 系统语言切换为简体中文，查看 SPC采集配置 页面 |
| **预期结果** | 所有列头、表单 label、按钮、提示、状态枚举均显示中文（采集编码、采集名称、SCADA节点、采集类型、采集间隔(秒)、状态、备注、新增、编辑、删除、确定、取消、提示、操作成功、实时、周期、触发、启用、禁用 等） |
| **实际结果** |  |
| **测试状态** | ⬜ 通过 / ⬜ 未通过 |
| **问题描述** |  |

#### TC-SCC-043：英文显示

| 项目 | 内容 |
|------|------|
| **测试步骤** | 系统语言切换为英文，查看 SPC采集配置 页面 |
| **预期结果** | 所有列头、表单 label、按钮、提示、状态枚举均显示英文（Collection Code、Collection Name、SCADA Node、Collection Type、Interval (s)、Status、Remark、Add、Edit、Delete、Confirm、Cancel、Tip、Operation succeeded、Real-time、Periodic、Trigger、Enable、Disable 等） |
| **实际结果** |  |
| **测试状态** | ⬜ 通过 / ⬜ 未通过 |
| **问题描述** |  |

#### TC-SCC-044：弹框 i18n 自动响应

| 项目 | 内容 |
|------|------|
| **测试步骤** | 1. 在中文状态下打开新增弹框 2. 不关闭弹框，将语言切换为英文 3. 观察弹框标题、按钮文字、表单 label 是否自动翻译为英文 |
| **预期结果** | 弹框中的所有文案（包括 title、label、placeholder、按钮文字、校验提示）跟随语言切换自动更新为对应英文，无需关闭重开 |
| **实际结果** |  |
| **测试状态** | ⬜ 通过 / ⬜ 未通过 |
| **问题描述** |  |

#### TC-SCC-045：缺失 key 校验

| 项目 | 内容 |
|------|------|
| **测试步骤** | 打开浏览器开发者工具，切换页面、打开弹框、切换语言 |
| **预期结果** | 控制台无 i18n key 缺失警告（如 `[vue-i18n] Value of key 'xxx' is not a string`） |
| **实际结果** |  |
| **测试状态** | ⬜ 通过 / ⬜ 未通过 |
| **问题描述** |  |

### 3.8 权限控制

#### TC-SCC-046：无 create 权限时隐藏新增按钮

| 项目 | 内容 |
|------|------|
| **测试步骤** | 使用没有 `create` 权限的账号登录，访问 SPC采集配置 页面 |
| **预期结果** | 工具栏不显示「新增」按钮 |
| **实际结果** |  |
| **测试状态** | ⬜ 通过 / ⬜ 未通过 |
| **问题描述** |  |

#### TC-SCC-047：无 edit 权限时隐藏编辑按钮

| 项目 | 内容 |
|------|------|
| **测试步骤** | 使用没有 `edit` 权限的账号登录，访问 SPC采集配置 页面 |
| **预期结果** | 行内操作列不显示「编辑」按钮 |
| **实际结果** |  |
| **测试状态** | ⬜ 通过 / ⬜ 未通过 |
| **问题描述** |  |

#### TC-SCC-048：无 delete 权限时隐藏删除按钮

| 项目 | 内容 |
|------|------|
| **测试步骤** | 使用没有 `delete` 权限的账号登录，访问 SPC采集配置 页面 |
| **预期结果** | 行内操作列不显示「删除」按钮 |
| **实际结果** |  |
| **测试状态** | ⬜ 通过 / ⬜ 未通过 |
| **问题描述** |  |

### 3.9 错误处理

#### TC-SCC-049：网络异常 - 列表加载失败

| 项目 | 内容 |
|------|------|
| **测试步骤** | 1. 关闭后端服务或断开网络 2. 刷新 SPC采集配置 页面 |
| **预期结果** | 表格 loading 状态结束，显示空数据占位；页面顶部弹出红色错误提示（来自全局拦截器）；表格不卡死 |
| **实际结果** |  |
| **测试状态** | ⬜ 通过 / ⬜ 未通过 |
| **问题描述** |  |

#### TC-SCC-050：网络异常 - 提交失败

| 项目 | 内容 |
|------|------|
| **测试步骤** | 1. 打开新增弹框 2. 填写完整数据 3. 在点击「确定」之前断开网络 4. 点击「确定」 |
| **预期结果** | 弹框不关闭，loading 状态结束；弹出红色错误提示；用户可修改后重试 |
| **实际结果** |  |
| **测试状态** | ⬜ 通过 / ⬜ 未通过 |
| **问题描述** |  |

---

## 四、测试结果汇总

| 用例编号 | 测试项 | 结果 | 问题摘要 |
|:--------:|--------|:----:|---------|
| TC-SCC-001 | 菜单导航与页面加载 | ⬜ |  |
| TC-SCC-002 | 列表表格列头与数据展示 | ⬜ |  |
| TC-SCC-003 | 状态列 Tag 展示 | ⬜ |  |
| TC-SCC-004 | 工具栏按钮显示 | ⬜ |  |
| TC-SCC-005 | 表格自适应高度 | ⬜ |  |
| TC-SCC-006 | 按采集编码精确搜索 | ⬜ |  |
| TC-SCC-007 | 按采集编码模糊搜索 | ⬜ |  |
| TC-SCC-008 | 按采集名称搜索 | ⬜ |  |
| TC-SCC-009 | 按 SCADA 节点搜索 | ⬜ |  |
| TC-SCC-010 | 按状态筛选 | ⬜ |  |
| TC-SCC-011 | 组合条件搜索 | ⬜ |  |
| TC-SCC-012 | 回车键触发搜索 | ⬜ |  |
| TC-SCC-013 | 重置搜索 | ⬜ |  |
| TC-SCC-014 | 搜索无结果 | ⬜ |  |
| TC-SCC-015 | 分页默认显示 | ⬜ |  |
| TC-SCC-016 | 切换每页条数 | ⬜ |  |
| TC-SCC-017 | 翻页功能 | ⬜ |  |
| TC-SCC-018 | 打开新增弹框 | ⬜ |  |
| TC-SCC-019 | 新增表单必填校验 - 采集编码 | ⬜ |  |
| TC-SCC-020 | 新增表单必填校验 - 采集名称 | ⬜ |  |
| TC-SCC-021 | 新增表单必填校验 - SCADA 节点 | ⬜ |  |
| TC-SCC-022 | 新增表单必填校验 - 采集类型 | ⬜ |  |
| TC-SCC-023 | 新增表单必填校验 - 状态 | ⬜ |  |
| TC-SCC-024 | 新增成功 - 实时采集类型 | ⬜ |  |
| TC-SCC-025 | 新增成功 - 周期采集类型 | ⬜ |  |
| TC-SCC-026 | 新增成功 - 触发采集类型 | ⬜ |  |
| TC-SCC-027 | 新增 - 编码长度校验 | ⬜ |  |
| TC-SCC-028 | 新增 - 编码重复 | ⬜ |  |
| TC-SCC-029 | 取消新增 | ⬜ |  |
| TC-SCC-030 | 新增 - 备注多行输入 | ⬜ |  |
| TC-SCC-031 | 打开编辑弹框 | ⬜ |  |
| TC-SCC-032 | 编辑成功 - 修改名称 | ⬜ |  |
| TC-SCC-033 | 编辑成功 - 修改状态 | ⬜ |  |
| TC-SCC-034 | 编辑成功 - 修改采集间隔 | ⬜ |  |
| TC-SCC-035 | 编辑后清空必填项 - 采集名称 | ⬜ |  |
| TC-SCC-036 | 编辑后清空必填项 - SCADA 节点 | ⬜ |  |
| TC-SCC-037 | 取消编辑 | ⬜ |  |
| TC-SCC-038 | 删除确认弹框 | ⬜ |  |
| TC-SCC-039 | 取消删除 | ⬜ |  |
| TC-SCC-040 | 删除成功 | ⬜ |  |
| TC-SCC-041 | 删除最后一行后页码修正 | ⬜ |  |
| TC-SCC-042 | 中文显示 | ⬜ |  |
| TC-SCC-043 | 英文显示 | ⬜ |  |
| TC-SCC-044 | 弹框 i18n 自动响应 | ⬜ |  |
| TC-SCC-045 | 缺失 key 校验 | ⬜ |  |
| TC-SCC-046 | 无 create 权限时隐藏新增按钮 | ⬜ |  |
| TC-SCC-047 | 无 edit 权限时隐藏编辑按钮 | ⬜ |  |
| TC-SCC-048 | 无 delete 权限时隐藏删除按钮 | ⬜ |  |
| TC-SCC-049 | 网络异常 - 列表加载失败 | ⬜ |  |
| TC-SCC-050 | 网络异常 - 提交失败 | ⬜ |  |

---

## 五、问题记录

| 序号 | 用例编号 | 问题描述 | 复现步骤 | 严重程度 | 截图 | 处理状态 | 责任人 |
|:----:|:--------:|---------|---------|:--------:|:----:|:--------:|--------|
| 1    |          |         |         |          |      |          |        |
| 2    |          |         |         |          |      |          |        |
| 3    |          |         |         |          |      |          |        |

---

## 六、测试结论

| 项目 | 描述 |
|------|------|
| 测试用例总数 | 50 |
| 通过用例数 |  |
| 未通过用例数 |  |
| 通过率 |  |
| 是否达到上线标准 | ⬜ 是 / ⬜ 否 |
| 备注 |  |

**测试人员**：________________

**测试日期**：________________

**审核人员**：________________

**审核日期**：________________
