Commit 6c31a476 authored by liguangyu06's avatar liguangyu06
Browse files

同步基础管理与统计报表用例文档,并更新 Playwright 脚本与 PO。

对齐 CSV/MD/测试点与现网列名及组合查询;补充厂商资质子 Tab 与基础模块复跑脚本。
parent aa8987ce
# 统计报表-发放消耗报表-科室消耗排名 UI 自动化测试用例
**来源测试点**:`testpoint/统计报表-发放消耗报表-科室消耗排名-测试点分析-01.md`
**执行 CSV**:`testcase/统计报表-发放消耗报表-科室消耗排名-UI自动化测试用例-01.csv`(**19** 条)
**执行 CSV**:`testcase/统计报表-发放消耗报表-科室消耗排名-UI自动化测试用例-01.csv`(**17** 条)
**页面 URL**:`/spd/form/consume/report/consume/deptRank`
**定位器 YAML**:`locators/spd/consume-dept-rank.locator.yaml`
**元素扫描**:`data/scan/consume-dept-rank-elements.json`(75 项)
......@@ -26,7 +26,7 @@
#### 功能验证点
##### 【P1】【TC-UI-STAT-CRK-011】【TP_STAT_CRK_041】产品明细物料名称列升序降序切换
##### 【P1】【TC-UI-STAT-CRK-010】【TP_STAT_CRK_041】产品明细物料名称列升序降序切换
- 前置条件:测试环境可访问;测试账号已登录并进入科室消耗排名页(iframe consume/deptRank);已默认查询;已点选左侧科室行且右侧产品明细至少有 2 条数据
- 操作步骤:
......@@ -34,7 +34,7 @@
2. 在产品明细定位「物料名称」列表头(tableWrapperIndex=1,勿点另一张表的同名列)
3. 第一次点击该列 .ant-table-column-sorter → 校验升序指示器
4. 第二次点击该列 .ant-table-column-sorter → 校验降序指示器
- 自动化断言:与 CSV `STAT-CRK-011` 及 `tests/spd/consume-dept-rank.spec.ts` 一致
- 自动化断言:与 CSV `STAT-CRK-010` 及 `tests/spd/consume-dept-rank.spec.ts` 一致
###### 预期结果
......@@ -42,23 +42,7 @@
---
##### 【P1】【TC-UI-STAT-CRK-012】【TP_STAT_CRK_041】产品明细规格型号列升序降序切换
- 前置条件:测试环境可访问;测试账号已登录并进入科室消耗排名页(iframe consume/deptRank);已默认查询;已点选左侧科室行且右侧产品明细至少有 2 条数据
- 操作步骤:
1. 默认条件查询并点选左侧科室行
2. 在产品明细定位「规格型号」列表头(tableWrapperIndex=1,勿点另一张表的同名列)
3. 第一次点击该列 .ant-table-column-sorter → 校验升序指示器
4. 第二次点击该列 .ant-table-column-sorter → 校验降序指示器
- 自动化断言:与 CSV `STAT-CRK-012` 及 `tests/spd/consume-dept-rank.spec.ts` 一致
###### 预期结果
仅产品明细「规格型号」列排序指示器切换;升序与降序分别激活;不得点到另一张表的同名列。
---
##### 【P1】【TC-UI-STAT-CRK-013】【TP_STAT_CRK_041】产品明细器械注册人-术语配置列升序降序切换
##### 【P1】【TC-UI-STAT-CRK-011】【TP_STAT_CRK_041】产品明细器械注册人-术语配置列升序降序切换
- 前置条件:测试环境可访问;测试账号已登录并进入科室消耗排名页(iframe consume/deptRank);已默认查询;已点选左侧科室行且右侧产品明细至少有 2 条数据
- 操作步骤:
......@@ -66,7 +50,7 @@
2. 在产品明细定位「器械注册人-术语配置」列表头(tableWrapperIndex=1,勿点另一张表的同名列)
3. 第一次点击该列 .ant-table-column-sorter → 校验升序指示器
4. 第二次点击该列 .ant-table-column-sorter → 校验降序指示器
- 自动化断言:与 CSV `STAT-CRK-013` 及 `tests/spd/consume-dept-rank.spec.ts` 一致
- 自动化断言:与 CSV `STAT-CRK-011` 及 `tests/spd/consume-dept-rank.spec.ts` 一致
###### 预期结果
......@@ -74,7 +58,7 @@
---
##### 【P1】【TC-UI-STAT-CRK-014】【TP_STAT_CRK_041】产品明细单价列升序降序切换
##### 【P1】【TC-UI-STAT-CRK-012】【TP_STAT_CRK_041】产品明细单价列升序降序切换
- 前置条件:测试环境可访问;测试账号已登录并进入科室消耗排名页(iframe consume/deptRank);已默认查询;已点选左侧科室行且右侧产品明细至少有 2 条数据
- 操作步骤:
......@@ -82,7 +66,7 @@
2. 在产品明细定位「单价」列表头(tableWrapperIndex=1,勿点另一张表的同名列)
3. 第一次点击该列 .ant-table-column-sorter → 校验升序指示器
4. 第二次点击该列 .ant-table-column-sorter → 校验降序指示器
- 自动化断言:与 CSV `STAT-CRK-014` 及 `tests/spd/consume-dept-rank.spec.ts` 一致
- 自动化断言:与 CSV `STAT-CRK-012` 及 `tests/spd/consume-dept-rank.spec.ts` 一致
###### 预期结果
......@@ -90,7 +74,7 @@
---
##### 【P1】【TC-UI-STAT-CRK-015】【TP_STAT_CRK_041】产品明细消耗数量列升序降序切换
##### 【P1】【TC-UI-STAT-CRK-013】【TP_STAT_CRK_041】产品明细消耗数量列升序降序切换
- 前置条件:测试环境可访问;测试账号已登录并进入科室消耗排名页(iframe consume/deptRank);已默认查询;已点选左侧科室行且右侧产品明细至少有 2 条数据
- 操作步骤:
......@@ -98,7 +82,7 @@
2. 在产品明细定位「消耗数量」列表头(tableWrapperIndex=1,勿点另一张表的同名列)
3. 第一次点击该列 .ant-table-column-sorter → 校验升序指示器
4. 第二次点击该列 .ant-table-column-sorter → 校验降序指示器
- 自动化断言:与 CSV `STAT-CRK-015` 及 `tests/spd/consume-dept-rank.spec.ts` 一致
- 自动化断言:与 CSV `STAT-CRK-013` 及 `tests/spd/consume-dept-rank.spec.ts` 一致
###### 预期结果
......@@ -106,7 +90,7 @@
---
##### 【P1】【TC-UI-STAT-CRK-016】【TP_STAT_CRK_041】产品明细消耗金额列升序降序切换
##### 【P1】【TC-UI-STAT-CRK-014】【TP_STAT_CRK_041】产品明细消耗金额列升序降序切换
- 前置条件:测试环境可访问;测试账号已登录并进入科室消耗排名页(iframe consume/deptRank);已默认查询;已点选左侧科室行且右侧产品明细至少有 2 条数据
- 操作步骤:
......@@ -114,7 +98,7 @@
2. 在产品明细定位「消耗金额」列表头(tableWrapperIndex=1,勿点另一张表的同名列)
3. 第一次点击该列 .ant-table-column-sorter → 校验升序指示器
4. 第二次点击该列 .ant-table-column-sorter → 校验降序指示器
- 自动化断言:与 CSV `STAT-CRK-016` 及 `tests/spd/consume-dept-rank.spec.ts` 一致
- 自动化断言:与 CSV `STAT-CRK-014` 及 `tests/spd/consume-dept-rank.spec.ts` 一致
###### 预期结果
......@@ -160,13 +144,13 @@
#### 功能验证点
##### 【P0】【TC-UI-STAT-CRK-017】【TP_STAT_CRK_053】有数据时展示分页总条数
##### 【P0】【TC-UI-STAT-CRK-015】【TP_STAT_CRK_053】有数据时展示分页总条数
- 前置条件:测试环境可访问;测试账号已登录并进入科室消耗排名页(iframe consume/deptRank);已默认查询有数据
- 操作步骤:
1. 默认条件查询
2. 查看分页总条数
- 自动化断言:与 CSV `STAT-CRK-017` 及 `tests/spd/consume-dept-rank.spec.ts` 一致
- 自动化断言:与 CSV `STAT-CRK-015` 及 `tests/spd/consume-dept-rank.spec.ts` 一致
###### 预期结果
......@@ -174,14 +158,14 @@
---
##### 【P0】【TC-UI-STAT-CRK-018】【TP_STAT_CRK_054】切换至第2页
##### 【P0】【TC-UI-STAT-CRK-016】【TP_STAT_CRK_054】切换至第2页
- 前置条件:测试环境可访问;测试账号已登录并进入科室消耗排名页(iframe consume/deptRank);默认查询结果超过 1 页
- 操作步骤:
1. 执行查询
2. 点击分页页码 2
3. 检查页码高亮与首行数据
- 自动化断言:与 CSV `STAT-CRK-018` 及 `tests/spd/consume-dept-rank.spec.ts` 一致
- 自动化断言:与 CSV `STAT-CRK-016` 及 `tests/spd/consume-dept-rank.spec.ts` 一致
###### 预期结果
......@@ -189,14 +173,14 @@
---
##### 【P1】【TC-UI-STAT-CRK-019】【TP_STAT_CRK_056】切换每页条数
##### 【P1】【TC-UI-STAT-CRK-017】【TP_STAT_CRK_056】切换每页条数
- 前置条件:测试环境可访问;测试账号已登录并进入科室消耗排名页(iframe consume/deptRank);默认查询结果有多页
- 操作步骤:
1. 查询数据
2. 切换每页条数(如 100 条/页)
3. 统计当前页可见行数
- 自动化断言:与 CSV `STAT-CRK-019` 及 `tests/spd/consume-dept-rank.spec.ts` 一致
- 自动化断言:与 CSV `STAT-CRK-017` 及 `tests/spd/consume-dept-rank.spec.ts` 一致
###### 预期结果
......@@ -207,12 +191,12 @@
## 自动化实现索引
**Smoke(@smoke)**:CRK-001, CRK-004, CRK-019(3 条)。
**Smoke(@smoke)**:CRK-001, CRK-004(2 条;分页切换每页条数见 CRK-017,非 smoke)。
**已删除**:`STAT-CRK-008` 科室列表科室编号列排序、`STAT-CRK-012` 产品明细物料编号列排序(页面无排序控件)。
**已删除**:`STAT-CRK-008` 科室列表科室编号列排序、产品明细物料编号列排序(页面无排序控件);产品明细「规格型号」列排序(原独立用例,页面无稳定排序控件/自动化不稳定,删除后 011–017 顺延重编)。
**映射文件**:
- CSV:`testcase/统计报表-发放消耗报表-科室消耗排名-UI自动化测试用例-01.csv`(**19** 条)
- CSV:`testcase/统计报表-发放消耗报表-科室消耗排名-UI自动化测试用例-01.csv`(**17** 条)
- Spec:`tests/spd/consume-dept-rank.spec.ts`(待生成)
- Page:`pages/spd/consume-dept-rank.page.ts`(待生成)
- Data:`data/consume-dept-rank.data.ts`(待生成)
......@@ -225,7 +209,7 @@
| 项 | 结论 |
|----|------|
| 用例数 | **21** 条(与 CSV / Spec 一一对应) |
| 用例数 | **17** 条(与 CSV / Spec 一一对应) |
| 结构 | 快捷筛选 → 高级筛选(快捷同步) → 主表(横向滚动) → 科室列表排序 → 产品明细排序 → 分页 |
| 未自动化 | 未登录/权限/接口异常/大数据量导出/跨模块单据抽样等留手工或专项 |
| 差异 | 含高级筛选;无导出按钮 |
......
......@@ -55,7 +55,7 @@
###### 预期结果
抽屉标题为「高级筛选」;含 物料名称、是否带量、线上线下标记、规格型号、进院供应商名称 等字段可交互
抽屉标题为「高级筛选」;含 物料名称、是否带量、线上线下标记、规格型号、销售商(自定义)名称 等字段可交互
---
......@@ -80,7 +80,7 @@
- 操作步骤:
1. searchAndExtractSample() 读取样本(${sampleXxx},禁止写死业务数据)
2. 快捷区填入 患者名称、患者ID
3. 打开高级筛选,填入 物料名称、是否带量、线上线下标记、规格型号、进院供应商名称
3. 打开高级筛选,填入 物料名称、是否带量、线上线下标记、规格型号、销售商(自定义)名称
4. 点击「筛 选」并等待刷新
5. 检查首行 患者名称、UDI码、物料名称 与条件一致
- 自动化断言:与 CSV `STAT-CHC-004` 及 `tests/spd/consume-high.spec.ts` 一致
......@@ -258,12 +258,12 @@
---
##### 【P1】【TC-UI-STAT-CHC-022】【TP_STAT_CHC_041】进院供应商列升序降序切换
##### 【P1】【TC-UI-STAT-CHC-022】【TP_STAT_CHC_041】销售商(自定义)列升序降序切换
- 前置条件:测试环境可访问;测试账号已登录并进入高值消耗追溯页(iframe consume/highConsume);已默认查询且主表至少有 2 条数据
- 操作步骤:
1. 默认条件查询
2. 必要时横向滚动使「进院供应商」列表头可见
2. 必要时横向滚动使「销售商(自定义)」列表头可见
3. 第一次点击该列 .ant-table-column-sorter → 校验升序指示器
4. 第二次点击该列 .ant-table-column-sorter → 校验降序指示器
- 自动化断言:与 CSV `STAT-CHC-022` 及 `tests/spd/consume-high.spec.ts` 一致
......
......@@ -79,10 +79,10 @@
- 前置条件:测试环境可访问;测试账号已登录并进入供应商对账查询页(iframe checkAccount/supply);已默认查询且主表至少有 1 条数据
- 操作步骤:
1. searchAndExtractSample() 读取样本;展开首行读取子表明细(若有)
2. 快捷区填入统计日期、院区名称、进院供应商名称
2. 快捷区填入统计日期、院区名称、销售商(自定义)名称
3. 打开高级筛选,填入样本中非空字段
4. 点击「筛 选」并等待刷新
5. 检查首行统计日期、院区名称、进院供应商名称与条件一致
5. 检查首行统计日期、院区名称、销售商(自定义)名称与条件一致
- 自动化断言:与 CSV `STAT-RSU-004` 及 `tests/spd/recon-supply.spec.ts` 一致
###### 预期结果
......@@ -117,8 +117,8 @@
- 前置条件:测试环境可访问;测试账号已登录并进入供应商对账查询页(iframe checkAccount/supply);已默认查询有数据
- 操作步骤:
1. 默认条件查询
2. 读取主表首行进院供应商名称及数量/金额字段
3. 快捷区填入该进院供应商名称并查询,收窄为该供应商
2. 读取主表首行销售商(自定义)名称及数量/金额字段
3. 快捷区填入该销售商(自定义)名称并查询,收窄为该供应商
4. 勾选或点选主表首行
5. 读取底部合计(单据数、入库数量、入库金额、退货数量、退货金额、净入数量、净入金额)并与首行对应字段对比
- 自动化断言:与 CSV `STAT-RSU-006` 及 `tests/spd/recon-supply.spec.ts` 一致
......@@ -135,7 +135,7 @@
- 前置条件:测试环境可访问;测试账号已登录并进入供应商对账查询页(iframe checkAccount/supply)
- 操作步骤:
1. 进院供应商名称填 __NOT_EXIST_SUPPLIER__99999
1. 销售商(自定义)名称填 __NOT_EXIST_SUPPLIER__99999
2. 点击「查 询」
3. 检查主表;若存在底部汇总区则一并检查,无则跳过
- 自动化断言:与 CSV `STAT-RSU-007` 及 `tests/spd/recon-supply.spec.ts` 一致
......
......@@ -56,7 +56,7 @@
###### 预期结果
抽屉标题为「高级筛选」;含入账日期、二级供应商名称、分类方式、院区名称等字段可交互
抽屉标题为「高级筛选」;含入账日期、供应商名称、分类方式、院区名称等字段可交互
---
......@@ -80,10 +80,10 @@
- 前置条件:测试环境可访问;测试账号已登录并进入采购分类汇总页(iframe checkAccount/purchaseClassify);已默认查询且主表至少有 1 条数据
- 操作步骤:
1. searchAndExtractSample() 读取样本;展开首行读取子表明细(若有)
2. 快捷区填入统计日期、耗材类型、进院供应商名称
3. 打开高级筛选,填入入账日期、二级供应商名称、分类方式、院区名称
2. 快捷区填入统计日期、耗材类型、销售商(自定义)名称
3. 打开高级筛选,填入入账日期、供应商名称、分类方式、院区名称
4. 点击「筛 选」并等待刷新
5. 检查首行统计日期、耗材类型、进院供应商名称与条件一致
5. 检查首行统计日期、耗材类型、销售商(自定义)名称与条件一致
- 自动化断言:与 CSV `STAT-RPC-004` 及 `tests/spd/recon-purchase-classify.spec.ts` 一致
###### 预期结果
......@@ -136,7 +136,7 @@
- 前置条件:测试环境可访问;测试账号已登录并进入采购分类汇总页(iframe checkAccount/purchaseClassify)
- 操作步骤:
1. 进院供应商名称填 __NOT_EXIST_SUPPLIER__99999
1. 销售商(自定义)名称填 __NOT_EXIST_SUPPLIER__99999
2. 点击「查 询」
3. 检查主表;若存在底部汇总区则一并检查,无则跳过
- 自动化断言:与 CSV `STAT-RPC-007` 及 `tests/spd/recon-purchase-classify.spec.ts` 一致
......
......@@ -205,12 +205,12 @@
---
##### 【P1】【TC-UI-STAT-PVC-015】【TP_STAT_PVC_026】产品编码列升序降序切换
##### 【P1】【TC-UI-STAT-PVC-015】【TP_STAT_PVC_026】物料编码列升序降序切换
- 前置条件:测试环境可访问;测试账号已登录并进入带量目录消耗数据统计页(iframe policy/vbpConsumer);已默认查询且主表至少有 2 条数据
- 操作步骤:
1. 默认条件查询
2. 必要时横向滚动使「产品编码」列表头可见
2. 必要时横向滚动使「物料编码」列表头可见
3. 第一次点击该列 .ant-table-column-sorter → 校验升序指示器(▲高亮或 aria-sort=ascending)
4. 第二次点击该列 .ant-table-column-sorter → 校验降序指示器(▼高亮或 aria-sort=descending)
- 自动化断言:与 CSV `STAT-PVC-015` 及 `tests/spd/pol-consumer.spec.ts` 一致
......@@ -499,15 +499,15 @@
- 操作步骤:
1. 默认条件查询,确认主表至少有 1 条
2. 选择首行数据
3. 读取首行「产品编码」
3. 读取首行「物料编码」
4. 必要时横向滚动使「完成数量」列可见,点击首行「完成数量」
5. 弹出消耗明细页面后,核验明细中产品编码与首行一致
5. 弹出消耗明细页面后,核验明细中物料编码与首行一致
6. 点击详情右上角 x 关闭,确认弹窗关闭
- 自动化断言:与 CSV `STAT-PVC-029` 及 `tests/spd/pol-consumer.spec.ts` 一致
###### 预期结果
点击「完成数量」弹出消耗明细页面;明细中产品编码与首行一致;点击 x 后详情正常关闭。
点击「完成数量」弹出消耗明细页面;明细中物料编码与首行一致;点击 x 后详情正常关闭。
---
---
......@@ -522,7 +522,7 @@
- Page:`pages/spd/pol-consumer.page.ts`
- Data:`data/pol-consumer.data.ts`
**Page Object 要点**:`open()`、`search()`、`resetQuickFilter()`、`ensureQuickFilterExpanded()`、`expectFilterCollapseExpand()`、`expectTableHorizontalScrollAndLayout()`、`openColumnSettings()`、`expectPaginationTotal()`、`exportReport()`、`expectFirstRowCompleteQtyDetailAndClose()`(首行「完成数量」下钻消耗明细,核验产品编码后点 x 关闭)。
**Page Object 要点**:`open()`、`search()`、`resetQuickFilter()`、`ensureQuickFilterExpanded()`、`expectFilterCollapseExpand()`、`expectTableHorizontalScrollAndLayout()`、`openColumnSettings()`、`expectPaginationTotal()`、`exportReport()`、`expectFirstRowCompleteQtyDetailAndClose()`(首行「完成数量」下钻消耗明细,核验物料编码后点 x 关闭)。
---
......
......@@ -43,7 +43,7 @@
##### 【P0】【TC-UI-STAT-DES-007】【TP_STAT_DES_026】三维度组合勾选查询
- 操作步骤(可选):同时勾选「区分包装」「区分批号」「区分进院供应商」→ 查询。
- 操作步骤(可选):同时勾选「区分包装」「区分批号」「区分销售商(自定义)」→ 查询。
- 自动化断言:查询成功;主表行粒度为三者组合;底部汇总与主表聚合一致。
###### 预期结果
......@@ -63,7 +63,7 @@
###### 预期结果
右侧抽屉展开;遮罩可见;抽屉内表单字段(物料名称、记账日期、院区名称、进院供应商、批号、进院供应商、单据形态)可交互。
右侧抽屉展开;遮罩可见;抽屉内表单字段(物料名称、记账日期、院区名称、销售商(自定义)、批号、销售商(自定义)、单据形态)可交互。
##### 【P1】【TC-UI-STAT-DES-003】【TP_STAT_DES_036】抽屉内重置恢复抽屉字段默认
......@@ -76,7 +76,7 @@
##### 【P0】【TC-UI-STAT-DES-004】【TP_STAT_DES_043】全量查询条件组合查询
- 操作步骤(可选):`searchAndExtractSample()` 取样本(可展开首行读子表)→ 快捷区填入物料名称、记账日期、单据类型 → 打开高级筛选,填入科室、库区名称、单据形态、来源库房、单号、结算方式、进院供应商名称、产品是否收费 → 「筛 选」。
- 操作步骤(可选):`searchAndExtractSample()` 取样本(可展开首行读子表)→ 快捷区填入物料名称、记账日期、单据类型 → 打开高级筛选,填入科室、库区名称、单据形态、来源库房、单号、结算方式、销售商(自定义)名称、产品是否收费 → 「筛 选」。
- 自动化断言:首行「物料编号/名称」「入库数量」「结算方式」与已填条件一致;底部「入库品种/入库单元数/入库数量/入库金额」与筛选一致。
###### 预期结果
......@@ -172,7 +172,7 @@
##### 【P0】【TC-UI-STAT-DES-016】【TP_STAT_DES_059】子表列展示完整
- 操作步骤(可选):展开首行。
- 自动化断言:子表表头包含「入库单号」「记账日期」「单据类型」「院区名称」「进院供应商」「制单人」「查看」(或「操作」列含查看链接)。
- 自动化断言:子表表头包含「入库单号」「记账日期」「单据类型」「院区名称」「销售商(自定义)」「制单人」「查看」(或「操作」列含查看链接)。
###### 预期结果
......@@ -294,4 +294,4 @@
| 测试点映射 | 96 条测试点中,高价值稳定场景已映射;列设置/组合查询/维度/行展开为本页增量覆盖;列排序 TP_051 不适用(页面不支持) |
| 结构规范 | H1~H6 层级与明细查询用例一致;优先级 P0/P1/P2 与测试点对齐 |
| 动态取数 | 004 使用 `searchAndExtractSample()` + 可选 `expandFirstRow()`;009 反例 mock 不变 |
| 待实现 | Page Object 与 spec 待开发(可参考 `center-report-entry` 分层;维度为「区分进院供应商」) |
| 待实现 | Page Object 与 spec 待开发(可参考 `center-report-entry` 分层;维度为「区分销售商(自定义)」) |
......@@ -69,7 +69,7 @@
##### 【P0】【TC-UI-STAT-DLS-007】【TP_STAT_DLS_026】快捷与高级组合查询
- 操作步骤(可选):`searchAndExtractSample()` 取样本 → 快捷区填入物资名称、记账日期、物资分类 → 打开高级筛选,填入单号、院区名称、科室名称、单据类型、生成方式、进院供应商、采购员 → 「筛 选」。
- 操作步骤(可选):`searchAndExtractSample()` 取样本 → 快捷区填入物资名称、记账日期、物资分类 → 打开高级筛选,填入单号、院区名称、科室名称、单据类型、生成方式、销售商(自定义)、采购员 → 「筛 选」。
- 自动化断言:首行「物资编号/名称」「记账日期」「物资分类」「单据类型」与已填条件一致;底部汇总与筛选一致。
###### 预期结果
......
......@@ -61,7 +61,7 @@
##### 【P0】【TC-UI-STAT-DOD-004】【TP_STAT_DOD_086】全量查询条件组合查询
- 前置条件:记账日期默认为2026-08-15至2026-09-14。
- 操作步骤(可选):`searchAndExtractSample()` 取样本 → 快捷区填入物料名称、记账日期、单据类型 → 打开高级筛选,填入科室、库区名称、单据形态、耗材分类、批号、条码号、单号、进院供应商、结算方式、备注、规格型号、制单人、统计维度、是否收费、是否重点管控、重点管控分类、医保编码 → 「筛 选」。
- 操作步骤(可选):`searchAndExtractSample()` 取样本 → 快捷区填入物料名称、记账日期、单据类型 → 打开高级筛选,填入科室、库区名称、单据形态、耗材分类、批号、条码号、单号、销售商(自定义)、结算方式、备注、规格型号、制单人、统计维度、是否收费、是否重点管控、重点管控分类、医保编码 → 「筛 选」。
- 自动化断言:首行「物料编号/名称」「科室名称」「单据类型」「批号」「单号」「规格型号」「结算方式」与已填条件一致;底部汇总与筛选一致。
###### 预期结果
......
......@@ -40,7 +40,7 @@
##### 【P0】【TC-UI-STAT-DOS-007】【TP_STAT_DOS_025】三维度组合勾选查询
- 操作步骤(可选):同时勾选「区分包装」「区分批号」「区分进院供应商」→ 查询。
- 操作步骤(可选):同时勾选「区分包装」「区分批号」「区分销售商(自定义)」→ 查询。
- 自动化断言:查询成功;主表行粒度为三者组合;底部出库汇总与主表聚合一致。
###### 预期结果
......@@ -60,7 +60,7 @@
###### 预期结果
抽屉展开;含院区、出库目标、批号、进院供应商等字段。
抽屉展开;含院区、出库目标、批号、销售商(自定义)等字段。
##### 【P1】【TC-UI-STAT-DOS-003】【TP_STAT_DOS_035】抽屉内重置恢复默认
......@@ -73,7 +73,7 @@
##### 【P0】【TC-UI-STAT-DOS-004】【TP_STAT_DOS_040】全量查询条件组合查询
- 操作步骤(可选):`searchAndExtractSample()` 取样本(可展开首行读子表)→ 快捷区填入物料名称、记账日期、单据类型 → 打开高级筛选,填入科室、库区名称、单据形态、批号、单号、出库目标、结算方式、进院供应商名称、产品是否收费 → 「筛 选」。
- 操作步骤(可选):`searchAndExtractSample()` 取样本(可展开首行读子表)→ 快捷区填入物料名称、记账日期、单据类型 → 打开高级筛选,填入科室、库区名称、单据形态、批号、单号、出库目标、结算方式、销售商(自定义)名称、产品是否收费 → 「筛 选」。
- 自动化断言:首行「物料编号/名称」「出库数量」「结算方式」与已填条件一致;底部「出库品种/出库单总数/出库数量/合计出库金额」与筛选一致。
###### 预期结果
......
......@@ -15,7 +15,7 @@
**动态取数约定**(对齐 STAT-DOS):
1. 默认查询确认主表有数据 → `InvoiceProvClassifyPage.searchAndExtractSample()` / `extractSampleRow()`。
2. 条件使用 `${sampleXxx}` 占位;**禁止写死**产品/单号/日期/院区等业务数据。
3. **反例 mock**:`__NOT_EXIST_SUPPLIER__99999`(字段:进院供应商名称,与 CSV 一致)。
3. **反例 mock**:`__NOT_EXIST_SUPPLIER__99999`(字段:销售商(自定义)名称,与 CSV 一致)。
4. **组合查询**:若主表无归档日期列,勿用 fallback 单日覆盖默认区间(STAT-LMP-004)。
---
......@@ -79,10 +79,10 @@
- 前置条件:测试环境可访问;测试账号已登录并进入供应商开票分类汇总页(iframe settleInvoice/provInvoice);已默认查询且主表至少有 1 条数据
- 操作步骤:
1. searchAndExtractSample() 读取样本(${sampleXxx},禁止写死业务数据)
2. 快捷区填入 归档日期、分类方式、进院供应商名称
2. 快捷区填入 归档日期、分类方式、销售商(自定义)名称
3. 打开高级筛选,填入 耗材类型
4. 点击「筛 选」并等待刷新
5. 检查首行 进院供应商名称、分类方式、汇总金额 与条件一致
5. 检查首行 销售商(自定义)名称、分类方式、汇总金额 与条件一致
- 自动化断言:与 CSV `STAT-IPV-004` 及 `tests/spd/invoice-prov-classify.spec.ts` 一致
###### 预期结果
......@@ -136,7 +136,7 @@
- 前置条件:测试环境可访问;测试账号已登录并进入供应商开票分类汇总页(iframe settleInvoice/provInvoice)
- 操作步骤:
1. 进院供应商名称填 __NOT_EXIST_SUPPLIER__99999
1. 销售商(自定义)名称填 __NOT_EXIST_SUPPLIER__99999
2. 点击「查 询」
3. 检查主表;若存在底部汇总区则一并检查,无则跳过
- 自动化断言:与 CSV `STAT-IPV-007` 及 `tests/spd/invoice-prov-classify.spec.ts` 一致
......
......@@ -41,12 +41,12 @@
---
##### 【P0】【TC-UI-STAT-IBL-002】【TP_STAT_IBL_014】结算单号、结算月份、进院供应商组合查询
##### 【P0】【TC-UI-STAT-IBL-002】【TP_STAT_IBL_014】结算单号、结算月份、销售商(自定义)组合查询
- 前置条件:测试环境可访问;测试账号已登录并进入结算单发票状态查询页(iframe settleInvoice/balanceInvoice);已默认查询且主表至少有 1 条数据
- 操作步骤:
1. searchAndExtractSample() 读取样本(${sampleXxx},禁止写死业务数据)
2. 快捷区填入样本中 结算单号、结算月份、进院供应商(结算月份若主表无对应列则保持页面默认区间,勿 fallback 单日)
2. 快捷区填入样本中 结算单号、结算月份、销售商(自定义)(结算月份若主表无对应列则保持页面默认区间,勿 fallback 单日)
3. 点击「查 询」并等待主表刷新
4. 抽样检查首行 结算单号、发票状态、金额 与分页「共 N 条」
- 自动化断言:与 CSV `STAT-IBL-002` 及 `tests/spd/invoice-balance-status.spec.ts` 一致
......@@ -111,12 +111,12 @@
---
##### 【P1】【TC-UI-STAT-IBL-010】【TP_STAT_IBL_041】进院供应商列升序降序切换
##### 【P1】【TC-UI-STAT-IBL-010】【TP_STAT_IBL_041】销售商(自定义)列升序降序切换
- 前置条件:测试环境可访问;测试账号已登录并进入结算单发票状态查询页(iframe settleInvoice/balanceInvoice);已默认查询且主表至少有 2 条数据
- 操作步骤:
1. 默认条件查询
2. 必要时横向滚动使「进院供应商」列表头可见
2. 必要时横向滚动使「销售商(自定义)」列表头可见
3. 第一次点击该列 .ant-table-column-sorter → 校验升序指示器(▲高亮或 aria-sort=ascending)
4. 第二次点击该列 .ant-table-column-sorter → 校验降序指示器(▼高亮或 aria-sort=descending)
- 自动化断言:与 CSV `STAT-IBL-010` 及 `tests/spd/invoice-balance-status.spec.ts` 一致
......@@ -311,7 +311,7 @@
1. 默认条件查询
2. 确认「结算单号」等核心列可见
3. 横向拖拉滚动列表
4. 检查「进院供应商」等远侧列进入可视区
4. 检查「销售商(自定义)」等远侧列进入可视区
5. 检查表头无空白列、表头列数与数据列数一致;相邻列无异常间隙/重叠;表头与数据列对齐正常
- 自动化断言:与 CSV `STAT-IBL-006` 及 `tests/spd/invoice-balance-status.spec.ts` 一致
......
......@@ -15,7 +15,7 @@
**动态取数约定**(对齐 STAT-DOS):
1. 默认查询确认主表有数据 → `InvoiceSettlePage.searchAndExtractSample()` / `extractSampleRow()`。
2. 条件使用 `${sampleXxx}` 占位;**禁止写死**产品/单号/日期/院区等业务数据。
3. **反例 mock**:`__NOT_EXIST_SUPPLIER__99999`(字段:进院供应商名称,与 CSV 一致)。
3. **反例 mock**:`__NOT_EXIST_SUPPLIER__99999`(字段:销售商(自定义)名称,与 CSV 一致)。
4. **组合查询**:若主表无结算月份列,勿用 fallback 单日覆盖默认区间(STAT-LMP-004)。
---
......@@ -30,7 +30,7 @@
- 前置条件:测试环境可访问;测试账号已登录并进入结算开票查询页(iframe settleInvoice/invoice);已默认查询且主表有数据
- 操作步骤:
1. 从主表首行读取结算月份/进院供应商名称样本(${sampleXxx})填入快捷区
1. 从主表首行读取结算月份/销售商(自定义)名称样本(${sampleXxx})填入快捷区
2. 点击「重 置」
3. 检查各字段与快捷筛选恢复默认
- 自动化断言:与 CSV `STAT-ISV-001` 及 `tests/spd/invoice-settle.spec.ts` 一致
......@@ -79,10 +79,10 @@
- 前置条件:测试环境可访问;测试账号已登录并进入结算开票查询页(iframe settleInvoice/invoice);已默认查询且主表至少有 1 条数据
- 操作步骤:
1. searchAndExtractSample() 读取样本(${sampleXxx},禁止写死业务数据)
2. 快捷区填入 结算月份、进院供应商名称、院区名称
2. 快捷区填入 结算月份、销售商(自定义)名称、院区名称
3. 打开高级筛选,填入 是否带量、线上线下
4. 点击「筛 选」并等待刷新
5. 检查首行 进院供应商名称、结算金额 与条件一致
5. 检查首行 销售商(自定义)名称、结算金额 与条件一致
- 自动化断言:与 CSV `STAT-ISV-004` 及 `tests/spd/invoice-settle.spec.ts` 一致
###### 预期结果
......@@ -96,7 +96,7 @@
- 前置条件:测试环境可访问;测试账号已登录并进入结算开票查询页(iframe settleInvoice/invoice);已默认查询有数据
- 操作步骤:
1. searchAndExtractSample() 读取样本
2. 快捷区填入 结算月份、进院供应商名称
2. 快捷区填入 结算月份、销售商(自定义)名称
3. 点击「查 询」
4. 打开高级筛选(不手动修改抽屉)
5. 校验抽屉同名字段与快捷区一致
......@@ -104,7 +104,7 @@
###### 预期结果
抽屉「结算月份」「进院供应商名称」与快捷区已填值一致
抽屉「结算月份」「销售商(自定义)名称」与快捷区已填值一致
---
......@@ -112,12 +112,12 @@
#### 功能验证点
##### 【P0】【TC-UI-STAT-ISV-006】【TP_STAT_ISV_036】结算月份与进院供应商组合查询
##### 【P0】【TC-UI-STAT-ISV-006】【TP_STAT_ISV_036】结算月份与销售商(自定义)组合查询
- 前置条件:测试环境可访问;测试账号已登录并进入结算开票查询页(iframe settleInvoice/invoice);已默认查询有数据
- 操作步骤:
1. searchAndExtractSample() 读取样本
2. 快捷区填入样本 结算月份、进院供应商名称
2. 快捷区填入样本 结算月份、销售商(自定义)名称
3. 点击「查 询」
4. 检查主表金额/汇总与条件匹配
- 自动化断言:与 CSV `STAT-ISV-006` 及 `tests/spd/invoice-settle.spec.ts` 一致
......@@ -148,12 +148,12 @@
---
##### 【P1】【TC-UI-STAT-ISV-017】【TP_STAT_ISV_041】进院供应商列升序降序切换
##### 【P1】【TC-UI-STAT-ISV-017】【TP_STAT_ISV_041】销售商(自定义)列升序降序切换
- 前置条件:测试环境可访问;测试账号已登录并进入结算开票查询页(iframe settleInvoice/invoice);已默认查询且主表至少有 2 条数据
- 操作步骤:
1. 默认条件查询
2. 必要时横向滚动使「进院供应商」列表头可见
2. 必要时横向滚动使「销售商(自定义)」列表头可见
3. 第一次点击该列 .ant-table-column-sorter → 校验升序指示器(▲高亮或 aria-sort=ascending)
4. 第二次点击该列 .ant-table-column-sorter → 校验降序指示器(▼高亮或 aria-sort=descending)
- 自动化断言:与 CSV `STAT-ISV-017` 及 `tests/spd/invoice-settle.spec.ts` 一致
......@@ -282,7 +282,7 @@
- 前置条件:测试环境可访问;测试账号已登录并进入结算开票查询页(iframe settleInvoice/invoice)
- 操作步骤:
1. 进院供应商名称填 __NOT_EXIST_SUPPLIER__99999
1. 销售商(自定义)名称填 __NOT_EXIST_SUPPLIER__99999
2. 点击「查 询」
3. 检查主表;若存在底部汇总区则一并检查,无则跳过
- 自动化断言:与 CSV `STAT-ISV-007` 及 `tests/spd/invoice-settle.spec.ts` 一致
......
......@@ -37,9 +37,9 @@
### 供应商入账分类汇总 · 主表列表与汇总
##### 【P1】【TC-UI-STAT-CSC-007】按进院供应商名称 mock 查询无匹配数据
##### 【P1】【TC-UI-STAT-CSC-007】按销售商(自定义)名称 mock 查询无匹配数据
- 操作步骤:打开高级筛选 → 进院供应商名称填 `__NOT_EXIST_SUPPLIER__99999` → 点击「筛 选」→ 检查空列表/汇总
- 操作步骤:打开高级筛选 → 销售商(自定义)名称填 `__NOT_EXIST_SUPPLIER__99999` → 点击「筛 选」→ 检查空列表/汇总
- 自动化断言:与 CSV `STAT-CSC-007` 及 `tests/spd/cost-supply-classify.spec.ts` 一致(`mockFieldInDrawer: true`)
### 供应商入账分类汇总 · 导出
......
......@@ -33,7 +33,7 @@
| CED-011~026 | 16 列排序 |
| CED-027 | 打印 |
**可排序列**(以 `data/scan/entryCost-sort-columns.json` 为准;**注册证号、进院供应商无排序按钮**):物料名称、规格型号、器械注册人-术语配置、物料编号、产品俗称、单位、耗材类型、27位医保编码、结算单价、耗材分类、财务分类、入账数量、入账金额、入账日期。
**可排序列**(以 `data/scan/entryCost-sort-columns.json` 为准;**注册证号、销售商(自定义)无排序按钮**):物料名称、规格型号、器械注册人-术语配置、物料编号、产品俗称、单位、耗材类型、27位医保编码、结算单价、耗材分类、财务分类、入账数量、入账金额、入账日期。
---
......
......@@ -30,7 +30,7 @@
| CEE-009~010 | 收起/展开、全量组合查询 |
| CEE-011~025 | 15 列排序 |
**可排序列**(以 `data/scan/entryExecCost-sort-columns.json` 为准;**进院供应商列不存在**):物料编号、物料名称、规格型号、器械注册人-术语配置、产品俗称、单位、耗材类型、27位医保编码、结算单价、耗材分类、财务分类、入账数量、入账金额。
**可排序列**(以 `data/scan/entryExecCost-sort-columns.json` 为准;**销售商(自定义)列不存在**):物料编号、物料名称、规格型号、器械注册人-术语配置、产品俗称、单位、耗材类型、27位医保编码、结算单价、耗材分类、财务分类、入账数量、入账金额。
---
......
......@@ -34,7 +34,7 @@
##### 【P0】【TC-UI-STAT-CET-010】全量查询条件组合查询
- 快捷区填入入账日期、院区名称、物料名称、规格型号、器械注册人-术语配置、耗材类型、进院供应商、财务分类等(仅样本有值字段)
- 快捷区填入入账日期、院区名称、物料名称、规格型号、器械注册人-术语配置、耗材类型、销售商(自定义)、财务分类等(仅样本有值字段)
- 自动化断言:与 CSV `STAT-CET-010` 及 `tests/spd/cost-entry-summary.spec.ts` 一致
### 成本入账汇总查询 · 主表列表与汇总
......@@ -68,7 +68,7 @@
##### 【P1】【TC-UI-STAT-CET-011~026】16 列升序降序切换
可排序列:物料编号、物料名称、规格型号、器械注册人-术语配置、产品俗称、单位、耗材类型、注册证号、27位医保编码、进院供应商、结算单价、耗材分类、财务分类、成本数量、成本金额、线上线下标记。
可排序列:物料编号、物料名称、规格型号、器械注册人-术语配置、产品俗称、单位、耗材类型、注册证号、27位医保编码、销售商(自定义)、结算单价、耗材分类、财务分类、成本数量、成本金额、线上线下标记。
- 自动化断言:与 CSV `STAT-CET-011`~`STAT-CET-026` 及 `tests/spd/cost-entry-summary.spec.ts` 一致
......
......@@ -55,7 +55,7 @@
###### 预期结果
抽屉标题为「高级筛选」;含科室名称、统计日期、进院供应商、批号、结算方式等字段可交互
抽屉标题为「高级筛选」;含科室名称、统计日期、销售商(自定义)、批号、结算方式等字段可交互
---
......@@ -80,7 +80,7 @@
- 操作步骤:
1. searchAndExtractSample() 读取样本;展开首行读取子表明细(若有)
2. 快捷区填入物料名称、统计月份、耗材类型
3. 打开高级筛选,填入科室名称、统计日期、进院供应商、批号、结算方式、入院单价
3. 打开高级筛选,填入科室名称、统计日期、销售商(自定义)、批号、结算方式、入院单价
4. 点击「筛 选」并等待刷新
5. 检查首行物料编号/名称、数量、金额与条件一致
- 自动化断言:与 CSV `STAT-CDN-004` 及 `tests/spd/cost-dept-net-in.spec.ts` 一致
......
......@@ -14,10 +14,9 @@
| STAT-CCC-001 | 快捷区重置恢复默认 |
| STAT-CCC-002 | 全量查询条件组合查询(展开区随机组合,对齐 CPR-004) |
| STAT-CCC-003 | 无匹配数据空列表(mock反例,对齐 CPR-007) |
| STAT-CCC-004 | 主表科室名称列升序降序切换 |
| STAT-CCC-005 | 主表查询后导出 |
| STAT-CCC-006 | 按当前查询条件打印 |
| STAT-CCC-004 | 主表查询后导出 |
| STAT-CCC-005 | 按当前查询条件打印 |
**省略块(页面无对应能力)**:高级筛选抽屉(CPR-002–005)、维度勾选(CPR-006)、列设置(CPR-008–011)、双表明细排序/导出(CPR-018–020、025)、分页(CPR-021–023,当前环境主表无分页控件)。
**省略块(页面无对应能力)**:高级筛选抽屉(CPR-002–005)、维度勾选(CPR-006)、列设置(CPR-008–011)、主表列排序(透视表虽可有 sorter,但无列设置且自动化不覆盖)、双表明细排序/导出(CPR-018–020、025)、分页(CPR-021–023,当前环境主表无分页控件)。
**Mock 约定**:快捷区「入账日期」选约 18 个月前区间(`mockFieldLabel: '入账日期'`)。
......@@ -19,4 +19,4 @@
**已删除**:原组合查询、核心列展示、日期 mock 空列表、切换第2页、收起/展开筛选区(与 CSC 精简策略一致)。
**Mock 约定**:快捷区「入账时间」选约 18 个月前区间(`mockFieldLabel: '入账时间'`);科室名称为下拉不可文本 mock,与 CSC 进院供应商文本 mock 区分。
**Mock 约定**:快捷区「入账时间」选约 18 个月前区间(`mockFieldLabel: '入账时间'`);科室名称为下拉不可文本 mock,与 CSC 销售商(自定义)文本 mock 区分。
......@@ -55,7 +55,7 @@
###### 预期结果
抽屉标题为「高级筛选」;含进院供应商名称、二级供应商名称、结算类型、源单号、院区名称等字段可交互
抽屉标题为「高级筛选」;含销售商(自定义)名称、供应商名称、结算类型、源单号、院区名称等字段可交互
---
......@@ -80,7 +80,7 @@
- 操作步骤:
1. searchAndExtractSample() 读取样本;展开首行读取子表明细(若有)
2. 快捷区填入物料名称、入账日期、耗材类型
3. 打开高级筛选,填入进院供应商名称、二级供应商名称、结算类型、源单号、院区名称、科室名称、财务分类、耗材分类、是否期初生成
3. 打开高级筛选,填入销售商(自定义)名称、供应商名称、结算类型、源单号、院区名称、科室名称、财务分类、耗材分类、是否期初生成
4. 点击「筛 选」并等待刷新
5. 检查首行物料编号/名称、数量、金额与条件一致
- 自动化断言:与 CSV `STAT-CSE-004` 及 `tests/spd/cost-settle-entry.spec.ts` 一致
......@@ -112,20 +112,20 @@
#### 功能验证点
##### 【P0】【TC-UI-STAT-CSE-006】【TP_STAT_CSE_064】选择首行后底部汇总与首行对应字段一致
##### 【P0】【TC-UI-STAT-CSE-006】【TP_STAT_CSE_064】查询结果列表合计与底部汇总一致
- 前置条件:测试环境可访问;测试账号已登录并进入结算入账明细查询页(iframe settel/entrySettle);已默认查询有数据
- 操作步骤:
1. 默认条件查询
2. 读取主表首行物料名称及入账数量、入账金额
3. 按首行物料名称等收窄查询
4. 勾选或点选主表首行
5. 读取底部汇总(入账数量、入账金额)并与首行对应字段对比
2. 读取主表首行物料名称等样本
3. 按首行物料名称等收窄查询(同页可完整核对时)
4. 汇总当前页主表入账数量、入账金额
5. 读取底部汇总(入账数量、入账金额)并与列表合计对比
- 自动化断言:与 CSV `STAT-CSE-006` 及 `tests/spd/cost-settle-entry.spec.ts` 一致
###### 预期结果
选择首行后,底部汇总各对应字段与首行数值一致。
当前页查询结果列表各指标合计与底部汇总一致。
---
......
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