Commit b8b4c69c authored by liguangyu06's avatar liguangyu06
Browse files

新增产品管理全链路自动化资产,并修复详情层/树页/路径串页等稳定问题。

parent 297e887d
# 基础管理-产品管理-院区单元包设置 UI 自动化测试用例
**来源测试点**:`testpoint/基础管理-产品管理-院区单元包设置-测试点分析-01.md`
**执行 CSV**:`testcase/基础管理-产品管理-院区单元包设置-UI自动化测试用例-01.csv`
**页面 URL**:`/spd/basic/goods/paltform/area/unit`
**定位器 YAML**:`locators/spd/prodm-unit-pkg.locator.yaml`
**元素扫描**:`data/scan/prodm-unit-pkg-elements.json`(87 项)
**关联规范**:`knowledge-base/08-UI专项规范库/UI-SPEC-SPD-PRODM-008.md`
**版本**:2026-11-04
**自动化框架**:Playwright + TypeScript(规划 `tests/spd/prodm-unit-pkg.spec.ts`,依赖 `auth.setup` 登录态)
**通用前置**:正例账号 `test_1` + `storageState`;具备「基础设置 → 产品管理 → 院区单元包设置」权限。
**页面约定**:整页渲染;定位在 `page` 上。
**隔离**:每用例独立 context(playwright-storage-state-isolation)。
**菜单导航**:菜单「基础设置 → 产品管理 → 院区单元包设置」;`openPath('/spd/basic/goods/paltform/area/unit')` 并断言 URL,勿误入兄弟页。
**写操作**:写操作仅打开弹层后取消或做必填拦截,不提交成功落库;导出/打印不校验文件内容。
**动态取数**:查询后从首行读取 `${sampleCode}`/`${sampleName}`;mock:`__NOT_EXIST_PRODM__99999`。
---
## 基础设置 · 产品管理
### 院区单元包设置 · 快捷筛选查询
#### 功能验证点
##### 【P1】【TC-UI-PRODM-UPK-001】【TP_PRODM_UPK_005】快捷区重置恢复默认
- 前置条件:已进入院区单元包设置页
- 操作步骤:
1. 任意填写快捷区可见字段后点击「重 置」
2. 断言条件恢复默认;列表是否刷新按产品规则(未定则记待评审)
- 自动化断言:规划与 CSV `PRODM-UPK-001` 及 `tests/spd/prodm-unit-pkg.spec.ts` 一致
###### 预期结果
重置后条件恢复默认;页面无报错。
---
### 院区单元包设置 · 高级筛选抽屉
#### 功能验证点
##### 【P0】【TC-UI-PRODM-UPK-002】【TP_PRODM_UPK_012】全量查询条件组合查询
- 前置条件:默认查询至少 1 条,否则 skip
- 操作步骤:
1. 默认查询 → 从首行提取全量样本(不写死业务数据,见 rules 3.4)
2. 快捷区填入样本中有值的可见字段
3. 高级筛选抽屉填入样本中所有非空字段(文本直接填、下拉选同值;禁用字段记录默认)
4. 「查询/筛选」后抽样首行;首行同时满足样本中全部已填字段
- 自动化断言:规划与 CSV `PRODM-UPK-002` 及 `tests/spd/prodm-unit-pkg.spec.ts` 一致
###### 预期结果
查询正常无报错;查询条件写值正常;查询结果与查询条件一致。
---
##### 【P0】【TC-UI-PRODM-UPK-003】【TP_PRODM_UPK_010】点击高级筛选打开抽屉
- 前置条件:已进入院区单元包设置页
- 操作步骤:
1. 点击「高级筛选」
2. 断言抽屉标题为「高级筛选」,关键字段可交互
3. 关闭抽屉,快捷区条件不被误清空(以现网为准)
- 自动化断言:规划与 CSV `PRODM-UPK-003` 及 `tests/spd/prodm-unit-pkg.spec.ts` 一致
###### 预期结果
高级筛选抽屉可打开并关闭。
---
### 院区单元包设置 · 列表
#### 功能验证点
##### 【P0】【TC-UI-PRODM-UPK-004】【TP_PRODM_UPK_020】列表核心列完整
- 前置条件:已进入院区单元包设置页
- 操作步骤:
1. 断言表头含核心列(抽样):单元包名称/编码、院区、产品含量相关列(以现网为准)
2. 若有数据,抽样首行关键字段非空
- 自动化断言:规划与 CSV `PRODM-UPK-004` 及 `tests/spd/prodm-unit-pkg.spec.ts` 一致
###### 预期结果
核心列完整;列表结构正确。
---
### 院区单元包设置 · 行内操作
#### 功能验证点
##### 【P0】【TC-UI-PRODM-UPK-005】【TP_PRODM_UPK_014】行内「详情」可达(只读冒烟)
- 前置条件:列表至少 1 条
- 操作步骤:
1. 首行有数据时点击「详情」
2. 断言进入预期弹窗/抽屉/详情,可见取消/关闭/返回
3. 关闭弹层或点返回,列表仍可见
- 自动化断言:规划与 CSV `PRODM-UPK-005` 及 `tests/spd/prodm-unit-pkg.spec.ts` 一致
###### 预期结果
行内「详情」可达;关闭后回到列表。
---
##### 【P0】【TC-UI-PRODM-UPK-006】【TP_PRODM_UPK_015】行内「编辑」可达(只读冒烟)
- 前置条件:列表至少 1 条
- 操作步骤:
1. 首行有数据时点击「编辑」
2. 断言进入预期弹窗/抽屉/详情,可见取消/关闭/返回
3. 关闭弹层或点返回,列表仍可见
- 自动化断言:规划与 CSV `PRODM-UPK-006` 及 `tests/spd/prodm-unit-pkg.spec.ts` 一致
###### 预期结果
行内「编辑」可达;关闭后回到列表。
---
##### 【P0】【TC-UI-PRODM-UPK-007】【TP_PRODM_UPK_016】行内「日志」可达(只读冒烟)
- 前置条件:列表至少 1 条
- 操作步骤:
1. 首行有数据时点击「日志」
2. 断言进入预期弹窗/抽屉/详情,可见取消/关闭/返回
3. 关闭弹层或点返回,列表仍可见
- 自动化断言:规划与 CSV `PRODM-UPK-007` 及 `tests/spd/prodm-unit-pkg.spec.ts` 一致
###### 预期结果
行内「日志」可达;关闭后回到列表。
---
### 院区单元包设置 · 列表
#### 功能验证点
##### 【P2】【TC-UI-PRODM-UPK-008】【TP_PRODM_UPK_021】列设置隐藏后再恢复
- 前置条件:列表表头已加载
- 操作步骤:
1. 默认查询后点击表格工具栏列设置(齿轮)
2. 取消勾选一列非核心字段并关闭面板,断言表头隐藏
3. 再次打开列设置勾选恢复并关闭,断言表头恢复
- 自动化断言:规划与 CSV `PRODM-UPK-008` 及 `tests/spd/prodm-unit-pkg.spec.ts` 一致
###### 预期结果
勾选状态与表头一致。
---
#### 边界验证点
##### 【P1】【TC-UI-PRODM-UPK-009】【TP_PRODM_UPK_023】横向滚动与列对齐
- 前置条件:列表有数据且列超出视口,否则 skip
- 操作步骤:
1. 宽表场景下横向滚动使远侧列进入视口
2. 断言表头列数与数据列数一致、对齐无重叠
- 自动化断言:规划与 CSV `PRODM-UPK-009` 及 `tests/spd/prodm-unit-pkg.spec.ts` 一致
###### 预期结果
远侧列可进入视口;表头与数据列对齐。
---
##### 【P1】【TC-UI-PRODM-UPK-010】【TP_PRODM_UPK_022】无匹配空态(mock反例)
- 前置条件:已进入院区单元包设置页
- 操作步骤:
1. 名称/编号类关键字填入 `__NOT_EXIST_PRODM__99999` 后查询
2. 断言表头仍在,0 行或空态,分页总数为 0
- 自动化断言:规划与 CSV `PRODM-UPK-010` 及 `tests/spd/prodm-unit-pkg.spec.ts` 一致
###### 预期结果
无匹配不报错;不展示过期成功态数据。
---
### 院区单元包设置 · 分页
#### 功能验证点
##### 【P0】【TC-UI-PRODM-UPK-011】【TP_PRODM_UPK_024】有数据时总条数
- 前置条件:已进入院区单元包设置页
- 操作步骤:
1. 默认查询后读取「共 N 条」
2. 断言 N 与本次查询匹配条数规则一致(有数据或 0)
- 自动化断言:规划与 CSV `PRODM-UPK-011` 及 `tests/spd/prodm-unit-pkg.spec.ts` 一致
###### 预期结果
「共 N 条」与查询结果一致。
---
##### 【P0】【TC-UI-PRODM-UPK-012】【TP_PRODM_UPK_025】切换至第 2 页
- 前置条件:总条数大于一页,否则 skip
- 操作步骤:
1. 记录第 1 页首行关键字段
2. 点击页码「2」或「下一页」
3. 断言页码高亮正确,首行数据与第 1 页不同
- 自动化断言:规划与 CSV `PRODM-UPK-012` 及 `tests/spd/prodm-unit-pkg.spec.ts` 一致
###### 预期结果
翻页成功;数据更换。
---
##### 【P1】【TC-UI-PRODM-UPK-013】【TP_PRODM_UPK_026】切换20条每页页面正常且列表同步
- 前置条件:N>10 且切换前可见行数 > min(N,20),否则 skip(见 3.7)
- 操作步骤:
1. 记录「共 N 条」与当前页可见行数
2. 打开每页条数下拉,选择「20 条/页」
3. 断言分页器显示 20 条/页;N 不变;当前页行数=min(N,20) 且与切换前不同
- 自动化断言:规划与 CSV `PRODM-UPK-013` 及 `tests/spd/prodm-unit-pkg.spec.ts` 一致
###### 预期结果
每页条数切换生效;总数不变;列表同步。
---
### 院区单元包设置 · 导出
#### 功能验证点
##### 【P0】【TC-UI-PRODM-UPK-014】【TP_PRODM_UPK_031】当前查询条件下导出
- 前置条件:已进入院区单元包设置页
- 操作步骤:
1. 先执行一次查询
2. 点击「导 出」或「导出」或「导出Excel」
3. 断言无未捕获异常(不校验文件内容)
- 自动化断言:规划与 CSV `PRODM-UPK-014` 及 `tests/spd/prodm-unit-pkg.spec.ts` 一致
###### 预期结果
导出流程可启动。
---
### 院区单元包设置 · 新增
#### 功能验证点
##### 【P0】【TC-UI-PRODM-UPK-015】【TP_PRODM_UPK_033】打开「新增」对应弹窗/抽屉
- 前置条件:已进入院区单元包设置页
- 操作步骤:
1. 点击「新增」或等价入口
2. 断言弹窗/抽屉/详情可见,关键字段可交互
3. 可见取消/关闭/返回
- 自动化断言:规划与 CSV `PRODM-UPK-015` 及 `tests/spd/prodm-unit-pkg.spec.ts` 一致
###### 预期结果
「新增」层打开;关键控件可见。
---
##### 【P1】【TC-UI-PRODM-UPK-016】【TP_PRODM_UPK_034】「新增」取消不落库
- 前置条件:已进入院区单元包设置页
- 操作步骤:
1. 打开「新增」,任意填写非空后点击「取 消」或关闭
2. 断言弹层关闭,列表行数与打开前一致(抽样)
- 自动化断言:规划与 CSV `PRODM-UPK-016` 及 `tests/spd/prodm-unit-pkg.spec.ts` 一致
###### 预期结果
取消后列表无新增/无修改。
---
#### 边界验证点
##### 【P1】【TC-UI-PRODM-UPK-017】【TP_PRODM_UPK_035】「新增」必填为空拦截
- 前置条件:该层存在必填提交,否则 skip
- 操作步骤:
1. 打开「新增」,必填项留空后点击「确 定」
2. 断言出现必填提示,弹层仍打开,列表不刷新为成功态
- 自动化断言:规划与 CSV `PRODM-UPK-017` 及 `tests/spd/prodm-unit-pkg.spec.ts` 一致
###### 预期结果
确定被拦截;不落库。
## 质量与覆盖说明
| 项 | 说明 |
|----|------|
| 用例数 | **17** 条(P0=10 / P1=6 / P2=1) |
| 来源 | 从 42 条测试点选取可稳定自动化场景;H3 与测试点同名 |
| 未纳入自动化 | 会话过期、无菜单权限、菜单进入单条、未登录探针、接口失败注入、导出文件内容、写操作成功落库、弹窗全字段 |
| 列排序 | 测试点 1 条「各可排序列升序降序」;本 MD **每 sorter 列一条** `{列名}列升序降序切换`(3.6) |
| 每页条数 | 有 size-changer 时标题「切换20条每页…」,绑定 TP「切换每页条数」(3.7) |
| 单一职责 | 每条只断言一个核心业务结果 |
## 【UI测试点生成范围】
| 项 | 填写 |
|----|------|
| 需求/页面名称 | 基础管理-产品管理(26 个子页面,见 UI-SPEC PRODM-001~026) |
| 关联 UI-SPEC | `knowledge-base/08-UI专项规范库/UI-SPEC-SPD-PRODM-*.md` |
| 页面 URL / 菜单路径 | **基础设置** → **产品管理** → {页面名};路径见各 UI-SPEC / `data/scan/prodm-menu-urls.json` |
| 元素扫描 / 定位器 | `data/scan/prodm-*-elements.json`、`locators/spd/prodm-*.locator.yaml`(含 overlay 补扫) |
### 在范围内(必写)
- 功能域:页面访问与导航、快捷筛选查询、查询条件展开收起(若有)、高级筛选抽屉(若有)、状态 Tab(若有)、左侧分类/库区树(若有)、列表、分页、导出/打印(若有)、工具栏写操作(新增/导入/批量审核/批量调整等,若有)、行内操作(详情/编辑/日志/审核等,若有)、业务弹窗或详情页打开冒烟(扫描已打开的层)
- 验证类型:功能、边界、异常、集成(四类均写;非统计报表 iframe,不测 ui-test-point-rules 第四节报表清单)
- 优先级下限:高 + 中 + 低
- 业务侧重点:产品主数据/审核流/院区库区绑定与兄弟页(如产品维护 vs 物料信息管理、缺货维护 vs 缺货明细、DI 查询 vs DI 变更、中心库上下限 vs AI)列集与 URL 不串;树联动时右侧数据域随节点切换
### 明确排除(不写或仅一行引用)
- 断网/弱网、视觉像素、导出/打印文件字节内容校验(仅断言流程可启动且无未捕获异常)
- 弹窗/抽屉内全字段组合与真实落库写库(扫描未稳定全量打开时,只写打开/取消/必填拦截级冒烟)
- 登录/改密/未登录直链/菜单进入:引用用户管理测试点;**UI 自动化 CSV/spec 不单独写「菜单进入」「未登录访问拦截」**(见 ui-test-point-rules 3.5)
### 输入优先级(事实来源)
1. 现网元素扫描 JSON(含 overlay)> UI-SPEC 截图说明 > 本范围表
2. 冲突处理:写入各页「质量自检 · 待评审项」,测试点按扫描可见控件写判定
### 编号与体量
- ID 前缀:每页独立(如 `TP_PRODM_CAM`),见 `scripts/generate-prodm-testpoints.py`
- 目标条数:按功能域穷尽原子点(约 25~45 条/页)
- 是否声称「需求 100% 全覆盖」:**否**
# 基础管理-产品管理-中心库上下限建议 — 测试点分析
**版本**:01
**定稿日期**:2026-11-04
**关联需求**:`knowledge-base/08-UI专项规范库/UI-SPEC-SPD-PRODM-011.md`
**页面 URL**:`http://spdtest.cmic.com.cn:8080/spd/basic/goods/paltform/product/centerLimit`
**元素扫描**:`data/scan/prodm-center-limit-elements.json`(130 项)
**定位器**:`locators/spd/prodm-center-limit.locator.yaml`
**本次生成范围**:`testpoint/scope/基础管理-产品管理-UI测试点范围.md`
---
## 基础设置 · 产品管理 · 中心库上下限建议
### 页面访问与导航
#### 功能验证点
- **TP_PRODM_CLM_001**(高)|页面主区加载完成|验证要点:携带有效登录态进入 `/spd/basic/goods/paltform/product/centerLimit`(菜单或直链),筛选(可展开)、全部调整/批量调整/导出、列表与调整入口;左侧菜单与顶栏 Tab 高亮为中心库上下限建议,不误入同组其它产品管理页|关联需求:UI-SPEC-SPD-PRODM-011
- **TP_PRODM_CLM_002**(中)|同组产品管理菜单可切换|验证要点:在 scope 所列产品管理 26 个子菜单中切换 2~3 个后 URL 与内容对应,再返回本页状态正确|关联需求:UI-SPEC-SPD-PRODM-011
#### 边界验证点
- **TP_PRODM_CLM_003**(低)|已登录直接打开 URL|验证要点:携带有效登录态打开 `/spd/basic/goods/paltform/product/centerLimit`,筛选区与列表(或左右分栏)可见,无报错遮罩,地址仍为该路径|关联需求:UI-SPEC-SPD-PRODM-011
#### 异常验证点
- 无(未登录/会话过期/无菜单权限引用用户管理 `TP_USER_USR_005`~`007`;本模块自动化不单独写「菜单进入」「未登录访问拦截」用例,见 ui-test-point-rules 3.5)
#### 集成验证点
- **TP_PRODM_CLM_004**(中)|顶栏院区与筛选默认一致|验证要点:顶栏当前院区与页面院区/库区树默认范围不矛盾(允许按权限裁剪)|关联需求:UI-SPEC-SPD-PRODM-011
---
### 快捷筛选查询
#### 功能验证点
- **TP_PRODM_CLM_006**(高)|全量可见条件组合查询|验证要点:只填当前结果里有值的条件;结果同时满足已填条件|关联需求:UI-SPEC-SPD-PRODM-011
- **TP_PRODM_CLM_005**(中)|快捷区重置恢复默认|验证要点:已填字段(及维度勾选)恢复默认;列表是否刷新按产品规则,未定则标待评审|关联需求:UI-SPEC-SPD-PRODM-011
#### 边界验证点
- **TP_PRODM_CLM_007**(中)|超长文本关键字|验证要点:名称/编号类字段输入较长关键字,查询被接受或截断,页面不崩溃|关联需求:UI-SPEC-SPD-PRODM-011
- **TP_PRODM_CLM_008**(低)|仅空格关键字|验证要点:按空查询或提示,不报错|关联需求:UI-SPEC-SPD-PRODM-011
#### 异常验证点
- **TP_PRODM_CLM_009**(中)|查询接口失败|验证要点:失败有错误提示,不白屏|关联需求:UI-SPEC-SPD-PRODM-011
#### 集成验证点
- **TP_PRODM_CLM_010**(中)|筛选结果与分页总数一致|验证要点:查询后「共 N 条」与本次查询匹配条数一致|关联需求:UI-SPEC-SPD-PRODM-011
---
### 查询条件展开收起
#### 功能验证点
- **TP_PRODM_CLM_011**(中)|展开后更多条件可见|验证要点:额外字段进入可视区且可填写、可参与查询;按钮变为「收起」|关联需求:UI-SPEC-SPD-PRODM-011
- **TP_PRODM_CLM_012**(中)|收起后额外条件隐藏且已填值保留|验证要点:折叠行隐藏;已填值不丢失;再展开后值仍在。产品未定则标待评审|关联需求:UI-SPEC-SPD-PRODM-011
#### 边界验证点
- **TP_PRODM_CLM_013**(低)|展开后无额外字段|验证要点:若产品无第二行筛选,展开为空或禁用,页面不报错|关联需求:UI-SPEC-SPD-PRODM-011
#### 异常验证点
- **TP_PRODM_CLM_014**(低)|展开态查询失败|验证要点:展开后查询失败有提示,不误展示其它页缓存列表|关联需求:UI-SPEC-SPD-PRODM-011
#### 集成验证点
- **TP_PRODM_CLM_015**(中)|展开字段与扫描一致|验证要点:展开后可见字段与 `data/scan` 记录一致,不以邻页筛选字段代替|关联需求:UI-SPEC-SPD-PRODM-011
---
### 列表
#### 功能验证点
- **TP_PRODM_CLM_022**(高)|列表核心列完整|验证要点:主表展示 建议上下限、现上下限、状态等(以现网为准)|关联需求:UI-SPEC-SPD-PRODM-011
#### 边界验证点
- **TP_PRODM_CLM_023**(中)|无匹配空列表|验证要点:不存在的关键字查询后表头仍在,0 行或空态;有汇总时为 0 或「-」|关联需求:UI-SPEC-SPD-PRODM-011
#### 异常验证点
- 无(已并入:列表加载失败见查询接口失败)
#### 集成验证点
- 无(已并入:行内操作见行内操作 H3 或本页无行操作)
---
### 分页
#### 功能验证点
- **TP_PRODM_CLM_024**(高)|有数据时总条数|验证要点:「共 N 条」与本次查询匹配条数一致|关联需求:UI-SPEC-SPD-PRODM-011
- **TP_PRODM_CLM_025**(高)|切换至第 2 页|验证要点:页码高亮且首行更换;不足 2 页则该点不适用|关联需求:UI-SPEC-SPD-PRODM-011
- **TP_PRODM_CLM_026**(中)|切换每页条数|验证要点:默认档位(常见 50)→「20 条/页」;共 N 条不变;当前页行数=min(N,20) 且与切换前不同(见 3.7)|关联需求:UI-SPEC-SPD-PRODM-011
#### 边界验证点
- **TP_PRODM_CLM_027**(中)|首页上一页不可用|验证要点:第 1 页时「上一页」禁用或无效|关联需求:UI-SPEC-SPD-PRODM-011
- **TP_PRODM_CLM_028**(中)|末页下一页不可用|验证要点:最后一页时「下一页」禁用或无效|关联需求:UI-SPEC-SPD-PRODM-011
#### 异常验证点
- **TP_PRODM_CLM_029**(低)|跳至非数字页码|验证要点:非法输入不跳转异常页|关联需求:UI-SPEC-SPD-PRODM-011
#### 集成验证点
- **TP_PRODM_CLM_030**(中)|翻页不丢失筛选|验证要点:带筛选翻页后条件保持,新页仍满足原筛选|关联需求:UI-SPEC-SPD-PRODM-011
---
### 行内操作
#### 功能验证点
- **TP_PRODM_CLM_016**(高)|行内「详情」可达|验证要点:首行有数据时点「详情」有反馈或进入预期层(只读冒烟,不写外围回写)|关联需求:UI-SPEC-SPD-PRODM-011
- **TP_PRODM_CLM_017**(高)|行内「编辑」可达|验证要点:首行有数据时点「编辑」有反馈或进入预期层(只读冒烟,不写外围回写)|关联需求:UI-SPEC-SPD-PRODM-011
- **TP_PRODM_CLM_018**(高)|行内「调整」可达|验证要点:首行有数据时点「调整」有反馈或进入预期层(只读冒烟,不写外围回写)|关联需求:UI-SPEC-SPD-PRODM-011
#### 边界验证点
- **TP_PRODM_CLM_019**(低)|末行或无数据|验证要点:无数据时空态,行内按钮不可用或不可见(以现网为准)|关联需求:UI-SPEC-SPD-PRODM-011
#### 异常验证点
- **TP_PRODM_CLM_020**(中)|操作失败提示|验证要点:接口失败时有提示,列表行状态不误改为成功|关联需求:UI-SPEC-SPD-PRODM-011
#### 集成验证点
- **TP_PRODM_CLM_021**(低)|一对多备注|验证要点:下游用例可按每个行内操作各拆一条;本页已按操作拆功能点|关联需求:UI-SPEC-SPD-PRODM-011
---
### 导出
#### 功能验证点
- **TP_PRODM_CLM_031**(高)|当前查询条件下导出|验证要点:先查询再导出;无报错。默认不校验文件内容|关联需求:UI-SPEC-SPD-PRODM-011
#### 边界验证点
- **TP_PRODM_CLM_032**(低)|无数据时导出|验证要点:空列表导出不报错或有明确提示|关联需求:UI-SPEC-SPD-PRODM-011
#### 异常验证点
- 无(已并入:导出失败见写操作失败提示)
#### 集成验证点
- 无(已并入:导入模板与导出关系见写操作点)
---
### 打印
#### 功能验证点
- **TP_PRODM_CLM_033**(高)|按当前条件打印|验证要点:能拉起对话框/预览/toast;无 error|关联需求:UI-SPEC-SPD-PRODM-011
#### 边界验证点
- 无(已并入:无数据打印以现网为准)
#### 异常验证点
- 无(已并入:打印失败见写操作失败提示)
#### 集成验证点
- 无(已并入:批量打印见打印 H3)
---
### 全部调整
#### 功能验证点
- **TP_PRODM_CLM_034**(高)|打开对应弹窗/抽屉|验证要点:触发「全部调整」后弹窗/抽屉可见,标题与关键字段可交互;取消不落库(范围内才写保存)|关联需求:UI-SPEC-SPD-PRODM-011
- **TP_PRODM_CLM_035**(中)|取消不落库|验证要点:填写后取消或关闭,列表不新增/不修改对应记录|关联需求:UI-SPEC-SPD-PRODM-011
#### 边界验证点
- **TP_PRODM_CLM_036**(中)|必填为空拦截|验证要点:必填项为空时确定被拦截并提示,不落库|关联需求:UI-SPEC-SPD-PRODM-011
- **TP_PRODM_CLM_037**(低)|重复打开|验证要点:连续两次打开不叠加多层遮罩|关联需求:UI-SPEC-SPD-PRODM-011
#### 异常验证点
- **TP_PRODM_CLM_038**(中)|保存失败|验证要点:接口失败时弹窗不自动关闭且列表保持原状|关联需求:UI-SPEC-SPD-PRODM-011
#### 集成验证点
- **TP_PRODM_CLM_039**(低)|弹窗字段与列表列一致|验证要点:弹窗内关键字段与列表展示字段命名一致|关联需求:UI-SPEC-SPD-PRODM-011
---
### 批量调整
#### 功能验证点
- **TP_PRODM_CLM_040**(高)|打开对应弹窗/抽屉|验证要点:触发「批量调整」后弹窗/抽屉可见,标题与关键字段可交互;取消不落库(范围内才写保存)|关联需求:UI-SPEC-SPD-PRODM-011
- **TP_PRODM_CLM_041**(中)|取消不落库|验证要点:填写后取消或关闭,列表不新增/不修改对应记录|关联需求:UI-SPEC-SPD-PRODM-011
#### 边界验证点
- **TP_PRODM_CLM_042**(中)|必填为空拦截|验证要点:必填项为空时确定被拦截并提示,不落库|关联需求:UI-SPEC-SPD-PRODM-011
- **TP_PRODM_CLM_043**(低)|重复打开|验证要点:连续两次打开不叠加多层遮罩|关联需求:UI-SPEC-SPD-PRODM-011
#### 异常验证点
- **TP_PRODM_CLM_044**(中)|保存失败|验证要点:接口失败时弹窗不自动关闭且列表保持原状|关联需求:UI-SPEC-SPD-PRODM-011
#### 集成验证点
- **TP_PRODM_CLM_045**(低)|弹窗字段与列表列一致|验证要点:弹窗内关键字段与列表展示字段命名一致|关联需求:UI-SPEC-SPD-PRODM-011
---
### 与同组产品管理页差异
#### 功能验证点
- **TP_PRODM_CLM_046**(中)|本页独有列与能力|验证要点:非 AI 上下限建议;勿与「中心库上下限建议(AI)」混淆;与同组它页切换后列集/工具栏差异可辨识|关联需求:UI-SPEC-SPD-PRODM-011
#### 边界验证点
- **TP_PRODM_CLM_047**(低)|直链不误展示它页列|验证要点:仅打开本页 URL `/spd/basic/goods/paltform/product/centerLimit` 时不应出现它页独有工具栏(如错页 Tab)|关联需求:UI-SPEC-SPD-PRODM-011
#### 异常验证点
- **TP_PRODM_CLM_048**(中)|菜单高亮与 URL 一致|验证要点:左侧高亮菜单名、顶栏 Tab 与地址栏路径同属本页,非兄弟页 URL|关联需求:UI-SPEC-SPD-PRODM-011
#### 集成验证点
- **TP_PRODM_CLM_049**(低)|跨页数据不串行|验证要点:从本页切至它页再返回,本页筛选/列表恢复为本页数据域,不残留它页查询条件(以现网为准)|关联需求:UI-SPEC-SPD-PRODM-011
---
## 质量自检摘要
| 项 | 结论 |
|----|------|
| 范围 | 在范围内:导航、筛选展开、列表分页、导出、调整工具栏。排除:断网/弱网、导出文件内容、弹窗全字段落库、登录/改密通用流程(见 `testpoint/scope/基础管理-产品管理-UI测试点范围.md`)。未声称 100% 全覆盖。 |
| 范围外未覆盖 | 全局左侧菜单与顶栏导航噪声、导出/打印文件字节内容、弹窗/抽屉全字段组合与真实落库、断网/弱网 |
| 覆盖 | 已写功能域见正文 H3;共 **49** 条原子测试点;扫描元素约 130 项 |
| 分类 | 功能 / 边界 / 异常 / 集成四类均已按功能点拆分 |
| 去重 | 登录态过期、无菜单权限、改密引用 `TP_USER_USR_006`/`007`,本页不展开。编号前缀 `TP_PRODM_CLM` |
| 待评审项 | 写操作冒烟不提交脏数据;筛选收起后字段是否保留;部分详情层标题可能受顶栏 Tab 干扰需现网复核;页面无列头 sorter(自检);页面无列设置齿轮(自检);页面无宽表启发式,未写横向滚动(自检);有每页条数下拉:已写「切换每页条数」 |
| 功能点拆分 | 未使用「筛选与查询 / 列表与分页」;快捷与高级筛选分开;有展开则单开查询条件展开收起;列表→分页→导出;写操作 H3 用业务名 |
| 报表能力 | 整页渲染,非统计报表 iframe 第四节清单 |
| 列排序下游 | 页面无列头 sorter(自检);建议 `audit-sort-columns-live` 维护 `data/spd-admin-sort-columns.json` |
| 分页每页条数 | 有每页条数下拉:已写「切换每页条数」 |
| 下游 | 可转 testcases/MD、CSV;扫描 `npm run discover:scan-prodm`;overlay `npm run discover:scan-prodm-overlays`;测试点 `npm run generate:testpoints-prodm` |
# 基础管理-产品管理-中心库上下限建议(AI) — 测试点分析
**版本**:01
**定稿日期**:2026-11-04
**关联需求**:`knowledge-base/08-UI专项规范库/UI-SPEC-SPD-PRODM-009.md`
**页面 URL**:`http://spdtest.cmic.com.cn:8080/spd/basic/goods/paltform/product/centerLimitAi`
**元素扫描**:`data/scan/prodm-center-limit-ai-elements.json`(142 项)
**定位器**:`locators/spd/prodm-center-limit-ai.locator.yaml`
**本次生成范围**:`testpoint/scope/基础管理-产品管理-UI测试点范围.md`
---
## 基础设置 · 产品管理 · 中心库上下限建议(AI)
### 页面访问与导航
#### 功能验证点
- **TP_PRODM_CLA_001**(高)|页面主区加载完成|验证要点:携带有效登录态进入 `/spd/basic/goods/paltform/product/centerLimitAi`(菜单或直链),筛选(可展开)、全部调整/批量调整/导出/采纳、列表与调整入口;左侧菜单与顶栏 Tab 高亮为中心库上下限建议(AI),不误入同组其它产品管理页|关联需求:UI-SPEC-SPD-PRODM-009
- **TP_PRODM_CLA_002**(中)|同组产品管理菜单可切换|验证要点:在 scope 所列产品管理 26 个子菜单中切换 2~3 个后 URL 与内容对应,再返回本页状态正确|关联需求:UI-SPEC-SPD-PRODM-009
#### 边界验证点
- **TP_PRODM_CLA_003**(低)|已登录直接打开 URL|验证要点:携带有效登录态打开 `/spd/basic/goods/paltform/product/centerLimitAi`,筛选区与列表(或左右分栏)可见,无报错遮罩,地址仍为该路径|关联需求:UI-SPEC-SPD-PRODM-009
#### 异常验证点
- 无(未登录/会话过期/无菜单权限引用用户管理 `TP_USER_USR_005`~`007`;本模块自动化不单独写「菜单进入」「未登录访问拦截」用例,见 ui-test-point-rules 3.5)
#### 集成验证点
- **TP_PRODM_CLA_004**(中)|顶栏院区与筛选默认一致|验证要点:顶栏当前院区与页面院区/库区树默认范围不矛盾(允许按权限裁剪)|关联需求:UI-SPEC-SPD-PRODM-009
---
### 快捷筛选查询
#### 功能验证点
- **TP_PRODM_CLA_006**(高)|全量可见条件组合查询|验证要点:只填当前结果里有值的条件;结果同时满足已填条件|关联需求:UI-SPEC-SPD-PRODM-009
- **TP_PRODM_CLA_005**(中)|快捷区重置恢复默认|验证要点:已填字段(及维度勾选)恢复默认;列表是否刷新按产品规则,未定则标待评审|关联需求:UI-SPEC-SPD-PRODM-009
#### 边界验证点
- **TP_PRODM_CLA_007**(中)|超长文本关键字|验证要点:名称/编号类字段输入较长关键字,查询被接受或截断,页面不崩溃|关联需求:UI-SPEC-SPD-PRODM-009
- **TP_PRODM_CLA_008**(低)|仅空格关键字|验证要点:按空查询或提示,不报错|关联需求:UI-SPEC-SPD-PRODM-009
#### 异常验证点
- **TP_PRODM_CLA_009**(中)|查询接口失败|验证要点:失败有错误提示,不白屏|关联需求:UI-SPEC-SPD-PRODM-009
#### 集成验证点
- **TP_PRODM_CLA_010**(中)|筛选结果与分页总数一致|验证要点:查询后「共 N 条」与本次查询匹配条数一致|关联需求:UI-SPEC-SPD-PRODM-009
---
### 查询条件展开收起
#### 功能验证点
- **TP_PRODM_CLA_011**(中)|展开后更多条件可见|验证要点:额外字段进入可视区且可填写、可参与查询;按钮变为「收起」|关联需求:UI-SPEC-SPD-PRODM-009
- **TP_PRODM_CLA_012**(中)|收起后额外条件隐藏且已填值保留|验证要点:折叠行隐藏;已填值不丢失;再展开后值仍在。产品未定则标待评审|关联需求:UI-SPEC-SPD-PRODM-009
#### 边界验证点
- **TP_PRODM_CLA_013**(低)|展开后无额外字段|验证要点:若产品无第二行筛选,展开为空或禁用,页面不报错|关联需求:UI-SPEC-SPD-PRODM-009
#### 异常验证点
- **TP_PRODM_CLA_014**(低)|展开态查询失败|验证要点:展开后查询失败有提示,不误展示其它页缓存列表|关联需求:UI-SPEC-SPD-PRODM-009
#### 集成验证点
- **TP_PRODM_CLA_015**(中)|展开字段与扫描一致|验证要点:展开后可见字段与 `data/scan` 记录一致,不以邻页筛选字段代替|关联需求:UI-SPEC-SPD-PRODM-009
---
### 列表
#### 功能验证点
- **TP_PRODM_CLA_022**(高)|列表核心列完整|验证要点:主表展示 建议上下限、现上下限、采纳状态等(以现网为准)|关联需求:UI-SPEC-SPD-PRODM-009
#### 边界验证点
- **TP_PRODM_CLA_023**(中)|无匹配空列表|验证要点:不存在的关键字查询后表头仍在,0 行或空态;有汇总时为 0 或「-」|关联需求:UI-SPEC-SPD-PRODM-009
#### 异常验证点
- 无(已并入:列表加载失败见查询接口失败)
#### 集成验证点
- 无(已并入:行内操作见行内操作 H3 或本页无行操作)
---
### 分页
#### 功能验证点
- **TP_PRODM_CLA_024**(高)|有数据时总条数|验证要点:「共 N 条」与本次查询匹配条数一致|关联需求:UI-SPEC-SPD-PRODM-009
- **TP_PRODM_CLA_025**(高)|切换至第 2 页|验证要点:页码高亮且首行更换;不足 2 页则该点不适用|关联需求:UI-SPEC-SPD-PRODM-009
- **TP_PRODM_CLA_026**(中)|切换每页条数|验证要点:默认档位(常见 50)→「20 条/页」;共 N 条不变;当前页行数=min(N,20) 且与切换前不同(见 3.7)|关联需求:UI-SPEC-SPD-PRODM-009
#### 边界验证点
- **TP_PRODM_CLA_027**(中)|首页上一页不可用|验证要点:第 1 页时「上一页」禁用或无效|关联需求:UI-SPEC-SPD-PRODM-009
- **TP_PRODM_CLA_028**(中)|末页下一页不可用|验证要点:最后一页时「下一页」禁用或无效|关联需求:UI-SPEC-SPD-PRODM-009
#### 异常验证点
- **TP_PRODM_CLA_029**(低)|跳至非数字页码|验证要点:非法输入不跳转异常页|关联需求:UI-SPEC-SPD-PRODM-009
#### 集成验证点
- **TP_PRODM_CLA_030**(中)|翻页不丢失筛选|验证要点:带筛选翻页后条件保持,新页仍满足原筛选|关联需求:UI-SPEC-SPD-PRODM-009
---
### 行内操作
#### 功能验证点
- **TP_PRODM_CLA_016**(高)|行内「详情」可达|验证要点:首行有数据时点「详情」有反馈或进入预期层(只读冒烟,不写外围回写)|关联需求:UI-SPEC-SPD-PRODM-009
- **TP_PRODM_CLA_017**(高)|行内「编辑」可达|验证要点:首行有数据时点「编辑」有反馈或进入预期层(只读冒烟,不写外围回写)|关联需求:UI-SPEC-SPD-PRODM-009
- **TP_PRODM_CLA_018**(高)|行内「调整」可达|验证要点:首行有数据时点「调整」有反馈或进入预期层(只读冒烟,不写外围回写)|关联需求:UI-SPEC-SPD-PRODM-009
#### 边界验证点
- **TP_PRODM_CLA_019**(低)|末行或无数据|验证要点:无数据时空态,行内按钮不可用或不可见(以现网为准)|关联需求:UI-SPEC-SPD-PRODM-009
#### 异常验证点
- **TP_PRODM_CLA_020**(中)|操作失败提示|验证要点:接口失败时有提示,列表行状态不误改为成功|关联需求:UI-SPEC-SPD-PRODM-009
#### 集成验证点
- **TP_PRODM_CLA_021**(低)|一对多备注|验证要点:下游用例可按每个行内操作各拆一条;本页已按操作拆功能点|关联需求:UI-SPEC-SPD-PRODM-009
---
### 导出
#### 功能验证点
- **TP_PRODM_CLA_031**(高)|当前查询条件下导出|验证要点:先查询再导出;无报错。默认不校验文件内容|关联需求:UI-SPEC-SPD-PRODM-009
#### 边界验证点
- **TP_PRODM_CLA_032**(低)|无数据时导出|验证要点:空列表导出不报错或有明确提示|关联需求:UI-SPEC-SPD-PRODM-009
#### 异常验证点
- 无(已并入:导出失败见写操作失败提示)
#### 集成验证点
- 无(已并入:导入模板与导出关系见写操作点)
---
### 打印
#### 功能验证点
- **TP_PRODM_CLA_033**(高)|按当前条件打印|验证要点:能拉起对话框/预览/toast;无 error|关联需求:UI-SPEC-SPD-PRODM-009
#### 边界验证点
- 无(已并入:无数据打印以现网为准)
#### 异常验证点
- 无(已并入:打印失败见写操作失败提示)
#### 集成验证点
- 无(已并入:批量打印见打印 H3)
---
### 全部调整
#### 功能验证点
- **TP_PRODM_CLA_034**(高)|打开对应弹窗/抽屉|验证要点:触发「全部调整」后弹窗/抽屉可见,标题与关键字段可交互;取消不落库(范围内才写保存)|关联需求:UI-SPEC-SPD-PRODM-009
- **TP_PRODM_CLA_035**(中)|取消不落库|验证要点:填写后取消或关闭,列表不新增/不修改对应记录|关联需求:UI-SPEC-SPD-PRODM-009
#### 边界验证点
- **TP_PRODM_CLA_036**(中)|必填为空拦截|验证要点:必填项为空时确定被拦截并提示,不落库|关联需求:UI-SPEC-SPD-PRODM-009
- **TP_PRODM_CLA_037**(低)|重复打开|验证要点:连续两次打开不叠加多层遮罩|关联需求:UI-SPEC-SPD-PRODM-009
#### 异常验证点
- **TP_PRODM_CLA_038**(中)|保存失败|验证要点:接口失败时弹窗不自动关闭且列表保持原状|关联需求:UI-SPEC-SPD-PRODM-009
#### 集成验证点
- **TP_PRODM_CLA_039**(低)|弹窗字段与列表列一致|验证要点:弹窗内关键字段与列表展示字段命名一致|关联需求:UI-SPEC-SPD-PRODM-009
---
### 批量调整
#### 功能验证点
- **TP_PRODM_CLA_040**(高)|打开对应弹窗/抽屉|验证要点:触发「批量调整」后弹窗/抽屉可见,标题与关键字段可交互;取消不落库(范围内才写保存)|关联需求:UI-SPEC-SPD-PRODM-009
- **TP_PRODM_CLA_041**(中)|取消不落库|验证要点:填写后取消或关闭,列表不新增/不修改对应记录|关联需求:UI-SPEC-SPD-PRODM-009
#### 边界验证点
- **TP_PRODM_CLA_042**(中)|必填为空拦截|验证要点:必填项为空时确定被拦截并提示,不落库|关联需求:UI-SPEC-SPD-PRODM-009
- **TP_PRODM_CLA_043**(低)|重复打开|验证要点:连续两次打开不叠加多层遮罩|关联需求:UI-SPEC-SPD-PRODM-009
#### 异常验证点
- **TP_PRODM_CLA_044**(中)|保存失败|验证要点:接口失败时弹窗不自动关闭且列表保持原状|关联需求:UI-SPEC-SPD-PRODM-009
#### 集成验证点
- **TP_PRODM_CLA_045**(低)|弹窗字段与列表列一致|验证要点:弹窗内关键字段与列表展示字段命名一致|关联需求:UI-SPEC-SPD-PRODM-009
---
### 采纳
#### 功能验证点
- **TP_PRODM_CLA_046**(高)|打开对应弹窗/抽屉|验证要点:触发「采纳」后弹窗/抽屉可见,标题与关键字段可交互;取消不落库(范围内才写保存)|关联需求:UI-SPEC-SPD-PRODM-009
- **TP_PRODM_CLA_047**(中)|取消不落库|验证要点:填写后取消或关闭,列表不新增/不修改对应记录|关联需求:UI-SPEC-SPD-PRODM-009
#### 边界验证点
- **TP_PRODM_CLA_048**(中)|必填为空拦截|验证要点:必填项为空时确定被拦截并提示,不落库|关联需求:UI-SPEC-SPD-PRODM-009
- **TP_PRODM_CLA_049**(低)|重复打开|验证要点:连续两次打开不叠加多层遮罩|关联需求:UI-SPEC-SPD-PRODM-009
#### 异常验证点
- **TP_PRODM_CLA_050**(中)|保存失败|验证要点:接口失败时弹窗不自动关闭且列表保持原状|关联需求:UI-SPEC-SPD-PRODM-009
#### 集成验证点
- **TP_PRODM_CLA_051**(低)|弹窗字段与列表列一致|验证要点:弹窗内关键字段与列表展示字段命名一致|关联需求:UI-SPEC-SPD-PRODM-009
---
### 与同组产品管理页差异
#### 功能验证点
- **TP_PRODM_CLA_052**(中)|本页独有列与能力|验证要点:AI 建议页;勿与「中心库上下限建议」非 AI 页混淆;与同组它页切换后列集/工具栏差异可辨识|关联需求:UI-SPEC-SPD-PRODM-009
#### 边界验证点
- **TP_PRODM_CLA_053**(低)|直链不误展示它页列|验证要点:仅打开本页 URL `/spd/basic/goods/paltform/product/centerLimitAi` 时不应出现它页独有工具栏(如错页 Tab)|关联需求:UI-SPEC-SPD-PRODM-009
#### 异常验证点
- **TP_PRODM_CLA_054**(中)|菜单高亮与 URL 一致|验证要点:左侧高亮菜单名、顶栏 Tab 与地址栏路径同属本页,非兄弟页 URL|关联需求:UI-SPEC-SPD-PRODM-009
#### 集成验证点
- **TP_PRODM_CLA_055**(低)|跨页数据不串行|验证要点:从本页切至它页再返回,本页筛选/列表恢复为本页数据域,不残留它页查询条件(以现网为准)|关联需求:UI-SPEC-SPD-PRODM-009
---
## 质量自检摘要
| 项 | 结论 |
|----|------|
| 范围 | 在范围内:导航、筛选展开、列表分页、导出、调整工具栏。排除:断网/弱网、导出文件内容、弹窗全字段落库、登录/改密通用流程(见 `testpoint/scope/基础管理-产品管理-UI测试点范围.md`)。未声称 100% 全覆盖。 |
| 范围外未覆盖 | 全局左侧菜单与顶栏导航噪声、导出/打印文件字节内容、弹窗/抽屉全字段组合与真实落库、断网/弱网 |
| 覆盖 | 已写功能域见正文 H3;共 **55** 条原子测试点;扫描元素约 142 项 |
| 分类 | 功能 / 边界 / 异常 / 集成四类均已按功能点拆分 |
| 去重 | 登录态过期、无菜单权限、改密引用 `TP_USER_USR_006`/`007`,本页不展开。编号前缀 `TP_PRODM_CLA` |
| 待评审项 | 写操作冒烟不提交脏数据;筛选收起后字段是否保留;部分详情层标题可能受顶栏 Tab 干扰需现网复核;页面无列头 sorter(自检);页面无列设置齿轮(自检);页面无宽表启发式,未写横向滚动(自检);有每页条数下拉:已写「切换每页条数」 |
| 功能点拆分 | 未使用「筛选与查询 / 列表与分页」;快捷与高级筛选分开;有展开则单开查询条件展开收起;列表→分页→导出;写操作 H3 用业务名 |
| 报表能力 | 整页渲染,非统计报表 iframe 第四节清单 |
| 列排序下游 | 页面无列头 sorter(自检);建议 `audit-sort-columns-live` 维护 `data/spd-admin-sort-columns.json` |
| 分页每页条数 | 有每页条数下拉:已写「切换每页条数」 |
| 下游 | 可转 testcases/MD、CSV;扫描 `npm run discover:scan-prodm`;overlay `npm run discover:scan-prodm-overlays`;测试点 `npm run generate:testpoints-prodm` |
# 基础管理-产品管理-中心库库区产品设置 — 测试点分析
**版本**:01
**定稿日期**:2026-11-04
**关联需求**:`knowledge-base/08-UI专项规范库/UI-SPEC-SPD-PRODM-020.md`
**页面 URL**:`http://spdtest.cmic.com.cn:8080/spd/basic/goods/platform/area/product`
**元素扫描**:`data/scan/prodm-center-zone-elements.json`(203 项)
**定位器**:`locators/spd/prodm-center-zone.locator.yaml`
**本次生成范围**:`testpoint/scope/基础管理-产品管理-UI测试点范围.md`
---
## 基础设置 · 产品管理 · 中心库库区产品设置
### 页面访问与导航
#### 功能验证点
- **TP_PRODM_CZO_001**(高)|页面主区加载完成|验证要点:携带有效登录态进入 `/spd/basic/goods/platform/area/product`(菜单或直链),筛选+高级筛选、添加中心库库区产品/导出、列表与分页;左侧菜单与顶栏 Tab 高亮为中心库库区产品设置,不误入同组其它产品管理页|关联需求:UI-SPEC-SPD-PRODM-020
- **TP_PRODM_CZO_002**(中)|同组产品管理菜单可切换|验证要点:在 scope 所列产品管理 26 个子菜单中切换 2~3 个后 URL 与内容对应,再返回本页状态正确|关联需求:UI-SPEC-SPD-PRODM-020
#### 边界验证点
- **TP_PRODM_CZO_003**(低)|已登录直接打开 URL|验证要点:携带有效登录态打开 `/spd/basic/goods/platform/area/product`,筛选区与列表(或左右分栏)可见,无报错遮罩,地址仍为该路径|关联需求:UI-SPEC-SPD-PRODM-020
#### 异常验证点
- 无(未登录/会话过期/无菜单权限引用用户管理 `TP_USER_USR_005`~`007`;本模块自动化不单独写「菜单进入」「未登录访问拦截」用例,见 ui-test-point-rules 3.5)
#### 集成验证点
- **TP_PRODM_CZO_004**(中)|顶栏院区与筛选默认一致|验证要点:顶栏当前院区与页面院区/库区树默认范围不矛盾(允许按权限裁剪)|关联需求:UI-SPEC-SPD-PRODM-020
---
### 快捷筛选查询
#### 功能验证点
- **TP_PRODM_CZO_005**(中)|快捷区重置恢复默认|验证要点:已填字段(及维度勾选)恢复默认;列表是否刷新按产品规则,未定则标待评审|关联需求:UI-SPEC-SPD-PRODM-020
#### 边界验证点
- **TP_PRODM_CZO_006**(中)|超长文本关键字|验证要点:名称/编号类字段输入较长关键字,查询被接受或截断,页面不崩溃|关联需求:UI-SPEC-SPD-PRODM-020
- **TP_PRODM_CZO_007**(低)|仅空格关键字|验证要点:按空查询或提示,不报错|关联需求:UI-SPEC-SPD-PRODM-020
#### 异常验证点
- **TP_PRODM_CZO_008**(中)|查询接口失败|验证要点:失败有错误提示,不白屏|关联需求:UI-SPEC-SPD-PRODM-020
#### 集成验证点
- **TP_PRODM_CZO_009**(中)|筛选结果与分页总数一致|验证要点:查询后「共 N 条」与本次查询匹配条数一致|关联需求:UI-SPEC-SPD-PRODM-020
---
### 高级筛选抽屉
#### 功能验证点
- **TP_PRODM_CZO_010**(高)|点击高级筛选打开抽屉|验证要点:标题为「高级筛选」;关键字段可交互|关联需求:UI-SPEC-SPD-PRODM-020
- **TP_PRODM_CZO_011**(中)|抽屉内重置恢复默认|验证要点:抽屉字段恢复默认,快捷区不被清空|关联需求:UI-SPEC-SPD-PRODM-020
- **TP_PRODM_CZO_012**(高)|全量查询条件组合查询|验证要点:快捷区 +(有则)维度勾选 + 抽屉全填样本非空字段;抽样首行同时满足全部已填条件|关联需求:UI-SPEC-SPD-PRODM-020
#### 边界验证点
- 无(已并入:高级筛选字段边界见快捷区同类规则)
#### 异常验证点
- 无(已并入:高级筛选接口失败归入查询接口失败)
#### 集成验证点
- **TP_PRODM_CZO_013**(中)|高级筛选带入|验证要点:快捷区同名字段带入抽屉且不手改,与快捷区一致(可选,见 rules 3.3)|关联需求:UI-SPEC-SPD-PRODM-020
---
### 列表
#### 功能验证点
- **TP_PRODM_CZO_019**(高)|列表核心列完整|验证要点:主表展示 库区、产品、上下限/货位等(以现网为准)|关联需求:UI-SPEC-SPD-PRODM-020
- **TP_PRODM_CZO_020**(低)|列设置隐藏后再恢复|验证要点:打开列设置 → 取消勾选非核心列 → 表头隐藏且勾选同步 → 再勾选后表头恢复|关联需求:UI-SPEC-SPD-PRODM-020
#### 边界验证点
- **TP_PRODM_CZO_021**(中)|无匹配空列表|验证要点:不存在的关键字查询后表头仍在,0 行或空态;有汇总时为 0 或「-」|关联需求:UI-SPEC-SPD-PRODM-020
- **TP_PRODM_CZO_022**(中)|横向滚动与列对齐|验证要点:远侧列可进入视口;表头列数=数据列数;对齐无重叠。列名以本页为准|关联需求:UI-SPEC-SPD-PRODM-020
#### 异常验证点
- 无(已并入:列表加载失败见查询接口失败)
#### 集成验证点
- 无(已并入:行内操作见行内操作 H3 或本页无行操作)
---
### 分页
#### 功能验证点
- **TP_PRODM_CZO_023**(高)|有数据时总条数|验证要点:「共 N 条」与本次查询匹配条数一致|关联需求:UI-SPEC-SPD-PRODM-020
- **TP_PRODM_CZO_024**(高)|切换至第 2 页|验证要点:页码高亮且首行更换;不足 2 页则该点不适用|关联需求:UI-SPEC-SPD-PRODM-020
- **TP_PRODM_CZO_025**(中)|切换每页条数|验证要点:默认档位(常见 50)→「20 条/页」;共 N 条不变;当前页行数=min(N,20) 且与切换前不同(见 3.7)|关联需求:UI-SPEC-SPD-PRODM-020
#### 边界验证点
- **TP_PRODM_CZO_026**(中)|首页上一页不可用|验证要点:第 1 页时「上一页」禁用或无效|关联需求:UI-SPEC-SPD-PRODM-020
- **TP_PRODM_CZO_027**(中)|末页下一页不可用|验证要点:最后一页时「下一页」禁用或无效|关联需求:UI-SPEC-SPD-PRODM-020
#### 异常验证点
- **TP_PRODM_CZO_028**(低)|跳至非数字页码|验证要点:非法输入不跳转异常页|关联需求:UI-SPEC-SPD-PRODM-020
#### 集成验证点
- **TP_PRODM_CZO_029**(中)|翻页不丢失筛选|验证要点:带筛选翻页后条件保持,新页仍满足原筛选|关联需求:UI-SPEC-SPD-PRODM-020
---
### 行内操作
#### 功能验证点
- **TP_PRODM_CZO_014**(高)|行内「详情」可达|验证要点:首行有数据时点「详情」有反馈或进入预期层(只读冒烟,不写外围回写)|关联需求:UI-SPEC-SPD-PRODM-020
- **TP_PRODM_CZO_015**(高)|行内「编辑」可达|验证要点:首行有数据时点「编辑」有反馈或进入预期层(只读冒烟,不写外围回写)|关联需求:UI-SPEC-SPD-PRODM-020
#### 边界验证点
- **TP_PRODM_CZO_016**(低)|末行或无数据|验证要点:无数据时空态,行内按钮不可用或不可见(以现网为准)|关联需求:UI-SPEC-SPD-PRODM-020
#### 异常验证点
- **TP_PRODM_CZO_017**(中)|操作失败提示|验证要点:接口失败时有提示,列表行状态不误改为成功|关联需求:UI-SPEC-SPD-PRODM-020
#### 集成验证点
- **TP_PRODM_CZO_018**(低)|一对多备注|验证要点:下游用例可按每个行内操作各拆一条;本页已按操作拆功能点|关联需求:UI-SPEC-SPD-PRODM-020
---
### 导出
#### 功能验证点
- **TP_PRODM_CZO_030**(高)|当前查询条件下导出|验证要点:先查询再导出;无报错。默认不校验文件内容|关联需求:UI-SPEC-SPD-PRODM-020
#### 边界验证点
- **TP_PRODM_CZO_031**(低)|无数据时导出|验证要点:空列表导出不报错或有明确提示|关联需求:UI-SPEC-SPD-PRODM-020
#### 异常验证点
- 无(已并入:导出失败见写操作失败提示)
#### 集成验证点
- 无(已并入:导入模板与导出关系见写操作点)
---
### 添加中心库库区产品
#### 功能验证点
- **TP_PRODM_CZO_032**(高)|打开对应弹窗/抽屉|验证要点:触发「添加中心库库区产品」后弹窗/抽屉可见,标题与关键字段可交互;取消不落库(范围内才写保存)|关联需求:UI-SPEC-SPD-PRODM-020
- **TP_PRODM_CZO_033**(中)|取消不落库|验证要点:填写后取消或关闭,列表不新增/不修改对应记录|关联需求:UI-SPEC-SPD-PRODM-020
#### 边界验证点
- **TP_PRODM_CZO_034**(中)|必填为空拦截|验证要点:必填项为空时确定被拦截并提示,不落库|关联需求:UI-SPEC-SPD-PRODM-020
- **TP_PRODM_CZO_035**(低)|重复打开|验证要点:连续两次打开不叠加多层遮罩|关联需求:UI-SPEC-SPD-PRODM-020
#### 异常验证点
- **TP_PRODM_CZO_036**(中)|保存失败|验证要点:接口失败时弹窗不自动关闭且列表保持原状|关联需求:UI-SPEC-SPD-PRODM-020
#### 集成验证点
- **TP_PRODM_CZO_037**(低)|弹窗字段与列表列一致|验证要点:弹窗内关键字段与列表展示字段命名一致|关联需求:UI-SPEC-SPD-PRODM-020
---
### 与同组产品管理页差异
#### 功能验证点
- **TP_PRODM_CZO_038**(中)|本页独有列与能力|验证要点:中心库库区绑定;勿与「院区产品设置」「科室库区产品设置」混淆;与同组它页切换后列集/工具栏差异可辨识|关联需求:UI-SPEC-SPD-PRODM-020
#### 边界验证点
- **TP_PRODM_CZO_039**(低)|直链不误展示它页列|验证要点:仅打开本页 URL `/spd/basic/goods/platform/area/product` 时不应出现它页独有工具栏(如错页 Tab)|关联需求:UI-SPEC-SPD-PRODM-020
#### 异常验证点
- **TP_PRODM_CZO_040**(中)|菜单高亮与 URL 一致|验证要点:左侧高亮菜单名、顶栏 Tab 与地址栏路径同属本页,非兄弟页 URL|关联需求:UI-SPEC-SPD-PRODM-020
#### 集成验证点
- **TP_PRODM_CZO_041**(低)|跨页数据不串行|验证要点:从本页切至它页再返回,本页筛选/列表恢复为本页数据域,不残留它页查询条件(以现网为准)|关联需求:UI-SPEC-SPD-PRODM-020
---
## 质量自检摘要
| 项 | 结论 |
|----|------|
| 范围 | 在范围内:导航、筛选、列表分页、导出、添加弹窗。排除:断网/弱网、导出文件内容、弹窗全字段落库、登录/改密通用流程(见 `testpoint/scope/基础管理-产品管理-UI测试点范围.md`)。未声称 100% 全覆盖。 |
| 范围外未覆盖 | 全局左侧菜单与顶栏导航噪声、导出/打印文件字节内容、弹窗/抽屉全字段组合与真实落库、断网/弱网 |
| 覆盖 | 已写功能域见正文 H3;共 **41** 条原子测试点;扫描元素约 203 项 |
| 分类 | 功能 / 边界 / 异常 / 集成四类均已按功能点拆分 |
| 去重 | 登录态过期、无菜单权限、改密引用 `TP_USER_USR_006`/`007`,本页不展开。编号前缀 `TP_PRODM_CZO` |
| 待评审项 | 写操作冒烟不提交脏数据;筛选收起后字段是否保留;部分详情层标题可能受顶栏 Tab 干扰需现网复核;页面无列头 sorter(自检);有列设置:列表 H3 已写「列设置隐藏后再恢复」;宽表已写「横向滚动与列对齐」;有每页条数下拉:已写「切换每页条数」 |
| 功能点拆分 | 未使用「筛选与查询 / 列表与分页」;快捷与高级筛选分开;有展开则单开查询条件展开收起;列表→分页→导出;写操作 H3 用业务名 |
| 报表能力 | 整页渲染,非统计报表 iframe 第四节清单 |
| 列排序下游 | 页面无列头 sorter(自检);建议 `audit-sort-columns-live` 维护 `data/spd-admin-sort-columns.json` |
| 分页每页条数 | 有每页条数下拉:已写「切换每页条数」 |
| 下游 | 可转 testcases/MD、CSV;扫描 `npm run discover:scan-prodm`;overlay `npm run discover:scan-prodm-overlays`;测试点 `npm run generate:testpoints-prodm` |
# 基础管理-产品管理-产品DI变更 — 测试点分析
**版本**:01
**定稿日期**:2026-11-04
**关联需求**:`knowledge-base/08-UI专项规范库/UI-SPEC-SPD-PRODM-023.md`
**页面 URL**:`http://spdtest.cmic.com.cn:8080/spd/basic/goods/platform/dichange`
**元素扫描**:`data/scan/prodm-di-change-elements.json`(109 项)
**定位器**:`locators/spd/prodm-di-change.locator.yaml`
**本次生成范围**:`testpoint/scope/基础管理-产品管理-UI测试点范围.md`
---
## 基础设置 · 产品管理 · 产品DI变更
### 页面访问与导航
#### 功能验证点
- **TP_PRODM_DIC_001**(高)|页面主区加载完成|验证要点:携带有效登录态进入 `/spd/basic/goods/platform/dichange`(菜单或直链),筛选(可展开)、DI 变更列表与详情;左侧菜单与顶栏 Tab 高亮为产品DI变更,不误入同组其它产品管理页|关联需求:UI-SPEC-SPD-PRODM-023
- **TP_PRODM_DIC_002**(中)|同组产品管理菜单可切换|验证要点:在 scope 所列产品管理 26 个子菜单中切换 2~3 个后 URL 与内容对应,再返回本页状态正确|关联需求:UI-SPEC-SPD-PRODM-023
#### 边界验证点
- **TP_PRODM_DIC_003**(低)|已登录直接打开 URL|验证要点:携带有效登录态打开 `/spd/basic/goods/platform/dichange`,筛选区与列表(或左右分栏)可见,无报错遮罩,地址仍为该路径|关联需求:UI-SPEC-SPD-PRODM-023
#### 异常验证点
- 无(未登录/会话过期/无菜单权限引用用户管理 `TP_USER_USR_005`~`007`;本模块自动化不单独写「菜单进入」「未登录访问拦截」用例,见 ui-test-point-rules 3.5)
#### 集成验证点
- **TP_PRODM_DIC_004**(中)|顶栏院区与筛选默认一致|验证要点:顶栏当前院区与页面院区/库区树默认范围不矛盾(允许按权限裁剪)|关联需求:UI-SPEC-SPD-PRODM-023
---
### 快捷筛选查询
#### 功能验证点
- **TP_PRODM_DIC_006**(高)|全量可见条件组合查询|验证要点:只填当前结果里有值的条件;结果同时满足已填条件|关联需求:UI-SPEC-SPD-PRODM-023
- **TP_PRODM_DIC_005**(中)|快捷区重置恢复默认|验证要点:已填字段(及维度勾选)恢复默认;列表是否刷新按产品规则,未定则标待评审|关联需求:UI-SPEC-SPD-PRODM-023
#### 边界验证点
- **TP_PRODM_DIC_007**(中)|超长文本关键字|验证要点:名称/编号类字段输入较长关键字,查询被接受或截断,页面不崩溃|关联需求:UI-SPEC-SPD-PRODM-023
- **TP_PRODM_DIC_008**(低)|仅空格关键字|验证要点:按空查询或提示,不报错|关联需求:UI-SPEC-SPD-PRODM-023
#### 异常验证点
- **TP_PRODM_DIC_009**(中)|查询接口失败|验证要点:失败有错误提示,不白屏|关联需求:UI-SPEC-SPD-PRODM-023
#### 集成验证点
- **TP_PRODM_DIC_010**(中)|筛选结果与分页总数一致|验证要点:查询后「共 N 条」与本次查询匹配条数一致|关联需求:UI-SPEC-SPD-PRODM-023
---
### 查询条件展开收起
#### 功能验证点
- **TP_PRODM_DIC_011**(中)|展开后更多条件可见|验证要点:额外字段进入可视区且可填写、可参与查询;按钮变为「收起」|关联需求:UI-SPEC-SPD-PRODM-023
- **TP_PRODM_DIC_012**(中)|收起后额外条件隐藏且已填值保留|验证要点:折叠行隐藏;已填值不丢失;再展开后值仍在。产品未定则标待评审|关联需求:UI-SPEC-SPD-PRODM-023
#### 边界验证点
- **TP_PRODM_DIC_013**(低)|展开后无额外字段|验证要点:若产品无第二行筛选,展开为空或禁用,页面不报错|关联需求:UI-SPEC-SPD-PRODM-023
#### 异常验证点
- **TP_PRODM_DIC_014**(低)|展开态查询失败|验证要点:展开后查询失败有提示,不误展示其它页缓存列表|关联需求:UI-SPEC-SPD-PRODM-023
#### 集成验证点
- **TP_PRODM_DIC_015**(中)|展开字段与扫描一致|验证要点:展开后可见字段与 `data/scan` 记录一致,不以邻页筛选字段代替|关联需求:UI-SPEC-SPD-PRODM-023
---
### 列表
#### 功能验证点
- **TP_PRODM_DIC_022**(高)|列表核心列完整|验证要点:主表展示 DI 变更单号、状态、产品等(以现网为准)|关联需求:UI-SPEC-SPD-PRODM-023
- **TP_PRODM_DIC_023**(低)|列设置隐藏后再恢复|验证要点:打开列设置 → 取消勾选非核心列 → 表头隐藏且勾选同步 → 再勾选后表头恢复|关联需求:UI-SPEC-SPD-PRODM-023
#### 边界验证点
- **TP_PRODM_DIC_024**(中)|无匹配空列表|验证要点:不存在的关键字查询后表头仍在,0 行或空态;有汇总时为 0 或「-」|关联需求:UI-SPEC-SPD-PRODM-023
- **TP_PRODM_DIC_025**(中)|横向滚动与列对齐|验证要点:远侧列可进入视口;表头列数=数据列数;对齐无重叠。列名以本页为准|关联需求:UI-SPEC-SPD-PRODM-023
#### 异常验证点
- 无(已并入:列表加载失败见查询接口失败)
#### 集成验证点
- 无(已并入:行内操作见行内操作 H3 或本页无行操作)
---
### 分页
#### 功能验证点
- **TP_PRODM_DIC_026**(高)|有数据时总条数|验证要点:「共 N 条」与本次查询匹配条数一致|关联需求:UI-SPEC-SPD-PRODM-023
- **TP_PRODM_DIC_027**(高)|切换至第 2 页|验证要点:页码高亮且首行更换;不足 2 页则该点不适用|关联需求:UI-SPEC-SPD-PRODM-023
- **TP_PRODM_DIC_028**(中)|切换每页条数|验证要点:默认档位(常见 50)→「20 条/页」;共 N 条不变;当前页行数=min(N,20) 且与切换前不同(见 3.7)|关联需求:UI-SPEC-SPD-PRODM-023
#### 边界验证点
- **TP_PRODM_DIC_029**(中)|首页上一页不可用|验证要点:第 1 页时「上一页」禁用或无效|关联需求:UI-SPEC-SPD-PRODM-023
- **TP_PRODM_DIC_030**(中)|末页下一页不可用|验证要点:最后一页时「下一页」禁用或无效|关联需求:UI-SPEC-SPD-PRODM-023
#### 异常验证点
- **TP_PRODM_DIC_031**(低)|跳至非数字页码|验证要点:非法输入不跳转异常页|关联需求:UI-SPEC-SPD-PRODM-023
#### 集成验证点
- **TP_PRODM_DIC_032**(中)|翻页不丢失筛选|验证要点:带筛选翻页后条件保持,新页仍满足原筛选|关联需求:UI-SPEC-SPD-PRODM-023
---
### 行内操作
#### 功能验证点
- **TP_PRODM_DIC_016**(高)|行内「详情」可达|验证要点:首行有数据时点「详情」有反馈或进入预期层(只读冒烟,不写外围回写)|关联需求:UI-SPEC-SPD-PRODM-023
- **TP_PRODM_DIC_017**(高)|行内「编辑」可达|验证要点:首行有数据时点「编辑」有反馈或进入预期层(只读冒烟,不写外围回写)|关联需求:UI-SPEC-SPD-PRODM-023
- **TP_PRODM_DIC_018**(高)|行内「日志」可达|验证要点:首行有数据时点「日志」有反馈或进入预期层(只读冒烟,不写外围回写)|关联需求:UI-SPEC-SPD-PRODM-023
#### 边界验证点
- **TP_PRODM_DIC_019**(低)|末行或无数据|验证要点:无数据时空态,行内按钮不可用或不可见(以现网为准)|关联需求:UI-SPEC-SPD-PRODM-023
#### 异常验证点
- **TP_PRODM_DIC_020**(中)|操作失败提示|验证要点:接口失败时有提示,列表行状态不误改为成功|关联需求:UI-SPEC-SPD-PRODM-023
#### 集成验证点
- **TP_PRODM_DIC_021**(低)|一对多备注|验证要点:下游用例可按每个行内操作各拆一条;本页已按操作拆功能点|关联需求:UI-SPEC-SPD-PRODM-023
---
### 与同组产品管理页差异
#### 功能验证点
- **TP_PRODM_DIC_033**(中)|本页独有列与能力|验证要点:DI 变更维护;勿与「产品DI查询」混淆;与同组它页切换后列集/工具栏差异可辨识|关联需求:UI-SPEC-SPD-PRODM-023
#### 边界验证点
- **TP_PRODM_DIC_034**(低)|直链不误展示它页列|验证要点:仅打开本页 URL `/spd/basic/goods/platform/dichange` 时不应出现它页独有工具栏(如错页 Tab)|关联需求:UI-SPEC-SPD-PRODM-023
#### 异常验证点
- **TP_PRODM_DIC_035**(中)|菜单高亮与 URL 一致|验证要点:左侧高亮菜单名、顶栏 Tab 与地址栏路径同属本页,非兄弟页 URL|关联需求:UI-SPEC-SPD-PRODM-023
#### 集成验证点
- **TP_PRODM_DIC_036**(低)|跨页数据不串行|验证要点:从本页切至它页再返回,本页筛选/列表恢复为本页数据域,不残留它页查询条件(以现网为准)|关联需求:UI-SPEC-SPD-PRODM-023
---
## 质量自检摘要
| 项 | 结论 |
|----|------|
| 范围 | 在范围内:导航、筛选展开、列表分页、详情页。排除:断网/弱网、导出文件内容、弹窗全字段落库、登录/改密通用流程(见 `testpoint/scope/基础管理-产品管理-UI测试点范围.md`)。未声称 100% 全覆盖。 |
| 范围外未覆盖 | 全局左侧菜单与顶栏导航噪声、导出/打印文件字节内容、弹窗/抽屉全字段组合与真实落库、断网/弱网 |
| 覆盖 | 已写功能域见正文 H3;共 **36** 条原子测试点;扫描元素约 109 项 |
| 分类 | 功能 / 边界 / 异常 / 集成四类均已按功能点拆分 |
| 去重 | 登录态过期、无菜单权限、改密引用 `TP_USER_USR_006`/`007`,本页不展开。编号前缀 `TP_PRODM_DIC` |
| 待评审项 | 写操作冒烟不提交脏数据;筛选收起后字段是否保留;部分详情层标题可能受顶栏 Tab 干扰需现网复核;页面无列头 sorter(自检);有列设置:列表 H3 已写「列设置隐藏后再恢复」;宽表已写「横向滚动与列对齐」;有每页条数下拉:已写「切换每页条数」 |
| 功能点拆分 | 未使用「筛选与查询 / 列表与分页」;快捷与高级筛选分开;有展开则单开查询条件展开收起;列表→分页→导出;写操作 H3 用业务名 |
| 报表能力 | 整页渲染,非统计报表 iframe 第四节清单 |
| 列排序下游 | 页面无列头 sorter(自检);建议 `audit-sort-columns-live` 维护 `data/spd-admin-sort-columns.json` |
| 分页每页条数 | 有每页条数下拉:已写「切换每页条数」 |
| 下游 | 可转 testcases/MD、CSV;扫描 `npm run discover:scan-prodm`;overlay `npm run discover:scan-prodm-overlays`;测试点 `npm run generate:testpoints-prodm` |
# 基础管理-产品管理-产品DI查询 — 测试点分析
**版本**:01
**定稿日期**:2026-11-04
**关联需求**:`knowledge-base/08-UI专项规范库/UI-SPEC-SPD-PRODM-018.md`
**页面 URL**:`http://spdtest.cmic.com.cn:8080/spd/basic/goods/platform/diSearch`
**元素扫描**:`data/scan/prodm-di-query-elements.json`(127 项)
**定位器**:`locators/spd/prodm-di-query.locator.yaml`
**本次生成范围**:`testpoint/scope/基础管理-产品管理-UI测试点范围.md`
---
## 基础设置 · 产品管理 · 产品DI查询
### 页面访问与导航
#### 功能验证点
- **TP_PRODM_DIQ_001**(高)|页面主区加载完成|验证要点:携带有效登录态进入 `/spd/basic/goods/platform/diSearch`(菜单或直链),筛选(可展开)、导出、DI 列表与详情;左侧菜单与顶栏 Tab 高亮为产品DI查询,不误入同组其它产品管理页|关联需求:UI-SPEC-SPD-PRODM-018
- **TP_PRODM_DIQ_002**(中)|同组产品管理菜单可切换|验证要点:在 scope 所列产品管理 26 个子菜单中切换 2~3 个后 URL 与内容对应,再返回本页状态正确|关联需求:UI-SPEC-SPD-PRODM-018
#### 边界验证点
- **TP_PRODM_DIQ_003**(低)|已登录直接打开 URL|验证要点:携带有效登录态打开 `/spd/basic/goods/platform/diSearch`,筛选区与列表(或左右分栏)可见,无报错遮罩,地址仍为该路径|关联需求:UI-SPEC-SPD-PRODM-018
#### 异常验证点
- 无(未登录/会话过期/无菜单权限引用用户管理 `TP_USER_USR_005`~`007`;本模块自动化不单独写「菜单进入」「未登录访问拦截」用例,见 ui-test-point-rules 3.5)
#### 集成验证点
- **TP_PRODM_DIQ_004**(中)|顶栏院区与筛选默认一致|验证要点:顶栏当前院区与页面院区/库区树默认范围不矛盾(允许按权限裁剪)|关联需求:UI-SPEC-SPD-PRODM-018
---
### 快捷筛选查询
#### 功能验证点
- **TP_PRODM_DIQ_006**(高)|全量可见条件组合查询|验证要点:只填当前结果里有值的条件;结果同时满足已填条件|关联需求:UI-SPEC-SPD-PRODM-018
- **TP_PRODM_DIQ_005**(中)|快捷区重置恢复默认|验证要点:已填字段(及维度勾选)恢复默认;列表是否刷新按产品规则,未定则标待评审|关联需求:UI-SPEC-SPD-PRODM-018
#### 边界验证点
- **TP_PRODM_DIQ_007**(中)|超长文本关键字|验证要点:名称/编号类字段输入较长关键字,查询被接受或截断,页面不崩溃|关联需求:UI-SPEC-SPD-PRODM-018
- **TP_PRODM_DIQ_008**(低)|仅空格关键字|验证要点:按空查询或提示,不报错|关联需求:UI-SPEC-SPD-PRODM-018
#### 异常验证点
- **TP_PRODM_DIQ_009**(中)|查询接口失败|验证要点:失败有错误提示,不白屏|关联需求:UI-SPEC-SPD-PRODM-018
#### 集成验证点
- **TP_PRODM_DIQ_010**(中)|筛选结果与分页总数一致|验证要点:查询后「共 N 条」与本次查询匹配条数一致|关联需求:UI-SPEC-SPD-PRODM-018
---
### 查询条件展开收起
#### 功能验证点
- **TP_PRODM_DIQ_011**(中)|展开后更多条件可见|验证要点:额外字段进入可视区且可填写、可参与查询;按钮变为「收起」|关联需求:UI-SPEC-SPD-PRODM-018
- **TP_PRODM_DIQ_012**(中)|收起后额外条件隐藏且已填值保留|验证要点:折叠行隐藏;已填值不丢失;再展开后值仍在。产品未定则标待评审|关联需求:UI-SPEC-SPD-PRODM-018
#### 边界验证点
- **TP_PRODM_DIQ_013**(低)|展开后无额外字段|验证要点:若产品无第二行筛选,展开为空或禁用,页面不报错|关联需求:UI-SPEC-SPD-PRODM-018
#### 异常验证点
- **TP_PRODM_DIQ_014**(低)|展开态查询失败|验证要点:展开后查询失败有提示,不误展示其它页缓存列表|关联需求:UI-SPEC-SPD-PRODM-018
#### 集成验证点
- **TP_PRODM_DIQ_015**(中)|展开字段与扫描一致|验证要点:展开后可见字段与 `data/scan` 记录一致,不以邻页筛选字段代替|关联需求:UI-SPEC-SPD-PRODM-018
---
### 列表
#### 功能验证点
- **TP_PRODM_DIQ_016**(高)|列表核心列完整|验证要点:主表展示 DI、产品、注册相关列(以现网为准)|关联需求:UI-SPEC-SPD-PRODM-018
#### 边界验证点
- **TP_PRODM_DIQ_017**(中)|无匹配空列表|验证要点:不存在的关键字查询后表头仍在,0 行或空态;有汇总时为 0 或「-」|关联需求:UI-SPEC-SPD-PRODM-018
#### 异常验证点
- 无(已并入:列表加载失败见查询接口失败)
#### 集成验证点
- **TP_PRODM_DIQ_018**(高)|行内操作可达|验证要点:首行存在数据时,行操作 详情 可点击并进入预期弹窗/详情(只读冒烟)|关联需求:UI-SPEC-SPD-PRODM-018
---
### 分页
#### 功能验证点
- **TP_PRODM_DIQ_019**(高)|有数据时总条数|验证要点:「共 N 条」与本次查询匹配条数一致|关联需求:UI-SPEC-SPD-PRODM-018
- **TP_PRODM_DIQ_020**(高)|切换至第 2 页|验证要点:页码高亮且首行更换;不足 2 页则该点不适用|关联需求:UI-SPEC-SPD-PRODM-018
- **TP_PRODM_DIQ_021**(中)|切换每页条数|验证要点:默认档位(常见 50)→「20 条/页」;共 N 条不变;当前页行数=min(N,20) 且与切换前不同(见 3.7)|关联需求:UI-SPEC-SPD-PRODM-018
#### 边界验证点
- **TP_PRODM_DIQ_022**(中)|首页上一页不可用|验证要点:第 1 页时「上一页」禁用或无效|关联需求:UI-SPEC-SPD-PRODM-018
- **TP_PRODM_DIQ_023**(中)|末页下一页不可用|验证要点:最后一页时「下一页」禁用或无效|关联需求:UI-SPEC-SPD-PRODM-018
#### 异常验证点
- **TP_PRODM_DIQ_024**(低)|跳至非数字页码|验证要点:非法输入不跳转异常页|关联需求:UI-SPEC-SPD-PRODM-018
#### 集成验证点
- **TP_PRODM_DIQ_025**(中)|翻页不丢失筛选|验证要点:带筛选翻页后条件保持,新页仍满足原筛选|关联需求:UI-SPEC-SPD-PRODM-018
---
### 导出
#### 功能验证点
- **TP_PRODM_DIQ_026**(高)|当前查询条件下导出|验证要点:先查询再导出;无报错。默认不校验文件内容|关联需求:UI-SPEC-SPD-PRODM-018
#### 边界验证点
- **TP_PRODM_DIQ_027**(低)|无数据时导出|验证要点:空列表导出不报错或有明确提示|关联需求:UI-SPEC-SPD-PRODM-018
#### 异常验证点
- 无(已并入:导出失败见写操作失败提示)
#### 集成验证点
- 无(已并入:导入模板与导出关系见写操作点)
---
### 与同组产品管理页差异
#### 功能验证点
- **TP_PRODM_DIQ_028**(中)|本页独有列与能力|验证要点:DI 只读查询;勿与「产品DI变更」混淆;与同组它页切换后列集/工具栏差异可辨识|关联需求:UI-SPEC-SPD-PRODM-018
#### 边界验证点
- **TP_PRODM_DIQ_029**(低)|直链不误展示它页列|验证要点:仅打开本页 URL `/spd/basic/goods/platform/diSearch` 时不应出现它页独有工具栏(如错页 Tab)|关联需求:UI-SPEC-SPD-PRODM-018
#### 异常验证点
- **TP_PRODM_DIQ_030**(中)|菜单高亮与 URL 一致|验证要点:左侧高亮菜单名、顶栏 Tab 与地址栏路径同属本页,非兄弟页 URL|关联需求:UI-SPEC-SPD-PRODM-018
#### 集成验证点
- **TP_PRODM_DIQ_031**(低)|跨页数据不串行|验证要点:从本页切至它页再返回,本页筛选/列表恢复为本页数据域,不残留它页查询条件(以现网为准)|关联需求:UI-SPEC-SPD-PRODM-018
---
## 质量自检摘要
| 项 | 结论 |
|----|------|
| 范围 | 在范围内:导航、筛选展开、列表分页、导出、DI 详情。排除:断网/弱网、导出文件内容、弹窗全字段落库、登录/改密通用流程(见 `testpoint/scope/基础管理-产品管理-UI测试点范围.md`)。未声称 100% 全覆盖。 |
| 范围外未覆盖 | 全局左侧菜单与顶栏导航噪声、导出/打印文件字节内容、弹窗/抽屉全字段组合与真实落库、断网/弱网 |
| 覆盖 | 已写功能域见正文 H3;共 **31** 条原子测试点;扫描元素约 127 项 |
| 分类 | 功能 / 边界 / 异常 / 集成四类均已按功能点拆分 |
| 去重 | 登录态过期、无菜单权限、改密引用 `TP_USER_USR_006`/`007`,本页不展开。编号前缀 `TP_PRODM_DIQ` |
| 待评审项 | 写操作冒烟不提交脏数据;筛选收起后字段是否保留;部分详情层标题可能受顶栏 Tab 干扰需现网复核;页面无列头 sorter(自检);页面无列设置齿轮(自检);页面无宽表启发式,未写横向滚动(自检);有每页条数下拉:已写「切换每页条数」 |
| 功能点拆分 | 未使用「筛选与查询 / 列表与分页」;快捷与高级筛选分开;有展开则单开查询条件展开收起;列表→分页→导出;写操作 H3 用业务名 |
| 报表能力 | 整页渲染,非统计报表 iframe 第四节清单 |
| 列排序下游 | 页面无列头 sorter(自检);建议 `audit-sort-columns-live` 维护 `data/spd-admin-sort-columns.json` |
| 分页每页条数 | 有每页条数下拉:已写「切换每页条数」 |
| 下游 | 可转 testcases/MD、CSV;扫描 `npm run discover:scan-prodm`;overlay `npm run discover:scan-prodm-overlays`;测试点 `npm run generate:testpoints-prodm` |
# 基础管理-产品管理-产品供应关系维护 — 测试点分析
**版本**:01
**定稿日期**:2026-11-04
**关联需求**:`knowledge-base/08-UI专项规范库/UI-SPEC-SPD-PRODM-005.md`
**页面 URL**:`http://spdtest.cmic.com.cn:8080/spd/basic/goods/paltform/purchases/calatog`
**元素扫描**:`data/scan/prodm-supply-elements.json`(2537 项)
**定位器**:`locators/spd/prodm-supply.locator.yaml`
**本次生成范围**:`testpoint/scope/基础管理-产品管理-UI测试点范围.md`
---
## 基础设置 · 产品管理 · 产品供应关系维护
### 页面访问与导航
#### 功能验证点
- **TP_PRODM_SUP_001**(高)|页面主区加载完成|验证要点:携带有效登录态进入 `/spd/basic/goods/paltform/purchases/calatog`(菜单或直链),供应关系筛选、新增/导出/导入、列表与详情/编辑;左侧菜单与顶栏 Tab 高亮为产品供应关系维护,不误入同组其它产品管理页|关联需求:UI-SPEC-SPD-PRODM-005
- **TP_PRODM_SUP_002**(中)|同组产品管理菜单可切换|验证要点:在 scope 所列产品管理 26 个子菜单中切换 2~3 个后 URL 与内容对应,再返回本页状态正确|关联需求:UI-SPEC-SPD-PRODM-005
#### 边界验证点
- **TP_PRODM_SUP_003**(低)|已登录直接打开 URL|验证要点:携带有效登录态打开 `/spd/basic/goods/paltform/purchases/calatog`,筛选区与列表(或左右分栏)可见,无报错遮罩,地址仍为该路径|关联需求:UI-SPEC-SPD-PRODM-005
#### 异常验证点
- 无(未登录/会话过期/无菜单权限引用用户管理 `TP_USER_USR_005`~`007`;本模块自动化不单独写「菜单进入」「未登录访问拦截」用例,见 ui-test-point-rules 3.5)
#### 集成验证点
- **TP_PRODM_SUP_004**(中)|顶栏院区与筛选默认一致|验证要点:顶栏当前院区与页面院区/库区树默认范围不矛盾(允许按权限裁剪)|关联需求:UI-SPEC-SPD-PRODM-005
---
### 左侧分类树
#### 功能验证点
- **TP_PRODM_SUP_005**(高)|树默认有选中或可展开节点|验证要点:进入后左侧分类树可见,选中或展开后右侧数据范围与节点一致|关联需求:UI-SPEC-SPD-PRODM-005
- **TP_PRODM_SUP_006**(高)|树搜索过滤|验证要点:在树顶搜索框输入编号/名称关键字,节点列表收敛为匹配项|关联需求:UI-SPEC-SPD-PRODM-005
- **TP_PRODM_SUP_007**(高)|切换树节点刷新右侧|验证要点:点选另一节点后,右侧列表/表单数据范围切换,不残留上一节点数据|关联需求:UI-SPEC-SPD-PRODM-005
#### 边界验证点
- **TP_PRODM_SUP_008**(低)|搜索无匹配|验证要点:无匹配节点时空态或提示,右侧不展示过期数据|关联需求:UI-SPEC-SPD-PRODM-005
#### 异常验证点
- **TP_PRODM_SUP_009**(中)|树加载失败|验证要点:失败有提示,不把其它节点数据展示为当前节点成功态|关联需求:UI-SPEC-SPD-PRODM-005
#### 集成验证点
- **TP_PRODM_SUP_010**(中)|树节点与院区主数据一致|验证要点:节点名称/编码与科室登记等主数据一致(允许权限裁剪)|关联需求:UI-SPEC-SPD-PRODM-005
---
### 快捷筛选查询
#### 功能验证点
- **TP_PRODM_SUP_012**(高)|全量可见条件组合查询|验证要点:只填当前结果里有值的条件;结果同时满足已填条件|关联需求:UI-SPEC-SPD-PRODM-005
- **TP_PRODM_SUP_011**(中)|快捷区重置恢复默认|验证要点:已填字段(及维度勾选)恢复默认;列表是否刷新按产品规则,未定则标待评审|关联需求:UI-SPEC-SPD-PRODM-005
#### 边界验证点
- **TP_PRODM_SUP_013**(中)|超长文本关键字|验证要点:名称/编号类字段输入较长关键字,查询被接受或截断,页面不崩溃|关联需求:UI-SPEC-SPD-PRODM-005
- **TP_PRODM_SUP_014**(低)|仅空格关键字|验证要点:按空查询或提示,不报错|关联需求:UI-SPEC-SPD-PRODM-005
#### 异常验证点
- **TP_PRODM_SUP_015**(中)|查询接口失败|验证要点:失败有错误提示,不白屏|关联需求:UI-SPEC-SPD-PRODM-005
#### 集成验证点
- **TP_PRODM_SUP_016**(中)|筛选结果与分页总数一致|验证要点:查询后「共 N 条」与本次查询匹配条数一致|关联需求:UI-SPEC-SPD-PRODM-005
---
### 列表
#### 功能验证点
- **TP_PRODM_SUP_022**(高)|列表核心列完整|验证要点:主表展示 产品、供应商/销售商、供应关系字段(以现网为准)|关联需求:UI-SPEC-SPD-PRODM-005
- **TP_PRODM_SUP_023**(中)|各可排序列升序降序|验证要点:每个带排序器的列均可升序、再降序;指示器(▲/▼ 或 aria-sort)与方向一致;列表仍有数据|关联需求:UI-SPEC-SPD-PRODM-005
- **TP_PRODM_SUP_024**(低)|列设置隐藏后再恢复|验证要点:打开列设置 → 取消勾选非核心列 → 表头隐藏且勾选同步 → 再勾选后表头恢复|关联需求:UI-SPEC-SPD-PRODM-005
#### 边界验证点
- **TP_PRODM_SUP_025**(中)|无匹配空列表|验证要点:不存在的关键字查询后表头仍在,0 行或空态;有汇总时为 0 或「-」|关联需求:UI-SPEC-SPD-PRODM-005
- **TP_PRODM_SUP_026**(中)|横向滚动与列对齐|验证要点:远侧列可进入视口;表头列数=数据列数;对齐无重叠。列名以本页为准|关联需求:UI-SPEC-SPD-PRODM-005
#### 异常验证点
- 无(已并入:列表加载失败见查询接口失败)
#### 集成验证点
- 无(已并入:行内操作见行内操作 H3 或本页无行操作)
---
### 分页
#### 功能验证点
- **TP_PRODM_SUP_027**(高)|有数据时总条数|验证要点:「共 N 条」与本次查询匹配条数一致|关联需求:UI-SPEC-SPD-PRODM-005
- **TP_PRODM_SUP_028**(高)|切换至第 2 页|验证要点:页码高亮且首行更换;不足 2 页则该点不适用|关联需求:UI-SPEC-SPD-PRODM-005
- **TP_PRODM_SUP_029**(中)|切换每页条数|验证要点:默认档位(常见 50)→「20 条/页」;共 N 条不变;当前页行数=min(N,20) 且与切换前不同(见 3.7)|关联需求:UI-SPEC-SPD-PRODM-005
#### 边界验证点
- **TP_PRODM_SUP_030**(中)|首页上一页不可用|验证要点:第 1 页时「上一页」禁用或无效|关联需求:UI-SPEC-SPD-PRODM-005
- **TP_PRODM_SUP_031**(中)|末页下一页不可用|验证要点:最后一页时「下一页」禁用或无效|关联需求:UI-SPEC-SPD-PRODM-005
#### 异常验证点
- **TP_PRODM_SUP_032**(低)|跳至非数字页码|验证要点:非法输入不跳转异常页|关联需求:UI-SPEC-SPD-PRODM-005
#### 集成验证点
- **TP_PRODM_SUP_033**(中)|翻页不丢失筛选|验证要点:带筛选翻页后条件保持,新页仍满足原筛选|关联需求:UI-SPEC-SPD-PRODM-005
---
### 行内操作
#### 功能验证点
- **TP_PRODM_SUP_017**(高)|行内「详情」可达|验证要点:首行有数据时点「详情」有反馈或进入预期层(只读冒烟,不写外围回写)|关联需求:UI-SPEC-SPD-PRODM-005
- **TP_PRODM_SUP_018**(高)|行内「编辑」可达|验证要点:首行有数据时点「编辑」有反馈或进入预期层(只读冒烟,不写外围回写)|关联需求:UI-SPEC-SPD-PRODM-005
#### 边界验证点
- **TP_PRODM_SUP_019**(低)|末行或无数据|验证要点:无数据时空态,行内按钮不可用或不可见(以现网为准)|关联需求:UI-SPEC-SPD-PRODM-005
#### 异常验证点
- **TP_PRODM_SUP_020**(中)|操作失败提示|验证要点:接口失败时有提示,列表行状态不误改为成功|关联需求:UI-SPEC-SPD-PRODM-005
#### 集成验证点
- **TP_PRODM_SUP_021**(低)|一对多备注|验证要点:下游用例可按每个行内操作各拆一条;本页已按操作拆功能点|关联需求:UI-SPEC-SPD-PRODM-005
---
### 导出
#### 功能验证点
- **TP_PRODM_SUP_034**(高)|当前查询条件下导出|验证要点:先查询再导出;无报错。默认不校验文件内容|关联需求:UI-SPEC-SPD-PRODM-005
#### 边界验证点
- **TP_PRODM_SUP_035**(低)|无数据时导出|验证要点:空列表导出不报错或有明确提示|关联需求:UI-SPEC-SPD-PRODM-005
#### 异常验证点
- 无(已并入:导出失败见写操作失败提示)
#### 集成验证点
- 无(已并入:导入模板与导出关系见写操作点)
---
### 与同组产品管理页差异
#### 功能验证点
- **TP_PRODM_SUP_036**(中)|本页独有列与能力|验证要点:产品与供应商供应关系维护,非院区产品库区设置;与同组它页切换后列集/工具栏差异可辨识|关联需求:UI-SPEC-SPD-PRODM-005
#### 边界验证点
- **TP_PRODM_SUP_037**(低)|直链不误展示它页列|验证要点:仅打开本页 URL `/spd/basic/goods/paltform/purchases/calatog` 时不应出现它页独有工具栏(如错页 Tab)|关联需求:UI-SPEC-SPD-PRODM-005
#### 异常验证点
- **TP_PRODM_SUP_038**(中)|菜单高亮与 URL 一致|验证要点:左侧高亮菜单名、顶栏 Tab 与地址栏路径同属本页,非兄弟页 URL|关联需求:UI-SPEC-SPD-PRODM-005
#### 集成验证点
- **TP_PRODM_SUP_039**(低)|跨页数据不串行|验证要点:从本页切至它页再返回,本页筛选/列表恢复为本页数据域,不残留它页查询条件(以现网为准)|关联需求:UI-SPEC-SPD-PRODM-005
---
## 质量自检摘要
| 项 | 结论 |
|----|------|
| 范围 | 在范围内:导航、筛选、列表分页、导出导入、行内详情。排除:断网/弱网、导出文件内容、弹窗全字段落库、登录/改密通用流程(见 `testpoint/scope/基础管理-产品管理-UI测试点范围.md`)。未声称 100% 全覆盖。 |
| 范围外未覆盖 | 全局左侧菜单与顶栏导航噪声、导出/打印文件字节内容、弹窗/抽屉全字段组合与真实落库、断网/弱网 |
| 覆盖 | 已写功能域见正文 H3;共 **39** 条原子测试点;扫描元素约 2537 项 |
| 分类 | 功能 / 边界 / 异常 / 集成四类均已按功能点拆分 |
| 去重 | 登录态过期、无菜单权限、改密引用 `TP_USER_USR_006`/`007`,本页不展开。编号前缀 `TP_PRODM_SUP` |
| 待评审项 | 写操作冒烟不提交脏数据;筛选收起后字段是否保留;部分详情层标题可能受顶栏 Tab 干扰需现网复核;有 sorter:列表 H3 已写「各可排序列升序降序」;下游按 3.6 每列一条;有列设置:列表 H3 已写「列设置隐藏后再恢复」;宽表已写「横向滚动与列对齐」;有每页条数下拉:已写「切换每页条数」 |
| 功能点拆分 | 未使用「筛选与查询 / 列表与分页」;快捷与高级筛选分开;有展开则单开查询条件展开收起;列表→分页→导出;写操作 H3 用业务名 |
| 报表能力 | 整页渲染,非统计报表 iframe 第四节清单 |
| 列排序下游 | 有 sorter:列表 H3 已写「各可排序列升序降序」;下游按 3.6 每列一条;建议 `audit-sort-columns-live` 维护 `data/spd-admin-sort-columns.json` |
| 分页每页条数 | 有每页条数下拉:已写「切换每页条数」 |
| 下游 | 可转 testcases/MD、CSV;扫描 `npm run discover:scan-prodm`;overlay `npm run discover:scan-prodm-overlays`;测试点 `npm run generate:testpoints-prodm` |
# 基础管理-产品管理-产品信息变更 — 测试点分析
**版本**:01
**定稿日期**:2026-11-04
**关联需求**:`knowledge-base/08-UI专项规范库/UI-SPEC-SPD-PRODM-014.md`
**页面 URL**:`http://spdtest.cmic.com.cn:8080/spd/basic/goods/platform/product-info`
**元素扫描**:`data/scan/prodm-info-change-elements.json`(185 项)
**定位器**:`locators/spd/prodm-info-change.locator.yaml`
**本次生成范围**:`testpoint/scope/基础管理-产品管理-UI测试点范围.md`
---
## 基础设置 · 产品管理 · 产品信息变更
### 页面访问与导航
#### 功能验证点
- **TP_PRODM_ICH_001**(高)|页面主区加载完成|验证要点:携带有效登录态进入 `/spd/basic/goods/platform/product-info`(菜单或直链),筛选+高级筛选、新增、变更单列表与详情/打印/编辑;左侧菜单与顶栏 Tab 高亮为产品信息变更,不误入同组其它产品管理页|关联需求:UI-SPEC-SPD-PRODM-014
- **TP_PRODM_ICH_002**(中)|同组产品管理菜单可切换|验证要点:在 scope 所列产品管理 26 个子菜单中切换 2~3 个后 URL 与内容对应,再返回本页状态正确|关联需求:UI-SPEC-SPD-PRODM-014
#### 边界验证点
- **TP_PRODM_ICH_003**(低)|已登录直接打开 URL|验证要点:携带有效登录态打开 `/spd/basic/goods/platform/product-info`,筛选区与列表(或左右分栏)可见,无报错遮罩,地址仍为该路径|关联需求:UI-SPEC-SPD-PRODM-014
#### 异常验证点
- 无(未登录/会话过期/无菜单权限引用用户管理 `TP_USER_USR_005`~`007`;本模块自动化不单独写「菜单进入」「未登录访问拦截」用例,见 ui-test-point-rules 3.5)
#### 集成验证点
- **TP_PRODM_ICH_004**(中)|顶栏院区与筛选默认一致|验证要点:顶栏当前院区与页面院区/库区树默认范围不矛盾(允许按权限裁剪)|关联需求:UI-SPEC-SPD-PRODM-014
---
### 快捷筛选查询
#### 功能验证点
- **TP_PRODM_ICH_005**(中)|快捷区重置恢复默认|验证要点:已填字段(及维度勾选)恢复默认;列表是否刷新按产品规则,未定则标待评审|关联需求:UI-SPEC-SPD-PRODM-014
#### 边界验证点
- **TP_PRODM_ICH_006**(中)|超长文本关键字|验证要点:名称/编号类字段输入较长关键字,查询被接受或截断,页面不崩溃|关联需求:UI-SPEC-SPD-PRODM-014
- **TP_PRODM_ICH_007**(低)|仅空格关键字|验证要点:按空查询或提示,不报错|关联需求:UI-SPEC-SPD-PRODM-014
#### 异常验证点
- **TP_PRODM_ICH_008**(中)|查询接口失败|验证要点:失败有错误提示,不白屏|关联需求:UI-SPEC-SPD-PRODM-014
#### 集成验证点
- **TP_PRODM_ICH_009**(中)|筛选结果与分页总数一致|验证要点:查询后「共 N 条」与本次查询匹配条数一致|关联需求:UI-SPEC-SPD-PRODM-014
---
### 高级筛选抽屉
#### 功能验证点
- **TP_PRODM_ICH_010**(高)|点击高级筛选打开抽屉|验证要点:标题为「高级筛选」;关键字段可交互|关联需求:UI-SPEC-SPD-PRODM-014
- **TP_PRODM_ICH_011**(中)|抽屉内重置恢复默认|验证要点:抽屉字段恢复默认,快捷区不被清空|关联需求:UI-SPEC-SPD-PRODM-014
- **TP_PRODM_ICH_012**(高)|全量查询条件组合查询|验证要点:快捷区 +(有则)维度勾选 + 抽屉全填样本非空字段;抽样首行同时满足全部已填条件|关联需求:UI-SPEC-SPD-PRODM-014
#### 边界验证点
- 无(已并入:高级筛选字段边界见快捷区同类规则)
#### 异常验证点
- 无(已并入:高级筛选接口失败归入查询接口失败)
#### 集成验证点
- **TP_PRODM_ICH_013**(中)|高级筛选带入|验证要点:快捷区同名字段带入抽屉且不手改,与快捷区一致(可选,见 rules 3.3)|关联需求:UI-SPEC-SPD-PRODM-014
---
### 列表
#### 功能验证点
- **TP_PRODM_ICH_020**(高)|列表核心列完整|验证要点:主表展示 单号、制单时间、状态、变更摘要等(以现网为准)|关联需求:UI-SPEC-SPD-PRODM-014
- **TP_PRODM_ICH_021**(低)|列设置隐藏后再恢复|验证要点:打开列设置 → 取消勾选非核心列 → 表头隐藏且勾选同步 → 再勾选后表头恢复|关联需求:UI-SPEC-SPD-PRODM-014
#### 边界验证点
- **TP_PRODM_ICH_022**(中)|无匹配空列表|验证要点:不存在的关键字查询后表头仍在,0 行或空态;有汇总时为 0 或「-」|关联需求:UI-SPEC-SPD-PRODM-014
- **TP_PRODM_ICH_023**(中)|横向滚动与列对齐|验证要点:远侧列可进入视口;表头列数=数据列数;对齐无重叠。列名以本页为准|关联需求:UI-SPEC-SPD-PRODM-014
#### 异常验证点
- 无(已并入:列表加载失败见查询接口失败)
#### 集成验证点
- 无(已并入:行内操作见行内操作 H3 或本页无行操作)
---
### 分页
#### 功能验证点
- **TP_PRODM_ICH_024**(高)|有数据时总条数|验证要点:「共 N 条」与本次查询匹配条数一致|关联需求:UI-SPEC-SPD-PRODM-014
- **TP_PRODM_ICH_025**(高)|切换至第 2 页|验证要点:页码高亮且首行更换;不足 2 页则该点不适用|关联需求:UI-SPEC-SPD-PRODM-014
- **TP_PRODM_ICH_026**(中)|切换每页条数|验证要点:默认档位(常见 50)→「20 条/页」;共 N 条不变;当前页行数=min(N,20) 且与切换前不同(见 3.7)|关联需求:UI-SPEC-SPD-PRODM-014
#### 边界验证点
- **TP_PRODM_ICH_027**(中)|首页上一页不可用|验证要点:第 1 页时「上一页」禁用或无效|关联需求:UI-SPEC-SPD-PRODM-014
- **TP_PRODM_ICH_028**(中)|末页下一页不可用|验证要点:最后一页时「下一页」禁用或无效|关联需求:UI-SPEC-SPD-PRODM-014
#### 异常验证点
- **TP_PRODM_ICH_029**(低)|跳至非数字页码|验证要点:非法输入不跳转异常页|关联需求:UI-SPEC-SPD-PRODM-014
#### 集成验证点
- **TP_PRODM_ICH_030**(中)|翻页不丢失筛选|验证要点:带筛选翻页后条件保持,新页仍满足原筛选|关联需求:UI-SPEC-SPD-PRODM-014
---
### 行内操作
#### 功能验证点
- **TP_PRODM_ICH_014**(高)|行内「详情」可达|验证要点:首行有数据时点「详情」有反馈或进入预期层(只读冒烟,不写外围回写)|关联需求:UI-SPEC-SPD-PRODM-014
- **TP_PRODM_ICH_015**(高)|行内「编辑」可达|验证要点:首行有数据时点「编辑」有反馈或进入预期层(只读冒烟,不写外围回写)|关联需求:UI-SPEC-SPD-PRODM-014
- **TP_PRODM_ICH_016**(高)|行内「日志」可达|验证要点:首行有数据时点「日志」有反馈或进入预期层(只读冒烟,不写外围回写)|关联需求:UI-SPEC-SPD-PRODM-014
#### 边界验证点
- **TP_PRODM_ICH_017**(低)|末行或无数据|验证要点:无数据时空态,行内按钮不可用或不可见(以现网为准)|关联需求:UI-SPEC-SPD-PRODM-014
#### 异常验证点
- **TP_PRODM_ICH_018**(中)|操作失败提示|验证要点:接口失败时有提示,列表行状态不误改为成功|关联需求:UI-SPEC-SPD-PRODM-014
#### 集成验证点
- **TP_PRODM_ICH_019**(低)|一对多备注|验证要点:下游用例可按每个行内操作各拆一条;本页已按操作拆功能点|关联需求:UI-SPEC-SPD-PRODM-014
---
### 打印
#### 功能验证点
- **TP_PRODM_ICH_031**(高)|按当前条件打印|验证要点:能拉起对话框/预览/toast;无 error|关联需求:UI-SPEC-SPD-PRODM-014
#### 边界验证点
- 无(已并入:无数据打印以现网为准)
#### 异常验证点
- 无(已并入:打印失败见写操作失败提示)
#### 集成验证点
- 无(已并入:批量打印见打印 H3)
---
### 新增
#### 功能验证点
- **TP_PRODM_ICH_032**(高)|打开对应弹窗/抽屉|验证要点:触发「新增」后弹窗/抽屉可见,标题与关键字段可交互;取消不落库(范围内才写保存)|关联需求:UI-SPEC-SPD-PRODM-014
- **TP_PRODM_ICH_033**(中)|取消不落库|验证要点:填写后取消或关闭,列表不新增/不修改对应记录|关联需求:UI-SPEC-SPD-PRODM-014
#### 边界验证点
- **TP_PRODM_ICH_034**(中)|必填为空拦截|验证要点:必填项为空时确定被拦截并提示,不落库|关联需求:UI-SPEC-SPD-PRODM-014
- **TP_PRODM_ICH_035**(低)|重复打开|验证要点:连续两次打开不叠加多层遮罩|关联需求:UI-SPEC-SPD-PRODM-014
#### 异常验证点
- **TP_PRODM_ICH_036**(中)|保存失败|验证要点:接口失败时弹窗不自动关闭且列表保持原状|关联需求:UI-SPEC-SPD-PRODM-014
#### 集成验证点
- **TP_PRODM_ICH_037**(低)|弹窗字段与列表列一致|验证要点:弹窗内关键字段与列表展示字段命名一致|关联需求:UI-SPEC-SPD-PRODM-014
---
### 与同组产品管理页差异
#### 功能验证点
- **TP_PRODM_ICH_038**(中)|本页独有列与能力|验证要点:产品信息变更单;勿与「物料信息变更」「变更单明细查询」混淆;与同组它页切换后列集/工具栏差异可辨识|关联需求:UI-SPEC-SPD-PRODM-014
#### 边界验证点
- **TP_PRODM_ICH_039**(低)|直链不误展示它页列|验证要点:仅打开本页 URL `/spd/basic/goods/platform/product-info` 时不应出现它页独有工具栏(如错页 Tab)|关联需求:UI-SPEC-SPD-PRODM-014
#### 异常验证点
- **TP_PRODM_ICH_040**(中)|菜单高亮与 URL 一致|验证要点:左侧高亮菜单名、顶栏 Tab 与地址栏路径同属本页,非兄弟页 URL|关联需求:UI-SPEC-SPD-PRODM-014
#### 集成验证点
- **TP_PRODM_ICH_041**(低)|跨页数据不串行|验证要点:从本页切至它页再返回,本页筛选/列表恢复为本页数据域,不残留它页查询条件(以现网为准)|关联需求:UI-SPEC-SPD-PRODM-014
---
## 质量自检摘要
| 项 | 结论 |
|----|------|
| 范围 | 在范围内:导航、筛选、列表分页、详情。排除:断网/弱网、导出文件内容、弹窗全字段落库、登录/改密通用流程(见 `testpoint/scope/基础管理-产品管理-UI测试点范围.md`)。未声称 100% 全覆盖。 |
| 范围外未覆盖 | 全局左侧菜单与顶栏导航噪声、导出/打印文件字节内容、弹窗/抽屉全字段组合与真实落库、断网/弱网 |
| 覆盖 | 已写功能域见正文 H3;共 **41** 条原子测试点;扫描元素约 185 项 |
| 分类 | 功能 / 边界 / 异常 / 集成四类均已按功能点拆分 |
| 去重 | 登录态过期、无菜单权限、改密引用 `TP_USER_USR_006`/`007`,本页不展开。编号前缀 `TP_PRODM_ICH` |
| 待评审项 | 写操作冒烟不提交脏数据;筛选收起后字段是否保留;部分详情层标题可能受顶栏 Tab 干扰需现网复核;页面无列头 sorter(自检);有列设置:列表 H3 已写「列设置隐藏后再恢复」;宽表已写「横向滚动与列对齐」;有每页条数下拉:已写「切换每页条数」 |
| 功能点拆分 | 未使用「筛选与查询 / 列表与分页」;快捷与高级筛选分开;有展开则单开查询条件展开收起;列表→分页→导出;写操作 H3 用业务名 |
| 报表能力 | 整页渲染,非统计报表 iframe 第四节清单 |
| 列排序下游 | 页面无列头 sorter(自检);建议 `audit-sort-columns-live` 维护 `data/spd-admin-sort-columns.json` |
| 分页每页条数 | 有每页条数下拉:已写「切换每页条数」 |
| 下游 | 可转 testcases/MD、CSV;扫描 `npm run discover:scan-prodm`;overlay `npm run discover:scan-prodm-overlays`;测试点 `npm run generate:testpoints-prodm` |
# 基础管理-产品管理-产品初审核对 — 测试点分析
**版本**:01
**定稿日期**:2026-11-04
**关联需求**:`knowledge-base/08-UI专项规范库/UI-SPEC-SPD-PRODM-004.md`
**页面 URL**:`http://spdtest.cmic.com.cn:8080/spd/basic/goods/paltform/product/first`
**元素扫描**:`data/scan/prodm-first-audit-elements.json`(125 项)
**定位器**:`locators/spd/prodm-first-audit.locator.yaml`
**本次生成范围**:`testpoint/scope/基础管理-产品管理-UI测试点范围.md`
---
## 基础设置 · 产品管理 · 产品初审核对
### 页面访问与导航
#### 功能验证点
- **TP_PRODM_FAU_001**(高)|页面主区加载完成|验证要点:携带有效登录态进入 `/spd/basic/goods/paltform/product/first`(菜单或直链),筛选(可展开)、审核/导出/批量、列表与行内审核/详情;左侧菜单与顶栏 Tab 高亮为产品初审核对,不误入同组其它产品管理页|关联需求:UI-SPEC-SPD-PRODM-004
- **TP_PRODM_FAU_002**(中)|同组产品管理菜单可切换|验证要点:在 scope 所列产品管理 26 个子菜单中切换 2~3 个后 URL 与内容对应,再返回本页状态正确|关联需求:UI-SPEC-SPD-PRODM-004
#### 边界验证点
- **TP_PRODM_FAU_003**(低)|已登录直接打开 URL|验证要点:携带有效登录态打开 `/spd/basic/goods/paltform/product/first`,筛选区与列表(或左右分栏)可见,无报错遮罩,地址仍为该路径|关联需求:UI-SPEC-SPD-PRODM-004
#### 异常验证点
- 无(未登录/会话过期/无菜单权限引用用户管理 `TP_USER_USR_005`~`007`;本模块自动化不单独写「菜单进入」「未登录访问拦截」用例,见 ui-test-point-rules 3.5)
#### 集成验证点
- **TP_PRODM_FAU_004**(中)|顶栏院区与筛选默认一致|验证要点:顶栏当前院区与页面院区/库区树默认范围不矛盾(允许按权限裁剪)|关联需求:UI-SPEC-SPD-PRODM-004
---
### 快捷筛选查询
#### 功能验证点
- **TP_PRODM_FAU_006**(高)|全量可见条件组合查询|验证要点:只填当前结果里有值的条件;结果同时满足已填条件|关联需求:UI-SPEC-SPD-PRODM-004
- **TP_PRODM_FAU_005**(中)|快捷区重置恢复默认|验证要点:已填字段(及维度勾选)恢复默认;列表是否刷新按产品规则,未定则标待评审|关联需求:UI-SPEC-SPD-PRODM-004
#### 边界验证点
- **TP_PRODM_FAU_007**(中)|超长文本关键字|验证要点:名称/编号类字段输入较长关键字,查询被接受或截断,页面不崩溃|关联需求:UI-SPEC-SPD-PRODM-004
- **TP_PRODM_FAU_008**(低)|仅空格关键字|验证要点:按空查询或提示,不报错|关联需求:UI-SPEC-SPD-PRODM-004
#### 异常验证点
- **TP_PRODM_FAU_009**(中)|查询接口失败|验证要点:失败有错误提示,不白屏|关联需求:UI-SPEC-SPD-PRODM-004
#### 集成验证点
- **TP_PRODM_FAU_010**(中)|筛选结果与分页总数一致|验证要点:查询后「共 N 条」与本次查询匹配条数一致|关联需求:UI-SPEC-SPD-PRODM-004
---
### 查询条件展开收起
#### 功能验证点
- **TP_PRODM_FAU_011**(中)|展开后更多条件可见|验证要点:额外字段进入可视区且可填写、可参与查询;按钮变为「收起」|关联需求:UI-SPEC-SPD-PRODM-004
- **TP_PRODM_FAU_012**(中)|收起后额外条件隐藏且已填值保留|验证要点:折叠行隐藏;已填值不丢失;再展开后值仍在。产品未定则标待评审|关联需求:UI-SPEC-SPD-PRODM-004
#### 边界验证点
- **TP_PRODM_FAU_013**(低)|展开后无额外字段|验证要点:若产品无第二行筛选,展开为空或禁用,页面不报错|关联需求:UI-SPEC-SPD-PRODM-004
#### 异常验证点
- **TP_PRODM_FAU_014**(低)|展开态查询失败|验证要点:展开后查询失败有提示,不误展示其它页缓存列表|关联需求:UI-SPEC-SPD-PRODM-004
#### 集成验证点
- **TP_PRODM_FAU_015**(中)|展开字段与扫描一致|验证要点:展开后可见字段与 `data/scan` 记录一致,不以邻页筛选字段代替|关联需求:UI-SPEC-SPD-PRODM-004
---
### 列表
#### 功能验证点
- **TP_PRODM_FAU_022**(高)|列表核心列完整|验证要点:主表展示 物料编号、名称、规格、注册人、审核状态等(以现网为准)|关联需求:UI-SPEC-SPD-PRODM-004
#### 边界验证点
- **TP_PRODM_FAU_023**(中)|无匹配空列表|验证要点:不存在的关键字查询后表头仍在,0 行或空态;有汇总时为 0 或「-」|关联需求:UI-SPEC-SPD-PRODM-004
#### 异常验证点
- 无(已并入:列表加载失败见查询接口失败)
#### 集成验证点
- 无(已并入:行内操作见行内操作 H3 或本页无行操作)
---
### 分页
#### 功能验证点
- **TP_PRODM_FAU_024**(高)|有数据时总条数|验证要点:「共 N 条」与本次查询匹配条数一致|关联需求:UI-SPEC-SPD-PRODM-004
- **TP_PRODM_FAU_025**(高)|切换至第 2 页|验证要点:页码高亮且首行更换;不足 2 页则该点不适用|关联需求:UI-SPEC-SPD-PRODM-004
- **TP_PRODM_FAU_026**(中)|切换每页条数|验证要点:默认档位(常见 50)→「20 条/页」;共 N 条不变;当前页行数=min(N,20) 且与切换前不同(见 3.7)|关联需求:UI-SPEC-SPD-PRODM-004
#### 边界验证点
- **TP_PRODM_FAU_027**(中)|首页上一页不可用|验证要点:第 1 页时「上一页」禁用或无效|关联需求:UI-SPEC-SPD-PRODM-004
- **TP_PRODM_FAU_028**(中)|末页下一页不可用|验证要点:最后一页时「下一页」禁用或无效|关联需求:UI-SPEC-SPD-PRODM-004
#### 异常验证点
- **TP_PRODM_FAU_029**(低)|跳至非数字页码|验证要点:非法输入不跳转异常页|关联需求:UI-SPEC-SPD-PRODM-004
#### 集成验证点
- **TP_PRODM_FAU_030**(中)|翻页不丢失筛选|验证要点:带筛选翻页后条件保持,新页仍满足原筛选|关联需求:UI-SPEC-SPD-PRODM-004
---
### 行内操作
#### 功能验证点
- **TP_PRODM_FAU_016**(高)|行内「详情」可达|验证要点:首行有数据时点「详情」有反馈或进入预期层(只读冒烟,不写外围回写)|关联需求:UI-SPEC-SPD-PRODM-004
- **TP_PRODM_FAU_017**(高)|行内「审核」可达|验证要点:首行有数据时点「审核」有反馈或进入预期层(只读冒烟,不写外围回写)|关联需求:UI-SPEC-SPD-PRODM-004
- **TP_PRODM_FAU_018**(高)|行内「编辑」可达|验证要点:首行有数据时点「编辑」有反馈或进入预期层(只读冒烟,不写外围回写)|关联需求:UI-SPEC-SPD-PRODM-004
#### 边界验证点
- **TP_PRODM_FAU_019**(低)|末行或无数据|验证要点:无数据时空态,行内按钮不可用或不可见(以现网为准)|关联需求:UI-SPEC-SPD-PRODM-004
#### 异常验证点
- **TP_PRODM_FAU_020**(中)|操作失败提示|验证要点:接口失败时有提示,列表行状态不误改为成功|关联需求:UI-SPEC-SPD-PRODM-004
#### 集成验证点
- **TP_PRODM_FAU_021**(低)|一对多备注|验证要点:下游用例可按每个行内操作各拆一条;本页已按操作拆功能点|关联需求:UI-SPEC-SPD-PRODM-004
---
### 导出
#### 功能验证点
- **TP_PRODM_FAU_031**(高)|当前查询条件下导出|验证要点:先查询再导出;无报错。默认不校验文件内容|关联需求:UI-SPEC-SPD-PRODM-004
#### 边界验证点
- **TP_PRODM_FAU_032**(低)|无数据时导出|验证要点:空列表导出不报错或有明确提示|关联需求:UI-SPEC-SPD-PRODM-004
#### 异常验证点
- 无(已并入:导出失败见写操作失败提示)
#### 集成验证点
- 无(已并入:导入模板与导出关系见写操作点)
---
### 产品初审核对
#### 功能验证点
- **TP_PRODM_FAU_033**(高)|打开对应弹窗/抽屉|验证要点:触发「产品初审核对」后弹窗/抽屉可见,标题与关键字段可交互;取消不落库(范围内才写保存)|关联需求:UI-SPEC-SPD-PRODM-004
- **TP_PRODM_FAU_034**(中)|取消不落库|验证要点:填写后取消或关闭,列表不新增/不修改对应记录|关联需求:UI-SPEC-SPD-PRODM-004
#### 边界验证点
- **TP_PRODM_FAU_035**(中)|必填为空拦截|验证要点:必填项为空时确定被拦截并提示,不落库|关联需求:UI-SPEC-SPD-PRODM-004
- **TP_PRODM_FAU_036**(低)|重复打开|验证要点:连续两次打开不叠加多层遮罩|关联需求:UI-SPEC-SPD-PRODM-004
#### 异常验证点
- **TP_PRODM_FAU_037**(中)|保存失败|验证要点:接口失败时弹窗不自动关闭且列表保持原状|关联需求:UI-SPEC-SPD-PRODM-004
#### 集成验证点
- **TP_PRODM_FAU_038**(低)|弹窗字段与列表列一致|验证要点:弹窗内关键字段与列表展示字段命名一致|关联需求:UI-SPEC-SPD-PRODM-004
---
### 与同组产品管理页差异
#### 功能验证点
- **TP_PRODM_FAU_039**(中)|本页独有列与能力|验证要点:初审核对入口;勿与「产品核对重新发起」「产品物价核对」混淆;与同组它页切换后列集/工具栏差异可辨识|关联需求:UI-SPEC-SPD-PRODM-004
#### 边界验证点
- **TP_PRODM_FAU_040**(低)|直链不误展示它页列|验证要点:仅打开本页 URL `/spd/basic/goods/paltform/product/first` 时不应出现它页独有工具栏(如错页 Tab)|关联需求:UI-SPEC-SPD-PRODM-004
#### 异常验证点
- **TP_PRODM_FAU_041**(中)|菜单高亮与 URL 一致|验证要点:左侧高亮菜单名、顶栏 Tab 与地址栏路径同属本页,非兄弟页 URL|关联需求:UI-SPEC-SPD-PRODM-004
#### 集成验证点
- **TP_PRODM_FAU_042**(低)|跨页数据不串行|验证要点:从本页切至它页再返回,本页筛选/列表恢复为本页数据域,不残留它页查询条件(以现网为准)|关联需求:UI-SPEC-SPD-PRODM-004
---
## 质量自检摘要
| 项 | 结论 |
|----|------|
| 范围 | 在范围内:导航、筛选展开、列表分页、导出、审核弹窗。排除:断网/弱网、导出文件内容、弹窗全字段落库、登录/改密通用流程(见 `testpoint/scope/基础管理-产品管理-UI测试点范围.md`)。未声称 100% 全覆盖。 |
| 范围外未覆盖 | 全局左侧菜单与顶栏导航噪声、导出/打印文件字节内容、弹窗/抽屉全字段组合与真实落库、断网/弱网 |
| 覆盖 | 已写功能域见正文 H3;共 **42** 条原子测试点;扫描元素约 125 项 |
| 分类 | 功能 / 边界 / 异常 / 集成四类均已按功能点拆分 |
| 去重 | 登录态过期、无菜单权限、改密引用 `TP_USER_USR_006`/`007`,本页不展开。编号前缀 `TP_PRODM_FAU` |
| 待评审项 | 写操作冒烟不提交脏数据;筛选收起后字段是否保留;部分详情层标题可能受顶栏 Tab 干扰需现网复核;页面无列头 sorter(自检);页面无列设置齿轮(自检);页面无宽表启发式,未写横向滚动(自检);有每页条数下拉:已写「切换每页条数」 |
| 功能点拆分 | 未使用「筛选与查询 / 列表与分页」;快捷与高级筛选分开;有展开则单开查询条件展开收起;列表→分页→导出;写操作 H3 用业务名 |
| 报表能力 | 整页渲染,非统计报表 iframe 第四节清单 |
| 列排序下游 | 页面无列头 sorter(自检);建议 `audit-sort-columns-live` 维护 `data/spd-admin-sort-columns.json` |
| 分页每页条数 | 有每页条数下拉:已写「切换每页条数」 |
| 下游 | 可转 testcases/MD、CSV;扫描 `npm run discover:scan-prodm`;overlay `npm run discover:scan-prodm-overlays`;测试点 `npm run generate:testpoints-prodm` |
# 基础管理-产品管理-产品核对重新发起 — 测试点分析
**版本**:01
**定稿日期**:2026-11-04
**关联需求**:`knowledge-base/08-UI专项规范库/UI-SPEC-SPD-PRODM-001.md`
**页面 URL**:`http://spdtest.cmic.com.cn:8080/spd/basic/goods/paltform/product/check`
**元素扫描**:`data/scan/prodm-check-reinit-elements.json`(102 项)
**定位器**:`locators/spd/prodm-check-reinit.locator.yaml`
**本次生成范围**:`testpoint/scope/基础管理-产品管理-UI测试点范围.md`
---
## 基础设置 · 产品管理 · 产品核对重新发起
### 页面访问与导航
#### 功能验证点
- **TP_PRODM_CHK_001**(高)|页面主区加载完成|验证要点:携带有效登录态进入 `/spd/basic/goods/paltform/product/check`(菜单或直链),状态 Tab(全部/初审驳回/物价驳回等)、筛选(可展开)、批量重新审核/导出、列表与行内编辑可见;左侧菜单与顶栏 Tab 高亮为产品核对重新发起,不误入同组其它产品管理页|关联需求:UI-SPEC-SPD-PRODM-001
- **TP_PRODM_CHK_002**(中)|同组产品管理菜单可切换|验证要点:在 scope 所列产品管理 26 个子菜单中切换 2~3 个后 URL 与内容对应,再返回本页状态正确|关联需求:UI-SPEC-SPD-PRODM-001
#### 边界验证点
- **TP_PRODM_CHK_003**(低)|已登录直接打开 URL|验证要点:携带有效登录态打开 `/spd/basic/goods/paltform/product/check`,筛选区与列表(或左右分栏)可见,无报错遮罩,地址仍为该路径|关联需求:UI-SPEC-SPD-PRODM-001
#### 异常验证点
- 无(未登录/会话过期/无菜单权限引用用户管理 `TP_USER_USR_005`~`007`;本模块自动化不单独写「菜单进入」「未登录访问拦截」用例,见 ui-test-point-rules 3.5)
#### 集成验证点
- **TP_PRODM_CHK_004**(中)|顶栏院区与筛选默认一致|验证要点:顶栏当前院区与页面院区/库区树默认范围不矛盾(允许按权限裁剪)|关联需求:UI-SPEC-SPD-PRODM-001
---
### 快捷筛选查询
#### 功能验证点
- **TP_PRODM_CHK_006**(高)|全量可见条件组合查询|验证要点:只填当前结果里有值的条件;结果同时满足已填条件|关联需求:UI-SPEC-SPD-PRODM-001
- **TP_PRODM_CHK_005**(中)|快捷区重置恢复默认|验证要点:已填字段(及维度勾选)恢复默认;列表是否刷新按产品规则,未定则标待评审|关联需求:UI-SPEC-SPD-PRODM-001
#### 边界验证点
- **TP_PRODM_CHK_007**(中)|超长文本关键字|验证要点:名称/编号类字段输入较长关键字,查询被接受或截断,页面不崩溃|关联需求:UI-SPEC-SPD-PRODM-001
- **TP_PRODM_CHK_008**(低)|仅空格关键字|验证要点:按空查询或提示,不报错|关联需求:UI-SPEC-SPD-PRODM-001
#### 异常验证点
- **TP_PRODM_CHK_009**(中)|查询接口失败|验证要点:失败有错误提示,不白屏|关联需求:UI-SPEC-SPD-PRODM-001
#### 集成验证点
- **TP_PRODM_CHK_010**(中)|筛选结果与分页总数一致|验证要点:查询后「共 N 条」与本次查询匹配条数一致|关联需求:UI-SPEC-SPD-PRODM-001
---
### 查询条件展开收起
#### 功能验证点
- **TP_PRODM_CHK_011**(中)|展开后更多条件可见|验证要点:额外字段进入可视区且可填写、可参与查询;按钮变为「收起」|关联需求:UI-SPEC-SPD-PRODM-001
- **TP_PRODM_CHK_012**(中)|收起后额外条件隐藏且已填值保留|验证要点:折叠行隐藏;已填值不丢失;再展开后值仍在。产品未定则标待评审|关联需求:UI-SPEC-SPD-PRODM-001
#### 边界验证点
- **TP_PRODM_CHK_013**(低)|展开后无额外字段|验证要点:若产品无第二行筛选,展开为空或禁用,页面不报错|关联需求:UI-SPEC-SPD-PRODM-001
#### 异常验证点
- **TP_PRODM_CHK_014**(低)|展开态查询失败|验证要点:展开后查询失败有提示,不误展示其它页缓存列表|关联需求:UI-SPEC-SPD-PRODM-001
#### 集成验证点
- **TP_PRODM_CHK_015**(中)|展开字段与扫描一致|验证要点:展开后可见字段与 `data/scan` 记录一致,不以邻页筛选字段代替|关联需求:UI-SPEC-SPD-PRODM-001
---
### 状态 Tab
#### 功能验证点
- **TP_PRODM_CHK_016**(高)|状态 Tab 与列表一致|验证要点:切换 全部、初审驳回、物价驳回 等 Tab/分段后,列表状态列与 Tab 语义一致,Tab 计数与列表条数规则一致(以现网为准)|关联需求:UI-SPEC-SPD-PRODM-001
#### 边界验证点
- 无(已并入:Tab 边界见列表空态)
#### 异常验证点
- 无(已并入:Tab 切换失败归入列表加载失败)
#### 集成验证点
- 无(已并入:Tab 与筛选组合见快捷筛选集成点)
---
### 列表
#### 功能验证点
- **TP_PRODM_CHK_017**(高)|列表核心列完整|验证要点:主表展示 物料编号、是否植入、物料名称、器械注册人、规格型号、单位、耗材类型、销售商等(以现网为准)|关联需求:UI-SPEC-SPD-PRODM-001
#### 边界验证点
- **TP_PRODM_CHK_018**(中)|无匹配空列表|验证要点:不存在的关键字查询后表头仍在,0 行或空态;有汇总时为 0 或「-」|关联需求:UI-SPEC-SPD-PRODM-001
#### 异常验证点
- 无(已并入:列表加载失败见查询接口失败)
#### 集成验证点
- **TP_PRODM_CHK_019**(高)|行内操作可达|验证要点:首行存在数据时,行操作 编辑 可点击并进入预期弹窗/详情(只读冒烟)|关联需求:UI-SPEC-SPD-PRODM-001
---
### 分页
#### 功能验证点
- **TP_PRODM_CHK_020**(高)|有数据时总条数|验证要点:「共 N 条」与本次查询匹配条数一致|关联需求:UI-SPEC-SPD-PRODM-001
- **TP_PRODM_CHK_021**(高)|切换至第 2 页|验证要点:页码高亮且首行更换;不足 2 页则该点不适用|关联需求:UI-SPEC-SPD-PRODM-001
- **TP_PRODM_CHK_022**(中)|切换每页条数|验证要点:默认档位(常见 50)→「20 条/页」;共 N 条不变;当前页行数=min(N,20) 且与切换前不同(见 3.7)|关联需求:UI-SPEC-SPD-PRODM-001
#### 边界验证点
- **TP_PRODM_CHK_023**(中)|首页上一页不可用|验证要点:第 1 页时「上一页」禁用或无效|关联需求:UI-SPEC-SPD-PRODM-001
- **TP_PRODM_CHK_024**(中)|末页下一页不可用|验证要点:最后一页时「下一页」禁用或无效|关联需求:UI-SPEC-SPD-PRODM-001
#### 异常验证点
- **TP_PRODM_CHK_025**(低)|跳至非数字页码|验证要点:非法输入不跳转异常页|关联需求:UI-SPEC-SPD-PRODM-001
#### 集成验证点
- **TP_PRODM_CHK_026**(中)|翻页不丢失筛选|验证要点:带筛选翻页后条件保持,新页仍满足原筛选|关联需求:UI-SPEC-SPD-PRODM-001
---
### 导出
#### 功能验证点
- **TP_PRODM_CHK_027**(高)|当前查询条件下导出|验证要点:先查询再导出;无报错。默认不校验文件内容|关联需求:UI-SPEC-SPD-PRODM-001
#### 边界验证点
- **TP_PRODM_CHK_028**(低)|无数据时导出|验证要点:空列表导出不报错或有明确提示|关联需求:UI-SPEC-SPD-PRODM-001
#### 异常验证点
- 无(已并入:导出失败见写操作失败提示)
#### 集成验证点
- 无(已并入:导入模板与导出关系见写操作点)
---
### 重新发起审核
#### 功能验证点
- **TP_PRODM_CHK_029**(高)|打开对应弹窗/抽屉|验证要点:触发「重新发起审核」后弹窗/抽屉可见,标题与关键字段可交互;取消不落库(范围内才写保存)|关联需求:UI-SPEC-SPD-PRODM-001
- **TP_PRODM_CHK_030**(中)|取消不落库|验证要点:填写后取消或关闭,列表不新增/不修改对应记录|关联需求:UI-SPEC-SPD-PRODM-001
#### 边界验证点
- **TP_PRODM_CHK_031**(中)|必填为空拦截|验证要点:必填项为空时确定被拦截并提示,不落库|关联需求:UI-SPEC-SPD-PRODM-001
- **TP_PRODM_CHK_032**(低)|重复打开|验证要点:连续两次打开不叠加多层遮罩|关联需求:UI-SPEC-SPD-PRODM-001
#### 异常验证点
- **TP_PRODM_CHK_033**(中)|保存失败|验证要点:接口失败时弹窗不自动关闭且列表保持原状|关联需求:UI-SPEC-SPD-PRODM-001
#### 集成验证点
- **TP_PRODM_CHK_034**(低)|弹窗字段与列表列一致|验证要点:弹窗内关键字段与列表展示字段命名一致|关联需求:UI-SPEC-SPD-PRODM-001
---
### 与同组产品管理页差异
#### 功能验证点
- **TP_PRODM_CHK_035**(中)|本页独有列与能力|验证要点:核对驳回后重新发起审核入口,非产品初审/物价核对主流程页;与同组它页切换后列集/工具栏差异可辨识|关联需求:UI-SPEC-SPD-PRODM-001
#### 边界验证点
- **TP_PRODM_CHK_036**(低)|直链不误展示它页列|验证要点:仅打开本页 URL `/spd/basic/goods/paltform/product/check` 时不应出现它页独有工具栏(如错页 Tab)|关联需求:UI-SPEC-SPD-PRODM-001
#### 异常验证点
- **TP_PRODM_CHK_037**(中)|菜单高亮与 URL 一致|验证要点:左侧高亮菜单名、顶栏 Tab 与地址栏路径同属本页,非兄弟页 URL|关联需求:UI-SPEC-SPD-PRODM-001
#### 集成验证点
- **TP_PRODM_CHK_038**(低)|跨页数据不串行|验证要点:从本页切至它页再返回,本页筛选/列表恢复为本页数据域,不残留它页查询条件(以现网为准)|关联需求:UI-SPEC-SPD-PRODM-001
---
## 质量自检摘要
| 项 | 结论 |
|----|------|
| 范围 | 在范围内:导航、状态 Tab、筛选展开、列表分页、导出、行内编辑弹窗。排除:断网/弱网、导出文件内容、弹窗全字段落库、登录/改密通用流程(见 `testpoint/scope/基础管理-产品管理-UI测试点范围.md`)。未声称 100% 全覆盖。 |
| 范围外未覆盖 | 全局左侧菜单与顶栏导航噪声、导出/打印文件字节内容、弹窗/抽屉全字段组合与真实落库、断网/弱网 |
| 覆盖 | 已写功能域见正文 H3;共 **38** 条原子测试点;扫描元素约 102 项 |
| 分类 | 功能 / 边界 / 异常 / 集成四类均已按功能点拆分 |
| 去重 | 登录态过期、无菜单权限、改密引用 `TP_USER_USR_006`/`007`,本页不展开。编号前缀 `TP_PRODM_CHK` |
| 待评审项 | 写操作冒烟不提交脏数据;筛选收起后字段是否保留;部分详情层标题可能受顶栏 Tab 干扰需现网复核;页面无列头 sorter(自检);页面无列设置齿轮(自检);页面无宽表启发式,未写横向滚动(自检);有每页条数下拉:已写「切换每页条数」 |
| 功能点拆分 | 未使用「筛选与查询 / 列表与分页」;快捷与高级筛选分开;有展开则单开查询条件展开收起;列表→分页→导出;写操作 H3 用业务名 |
| 报表能力 | 整页渲染,非统计报表 iframe 第四节清单 |
| 列排序下游 | 页面无列头 sorter(自检);建议 `audit-sort-columns-live` 维护 `data/spd-admin-sort-columns.json` |
| 分页每页条数 | 有每页条数下拉:已写「切换每页条数」 |
| 下游 | 可转 testcases/MD、CSV;扫描 `npm run discover:scan-prodm`;overlay `npm run discover:scan-prodm-overlays`;测试点 `npm run generate:testpoints-prodm` |
# 基础管理-产品管理-产品物价核对 — 测试点分析
**版本**:01
**定稿日期**:2026-11-04
**关联需求**:`knowledge-base/08-UI专项规范库/UI-SPEC-SPD-PRODM-006.md`
**页面 URL**:`http://spdtest.cmic.com.cn:8080/spd/basic/goods/paltform/product/priceCheck`
**元素扫描**:`data/scan/prodm-price-check-elements.json`(74 项)
**定位器**:`locators/spd/prodm-price-check.locator.yaml`
**本次生成范围**:`testpoint/scope/基础管理-产品管理-UI测试点范围.md`
---
## 基础设置 · 产品管理 · 产品物价核对
### 页面访问与导航
#### 功能验证点
- **TP_PRODM_PRC_001**(高)|页面主区加载完成|验证要点:携带有效登录态进入 `/spd/basic/goods/paltform/product/priceCheck`(菜单或直链),筛选(可展开)、批量是否收费/批量审核/导出、列表与行内详情/审核;左侧菜单与顶栏 Tab 高亮为产品物价核对,不误入同组其它产品管理页|关联需求:UI-SPEC-SPD-PRODM-006
- **TP_PRODM_PRC_002**(中)|同组产品管理菜单可切换|验证要点:在 scope 所列产品管理 26 个子菜单中切换 2~3 个后 URL 与内容对应,再返回本页状态正确|关联需求:UI-SPEC-SPD-PRODM-006
#### 边界验证点
- **TP_PRODM_PRC_003**(低)|已登录直接打开 URL|验证要点:携带有效登录态打开 `/spd/basic/goods/paltform/product/priceCheck`,筛选区与列表(或左右分栏)可见,无报错遮罩,地址仍为该路径|关联需求:UI-SPEC-SPD-PRODM-006
#### 异常验证点
- 无(未登录/会话过期/无菜单权限引用用户管理 `TP_USER_USR_005`~`007`;本模块自动化不单独写「菜单进入」「未登录访问拦截」用例,见 ui-test-point-rules 3.5)
#### 集成验证点
- **TP_PRODM_PRC_004**(中)|顶栏院区与筛选默认一致|验证要点:顶栏当前院区与页面院区/库区树默认范围不矛盾(允许按权限裁剪)|关联需求:UI-SPEC-SPD-PRODM-006
---
### 快捷筛选查询
#### 功能验证点
- **TP_PRODM_PRC_006**(高)|全量可见条件组合查询|验证要点:只填当前结果里有值的条件;结果同时满足已填条件|关联需求:UI-SPEC-SPD-PRODM-006
- **TP_PRODM_PRC_005**(中)|快捷区重置恢复默认|验证要点:已填字段(及维度勾选)恢复默认;列表是否刷新按产品规则,未定则标待评审|关联需求:UI-SPEC-SPD-PRODM-006
#### 边界验证点
- **TP_PRODM_PRC_007**(中)|超长文本关键字|验证要点:名称/编号类字段输入较长关键字,查询被接受或截断,页面不崩溃|关联需求:UI-SPEC-SPD-PRODM-006
- **TP_PRODM_PRC_008**(低)|仅空格关键字|验证要点:按空查询或提示,不报错|关联需求:UI-SPEC-SPD-PRODM-006
#### 异常验证点
- **TP_PRODM_PRC_009**(中)|查询接口失败|验证要点:失败有错误提示,不白屏|关联需求:UI-SPEC-SPD-PRODM-006
#### 集成验证点
- **TP_PRODM_PRC_010**(中)|筛选结果与分页总数一致|验证要点:查询后「共 N 条」与本次查询匹配条数一致|关联需求:UI-SPEC-SPD-PRODM-006
---
### 查询条件展开收起
#### 功能验证点
- **TP_PRODM_PRC_011**(中)|展开后更多条件可见|验证要点:额外字段进入可视区且可填写、可参与查询;按钮变为「收起」|关联需求:UI-SPEC-SPD-PRODM-006
- **TP_PRODM_PRC_012**(中)|收起后额外条件隐藏且已填值保留|验证要点:折叠行隐藏;已填值不丢失;再展开后值仍在。产品未定则标待评审|关联需求:UI-SPEC-SPD-PRODM-006
#### 边界验证点
- **TP_PRODM_PRC_013**(低)|展开后无额外字段|验证要点:若产品无第二行筛选,展开为空或禁用,页面不报错|关联需求:UI-SPEC-SPD-PRODM-006
#### 异常验证点
- **TP_PRODM_PRC_014**(低)|展开态查询失败|验证要点:展开后查询失败有提示,不误展示其它页缓存列表|关联需求:UI-SPEC-SPD-PRODM-006
#### 集成验证点
- **TP_PRODM_PRC_015**(中)|展开字段与扫描一致|验证要点:展开后可见字段与 `data/scan` 记录一致,不以邻页筛选字段代替|关联需求:UI-SPEC-SPD-PRODM-006
---
### 列表
#### 功能验证点
- **TP_PRODM_PRC_022**(高)|列表核心列完整|验证要点:主表展示 物料、物价/收费相关列、审核状态等(以现网为准)|关联需求:UI-SPEC-SPD-PRODM-006
#### 边界验证点
- **TP_PRODM_PRC_023**(中)|无匹配空列表|验证要点:不存在的关键字查询后表头仍在,0 行或空态;有汇总时为 0 或「-」|关联需求:UI-SPEC-SPD-PRODM-006
#### 异常验证点
- 无(已并入:列表加载失败见查询接口失败)
#### 集成验证点
- 无(已并入:行内操作见行内操作 H3 或本页无行操作)
---
### 分页
#### 功能验证点
- **TP_PRODM_PRC_024**(高)|有数据时总条数|验证要点:「共 N 条」与本次查询匹配条数一致|关联需求:UI-SPEC-SPD-PRODM-006
- **TP_PRODM_PRC_025**(高)|切换至第 2 页|验证要点:页码高亮且首行更换;不足 2 页则该点不适用|关联需求:UI-SPEC-SPD-PRODM-006
#### 边界验证点
- **TP_PRODM_PRC_026**(中)|首页上一页不可用|验证要点:第 1 页时「上一页」禁用或无效|关联需求:UI-SPEC-SPD-PRODM-006
- **TP_PRODM_PRC_027**(中)|末页下一页不可用|验证要点:最后一页时「下一页」禁用或无效|关联需求:UI-SPEC-SPD-PRODM-006
#### 异常验证点
- **TP_PRODM_PRC_028**(低)|跳至非数字页码|验证要点:非法输入不跳转异常页|关联需求:UI-SPEC-SPD-PRODM-006
#### 集成验证点
- **TP_PRODM_PRC_029**(中)|翻页不丢失筛选|验证要点:带筛选翻页后条件保持,新页仍满足原筛选|关联需求:UI-SPEC-SPD-PRODM-006
---
### 行内操作
#### 功能验证点
- **TP_PRODM_PRC_016**(高)|行内「详情」可达|验证要点:首行有数据时点「详情」有反馈或进入预期层(只读冒烟,不写外围回写)|关联需求:UI-SPEC-SPD-PRODM-006
- **TP_PRODM_PRC_017**(高)|行内「审核」可达|验证要点:首行有数据时点「审核」有反馈或进入预期层(只读冒烟,不写外围回写)|关联需求:UI-SPEC-SPD-PRODM-006
- **TP_PRODM_PRC_018**(高)|行内「编辑」可达|验证要点:首行有数据时点「编辑」有反馈或进入预期层(只读冒烟,不写外围回写)|关联需求:UI-SPEC-SPD-PRODM-006
#### 边界验证点
- **TP_PRODM_PRC_019**(低)|末行或无数据|验证要点:无数据时空态,行内按钮不可用或不可见(以现网为准)|关联需求:UI-SPEC-SPD-PRODM-006
#### 异常验证点
- **TP_PRODM_PRC_020**(中)|操作失败提示|验证要点:接口失败时有提示,列表行状态不误改为成功|关联需求:UI-SPEC-SPD-PRODM-006
#### 集成验证点
- **TP_PRODM_PRC_021**(低)|一对多备注|验证要点:下游用例可按每个行内操作各拆一条;本页已按操作拆功能点|关联需求:UI-SPEC-SPD-PRODM-006
---
### 导出
#### 功能验证点
- **TP_PRODM_PRC_030**(高)|当前查询条件下导出|验证要点:先查询再导出;无报错。默认不校验文件内容|关联需求:UI-SPEC-SPD-PRODM-006
#### 边界验证点
- **TP_PRODM_PRC_031**(低)|无数据时导出|验证要点:空列表导出不报错或有明确提示|关联需求:UI-SPEC-SPD-PRODM-006
#### 异常验证点
- 无(已并入:导出失败见写操作失败提示)
#### 集成验证点
- 无(已并入:导入模板与导出关系见写操作点)
---
### 批量审核
#### 功能验证点
- **TP_PRODM_PRC_032**(高)|打开对应弹窗/抽屉|验证要点:触发「批量审核」后弹窗/抽屉可见,标题与关键字段可交互;取消不落库(范围内才写保存)|关联需求:UI-SPEC-SPD-PRODM-006
- **TP_PRODM_PRC_033**(中)|取消不落库|验证要点:填写后取消或关闭,列表不新增/不修改对应记录|关联需求:UI-SPEC-SPD-PRODM-006
#### 边界验证点
- **TP_PRODM_PRC_034**(中)|必填为空拦截|验证要点:必填项为空时确定被拦截并提示,不落库|关联需求:UI-SPEC-SPD-PRODM-006
- **TP_PRODM_PRC_035**(低)|重复打开|验证要点:连续两次打开不叠加多层遮罩|关联需求:UI-SPEC-SPD-PRODM-006
#### 异常验证点
- **TP_PRODM_PRC_036**(中)|保存失败|验证要点:接口失败时弹窗不自动关闭且列表保持原状|关联需求:UI-SPEC-SPD-PRODM-006
#### 集成验证点
- **TP_PRODM_PRC_037**(低)|弹窗字段与列表列一致|验证要点:弹窗内关键字段与列表展示字段命名一致|关联需求:UI-SPEC-SPD-PRODM-006
---
### 批量是否收费
#### 功能验证点
- **TP_PRODM_PRC_038**(高)|打开对应弹窗/抽屉|验证要点:触发「批量是否收费」后弹窗/抽屉可见,标题与关键字段可交互;取消不落库(范围内才写保存)|关联需求:UI-SPEC-SPD-PRODM-006
- **TP_PRODM_PRC_039**(中)|取消不落库|验证要点:填写后取消或关闭,列表不新增/不修改对应记录|关联需求:UI-SPEC-SPD-PRODM-006
#### 边界验证点
- **TP_PRODM_PRC_040**(中)|必填为空拦截|验证要点:必填项为空时确定被拦截并提示,不落库|关联需求:UI-SPEC-SPD-PRODM-006
- **TP_PRODM_PRC_041**(低)|重复打开|验证要点:连续两次打开不叠加多层遮罩|关联需求:UI-SPEC-SPD-PRODM-006
#### 异常验证点
- **TP_PRODM_PRC_042**(中)|保存失败|验证要点:接口失败时弹窗不自动关闭且列表保持原状|关联需求:UI-SPEC-SPD-PRODM-006
#### 集成验证点
- **TP_PRODM_PRC_043**(低)|弹窗字段与列表列一致|验证要点:弹窗内关键字段与列表展示字段命名一致|关联需求:UI-SPEC-SPD-PRODM-006
---
### 与同组产品管理页差异
#### 功能验证点
- **TP_PRODM_PRC_044**(中)|本页独有列与能力|验证要点:物价核对批量收费/审核;勿与初审核对或重新发起页混淆;与同组它页切换后列集/工具栏差异可辨识|关联需求:UI-SPEC-SPD-PRODM-006
#### 边界验证点
- **TP_PRODM_PRC_045**(低)|直链不误展示它页列|验证要点:仅打开本页 URL `/spd/basic/goods/paltform/product/priceCheck` 时不应出现它页独有工具栏(如错页 Tab)|关联需求:UI-SPEC-SPD-PRODM-006
#### 异常验证点
- **TP_PRODM_PRC_046**(中)|菜单高亮与 URL 一致|验证要点:左侧高亮菜单名、顶栏 Tab 与地址栏路径同属本页,非兄弟页 URL|关联需求:UI-SPEC-SPD-PRODM-006
#### 集成验证点
- **TP_PRODM_PRC_047**(低)|跨页数据不串行|验证要点:从本页切至它页再返回,本页筛选/列表恢复为本页数据域,不残留它页查询条件(以现网为准)|关联需求:UI-SPEC-SPD-PRODM-006
---
## 质量自检摘要
| 项 | 结论 |
|----|------|
| 范围 | 在范围内:导航、筛选展开、列表分页、导出、批量审核工具栏。排除:断网/弱网、导出文件内容、弹窗全字段落库、登录/改密通用流程(见 `testpoint/scope/基础管理-产品管理-UI测试点范围.md`)。未声称 100% 全覆盖。 |
| 范围外未覆盖 | 全局左侧菜单与顶栏导航噪声、导出/打印文件字节内容、弹窗/抽屉全字段组合与真实落库、断网/弱网 |
| 覆盖 | 已写功能域见正文 H3;共 **47** 条原子测试点;扫描元素约 74 项 |
| 分类 | 功能 / 边界 / 异常 / 集成四类均已按功能点拆分 |
| 去重 | 登录态过期、无菜单权限、改密引用 `TP_USER_USR_006`/`007`,本页不展开。编号前缀 `TP_PRODM_PRC` |
| 待评审项 | 写操作冒烟不提交脏数据;筛选收起后字段是否保留;部分详情层标题可能受顶栏 Tab 干扰需现网复核;页面无列头 sorter(自检);页面无列设置齿轮(自检);页面无宽表启发式,未写横向滚动(自检);页面无 size-changer,未写切换每页条数(自检) |
| 功能点拆分 | 未使用「筛选与查询 / 列表与分页」;快捷与高级筛选分开;有展开则单开查询条件展开收起;列表→分页→导出;写操作 H3 用业务名 |
| 报表能力 | 整页渲染,非统计报表 iframe 第四节清单 |
| 列排序下游 | 页面无列头 sorter(自检);建议 `audit-sort-columns-live` 维护 `data/spd-admin-sort-columns.json` |
| 分页每页条数 | 页面无 size-changer,未写切换每页条数(自检) |
| 下游 | 可转 testcases/MD、CSV;扫描 `npm run discover:scan-prodm`;overlay `npm run discover:scan-prodm-overlays`;测试点 `npm run generate:testpoints-prodm` |
# 基础管理-产品管理-产品维护 — 测试点分析
**版本**:01
**定稿日期**:2026-11-04
**关联需求**:`knowledge-base/08-UI专项规范库/UI-SPEC-SPD-PRODM-002.md`
**页面 URL**:`http://spdtest.cmic.com.cn:8080/spd/basic/goods/paltform/product/calatog`
**元素扫描**:`data/scan/prodm-maintain-elements.json`(360 项)
**定位器**:`locators/spd/prodm-maintain.locator.yaml`
**本次生成范围**:`testpoint/scope/基础管理-产品管理-UI测试点范围.md`
---
## 基础设置 · 产品管理 · 产品维护
### 页面访问与导航
#### 功能验证点
- **TP_PRODM_MNT_001**(高)|页面主区加载完成|验证要点:携带有效登录态进入 `/spd/basic/goods/paltform/product/calatog`(菜单或直链),左右分栏:左侧耗材分类树(可搜/新增分类)、右侧筛选+高级筛选、添加/导出/导入扩展属性、列表与详情;左侧菜单与顶栏 Tab 高亮为产品维护,不误入同组其它产品管理页|关联需求:UI-SPEC-SPD-PRODM-002
- **TP_PRODM_MNT_002**(中)|同组产品管理菜单可切换|验证要点:在 scope 所列产品管理 26 个子菜单中切换 2~3 个后 URL 与内容对应,再返回本页状态正确|关联需求:UI-SPEC-SPD-PRODM-002
#### 边界验证点
- **TP_PRODM_MNT_003**(低)|已登录直接打开 URL|验证要点:携带有效登录态打开 `/spd/basic/goods/paltform/product/calatog`,筛选区与列表(或左右分栏)可见,无报错遮罩,地址仍为该路径|关联需求:UI-SPEC-SPD-PRODM-002
#### 异常验证点
- 无(未登录/会话过期/无菜单权限引用用户管理 `TP_USER_USR_005`~`007`;本模块自动化不单独写「菜单进入」「未登录访问拦截」用例,见 ui-test-point-rules 3.5)
#### 集成验证点
- **TP_PRODM_MNT_004**(中)|顶栏院区与筛选默认一致|验证要点:顶栏当前院区与页面院区/库区树默认范围不矛盾(允许按权限裁剪)|关联需求:UI-SPEC-SPD-PRODM-002
---
### 左侧耗材分类树
#### 功能验证点
- **TP_PRODM_MNT_005**(高)|树默认有选中或可展开节点|验证要点:进入后左侧耗材分类树可见,选中或展开后右侧数据范围与节点一致|关联需求:UI-SPEC-SPD-PRODM-002
- **TP_PRODM_MNT_006**(高)|树搜索过滤|验证要点:在树顶搜索框输入编号/名称关键字,节点列表收敛为匹配项|关联需求:UI-SPEC-SPD-PRODM-002
- **TP_PRODM_MNT_007**(高)|切换树节点刷新右侧|验证要点:点选另一节点后,右侧列表/表单数据范围切换,不残留上一节点数据|关联需求:UI-SPEC-SPD-PRODM-002
#### 边界验证点
- **TP_PRODM_MNT_008**(低)|搜索无匹配|验证要点:无匹配节点时空态或提示,右侧不展示过期数据|关联需求:UI-SPEC-SPD-PRODM-002
#### 异常验证点
- **TP_PRODM_MNT_009**(中)|树加载失败|验证要点:失败有提示,不把其它节点数据展示为当前节点成功态|关联需求:UI-SPEC-SPD-PRODM-002
#### 集成验证点
- **TP_PRODM_MNT_010**(中)|树节点与院区主数据一致|验证要点:节点名称/编码与科室登记等主数据一致(允许权限裁剪)|关联需求:UI-SPEC-SPD-PRODM-002
---
### 快捷筛选查询
#### 功能验证点
- **TP_PRODM_MNT_011**(中)|快捷区重置恢复默认|验证要点:已填字段(及维度勾选)恢复默认;列表是否刷新按产品规则,未定则标待评审|关联需求:UI-SPEC-SPD-PRODM-002
#### 边界验证点
- **TP_PRODM_MNT_012**(中)|超长文本关键字|验证要点:名称/编号类字段输入较长关键字,查询被接受或截断,页面不崩溃|关联需求:UI-SPEC-SPD-PRODM-002
- **TP_PRODM_MNT_013**(低)|仅空格关键字|验证要点:按空查询或提示,不报错|关联需求:UI-SPEC-SPD-PRODM-002
#### 异常验证点
- **TP_PRODM_MNT_014**(中)|查询接口失败|验证要点:失败有错误提示,不白屏|关联需求:UI-SPEC-SPD-PRODM-002
#### 集成验证点
- **TP_PRODM_MNT_015**(中)|筛选结果与分页总数一致|验证要点:查询后「共 N 条」与本次查询匹配条数一致|关联需求:UI-SPEC-SPD-PRODM-002
---
### 高级筛选抽屉
#### 功能验证点
- **TP_PRODM_MNT_016**(高)|点击高级筛选打开抽屉|验证要点:标题为「高级筛选」;关键字段可交互|关联需求:UI-SPEC-SPD-PRODM-002
- **TP_PRODM_MNT_017**(中)|抽屉内重置恢复默认|验证要点:抽屉字段恢复默认,快捷区不被清空|关联需求:UI-SPEC-SPD-PRODM-002
- **TP_PRODM_MNT_018**(高)|全量查询条件组合查询|验证要点:快捷区 +(有则)维度勾选 + 抽屉全填样本非空字段;抽样首行同时满足全部已填条件|关联需求:UI-SPEC-SPD-PRODM-002
#### 边界验证点
- 无(已并入:高级筛选字段边界见快捷区同类规则)
#### 异常验证点
- 无(已并入:高级筛选接口失败归入查询接口失败)
#### 集成验证点
- **TP_PRODM_MNT_019**(中)|高级筛选带入|验证要点:快捷区同名字段带入抽屉且不手改,与快捷区一致(可选,见 rules 3.3)|关联需求:UI-SPEC-SPD-PRODM-002
---
### 列表
#### 功能验证点
- **TP_PRODM_MNT_020**(高)|列表核心列完整|验证要点:主表展示 HIS编码、阳采ID、规格型号、器械注册人、单位、耗材类型、品牌、器械注册证号等|关联需求:UI-SPEC-SPD-PRODM-002
- **TP_PRODM_MNT_021**(中)|各可排序列升序降序|验证要点:每个带排序器的列均可升序、再降序;指示器(▲/▼ 或 aria-sort)与方向一致;列表仍有数据|关联需求:UI-SPEC-SPD-PRODM-002
- **TP_PRODM_MNT_022**(低)|列设置隐藏后再恢复|验证要点:打开列设置 → 取消勾选非核心列 → 表头隐藏且勾选同步 → 再勾选后表头恢复|关联需求:UI-SPEC-SPD-PRODM-002
#### 边界验证点
- **TP_PRODM_MNT_023**(中)|无匹配空列表|验证要点:不存在的关键字查询后表头仍在,0 行或空态;有汇总时为 0 或「-」|关联需求:UI-SPEC-SPD-PRODM-002
- **TP_PRODM_MNT_024**(中)|横向滚动与列对齐|验证要点:远侧列可进入视口;表头列数=数据列数;对齐无重叠。列名以本页为准|关联需求:UI-SPEC-SPD-PRODM-002
#### 异常验证点
- 无(已并入:列表加载失败见查询接口失败)
#### 集成验证点
- **TP_PRODM_MNT_025**(高)|行内操作可达|验证要点:首行存在数据时,行操作 详情 可点击并进入预期弹窗/详情(只读冒烟)|关联需求:UI-SPEC-SPD-PRODM-002
---
### 分页
#### 功能验证点
- **TP_PRODM_MNT_026**(高)|有数据时总条数|验证要点:「共 N 条」与本次查询匹配条数一致|关联需求:UI-SPEC-SPD-PRODM-002
- **TP_PRODM_MNT_027**(高)|切换至第 2 页|验证要点:页码高亮且首行更换;不足 2 页则该点不适用|关联需求:UI-SPEC-SPD-PRODM-002
- **TP_PRODM_MNT_028**(中)|切换每页条数|验证要点:默认档位(常见 50)→「20 条/页」;共 N 条不变;当前页行数=min(N,20) 且与切换前不同(见 3.7)|关联需求:UI-SPEC-SPD-PRODM-002
#### 边界验证点
- **TP_PRODM_MNT_029**(中)|首页上一页不可用|验证要点:第 1 页时「上一页」禁用或无效|关联需求:UI-SPEC-SPD-PRODM-002
- **TP_PRODM_MNT_030**(中)|末页下一页不可用|验证要点:最后一页时「下一页」禁用或无效|关联需求:UI-SPEC-SPD-PRODM-002
#### 异常验证点
- **TP_PRODM_MNT_031**(低)|跳至非数字页码|验证要点:非法输入不跳转异常页|关联需求:UI-SPEC-SPD-PRODM-002
#### 集成验证点
- **TP_PRODM_MNT_032**(中)|翻页不丢失筛选|验证要点:带筛选翻页后条件保持,新页仍满足原筛选|关联需求:UI-SPEC-SPD-PRODM-002
---
### 导出
#### 功能验证点
- **TP_PRODM_MNT_033**(高)|当前查询条件下导出|验证要点:先查询再导出;无报错。默认不校验文件内容|关联需求:UI-SPEC-SPD-PRODM-002
#### 边界验证点
- **TP_PRODM_MNT_034**(低)|无数据时导出|验证要点:空列表导出不报错或有明确提示|关联需求:UI-SPEC-SPD-PRODM-002
#### 异常验证点
- 无(已并入:导出失败见写操作失败提示)
#### 集成验证点
- 无(已并入:导入模板与导出关系见写操作点)
---
### 分类维护
#### 功能验证点
- **TP_PRODM_MNT_035**(高)|打开对应弹窗/抽屉|验证要点:触发「分类维护」后弹窗/抽屉可见,标题与关键字段可交互;取消不落库(范围内才写保存)|关联需求:UI-SPEC-SPD-PRODM-002
- **TP_PRODM_MNT_036**(中)|取消不落库|验证要点:填写后取消或关闭,列表不新增/不修改对应记录|关联需求:UI-SPEC-SPD-PRODM-002
#### 边界验证点
- **TP_PRODM_MNT_037**(中)|必填为空拦截|验证要点:必填项为空时确定被拦截并提示,不落库|关联需求:UI-SPEC-SPD-PRODM-002
- **TP_PRODM_MNT_038**(低)|重复打开|验证要点:连续两次打开不叠加多层遮罩|关联需求:UI-SPEC-SPD-PRODM-002
#### 异常验证点
- **TP_PRODM_MNT_039**(中)|保存失败|验证要点:接口失败时弹窗不自动关闭且列表保持原状|关联需求:UI-SPEC-SPD-PRODM-002
#### 集成验证点
- **TP_PRODM_MNT_040**(低)|弹窗字段与列表列一致|验证要点:弹窗内关键字段与列表展示字段命名一致|关联需求:UI-SPEC-SPD-PRODM-002
---
### 添加
#### 功能验证点
- **TP_PRODM_MNT_041**(高)|打开对应弹窗/抽屉|验证要点:触发「添加」后弹窗/抽屉可见,标题与关键字段可交互;取消不落库(范围内才写保存)|关联需求:UI-SPEC-SPD-PRODM-002
- **TP_PRODM_MNT_042**(中)|取消不落库|验证要点:填写后取消或关闭,列表不新增/不修改对应记录|关联需求:UI-SPEC-SPD-PRODM-002
#### 边界验证点
- **TP_PRODM_MNT_043**(中)|必填为空拦截|验证要点:必填项为空时确定被拦截并提示,不落库|关联需求:UI-SPEC-SPD-PRODM-002
- **TP_PRODM_MNT_044**(低)|重复打开|验证要点:连续两次打开不叠加多层遮罩|关联需求:UI-SPEC-SPD-PRODM-002
#### 异常验证点
- **TP_PRODM_MNT_045**(中)|保存失败|验证要点:接口失败时弹窗不自动关闭且列表保持原状|关联需求:UI-SPEC-SPD-PRODM-002
#### 集成验证点
- **TP_PRODM_MNT_046**(低)|弹窗字段与列表列一致|验证要点:弹窗内关键字段与列表展示字段命名一致|关联需求:UI-SPEC-SPD-PRODM-002
---
### 与同组产品管理页差异
#### 功能验证点
- **TP_PRODM_MNT_047**(中)|本页独有列与能力|验证要点:SPD 产品目录维护 + 分类树;勿与「物料信息管理」望海物料页混淆;与同组它页切换后列集/工具栏差异可辨识|关联需求:UI-SPEC-SPD-PRODM-002
#### 边界验证点
- **TP_PRODM_MNT_048**(低)|直链不误展示它页列|验证要点:仅打开本页 URL `/spd/basic/goods/paltform/product/calatog` 时不应出现它页独有工具栏(如错页 Tab)|关联需求:UI-SPEC-SPD-PRODM-002
#### 异常验证点
- **TP_PRODM_MNT_049**(中)|菜单高亮与 URL 一致|验证要点:左侧高亮菜单名、顶栏 Tab 与地址栏路径同属本页,非兄弟页 URL|关联需求:UI-SPEC-SPD-PRODM-002
#### 集成验证点
- **TP_PRODM_MNT_050**(低)|跨页数据不串行|验证要点:从本页切至它页再返回,本页筛选/列表恢复为本页数据域,不残留它页查询条件(以现网为准)|关联需求:UI-SPEC-SPD-PRODM-002
---
## 质量自检摘要
| 项 | 结论 |
|----|------|
| 范围 | 在范围内:导航、分类树、快捷/高级筛选、列表分页、导出导入、分类维护弹窗、详情页。排除:断网/弱网、导出文件内容、弹窗全字段落库、登录/改密通用流程(见 `testpoint/scope/基础管理-产品管理-UI测试点范围.md`)。未声称 100% 全覆盖。 |
| 范围外未覆盖 | 全局左侧菜单与顶栏导航噪声、导出/打印文件字节内容、弹窗/抽屉全字段组合与真实落库、断网/弱网 |
| 覆盖 | 已写功能域见正文 H3;共 **50** 条原子测试点;扫描元素约 360 项 |
| 分类 | 功能 / 边界 / 异常 / 集成四类均已按功能点拆分 |
| 去重 | 登录态过期、无菜单权限、改密引用 `TP_USER_USR_006`/`007`,本页不展开。编号前缀 `TP_PRODM_MNT` |
| 待评审项 | 写操作冒烟不提交脏数据;筛选收起后字段是否保留;部分详情层标题可能受顶栏 Tab 干扰需现网复核;有 sorter:列表 H3 已写「各可排序列升序降序」;下游按 3.6 每列一条;有列设置:列表 H3 已写「列设置隐藏后再恢复」;宽表已写「横向滚动与列对齐」;有每页条数下拉:已写「切换每页条数」 |
| 功能点拆分 | 未使用「筛选与查询 / 列表与分页」;快捷与高级筛选分开;有展开则单开查询条件展开收起;列表→分页→导出;写操作 H3 用业务名 |
| 报表能力 | 整页渲染,非统计报表 iframe 第四节清单 |
| 列排序下游 | 有 sorter:列表 H3 已写「各可排序列升序降序」;下游按 3.6 每列一条;建议 `audit-sort-columns-live` 维护 `data/spd-admin-sort-columns.json` |
| 分页每页条数 | 有每页条数下拉:已写「切换每页条数」 |
| 下游 | 可转 testcases/MD、CSV;扫描 `npm run discover:scan-prodm`;overlay `npm run discover:scan-prodm-overlays`;测试点 `npm run generate:testpoints-prodm` |
# 基础管理-产品管理-产品资质一览 — 测试点分析
**版本**:01
**定稿日期**:2026-11-04
**关联需求**:`knowledge-base/08-UI专项规范库/UI-SPEC-SPD-PRODM-025.md`
**页面 URL**:`http://spdtest.cmic.com.cn:8080/spd/basic/goods/product/overview`
**元素扫描**:`data/scan/prodm-qual-overview-elements.json`(169 项)
**定位器**:`locators/spd/prodm-qual-overview.locator.yaml`
**本次生成范围**:`testpoint/scope/基础管理-产品管理-UI测试点范围.md`
---
## 基础设置 · 产品管理 · 产品资质一览
### 页面访问与导航
#### 功能验证点
- **TP_PRODM_QOV_001**(高)|页面主区加载完成|验证要点:携带有效登录态进入 `/spd/basic/goods/product/overview`(菜单或直链),筛选、导出、资质一览列表与资质判断结果;左侧菜单与顶栏 Tab 高亮为产品资质一览,不误入同组其它产品管理页|关联需求:UI-SPEC-SPD-PRODM-025
- **TP_PRODM_QOV_002**(中)|同组产品管理菜单可切换|验证要点:在 scope 所列产品管理 26 个子菜单中切换 2~3 个后 URL 与内容对应,再返回本页状态正确|关联需求:UI-SPEC-SPD-PRODM-025
#### 边界验证点
- **TP_PRODM_QOV_003**(低)|已登录直接打开 URL|验证要点:携带有效登录态打开 `/spd/basic/goods/product/overview`,筛选区与列表(或左右分栏)可见,无报错遮罩,地址仍为该路径|关联需求:UI-SPEC-SPD-PRODM-025
#### 异常验证点
- 无(未登录/会话过期/无菜单权限引用用户管理 `TP_USER_USR_005`~`007`;本模块自动化不单独写「菜单进入」「未登录访问拦截」用例,见 ui-test-point-rules 3.5)
#### 集成验证点
- **TP_PRODM_QOV_004**(中)|顶栏院区与筛选默认一致|验证要点:顶栏当前院区与页面院区/库区树默认范围不矛盾(允许按权限裁剪)|关联需求:UI-SPEC-SPD-PRODM-025
---
### 快捷筛选查询
#### 功能验证点
- **TP_PRODM_QOV_006**(高)|全量可见条件组合查询|验证要点:只填当前结果里有值的条件;结果同时满足已填条件|关联需求:UI-SPEC-SPD-PRODM-025
- **TP_PRODM_QOV_005**(中)|快捷区重置恢复默认|验证要点:已填字段(及维度勾选)恢复默认;列表是否刷新按产品规则,未定则标待评审|关联需求:UI-SPEC-SPD-PRODM-025
#### 边界验证点
- **TP_PRODM_QOV_007**(中)|超长文本关键字|验证要点:名称/编号类字段输入较长关键字,查询被接受或截断,页面不崩溃|关联需求:UI-SPEC-SPD-PRODM-025
- **TP_PRODM_QOV_008**(低)|仅空格关键字|验证要点:按空查询或提示,不报错|关联需求:UI-SPEC-SPD-PRODM-025
#### 异常验证点
- **TP_PRODM_QOV_009**(中)|查询接口失败|验证要点:失败有错误提示,不白屏|关联需求:UI-SPEC-SPD-PRODM-025
#### 集成验证点
- **TP_PRODM_QOV_010**(中)|筛选结果与分页总数一致|验证要点:查询后「共 N 条」与本次查询匹配条数一致|关联需求:UI-SPEC-SPD-PRODM-025
---
### 列表
#### 功能验证点
- **TP_PRODM_QOV_016**(高)|列表核心列完整|验证要点:主表展示 产品、资质齐全状态、证照相关列(以现网为准)|关联需求:UI-SPEC-SPD-PRODM-025
#### 边界验证点
- **TP_PRODM_QOV_017**(中)|无匹配空列表|验证要点:不存在的关键字查询后表头仍在,0 行或空态;有汇总时为 0 或「-」|关联需求:UI-SPEC-SPD-PRODM-025
#### 异常验证点
- 无(已并入:列表加载失败见查询接口失败)
#### 集成验证点
- 无(已并入:行内操作见行内操作 H3 或本页无行操作)
---
### 分页
#### 功能验证点
- **TP_PRODM_QOV_018**(高)|有数据时总条数|验证要点:「共 N 条」与本次查询匹配条数一致|关联需求:UI-SPEC-SPD-PRODM-025
- **TP_PRODM_QOV_019**(高)|切换至第 2 页|验证要点:页码高亮且首行更换;不足 2 页则该点不适用|关联需求:UI-SPEC-SPD-PRODM-025
- **TP_PRODM_QOV_020**(中)|切换每页条数|验证要点:默认档位(常见 50)→「20 条/页」;共 N 条不变;当前页行数=min(N,20) 且与切换前不同(见 3.7)|关联需求:UI-SPEC-SPD-PRODM-025
#### 边界验证点
- **TP_PRODM_QOV_021**(中)|首页上一页不可用|验证要点:第 1 页时「上一页」禁用或无效|关联需求:UI-SPEC-SPD-PRODM-025
- **TP_PRODM_QOV_022**(中)|末页下一页不可用|验证要点:最后一页时「下一页」禁用或无效|关联需求:UI-SPEC-SPD-PRODM-025
#### 异常验证点
- **TP_PRODM_QOV_023**(低)|跳至非数字页码|验证要点:非法输入不跳转异常页|关联需求:UI-SPEC-SPD-PRODM-025
#### 集成验证点
- **TP_PRODM_QOV_024**(中)|翻页不丢失筛选|验证要点:带筛选翻页后条件保持,新页仍满足原筛选|关联需求:UI-SPEC-SPD-PRODM-025
---
### 行内操作
#### 功能验证点
- **TP_PRODM_QOV_011**(高)|行内「详情」可达|验证要点:首行有数据时点「详情」有反馈或进入预期层(只读冒烟,不写外围回写)|关联需求:UI-SPEC-SPD-PRODM-025
- **TP_PRODM_QOV_012**(高)|行内「查看」可达|验证要点:首行有数据时点「查看」有反馈或进入预期层(只读冒烟,不写外围回写)|关联需求:UI-SPEC-SPD-PRODM-025
#### 边界验证点
- **TP_PRODM_QOV_013**(低)|末行或无数据|验证要点:无数据时空态,行内按钮不可用或不可见(以现网为准)|关联需求:UI-SPEC-SPD-PRODM-025
#### 异常验证点
- **TP_PRODM_QOV_014**(中)|操作失败提示|验证要点:接口失败时有提示,列表行状态不误改为成功|关联需求:UI-SPEC-SPD-PRODM-025
#### 集成验证点
- **TP_PRODM_QOV_015**(低)|一对多备注|验证要点:下游用例可按每个行内操作各拆一条;本页已按操作拆功能点|关联需求:UI-SPEC-SPD-PRODM-025
---
### 导出
#### 功能验证点
- **TP_PRODM_QOV_025**(高)|当前查询条件下导出|验证要点:先查询再导出;无报错。默认不校验文件内容|关联需求:UI-SPEC-SPD-PRODM-025
#### 边界验证点
- **TP_PRODM_QOV_026**(低)|无数据时导出|验证要点:空列表导出不报错或有明确提示|关联需求:UI-SPEC-SPD-PRODM-025
#### 异常验证点
- 无(已并入:导出失败见写操作失败提示)
#### 集成验证点
- 无(已并入:导入模板与导出关系见写操作点)
---
### 资质判断结果
#### 功能验证点
- **TP_PRODM_QOV_027**(高)|打开对应弹窗/抽屉|验证要点:触发「资质判断结果」后弹窗/抽屉可见,标题与关键字段可交互;取消不落库(范围内才写保存)|关联需求:UI-SPEC-SPD-PRODM-025
- **TP_PRODM_QOV_028**(中)|取消不落库|验证要点:填写后取消或关闭,列表不新增/不修改对应记录|关联需求:UI-SPEC-SPD-PRODM-025
#### 边界验证点
- **TP_PRODM_QOV_029**(中)|必填为空拦截|验证要点:必填项为空时确定被拦截并提示,不落库|关联需求:UI-SPEC-SPD-PRODM-025
- **TP_PRODM_QOV_030**(低)|重复打开|验证要点:连续两次打开不叠加多层遮罩|关联需求:UI-SPEC-SPD-PRODM-025
#### 异常验证点
- **TP_PRODM_QOV_031**(中)|保存失败|验证要点:接口失败时弹窗不自动关闭且列表保持原状|关联需求:UI-SPEC-SPD-PRODM-025
#### 集成验证点
- **TP_PRODM_QOV_032**(低)|弹窗字段与列表列一致|验证要点:弹窗内关键字段与列表展示字段命名一致|关联需求:UI-SPEC-SPD-PRODM-025
---
### 与同组产品管理页差异
#### 功能验证点
- **TP_PRODM_QOV_033**(中)|本页独有列与能力|验证要点:资质一览查询;勿与「产品资质齐全规则」配置页混淆;与同组它页切换后列集/工具栏差异可辨识|关联需求:UI-SPEC-SPD-PRODM-025
#### 边界验证点
- **TP_PRODM_QOV_034**(低)|直链不误展示它页列|验证要点:仅打开本页 URL `/spd/basic/goods/product/overview` 时不应出现它页独有工具栏(如错页 Tab)|关联需求:UI-SPEC-SPD-PRODM-025
#### 异常验证点
- **TP_PRODM_QOV_035**(中)|菜单高亮与 URL 一致|验证要点:左侧高亮菜单名、顶栏 Tab 与地址栏路径同属本页,非兄弟页 URL|关联需求:UI-SPEC-SPD-PRODM-025
#### 集成验证点
- **TP_PRODM_QOV_036**(低)|跨页数据不串行|验证要点:从本页切至它页再返回,本页筛选/列表恢复为本页数据域,不残留它页查询条件(以现网为准)|关联需求:UI-SPEC-SPD-PRODM-025
---
## 质量自检摘要
| 项 | 结论 |
|----|------|
| 范围 | 在范围内:导航、筛选、列表分页、导出、资质判断结果弹窗。排除:断网/弱网、导出文件内容、弹窗全字段落库、登录/改密通用流程(见 `testpoint/scope/基础管理-产品管理-UI测试点范围.md`)。未声称 100% 全覆盖。 |
| 范围外未覆盖 | 全局左侧菜单与顶栏导航噪声、导出/打印文件字节内容、弹窗/抽屉全字段组合与真实落库、断网/弱网 |
| 覆盖 | 已写功能域见正文 H3;共 **36** 条原子测试点;扫描元素约 169 项 |
| 分类 | 功能 / 边界 / 异常 / 集成四类均已按功能点拆分 |
| 去重 | 登录态过期、无菜单权限、改密引用 `TP_USER_USR_006`/`007`,本页不展开。编号前缀 `TP_PRODM_QOV` |
| 待评审项 | 写操作冒烟不提交脏数据;筛选收起后字段是否保留;部分详情层标题可能受顶栏 Tab 干扰需现网复核;页面无列头 sorter(自检);页面无列设置齿轮(自检);页面无宽表启发式,未写横向滚动(自检);有每页条数下拉:已写「切换每页条数」 |
| 功能点拆分 | 未使用「筛选与查询 / 列表与分页」;快捷与高级筛选分开;有展开则单开查询条件展开收起;列表→分页→导出;写操作 H3 用业务名 |
| 报表能力 | 整页渲染,非统计报表 iframe 第四节清单 |
| 列排序下游 | 页面无列头 sorter(自检);建议 `audit-sort-columns-live` 维护 `data/spd-admin-sort-columns.json` |
| 分页每页条数 | 有每页条数下拉:已写「切换每页条数」 |
| 下游 | 可转 testcases/MD、CSV;扫描 `npm run discover:scan-prodm`;overlay `npm run discover:scan-prodm-overlays`;测试点 `npm run generate:testpoints-prodm` |
# 基础管理-产品管理-产品资质齐全规则 — 测试点分析
**版本**:01
**定稿日期**:2026-11-04
**关联需求**:`knowledge-base/08-UI专项规范库/UI-SPEC-SPD-PRODM-024.md`
**页面 URL**:`http://spdtest.cmic.com.cn:8080/spd/basic/goods/product/rules`
**元素扫描**:`data/scan/prodm-qual-rule-elements.json`(70 项)
**定位器**:`locators/spd/prodm-qual-rule.locator.yaml`
**本次生成范围**:`testpoint/scope/基础管理-产品管理-UI测试点范围.md`
---
## 基础设置 · 产品管理 · 产品资质齐全规则
### 页面访问与导航
#### 功能验证点
- **TP_PRODM_QRL_001**(高)|页面主区加载完成|验证要点:携带有效登录态进入 `/spd/basic/goods/product/rules`(菜单或直链),规则筛选、新增、规则列表与编辑/详情;左侧菜单与顶栏 Tab 高亮为产品资质齐全规则,不误入同组其它产品管理页|关联需求:UI-SPEC-SPD-PRODM-024
- **TP_PRODM_QRL_002**(中)|同组产品管理菜单可切换|验证要点:在 scope 所列产品管理 26 个子菜单中切换 2~3 个后 URL 与内容对应,再返回本页状态正确|关联需求:UI-SPEC-SPD-PRODM-024
#### 边界验证点
- **TP_PRODM_QRL_003**(低)|已登录直接打开 URL|验证要点:携带有效登录态打开 `/spd/basic/goods/product/rules`,筛选区与列表(或左右分栏)可见,无报错遮罩,地址仍为该路径|关联需求:UI-SPEC-SPD-PRODM-024
#### 异常验证点
- 无(未登录/会话过期/无菜单权限引用用户管理 `TP_USER_USR_005`~`007`;本模块自动化不单独写「菜单进入」「未登录访问拦截」用例,见 ui-test-point-rules 3.5)
#### 集成验证点
- **TP_PRODM_QRL_004**(中)|顶栏院区与筛选默认一致|验证要点:顶栏当前院区与页面院区/库区树默认范围不矛盾(允许按权限裁剪)|关联需求:UI-SPEC-SPD-PRODM-024
---
### 快捷筛选查询
#### 功能验证点
- **TP_PRODM_QRL_006**(高)|全量可见条件组合查询|验证要点:只填当前结果里有值的条件;结果同时满足已填条件|关联需求:UI-SPEC-SPD-PRODM-024
- **TP_PRODM_QRL_005**(中)|快捷区重置恢复默认|验证要点:已填字段(及维度勾选)恢复默认;列表是否刷新按产品规则,未定则标待评审|关联需求:UI-SPEC-SPD-PRODM-024
#### 边界验证点
- **TP_PRODM_QRL_007**(中)|超长文本关键字|验证要点:名称/编号类字段输入较长关键字,查询被接受或截断,页面不崩溃|关联需求:UI-SPEC-SPD-PRODM-024
- **TP_PRODM_QRL_008**(低)|仅空格关键字|验证要点:按空查询或提示,不报错|关联需求:UI-SPEC-SPD-PRODM-024
#### 异常验证点
- **TP_PRODM_QRL_009**(中)|查询接口失败|验证要点:失败有错误提示,不白屏|关联需求:UI-SPEC-SPD-PRODM-024
#### 集成验证点
- **TP_PRODM_QRL_010**(中)|筛选结果与分页总数一致|验证要点:查询后「共 N 条」与本次查询匹配条数一致|关联需求:UI-SPEC-SPD-PRODM-024
---
### 列表
#### 功能验证点
- **TP_PRODM_QRL_017**(高)|列表核心列完整|验证要点:主表展示 规则名称、适用范围、齐全判定条件等(以现网为准)|关联需求:UI-SPEC-SPD-PRODM-024
#### 边界验证点
- **TP_PRODM_QRL_018**(中)|无匹配空列表|验证要点:不存在的关键字查询后表头仍在,0 行或空态;有汇总时为 0 或「-」|关联需求:UI-SPEC-SPD-PRODM-024
#### 异常验证点
- 无(已并入:列表加载失败见查询接口失败)
#### 集成验证点
- 无(已并入:行内操作见行内操作 H3 或本页无行操作)
---
### 分页
#### 功能验证点
- **TP_PRODM_QRL_019**(高)|有数据时总条数|验证要点:「共 N 条」与本次查询匹配条数一致|关联需求:UI-SPEC-SPD-PRODM-024
- **TP_PRODM_QRL_020**(高)|切换至第 2 页|验证要点:页码高亮且首行更换;不足 2 页则该点不适用|关联需求:UI-SPEC-SPD-PRODM-024
- **TP_PRODM_QRL_021**(中)|切换每页条数|验证要点:默认档位(常见 50)→「20 条/页」;共 N 条不变;当前页行数=min(N,20) 且与切换前不同(见 3.7)|关联需求:UI-SPEC-SPD-PRODM-024
#### 边界验证点
- **TP_PRODM_QRL_022**(中)|首页上一页不可用|验证要点:第 1 页时「上一页」禁用或无效|关联需求:UI-SPEC-SPD-PRODM-024
- **TP_PRODM_QRL_023**(中)|末页下一页不可用|验证要点:最后一页时「下一页」禁用或无效|关联需求:UI-SPEC-SPD-PRODM-024
#### 异常验证点
- **TP_PRODM_QRL_024**(低)|跳至非数字页码|验证要点:非法输入不跳转异常页|关联需求:UI-SPEC-SPD-PRODM-024
#### 集成验证点
- **TP_PRODM_QRL_025**(中)|翻页不丢失筛选|验证要点:带筛选翻页后条件保持,新页仍满足原筛选|关联需求:UI-SPEC-SPD-PRODM-024
---
### 行内操作
#### 功能验证点
- **TP_PRODM_QRL_011**(高)|行内「详情」可达|验证要点:首行有数据时点「详情」有反馈或进入预期层(只读冒烟,不写外围回写)|关联需求:UI-SPEC-SPD-PRODM-024
- **TP_PRODM_QRL_012**(高)|行内「编辑」可达|验证要点:首行有数据时点「编辑」有反馈或进入预期层(只读冒烟,不写外围回写)|关联需求:UI-SPEC-SPD-PRODM-024
- **TP_PRODM_QRL_013**(高)|行内「日志」可达|验证要点:首行有数据时点「日志」有反馈或进入预期层(只读冒烟,不写外围回写)|关联需求:UI-SPEC-SPD-PRODM-024
#### 边界验证点
- **TP_PRODM_QRL_014**(低)|末行或无数据|验证要点:无数据时空态,行内按钮不可用或不可见(以现网为准)|关联需求:UI-SPEC-SPD-PRODM-024
#### 异常验证点
- **TP_PRODM_QRL_015**(中)|操作失败提示|验证要点:接口失败时有提示,列表行状态不误改为成功|关联需求:UI-SPEC-SPD-PRODM-024
#### 集成验证点
- **TP_PRODM_QRL_016**(低)|一对多备注|验证要点:下游用例可按每个行内操作各拆一条;本页已按操作拆功能点|关联需求:UI-SPEC-SPD-PRODM-024
---
### 新增
#### 功能验证点
- **TP_PRODM_QRL_026**(高)|打开对应弹窗/抽屉|验证要点:触发「新增」后弹窗/抽屉可见,标题与关键字段可交互;取消不落库(范围内才写保存)|关联需求:UI-SPEC-SPD-PRODM-024
- **TP_PRODM_QRL_027**(中)|取消不落库|验证要点:填写后取消或关闭,列表不新增/不修改对应记录|关联需求:UI-SPEC-SPD-PRODM-024
#### 边界验证点
- **TP_PRODM_QRL_028**(中)|必填为空拦截|验证要点:必填项为空时确定被拦截并提示,不落库|关联需求:UI-SPEC-SPD-PRODM-024
- **TP_PRODM_QRL_029**(低)|重复打开|验证要点:连续两次打开不叠加多层遮罩|关联需求:UI-SPEC-SPD-PRODM-024
#### 异常验证点
- **TP_PRODM_QRL_030**(中)|保存失败|验证要点:接口失败时弹窗不自动关闭且列表保持原状|关联需求:UI-SPEC-SPD-PRODM-024
#### 集成验证点
- **TP_PRODM_QRL_031**(低)|弹窗字段与列表列一致|验证要点:弹窗内关键字段与列表展示字段命名一致|关联需求:UI-SPEC-SPD-PRODM-024
---
### 与同组产品管理页差异
#### 功能验证点
- **TP_PRODM_QRL_032**(中)|本页独有列与能力|验证要点:资质齐全规则配置;勿与「产品资质一览」查询页混淆;与同组它页切换后列集/工具栏差异可辨识|关联需求:UI-SPEC-SPD-PRODM-024
#### 边界验证点
- **TP_PRODM_QRL_033**(低)|直链不误展示它页列|验证要点:仅打开本页 URL `/spd/basic/goods/product/rules` 时不应出现它页独有工具栏(如错页 Tab)|关联需求:UI-SPEC-SPD-PRODM-024
#### 异常验证点
- **TP_PRODM_QRL_034**(中)|菜单高亮与 URL 一致|验证要点:左侧高亮菜单名、顶栏 Tab 与地址栏路径同属本页,非兄弟页 URL|关联需求:UI-SPEC-SPD-PRODM-024
#### 集成验证点
- **TP_PRODM_QRL_035**(低)|跨页数据不串行|验证要点:从本页切至它页再返回,本页筛选/列表恢复为本页数据域,不残留它页查询条件(以现网为准)|关联需求:UI-SPEC-SPD-PRODM-024
---
## 质量自检摘要
| 项 | 结论 |
|----|------|
| 范围 | 在范围内:导航、筛选、列表分页、新增/编辑。排除:断网/弱网、导出文件内容、弹窗全字段落库、登录/改密通用流程(见 `testpoint/scope/基础管理-产品管理-UI测试点范围.md`)。未声称 100% 全覆盖。 |
| 范围外未覆盖 | 全局左侧菜单与顶栏导航噪声、导出/打印文件字节内容、弹窗/抽屉全字段组合与真实落库、断网/弱网 |
| 覆盖 | 已写功能域见正文 H3;共 **35** 条原子测试点;扫描元素约 70 项 |
| 分类 | 功能 / 边界 / 异常 / 集成四类均已按功能点拆分 |
| 去重 | 登录态过期、无菜单权限、改密引用 `TP_USER_USR_006`/`007`,本页不展开。编号前缀 `TP_PRODM_QRL` |
| 待评审项 | 写操作冒烟不提交脏数据;筛选收起后字段是否保留;部分详情层标题可能受顶栏 Tab 干扰需现网复核;页面无列头 sorter(自检);页面无列设置齿轮(自检);页面无宽表启发式,未写横向滚动(自检);有每页条数下拉:已写「切换每页条数」 |
| 功能点拆分 | 未使用「筛选与查询 / 列表与分页」;快捷与高级筛选分开;有展开则单开查询条件展开收起;列表→分页→导出;写操作 H3 用业务名 |
| 报表能力 | 整页渲染,非统计报表 iframe 第四节清单 |
| 列排序下游 | 页面无列头 sorter(自检);建议 `audit-sort-columns-live` 维护 `data/spd-admin-sort-columns.json` |
| 分页每页条数 | 有每页条数下拉:已写「切换每页条数」 |
| 下游 | 可转 testcases/MD、CSV;扫描 `npm run discover:scan-prodm`;overlay `npm run discover:scan-prodm-overlays`;测试点 `npm run generate:testpoints-prodm` |
# 基础管理-产品管理-变更单明细查询 — 测试点分析
**版本**:01
**定稿日期**:2026-11-04
**关联需求**:`knowledge-base/08-UI专项规范库/UI-SPEC-SPD-PRODM-015.md`
**页面 URL**:`http://spdtest.cmic.com.cn:8080/spd/basic/goods/platform/change`
**元素扫描**:`data/scan/prodm-change-detail-elements.json`(106 项)
**定位器**:`locators/spd/prodm-change-detail.locator.yaml`
**本次生成范围**:`testpoint/scope/基础管理-产品管理-UI测试点范围.md`
---
## 基础设置 · 产品管理 · 变更单明细查询
### 页面访问与导航
#### 功能验证点
- **TP_PRODM_CHD_001**(高)|页面主区加载完成|验证要点:携带有效登录态进入 `/spd/basic/goods/platform/change`(菜单或直链),筛选(可展开)、导出、变更明细列表与分页;左侧菜单与顶栏 Tab 高亮为变更单明细查询,不误入同组其它产品管理页|关联需求:UI-SPEC-SPD-PRODM-015
- **TP_PRODM_CHD_002**(中)|同组产品管理菜单可切换|验证要点:在 scope 所列产品管理 26 个子菜单中切换 2~3 个后 URL 与内容对应,再返回本页状态正确|关联需求:UI-SPEC-SPD-PRODM-015
#### 边界验证点
- **TP_PRODM_CHD_003**(低)|已登录直接打开 URL|验证要点:携带有效登录态打开 `/spd/basic/goods/platform/change`,筛选区与列表(或左右分栏)可见,无报错遮罩,地址仍为该路径|关联需求:UI-SPEC-SPD-PRODM-015
#### 异常验证点
- 无(未登录/会话过期/无菜单权限引用用户管理 `TP_USER_USR_005`~`007`;本模块自动化不单独写「菜单进入」「未登录访问拦截」用例,见 ui-test-point-rules 3.5)
#### 集成验证点
- **TP_PRODM_CHD_004**(中)|顶栏院区与筛选默认一致|验证要点:顶栏当前院区与页面院区/库区树默认范围不矛盾(允许按权限裁剪)|关联需求:UI-SPEC-SPD-PRODM-015
---
### 快捷筛选查询
#### 功能验证点
- **TP_PRODM_CHD_006**(高)|全量可见条件组合查询|验证要点:只填当前结果里有值的条件;结果同时满足已填条件|关联需求:UI-SPEC-SPD-PRODM-015
- **TP_PRODM_CHD_005**(中)|快捷区重置恢复默认|验证要点:已填字段(及维度勾选)恢复默认;列表是否刷新按产品规则,未定则标待评审|关联需求:UI-SPEC-SPD-PRODM-015
#### 边界验证点
- **TP_PRODM_CHD_007**(中)|超长文本关键字|验证要点:名称/编号类字段输入较长关键字,查询被接受或截断,页面不崩溃|关联需求:UI-SPEC-SPD-PRODM-015
- **TP_PRODM_CHD_008**(低)|仅空格关键字|验证要点:按空查询或提示,不报错|关联需求:UI-SPEC-SPD-PRODM-015
#### 异常验证点
- **TP_PRODM_CHD_009**(中)|查询接口失败|验证要点:失败有错误提示,不白屏|关联需求:UI-SPEC-SPD-PRODM-015
#### 集成验证点
- **TP_PRODM_CHD_010**(中)|筛选结果与分页总数一致|验证要点:查询后「共 N 条」与本次查询匹配条数一致|关联需求:UI-SPEC-SPD-PRODM-015
---
### 查询条件展开收起
#### 功能验证点
- **TP_PRODM_CHD_011**(中)|展开后更多条件可见|验证要点:额外字段进入可视区且可填写、可参与查询;按钮变为「收起」|关联需求:UI-SPEC-SPD-PRODM-015
- **TP_PRODM_CHD_012**(中)|收起后额外条件隐藏且已填值保留|验证要点:折叠行隐藏;已填值不丢失;再展开后值仍在。产品未定则标待评审|关联需求:UI-SPEC-SPD-PRODM-015
#### 边界验证点
- **TP_PRODM_CHD_013**(低)|展开后无额外字段|验证要点:若产品无第二行筛选,展开为空或禁用,页面不报错|关联需求:UI-SPEC-SPD-PRODM-015
#### 异常验证点
- **TP_PRODM_CHD_014**(低)|展开态查询失败|验证要点:展开后查询失败有提示,不误展示其它页缓存列表|关联需求:UI-SPEC-SPD-PRODM-015
#### 集成验证点
- **TP_PRODM_CHD_015**(中)|展开字段与扫描一致|验证要点:展开后可见字段与 `data/scan` 记录一致,不以邻页筛选字段代替|关联需求:UI-SPEC-SPD-PRODM-015
---
### 列表
#### 功能验证点
- **TP_PRODM_CHD_021**(高)|列表核心列完整|验证要点:主表展示 变更单号、产品、变更字段、时间等(以现网为准)|关联需求:UI-SPEC-SPD-PRODM-015
- **TP_PRODM_CHD_022**(中)|各可排序列升序降序|验证要点:每个带排序器的列均可升序、再降序;指示器(▲/▼ 或 aria-sort)与方向一致;列表仍有数据|关联需求:UI-SPEC-SPD-PRODM-015
#### 边界验证点
- **TP_PRODM_CHD_023**(中)|无匹配空列表|验证要点:不存在的关键字查询后表头仍在,0 行或空态;有汇总时为 0 或「-」|关联需求:UI-SPEC-SPD-PRODM-015
#### 异常验证点
- 无(已并入:列表加载失败见查询接口失败)
#### 集成验证点
- 无(已并入:行内操作见行内操作 H3 或本页无行操作)
---
### 分页
#### 功能验证点
- **TP_PRODM_CHD_024**(高)|有数据时总条数|验证要点:「共 N 条」与本次查询匹配条数一致|关联需求:UI-SPEC-SPD-PRODM-015
- **TP_PRODM_CHD_025**(高)|切换至第 2 页|验证要点:页码高亮且首行更换;不足 2 页则该点不适用|关联需求:UI-SPEC-SPD-PRODM-015
- **TP_PRODM_CHD_026**(中)|切换每页条数|验证要点:默认档位(常见 50)→「20 条/页」;共 N 条不变;当前页行数=min(N,20) 且与切换前不同(见 3.7)|关联需求:UI-SPEC-SPD-PRODM-015
#### 边界验证点
- **TP_PRODM_CHD_027**(中)|首页上一页不可用|验证要点:第 1 页时「上一页」禁用或无效|关联需求:UI-SPEC-SPD-PRODM-015
- **TP_PRODM_CHD_028**(中)|末页下一页不可用|验证要点:最后一页时「下一页」禁用或无效|关联需求:UI-SPEC-SPD-PRODM-015
#### 异常验证点
- **TP_PRODM_CHD_029**(低)|跳至非数字页码|验证要点:非法输入不跳转异常页|关联需求:UI-SPEC-SPD-PRODM-015
#### 集成验证点
- **TP_PRODM_CHD_030**(中)|翻页不丢失筛选|验证要点:带筛选翻页后条件保持,新页仍满足原筛选|关联需求:UI-SPEC-SPD-PRODM-015
---
### 行内操作
#### 功能验证点
- **TP_PRODM_CHD_016**(高)|行内「详情」可达|验证要点:首行有数据时点「详情」有反馈或进入预期层(只读冒烟,不写外围回写)|关联需求:UI-SPEC-SPD-PRODM-015
- **TP_PRODM_CHD_017**(高)|行内「查看」可达|验证要点:首行有数据时点「查看」有反馈或进入预期层(只读冒烟,不写外围回写)|关联需求:UI-SPEC-SPD-PRODM-015
#### 边界验证点
- **TP_PRODM_CHD_018**(低)|末行或无数据|验证要点:无数据时空态,行内按钮不可用或不可见(以现网为准)|关联需求:UI-SPEC-SPD-PRODM-015
#### 异常验证点
- **TP_PRODM_CHD_019**(中)|操作失败提示|验证要点:接口失败时有提示,列表行状态不误改为成功|关联需求:UI-SPEC-SPD-PRODM-015
#### 集成验证点
- **TP_PRODM_CHD_020**(低)|一对多备注|验证要点:下游用例可按每个行内操作各拆一条;本页已按操作拆功能点|关联需求:UI-SPEC-SPD-PRODM-015
---
### 导出
#### 功能验证点
- **TP_PRODM_CHD_031**(高)|当前查询条件下导出|验证要点:先查询再导出;无报错。默认不校验文件内容|关联需求:UI-SPEC-SPD-PRODM-015
#### 边界验证点
- **TP_PRODM_CHD_032**(低)|无数据时导出|验证要点:空列表导出不报错或有明确提示|关联需求:UI-SPEC-SPD-PRODM-015
#### 异常验证点
- 无(已并入:导出失败见写操作失败提示)
#### 集成验证点
- 无(已并入:导入模板与导出关系见写操作点)
---
### 与同组产品管理页差异
#### 功能验证点
- **TP_PRODM_CHD_033**(中)|本页独有列与能力|验证要点:产品变更明细只读查询;勿与「物料变更单明细查询」混淆;与同组它页切换后列集/工具栏差异可辨识|关联需求:UI-SPEC-SPD-PRODM-015
#### 边界验证点
- **TP_PRODM_CHD_034**(低)|直链不误展示它页列|验证要点:仅打开本页 URL `/spd/basic/goods/platform/change` 时不应出现它页独有工具栏(如错页 Tab)|关联需求:UI-SPEC-SPD-PRODM-015
#### 异常验证点
- **TP_PRODM_CHD_035**(中)|菜单高亮与 URL 一致|验证要点:左侧高亮菜单名、顶栏 Tab 与地址栏路径同属本页,非兄弟页 URL|关联需求:UI-SPEC-SPD-PRODM-015
#### 集成验证点
- **TP_PRODM_CHD_036**(低)|跨页数据不串行|验证要点:从本页切至它页再返回,本页筛选/列表恢复为本页数据域,不残留它页查询条件(以现网为准)|关联需求:UI-SPEC-SPD-PRODM-015
---
## 质量自检摘要
| 项 | 结论 |
|----|------|
| 范围 | 在范围内:导航、筛选展开、列表分页、导出。排除:断网/弱网、导出文件内容、弹窗全字段落库、登录/改密通用流程(见 `testpoint/scope/基础管理-产品管理-UI测试点范围.md`)。未声称 100% 全覆盖。 |
| 范围外未覆盖 | 全局左侧菜单与顶栏导航噪声、导出/打印文件字节内容、弹窗/抽屉全字段组合与真实落库、断网/弱网 |
| 覆盖 | 已写功能域见正文 H3;共 **36** 条原子测试点;扫描元素约 106 项 |
| 分类 | 功能 / 边界 / 异常 / 集成四类均已按功能点拆分 |
| 去重 | 登录态过期、无菜单权限、改密引用 `TP_USER_USR_006`/`007`,本页不展开。编号前缀 `TP_PRODM_CHD` |
| 待评审项 | 写操作冒烟不提交脏数据;筛选收起后字段是否保留;部分详情层标题可能受顶栏 Tab 干扰需现网复核;有 sorter:列表 H3 已写「各可排序列升序降序」;下游按 3.6 每列一条;页面无列设置齿轮(自检);页面无宽表启发式,未写横向滚动(自检);有每页条数下拉:已写「切换每页条数」 |
| 功能点拆分 | 未使用「筛选与查询 / 列表与分页」;快捷与高级筛选分开;有展开则单开查询条件展开收起;列表→分页→导出;写操作 H3 用业务名 |
| 报表能力 | 整页渲染,非统计报表 iframe 第四节清单 |
| 列排序下游 | 有 sorter:列表 H3 已写「各可排序列升序降序」;下游按 3.6 每列一条;建议 `audit-sort-columns-live` 维护 `data/spd-admin-sort-columns.json` |
| 分页每页条数 | 有每页条数下拉:已写「切换每页条数」 |
| 下游 | 可转 testcases/MD、CSV;扫描 `npm run discover:scan-prodm`;overlay `npm run discover:scan-prodm-overlays`;测试点 `npm run generate:testpoints-prodm` |
# 基础管理-产品管理-外围系统产品变更管理 — 测试点分析
**版本**:01
**定稿日期**:2026-11-04
**关联需求**:`knowledge-base/08-UI专项规范库/UI-SPEC-SPD-PRODM-017.md`
**页面 URL**:`http://spdtest.cmic.com.cn:8080/spd/basic/goods/interface/peripheralChange`
**元素扫描**:`data/scan/prodm-peripheral-chg-elements.json`(76 项)
**定位器**:`locators/spd/prodm-peripheral-chg.locator.yaml`
**本次生成范围**:`testpoint/scope/基础管理-产品管理-UI测试点范围.md`
---
## 基础设置 · 产品管理 · 外围系统产品变更管理
### 页面访问与导航
#### 功能验证点
- **TP_PRODM_PPC_001**(高)|页面主区加载完成|验证要点:携带有效登录态进入 `/spd/basic/goods/interface/peripheralChange`(菜单或直链),筛选(可展开)、列表与处理入口;左侧菜单与顶栏 Tab 高亮为外围系统产品变更管理,不误入同组其它产品管理页|关联需求:UI-SPEC-SPD-PRODM-017
- **TP_PRODM_PPC_002**(中)|同组产品管理菜单可切换|验证要点:在 scope 所列产品管理 26 个子菜单中切换 2~3 个后 URL 与内容对应,再返回本页状态正确|关联需求:UI-SPEC-SPD-PRODM-017
#### 边界验证点
- **TP_PRODM_PPC_003**(低)|已登录直接打开 URL|验证要点:携带有效登录态打开 `/spd/basic/goods/interface/peripheralChange`,筛选区与列表(或左右分栏)可见,无报错遮罩,地址仍为该路径|关联需求:UI-SPEC-SPD-PRODM-017
#### 异常验证点
- 无(未登录/会话过期/无菜单权限引用用户管理 `TP_USER_USR_005`~`007`;本模块自动化不单独写「菜单进入」「未登录访问拦截」用例,见 ui-test-point-rules 3.5)
#### 集成验证点
- **TP_PRODM_PPC_004**(中)|顶栏院区与筛选默认一致|验证要点:顶栏当前院区与页面院区/库区树默认范围不矛盾(允许按权限裁剪)|关联需求:UI-SPEC-SPD-PRODM-017
---
### 快捷筛选查询
#### 功能验证点
- **TP_PRODM_PPC_006**(高)|全量可见条件组合查询|验证要点:只填当前结果里有值的条件;结果同时满足已填条件|关联需求:UI-SPEC-SPD-PRODM-017
- **TP_PRODM_PPC_005**(中)|快捷区重置恢复默认|验证要点:已填字段(及维度勾选)恢复默认;列表是否刷新按产品规则,未定则标待评审|关联需求:UI-SPEC-SPD-PRODM-017
#### 边界验证点
- **TP_PRODM_PPC_007**(中)|超长文本关键字|验证要点:名称/编号类字段输入较长关键字,查询被接受或截断,页面不崩溃|关联需求:UI-SPEC-SPD-PRODM-017
- **TP_PRODM_PPC_008**(低)|仅空格关键字|验证要点:按空查询或提示,不报错|关联需求:UI-SPEC-SPD-PRODM-017
#### 异常验证点
- **TP_PRODM_PPC_009**(中)|查询接口失败|验证要点:失败有错误提示,不白屏|关联需求:UI-SPEC-SPD-PRODM-017
#### 集成验证点
- **TP_PRODM_PPC_010**(中)|筛选结果与分页总数一致|验证要点:查询后「共 N 条」与本次查询匹配条数一致|关联需求:UI-SPEC-SPD-PRODM-017
---
### 查询条件展开收起
#### 功能验证点
- **TP_PRODM_PPC_011**(中)|展开后更多条件可见|验证要点:额外字段进入可视区且可填写、可参与查询;按钮变为「收起」|关联需求:UI-SPEC-SPD-PRODM-017
- **TP_PRODM_PPC_012**(中)|收起后额外条件隐藏且已填值保留|验证要点:折叠行隐藏;已填值不丢失;再展开后值仍在。产品未定则标待评审|关联需求:UI-SPEC-SPD-PRODM-017
#### 边界验证点
- **TP_PRODM_PPC_013**(低)|展开后无额外字段|验证要点:若产品无第二行筛选,展开为空或禁用,页面不报错|关联需求:UI-SPEC-SPD-PRODM-017
#### 异常验证点
- **TP_PRODM_PPC_014**(低)|展开态查询失败|验证要点:展开后查询失败有提示,不误展示其它页缓存列表|关联需求:UI-SPEC-SPD-PRODM-017
#### 集成验证点
- **TP_PRODM_PPC_015**(中)|展开字段与扫描一致|验证要点:展开后可见字段与 `data/scan` 记录一致,不以邻页筛选字段代替|关联需求:UI-SPEC-SPD-PRODM-017
---
### 列表
#### 功能验证点
- **TP_PRODM_PPC_021**(高)|列表核心列完整|验证要点:主表展示 变更类型、产品、外围字段等(以现网为准)|关联需求:UI-SPEC-SPD-PRODM-017
#### 边界验证点
- **TP_PRODM_PPC_022**(中)|无匹配空列表|验证要点:不存在的关键字查询后表头仍在,0 行或空态;有汇总时为 0 或「-」|关联需求:UI-SPEC-SPD-PRODM-017
#### 异常验证点
- 无(已并入:列表加载失败见查询接口失败)
#### 集成验证点
- 无(已并入:行内操作见行内操作 H3 或本页无行操作)
---
### 分页
#### 功能验证点
- **TP_PRODM_PPC_023**(高)|有数据时总条数|验证要点:「共 N 条」与本次查询匹配条数一致|关联需求:UI-SPEC-SPD-PRODM-017
- **TP_PRODM_PPC_024**(高)|切换至第 2 页|验证要点:页码高亮且首行更换;不足 2 页则该点不适用|关联需求:UI-SPEC-SPD-PRODM-017
- **TP_PRODM_PPC_025**(中)|切换每页条数|验证要点:默认档位(常见 50)→「20 条/页」;共 N 条不变;当前页行数=min(N,20) 且与切换前不同(见 3.7)|关联需求:UI-SPEC-SPD-PRODM-017
#### 边界验证点
- **TP_PRODM_PPC_026**(中)|首页上一页不可用|验证要点:第 1 页时「上一页」禁用或无效|关联需求:UI-SPEC-SPD-PRODM-017
- **TP_PRODM_PPC_027**(中)|末页下一页不可用|验证要点:最后一页时「下一页」禁用或无效|关联需求:UI-SPEC-SPD-PRODM-017
#### 异常验证点
- **TP_PRODM_PPC_028**(低)|跳至非数字页码|验证要点:非法输入不跳转异常页|关联需求:UI-SPEC-SPD-PRODM-017
#### 集成验证点
- **TP_PRODM_PPC_029**(中)|翻页不丢失筛选|验证要点:带筛选翻页后条件保持,新页仍满足原筛选|关联需求:UI-SPEC-SPD-PRODM-017
---
### 行内操作
#### 功能验证点
- **TP_PRODM_PPC_016**(高)|行内「详情」可达|验证要点:首行有数据时点「详情」有反馈或进入预期层(只读冒烟,不写外围回写)|关联需求:UI-SPEC-SPD-PRODM-017
- **TP_PRODM_PPC_017**(高)|行内「编辑」可达|验证要点:首行有数据时点「编辑」有反馈或进入预期层(只读冒烟,不写外围回写)|关联需求:UI-SPEC-SPD-PRODM-017
#### 边界验证点
- **TP_PRODM_PPC_018**(低)|末行或无数据|验证要点:无数据时空态,行内按钮不可用或不可见(以现网为准)|关联需求:UI-SPEC-SPD-PRODM-017
#### 异常验证点
- **TP_PRODM_PPC_019**(中)|操作失败提示|验证要点:接口失败时有提示,列表行状态不误改为成功|关联需求:UI-SPEC-SPD-PRODM-017
#### 集成验证点
- **TP_PRODM_PPC_020**(低)|一对多备注|验证要点:下游用例可按每个行内操作各拆一条;本页已按操作拆功能点|关联需求:UI-SPEC-SPD-PRODM-017
---
### 与同组产品管理页差异
#### 功能验证点
- **TP_PRODM_PPC_030**(中)|本页独有列与能力|验证要点:产品管理侧外围变更管理;勿与接口管理「外围产品变更」混淆;与同组它页切换后列集/工具栏差异可辨识|关联需求:UI-SPEC-SPD-PRODM-017
#### 边界验证点
- **TP_PRODM_PPC_031**(低)|直链不误展示它页列|验证要点:仅打开本页 URL `/spd/basic/goods/interface/peripheralChange` 时不应出现它页独有工具栏(如错页 Tab)|关联需求:UI-SPEC-SPD-PRODM-017
#### 异常验证点
- **TP_PRODM_PPC_032**(中)|菜单高亮与 URL 一致|验证要点:左侧高亮菜单名、顶栏 Tab 与地址栏路径同属本页,非兄弟页 URL|关联需求:UI-SPEC-SPD-PRODM-017
#### 集成验证点
- **TP_PRODM_PPC_033**(低)|跨页数据不串行|验证要点:从本页切至它页再返回,本页筛选/列表恢复为本页数据域,不残留它页查询条件(以现网为准)|关联需求:UI-SPEC-SPD-PRODM-017
---
## 质量自检摘要
| 项 | 结论 |
|----|------|
| 范围 | 在范围内:导航、筛选展开、列表分页、行内处理。排除:断网/弱网、导出文件内容、弹窗全字段落库、登录/改密通用流程(见 `testpoint/scope/基础管理-产品管理-UI测试点范围.md`)。未声称 100% 全覆盖。 |
| 范围外未覆盖 | 全局左侧菜单与顶栏导航噪声、导出/打印文件字节内容、弹窗/抽屉全字段组合与真实落库、断网/弱网 |
| 覆盖 | 已写功能域见正文 H3;共 **33** 条原子测试点;扫描元素约 76 项 |
| 分类 | 功能 / 边界 / 异常 / 集成四类均已按功能点拆分 |
| 去重 | 登录态过期、无菜单权限、改密引用 `TP_USER_USR_006`/`007`,本页不展开。编号前缀 `TP_PRODM_PPC` |
| 待评审项 | 写操作冒烟不提交脏数据;筛选收起后字段是否保留;部分详情层标题可能受顶栏 Tab 干扰需现网复核;页面无列头 sorter(自检);页面无列设置齿轮(自检);页面无宽表启发式,未写横向滚动(自检);有每页条数下拉:已写「切换每页条数」 |
| 功能点拆分 | 未使用「筛选与查询 / 列表与分页」;快捷与高级筛选分开;有展开则单开查询条件展开收起;列表→分页→导出;写操作 H3 用业务名 |
| 报表能力 | 整页渲染,非统计报表 iframe 第四节清单 |
| 列排序下游 | 页面无列头 sorter(自检);建议 `audit-sort-columns-live` 维护 `data/spd-admin-sort-columns.json` |
| 分页每页条数 | 有每页条数下拉:已写「切换每页条数」 |
| 下游 | 可转 testcases/MD、CSV;扫描 `npm run discover:scan-prodm`;overlay `npm run discover:scan-prodm-overlays`;测试点 `npm run generate:testpoints-prodm` |
# 基础管理-产品管理-外围系统产品新增 — 测试点分析
**版本**:01
**定稿日期**:2026-11-04
**关联需求**:`knowledge-base/08-UI专项规范库/UI-SPEC-SPD-PRODM-016.md`
**页面 URL**:`http://spdtest.cmic.com.cn:8080/spd/basic/goods/interface/peripheralSystem`
**元素扫描**:`data/scan/prodm-peripheral-add-elements.json`(94 项)
**定位器**:`locators/spd/prodm-peripheral-add.locator.yaml`
**本次生成范围**:`testpoint/scope/基础管理-产品管理-UI测试点范围.md`
---
## 基础设置 · 产品管理 · 外围系统产品新增
### 页面访问与导航
#### 功能验证点
- **TP_PRODM_PPA_001**(高)|页面主区加载完成|验证要点:携带有效登录态进入 `/spd/basic/goods/interface/peripheralSystem`(菜单或直链),筛选(可展开)、导出、批量推送、列表与详情;左侧菜单与顶栏 Tab 高亮为外围系统产品新增,不误入同组其它产品管理页|关联需求:UI-SPEC-SPD-PRODM-016
- **TP_PRODM_PPA_002**(中)|同组产品管理菜单可切换|验证要点:在 scope 所列产品管理 26 个子菜单中切换 2~3 个后 URL 与内容对应,再返回本页状态正确|关联需求:UI-SPEC-SPD-PRODM-016
#### 边界验证点
- **TP_PRODM_PPA_003**(低)|已登录直接打开 URL|验证要点:携带有效登录态打开 `/spd/basic/goods/interface/peripheralSystem`,筛选区与列表(或左右分栏)可见,无报错遮罩,地址仍为该路径|关联需求:UI-SPEC-SPD-PRODM-016
#### 异常验证点
- 无(未登录/会话过期/无菜单权限引用用户管理 `TP_USER_USR_005`~`007`;本模块自动化不单独写「菜单进入」「未登录访问拦截」用例,见 ui-test-point-rules 3.5)
#### 集成验证点
- **TP_PRODM_PPA_004**(中)|顶栏院区与筛选默认一致|验证要点:顶栏当前院区与页面院区/库区树默认范围不矛盾(允许按权限裁剪)|关联需求:UI-SPEC-SPD-PRODM-016
---
### 快捷筛选查询
#### 功能验证点
- **TP_PRODM_PPA_006**(高)|全量可见条件组合查询|验证要点:只填当前结果里有值的条件;结果同时满足已填条件|关联需求:UI-SPEC-SPD-PRODM-016
- **TP_PRODM_PPA_005**(中)|快捷区重置恢复默认|验证要点:已填字段(及维度勾选)恢复默认;列表是否刷新按产品规则,未定则标待评审|关联需求:UI-SPEC-SPD-PRODM-016
#### 边界验证点
- **TP_PRODM_PPA_007**(中)|超长文本关键字|验证要点:名称/编号类字段输入较长关键字,查询被接受或截断,页面不崩溃|关联需求:UI-SPEC-SPD-PRODM-016
- **TP_PRODM_PPA_008**(低)|仅空格关键字|验证要点:按空查询或提示,不报错|关联需求:UI-SPEC-SPD-PRODM-016
#### 异常验证点
- **TP_PRODM_PPA_009**(中)|查询接口失败|验证要点:失败有错误提示,不白屏|关联需求:UI-SPEC-SPD-PRODM-016
#### 集成验证点
- **TP_PRODM_PPA_010**(中)|筛选结果与分页总数一致|验证要点:查询后「共 N 条」与本次查询匹配条数一致|关联需求:UI-SPEC-SPD-PRODM-016
---
### 查询条件展开收起
#### 功能验证点
- **TP_PRODM_PPA_011**(中)|展开后更多条件可见|验证要点:额外字段进入可视区且可填写、可参与查询;按钮变为「收起」|关联需求:UI-SPEC-SPD-PRODM-016
- **TP_PRODM_PPA_012**(中)|收起后额外条件隐藏且已填值保留|验证要点:折叠行隐藏;已填值不丢失;再展开后值仍在。产品未定则标待评审|关联需求:UI-SPEC-SPD-PRODM-016
#### 边界验证点
- **TP_PRODM_PPA_013**(低)|展开后无额外字段|验证要点:若产品无第二行筛选,展开为空或禁用,页面不报错|关联需求:UI-SPEC-SPD-PRODM-016
#### 异常验证点
- **TP_PRODM_PPA_014**(低)|展开态查询失败|验证要点:展开后查询失败有提示,不误展示其它页缓存列表|关联需求:UI-SPEC-SPD-PRODM-016
#### 集成验证点
- **TP_PRODM_PPA_015**(中)|展开字段与扫描一致|验证要点:展开后可见字段与 `data/scan` 记录一致,不以邻页筛选字段代替|关联需求:UI-SPEC-SPD-PRODM-016
---
### 列表
#### 功能验证点
- **TP_PRODM_PPA_016**(高)|列表核心列完整|验证要点:主表展示 外围系统产品、推送状态等(以现网为准)|关联需求:UI-SPEC-SPD-PRODM-016
#### 边界验证点
- **TP_PRODM_PPA_017**(中)|无匹配空列表|验证要点:不存在的关键字查询后表头仍在,0 行或空态;有汇总时为 0 或「-」|关联需求:UI-SPEC-SPD-PRODM-016
#### 异常验证点
- 无(已并入:列表加载失败见查询接口失败)
#### 集成验证点
- **TP_PRODM_PPA_018**(高)|行内操作可达|验证要点:首行存在数据时,行操作 详情 可点击并进入预期弹窗/详情(只读冒烟)|关联需求:UI-SPEC-SPD-PRODM-016
---
### 分页
#### 功能验证点
- **TP_PRODM_PPA_019**(高)|有数据时总条数|验证要点:「共 N 条」与本次查询匹配条数一致|关联需求:UI-SPEC-SPD-PRODM-016
- **TP_PRODM_PPA_020**(高)|切换至第 2 页|验证要点:页码高亮且首行更换;不足 2 页则该点不适用|关联需求:UI-SPEC-SPD-PRODM-016
- **TP_PRODM_PPA_021**(中)|切换每页条数|验证要点:默认档位(常见 50)→「20 条/页」;共 N 条不变;当前页行数=min(N,20) 且与切换前不同(见 3.7)|关联需求:UI-SPEC-SPD-PRODM-016
#### 边界验证点
- **TP_PRODM_PPA_022**(中)|首页上一页不可用|验证要点:第 1 页时「上一页」禁用或无效|关联需求:UI-SPEC-SPD-PRODM-016
- **TP_PRODM_PPA_023**(中)|末页下一页不可用|验证要点:最后一页时「下一页」禁用或无效|关联需求:UI-SPEC-SPD-PRODM-016
#### 异常验证点
- **TP_PRODM_PPA_024**(低)|跳至非数字页码|验证要点:非法输入不跳转异常页|关联需求:UI-SPEC-SPD-PRODM-016
#### 集成验证点
- **TP_PRODM_PPA_025**(中)|翻页不丢失筛选|验证要点:带筛选翻页后条件保持,新页仍满足原筛选|关联需求:UI-SPEC-SPD-PRODM-016
---
### 导出
#### 功能验证点
- **TP_PRODM_PPA_026**(高)|当前查询条件下导出|验证要点:先查询再导出;无报错。默认不校验文件内容|关联需求:UI-SPEC-SPD-PRODM-016
#### 边界验证点
- **TP_PRODM_PPA_027**(低)|无数据时导出|验证要点:空列表导出不报错或有明确提示|关联需求:UI-SPEC-SPD-PRODM-016
#### 异常验证点
- 无(已并入:导出失败见写操作失败提示)
#### 集成验证点
- 无(已并入:导入模板与导出关系见写操作点)
---
### 批量推送
#### 功能验证点
- **TP_PRODM_PPA_028**(高)|打开对应弹窗/抽屉|验证要点:触发「批量推送」后弹窗/抽屉可见,标题与关键字段可交互;取消不落库(范围内才写保存)|关联需求:UI-SPEC-SPD-PRODM-016
- **TP_PRODM_PPA_029**(中)|取消不落库|验证要点:填写后取消或关闭,列表不新增/不修改对应记录|关联需求:UI-SPEC-SPD-PRODM-016
#### 边界验证点
- **TP_PRODM_PPA_030**(中)|必填为空拦截|验证要点:必填项为空时确定被拦截并提示,不落库|关联需求:UI-SPEC-SPD-PRODM-016
- **TP_PRODM_PPA_031**(低)|重复打开|验证要点:连续两次打开不叠加多层遮罩|关联需求:UI-SPEC-SPD-PRODM-016
#### 异常验证点
- **TP_PRODM_PPA_032**(中)|保存失败|验证要点:接口失败时弹窗不自动关闭且列表保持原状|关联需求:UI-SPEC-SPD-PRODM-016
#### 集成验证点
- **TP_PRODM_PPA_033**(低)|弹窗字段与列表列一致|验证要点:弹窗内关键字段与列表展示字段命名一致|关联需求:UI-SPEC-SPD-PRODM-016
---
### 与同组产品管理页差异
#### 功能验证点
- **TP_PRODM_PPA_034**(中)|本页独有列与能力|验证要点:产品管理侧外围新增;勿与接口管理「外围产品变更」混淆;与同组它页切换后列集/工具栏差异可辨识|关联需求:UI-SPEC-SPD-PRODM-016
#### 边界验证点
- **TP_PRODM_PPA_035**(低)|直链不误展示它页列|验证要点:仅打开本页 URL `/spd/basic/goods/interface/peripheralSystem` 时不应出现它页独有工具栏(如错页 Tab)|关联需求:UI-SPEC-SPD-PRODM-016
#### 异常验证点
- **TP_PRODM_PPA_036**(中)|菜单高亮与 URL 一致|验证要点:左侧高亮菜单名、顶栏 Tab 与地址栏路径同属本页,非兄弟页 URL|关联需求:UI-SPEC-SPD-PRODM-016
#### 集成验证点
- **TP_PRODM_PPA_037**(低)|跨页数据不串行|验证要点:从本页切至它页再返回,本页筛选/列表恢复为本页数据域,不残留它页查询条件(以现网为准)|关联需求:UI-SPEC-SPD-PRODM-016
---
## 质量自检摘要
| 项 | 结论 |
|----|------|
| 范围 | 在范围内:导航、筛选展开、列表分页、导出、批量推送/详情弹窗。排除:断网/弱网、导出文件内容、弹窗全字段落库、登录/改密通用流程(见 `testpoint/scope/基础管理-产品管理-UI测试点范围.md`)。未声称 100% 全覆盖。 |
| 范围外未覆盖 | 全局左侧菜单与顶栏导航噪声、导出/打印文件字节内容、弹窗/抽屉全字段组合与真实落库、断网/弱网 |
| 覆盖 | 已写功能域见正文 H3;共 **37** 条原子测试点;扫描元素约 94 项 |
| 分类 | 功能 / 边界 / 异常 / 集成四类均已按功能点拆分 |
| 去重 | 登录态过期、无菜单权限、改密引用 `TP_USER_USR_006`/`007`,本页不展开。编号前缀 `TP_PRODM_PPA` |
| 待评审项 | 写操作冒烟不提交脏数据;筛选收起后字段是否保留;部分详情层标题可能受顶栏 Tab 干扰需现网复核;页面无列头 sorter(自检);页面无列设置齿轮(自检);页面无宽表启发式,未写横向滚动(自检);有每页条数下拉:已写「切换每页条数」 |
| 功能点拆分 | 未使用「筛选与查询 / 列表与分页」;快捷与高级筛选分开;有展开则单开查询条件展开收起;列表→分页→导出;写操作 H3 用业务名 |
| 报表能力 | 整页渲染,非统计报表 iframe 第四节清单 |
| 列排序下游 | 页面无列头 sorter(自检);建议 `audit-sort-columns-live` 维护 `data/spd-admin-sort-columns.json` |
| 分页每页条数 | 有每页条数下拉:已写「切换每页条数」 |
| 下游 | 可转 testcases/MD、CSV;扫描 `npm run discover:scan-prodm`;overlay `npm run discover:scan-prodm-overlays`;测试点 `npm run generate:testpoints-prodm` |
# 基础管理-产品管理-物料信息变更 — 测试点分析
**版本**:01
**定稿日期**:2026-11-04
**关联需求**:`knowledge-base/08-UI专项规范库/UI-SPEC-SPD-PRODM-022.md`
**页面 URL**:`http://spdtest.cmic.com.cn:8080/spd/basic/goods/platform/zr-product-info`
**元素扫描**:`data/scan/prodm-material-chg-elements.json`(184 项)
**定位器**:`locators/spd/prodm-material-chg.locator.yaml`
**本次生成范围**:`testpoint/scope/基础管理-产品管理-UI测试点范围.md`
---
## 基础设置 · 产品管理 · 物料信息变更
### 页面访问与导航
#### 功能验证点
- **TP_PRODM_MCH_001**(高)|页面主区加载完成|验证要点:携带有效登录态进入 `/spd/basic/goods/platform/zr-product-info`(菜单或直链),筛选+高级筛选、新增、变更单列表与详情/打印;左侧菜单与顶栏 Tab 高亮为物料信息变更,不误入同组其它产品管理页|关联需求:UI-SPEC-SPD-PRODM-022
- **TP_PRODM_MCH_002**(中)|同组产品管理菜单可切换|验证要点:在 scope 所列产品管理 26 个子菜单中切换 2~3 个后 URL 与内容对应,再返回本页状态正确|关联需求:UI-SPEC-SPD-PRODM-022
#### 边界验证点
- **TP_PRODM_MCH_003**(低)|已登录直接打开 URL|验证要点:携带有效登录态打开 `/spd/basic/goods/platform/zr-product-info`,筛选区与列表(或左右分栏)可见,无报错遮罩,地址仍为该路径|关联需求:UI-SPEC-SPD-PRODM-022
#### 异常验证点
- 无(未登录/会话过期/无菜单权限引用用户管理 `TP_USER_USR_005`~`007`;本模块自动化不单独写「菜单进入」「未登录访问拦截」用例,见 ui-test-point-rules 3.5)
#### 集成验证点
- **TP_PRODM_MCH_004**(中)|顶栏院区与筛选默认一致|验证要点:顶栏当前院区与页面院区/库区树默认范围不矛盾(允许按权限裁剪)|关联需求:UI-SPEC-SPD-PRODM-022
---
### 快捷筛选查询
#### 功能验证点
- **TP_PRODM_MCH_005**(中)|快捷区重置恢复默认|验证要点:已填字段(及维度勾选)恢复默认;列表是否刷新按产品规则,未定则标待评审|关联需求:UI-SPEC-SPD-PRODM-022
#### 边界验证点
- **TP_PRODM_MCH_006**(中)|超长文本关键字|验证要点:名称/编号类字段输入较长关键字,查询被接受或截断,页面不崩溃|关联需求:UI-SPEC-SPD-PRODM-022
- **TP_PRODM_MCH_007**(低)|仅空格关键字|验证要点:按空查询或提示,不报错|关联需求:UI-SPEC-SPD-PRODM-022
#### 异常验证点
- **TP_PRODM_MCH_008**(中)|查询接口失败|验证要点:失败有错误提示,不白屏|关联需求:UI-SPEC-SPD-PRODM-022
#### 集成验证点
- **TP_PRODM_MCH_009**(中)|筛选结果与分页总数一致|验证要点:查询后「共 N 条」与本次查询匹配条数一致|关联需求:UI-SPEC-SPD-PRODM-022
---
### 高级筛选抽屉
#### 功能验证点
- **TP_PRODM_MCH_010**(高)|点击高级筛选打开抽屉|验证要点:标题为「高级筛选」;关键字段可交互|关联需求:UI-SPEC-SPD-PRODM-022
- **TP_PRODM_MCH_011**(中)|抽屉内重置恢复默认|验证要点:抽屉字段恢复默认,快捷区不被清空|关联需求:UI-SPEC-SPD-PRODM-022
- **TP_PRODM_MCH_012**(高)|全量查询条件组合查询|验证要点:快捷区 +(有则)维度勾选 + 抽屉全填样本非空字段;抽样首行同时满足全部已填条件|关联需求:UI-SPEC-SPD-PRODM-022
#### 边界验证点
- 无(已并入:高级筛选字段边界见快捷区同类规则)
#### 异常验证点
- 无(已并入:高级筛选接口失败归入查询接口失败)
#### 集成验证点
- **TP_PRODM_MCH_013**(中)|高级筛选带入|验证要点:快捷区同名字段带入抽屉且不手改,与快捷区一致(可选,见 rules 3.3)|关联需求:UI-SPEC-SPD-PRODM-022
---
### 列表
#### 功能验证点
- **TP_PRODM_MCH_020**(高)|列表核心列完整|验证要点:主表展示 单号、制单时间、状态、物料变更摘要等(以现网为准)|关联需求:UI-SPEC-SPD-PRODM-022
- **TP_PRODM_MCH_021**(低)|列设置隐藏后再恢复|验证要点:打开列设置 → 取消勾选非核心列 → 表头隐藏且勾选同步 → 再勾选后表头恢复|关联需求:UI-SPEC-SPD-PRODM-022
#### 边界验证点
- **TP_PRODM_MCH_022**(中)|无匹配空列表|验证要点:不存在的关键字查询后表头仍在,0 行或空态;有汇总时为 0 或「-」|关联需求:UI-SPEC-SPD-PRODM-022
- **TP_PRODM_MCH_023**(中)|横向滚动与列对齐|验证要点:远侧列可进入视口;表头列数=数据列数;对齐无重叠。列名以本页为准|关联需求:UI-SPEC-SPD-PRODM-022
#### 异常验证点
- 无(已并入:列表加载失败见查询接口失败)
#### 集成验证点
- 无(已并入:行内操作见行内操作 H3 或本页无行操作)
---
### 分页
#### 功能验证点
- **TP_PRODM_MCH_024**(高)|有数据时总条数|验证要点:「共 N 条」与本次查询匹配条数一致|关联需求:UI-SPEC-SPD-PRODM-022
- **TP_PRODM_MCH_025**(高)|切换至第 2 页|验证要点:页码高亮且首行更换;不足 2 页则该点不适用|关联需求:UI-SPEC-SPD-PRODM-022
- **TP_PRODM_MCH_026**(中)|切换每页条数|验证要点:默认档位(常见 50)→「20 条/页」;共 N 条不变;当前页行数=min(N,20) 且与切换前不同(见 3.7)|关联需求:UI-SPEC-SPD-PRODM-022
#### 边界验证点
- **TP_PRODM_MCH_027**(中)|首页上一页不可用|验证要点:第 1 页时「上一页」禁用或无效|关联需求:UI-SPEC-SPD-PRODM-022
- **TP_PRODM_MCH_028**(中)|末页下一页不可用|验证要点:最后一页时「下一页」禁用或无效|关联需求:UI-SPEC-SPD-PRODM-022
#### 异常验证点
- **TP_PRODM_MCH_029**(低)|跳至非数字页码|验证要点:非法输入不跳转异常页|关联需求:UI-SPEC-SPD-PRODM-022
#### 集成验证点
- **TP_PRODM_MCH_030**(中)|翻页不丢失筛选|验证要点:带筛选翻页后条件保持,新页仍满足原筛选|关联需求:UI-SPEC-SPD-PRODM-022
---
### 行内操作
#### 功能验证点
- **TP_PRODM_MCH_014**(高)|行内「详情」可达|验证要点:首行有数据时点「详情」有反馈或进入预期层(只读冒烟,不写外围回写)|关联需求:UI-SPEC-SPD-PRODM-022
- **TP_PRODM_MCH_015**(高)|行内「编辑」可达|验证要点:首行有数据时点「编辑」有反馈或进入预期层(只读冒烟,不写外围回写)|关联需求:UI-SPEC-SPD-PRODM-022
- **TP_PRODM_MCH_016**(高)|行内「日志」可达|验证要点:首行有数据时点「日志」有反馈或进入预期层(只读冒烟,不写外围回写)|关联需求:UI-SPEC-SPD-PRODM-022
#### 边界验证点
- **TP_PRODM_MCH_017**(低)|末行或无数据|验证要点:无数据时空态,行内按钮不可用或不可见(以现网为准)|关联需求:UI-SPEC-SPD-PRODM-022
#### 异常验证点
- **TP_PRODM_MCH_018**(中)|操作失败提示|验证要点:接口失败时有提示,列表行状态不误改为成功|关联需求:UI-SPEC-SPD-PRODM-022
#### 集成验证点
- **TP_PRODM_MCH_019**(低)|一对多备注|验证要点:下游用例可按每个行内操作各拆一条;本页已按操作拆功能点|关联需求:UI-SPEC-SPD-PRODM-022
---
### 打印
#### 功能验证点
- **TP_PRODM_MCH_031**(高)|按当前条件打印|验证要点:能拉起对话框/预览/toast;无 error|关联需求:UI-SPEC-SPD-PRODM-022
#### 边界验证点
- 无(已并入:无数据打印以现网为准)
#### 异常验证点
- 无(已并入:打印失败见写操作失败提示)
#### 集成验证点
- 无(已并入:批量打印见打印 H3)
---
### 新增
#### 功能验证点
- **TP_PRODM_MCH_032**(高)|打开对应弹窗/抽屉|验证要点:触发「新增」后弹窗/抽屉可见,标题与关键字段可交互;取消不落库(范围内才写保存)|关联需求:UI-SPEC-SPD-PRODM-022
- **TP_PRODM_MCH_033**(中)|取消不落库|验证要点:填写后取消或关闭,列表不新增/不修改对应记录|关联需求:UI-SPEC-SPD-PRODM-022
#### 边界验证点
- **TP_PRODM_MCH_034**(中)|必填为空拦截|验证要点:必填项为空时确定被拦截并提示,不落库|关联需求:UI-SPEC-SPD-PRODM-022
- **TP_PRODM_MCH_035**(低)|重复打开|验证要点:连续两次打开不叠加多层遮罩|关联需求:UI-SPEC-SPD-PRODM-022
#### 异常验证点
- **TP_PRODM_MCH_036**(中)|保存失败|验证要点:接口失败时弹窗不自动关闭且列表保持原状|关联需求:UI-SPEC-SPD-PRODM-022
#### 集成验证点
- **TP_PRODM_MCH_037**(低)|弹窗字段与列表列一致|验证要点:弹窗内关键字段与列表展示字段命名一致|关联需求:UI-SPEC-SPD-PRODM-022
---
### 与同组产品管理页差异
#### 功能验证点
- **TP_PRODM_MCH_038**(中)|本页独有列与能力|验证要点:物料信息变更单;勿与「产品信息变更」混淆;与同组它页切换后列集/工具栏差异可辨识|关联需求:UI-SPEC-SPD-PRODM-022
#### 边界验证点
- **TP_PRODM_MCH_039**(低)|直链不误展示它页列|验证要点:仅打开本页 URL `/spd/basic/goods/platform/zr-product-info` 时不应出现它页独有工具栏(如错页 Tab)|关联需求:UI-SPEC-SPD-PRODM-022
#### 异常验证点
- **TP_PRODM_MCH_040**(中)|菜单高亮与 URL 一致|验证要点:左侧高亮菜单名、顶栏 Tab 与地址栏路径同属本页,非兄弟页 URL|关联需求:UI-SPEC-SPD-PRODM-022
#### 集成验证点
- **TP_PRODM_MCH_041**(低)|跨页数据不串行|验证要点:从本页切至它页再返回,本页筛选/列表恢复为本页数据域,不残留它页查询条件(以现网为准)|关联需求:UI-SPEC-SPD-PRODM-022
---
## 质量自检摘要
| 项 | 结论 |
|----|------|
| 范围 | 在范围内:导航、筛选、列表分页、详情。排除:断网/弱网、导出文件内容、弹窗全字段落库、登录/改密通用流程(见 `testpoint/scope/基础管理-产品管理-UI测试点范围.md`)。未声称 100% 全覆盖。 |
| 范围外未覆盖 | 全局左侧菜单与顶栏导航噪声、导出/打印文件字节内容、弹窗/抽屉全字段组合与真实落库、断网/弱网 |
| 覆盖 | 已写功能域见正文 H3;共 **41** 条原子测试点;扫描元素约 184 项 |
| 分类 | 功能 / 边界 / 异常 / 集成四类均已按功能点拆分 |
| 去重 | 登录态过期、无菜单权限、改密引用 `TP_USER_USR_006`/`007`,本页不展开。编号前缀 `TP_PRODM_MCH` |
| 待评审项 | 写操作冒烟不提交脏数据;筛选收起后字段是否保留;部分详情层标题可能受顶栏 Tab 干扰需现网复核;页面无列头 sorter(自检);有列设置:列表 H3 已写「列设置隐藏后再恢复」;宽表已写「横向滚动与列对齐」;有每页条数下拉:已写「切换每页条数」 |
| 功能点拆分 | 未使用「筛选与查询 / 列表与分页」;快捷与高级筛选分开;有展开则单开查询条件展开收起;列表→分页→导出;写操作 H3 用业务名 |
| 报表能力 | 整页渲染,非统计报表 iframe 第四节清单 |
| 列排序下游 | 页面无列头 sorter(自检);建议 `audit-sort-columns-live` 维护 `data/spd-admin-sort-columns.json` |
| 分页每页条数 | 有每页条数下拉:已写「切换每页条数」 |
| 下游 | 可转 testcases/MD、CSV;扫描 `npm run discover:scan-prodm`;overlay `npm run discover:scan-prodm-overlays`;测试点 `npm run generate:testpoints-prodm` |
# 基础管理-产品管理-物料信息管理 — 测试点分析
**版本**:01
**定稿日期**:2026-11-04
**关联需求**:`knowledge-base/08-UI专项规范库/UI-SPEC-SPD-PRODM-003.md`
**页面 URL**:`http://spdtest.cmic.com.cn:8080/spd/basic/goods/paltform/product/zrcalatog`
**元素扫描**:`data/scan/prodm-material-elements.json`(384 项)
**定位器**:`locators/spd/prodm-material.locator.yaml`
**本次生成范围**:`testpoint/scope/基础管理-产品管理-UI测试点范围.md`
---
## 基础设置 · 产品管理 · 物料信息管理
### 页面访问与导航
#### 功能验证点
- **TP_PRODM_MAT_001**(高)|页面主区加载完成|验证要点:携带有效登录态进入 `/spd/basic/goods/paltform/product/zrcalatog`(菜单或直链),左右分栏:左侧分类树、右侧筛选+高级筛选、添加/导出/导入扩展属性/导入Excel、列表与详情;左侧菜单与顶栏 Tab 高亮为物料信息管理,不误入同组其它产品管理页|关联需求:UI-SPEC-SPD-PRODM-003
- **TP_PRODM_MAT_002**(中)|同组产品管理菜单可切换|验证要点:在 scope 所列产品管理 26 个子菜单中切换 2~3 个后 URL 与内容对应,再返回本页状态正确|关联需求:UI-SPEC-SPD-PRODM-003
#### 边界验证点
- **TP_PRODM_MAT_003**(低)|已登录直接打开 URL|验证要点:携带有效登录态打开 `/spd/basic/goods/paltform/product/zrcalatog`,筛选区与列表(或左右分栏)可见,无报错遮罩,地址仍为该路径|关联需求:UI-SPEC-SPD-PRODM-003
#### 异常验证点
- 无(未登录/会话过期/无菜单权限引用用户管理 `TP_USER_USR_005`~`007`;本模块自动化不单独写「菜单进入」「未登录访问拦截」用例,见 ui-test-point-rules 3.5)
#### 集成验证点
- **TP_PRODM_MAT_004**(中)|顶栏院区与筛选默认一致|验证要点:顶栏当前院区与页面院区/库区树默认范围不矛盾(允许按权限裁剪)|关联需求:UI-SPEC-SPD-PRODM-003
---
### 左侧耗材分类树
#### 功能验证点
- **TP_PRODM_MAT_005**(高)|树默认有选中或可展开节点|验证要点:进入后左侧耗材分类树可见,选中或展开后右侧数据范围与节点一致|关联需求:UI-SPEC-SPD-PRODM-003
- **TP_PRODM_MAT_006**(高)|树搜索过滤|验证要点:在树顶搜索框输入编号/名称关键字,节点列表收敛为匹配项|关联需求:UI-SPEC-SPD-PRODM-003
- **TP_PRODM_MAT_007**(高)|切换树节点刷新右侧|验证要点:点选另一节点后,右侧列表/表单数据范围切换,不残留上一节点数据|关联需求:UI-SPEC-SPD-PRODM-003
#### 边界验证点
- **TP_PRODM_MAT_008**(低)|搜索无匹配|验证要点:无匹配节点时空态或提示,右侧不展示过期数据|关联需求:UI-SPEC-SPD-PRODM-003
#### 异常验证点
- **TP_PRODM_MAT_009**(中)|树加载失败|验证要点:失败有提示,不把其它节点数据展示为当前节点成功态|关联需求:UI-SPEC-SPD-PRODM-003
#### 集成验证点
- **TP_PRODM_MAT_010**(中)|树节点与院区主数据一致|验证要点:节点名称/编码与科室登记等主数据一致(允许权限裁剪)|关联需求:UI-SPEC-SPD-PRODM-003
---
### 快捷筛选查询
#### 功能验证点
- **TP_PRODM_MAT_011**(中)|快捷区重置恢复默认|验证要点:已填字段(及维度勾选)恢复默认;列表是否刷新按产品规则,未定则标待评审|关联需求:UI-SPEC-SPD-PRODM-003
#### 边界验证点
- **TP_PRODM_MAT_012**(中)|超长文本关键字|验证要点:名称/编号类字段输入较长关键字,查询被接受或截断,页面不崩溃|关联需求:UI-SPEC-SPD-PRODM-003
- **TP_PRODM_MAT_013**(低)|仅空格关键字|验证要点:按空查询或提示,不报错|关联需求:UI-SPEC-SPD-PRODM-003
#### 异常验证点
- **TP_PRODM_MAT_014**(中)|查询接口失败|验证要点:失败有错误提示,不白屏|关联需求:UI-SPEC-SPD-PRODM-003
#### 集成验证点
- **TP_PRODM_MAT_015**(中)|筛选结果与分页总数一致|验证要点:查询后「共 N 条」与本次查询匹配条数一致|关联需求:UI-SPEC-SPD-PRODM-003
---
### 高级筛选抽屉
#### 功能验证点
- **TP_PRODM_MAT_016**(高)|点击高级筛选打开抽屉|验证要点:标题为「高级筛选」;关键字段可交互|关联需求:UI-SPEC-SPD-PRODM-003
- **TP_PRODM_MAT_017**(中)|抽屉内重置恢复默认|验证要点:抽屉字段恢复默认,快捷区不被清空|关联需求:UI-SPEC-SPD-PRODM-003
- **TP_PRODM_MAT_018**(高)|全量查询条件组合查询|验证要点:快捷区 +(有则)维度勾选 + 抽屉全填样本非空字段;抽样首行同时满足全部已填条件|关联需求:UI-SPEC-SPD-PRODM-003
#### 边界验证点
- 无(已并入:高级筛选字段边界见快捷区同类规则)
#### 异常验证点
- 无(已并入:高级筛选接口失败归入查询接口失败)
#### 集成验证点
- **TP_PRODM_MAT_019**(中)|高级筛选带入|验证要点:快捷区同名字段带入抽屉且不手改,与快捷区一致(可选,见 rules 3.3)|关联需求:UI-SPEC-SPD-PRODM-003
---
### 列表
#### 功能验证点
- **TP_PRODM_MAT_020**(高)|列表核心列完整|验证要点:主表展示 HIS编码、阳采ID、规格型号、单位、耗材类型、品牌、医保相关编码等|关联需求:UI-SPEC-SPD-PRODM-003
- **TP_PRODM_MAT_021**(中)|各可排序列升序降序|验证要点:每个带排序器的列均可升序、再降序;指示器(▲/▼ 或 aria-sort)与方向一致;列表仍有数据|关联需求:UI-SPEC-SPD-PRODM-003
- **TP_PRODM_MAT_022**(低)|列设置隐藏后再恢复|验证要点:打开列设置 → 取消勾选非核心列 → 表头隐藏且勾选同步 → 再勾选后表头恢复|关联需求:UI-SPEC-SPD-PRODM-003
#### 边界验证点
- **TP_PRODM_MAT_023**(中)|无匹配空列表|验证要点:不存在的关键字查询后表头仍在,0 行或空态;有汇总时为 0 或「-」|关联需求:UI-SPEC-SPD-PRODM-003
- **TP_PRODM_MAT_024**(中)|横向滚动与列对齐|验证要点:远侧列可进入视口;表头列数=数据列数;对齐无重叠。列名以本页为准|关联需求:UI-SPEC-SPD-PRODM-003
#### 异常验证点
- 无(已并入:列表加载失败见查询接口失败)
#### 集成验证点
- **TP_PRODM_MAT_025**(高)|行内操作可达|验证要点:首行存在数据时,行操作 详情 可点击并进入预期弹窗/详情(只读冒烟)|关联需求:UI-SPEC-SPD-PRODM-003
---
### 分页
#### 功能验证点
- **TP_PRODM_MAT_026**(高)|有数据时总条数|验证要点:「共 N 条」与本次查询匹配条数一致|关联需求:UI-SPEC-SPD-PRODM-003
- **TP_PRODM_MAT_027**(高)|切换至第 2 页|验证要点:页码高亮且首行更换;不足 2 页则该点不适用|关联需求:UI-SPEC-SPD-PRODM-003
- **TP_PRODM_MAT_028**(中)|切换每页条数|验证要点:默认档位(常见 50)→「20 条/页」;共 N 条不变;当前页行数=min(N,20) 且与切换前不同(见 3.7)|关联需求:UI-SPEC-SPD-PRODM-003
#### 边界验证点
- **TP_PRODM_MAT_029**(中)|首页上一页不可用|验证要点:第 1 页时「上一页」禁用或无效|关联需求:UI-SPEC-SPD-PRODM-003
- **TP_PRODM_MAT_030**(中)|末页下一页不可用|验证要点:最后一页时「下一页」禁用或无效|关联需求:UI-SPEC-SPD-PRODM-003
#### 异常验证点
- **TP_PRODM_MAT_031**(低)|跳至非数字页码|验证要点:非法输入不跳转异常页|关联需求:UI-SPEC-SPD-PRODM-003
#### 集成验证点
- **TP_PRODM_MAT_032**(中)|翻页不丢失筛选|验证要点:带筛选翻页后条件保持,新页仍满足原筛选|关联需求:UI-SPEC-SPD-PRODM-003
---
### 导出
#### 功能验证点
- **TP_PRODM_MAT_033**(高)|当前查询条件下导出|验证要点:先查询再导出;无报错。默认不校验文件内容|关联需求:UI-SPEC-SPD-PRODM-003
#### 边界验证点
- **TP_PRODM_MAT_034**(低)|无数据时导出|验证要点:空列表导出不报错或有明确提示|关联需求:UI-SPEC-SPD-PRODM-003
#### 异常验证点
- 无(已并入:导出失败见写操作失败提示)
#### 集成验证点
- 无(已并入:导入模板与导出关系见写操作点)
---
### 添加
#### 功能验证点
- **TP_PRODM_MAT_035**(高)|打开对应弹窗/抽屉|验证要点:触发「添加」后弹窗/抽屉可见,标题与关键字段可交互;取消不落库(范围内才写保存)|关联需求:UI-SPEC-SPD-PRODM-003
- **TP_PRODM_MAT_036**(中)|取消不落库|验证要点:填写后取消或关闭,列表不新增/不修改对应记录|关联需求:UI-SPEC-SPD-PRODM-003
#### 边界验证点
- **TP_PRODM_MAT_037**(中)|必填为空拦截|验证要点:必填项为空时确定被拦截并提示,不落库|关联需求:UI-SPEC-SPD-PRODM-003
- **TP_PRODM_MAT_038**(低)|重复打开|验证要点:连续两次打开不叠加多层遮罩|关联需求:UI-SPEC-SPD-PRODM-003
#### 异常验证点
- **TP_PRODM_MAT_039**(中)|保存失败|验证要点:接口失败时弹窗不自动关闭且列表保持原状|关联需求:UI-SPEC-SPD-PRODM-003
#### 集成验证点
- **TP_PRODM_MAT_040**(低)|弹窗字段与列表列一致|验证要点:弹窗内关键字段与列表展示字段命名一致|关联需求:UI-SPEC-SPD-PRODM-003
---
### 与同组产品管理页差异
#### 功能验证点
- **TP_PRODM_MAT_041**(中)|本页独有列与能力|验证要点:望海/物料信息目录;勿与「产品维护」SPD 产品目录混淆;与同组它页切换后列集/工具栏差异可辨识|关联需求:UI-SPEC-SPD-PRODM-003
#### 边界验证点
- **TP_PRODM_MAT_042**(低)|直链不误展示它页列|验证要点:仅打开本页 URL `/spd/basic/goods/paltform/product/zrcalatog` 时不应出现它页独有工具栏(如错页 Tab)|关联需求:UI-SPEC-SPD-PRODM-003
#### 异常验证点
- **TP_PRODM_MAT_043**(中)|菜单高亮与 URL 一致|验证要点:左侧高亮菜单名、顶栏 Tab 与地址栏路径同属本页,非兄弟页 URL|关联需求:UI-SPEC-SPD-PRODM-003
#### 集成验证点
- **TP_PRODM_MAT_044**(低)|跨页数据不串行|验证要点:从本页切至它页再返回,本页筛选/列表恢复为本页数据域,不残留它页查询条件(以现网为准)|关联需求:UI-SPEC-SPD-PRODM-003
---
## 质量自检摘要
| 项 | 结论 |
|----|------|
| 范围 | 在范围内:导航、分类树、筛选、列表分页、导入导出、详情。排除:断网/弱网、导出文件内容、弹窗全字段落库、登录/改密通用流程(见 `testpoint/scope/基础管理-产品管理-UI测试点范围.md`)。未声称 100% 全覆盖。 |
| 范围外未覆盖 | 全局左侧菜单与顶栏导航噪声、导出/打印文件字节内容、弹窗/抽屉全字段组合与真实落库、断网/弱网 |
| 覆盖 | 已写功能域见正文 H3;共 **44** 条原子测试点;扫描元素约 384 项 |
| 分类 | 功能 / 边界 / 异常 / 集成四类均已按功能点拆分 |
| 去重 | 登录态过期、无菜单权限、改密引用 `TP_USER_USR_006`/`007`,本页不展开。编号前缀 `TP_PRODM_MAT` |
| 待评审项 | 写操作冒烟不提交脏数据;筛选收起后字段是否保留;部分详情层标题可能受顶栏 Tab 干扰需现网复核;有 sorter:列表 H3 已写「各可排序列升序降序」;下游按 3.6 每列一条;有列设置:列表 H3 已写「列设置隐藏后再恢复」;宽表已写「横向滚动与列对齐」;有每页条数下拉:已写「切换每页条数」 |
| 功能点拆分 | 未使用「筛选与查询 / 列表与分页」;快捷与高级筛选分开;有展开则单开查询条件展开收起;列表→分页→导出;写操作 H3 用业务名 |
| 报表能力 | 整页渲染,非统计报表 iframe 第四节清单 |
| 列排序下游 | 有 sorter:列表 H3 已写「各可排序列升序降序」;下游按 3.6 每列一条;建议 `audit-sort-columns-live` 维护 `data/spd-admin-sort-columns.json` |
| 分页每页条数 | 有每页条数下拉:已写「切换每页条数」 |
| 下游 | 可转 testcases/MD、CSV;扫描 `npm run discover:scan-prodm`;overlay `npm run discover:scan-prodm-overlays`;测试点 `npm run generate:testpoints-prodm` |
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment