Skip to content
GitLab
Projects
Groups
Snippets
/
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Sign in / Register
Toggle navigation
Menu
Open sidebar
test
autotest-playwright-web-spd
Commits
6c31a476
Commit
6c31a476
authored
Oct 28, 2026
by
liguangyu06
Browse files
同步基础管理与统计报表用例文档,并更新 Playwright 脚本与 PO。
对齐 CSV/MD/测试点与现网列名及组合查询;补充厂商资质子 Tab 与基础模块复跑脚本。
parent
aa8987ce
Changes
350
Hide whitespace changes
Inline
Side-by-side
data/vendor-qual-column-settings-cases.ts
0 → 100644
View file @
6c31a476
/** 各主 Tab 列设置用例(证件效期提醒 QUL-005/006 在 vendor-qual.spec.ts;其余 QUL-058~073)。 */
export
type
VendorQualColumnSettingsCase
=
{
tab
:
string
;
openCaseId
:
string
;
toggleCaseId
:
string
;
};
export
const
vendorQualColumnSettingsCertExpiry
:
VendorQualColumnSettingsCase
=
{
tab
:
'
证件效期提醒
'
,
openCaseId
:
'
VENDOR-QUL-005
'
,
toggleCaseId
:
'
VENDOR-QUL-006
'
,
};
/** 除证件效期提醒外 8 个主 Tab ×(打开面板 + 列隐藏恢复) */
export
const
vendorQualColumnSettingsOtherTabs
:
VendorQualColumnSettingsCase
[]
=
[
{
tab
:
'
授权链路效期预警
'
,
openCaseId
:
'
VENDOR-QUL-058
'
,
toggleCaseId
:
'
VENDOR-QUL-059
'
},
{
tab
:
'
供应商三证
'
,
openCaseId
:
'
VENDOR-QUL-060
'
,
toggleCaseId
:
'
VENDOR-QUL-061
'
},
{
tab
:
'
器械注册人
'
,
openCaseId
:
'
VENDOR-QUL-062
'
,
toggleCaseId
:
'
VENDOR-QUL-063
'
},
{
tab
:
'
器械注册证号
'
,
openCaseId
:
'
VENDOR-QUL-064
'
,
toggleCaseId
:
'
VENDOR-QUL-065
'
},
{
tab
:
'
授权书
'
,
openCaseId
:
'
VENDOR-QUL-066
'
,
toggleCaseId
:
'
VENDOR-QUL-067
'
},
{
tab
:
'
承诺书
'
,
openCaseId
:
'
VENDOR-QUL-068
'
,
toggleCaseId
:
'
VENDOR-QUL-069
'
},
{
tab
:
'
法人委托书
'
,
openCaseId
:
'
VENDOR-QUL-070
'
,
toggleCaseId
:
'
VENDOR-QUL-071
'
},
{
tab
:
'
二级供应商三证
'
,
openCaseId
:
'
VENDOR-QUL-072
'
,
toggleCaseId
:
'
VENDOR-QUL-073
'
},
];
export
const
vendorQualColumnSettingsAllTabs
:
VendorQualColumnSettingsCase
[]
=
[
vendorQualColumnSettingsCertExpiry
,
...
vendorQualColumnSettingsOtherTabs
,
];
data/vendor-qual-subtabs.data.ts
0 → 100644
View file @
6c31a476
/**
* 供应商资质管理 · 各主 Tab 下列表区子页签(来自 UI-SPEC-SPD-VENDOR-002 现网截图探查,2026-10)。
* 运行 `node scripts/probe-vendor-qual-subtabs.mjs` 可在登录环境下复核并写入 vendor-qual-subtabs.probe.json。
*/
export
type
VendorQualListSubTab
=
{
title
:
string
;
pattern
:
RegExp
;
};
export
type
VendorQualMainTabSubTabs
=
{
mainTab
:
string
;
subTabs
:
VendorQualListSubTab
[];
/** 子 Tab 标签上的数字是否与分页「共 N 条」一致(可读时断言) */
matchCountWithPagination
:
boolean
;
};
export
const
vendorQualMainTabSubTabs
:
VendorQualMainTabSubTabs
[]
=
[
{
mainTab
:
'
证件效期提醒
'
,
subTabs
:
[
{
title
:
'
三个月内过期
'
,
pattern
:
/三个月内过期|近三个月到期|近三个月/
},
{
title
:
'
一个月内过期
'
,
pattern
:
/一个月内过期|近一个月到期|近一个月/
},
{
title
:
'
已过期
'
,
pattern
:
/已过期/
},
],
matchCountWithPagination
:
true
,
},
/** 列表区效期子 Tab;查询:授权书名称、授权单位、被授权单位 */
{
mainTab
:
'
授权链路效期预警
'
,
subTabs
:
[
{
title
:
'
三个月内过期
'
,
pattern
:
/三个月内过期|近三个月到期|近三个月/
},
{
title
:
'
一个月内过期
'
,
pattern
:
/一个月内过期|近一个月到期|近一个月/
},
{
title
:
'
已过期
'
,
pattern
:
/已过期/
},
],
matchCountWithPagination
:
true
,
},
/** 列表区子 Tab;查询:销售商(自定义)名称 */
{
mainTab
:
'
供应商三证
'
,
subTabs
:
[
{
title
:
'
全部
'
,
pattern
:
/^全部
\b
/
},
{
title
:
'
未过期
'
,
pattern
:
/未过期/
},
{
title
:
'
已过期
'
,
pattern
:
/已过期/
},
{
title
:
'
已缺失
'
,
pattern
:
/已缺失/
},
],
matchCountWithPagination
:
true
,
},
/** 列表区子 Tab;收起:器械注册人、状态、全国总代理;展开:类别、销售商(自定义)名称 */
{
mainTab
:
'
器械注册人
'
,
subTabs
:
[
{
title
:
'
全部
'
,
pattern
:
/^全部
\b
/
},
{
title
:
'
已维护
'
,
pattern
:
/已维护/
},
{
title
:
'
未维护
'
,
pattern
:
/未维护/
},
],
matchCountWithPagination
:
true
,
},
/** 列表区子 Tab;收起:器械注册人、销售商(自定义)名称、状态;展开:注册证号等五项 */
{
mainTab
:
'
器械注册证号
'
,
subTabs
:
[
{
title
:
'
全部
'
,
pattern
:
/^全部
\b
/
},
{
title
:
'
未过期
'
,
pattern
:
/未过期/
},
{
title
:
'
已过期
'
,
pattern
:
/已过期/
},
],
matchCountWithPagination
:
true
,
},
/** 列表区子 Tab;收起区:器械注册人、销售商(自定义)名称、状态;展开:授权书名称、注册证号、被授权单位 */
{
mainTab
:
'
授权书
'
,
subTabs
:
[
{
title
:
'
全部
'
,
pattern
:
/^全部
\b
/
},
{
title
:
'
未过期
'
,
pattern
:
/未过期/
},
{
title
:
'
已过期
'
,
pattern
:
/已过期/
},
],
matchCountWithPagination
:
true
,
},
/** 列表区子 Tab;查询:销售商(自定义)名称、承诺类型、状态 */
{
mainTab
:
'
承诺书
'
,
subTabs
:
[
{
title
:
'
全部
'
,
pattern
:
/^全部
\b
/
},
{
title
:
'
未过期
'
,
pattern
:
/未过期/
},
{
title
:
'
已过期
'
,
pattern
:
/已过期/
},
],
matchCountWithPagination
:
true
,
},
/** 列表区子 Tab;查询:销售商(自定义)名称、业务员、状态 */
{
mainTab
:
'
法人委托书
'
,
subTabs
:
[
{
title
:
'
全部
'
,
pattern
:
/^全部
\b
/
},
{
title
:
'
未过期
'
,
pattern
:
/未过期/
},
{
title
:
'
已过期
'
,
pattern
:
/已过期/
},
],
matchCountWithPagination
:
true
,
},
/** 列表区子 Tab(非顶部证件分类);查询:销售商(自定义)名称、供应商名称、数据来源类型 */
{
mainTab
:
'
二级供应商三证
'
,
subTabs
:
[
{
title
:
'
全部
'
,
pattern
:
/^全部
\b
/
},
{
title
:
'
未过期
'
,
pattern
:
/未过期/
},
{
title
:
'
已过期
'
,
pattern
:
/已过期/
},
],
matchCountWithPagination
:
true
,
},
];
export
function
subTabsForMainTab
(
mainTab
:
string
):
VendorQualMainTabSubTabs
{
const
found
=
vendorQualMainTabSubTabs
.
find
((
t
)
=>
t
.
mainTab
===
mainTab
);
if
(
!
found
)
{
throw
new
Error
(
`未配置主 Tab「
${
mainTab
}
」的列表子页签,请更新 data/vendor-qual-subtabs.data.ts`
);
}
return
found
;
}
/** 用例标题 / CSV 摘要:子页签名称以「/」连接 */
export
function
listSubTabTitleSummary
(
mainTab
:
string
):
string
{
return
subTabsForMainTab
(
mainTab
)
.
subTabs
.
map
((
s
)
=>
s
.
title
)
.
join
(
'
/
'
);
}
data/vendor-qual-tab-cases.ts
0 → 100644
View file @
6c31a476
/** 供应商资质管理 · 除「证件效期提醒」外需与 002–009 同步的主 Tab 用例矩阵(CSV 编号一致)。 */
export
type
VendorQualSecondFieldKind
=
'
text
'
|
'
select
'
;
export
type
VendorQualComboField
=
{
filter
:
string
;
/** 列表列名(按顺序尝试取首行样本) */
columnHeaders
:
string
[];
kind
:
VendorQualSecondFieldKind
;
};
export
type
VendorQualTabProfile
=
{
tab
:
string
;
secondFilter
?:
string
;
secondColumn
?:
string
;
secondKind
?:
VendorQualSecondFieldKind
;
/** 三项及以上组合查询(销售商(自定义)名称由 PO 统一处理) */
comboFields
?:
VendorQualComboField
[];
/** 点击「展开」后出现的筛选项(在 comboFields 与销售商填写之后填写) */
expandedComboFields
?:
VendorQualComboField
[];
/** 查询区字段文案(含销售商时写全;与页面 label 一致) */
queryFilters
?:
string
[];
/** 收起态可见筛选项(文档用) */
queryFiltersCollapsed
?:
string
[];
/** 展开后额外筛选项(文档用) */
queryFiltersExpanded
?:
string
[];
/** 组合查询用例标题摘要(spec / 文档) */
comboQuerySummary
?:
string
;
/** 列表区子页签(非顶部证件分类 Tab),配置见 vendor-qual-subtabs.data.ts */
hasExpirySubTabs
:
boolean
;
/** 销售商(自定义)名称仅在点击「展开」后的筛选项中填写 */
supplierInExpandedFilters
?:
boolean
;
/** 组合查询仅填写销售商(自定义)名称 */
comboSupplierOnly
?:
boolean
;
/** 组合查询不含销售商(自定义)(仅 comboFields) */
comboWithoutSupplier
?:
boolean
;
};
export
type
VendorQualTabCaseIds
=
{
combo
:
string
;
reset
:
string
;
export
:
string
;
view
:
string
;
expirySwitch
?:
string
;
expiryCount
?:
string
;
};
export
type
VendorQualSyncTab
=
VendorQualTabProfile
&
{
caseIds
:
VendorQualTabCaseIds
};
export
const
vendorQualCertExpiryProfile
:
VendorQualTabProfile
=
{
tab
:
'
证件效期提醒
'
,
secondFilter
:
'
证件类型
'
,
secondColumn
:
'
证件类型
'
,
secondKind
:
'
select
'
,
hasExpirySubTabs
:
true
,
};
/** 证件效期提醒:002–009 已在 spec 中单独维护。 */
export
const
vendorQualSyncTabs
:
VendorQualSyncTab
[]
=
[
{
tab
:
'
授权链路效期预警
'
,
queryFilters
:
[
'
授权书名称
'
,
'
授权单位
'
,
'
被授权单位
'
],
comboQuerySummary
:
'
授权书名称、授权单位、被授权单位
'
,
comboWithoutSupplier
:
true
,
comboFields
:
[
{
filter
:
'
授权书名称
'
,
columnHeaders
:
[
'
授权书名称
'
],
kind
:
'
text
'
,
},
{
filter
:
'
授权单位
'
,
columnHeaders
:
[
'
授权单位
'
],
kind
:
'
text
'
,
},
{
filter
:
'
被授权单位
'
,
columnHeaders
:
[
'
被授权单位
'
],
kind
:
'
text
'
,
},
],
hasExpirySubTabs
:
true
,
caseIds
:
{
combo
:
'
VENDOR-QUL-010
'
,
reset
:
'
VENDOR-QUL-011
'
,
export
:
'
VENDOR-QUL-012
'
,
view
:
'
VENDOR-QUL-013
'
,
expirySwitch
:
'
VENDOR-QUL-014
'
,
expiryCount
:
'
VENDOR-QUL-015
'
,
},
},
{
tab
:
'
供应商三证
'
,
queryFilters
:
[
'
销售商(自定义)名称
'
],
comboQuerySummary
:
'
销售商(自定义)名称
'
,
comboSupplierOnly
:
true
,
hasExpirySubTabs
:
true
,
caseIds
:
{
combo
:
'
VENDOR-QUL-016
'
,
reset
:
'
VENDOR-QUL-017
'
,
export
:
'
VENDOR-QUL-018
'
,
view
:
'
VENDOR-QUL-019
'
,
expirySwitch
:
'
VENDOR-QUL-044
'
,
expiryCount
:
'
VENDOR-QUL-045
'
,
},
},
{
tab
:
'
器械注册人
'
,
supplierInExpandedFilters
:
true
,
queryFiltersCollapsed
:
[
'
器械注册人
'
,
'
状态
'
,
'
全国总代理
'
],
queryFiltersExpanded
:
[
'
类别
'
,
'
销售商(自定义)名称
'
],
queryFilters
:
[
'
器械注册人
'
,
'
状态
'
,
'
全国总代理
'
,
'
类别
'
,
'
销售商(自定义)名称
'
],
comboQuerySummary
:
'
器械注册人、状态、全国总代理与展开区类别、销售商(自定义)名称
'
,
comboFields
:
[
{
filter
:
'
器械注册人
'
,
columnHeaders
:
[
'
器械注册人
'
,
'
注册人
'
],
kind
:
'
text
'
,
},
{
filter
:
'
状态
'
,
columnHeaders
:
[
'
状态
'
],
kind
:
'
select
'
,
},
{
filter
:
'
全国总代理
'
,
columnHeaders
:
[
'
全国总代理
'
],
kind
:
'
text
'
,
},
],
expandedComboFields
:
[
{
filter
:
'
类别
'
,
columnHeaders
:
[
'
类别
'
],
kind
:
'
select
'
,
},
{
filter
:
'
销售商(自定义)名称
'
,
columnHeaders
:
[
'
销售商(自定义)名称
'
,
'
销售商(自定义)
'
,
'
销售商
'
,
'
进院供应商
'
],
kind
:
'
text
'
,
},
],
hasExpirySubTabs
:
true
,
caseIds
:
{
combo
:
'
VENDOR-QUL-020
'
,
reset
:
'
VENDOR-QUL-021
'
,
export
:
'
VENDOR-QUL-022
'
,
view
:
'
VENDOR-QUL-023
'
,
expirySwitch
:
'
VENDOR-QUL-046
'
,
expiryCount
:
'
VENDOR-QUL-047
'
,
},
},
{
tab
:
'
器械注册证号
'
,
queryFiltersCollapsed
:
[
'
器械注册人
'
,
'
销售商(自定义)名称
'
,
'
状态
'
],
queryFiltersExpanded
:
[
'
注册证号
'
,
'
是否有附件
'
,
'
注册产品名称
'
,
'
是否新证
'
,
'
产品名称
'
],
queryFilters
:
[
'
器械注册人
'
,
'
销售商(自定义)名称
'
,
'
状态
'
,
'
注册证号
'
,
'
是否有附件
'
,
'
注册产品名称
'
,
'
是否新证
'
,
'
产品名称
'
,
],
comboQuerySummary
:
'
器械注册人、销售商(自定义)名称、状态与展开区注册证号、是否有附件、注册产品名称、是否新证、产品名称
'
,
comboFields
:
[
{
filter
:
'
器械注册人
'
,
columnHeaders
:
[
'
器械注册人
'
,
'
注册人
'
],
kind
:
'
text
'
,
},
{
filter
:
'
状态
'
,
columnHeaders
:
[
'
状态
'
],
kind
:
'
select
'
,
},
],
expandedComboFields
:
[
{
filter
:
'
注册证号
'
,
columnHeaders
:
[
'
注册证号
'
,
'
注册证编号
'
],
kind
:
'
text
'
,
},
{
filter
:
'
是否有附件
'
,
columnHeaders
:
[
'
是否有附件
'
,
'
附件
'
],
kind
:
'
select
'
,
},
{
filter
:
'
注册产品名称
'
,
columnHeaders
:
[
'
注册产品名称
'
],
kind
:
'
text
'
,
},
{
filter
:
'
是否新证
'
,
columnHeaders
:
[
'
是否新证
'
,
'
新证
'
],
kind
:
'
select
'
,
},
{
filter
:
'
产品名称
'
,
columnHeaders
:
[
'
产品名称
'
],
kind
:
'
text
'
,
},
],
hasExpirySubTabs
:
true
,
caseIds
:
{
combo
:
'
VENDOR-QUL-024
'
,
reset
:
'
VENDOR-QUL-025
'
,
export
:
'
VENDOR-QUL-026
'
,
view
:
'
VENDOR-QUL-027
'
,
expirySwitch
:
'
VENDOR-QUL-048
'
,
expiryCount
:
'
VENDOR-QUL-049
'
,
},
},
{
tab
:
'
授权书
'
,
queryFiltersCollapsed
:
[
'
器械注册人
'
,
'
销售商(自定义)名称
'
,
'
状态
'
],
queryFiltersExpanded
:
[
'
授权书名称
'
,
'
注册证号
'
,
'
被授权单位
'
],
queryFilters
:
[
'
器械注册人
'
,
'
销售商(自定义)名称
'
,
'
状态
'
,
'
授权书名称
'
,
'
注册证号
'
,
'
被授权单位
'
,
],
comboQuerySummary
:
'
器械注册人、销售商(自定义)名称、状态与展开区授权书名称、注册证号、被授权单位
'
,
comboFields
:
[
{
filter
:
'
器械注册人
'
,
columnHeaders
:
[
'
器械注册人
'
,
'
注册人
'
],
kind
:
'
text
'
,
},
{
filter
:
'
状态
'
,
columnHeaders
:
[
'
状态
'
],
kind
:
'
select
'
,
},
],
expandedComboFields
:
[
{
filter
:
'
授权书名称
'
,
columnHeaders
:
[
'
授权书名称
'
],
kind
:
'
text
'
,
},
{
filter
:
'
注册证号
'
,
columnHeaders
:
[
'
注册证号
'
,
'
注册证编号
'
],
kind
:
'
text
'
,
},
{
filter
:
'
被授权单位
'
,
columnHeaders
:
[
'
被授权单位
'
],
kind
:
'
text
'
,
},
],
hasExpirySubTabs
:
true
,
caseIds
:
{
combo
:
'
VENDOR-QUL-028
'
,
reset
:
'
VENDOR-QUL-029
'
,
export
:
'
VENDOR-QUL-030
'
,
view
:
'
VENDOR-QUL-031
'
,
expirySwitch
:
'
VENDOR-QUL-050
'
,
expiryCount
:
'
VENDOR-QUL-051
'
,
},
},
{
tab
:
'
承诺书
'
,
queryFilters
:
[
'
销售商(自定义)名称
'
,
'
承诺类型
'
,
'
状态
'
],
comboQuerySummary
:
'
销售商(自定义)名称、承诺类型、状态
'
,
comboFields
:
[
{
filter
:
'
承诺类型
'
,
columnHeaders
:
[
'
承诺类型
'
,
'
承诺书类型
'
],
kind
:
'
select
'
,
},
{
filter
:
'
状态
'
,
columnHeaders
:
[
'
状态
'
],
kind
:
'
select
'
,
},
],
hasExpirySubTabs
:
true
,
caseIds
:
{
combo
:
'
VENDOR-QUL-032
'
,
reset
:
'
VENDOR-QUL-033
'
,
export
:
'
VENDOR-QUL-034
'
,
view
:
'
VENDOR-QUL-035
'
,
expirySwitch
:
'
VENDOR-QUL-052
'
,
expiryCount
:
'
VENDOR-QUL-053
'
,
},
},
{
tab
:
'
法人委托书
'
,
queryFilters
:
[
'
销售商(自定义)名称
'
,
'
业务员
'
,
'
状态
'
],
comboQuerySummary
:
'
销售商(自定义)名称、业务员、状态
'
,
comboFields
:
[
{
filter
:
'
业务员
'
,
columnHeaders
:
[
'
业务员
'
,
'
业务人员
'
,
'
业务员姓名
'
],
kind
:
'
text
'
,
},
{
filter
:
'
状态
'
,
columnHeaders
:
[
'
状态
'
],
kind
:
'
select
'
,
},
],
hasExpirySubTabs
:
true
,
caseIds
:
{
combo
:
'
VENDOR-QUL-036
'
,
reset
:
'
VENDOR-QUL-037
'
,
export
:
'
VENDOR-QUL-038
'
,
view
:
'
VENDOR-QUL-039
'
,
expirySwitch
:
'
VENDOR-QUL-054
'
,
expiryCount
:
'
VENDOR-QUL-055
'
,
},
},
{
tab
:
'
二级供应商三证
'
,
queryFilters
:
[
'
销售商(自定义)名称
'
,
'
供应商名称
'
,
'
数据来源类型
'
],
comboQuerySummary
:
'
销售商(自定义)名称、供应商名称、数据来源类型
'
,
comboFields
:
[
{
filter
:
'
供应商名称
'
,
columnHeaders
:
[
'
供应商名称
'
,
'
二级供应商名称
'
,
'
二级供应商
'
],
kind
:
'
text
'
,
},
{
filter
:
'
数据来源类型
'
,
columnHeaders
:
[
'
数据来源类型
'
,
'
数据来源
'
],
kind
:
'
select
'
,
},
],
hasExpirySubTabs
:
true
,
caseIds
:
{
combo
:
'
VENDOR-QUL-040
'
,
reset
:
'
VENDOR-QUL-041
'
,
export
:
'
VENDOR-QUL-042
'
,
view
:
'
VENDOR-QUL-043
'
,
expirySwitch
:
'
VENDOR-QUL-056
'
,
expiryCount
:
'
VENDOR-QUL-057
'
,
},
},
];
/** 各主 Tab 列表区子页签用例(证件效期提醒为 QUL-007/008,其余见 caseIds.expirySwitch/expiryCount)。 */
export
const
vendorQualExpirySubTabCaseIds
:
Array
<
{
tab
:
string
;
switchId
:
string
;
countId
:
string
}
>
=
[
{
tab
:
'
证件效期提醒
'
,
switchId
:
'
VENDOR-QUL-007
'
,
countId
:
'
VENDOR-QUL-008
'
},
...
vendorQualSyncTabs
.
filter
((
t
)
=>
t
.
caseIds
.
expirySwitch
&&
t
.
caseIds
.
expiryCount
).
map
((
t
)
=>
({
tab
:
t
.
tab
,
switchId
:
t
.
caseIds
.
expirySwitch
!
,
countId
:
t
.
caseIds
.
expiryCount
!
,
})),
];
export
const
vendorQualRegistrantProfile
:
VendorQualTabProfile
=
vendorQualSyncTabs
.
find
(
(
t
)
=>
t
.
tab
===
'
器械注册人
'
,
)
!
;
export
const
vendorQualRegCertNoProfile
:
VendorQualTabProfile
=
vendorQualSyncTabs
.
find
(
(
t
)
=>
t
.
tab
===
'
器械注册证号
'
,
)
!
;
export
const
vendorQualAuthLetterProfile
:
VendorQualTabProfile
=
vendorQualSyncTabs
.
find
(
(
t
)
=>
t
.
tab
===
'
授权书
'
,
)
!
;
export
const
vendorQualCommitmentProfile
:
VendorQualTabProfile
=
vendorQualSyncTabs
.
find
(
(
t
)
=>
t
.
tab
===
'
承诺书
'
,
)
!
;
export
const
vendorQualLegalRepProfile
:
VendorQualTabProfile
=
vendorQualSyncTabs
.
find
(
(
t
)
=>
t
.
tab
===
'
法人委托书
'
,
)
!
;
export
const
vendorQualSubThreeCertProfile
:
VendorQualTabProfile
=
vendorQualSyncTabs
.
find
((
t
)
=>
t
.
tab
===
'
二级供应商三证
'
)
!
;
export
function
vendorQualResetTestLabel
(
tabCase
:
VendorQualTabProfile
):
string
{
if
(
tabCase
.
comboWithoutSupplier
&&
tabCase
.
comboFields
?.[
0
])
{
return
`填写
${
tabCase
.
comboFields
[
0
].
filter
}
后重置清空`
;
}
return
'
填写销售商(自定义)名称后重置清空
'
;
}
export
function
vendorQualComboTestLabel
(
tabCase
:
VendorQualTabProfile
):
string
{
if
(
tabCase
.
comboQuerySummary
)
{
return
tabCase
.
comboQuerySummary
;
}
if
(
tabCase
.
comboSupplierOnly
)
{
return
'
销售商(自定义)名称
'
;
}
return
`销售商与
${
tabCase
.
secondFilter
??
'
第二条件
'
}
`
;
}
export
const
vendorQualAuthLinkExpiryProfile
:
VendorQualTabProfile
=
vendorQualSyncTabs
.
find
(
(
t
)
=>
t
.
tab
===
'
授权链路效期预警
'
,
)
!
;
export
const
vendorQualSupplierThreeCertProfile
:
VendorQualTabProfile
=
vendorQualSyncTabs
.
find
(
(
t
)
=>
t
.
tab
===
'
供应商三证
'
,
)
!
;
data/vendor.data.ts
View file @
6c31a476
...
...
@@ -18,12 +18,30 @@ export const vendorData = {
mockMfrsName
:
'
__NOT_EXIST_MFRS__99999
'
,
mockSupplier
:
'
__NOT_EXIST_SUPPLIER__99999
'
,
mockOrder
:
'
__NOT_EXIST_ORDER__99999
'
,
/** 厂商查询页分页下拉最小档位(扫描为 20/50/100/200,无 10) */
paginationPageSizeTo
:
'
20 条/页
'
,
/** 列设置可 toggle 的非核心列(按表头可见性择一) */
columnSettingsToggleCandidates
:
[
'
简称
'
,
'
开户银行
'
,
'
银行账号
'
,
'
产地
'
,
'
详细地址
'
],
menuAuthFirst
:
'
授权变更初审
'
,
/** 授权变更初审 · 状态筛选默认值 */
authFirstDefaultStatus
:
'
通过
'
,
menuAuthFinal
:
'
授权变更终审
'
,
menuCertFirst
:
'
注册证变更初审
'
,
menuCertFinal
:
'
注册证变更终审
'
,
menuCertDiff
:
'
注册证差异对比
'
,
menuEvalScheme
:
'
评价方案维护
'
,
/** 评价方案维护 VENDOR-EVS-001:前置默认创建日期区间 */
evalSchemeDefaultCreateDateStart
:
'
2026-04-27
'
,
evalSchemeDefaultCreateDateEnd
:
'
2026-10-27
'
,
/** 评价方案维护 · 列设置可 toggle 的非核心列(按表头或列设置面板可见性择一) */
evalSchemeColumnSettingsToggleCandidates
:
[
'
备注
'
,
'
备注信息
'
,
'
停用人
'
,
'
停用人/时间
'
,
'
启用人
'
,
'
创建人
'
],
menuEvalIndicator
:
'
评价指标维护
'
,
menuHoliday
:
'
供应商节假日管理
'
,
/** 供应商节假日管理 · 右侧自定义列表列设置可 toggle 的非核心列 */
holidayColumnSettingsToggleCandidates
:
[
'
备注
'
,
'
创建人时间
'
,
'
进院供应商编码
'
],
/** 供应商资质管理 · 证件效期提醒列设置可 toggle 的非核心列 */
qualColumnSettingsToggleCandidates
:
[
'
数据来源
'
,
'
证件编码
'
,
'
制单日期
'
,
'
备注
'
],
}
as
const
;
/** @deprecated 请使用 subTabsForMainTab(mainTab)(data/vendor-qual-subtabs.data.ts) */
export
{
subTabsForMainTab
as
vendorQualSubTabsForMainTab
}
from
'
./vendor-qual-subtabs.data
'
;
data/warn-detain.data.ts
View file @
6c31a476
...
...
@@ -4,7 +4,7 @@ import type { DeptQuickFieldDef } from './dept-report-field-defs';
export
const
warnDetainColumns
=
{
productName
:
'
物料名称
'
,
field
:
'
默认
供应
商
'
,
field
:
'
默认
销售
商
'
,
productType
:
'
产品类型
'
,
campus
:
'
院区名称
'
,
field2
:
'
库房名称
'
,
...
...
@@ -30,7 +30,7 @@ export const warnDetainComboQuickFields: readonly DeptQuickFieldDef[] = [
export
const
warnDetainComboDrawerFields
:
readonly
CenterReportDrawerField
[]
=
[
{
key
:
'
productName
'
,
type
:
'
text
'
,
label
:
'
物料名称
'
},
{
key
:
'
field
'
,
type
:
'
text
'
,
label
:
'
默认
供应
商
'
},
{
key
:
'
field
'
,
type
:
'
text
'
,
label
:
'
默认
销售
商
'
},
{
key
:
'
productType
'
,
type
:
'
select
'
,
label
:
'
产品类型
'
},
{
key
:
'
campus
'
,
type
:
'
select
'
,
label
:
'
院区名称
'
},
{
key
:
'
field2
'
,
type
:
'
text
'
,
label
:
'
库房名称
'
},
...
...
data/warn-expdt.data.ts
View file @
6c31a476
...
...
@@ -4,7 +4,7 @@ import type { DeptQuickFieldDef } from './dept-report-field-defs';
export
const
warnExpdtColumns
=
{
productName
:
'
物料名称
'
,
supplierName
:
'
进院供应商
名称
'
,
supplierName
:
'
销售商(自定义)
名称
'
,
field
:
'
近效期
'
,
field2
:
'
条码
'
,
campus
:
'
院区
'
,
...
...
@@ -21,7 +21,7 @@ export const warnExpdtColumns = {
field10
:
'
器械注册人-术语配置
'
,
batchNo
:
'
批号
'
,
field11
:
'
单位
'
,
supplierName2
:
'
进院供应商
'
,
supplierName2
:
'
销售商(自定义)
'
,
field12
:
'
生产日期
'
,
field13
:
'
库存数量
'
,
statDate
:
'
统计日期
'
,
...
...
@@ -30,16 +30,16 @@ export const warnExpdtColumns = {
export
const
warnExpdtComboFullQuickFields
:
readonly
DeptQuickFieldDef
[]
=
[
{
key
:
'
productName
'
,
label
:
'
物料名称
'
,
type
:
'
text
'
},
{
key
:
'
supplierName
'
,
label
:
'
进院供应商
名称
'
,
type
:
'
text
'
},
{
key
:
'
supplierName
'
,
label
:
'
销售商(自定义)
名称
'
,
type
:
'
text
'
},
];
export
const
warnExpdtComboQuickFields
:
readonly
DeptQuickFieldDef
[]
=
[
{
key
:
'
productName
'
,
label
:
'
物料名称
'
,
type
:
'
text
'
},
{
key
:
'
supplierName
'
,
label
:
'
进院供应商
名称
'
,
type
:
'
text
'
},
{
key
:
'
supplierName
'
,
label
:
'
销售商(自定义)
名称
'
,
type
:
'
text
'
},
];
export
const
warnExpdtComboDrawerFields
:
readonly
CenterReportDrawerField
[]
=
[
{
key
:
'
productName
'
,
type
:
'
text
'
,
label
:
'
物料名称
'
},
{
key
:
'
supplierName
'
,
type
:
'
text
'
,
label
:
'
进院供应商
名称
'
},
{
key
:
'
supplierName
'
,
type
:
'
text
'
,
label
:
'
销售商(自定义)
名称
'
},
{
key
:
'
field
'
,
type
:
'
select
'
,
label
:
'
近效期
'
},
{
key
:
'
field2
'
,
type
:
'
text
'
,
label
:
'
条码
'
},
{
key
:
'
consumableType
'
,
type
:
'
select
'
,
label
:
'
耗材类型
'
},
...
...
@@ -49,7 +49,7 @@ export const warnExpdtComboAssertKeys = ['productName', 'supplierName'] as const
export
const
warnExpdtDomainQuickFields
:
readonly
DeptQuickFieldDef
[]
=
[
{
key
:
'
productName
'
,
label
:
'
物料名称
'
,
type
:
'
text
'
},
{
key
:
'
supplierName
'
,
label
:
'
进院供应商
名称
'
,
type
:
'
text
'
},
{
key
:
'
supplierName
'
,
label
:
'
销售商(自定义)
名称
'
,
type
:
'
text
'
},
];
export
const
warnExpdtDomainAssertKeys
=
[
'
productName
'
,
'
supplierName
'
]
as
const
;
...
...
@@ -65,7 +65,7 @@ export const warnExpdtData: CenterReportPageData & {
columns
:
warnExpdtColumns
,
coreTableHeaders
:
[
'
条码
'
,
'
院区
'
,
'
库房
'
,
'
库区
'
,
'
物料编号
'
,
'
物料名称
'
,
'
规格型号
'
,
'
耗材类型
'
],
columnAliases
:
{
supplierName
:
[
'
进院供应商
'
],
supplierName
:
[
'
销售商(自定义)
'
],
field5
:
[
'
采购计划号
'
],
},
...
...
data/warn-low.data.ts
View file @
6c31a476
...
...
@@ -4,7 +4,7 @@ import type { DeptQuickFieldDef } from './dept-report-field-defs';
export
const
warnLowColumns
=
{
productName
:
'
物料名称
'
,
field
:
'
默认
供应
商
'
,
field
:
'
默认
销售
商
'
,
consumableType
:
'
耗材类型
'
,
campus
:
'
院区名称
'
,
field2
:
'
库房名称
'
,
...
...
@@ -24,7 +24,7 @@ export const warnLowColumns = {
export
const
warnLowComboFullQuickFields
:
readonly
DeptQuickFieldDef
[]
=
[
{
key
:
'
productName
'
,
label
:
'
物料名称
'
,
type
:
'
text
'
},
{
key
:
'
field
'
,
label
:
'
默认
供应
商
'
,
type
:
'
text
'
},
{
key
:
'
field
'
,
label
:
'
默认
销售
商
'
,
type
:
'
text
'
},
{
key
:
'
consumableType
'
,
label
:
'
耗材类型
'
,
type
:
'
select
'
},
{
key
:
'
campus
'
,
label
:
'
院区
'
,
type
:
'
select
'
},
{
key
:
'
field2
'
,
label
:
'
库房
'
,
type
:
'
select
'
},
...
...
@@ -32,13 +32,13 @@ export const warnLowComboFullQuickFields: readonly DeptQuickFieldDef[] = [
];
export
const
warnLowComboQuickFields
:
readonly
DeptQuickFieldDef
[]
=
[
{
key
:
'
productName
'
,
label
:
'
物料名称
'
,
type
:
'
text
'
},
{
key
:
'
field
'
,
label
:
'
默认
供应
商
'
,
type
:
'
text
'
},
{
key
:
'
field
'
,
label
:
'
默认
销售
商
'
,
type
:
'
text
'
},
{
key
:
'
consumableType
'
,
label
:
'
耗材类型
'
,
type
:
'
select
'
},
];
export
const
warnLowComboDrawerFields
:
readonly
CenterReportDrawerField
[]
=
[
{
key
:
'
productName
'
,
type
:
'
text
'
,
label
:
'
物料名称
'
},
{
key
:
'
field
'
,
type
:
'
text
'
,
label
:
'
默认
供应
商
'
},
{
key
:
'
field
'
,
type
:
'
text
'
,
label
:
'
默认
销售
商
'
},
{
key
:
'
consumableType
'
,
type
:
'
select
'
,
label
:
'
耗材类型
'
},
];
...
...
@@ -53,7 +53,7 @@ export const warnLowComboAssertKeys = [
export
const
warnLowDomainQuickFields
:
readonly
DeptQuickFieldDef
[]
=
[
{
key
:
'
productName
'
,
label
:
'
物料名称
'
,
type
:
'
text
'
},
{
key
:
'
field
'
,
label
:
'
默认
供应
商
'
,
type
:
'
text
'
},
{
key
:
'
field
'
,
label
:
'
默认
销售
商
'
,
type
:
'
text
'
},
{
key
:
'
consumableType
'
,
label
:
'
耗材类型
'
,
type
:
'
select
'
},
];
...
...
@@ -68,7 +68,7 @@ export const warnLowData: CenterReportPageData & {
iframeSrc
:
'
warning/lowStorage
'
,
productNameSelector
:
'
#form_item_goodsName
'
,
columns
:
warnLowColumns
,
coreTableHeaders
:
[
'
院区名称
'
,
'
库房名称
'
,
'
库区名称
'
,
'
物料编号
'
,
'
物料名称
'
,
'
规格型号
'
,
'
器械注册人-术语配置
'
,
'
默认
供应
商
'
],
coreTableHeaders
:
[
'
院区名称
'
,
'
库房名称
'
,
'
库区名称
'
,
'
物料编号
'
,
'
物料名称
'
,
'
规格型号
'
,
'
器械注册人-术语配置
'
,
'
默认
销售
商
'
],
columnAliases
:
{
field5
:
[
'
采购计划号
'
],
},
...
...
data/warn-strand.data.ts
View file @
6c31a476
...
...
@@ -4,7 +4,7 @@ import type { DeptQuickFieldDef } from './dept-report-field-defs';
export
const
warnStrandColumns
=
{
productName
:
'
物料名称
'
,
supplierName
:
'
进院供应商
名称
'
,
supplierName
:
'
销售商(自定义)
名称
'
,
field
:
'
滞销天数
'
,
field2
:
'
条码
'
,
consumableType
:
'
耗材类型
'
,
...
...
@@ -21,7 +21,7 @@ export const warnStrandColumns = {
field9
:
'
器械注册人-术语配置
'
,
field10
:
'
单位
'
,
field11
:
'
字典价
'
,
supplierName2
:
'
进院供应商
'
,
supplierName2
:
'
销售商(自定义)
'
,
field12
:
'
库存数量
'
,
field13
:
'
可用数量
'
,
statDate
:
'
统计日期
'
,
...
...
@@ -30,16 +30,16 @@ export const warnStrandColumns = {
export
const
warnStrandComboFullQuickFields
:
readonly
DeptQuickFieldDef
[]
=
[
{
key
:
'
productName
'
,
label
:
'
物料名称
'
,
type
:
'
text
'
},
{
key
:
'
supplierName
'
,
label
:
'
进院供应商
名称
'
,
type
:
'
text
'
},
{
key
:
'
supplierName
'
,
label
:
'
销售商(自定义)
名称
'
,
type
:
'
text
'
},
];
export
const
warnStrandComboQuickFields
:
readonly
DeptQuickFieldDef
[]
=
[
{
key
:
'
productName
'
,
label
:
'
物料名称
'
,
type
:
'
text
'
},
{
key
:
'
supplierName
'
,
label
:
'
进院供应商
名称
'
,
type
:
'
text
'
},
{
key
:
'
supplierName
'
,
label
:
'
销售商(自定义)
名称
'
,
type
:
'
text
'
},
];
export
const
warnStrandComboDrawerFields
:
readonly
CenterReportDrawerField
[]
=
[
{
key
:
'
productName
'
,
type
:
'
text
'
,
label
:
'
物料名称
'
},
{
key
:
'
supplierName
'
,
type
:
'
text
'
,
label
:
'
进院供应商
名称
'
},
{
key
:
'
supplierName
'
,
type
:
'
text
'
,
label
:
'
销售商(自定义)
名称
'
},
{
key
:
'
field
'
,
type
:
'
select
'
,
label
:
'
滞销天数
'
},
{
key
:
'
field2
'
,
type
:
'
text
'
,
label
:
'
条码
'
},
{
key
:
'
consumableType
'
,
type
:
'
select
'
,
label
:
'
耗材类型
'
},
...
...
@@ -49,7 +49,7 @@ export const warnStrandComboAssertKeys = ['productName', 'supplierName'] as cons
export
const
warnStrandDomainQuickFields
:
readonly
DeptQuickFieldDef
[]
=
[
{
key
:
'
productName
'
,
label
:
'
物料名称
'
,
type
:
'
text
'
},
{
key
:
'
supplierName
'
,
label
:
'
进院供应商
名称
'
,
type
:
'
text
'
},
{
key
:
'
supplierName
'
,
label
:
'
销售商(自定义)
名称
'
,
type
:
'
text
'
},
];
export
const
warnStrandDomainAssertKeys
=
[
'
productName
'
,
'
supplierName
'
]
as
const
;
...
...
@@ -65,7 +65,7 @@ export const warnStrandData: CenterReportPageData & {
columns
:
warnStrandColumns
,
coreTableHeaders
:
[
'
条码
'
,
'
院区
'
,
'
库房
'
,
'
库区
'
,
'
物料编号
'
,
'
物料名称
'
,
'
产品俗称
'
,
'
规格型号
'
],
columnAliases
:
{
supplierName
:
[
'
进院供应商
'
],
supplierName
:
[
'
销售商(自定义)
'
],
field5
:
[
'
采购计划号
'
],
},
...
...
knowledge-base/08-UI专项规范库/INDEX.md
View file @
6c31a476
...
...
@@ -374,9 +374,9 @@ python3 scripts/sync-docs-ui-specs.py --only ADMIT-001,ADMIT-002,ADMIT-003,ADMIT
| 注册证变更初审 | VENDOR-005 | 已扫描 ·
`vendor-cert-first`
·
**40**
项 · 测试点
`TP_VENDOR_CF1`
· PO/冒烟已就绪 |
| 注册证变更终审 | VENDOR-006 | 已扫描 ·
`vendor-cert-final`
·
**40**
项 · 测试点
`TP_VENDOR_CF2`
· PO/冒烟已就绪 |
| 注册证差异对比 | VENDOR-007 | 已扫描 ·
`vendor-cert-diff`
·
**54**
项 · 含 scjs iframe · 测试点
`TP_VENDOR_CDF`
· PO/冒烟已就绪 |
| 评价方案维护 | VENDOR-008 | 已扫描 ·
`vendor-eval-scheme`
·
**57**
项 · 测试点
`TP_VENDOR_EVS`
·
PO/冒烟已就绪
|
| 评价方案维护 | VENDOR-008 | 已扫描 ·
`vendor-eval-scheme`
·
**57**
项 · 测试点
`TP_VENDOR_EVS`
·
自动化
**14**
条(含 014 筛选展开/收起)
|
| 评价指标维护 | VENDOR-009 | 已扫描 ·
`vendor-eval-indicator`
·
**165**
项 · 测试点
`TP_VENDOR_EVI`
· PO/冒烟已就绪 |
| 供应商节假日管理 | VENDOR-010 | 已扫描 ·
`vendor-holiday`
·
**80**
项 · 测试点
`TP_VENDOR_HLD`
· PO
/冒烟已就绪
|
| 供应商节假日管理 | VENDOR-010 | 已扫描 ·
`vendor-holiday`
·
**80**
项 · 测试点
`TP_VENDOR_HLD`
· PO
已就绪 · 自动化
**8**
条(HLD-001~008)
|
菜单路径:
**基础设置**
→
**厂商管理**
→ {页面名}。
...
...
knowledge-base/08-UI专项规范库/UI-SPEC-SPD-VENDOR-001.md
View file @
6c31a476
...
...
@@ -8,7 +8,7 @@ related_jrn: ""
related_tc
:
"
testpoint/基础管理-厂商管理-厂商查询-测试点分析-01.md"
related_def
:
"
"
create_time
:
"
2026-09-30"
update_time
:
"
2026-
09-30
"
update_time
:
"
2026-
10-27
"
author
:
"
"
---
...
...
@@ -54,18 +54,20 @@ author: ""
### 列表与工具栏
-
搜索、列设置、刷新/导出(以截图图标为准)
-
搜索、列设置
(
`anticon-setting`
齿轮,与
`column-height`
表格密度区分)
、刷新/导出(以截图图标为准)
-
列:序号、厂商编号、厂商名称、产地、详细地址、简称、开户银行、银行账号;底部分页
-
底部分页:「共 N 条」、页码与每页条数切换(左右分栏页面对应侧分页)
-
底部分页:「共 N 条」、页码与每页条数切换(
可选
**20/50/100/200 条/页**
,默认常为 50;
左右分栏页面对应侧分页)
## 自动化建议
1.
元素扫描已完成(47 项):
`data/scan/vendor-query-elements.json`
;
下一步补充 Page Object 与用例
。
2.
菜单导航:
`page.getByRole('menuitem', { name: '厂商查询', exact: true }).click()`
(注意初审/终审、方案/指标等近似菜单区分)。
3.
资质多 Tab、变更审批详情、左右分栏(指标树/节假日)需先断言目标面板可见再操作
。
1.
元素扫描已完成(47 项):
`data/scan/vendor-query-elements.json`
;
Playwright 见
`tests/spd/vendor-query.spec.ts`
、
`pages/spd/vendor-query.page.ts`
(列设置复用
`pages/spd/helpers/column-settings.helper.ts`
)
。
2.
菜单导航:
`page.getByRole('menuitem', { name: '厂商查询', exact: true }).click()`
(注意初审/终审、方案/指标等近似菜单区分)
;进页可用
`open()`
直链
`/spd/basic/mfrs/paltform/mfrsName/factory`
(依赖
`auth.setup`
登录态)
。
3.
全量 CSV 用例 9 条:
`VENDOR-QRY-001`
~
`009`
(
`testcase/基础管理-厂商管理-厂商查询-UI自动化测试用例-01.csv`
);冒烟
`@smoke`
:
`001`
、
`004`
;运行
`npm run test:vendor-query:all`
。
## 测试关注点
1.
筛选 + Tab/状态下拉组合后,列表条数与底部分页「共 N 条」一致。
2.
授权/注册证初审与终审详情、状态流转与业务规则一致;写操作前确认勾选/当前行。
3.
注册证差异对比「一致/不一致」与两侧字段抽样一致;导出与当前查询条件一致。
1.
筛选 + Tab 组合后,列表条数与底部分页「共 N 条」一致;按厂商名称搜索后清空可恢复更宽结果(自动化
`VENDOR-QRY-003`
)。
2.
器械注册人 / 经销商 Tab 切换后列表数据域正确(
`VENDOR-QRY-001`
);经销商 Tab 点选首行后需显式写入厂商名称再查询(
`VENDOR-QRY-006`
)。
3.
切换每页条数(如
**20 条/页**
)后当前页行数 = min(总条数, 所选档位) 且「共 N 条」不变(
`VENDOR-QRY-007`
);总条数足够时可翻至第 2 页(
`VENDOR-QRY-005`
)。
4.
列设置面板含「字段设置 / 列展示 / 重置」;取消勾选非核心列(如简称)后表头隐藏,再勾选可恢复(
`VENDOR-QRY-008`
~
`009`
)。
5.
无匹配关键字时总数为 0、空态明确(mock:
`__NOT_EXIST_MFRS__99999`
,
`VENDOR-QRY-004`
)。
knowledge-base/08-UI专项规范库/UI-SPEC-SPD-VENDOR-002.md
View file @
6c31a476
...
...
@@ -71,17 +71,26 @@ author: ""
### 状态 / 分类 Tab(若有)
-
证件 Tab:证件效期提醒、授权链路效期预警、供应商三证、器械注册人、器械注册证号、授权书、承诺书、法人委托书、二级供应商三证;效期快捷:近三个月到期、近一个月到期、已过期(带计数)
-
证件 Tab:证件效期提醒、授权链路效期预警、供应商三证、器械注册人、器械注册证号、授权书、承诺书、法人委托书、二级供应商三证
-
证件效期提醒:列表区效期快捷近三个月到期、近一个月到期、已过期(带计数)
-
**授权链路效期预警**
:列表区子 Tab
**三个月内过期 / 一个月内过期 / 已过期**
;筛选
**授权书名称、授权单位、被授权单位**
-
**供应商三证**
:列表区子 Tab
**全部 / 未过期 / 已过期 / 已缺失**
;筛选
**销售商(自定义)名称**
-
**器械注册人**
:列表区子 Tab
**全部 / 已维护 / 未维护**
;收起区
**器械注册人、状态、全国总代理**
;展开后
**类别、销售商(自定义)名称**
-
**器械注册证号**
:列表区子 Tab
**全部 / 未过期 / 已过期**
;收起区
**器械注册人、销售商(自定义)名称、状态**
;展开后
**注册证号、是否有附件、注册产品名称、是否新证、产品名称**
-
**授权书**
:列表区子 Tab
**全部 / 未过期 / 已过期**
;收起区
**器械注册人、销售商(自定义)名称、状态**
;点击
**展开**
后
**授权书名称、注册证号、被授权单位**
-
**承诺书**
:列表区子 Tab
**全部 / 未过期 / 已过期**
;筛选
**销售商(自定义)名称、承诺类型、状态**
-
**法人委托书**
:列表区子 Tab
**全部 / 未过期 / 已过期**
;筛选
**销售商(自定义)名称、业务员、状态**
-
**二级供应商三证**
:列表区子 Tab
**全部 / 未过期 / 已过期**
;筛选
**销售商(自定义)名称、供应商名称、数据来源类型**
### 列表与工具栏
-
**导出**
/
**导出明细**
(视 Tab);
列设置
-
**导出**
/
**导出明细**
(视 Tab);
**每个主 Tab**
列表工具栏均含
**列设置**
(字段展示/隐藏)
-
证件效期提醒列含数据来源、进院供应商、有效期至、证件名称/类型、效期提醒、查看;授权链路预警列含授权单位、授权书名称、被授权单位、效期起止、效期提醒、查看
-
底部分页:「共 N 条」、页码与每页条数切换(左右分栏页面对应侧分页)
## 自动化建议
1.
元素扫描
已完成
(99 项):
`data/scan/vendor-qual-elements.json`
;
下一步补充 Page Object 与用例
。
1.
元素扫描(99 项):
`data/scan/vendor-qual-elements.json`
;
自动化
**VENDOR-QUL-001~073**
(
`vendor-qual.spec.ts`
/
`vendor-qual-sync-tabs.spec.ts`
/
`vendor-qual-column-settings.spec.ts`
),Tab 与子 Tab 配置见
`data/vendor-qual-*.ts`
。
2.
菜单导航:
`page.getByRole('menuitem', { name: '供应商资质管理', exact: true }).click()`
(注意初审/终审、方案/指标等近似菜单区分)。
3.
资质多 Tab、变更审批详情、左右分栏(指标树/节假日)需先断言目标面板可见再操作。
...
...
knowledge-base/08-UI专项规范库/UI-SPEC-SPD-VENDOR-008.md
View file @
6c31a476
...
...
@@ -8,7 +8,7 @@ related_jrn: ""
related_tc
:
"
testpoint/基础管理-厂商管理-评价方案维护-测试点分析-01.md"
related_def
:
"
"
create_time
:
"
2026-09-30"
update_time
:
"
2026-
09-30
"
update_time
:
"
2026-
10-28
"
author
:
"
"
---
...
...
@@ -57,9 +57,11 @@ author: ""
## 自动化建议
1.
元素扫描已完成(57 项):
`data/scan/vendor-eval-scheme-elements.json`
;下一步补充 Page Object 与用例。
2.
菜单导航:
`page.getByRole('menuitem', { name: '评价方案维护', exact: true }).click()`
(注意初审/终审、方案/指标等近似菜单区分)。
3.
资质多 Tab、变更审批详情、左右分栏(指标树/节假日)需先断言目标面板可见再操作。
1.
元素扫描(57 项):
`data/scan/vendor-eval-scheme-elements.json`
;PO:
`pages/spd/vendor-eval-scheme.page.ts`
。
2.
已落地 Playwright(
`tests/spd/vendor-eval-scheme.spec.ts`
):
**EVS-001**
组合查询(冒烟);
**EVS-014**
筛选区展开/收起;
**EVS-002/003**
列设置;
**EVS-004~013**
十列排序。
3.
菜单导航:
`page.getByRole('menuitem', { name: '评价方案维护', exact: true }).click()`
(注意初审/终审、方案/指标等近似菜单区分)。
4.
数据与用例清单:
`data/vendor-eval-scheme.data.ts`
(排序列、扩展筛选项);CSV 共
**14**
条(
`testcase/…评价方案维护-UI自动化测试用例-01.csv`
)。
5.
筛选/新增/指标关联等见测试点分析;PO 内未纳入 CSV 的方法仍预留供扩展。
## 测试关注点
...
...
knowledge-base/08-UI专项规范库/UI-SPEC-SPD-VENDOR-010.md
View file @
6c31a476
...
...
@@ -5,10 +5,10 @@ status: 生效
related_br
:
"
"
related_api
:
"
"
related_jrn
:
"
"
related_tc
:
"
testpoint/基础管理-厂商管理-供应商节假日管理-测试点分析-01.md"
related_tc
:
"
testpoint/基础管理-厂商管理-供应商节假日管理-测试点分析-01.md
;
testcase/基础管理-厂商管理-供应商节假日管理-UI自动化测试用例-01.csv
"
related_def
:
"
"
create_time
:
"
2026-09-30"
update_time
:
"
2026-
09-30
"
update_time
:
"
2026-
10-27
"
author
:
"
"
---
...
...
@@ -57,9 +57,23 @@ author: ""
## 自动化建议
1.
元素扫描已完成(80 项):
`data/scan/vendor-holiday-elements.json`
;下一步补充 Page Object 与用例。
2.
菜单导航:
`page.getByRole('menuitem', { name: '供应商节假日管理', exact: true }).click()`
(注意初审/终审、方案/指标等近似菜单区分)。
3.
资质多 Tab、变更审批详情、左右分栏(指标树/节假日)需先断言目标面板可见再操作。
1.
元素扫描(80 项):
`data/scan/vendor-holiday-elements.json`
;Page Object:
`pages/spd/vendor-holiday.page.ts`
;结构化用例 MD:
`testcases/基础管理-厂商管理-供应商节假日管理-UI自动化测试用例-01.md`
。
2.
数据驱动 CSV 与 Playwright
**8**
条一一对应(
`npm run test:vendor-holiday`
跑 smoke;
`npm run test:vendor-holiday:all`
跑全量):
| 用例 ID | 标题 | Smoke |
|---------|------|-------|
| VENDOR-HLD-001 | 选中左侧节假日展示详情 | 是 |
| VENDOR-HLD-002 | 左侧搜索无匹配空态(mock反例) | 是 |
| VENDOR-HLD-003 | 点击左侧新增弹出新增弹框 | 是 |
| VENDOR-HLD-004 | 选中首行点击编辑弹出编辑弹框 | 是 |
| VENDOR-HLD-005 | 首行名称或年度搜索验证 | 是 |
| VENDOR-HLD-006 | 切换列表行右侧详情名称年度一致 | 是 |
| VENDOR-HLD-007 | 默认假日详情区点击右侧新增弹出弹框 | 是 |
| VENDOR-HLD-008 | 右侧自定义列表打开列设置面板 | 否 |
3.
菜单导航:
`page.getByRole('menuitem', { name: '供应商节假日管理', exact: true }).click()`
(注意初审/终审、方案/指标等近似菜单区分)。
4.
写操作:左/右侧新增与左侧编辑仅测弹框打开,不提交;日期校验、主数据对照等暂不纳入当前自动化集。
5.
左右分栏页需先断言目标面板可见再操作;右侧列设置齿轮在供应商自定义列表工具栏(
`anticon-setting`
,非 column-height)。
## 测试关注点
...
...
locators/spd/center-report-sheet.locator.yaml
View file @
6c31a476
# Auto-generated from center-report-sheet-elements.json
# Source: http://spdtest.cmic.com.cn:8080/spd/form/centerReport/report/centerPages/sheet
# Scanned: 2026-0
8
-2
5
T0
0:50:02.216
Z
# Scanned: 2026-
1
0-2
7
T0
7:22:52.687
Z
# Page: 统计报表 > 中心库出入库报表 > 出入库明细查询
# Note: advanced filter panel was opened during scan
...
...
@@ -10,30 +10,6 @@ url: http://spdtest.cmic.com.cn:8080/spd/form/centerReport/report/centerPages/sh
locators
:
# --- main::main ---
el_e4b8ade5
:
description
:
"
中心库(千泉院区)"
element_type
:
div
section
:
"
main::main"
strategy
:
label_text
value
:
"
中心库(千泉院区)"
playwright
:
"
page.getByText('中心库(千泉院区)',
{
exact:
true
})"
el_e4b8ade5_2
:
description
:
"
99+"
element_type
:
div
section
:
"
main::main"
strategy
:
label_text
value
:
"
中心库(千泉院区)"
playwright
:
"
page.getByText('中心库(千泉院区)',
{
exact:
true
})"
el_e4b8ade5_3
:
description
:
"
蒋华"
element_type
:
div
section
:
"
main::main"
strategy
:
label_text
value
:
"
中心库(千泉院区)"
playwright
:
"
page.getByText('中心库(千泉院区)',
{
exact:
true
})"
menu_home
:
description
:
"
首页"
element_type
:
li
...
...
@@ -43,7 +19,7 @@ locators:
name
:
"
首页"
playwright
:
"
page.getByRole('menuitem',
{
name:
'首页'
})"
menu_
el_e59fbae7
:
menu_
basicSetting
:
description
:
"
基础设置"
element_type
:
li
section
:
"
main::main"
...
...
@@ -52,7 +28,7 @@ locators:
name
:
"
基础设置"
playwright
:
"
page.getByRole('menuitem',
{
name:
'基础设置'
})"
menu_
el_e98787e8
:
menu_
purchase
:
description
:
"
采购管理"
element_type
:
li
section
:
"
main::main"
...
...
@@ -61,7 +37,7 @@ locators:
name
:
"
采购管理"
playwright
:
"
page.getByRole('menuitem',
{
name:
'采购管理'
})"
menu_
el_e69c9fe5
:
menu_
opening
:
description
:
"
期初管理"
element_type
:
li
section
:
"
main::main"
...
...
@@ -70,7 +46,7 @@ locators:
name
:
"
期初管理"
playwright
:
"
page.getByRole('menuitem',
{
name:
'期初管理'
})"
menu_
el_e4b8ade5
:
menu_
centerStock
:
description
:
"
中心库管理"
element_type
:
li
section
:
"
main::main"
...
...
@@ -79,7 +55,7 @@ locators:
name
:
"
中心库管理"
playwright
:
"
page.getByRole('menuitem',
{
name:
'中心库管理'
})"
menu_
el_e7a791e5
:
menu_
deptBusiness
:
description
:
"
科室业务管理"
element_type
:
li
section
:
"
main::main"
...
...
@@ -88,7 +64,7 @@ locators:
name
:
"
科室业务管理"
playwright
:
"
page.getByRole('menuitem',
{
name:
'科室业务管理'
})"
menu_
el_e8b4a2e5
:
menu_
finance
:
description
:
"
财务管理"
element_type
:
li
section
:
"
main::main"
...
...
@@ -97,7 +73,7 @@ locators:
name
:
"
财务管理"
playwright
:
"
page.getByRole('menuitem',
{
name:
'财务管理'
})"
menu_
el_e9aaa8e7
:
menu_
orthoVolume
:
description
:
"
骨科带量"
element_type
:
li
section
:
"
main::main"
...
...
@@ -106,7 +82,7 @@ locators:
name
:
"
骨科带量"
playwright
:
"
page.getByRole('menuitem',
{
name:
'骨科带量'
})"
menu_
el_e7bbbce5
:
menu_
general
:
description
:
"
综合管理"
element_type
:
li
section
:
"
main::main"
...
...
@@ -115,7 +91,7 @@ locators:
name
:
"
综合管理"
playwright
:
"
page.getByRole('menuitem',
{
name:
'综合管理'
})"
menu_
el_e998b3e9
:
menu_
yangcai
:
description
:
"
阳采管理"
element_type
:
li
section
:
"
main::main"
...
...
@@ -124,7 +100,7 @@ locators:
name
:
"
阳采管理"
playwright
:
"
page.getByRole('menuitem',
{
name:
'阳采管理'
})"
menu_
el_e6b581e7
:
menu_
processCenter
:
description
:
"
流程中心"
element_type
:
li
section
:
"
main::main"
...
...
@@ -133,7 +109,7 @@ locators:
name
:
"
流程中心"
playwright
:
"
page.getByRole('menuitem',
{
name:
'流程中心'
})"
menu_
el_e5908ee5
:
menu_
logistics
:
description
:
"
后勤物资管理"
element_type
:
li
section
:
"
main::main"
...
...
@@ -151,7 +127,7 @@ locators:
name
:
"
统计报表"
playwright
:
"
page.getByRole('menuitem',
{
name:
'统计报表'
})"
menu_
el_e695b0e6
:
menu_
dataViz
:
description
:
"
数据可视化"
element_type
:
li
section
:
"
main::main"
...
...
@@ -169,7 +145,7 @@ locators:
name
:
"
出入库明细查询"
playwright
:
"
page.getByRole('menuitem',
{
name:
'出入库明细查询'
})"
menu_
el_e585a5e5
:
menu_
inboundSummaryQuery
:
description
:
"
入库汇总查询"
element_type
:
li
section
:
"
main::main"
...
...
@@ -178,7 +154,7 @@ locators:
name
:
"
入库汇总查询"
playwright
:
"
page.getByRole('menuitem',
{
name:
'入库汇总查询'
})"
menu_
el_e587bae5
:
menu_
outboundSummaryQuery
:
description
:
"
出库汇总查询"
element_type
:
li
section
:
"
main::main"
...
...
@@ -187,7 +163,7 @@ locators:
name
:
"
出库汇总查询"
playwright
:
"
page.getByRole('menuitem',
{
name:
'出库汇总查询'
})"
menu_el_e4b8ade5
_2
:
menu_el_e4b8ade5
bf83e5ba93e4baa7e59381e8bf9be99480e5ad98
:
description
:
"
中心库产品进销存"
element_type
:
li
section
:
"
main::main"
...
...
@@ -196,7 +172,7 @@ locators:
name
:
"
中心库产品进销存"
playwright
:
"
page.getByRole('menuitem',
{
name:
'中心库产品进销存'
})"
menu_el_e587bae5
_2
:
menu_el_e587bae5
85a5e5ba93e6988ee7bb86e69fa5e8afa228e5908ee58ba4efbc89
:
description
:
"
出入库明细查询(后勤)"
element_type
:
li
section
:
"
main::main"
...
...
@@ -205,7 +181,7 @@ locators:
name
:
"
出入库明细查询(后勤)"
playwright
:
"
page.getByRole('menuitem',
{
name:
'出入库明细查询(后勤)'
})"
menu_el_e4baa7e5
:
menu_el_e4baa7e5
9381e591a8e8bdace78e87e68aa5e8a1a8
:
description
:
"
产品周转率报表"
element_type
:
li
section
:
"
main::main"
...
...
@@ -214,7 +190,7 @@ locators:
name
:
"
产品周转率报表"
playwright
:
"
page.getByRole('menuitem',
{
name:
'产品周转率报表'
})"
menu_el_e4b8ade5
_3
:
menu_el_e4b8ade5
bf83e5ba93e8bf9be99480e5ad9828e5908ee58ba429
:
description
:
"
中心库进销存(后勤)"
element_type
:
li
section
:
"
main::main"
...
...
@@ -223,7 +199,7 @@ locators:
name
:
"
中心库进销存(后勤)"
playwright
:
"
page.getByRole('menuitem',
{
name:
'中心库进销存(后勤)'
})"
menu_el_e58780e5
:
menu_el_e58780e5
85a5e5ba93e6b187e680bbe69fa5e8afa2efbc88e5a49ae7bbb4e5baa6efbc89
:
description
:
"
净入库汇总查询(多维度)"
element_type
:
li
section
:
"
main::main"
...
...
@@ -232,7 +208,7 @@ locators:
name
:
"
净入库汇总查询(多维度)"
playwright
:
"
page.getByRole('menuitem',
{
name:
'净入库汇总查询(多维度)'
})"
menu_el_e58780e5
_2
:
menu_el_e58780e5
87bae5ba93e6b187e680bbe69fa5e8afa2efbc88e5a49ae7bbb4e5baa6efbc89
:
description
:
"
净出库汇总查询(多维度)"
element_type
:
li
section
:
"
main::main"
...
...
@@ -257,17 +233,9 @@ locators:
value
:
"
rc-tabs-0-tab-/form/centerReport/report/centerPages/sheet"
playwright
:
"
page.locator('#rc-tabs-0-tab-/form/centerReport/report/centerPages/sheet')"
removeBtn
:
description
:
"
remove"
element_type
:
button
section
:
"
main::main"
strategy
:
label
value
:
"
remove"
playwright
:
"
page.getByLabel('remove')"
# --- reportContentIframe::main ---
productName
:
description
:
"
产品
ID/名称"
description
:
"
物料
ID/名称"
element_type
:
text
section
:
"
reportContentIframe::main"
frame
:
"
reportContentIframe"
...
...
@@ -276,15 +244,15 @@ locators:
value
:
"
form_item_goodsName"
playwright
:
"
page.frameLocator('iframe[src*=
\"
centerPages/sheet
\"
]').locator('#form_item_goodsName')"
accountingDate
DateRange
:
description
:
"
记账
日期
"
el_e8aeb0e8b4a6e697b6e997b4
DateRange
:
description
:
"
记账
时间
"
element_type
:
datepicker
section
:
"
reportContentIframe::main"
frame
:
"
reportContentIframe"
frame_selector
:
iframe[src*="centerPages/sheet"]
strategy
:
label_text
value
:
"
记账
日期
"
playwright
:
"
page.frameLocator('iframe[src*=
\"
centerPages/sheet
\"
]').getByText('记账
日期
',
{
exact:
true
})"
value
:
"
记账
时间
"
playwright
:
"
page.frameLocator('iframe[src*=
\"
centerPages/sheet
\"
]').getByText('记账
时间
',
{
exact:
true
})"
accountingDateStart
:
description
:
"
开始时间"
...
...
@@ -296,7 +264,7 @@ locators:
value
:
"
form_item_accountDate"
playwright
:
"
page.frameLocator('iframe[src*=
\"
centerPages/sheet
\"
]').locator('#form_item_accountDate')"
accountingDate
Input
:
el_e8aeb0e8b4a6e697b6e997b4
Input
:
description
:
"
截止时间"
element_type
:
text
section
:
"
reportContentIframe::main"
...
...
@@ -369,616 +337,456 @@ locators:
value
:
"
column-height"
playwright
:
"
page.frameLocator('iframe[src*=
\"
centerPages/sheet
\"
]').getByLabel('column-height')"
table_all_column_sorters
:
description
:
"
列表全部列排序控件"
element_type
:
span
section
:
"
reportContentIframe::main"
frame
:
"
reportContentIframe"
frame_selector
:
iframe[src*="centerPages/sheet"]
strategy
:
css
value
:
"
.ant-table-thead
.ant-table-column-sorter"
playwright
:
"
page.frameLocator('iframe[src*=
\"
centerPages/sheet
\"
]').locator('.ant-table-thead
.ant-table-column-sorter')"
table_productCode_column_sorter
:
description
:
"
产品编号列排序按钮"
element_type
:
span
section
:
"
reportContentIframe::main"
frame
:
"
reportContentIframe"
frame_selector
:
iframe[src*="centerPages/sheet"]
strategy
:
label_text
value
:
"
产品编号"
playwright
:
"
page.frameLocator('iframe[src*=
\"
centerPages/sheet
\"
]').getByRole('columnheader',
{
name:
'产品编号',
exact:
true
}).locator('.ant-table-column-sorter').first()"
table_column_sorter_by_name
:
description
:
"
按列名定位排序按钮(columnName
替换为目标列,如产品编号/批号)"
element_type
:
span
section
:
"
reportContentIframe::main"
frame
:
"
reportContentIframe"
frame_selector
:
iframe[src*="centerPages/sheet"]
strategy
:
css
value
:
"
.ant-table-column-sorter"
playwright
:
"
page.frameLocator('iframe[src*=
\"
centerPages/sheet
\"
]').getByRole('columnheader',
{
name:
columnName,
exact:
true
}).locator('.ant-table-column-sorter').first()"
table_column_settings_trigger
:
description
:
"
列设置齿轮图标"
element_type
:
span
section
:
"
reportContentIframe::main"
frame
:
"
reportContentIframe"
frame_selector
:
iframe[src*="centerPages/sheet"]
strategy
:
css
value
:
"
.anticon-setting"
playwright
:
"
page.frameLocator('iframe[src*=
\"
centerPages/sheet
\"
]').locator('.anticon-setting').first()"
table_column_settings_panel
:
description
:
"
列设置弹出面板"
element_type
:
div
section
:
"
reportContentIframe::main"
frame
:
"
reportContentIframe"
frame_selector
:
iframe[src*="centerPages/sheet"]
strategy
:
text
value
:
"
字段设置"
playwright
:
"
page.frameLocator('iframe[src*=
\"
centerPages/sheet
\"
]').locator('.ant-popover:visible,
.ant-dropdown:visible').filter({
hasText:
'字段设置'
}).first()"
zrk202608240021Btn
:
description
:
"
ZRK202608240021"
element_type
:
button
section
:
"
reportContentIframe::main"
frame
:
"
reportContentIframe"
frame_selector
:
iframe[src*="centerPages/sheet"]
strategy
:
role
role
:
button
name
:
"
ZRK202608240021"
playwright
:
"
page.frameLocator('iframe[src*=
\"
centerPages/sheet
\"
]').getByRole('button',
{
name:
'ZRK202608240021'
})"
zrk202608240020Btn
:
description
:
"
ZRK202608240020"
element_type
:
button
section
:
"
reportContentIframe::main"
frame
:
"
reportContentIframe"
frame_selector
:
iframe[src*="centerPages/sheet"]
strategy
:
role
role
:
button
name
:
"
ZRK202608240020"
playwright
:
"
page.frameLocator('iframe[src*=
\"
centerPages/sheet
\"
]').getByRole('button',
{
name:
'ZRK202608240020'
})"
zrk202608240019Btn
:
description
:
"
ZRK202608240019"
element_type
:
button
section
:
"
reportContentIframe::main"
frame
:
"
reportContentIframe"
frame_selector
:
iframe[src*="centerPages/sheet"]
strategy
:
role
role
:
button
name
:
"
ZRK202608240019"
playwright
:
"
page.frameLocator('iframe[src*=
\"
centerPages/sheet
\"
]').getByRole('button',
{
name:
'ZRK202608240019'
})"
zck202608240011Btn
:
description
:
"
ZCK202608240011"
element_type
:
button
section
:
"
reportContentIframe::main"
frame
:
"
reportContentIframe"
frame_selector
:
iframe[src*="centerPages/sheet"]
strategy
:
role
role
:
button
name
:
"
ZCK202608240011"
playwright
:
"
page.frameLocator('iframe[src*=
\"
centerPages/sheet
\"
]').getByRole('button',
{
name:
'ZCK202608240011'
})"
zrk202608240018Btn
:
description
:
"
ZRK202608240018"
zrk202610260010Btn
:
description
:
"
ZRK202610260010"
element_type
:
button
section
:
"
reportContentIframe::main"
frame
:
"
reportContentIframe"
frame_selector
:
iframe[src*="centerPages/sheet"]
strategy
:
role
role
:
button
name
:
"
ZRK2026
0824
001
8
"
playwright
:
"
page.frameLocator('iframe[src*=
\"
centerPages/sheet
\"
]').getByRole('button',
{
name:
'ZRK2026
0824
001
8
'
})"
name
:
"
ZRK2026
1026
001
0
"
playwright
:
"
page.frameLocator('iframe[src*=
\"
centerPages/sheet
\"
]').getByRole('button',
{
name:
'ZRK2026
1026
001
0
'
})"
zck2026
0824
001
0
Btn
:
description
:
"
ZCK2026
0824
001
0
"
zck2026
1026
001
3
Btn
:
description
:
"
ZCK2026
1026
001
3
"
element_type
:
button
section
:
"
reportContentIframe::main"
frame
:
"
reportContentIframe"
frame_selector
:
iframe[src*="centerPages/sheet"]
strategy
:
role
role
:
button
name
:
"
ZCK2026
0824
001
0
"
playwright
:
"
page.frameLocator('iframe[src*=
\"
centerPages/sheet
\"
]').getByRole('button',
{
name:
'ZCK2026
0824
001
0
'
})"
name
:
"
ZCK2026
1026
001
3
"
playwright
:
"
page.frameLocator('iframe[src*=
\"
centerPages/sheet
\"
]').getByRole('button',
{
name:
'ZCK2026
1026
001
3
'
})"
zrk2026
08240017
Btn
:
description
:
"
ZRK2026
08240017
"
zrk2026
10260008
Btn
:
description
:
"
ZRK2026
10260008
"
element_type
:
button
section
:
"
reportContentIframe::main"
frame
:
"
reportContentIframe"
frame_selector
:
iframe[src*="centerPages/sheet"]
strategy
:
role
role
:
button
name
:
"
ZRK2026
08240017
"
playwright
:
"
page.frameLocator('iframe[src*=
\"
centerPages/sheet
\"
]').getByRole('button',
{
name:
'ZRK2026
08240017
'
})"
name
:
"
ZRK2026
10260008
"
playwright
:
"
page.frameLocator('iframe[src*=
\"
centerPages/sheet
\"
]').getByRole('button',
{
name:
'ZRK2026
10260008
'
})"
zck2026
08240009
Btn
:
description
:
"
ZCK2026
08240009
"
zck2026
10260012
Btn
:
description
:
"
ZCK2026
10260012
"
element_type
:
button
section
:
"
reportContentIframe::main"
frame
:
"
reportContentIframe"
frame_selector
:
iframe[src*="centerPages/sheet"]
strategy
:
role
role
:
button
name
:
"
ZCK2026
08240009
"
playwright
:
"
page.frameLocator('iframe[src*=
\"
centerPages/sheet
\"
]').getByRole('button',
{
name:
'ZCK2026
08240009
'
})"
name
:
"
ZCK2026
10260012
"
playwright
:
"
page.frameLocator('iframe[src*=
\"
centerPages/sheet
\"
]').getByRole('button',
{
name:
'ZCK2026
10260012
'
})"
zrk2026
08240016
Btn
:
description
:
"
ZRK2026
08240016
"
zrk2026
10260007
Btn
:
description
:
"
ZRK2026
10260007
"
element_type
:
button
section
:
"
reportContentIframe::main"
frame
:
"
reportContentIframe"
frame_selector
:
iframe[src*="centerPages/sheet"]
strategy
:
role
role
:
button
name
:
"
ZRK2026
08240016
"
playwright
:
"
page.frameLocator('iframe[src*=
\"
centerPages/sheet
\"
]').getByRole('button',
{
name:
'ZRK2026
08240016
'
})"
name
:
"
ZRK2026
10260007
"
playwright
:
"
page.frameLocator('iframe[src*=
\"
centerPages/sheet
\"
]').getByRole('button',
{
name:
'ZRK2026
10260007
'
})"
z
c
k2026
0824
0006Btn
:
description
:
"
Z
C
K2026
0824
0006"
z
r
k2026
1026
0006Btn
:
description
:
"
Z
R
K2026
1026
0006"
element_type
:
button
section
:
"
reportContentIframe::main"
frame
:
"
reportContentIframe"
frame_selector
:
iframe[src*="centerPages/sheet"]
strategy
:
role
role
:
button
name
:
"
Z
C
K2026
0824
0006"
playwright
:
"
page.frameLocator('iframe[src*=
\"
centerPages/sheet
\"
]').getByRole('button',
{
name:
'Z
C
K2026
0824
0006'
})"
name
:
"
Z
R
K2026
1026
0006"
playwright
:
"
page.frameLocator('iframe[src*=
\"
centerPages/sheet
\"
]').getByRole('button',
{
name:
'Z
R
K2026
1026
0006'
})"
z
c
k2026
0824
000
8
Btn
:
description
:
"
Z
C
K2026
0824
000
8
"
z
r
k2026
1026
000
5
Btn
:
description
:
"
Z
R
K2026
1026
000
5
"
element_type
:
button
section
:
"
reportContentIframe::main"
frame
:
"
reportContentIframe"
frame_selector
:
iframe[src*="centerPages/sheet"]
strategy
:
role
role
:
button
name
:
"
Z
C
K2026
0824
000
8
"
playwright
:
"
page.frameLocator('iframe[src*=
\"
centerPages/sheet
\"
]').getByRole('button',
{
name:
'Z
C
K2026
0824
000
8
'
})"
name
:
"
Z
R
K2026
1026
000
5
"
playwright
:
"
page.frameLocator('iframe[src*=
\"
centerPages/sheet
\"
]').getByRole('button',
{
name:
'Z
R
K2026
1026
000
5
'
})"
z
c
k2026
0824
000
7
Btn
:
description
:
"
Z
C
K2026
0824
000
7
"
z
r
k2026
1026
000
4
Btn
:
description
:
"
Z
R
K2026
1026
000
4
"
element_type
:
button
section
:
"
reportContentIframe::main"
frame
:
"
reportContentIframe"
frame_selector
:
iframe[src*="centerPages/sheet"]
strategy
:
role
role
:
button
name
:
"
Z
C
K2026
0824
000
7
"
playwright
:
"
page.frameLocator('iframe[src*=
\"
centerPages/sheet
\"
]').getByRole('button',
{
name:
'Z
C
K2026
0824
000
7
'
})"
name
:
"
Z
R
K2026
1026
000
4
"
playwright
:
"
page.frameLocator('iframe[src*=
\"
centerPages/sheet
\"
]').getByRole('button',
{
name:
'Z
R
K2026
1026
000
4
'
})"
zck2026
0824
000
4
Btn
:
description
:
"
ZCK2026
0824
000
4
"
zck2026
1026
000
9
Btn
:
description
:
"
ZCK2026
1026
000
9
"
element_type
:
button
section
:
"
reportContentIframe::main"
frame
:
"
reportContentIframe"
frame_selector
:
iframe[src*="centerPages/sheet"]
strategy
:
role
role
:
button
name
:
"
ZCK2026
0824
000
4
"
playwright
:
"
page.frameLocator('iframe[src*=
\"
centerPages/sheet
\"
]').getByRole('button',
{
name:
'ZCK2026
0824
000
4
'
})"
name
:
"
ZCK2026
1026
000
9
"
playwright
:
"
page.frameLocator('iframe[src*=
\"
centerPages/sheet
\"
]').getByRole('button',
{
name:
'ZCK2026
1026
000
9
'
})"
z
r
k2026
08240014
Btn
:
description
:
"
Z
R
K2026
08240014
"
z
c
k2026
10260007
Btn
:
description
:
"
Z
C
K2026
10260007
"
element_type
:
button
section
:
"
reportContentIframe::main"
frame
:
"
reportContentIframe"
frame_selector
:
iframe[src*="centerPages/sheet"]
strategy
:
role
role
:
button
name
:
"
Z
R
K2026
08240014
"
playwright
:
"
page.frameLocator('iframe[src*=
\"
centerPages/sheet
\"
]').getByRole('button',
{
name:
'Z
R
K2026
08240014
'
})"
name
:
"
Z
C
K2026
10260007
"
playwright
:
"
page.frameLocator('iframe[src*=
\"
centerPages/sheet
\"
]').getByRole('button',
{
name:
'Z
C
K2026
10260007
'
})"
z
r
k2026
08240013
Btn
:
description
:
"
Z
R
K2026
08240013
"
z
c
k2026
10260006
Btn
:
description
:
"
Z
C
K2026
10260006
"
element_type
:
button
section
:
"
reportContentIframe::main"
frame
:
"
reportContentIframe"
frame_selector
:
iframe[src*="centerPages/sheet"]
strategy
:
role
role
:
button
name
:
"
Z
R
K2026
08240013
"
playwright
:
"
page.frameLocator('iframe[src*=
\"
centerPages/sheet
\"
]').getByRole('button',
{
name:
'Z
R
K2026
08240013
'
})"
name
:
"
Z
C
K2026
10260006
"
playwright
:
"
page.frameLocator('iframe[src*=
\"
centerPages/sheet
\"
]').getByRole('button',
{
name:
'Z
C
K2026
10260006
'
})"
zrk2026
0824
00
1
2Btn
:
description
:
"
ZRK2026
0824
00
1
2"
zrk2026
10260
002Btn
:
description
:
"
ZRK2026
10260
002"
element_type
:
button
section
:
"
reportContentIframe::main"
frame
:
"
reportContentIframe"
frame_selector
:
iframe[src*="centerPages/sheet"]
strategy
:
role
role
:
button
name
:
"
ZRK2026
0824
00
1
2"
playwright
:
"
page.frameLocator('iframe[src*=
\"
centerPages/sheet
\"
]').getByRole('button',
{
name:
'ZRK2026
0824
00
1
2'
})"
name
:
"
ZRK2026
10260
002"
playwright
:
"
page.frameLocator('iframe[src*=
\"
centerPages/sheet
\"
]').getByRole('button',
{
name:
'ZRK2026
10260
002'
})"
zrk2026
0824
000
7
Btn
:
description
:
"
ZRK2026
0824
000
7
"
zrk2026
1026
000
1
Btn
:
description
:
"
ZRK2026
1026
000
1
"
element_type
:
button
section
:
"
reportContentIframe::main"
frame
:
"
reportContentIframe"
frame_selector
:
iframe[src*="centerPages/sheet"]
strategy
:
role
role
:
button
name
:
"
ZRK2026
0824
000
7
"
playwright
:
"
page.frameLocator('iframe[src*=
\"
centerPages/sheet
\"
]').getByRole('button',
{
name:
'ZRK2026
0824
000
7
'
})"
name
:
"
ZRK2026
1026
000
1
"
playwright
:
"
page.frameLocator('iframe[src*=
\"
centerPages/sheet
\"
]').getByRole('button',
{
name:
'ZRK2026
1026
000
1
'
})"
z
r
k2026
0824
000
6
Btn
:
description
:
"
Z
R
K2026
0824
000
6
"
z
c
k2026
1026
000
5
Btn
:
description
:
"
Z
C
K2026
1026
000
5
"
element_type
:
button
section
:
"
reportContentIframe::main"
frame
:
"
reportContentIframe"
frame_selector
:
iframe[src*="centerPages/sheet"]
strategy
:
role
role
:
button
name
:
"
Z
R
K2026
0824
000
6
"
playwright
:
"
page.frameLocator('iframe[src*=
\"
centerPages/sheet
\"
]').getByRole('button',
{
name:
'Z
R
K2026
0824
000
6
'
})"
name
:
"
Z
C
K2026
1026
000
5
"
playwright
:
"
page.frameLocator('iframe[src*=
\"
centerPages/sheet
\"
]').getByRole('button',
{
name:
'Z
C
K2026
1026
000
5
'
})"
z
r
k2026
0824
000
5
Btn
:
description
:
"
Z
R
K2026
0824
000
5
"
z
c
k2026
1026
000
4
Btn
:
description
:
"
Z
C
K2026
1026
000
4
"
element_type
:
button
section
:
"
reportContentIframe::main"
frame
:
"
reportContentIframe"
frame_selector
:
iframe[src*="centerPages/sheet"]
strategy
:
role
role
:
button
name
:
"
Z
R
K2026
0824
000
5
"
playwright
:
"
page.frameLocator('iframe[src*=
\"
centerPages/sheet
\"
]').getByRole('button',
{
name:
'Z
R
K2026
0824
000
5
'
})"
name
:
"
Z
C
K2026
1026
000
4
"
playwright
:
"
page.frameLocator('iframe[src*=
\"
centerPages/sheet
\"
]').getByRole('button',
{
name:
'Z
C
K2026
1026
000
4
'
})"
z
r
k2026
0824
000
4
Btn
:
description
:
"
Z
R
K2026
0824
000
4
"
z
c
k2026
1026
000
3
Btn
:
description
:
"
Z
C
K2026
1026
000
3
"
element_type
:
button
section
:
"
reportContentIframe::main"
frame
:
"
reportContentIframe"
frame_selector
:
iframe[src*="centerPages/sheet"]
strategy
:
role
role
:
button
name
:
"
Z
R
K2026
0824
000
4
"
playwright
:
"
page.frameLocator('iframe[src*=
\"
centerPages/sheet
\"
]').getByRole('button',
{
name:
'Z
R
K2026
0824
000
4
'
})"
name
:
"
Z
C
K2026
1026
000
3
"
playwright
:
"
page.frameLocator('iframe[src*=
\"
centerPages/sheet
\"
]').getByRole('button',
{
name:
'Z
C
K2026
1026
000
3
'
})"
z
r
k2026
0824
000
3
Btn
:
description
:
"
Z
R
K2026
0824
000
3
"
z
c
k2026
1026
000
2
Btn
:
description
:
"
Z
C
K2026
1026
000
2
"
element_type
:
button
section
:
"
reportContentIframe::main"
frame
:
"
reportContentIframe"
frame_selector
:
iframe[src*="centerPages/sheet"]
strategy
:
role
role
:
button
name
:
"
Z
R
K2026
0824
000
3
"
playwright
:
"
page.frameLocator('iframe[src*=
\"
centerPages/sheet
\"
]').getByRole('button',
{
name:
'Z
R
K2026
0824
000
3
'
})"
name
:
"
Z
C
K2026
1026
000
2
"
playwright
:
"
page.frameLocator('iframe[src*=
\"
centerPages/sheet
\"
]').getByRole('button',
{
name:
'Z
C
K2026
1026
000
2
'
})"
z
r
k2026
0824
000
2
Btn
:
description
:
"
Z
R
K2026
0824
000
2
"
z
c
k2026
1026
000
1
Btn
:
description
:
"
Z
C
K2026
1026
000
1
"
element_type
:
button
section
:
"
reportContentIframe::main"
frame
:
"
reportContentIframe"
frame_selector
:
iframe[src*="centerPages/sheet"]
strategy
:
role
role
:
button
name
:
"
Z
R
K2026
0824
000
2
"
playwright
:
"
page.frameLocator('iframe[src*=
\"
centerPages/sheet
\"
]').getByRole('button',
{
name:
'Z
R
K2026
0824
000
2
'
})"
name
:
"
Z
C
K2026
1026
000
1
"
playwright
:
"
page.frameLocator('iframe[src*=
\"
centerPages/sheet
\"
]').getByRole('button',
{
name:
'Z
C
K2026
1026
000
1
'
})"
zck20260
824
000
1
Btn
:
description
:
"
ZCK20260
824
000
1
"
zck20260
908
000
3
Btn
:
description
:
"
ZCK20260
908
000
3
"
element_type
:
button
section
:
"
reportContentIframe::main"
frame
:
"
reportContentIframe"
frame_selector
:
iframe[src*="centerPages/sheet"]
strategy
:
role
role
:
button
name
:
"
ZCK20260
824
000
1
"
playwright
:
"
page.frameLocator('iframe[src*=
\"
centerPages/sheet
\"
]').getByRole('button',
{
name:
'ZCK20260
824
000
1
'
})"
name
:
"
ZCK20260
908
000
3
"
playwright
:
"
page.frameLocator('iframe[src*=
\"
centerPages/sheet
\"
]').getByRole('button',
{
name:
'ZCK20260
908
000
3
'
})"
z
r
k2026
0824
00
0
1Btn
:
description
:
"
Z
R
K2026
0824
00
0
1"
z
c
k2026
1022
00
4
1Btn
:
description
:
"
Z
C
K2026
1022
00
4
1"
element_type
:
button
section
:
"
reportContentIframe::main"
frame
:
"
reportContentIframe"
frame_selector
:
iframe[src*="centerPages/sheet"]
strategy
:
role
role
:
button
name
:
"
Z
R
K2026
0824
00
0
1"
playwright
:
"
page.frameLocator('iframe[src*=
\"
centerPages/sheet
\"
]').getByRole('button',
{
name:
'Z
R
K2026
0824
00
0
1'
})"
name
:
"
Z
C
K2026
1022
00
4
1"
playwright
:
"
page.frameLocator('iframe[src*=
\"
centerPages/sheet
\"
]').getByRole('button',
{
name:
'Z
C
K2026
1022
00
4
1'
})"
zck2026
0821
000
3
Btn
:
description
:
"
ZCK2026
0821
000
3
"
zck2026
1023
000
2
Btn
:
description
:
"
ZCK2026
1023
000
2
"
element_type
:
button
section
:
"
reportContentIframe::main"
frame
:
"
reportContentIframe"
frame_selector
:
iframe[src*="centerPages/sheet"]
strategy
:
role
role
:
button
name
:
"
ZCK2026
0821
000
3
"
playwright
:
"
page.frameLocator('iframe[src*=
\"
centerPages/sheet
\"
]').getByRole('button',
{
name:
'ZCK2026
0821
000
3
'
})"
name
:
"
ZCK2026
1023
000
2
"
playwright
:
"
page.frameLocator('iframe[src*=
\"
centerPages/sheet
\"
]').getByRole('button',
{
name:
'ZCK2026
1023
000
2
'
})"
zrk2026
0821
0002Btn
:
description
:
"
ZRK2026
0821
0002"
zrk2026
1023
0002Btn
:
description
:
"
ZRK2026
1023
0002"
element_type
:
button
section
:
"
reportContentIframe::main"
frame
:
"
reportContentIframe"
frame_selector
:
iframe[src*="centerPages/sheet"]
strategy
:
role
role
:
button
name
:
"
ZRK2026
0821
0002"
playwright
:
"
page.frameLocator('iframe[src*=
\"
centerPages/sheet
\"
]').getByRole('button',
{
name:
'ZRK2026
0821
0002'
})"
name
:
"
ZRK2026
1023
0002"
playwright
:
"
page.frameLocator('iframe[src*=
\"
centerPages/sheet
\"
]').getByRole('button',
{
name:
'ZRK2026
1023
0002'
})"
zck2026
0821
000
2
Btn
:
description
:
"
ZCK2026
0821
000
2
"
zck2026
1023
000
1
Btn
:
description
:
"
ZCK2026
1023
000
1
"
element_type
:
button
section
:
"
reportContentIframe::main"
frame
:
"
reportContentIframe"
frame_selector
:
iframe[src*="centerPages/sheet"]
strategy
:
role
role
:
button
name
:
"
ZCK2026
0821
000
2
"
playwright
:
"
page.frameLocator('iframe[src*=
\"
centerPages/sheet
\"
]').getByRole('button',
{
name:
'ZCK2026
0821
000
2
'
})"
name
:
"
ZCK2026
1023
000
1
"
playwright
:
"
page.frameLocator('iframe[src*=
\"
centerPages/sheet
\"
]').getByRole('button',
{
name:
'ZCK2026
1023
000
1
'
})"
z
c
k2026
0821
000
2
Btn
_2
:
description
:
"
Z
C
K2026
0821
000
2
"
z
r
k2026
1023
000
1
Btn
:
description
:
"
Z
R
K2026
1023
000
1
"
element_type
:
button
section
:
"
reportContentIframe::main"
frame
:
"
reportContentIframe"
frame_selector
:
iframe[src*="centerPages/sheet"]
strategy
:
role
role
:
button
name
:
"
Z
C
K2026
0821
000
2
"
playwright
:
"
page.frameLocator('iframe[src*=
\"
centerPages/sheet
\"
]').getByRole('button',
{
name:
'Z
C
K2026
0821
000
2
'
})"
name
:
"
Z
R
K2026
1023
000
1
"
playwright
:
"
page.frameLocator('iframe[src*=
\"
centerPages/sheet
\"
]').getByRole('button',
{
name:
'Z
R
K2026
1023
000
1
'
})"
z
r
k20260
8
2100
0
1Btn
:
description
:
"
Z
R
K20260
8
2100
0
1"
z
c
k2026
1
021001
7
Btn
:
description
:
"
Z
C
K2026
1
021001
7
"
element_type
:
button
section
:
"
reportContentIframe::main"
frame
:
"
reportContentIframe"
frame_selector
:
iframe[src*="centerPages/sheet"]
strategy
:
role
role
:
button
name
:
"
Z
R
K20260
8
2100
0
1"
playwright
:
"
page.frameLocator('iframe[src*=
\"
centerPages/sheet
\"
]').getByRole('button',
{
name:
'Z
R
K20260
8
2100
0
1'
})"
name
:
"
Z
C
K2026
1
021001
7
"
playwright
:
"
page.frameLocator('iframe[src*=
\"
centerPages/sheet
\"
]').getByRole('button',
{
name:
'Z
C
K2026
1
021001
7
'
})"
zrk2026
08210001
Btn
_2
:
description
:
"
ZRK2026
08210001
"
zrk2026
10220042
Btn
:
description
:
"
ZRK2026
10220042
"
element_type
:
button
section
:
"
reportContentIframe::main"
frame
:
"
reportContentIframe"
frame_selector
:
iframe[src*="centerPages/sheet"]
strategy
:
role
role
:
button
name
:
"
ZRK2026
08210001
"
playwright
:
"
page.frameLocator('iframe[src*=
\"
centerPages/sheet
\"
]').getByRole('button',
{
name:
'ZRK2026
08210001
'
})"
name
:
"
ZRK2026
10220042
"
playwright
:
"
page.frameLocator('iframe[src*=
\"
centerPages/sheet
\"
]').getByRole('button',
{
name:
'ZRK2026
10220042
'
})"
zck2026
08210001
Btn
:
description
:
"
ZCK2026
08210001
"
zck2026
10220054
Btn
:
description
:
"
ZCK2026
10220054
"
element_type
:
button
section
:
"
reportContentIframe::main"
frame
:
"
reportContentIframe"
frame_selector
:
iframe[src*="centerPages/sheet"]
strategy
:
role
role
:
button
name
:
"
ZCK2026
08210001
"
playwright
:
"
page.frameLocator('iframe[src*=
\"
centerPages/sheet
\"
]').getByRole('button',
{
name:
'ZCK2026
08210001
'
})"
name
:
"
ZCK2026
10220054
"
playwright
:
"
page.frameLocator('iframe[src*=
\"
centerPages/sheet
\"
]').getByRole('button',
{
name:
'ZCK2026
10220054
'
})"
z
c
k2026
082
10001Btn
_2
:
description
:
"
Z
C
K2026
082
10001"
z
r
k202610
22
00
4
1Btn
:
description
:
"
Z
R
K202610
22
00
4
1"
element_type
:
button
section
:
"
reportContentIframe::main"
frame
:
"
reportContentIframe"
frame_selector
:
iframe[src*="centerPages/sheet"]
strategy
:
role
role
:
button
name
:
"
Z
C
K2026
082
10001"
playwright
:
"
page.frameLocator('iframe[src*=
\"
centerPages/sheet
\"
]').getByRole('button',
{
name:
'Z
C
K2026
082
10001'
})"
name
:
"
Z
R
K202610
22
00
4
1"
playwright
:
"
page.frameLocator('iframe[src*=
\"
centerPages/sheet
\"
]').getByRole('button',
{
name:
'Z
R
K202610
22
00
4
1'
})"
z
r
k2026
08200004
Btn
:
description
:
"
Z
R
K2026
08200004
"
z
c
k2026
10220053
Btn
:
description
:
"
Z
C
K2026
10220053
"
element_type
:
button
section
:
"
reportContentIframe::main"
frame
:
"
reportContentIframe"
frame_selector
:
iframe[src*="centerPages/sheet"]
strategy
:
role
role
:
button
name
:
"
Z
R
K2026
08200004
"
playwright
:
"
page.frameLocator('iframe[src*=
\"
centerPages/sheet
\"
]').getByRole('button',
{
name:
'Z
R
K2026
08200004
'
})"
name
:
"
Z
C
K2026
10220053
"
playwright
:
"
page.frameLocator('iframe[src*=
\"
centerPages/sheet
\"
]').getByRole('button',
{
name:
'Z
C
K2026
10220053
'
})"
zrk2026
08200
004Btn
_2
:
description
:
"
ZRK2026
08200
004"
zrk2026
1022
004
0
Btn
:
description
:
"
ZRK2026
1022
004
0
"
element_type
:
button
section
:
"
reportContentIframe::main"
frame
:
"
reportContentIframe"
frame_selector
:
iframe[src*="centerPages/sheet"]
strategy
:
role
role
:
button
name
:
"
ZRK2026
08200
004"
playwright
:
"
page.frameLocator('iframe[src*=
\"
centerPages/sheet
\"
]').getByRole('button',
{
name:
'ZRK2026
08200
004'
})"
name
:
"
ZRK2026
1022
004
0
"
playwright
:
"
page.frameLocator('iframe[src*=
\"
centerPages/sheet
\"
]').getByRole('button',
{
name:
'ZRK2026
1022
004
0
'
})"
zck2026
08200004
Btn
:
description
:
"
ZCK2026
08200004
"
zck2026
10220052
Btn
:
description
:
"
ZCK2026
10220052
"
element_type
:
button
section
:
"
reportContentIframe::main"
frame
:
"
reportContentIframe"
frame_selector
:
iframe[src*="centerPages/sheet"]
strategy
:
role
role
:
button
name
:
"
ZCK2026
08200004
"
playwright
:
"
page.frameLocator('iframe[src*=
\"
centerPages/sheet
\"
]').getByRole('button',
{
name:
'ZCK2026
08200004
'
})"
name
:
"
ZCK2026
10220052
"
playwright
:
"
page.frameLocator('iframe[src*=
\"
centerPages/sheet
\"
]').getByRole('button',
{
name:
'ZCK2026
10220052
'
})"
z
r
k2026
08200003
Btn
:
description
:
"
Z
R
K2026
08200003
"
z
c
k2026
10220049
Btn
:
description
:
"
Z
C
K2026
10220049
"
element_type
:
button
section
:
"
reportContentIframe::main"
frame
:
"
reportContentIframe"
frame_selector
:
iframe[src*="centerPages/sheet"]
strategy
:
role
role
:
button
name
:
"
Z
R
K2026
08200003
"
playwright
:
"
page.frameLocator('iframe[src*=
\"
centerPages/sheet
\"
]').getByRole('button',
{
name:
'Z
R
K2026
08200003
'
})"
name
:
"
Z
C
K2026
10220049
"
playwright
:
"
page.frameLocator('iframe[src*=
\"
centerPages/sheet
\"
]').getByRole('button',
{
name:
'Z
C
K2026
10220049
'
})"
z
r
k2026
08200
002Btn
:
description
:
"
Z
R
K2026
08200
002"
z
c
k2026
1022
002
9
Btn
:
description
:
"
Z
C
K2026
1022
002
9
"
element_type
:
button
section
:
"
reportContentIframe::main"
frame
:
"
reportContentIframe"
frame_selector
:
iframe[src*="centerPages/sheet"]
strategy
:
role
role
:
button
name
:
"
Z
R
K2026
08200
002"
playwright
:
"
page.frameLocator('iframe[src*=
\"
centerPages/sheet
\"
]').getByRole('button',
{
name:
'Z
R
K2026
08200
002'
})"
name
:
"
Z
C
K2026
1022
002
9
"
playwright
:
"
page.frameLocator('iframe[src*=
\"
centerPages/sheet
\"
]').getByRole('button',
{
name:
'Z
C
K2026
1022
002
9
'
})"
z
c
k2026
08200
003Btn
:
description
:
"
Z
C
K2026
08200
003"
z
r
k2026
1022
003
6
Btn
:
description
:
"
Z
R
K2026
1022
003
6
"
element_type
:
button
section
:
"
reportContentIframe::main"
frame
:
"
reportContentIframe"
frame_selector
:
iframe[src*="centerPages/sheet"]
strategy
:
role
role
:
button
name
:
"
Z
C
K2026
08200
003"
playwright
:
"
page.frameLocator('iframe[src*=
\"
centerPages/sheet
\"
]').getByRole('button',
{
name:
'Z
C
K2026
08200
003'
})"
name
:
"
Z
R
K2026
1022
003
6
"
playwright
:
"
page.frameLocator('iframe[src*=
\"
centerPages/sheet
\"
]').getByRole('button',
{
name:
'Z
R
K2026
1022
003
6
'
})"
zck2026
08200002
Btn
:
description
:
"
ZCK2026
08200002
"
zck2026
10220047
Btn
:
description
:
"
ZCK2026
10220047
"
element_type
:
button
section
:
"
reportContentIframe::main"
frame
:
"
reportContentIframe"
frame_selector
:
iframe[src*="centerPages/sheet"]
strategy
:
role
role
:
button
name
:
"
ZCK2026
08200002
"
playwright
:
"
page.frameLocator('iframe[src*=
\"
centerPages/sheet
\"
]').getByRole('button',
{
name:
'ZCK2026
08200002
'
})"
name
:
"
ZCK2026
10220047
"
playwright
:
"
page.frameLocator('iframe[src*=
\"
centerPages/sheet
\"
]').getByRole('button',
{
name:
'ZCK2026
10220047
'
})"
zck2026
08200001
Btn
:
description
:
"
ZCK2026
08200001
"
zck2026
10220044
Btn
:
description
:
"
ZCK2026
10220044
"
element_type
:
button
section
:
"
reportContentIframe::main"
frame
:
"
reportContentIframe"
frame_selector
:
iframe[src*="centerPages/sheet"]
strategy
:
role
role
:
button
name
:
"
ZCK2026
08200001
"
playwright
:
"
page.frameLocator('iframe[src*=
\"
centerPages/sheet
\"
]').getByRole('button',
{
name:
'ZCK2026
08200001
'
})"
name
:
"
ZCK2026
10220044
"
playwright
:
"
page.frameLocator('iframe[src*=
\"
centerPages/sheet
\"
]').getByRole('button',
{
name:
'ZCK2026
10220044
'
})"
z
r
k2026
08200001
Btn
:
description
:
"
Z
R
K2026
08200001
"
z
c
k2026
10220043
Btn
:
description
:
"
Z
C
K2026
10220043
"
element_type
:
button
section
:
"
reportContentIframe::main"
frame
:
"
reportContentIframe"
frame_selector
:
iframe[src*="centerPages/sheet"]
strategy
:
role
role
:
button
name
:
"
Z
R
K2026
08200001
"
playwright
:
"
page.frameLocator('iframe[src*=
\"
centerPages/sheet
\"
]').getByRole('button',
{
name:
'Z
R
K2026
08200001
'
})"
name
:
"
Z
C
K2026
10220043
"
playwright
:
"
page.frameLocator('iframe[src*=
\"
centerPages/sheet
\"
]').getByRole('button',
{
name:
'Z
C
K2026
10220043
'
})"
zck2026
0818003
2Btn
:
description
:
"
ZCK2026
0818003
2"
zck2026
1022004
2Btn
:
description
:
"
ZCK2026
1022004
2"
element_type
:
button
section
:
"
reportContentIframe::main"
frame
:
"
reportContentIframe"
frame_selector
:
iframe[src*="centerPages/sheet"]
strategy
:
role
role
:
button
name
:
"
ZCK2026
0818003
2"
playwright
:
"
page.frameLocator('iframe[src*=
\"
centerPages/sheet
\"
]').getByRole('button',
{
name:
'ZCK2026
0818003
2'
})"
name
:
"
ZCK2026
1022004
2"
playwright
:
"
page.frameLocator('iframe[src*=
\"
centerPages/sheet
\"
]').getByRole('button',
{
name:
'ZCK2026
1022004
2'
})"
z
r
k2026
08180032
Btn
:
description
:
"
Z
R
K2026
08180032
"
z
c
k2026
10220040
Btn
:
description
:
"
Z
C
K2026
10220040
"
element_type
:
button
section
:
"
reportContentIframe::main"
frame
:
"
reportContentIframe"
frame_selector
:
iframe[src*="centerPages/sheet"]
strategy
:
role
role
:
button
name
:
"
Z
R
K2026
08180032
"
playwright
:
"
page.frameLocator('iframe[src*=
\"
centerPages/sheet
\"
]').getByRole('button',
{
name:
'Z
R
K2026
08180032
'
})"
name
:
"
Z
C
K2026
10220040
"
playwright
:
"
page.frameLocator('iframe[src*=
\"
centerPages/sheet
\"
]').getByRole('button',
{
name:
'Z
C
K2026
10220040
'
})"
z
c
k2026
0818
003
1
Btn
:
description
:
"
Z
C
K2026
0818
003
1
"
z
r
k2026
1022
003
3
Btn
:
description
:
"
Z
R
K2026
1022
003
3
"
element_type
:
button
section
:
"
reportContentIframe::main"
frame
:
"
reportContentIframe"
frame_selector
:
iframe[src*="centerPages/sheet"]
strategy
:
role
role
:
button
name
:
"
ZCK202608180031"
playwright
:
"
page.frameLocator('iframe[src*=
\"
centerPages/sheet
\"
]').getByRole('button',
{
name:
'ZCK202608180031'
})"
zrk202608180031Btn
:
description
:
"
ZRK202608180031"
element_type
:
button
section
:
"
reportContentIframe::main"
frame
:
"
reportContentIframe"
frame_selector
:
iframe[src*="centerPages/sheet"]
strategy
:
role
role
:
button
name
:
"
ZRK202608180031"
playwright
:
"
page.frameLocator('iframe[src*=
\"
centerPages/sheet
\"
]').getByRole('button',
{
name:
'ZRK202608180031'
})"
zrk202608180030Btn
:
description
:
"
ZRK202608180030"
element_type
:
button
section
:
"
reportContentIframe::main"
frame
:
"
reportContentIframe"
frame_selector
:
iframe[src*="centerPages/sheet"]
strategy
:
role
role
:
button
name
:
"
ZRK202608180030"
playwright
:
"
page.frameLocator('iframe[src*=
\"
centerPages/sheet
\"
]').getByRole('button',
{
name:
'ZRK202608180030'
})"
zck202608180030Btn
:
description
:
"
ZCK202608180030"
element_type
:
button
section
:
"
reportContentIframe::main"
frame
:
"
reportContentIframe"
frame_selector
:
iframe[src*="centerPages/sheet"]
strategy
:
role
role
:
button
name
:
"
ZCK202608180030"
playwright
:
"
page.frameLocator('iframe[src*=
\"
centerPages/sheet
\"
]').getByRole('button',
{
name:
'ZCK202608180030'
})"
zck202608180029Btn
:
description
:
"
ZCK202608180029"
element_type
:
button
section
:
"
reportContentIframe::main"
frame
:
"
reportContentIframe"
frame_selector
:
iframe[src*="centerPages/sheet"]
strategy
:
role
role
:
button
name
:
"
ZCK202608180029"
playwright
:
"
page.frameLocator('iframe[src*=
\"
centerPages/sheet
\"
]').getByRole('button',
{
name:
'ZCK202608180029'
})"
zck202608180029Btn_2
:
description
:
"
ZCK202608180029"
element_type
:
button
section
:
"
reportContentIframe::main"
frame
:
"
reportContentIframe"
frame_selector
:
iframe[src*="centerPages/sheet"]
strategy
:
role
role
:
button
name
:
"
ZCK202608180029"
playwright
:
"
page.frameLocator('iframe[src*=
\"
centerPages/sheet
\"
]').getByRole('button',
{
name:
'ZCK202608180029'
})"
zck202608180029Btn_3
:
description
:
"
ZCK202608180029"
element_type
:
button
section
:
"
reportContentIframe::main"
frame
:
"
reportContentIframe"
frame_selector
:
iframe[src*="centerPages/sheet"]
strategy
:
role
role
:
button
name
:
"
ZCK202608180029"
playwright
:
"
page.frameLocator('iframe[src*=
\"
centerPages/sheet
\"
]').getByRole('button',
{
name:
'ZCK202608180029'
})"
name
:
"
ZRK202610220033"
playwright
:
"
page.frameLocator('iframe[src*=
\"
centerPages/sheet
\"
]').getByRole('button',
{
name:
'ZRK202610220033'
})"
# --- reportContentIframe::pagination ---
pagination_
365_12345_850
:
description
:
"
共
365
条12345•••
8
50
条/页跳至页"
pagination_
el_e585b1343432e69da13132333435e280a2e280a2e280a2393530e69da12fe9a1b5e8b7b3e887b3e9a1b5
:
description
:
"
共
442
条12345•••
9
50
条/页跳至页"
element_type
:
ul
section
:
"
reportContentIframe::pagination"
frame
:
"
reportContentIframe"
frame_selector
:
iframe[src*="centerPages/sheet"]
strategy
:
text
value
:
"
共
365
条12345•••
8
50
条/页跳至页"
playwright
:
"
page.frameLocator('iframe[src*=
\"
centerPages/sheet
\"
]').getByText('共
365
条12345•••
8
50
条/页跳至页')"
value
:
"
共
442
条12345•••
9
50
条/页跳至页"
playwright
:
"
page.frameLocator('iframe[src*=
\"
centerPages/sheet
\"
]').getByText('共
442
条12345•••
9
50
条/页跳至页')"
pagination_prevPageBtn
:
description
:
"
上一页"
...
...
@@ -1040,7 +848,7 @@ locators:
value
:
"
5"
playwright
:
"
page.frameLocator('iframe[src*=
\"
centerPages/sheet
\"
]').getByText('5')"
pagination_5
:
pagination_
el_e59091e5908e35e9a1b
5
:
description
:
"
向后
5
页"
element_type
:
li
section
:
"
reportContentIframe::pagination"
...
...
@@ -1050,15 +858,15 @@ locators:
value
:
"
向后
5
页"
playwright
:
"
page.frameLocator('iframe[src*=
\"
centerPages/sheet
\"
]').getByText('向后
5
页')"
pagination_page_
8
:
description
:
"
8
"
pagination_page_
9
:
description
:
"
9
"
element_type
:
pagination_item
section
:
"
reportContentIframe::pagination"
frame
:
"
reportContentIframe"
frame_selector
:
iframe[src*="centerPages/sheet"]
strategy
:
text
value
:
"
8
"
playwright
:
"
page.frameLocator('iframe[src*=
\"
centerPages/sheet
\"
]').getByText('
8
')"
value
:
"
9
"
playwright
:
"
page.frameLocator('iframe[src*=
\"
centerPages/sheet
\"
]').getByText('
9
')"
pagination_nextPageBtn
:
description
:
"
下一页"
...
...
@@ -1082,7 +890,7 @@ locators:
# --- reportContentIframe::panel:高级筛选 ---
drawer_productName
:
description
:
"
产品
ID/名称"
description
:
"
物料
ID/名称"
element_type
:
text
section
:
"
reportContentIframe::panel:高级筛选"
frame
:
"
reportContentIframe"
...
...
@@ -1091,15 +899,15 @@ locators:
value
:
"
form_item_goodsName"
playwright
:
"
page.frameLocator('iframe[src*=
\"
centerPages/sheet
\"
]').locator('#form_item_goodsName')"
drawer_
accountingDate
DateRange
:
description
:
"
记账
日期
"
drawer_
el_e8aeb0e8b4a6e697b6e997b4
DateRange
:
description
:
"
记账
时间
"
element_type
:
datepicker
section
:
"
reportContentIframe::panel:高级筛选"
frame
:
"
reportContentIframe"
frame_selector
:
iframe[src*="centerPages/sheet"]
strategy
:
label_text
value
:
"
记账
日期
"
playwright
:
"
page.frameLocator('iframe[src*=
\"
centerPages/sheet
\"
]').getByText('记账
日期
',
{
exact:
true
})"
value
:
"
记账
时间
"
playwright
:
"
page.frameLocator('iframe[src*=
\"
centerPages/sheet
\"
]').getByText('记账
时间
',
{
exact:
true
})"
drawer_accountingDateStart
:
description
:
"
开始时间"
...
...
@@ -1111,7 +919,7 @@ locators:
value
:
"
form_item_accountDate"
playwright
:
"
page.frameLocator('iframe[src*=
\"
centerPages/sheet
\"
]').locator('#form_item_accountDate')"
drawer_
accountingDate
Input
:
drawer_
el_e8aeb0e8b4a6e697b6e997b4
Input
:
description
:
"
截止时间"
element_type
:
text
section
:
"
reportContentIframe::panel:高级筛选"
...
...
@@ -1142,14 +950,14 @@ locators:
playwright
:
"
page.frameLocator('iframe[src*=
\"
centerPages/sheet
\"
]').locator('#form_item_branchId')"
drawer_consumableCategorySelect
:
description
:
"
耗材分类(多选级联)
"
element_type
:
cascader
description
:
"
请选择
"
element_type
:
select
section
:
"
reportContentIframe::panel:高级筛选"
frame
:
"
reportContentIframe"
frame_selector
:
iframe[src*="centerPages/sheet"]
strategy
:
label_text
value
:
"
耗材分类"
playwright
:
"
page.frameLocator('iframe[src*=
\"
centerPages/sheet
\"
]').
locator('.ant-drawer-open
.ant-form-item').filter({
has
Text
:
'耗材分类'
}).locator('.ant-cascader').first(
)"
playwright
:
"
page.frameLocator('iframe[src*=
\"
centerPages/sheet
\"
]').
getBy
Text
(
'耗材分类'
,
{
exact:
true
}
)"
drawer_sourceTarget
:
description
:
"
来源/目标"
...
...
@@ -1381,11 +1189,11 @@ locators:
value
:
"
入库来源"
playwright
:
"
page.frameLocator('iframe[src*=
\"
centerPages/sheet
\"
]').getByText('入库来源',
{
exact:
true
})"
# --- reportContentIframe::panel:
高级筛选
:footer ---
drawer_
resetBtn
:
# --- reportContentIframe::panel:
drawer
:footer ---
resetBtn
_2
:
description
:
"
重
置"
element_type
:
button
section
:
"
reportContentIframe::panel:
高级筛选
:footer"
section
:
"
reportContentIframe::panel:
drawer
:footer"
frame
:
"
reportContentIframe"
frame_selector
:
iframe[src*="centerPages/sheet"]
strategy
:
role
...
...
@@ -1393,10 +1201,10 @@ locators:
name
:
"
重
置"
playwright
:
"
page.frameLocator('iframe[src*=
\"
centerPages/sheet
\"
]').getByRole('button',
{
name:
'重
置'
})"
drawer_
filterApplyBtn
:
filterApplyBtn
:
description
:
"
筛
选"
element_type
:
button
section
:
"
reportContentIframe::panel:
高级筛选
:footer"
section
:
"
reportContentIframe::panel:
drawer
:footer"
frame
:
"
reportContentIframe"
frame_selector
:
iframe[src*="centerPages/sheet"]
strategy
:
role
...
...
locators/spd/center-report-turnover.locator.yaml
View file @
6c31a476
...
...
@@ -316,7 +316,7 @@ locators:
playwright
:
"
page.frameLocator('iframe[src*=
\"
statistics/pro
\"
]').locator('#table_search_form_branchId')"
productNameInput
:
description
:
"
产品编号/
名称"
description
:
"
物料
名称"
element_type
:
text
section
:
"
reportTurnoverIframe::main"
frame
:
"
reportTurnoverIframe"
...
...
locators/spd/recon-purchase-entry.locator.yaml
View file @
6c31a476
# Auto-generated from
recon-purchase-entry
-elements.json
# Source: http://spdtest.cmic.com.cn:8080/spd/form/c
heckAccount/report/checkAccount/purchaseEntry
# Scanned: 2026-
08-31T12:53:05.969
Z
# Page: 统计报表 >
对账报表 > 采购入库汇总表
# Auto-generated from
center-report-sheet
-elements.json
# Source: http://spdtest.cmic.com.cn:8080/spd/form/c
enterReport/report/centerPages/sheet
# Scanned: 2026-
10-27T07:23:36.377
Z
# Page: 统计报表 >
中心库出入库报表 > 出入库明细查询
# Note: advanced filter panel was opened during scan
page
:
recon-purchase-entry
page
:
center-report-sheet
module
:
spd-stat
url
:
http://spdtest.cmic.com.cn:8080/spd/form/c
heckAccount/report/checkAccount/purchaseEntry
url
:
http://spdtest.cmic.com.cn:8080/spd/form/c
enterReport/report/centerPages/sheet
locators
:
# --- main::main ---
el_e4b8ade5
:
description
:
"
中心库(千泉院区)"
element_type
:
div
section
:
"
main::main"
strategy
:
label_text
value
:
"
中心库(千泉院区)"
playwright
:
"
page.getByText('中心库(千泉院区)',
{
exact:
true
})"
el_e4b8ade5_2
:
description
:
"
99+"
element_type
:
div
section
:
"
main::main"
strategy
:
label_text
value
:
"
中心库(千泉院区)"
playwright
:
"
page.getByText('中心库(千泉院区)',
{
exact:
true
})"
el_e4b8ade5_3
:
description
:
"
蒋华"
element_type
:
div
section
:
"
main::main"
strategy
:
label_text
value
:
"
中心库(千泉院区)"
playwright
:
"
page.getByText('中心库(千泉院区)',
{
exact:
true
})"
menu_home
:
description
:
"
首页"
element_type
:
li
...
...
@@ -43,7 +19,7 @@ locators:
name
:
"
首页"
playwright
:
"
page.getByRole('menuitem',
{
name:
'首页'
})"
menu_
el_e59fbae7
:
menu_
basicSetting
:
description
:
"
基础设置"
element_type
:
li
section
:
"
main::main"
...
...
@@ -52,7 +28,7 @@ locators:
name
:
"
基础设置"
playwright
:
"
page.getByRole('menuitem',
{
name:
'基础设置'
})"
menu_
el_e98787e8
:
menu_
purchase
:
description
:
"
采购管理"
element_type
:
li
section
:
"
main::main"
...
...
@@ -61,7 +37,7 @@ locators:
name
:
"
采购管理"
playwright
:
"
page.getByRole('menuitem',
{
name:
'采购管理'
})"
menu_
el_e69c9fe5
:
menu_
opening
:
description
:
"
期初管理"
element_type
:
li
section
:
"
main::main"
...
...
@@ -70,7 +46,7 @@ locators:
name
:
"
期初管理"
playwright
:
"
page.getByRole('menuitem',
{
name:
'期初管理'
})"
menu_
el_e4b8ade5
:
menu_
centerStock
:
description
:
"
中心库管理"
element_type
:
li
section
:
"
main::main"
...
...
@@ -79,7 +55,7 @@ locators:
name
:
"
中心库管理"
playwright
:
"
page.getByRole('menuitem',
{
name:
'中心库管理'
})"
menu_
el_e7a791e5
:
menu_
deptBusiness
:
description
:
"
科室业务管理"
element_type
:
li
section
:
"
main::main"
...
...
@@ -88,7 +64,7 @@ locators:
name
:
"
科室业务管理"
playwright
:
"
page.getByRole('menuitem',
{
name:
'科室业务管理'
})"
menu_
el_e8b4a2e5
:
menu_
finance
:
description
:
"
财务管理"
element_type
:
li
section
:
"
main::main"
...
...
@@ -97,7 +73,7 @@ locators:
name
:
"
财务管理"
playwright
:
"
page.getByRole('menuitem',
{
name:
'财务管理'
})"
menu_
el_e9aaa8e7
:
menu_
orthoVolume
:
description
:
"
骨科带量"
element_type
:
li
section
:
"
main::main"
...
...
@@ -106,7 +82,7 @@ locators:
name
:
"
骨科带量"
playwright
:
"
page.getByRole('menuitem',
{
name:
'骨科带量'
})"
menu_
el_e7bbbce5
:
menu_
general
:
description
:
"
综合管理"
element_type
:
li
section
:
"
main::main"
...
...
@@ -115,7 +91,7 @@ locators:
name
:
"
综合管理"
playwright
:
"
page.getByRole('menuitem',
{
name:
'综合管理'
})"
menu_
el_e998b3e9
:
menu_
yangcai
:
description
:
"
阳采管理"
element_type
:
li
section
:
"
main::main"
...
...
@@ -124,7 +100,7 @@ locators:
name
:
"
阳采管理"
playwright
:
"
page.getByRole('menuitem',
{
name:
'阳采管理'
})"
menu_
el_e6b581e7
:
menu_
processCenter
:
description
:
"
流程中心"
element_type
:
li
section
:
"
main::main"
...
...
@@ -133,7 +109,7 @@ locators:
name
:
"
流程中心"
playwright
:
"
page.getByRole('menuitem',
{
name:
'流程中心'
})"
menu_
el_e5908ee5
:
menu_
logistics
:
description
:
"
后勤物资管理"
element_type
:
li
section
:
"
main::main"
...
...
@@ -151,7 +127,7 @@ locators:
name
:
"
统计报表"
playwright
:
"
page.getByRole('menuitem',
{
name:
'统计报表'
})"
menu_
el_e695b0e6
:
menu_
dataViz
:
description
:
"
数据可视化"
element_type
:
li
section
:
"
main::main"
...
...
@@ -160,938 +136,1078 @@ locators:
name
:
"
数据可视化"
playwright
:
"
page.getByRole('menuitem',
{
name:
'数据可视化'
})"
menu_
el_e7a791e5_2
:
description
:
"
科室对账
查询"
menu_
inOutDetailQuery
:
description
:
"
出入库明细
查询"
element_type
:
li
section
:
"
main::main"
strategy
:
role
role
:
menuitem
name
:
"
科室对账
查询"
playwright
:
"
page.getByRole('menuitem',
{
name:
'
科室对账
查询'
})"
name
:
"
出入库明细
查询"
playwright
:
"
page.getByRole('menuitem',
{
name:
'
出入库明细
查询'
})"
menu_
el_e7a791e5_3
:
description
:
"
科室净入汇总表
"
menu_
inboundSummaryQuery
:
description
:
"
入库汇总查询
"
element_type
:
li
section
:
"
main::main"
strategy
:
role
role
:
menuitem
name
:
"
科室净入汇总表
"
playwright
:
"
page.getByRole('menuitem',
{
name:
'
科室净入汇总表
'
})"
name
:
"
入库汇总查询
"
playwright
:
"
page.getByRole('menuitem',
{
name:
'
入库汇总查询
'
})"
menu_
el_e8afb7e9
:
description
:
"
请领出库分类汇总表
"
menu_
outboundSummaryQuery
:
description
:
"
出库汇总查询
"
element_type
:
li
section
:
"
main::main"
strategy
:
role
role
:
menuitem
name
:
"
请领出库分类汇总表
"
playwright
:
"
page.getByRole('menuitem',
{
name:
'
请领出库分类汇总表
'
})"
name
:
"
出库汇总查询
"
playwright
:
"
page.getByRole('menuitem',
{
name:
'
出库汇总查询
'
})"
menu_el_e
98787e8_2
:
description
:
"
采购分类汇总
"
menu_el_e
4b8ade5bf83e5ba93e4baa7e59381e8bf9be99480e5ad98
:
description
:
"
中心库产品进销存
"
element_type
:
li
section
:
"
main::main"
strategy
:
role
role
:
menuitem
name
:
"
采购分类汇总
"
playwright
:
"
page.getByRole('menuitem',
{
name:
'
采购分类汇总
'
})"
name
:
"
中心库产品进销存
"
playwright
:
"
page.getByRole('menuitem',
{
name:
'
中心库产品进销存
'
})"
menu_el_e
98787e8_3
:
description
:
"
采购入库汇总表
"
menu_el_e
587bae585a5e5ba93e6988ee7bb86e69fa5e8afa228e5908ee58ba4efbc89
:
description
:
"
出入库明细查询(后勤)
"
element_type
:
li
section
:
"
main::main"
strategy
:
role
role
:
menuitem
name
:
"
采购入库汇总表
"
playwright
:
"
page.getByRole('menuitem',
{
name:
'
采购入库汇总表
'
})"
name
:
"
出入库明细查询(后勤)
"
playwright
:
"
page.getByRole('menuitem',
{
name:
'
出入库明细查询(后勤)
'
})"
menu_el_e4b
e9be5
:
description
:
"
供应商对账查询
"
menu_el_e4b
aa7e59381e591a8e8bdace78e87e68aa5e8a1a8
:
description
:
"
产品周转率报表
"
element_type
:
li
section
:
"
main::main"
strategy
:
role
role
:
menuitem
name
:
"
供应商对账查询
"
playwright
:
"
page.getByRole('menuitem',
{
name:
'
供应商对账查询
'
})"
name
:
"
产品周转率报表
"
playwright
:
"
page.getByRole('menuitem',
{
name:
'
产品周转率报表
'
})"
menu_el_e
7a791e5_4
:
description
:
"
科室净出汇总表
"
menu_el_e
4b8ade5bf83e5ba93e8bf9be99480e5ad9828e5908ee58ba429
:
description
:
"
中心库进销存(后勤)
"
element_type
:
li
section
:
"
main::main"
strategy
:
role
role
:
menuitem
name
:
"
科室净出汇总表
"
playwright
:
"
page.getByRole('menuitem',
{
name:
'
科室净出汇总表
'
})"
name
:
"
中心库进销存(后勤)
"
playwright
:
"
page.getByRole('menuitem',
{
name:
'
中心库进销存(后勤)
'
})"
el_e98787e8
:
description
:
"
采购入库汇总表"
menu_el_e58780e585a5e5ba93e6b187e680bbe69fa5e8afa2efbc88e5a49ae7bbb4e5baa6efbc89
:
description
:
"
净入库汇总查询(多维度)"
element_type
:
li
section
:
"
main::main"
strategy
:
role
role
:
menuitem
name
:
"
净入库汇总查询(多维度)"
playwright
:
"
page.getByRole('menuitem',
{
name:
'净入库汇总查询(多维度)'
})"
menu_el_e58780e587bae5ba93e6b187e680bbe69fa5e8afa2efbc88e5a49ae7bbb4e5baa6efbc89
:
description
:
"
净出库汇总查询(多维度)"
element_type
:
li
section
:
"
main::main"
strategy
:
role
role
:
menuitem
name
:
"
净出库汇总查询(多维度)"
playwright
:
"
page.getByRole('menuitem',
{
name:
'净出库汇总查询(多维度)'
})"
inOutDetailQuery
:
description
:
"
出入库明细查询"
element_type
:
tab
section
:
"
main::main"
strategy
:
text
value
:
"
采购入库汇总表
"
playwright
:
"
page.getByText('
采购入库汇总表
')"
value
:
"
出入库明细查询
"
playwright
:
"
page.getByText('
出入库明细查询
')"
tab_
el_e98787e8
:
description
:
"
采购入库汇总表
"
tab_
inOutDetailQuery
:
description
:
"
出入库明细查询
"
element_type
:
div
section
:
"
main::main"
strategy
:
id
value
:
"
rc-tabs-0-tab-/form/c
heckAccount/report/checkAccount/purchaseEntry
"
playwright
:
"
page.locator('#rc-tabs-0-tab-/form/c
heckAccount/report/checkAccount/purchaseEntry
')"
value
:
"
rc-tabs-0-tab-/form/c
enterReport/report/centerPages/sheet
"
playwright
:
"
page.locator('#rc-tabs-0-tab-/form/c
enterReport/report/centerPages/sheet
')"
removeBtn
:
description
:
"
remove"
element_type
:
button
section
:
"
main::main"
strategy
:
label
value
:
"
remove"
playwright
:
"
page.getByLabel('remove')"
# --- recon_purchase_entryIframe::main ---
# --- reportContentIframe::main ---
productName
:
description
:
"
产品
ID/名称"
description
:
"
物料
ID/名称"
element_type
:
text
section
:
"
re
con_purchase_
ent
ry
Iframe::main"
frame
:
"
re
con_purchase_
ent
ry
Iframe"
frame_selector
:
iframe[src*="c
heckAccount/purchaseEntry
"]
section
:
"
re
portCont
entIframe::main"
frame
:
"
re
portCont
entIframe"
frame_selector
:
iframe[src*="c
enterPages/sheet
"]
strategy
:
id
value
:
"
form_item_goodsName"
playwright
:
"
page.frameLocator('iframe[src*=
\"
c
heckAccount/purchaseEntry
\"
]').locator('#form_item_goodsName')"
playwright
:
"
page.frameLocator('iframe[src*=
\"
c
enterPages/sheet
\"
]').locator('#form_item_goodsName')"
el_e
7bb9fe8
DateRange
:
description
:
"
统计日期
"
el_e
8aeb0e8b4a6e697b6e997b4
DateRange
:
description
:
"
记账时间
"
element_type
:
datepicker
section
:
"
re
con_purchase_
ent
ry
Iframe::main"
frame
:
"
re
con_purchase_
ent
ry
Iframe"
frame_selector
:
iframe[src*="c
heckAccount/purchaseEntry
"]
section
:
"
re
portCont
entIframe::main"
frame
:
"
re
portCont
entIframe"
frame_selector
:
iframe[src*="c
enterPages/sheet
"]
strategy
:
label_text
value
:
"
统计日期
"
playwright
:
"
page.frameLocator('iframe[src*=
\"
c
heckAccount/purchaseEntry
\"
]').getByText('
统计日期
',
{
exact:
true
})"
value
:
"
记账时间
"
playwright
:
"
page.frameLocator('iframe[src*=
\"
c
enterPages/sheet
\"
]').getByText('
记账时间
',
{
exact:
true
})"
el_e7bb9fe8Inpu
t
:
accountingDateStar
t
:
description
:
"
开始时间"
element_type
:
text
section
:
"
re
con_purchase_
ent
ry
Iframe::main"
frame
:
"
re
con_purchase_
ent
ry
Iframe"
frame_selector
:
iframe[src*="c
heckAccount/purchaseEntry
"]
section
:
"
re
portCont
entIframe::main"
frame
:
"
re
portCont
entIframe"
frame_selector
:
iframe[src*="c
enterPages/sheet
"]
strategy
:
id
value
:
"
form_item_
dateValu
e"
playwright
:
"
page.frameLocator('iframe[src*=
\"
c
heckAccount/purchaseEntry
\"
]').locator('#form_item_
dateValu
e')"
value
:
"
form_item_
accountDat
e"
playwright
:
"
page.frameLocator('iframe[src*=
\"
c
enterPages/sheet
\"
]').locator('#form_item_
accountDat
e')"
el_e
7bb9fe8
Input
_2
:
el_e
8aeb0e8b4a6e697b6e997b4
Input
:
description
:
"
截止时间"
element_type
:
text
section
:
"
re
con_purchase_
ent
ry
Iframe::main"
frame
:
"
re
con_purchase_
ent
ry
Iframe"
frame_selector
:
iframe[src*="c
heckAccount/purchaseEntry
"]
section
:
"
re
portCont
entIframe::main"
frame
:
"
re
portCont
entIframe"
frame_selector
:
iframe[src*="c
enterPages/sheet
"]
strategy
:
placeholder
value
:
"
截止时间"
playwright
:
"
page.frameLocator('iframe[src*=
\"
c
heckAccount/purchaseEntry
\"
]').getByPlaceholder('截止时间')"
playwright
:
"
page.frameLocator('iframe[src*=
\"
c
enterPages/sheet
\"
]').getByPlaceholder('截止时间')"
supplierName
:
description
:
"
进院供应商名称
"
element_type
:
tex
t
section
:
"
re
con_purchase_
ent
ry
Iframe::main"
frame
:
"
re
con_purchase_
ent
ry
Iframe"
frame_selector
:
iframe[src*="c
heckAccount/purchaseEntry
"]
strategy
:
id
value
:
"
form_item_provName
"
playwright
:
"
page.frameLocator('iframe[src*=
\"
c
heckAccount/purchaseEntry
\"
]').locator('#form_item_provName'
)"
documentTypeSelect
:
description
:
"
请选择
"
element_type
:
selec
t
section
:
"
re
portCont
entIframe::main"
frame
:
"
re
portCont
entIframe"
frame_selector
:
iframe[src*="c
enterPages/sheet
"]
strategy
:
label_text
value
:
"
单据类型
"
playwright
:
"
page.frameLocator('iframe[src*=
\"
c
enterPages/sheet
\"
]').getByText('单据类型',
{
exact:
true
}
)"
searchBtn
:
description
:
"
查
询"
element_type
:
button
section
:
"
re
con_purchase_
ent
ry
Iframe::main"
frame
:
"
re
con_purchase_
ent
ry
Iframe"
frame_selector
:
iframe[src*="c
heckAccount/purchaseEntry
"]
section
:
"
re
portCont
entIframe::main"
frame
:
"
re
portCont
entIframe"
frame_selector
:
iframe[src*="c
enterPages/sheet
"]
strategy
:
role
role
:
button
name
:
"
查
询"
playwright
:
"
page.frameLocator('iframe[src*=
\"
c
heckAccount/purchaseEntry
\"
]').getByRole('button',
{
name:
'查
询'
})"
playwright
:
"
page.frameLocator('iframe[src*=
\"
c
enterPages/sheet
\"
]').getByRole('button',
{
name:
'查
询'
})"
resetBtn
:
description
:
"
重
置"
element_type
:
button
section
:
"
re
con_purchase_
ent
ry
Iframe::main"
frame
:
"
re
con_purchase_
ent
ry
Iframe"
frame_selector
:
iframe[src*="c
heckAccount/purchaseEntry
"]
section
:
"
re
portCont
entIframe::main"
frame
:
"
re
portCont
entIframe"
frame_selector
:
iframe[src*="c
enterPages/sheet
"]
strategy
:
role
role
:
button
name
:
"
重
置"
playwright
:
"
page.frameLocator('iframe[src*=
\"
c
heckAccount/purchaseEntry
\"
]').getByRole('button',
{
name:
'重
置'
})"
playwright
:
"
page.frameLocator('iframe[src*=
\"
c
enterPages/sheet
\"
]').getByRole('button',
{
name:
'重
置'
})"
advancedFilterBtn
:
description
:
"
高级筛选"
element_type
:
filter_trigger
section
:
"
re
con_purchase_
ent
ry
Iframe::main"
frame
:
"
re
con_purchase_
ent
ry
Iframe"
frame_selector
:
iframe[src*="c
heckAccount/purchaseEntry
"]
section
:
"
re
portCont
entIframe::main"
frame
:
"
re
portCont
entIframe"
frame_selector
:
iframe[src*="c
enterPages/sheet
"]
strategy
:
css
value
:
"
.advance-filter"
playwright
:
"
page.frameLocator('iframe[src*=
\"
c
heckAccount/purchaseEntry
\"
]').locator('.advance-filter')"
playwright
:
"
page.frameLocator('iframe[src*=
\"
c
enterPages/sheet
\"
]').locator('.advance-filter')"
exportBtn
:
description
:
"
导
出"
element_type
:
button
section
:
"
re
con_purchase_
ent
ry
Iframe::main"
frame
:
"
re
con_purchase_
ent
ry
Iframe"
frame_selector
:
iframe[src*="c
heckAccount/purchaseEntry
"]
section
:
"
re
portCont
entIframe::main"
frame
:
"
re
portCont
entIframe"
frame_selector
:
iframe[src*="c
enterPages/sheet
"]
strategy
:
role
role
:
button
name
:
"
导
出"
playwright
:
"
page.frameLocator('iframe[src*=
\"
checkAccount/purchaseEntry
\"
]').getByRole('button',
{
name:
'导
出'
})"
distinguishBatchNo
:
description
:
"
区分批号"
element_type
:
checkbox
section
:
"
recon_purchase_entryIframe::main"
frame
:
"
recon_purchase_entryIframe"
frame_selector
:
iframe[src*="checkAccount/purchaseEntry"]
strategy
:
text
value
:
"
区分批号"
playwright
:
"
page.frameLocator('iframe[src*=
\"
checkAccount/purchaseEntry
\"
]').getByText('区分批号')"
el_e58cbae5
:
description
:
"
区分供应商"
element_type
:
checkbox
section
:
"
recon_purchase_entryIframe::main"
frame
:
"
recon_purchase_entryIframe"
frame_selector
:
iframe[src*="checkAccount/purchaseEntry"]
strategy
:
text
value
:
"
区分供应商"
playwright
:
"
page.frameLocator('iframe[src*=
\"
checkAccount/purchaseEntry
\"
]').getByText('区分供应商')"
el_e58cbae5_2
:
description
:
"
区分单价"
element_type
:
checkbox
section
:
"
recon_purchase_entryIframe::main"
frame
:
"
recon_purchase_entryIframe"
frame_selector
:
iframe[src*="checkAccount/purchaseEntry"]
strategy
:
text
value
:
"
区分单价"
playwright
:
"
page.frameLocator('iframe[src*=
\"
checkAccount/purchaseEntry
\"
]').getByText('区分单价')"
playwright
:
"
page.frameLocator('iframe[src*=
\"
centerPages/sheet
\"
]').getByRole('button',
{
name:
'导
出'
})"
tableDensity
:
description
:
"
column-height"
element_type
:
span
section
:
"
re
con_purchase_
ent
ry
Iframe::main"
frame
:
"
re
con_purchase_
ent
ry
Iframe"
frame_selector
:
iframe[src*="c
heckAccount/purchaseEntry
"]
section
:
"
re
portCont
entIframe::main"
frame
:
"
re
portCont
entIframe"
frame_selector
:
iframe[src*="c
enterPages/sheet
"]
strategy
:
label
value
:
"
column-height"
playwright
:
"
page.frameLocator('iframe[src*=
\"
c
heckAccount/purchaseEntry
\"
]').getByLabel('column-height')"
playwright
:
"
page.frameLocator('iframe[src*=
\"
c
enterPages/sheet
\"
]').getByLabel('column-height')"
ant_table_column_sorter
:
description
:
"
span"
element_type
:
span
section
:
"
recon_purchase_entryIframe::main"
frame
:
"
recon_purchase_entryIframe"
frame_selector
:
iframe[src*="checkAccount/purchaseEntry"]
strategy
:
css
value
:
"
.ant-table-column-sorter"
playwright
:
"
page.frameLocator('iframe[src*=
\"
checkAccount/purchaseEntry
\"
]').locator('.ant-table-column-sorter')"
el_e5b195e5Btn
:
description
:
"
展开行"
element_type
:
button
section
:
"
recon_purchase_entryIframe::main"
frame
:
"
recon_purchase_entryIframe"
frame_selector
:
iframe[src*="checkAccount/purchaseEntry"]
strategy
:
label
value
:
"
展开行"
playwright
:
"
page.frameLocator('iframe[src*=
\"
checkAccount/purchaseEntry
\"
]').getByLabel('展开行')"
el_e5b195e5Btn_2
:
description
:
"
展开行"
element_type
:
button
section
:
"
recon_purchase_entryIframe::main"
frame
:
"
recon_purchase_entryIframe"
frame_selector
:
iframe[src*="checkAccount/purchaseEntry"]
strategy
:
label
value
:
"
展开行"
playwright
:
"
page.frameLocator('iframe[src*=
\"
checkAccount/purchaseEntry
\"
]').getByLabel('展开行')"
el_e5b195e5Btn_3
:
description
:
"
展开行"
element_type
:
button
section
:
"
recon_purchase_entryIframe::main"
frame
:
"
recon_purchase_entryIframe"
frame_selector
:
iframe[src*="checkAccount/purchaseEntry"]
strategy
:
label
value
:
"
展开行"
playwright
:
"
page.frameLocator('iframe[src*=
\"
checkAccount/purchaseEntry
\"
]').getByLabel('展开行')"
el_e5b195e5Btn_4
:
description
:
"
展开行"
element_type
:
button
section
:
"
recon_purchase_entryIframe::main"
frame
:
"
recon_purchase_entryIframe"
frame_selector
:
iframe[src*="checkAccount/purchaseEntry"]
strategy
:
label
value
:
"
展开行"
playwright
:
"
page.frameLocator('iframe[src*=
\"
checkAccount/purchaseEntry
\"
]').getByLabel('展开行')"
el_e5b195e5Btn_5
:
description
:
"
展开行"
element_type
:
button
section
:
"
recon_purchase_entryIframe::main"
frame
:
"
recon_purchase_entryIframe"
frame_selector
:
iframe[src*="checkAccount/purchaseEntry"]
strategy
:
label
value
:
"
展开行"
playwright
:
"
page.frameLocator('iframe[src*=
\"
checkAccount/purchaseEntry
\"
]').getByLabel('展开行')"
el_e5b195e5Btn_6
:
description
:
"
展开行"
element_type
:
button
section
:
"
recon_purchase_entryIframe::main"
frame
:
"
recon_purchase_entryIframe"
frame_selector
:
iframe[src*="checkAccount/purchaseEntry"]
strategy
:
label
value
:
"
展开行"
playwright
:
"
page.frameLocator('iframe[src*=
\"
checkAccount/purchaseEntry
\"
]').getByLabel('展开行')"
el_e5b195e5Btn_7
:
description
:
"
展开行"
element_type
:
button
section
:
"
recon_purchase_entryIframe::main"
frame
:
"
recon_purchase_entryIframe"
frame_selector
:
iframe[src*="checkAccount/purchaseEntry"]
strategy
:
label
value
:
"
展开行"
playwright
:
"
page.frameLocator('iframe[src*=
\"
checkAccount/purchaseEntry
\"
]').getByLabel('展开行')"
el_e5b195e5Btn_8
:
description
:
"
展开行"
element_type
:
button
section
:
"
recon_purchase_entryIframe::main"
frame
:
"
recon_purchase_entryIframe"
frame_selector
:
iframe[src*="checkAccount/purchaseEntry"]
strategy
:
label
value
:
"
展开行"
playwright
:
"
page.frameLocator('iframe[src*=
\"
checkAccount/purchaseEntry
\"
]').getByLabel('展开行')"
el_e5b195e5Btn_9
:
description
:
"
展开行"
element_type
:
button
section
:
"
recon_purchase_entryIframe::main"
frame
:
"
recon_purchase_entryIframe"
frame_selector
:
iframe[src*="checkAccount/purchaseEntry"]
strategy
:
label
value
:
"
展开行"
playwright
:
"
page.frameLocator('iframe[src*=
\"
checkAccount/purchaseEntry
\"
]').getByLabel('展开行')"
el_e5b195e5Btn_10
:
description
:
"
展开行"
zrk202610260010Btn
:
description
:
"
ZRK202610260010"
element_type
:
button
section
:
"
recon_purchase_entryIframe::main"
frame
:
"
recon_purchase_entryIframe"
frame_selector
:
iframe[src*="checkAccount/purchaseEntry"]
strategy
:
label
value
:
"
展开行"
playwright
:
"
page.frameLocator('iframe[src*=
\"
checkAccount/purchaseEntry
\"
]').getByLabel('展开行')"
el_e5b195e5Btn_11
:
description
:
"
展开行"
element_type
:
button
section
:
"
recon_purchase_entryIframe::main"
frame
:
"
recon_purchase_entryIframe"
frame_selector
:
iframe[src*="checkAccount/purchaseEntry"]
strategy
:
label
value
:
"
展开行"
playwright
:
"
page.frameLocator('iframe[src*=
\"
checkAccount/purchaseEntry
\"
]').getByLabel('展开行')"
section
:
"
reportContentIframe::main"
frame
:
"
reportContentIframe"
frame_selector
:
iframe[src*="centerPages/sheet"]
strategy
:
role
role
:
button
name
:
"
ZRK202610260010"
playwright
:
"
page.frameLocator('iframe[src*=
\"
centerPages/sheet
\"
]').getByRole('button',
{
name:
'ZRK202610260010'
})"
el_e5b195e5Btn_12
:
description
:
"
展开行
"
zck202610260013Btn
:
description
:
"
ZCK202610260013
"
element_type
:
button
section
:
"
recon_purchase_entryIframe::main"
frame
:
"
recon_purchase_entryIframe"
frame_selector
:
iframe[src*="checkAccount/purchaseEntry"]
strategy
:
label
value
:
"
展开行"
playwright
:
"
page.frameLocator('iframe[src*=
\"
checkAccount/purchaseEntry
\"
]').getByLabel('展开行')"
section
:
"
reportContentIframe::main"
frame
:
"
reportContentIframe"
frame_selector
:
iframe[src*="centerPages/sheet"]
strategy
:
role
role
:
button
name
:
"
ZCK202610260013"
playwright
:
"
page.frameLocator('iframe[src*=
\"
centerPages/sheet
\"
]').getByRole('button',
{
name:
'ZCK202610260013'
})"
el_e5b195e5Btn_13
:
description
:
"
展开行
"
zrk202610260008Btn
:
description
:
"
ZRK202610260008
"
element_type
:
button
section
:
"
recon_purchase_entryIframe::main"
frame
:
"
recon_purchase_entryIframe"
frame_selector
:
iframe[src*="checkAccount/purchaseEntry"]
strategy
:
label
value
:
"
展开行"
playwright
:
"
page.frameLocator('iframe[src*=
\"
checkAccount/purchaseEntry
\"
]').getByLabel('展开行')"
section
:
"
reportContentIframe::main"
frame
:
"
reportContentIframe"
frame_selector
:
iframe[src*="centerPages/sheet"]
strategy
:
role
role
:
button
name
:
"
ZRK202610260008"
playwright
:
"
page.frameLocator('iframe[src*=
\"
centerPages/sheet
\"
]').getByRole('button',
{
name:
'ZRK202610260008'
})"
el_e5b195e5Btn_14
:
description
:
"
展开行
"
zck202610260012Btn
:
description
:
"
ZCK202610260012
"
element_type
:
button
section
:
"
recon_purchase_entryIframe::main"
frame
:
"
recon_purchase_entryIframe"
frame_selector
:
iframe[src*="checkAccount/purchaseEntry"]
strategy
:
label
value
:
"
展开行"
playwright
:
"
page.frameLocator('iframe[src*=
\"
checkAccount/purchaseEntry
\"
]').getByLabel('展开行')"
section
:
"
reportContentIframe::main"
frame
:
"
reportContentIframe"
frame_selector
:
iframe[src*="centerPages/sheet"]
strategy
:
role
role
:
button
name
:
"
ZCK202610260012"
playwright
:
"
page.frameLocator('iframe[src*=
\"
centerPages/sheet
\"
]').getByRole('button',
{
name:
'ZCK202610260012'
})"
el_e5b195e5Btn_15
:
description
:
"
展开行
"
zrk202610260007Btn
:
description
:
"
ZRK202610260007
"
element_type
:
button
section
:
"
recon_purchase_entryIframe::main"
frame
:
"
recon_purchase_entryIframe"
frame_selector
:
iframe[src*="checkAccount/purchaseEntry"]
strategy
:
label
value
:
"
展开行"
playwright
:
"
page.frameLocator('iframe[src*=
\"
checkAccount/purchaseEntry
\"
]').getByLabel('展开行')"
section
:
"
reportContentIframe::main"
frame
:
"
reportContentIframe"
frame_selector
:
iframe[src*="centerPages/sheet"]
strategy
:
role
role
:
button
name
:
"
ZRK202610260007"
playwright
:
"
page.frameLocator('iframe[src*=
\"
centerPages/sheet
\"
]').getByRole('button',
{
name:
'ZRK202610260007'
})"
el_e5b195e5Btn_16
:
description
:
"
展开行
"
zrk202610260006Btn
:
description
:
"
ZRK202610260006
"
element_type
:
button
section
:
"
recon_purchase_entryIframe::main"
frame
:
"
recon_purchase_entryIframe"
frame_selector
:
iframe[src*="checkAccount/purchaseEntry"]
strategy
:
label
value
:
"
展开行"
playwright
:
"
page.frameLocator('iframe[src*=
\"
checkAccount/purchaseEntry
\"
]').getByLabel('展开行')"
section
:
"
reportContentIframe::main"
frame
:
"
reportContentIframe"
frame_selector
:
iframe[src*="centerPages/sheet"]
strategy
:
role
role
:
button
name
:
"
ZRK202610260006"
playwright
:
"
page.frameLocator('iframe[src*=
\"
centerPages/sheet
\"
]').getByRole('button',
{
name:
'ZRK202610260006'
})"
el_e5b195e
5Btn
_17
:
description
:
"
展开行
"
zrk20261026000
5Btn
:
description
:
"
ZRK202610260005
"
element_type
:
button
section
:
"
recon_purchase_entryIframe::main"
frame
:
"
recon_purchase_entryIframe"
frame_selector
:
iframe[src*="checkAccount/purchaseEntry"]
strategy
:
label
value
:
"
展开行"
playwright
:
"
page.frameLocator('iframe[src*=
\"
checkAccount/purchaseEntry
\"
]').getByLabel('展开行')"
section
:
"
reportContentIframe::main"
frame
:
"
reportContentIframe"
frame_selector
:
iframe[src*="centerPages/sheet"]
strategy
:
role
role
:
button
name
:
"
ZRK202610260005"
playwright
:
"
page.frameLocator('iframe[src*=
\"
centerPages/sheet
\"
]').getByRole('button',
{
name:
'ZRK202610260005'
})"
el_e5b195e5Btn_18
:
description
:
"
展开行
"
zrk202610260004Btn
:
description
:
"
ZRK202610260004
"
element_type
:
button
section
:
"
recon_purchase_entryIframe::main"
frame
:
"
recon_purchase_entryIframe"
frame_selector
:
iframe[src*="checkAccount/purchaseEntry"]
strategy
:
label
value
:
"
展开行"
playwright
:
"
page.frameLocator('iframe[src*=
\"
checkAccount/purchaseEntry
\"
]').getByLabel('展开行')"
section
:
"
reportContentIframe::main"
frame
:
"
reportContentIframe"
frame_selector
:
iframe[src*="centerPages/sheet"]
strategy
:
role
role
:
button
name
:
"
ZRK202610260004"
playwright
:
"
page.frameLocator('iframe[src*=
\"
centerPages/sheet
\"
]').getByRole('button',
{
name:
'ZRK202610260004'
})"
el_e5b195e5Btn_19
:
description
:
"
展开行
"
zck202610260009Btn
:
description
:
"
ZCK202610260009
"
element_type
:
button
section
:
"
recon_purchase_entryIframe::main"
frame
:
"
recon_purchase_entryIframe"
frame_selector
:
iframe[src*="checkAccount/purchaseEntry"]
strategy
:
label
value
:
"
展开行"
playwright
:
"
page.frameLocator('iframe[src*=
\"
checkAccount/purchaseEntry
\"
]').getByLabel('展开行')"
section
:
"
reportContentIframe::main"
frame
:
"
reportContentIframe"
frame_selector
:
iframe[src*="centerPages/sheet"]
strategy
:
role
role
:
button
name
:
"
ZCK202610260009"
playwright
:
"
page.frameLocator('iframe[src*=
\"
centerPages/sheet
\"
]').getByRole('button',
{
name:
'ZCK202610260009'
})"
el_e5b195e5Btn_20
:
description
:
"
展开行
"
zck202610260007Btn
:
description
:
"
ZCK202610260007
"
element_type
:
button
section
:
"
recon_purchase_entryIframe::main"
frame
:
"
recon_purchase_entryIframe"
frame_selector
:
iframe[src*="checkAccount/purchaseEntry"]
strategy
:
label
value
:
"
展开行"
playwright
:
"
page.frameLocator('iframe[src*=
\"
checkAccount/purchaseEntry
\"
]').getByLabel('展开行')"
section
:
"
reportContentIframe::main"
frame
:
"
reportContentIframe"
frame_selector
:
iframe[src*="centerPages/sheet"]
strategy
:
role
role
:
button
name
:
"
ZCK202610260007"
playwright
:
"
page.frameLocator('iframe[src*=
\"
centerPages/sheet
\"
]').getByRole('button',
{
name:
'ZCK202610260007'
})"
el_e5b195e5Btn_21
:
description
:
"
展开行
"
zck202610260006Btn
:
description
:
"
ZCK202610260006
"
element_type
:
button
section
:
"
recon_purchase_entryIframe::main"
frame
:
"
recon_purchase_entryIframe"
frame_selector
:
iframe[src*="checkAccount/purchaseEntry"]
strategy
:
label
value
:
"
展开行"
playwright
:
"
page.frameLocator('iframe[src*=
\"
checkAccount/purchaseEntry
\"
]').getByLabel('展开行')"
section
:
"
reportContentIframe::main"
frame
:
"
reportContentIframe"
frame_selector
:
iframe[src*="centerPages/sheet"]
strategy
:
role
role
:
button
name
:
"
ZCK202610260006"
playwright
:
"
page.frameLocator('iframe[src*=
\"
centerPages/sheet
\"
]').getByRole('button',
{
name:
'ZCK202610260006'
})"
el_e5b195e5Btn_22
:
description
:
"
展开行
"
zrk202610260002Btn
:
description
:
"
ZRK202610260002
"
element_type
:
button
section
:
"
recon_purchase_entryIframe::main"
frame
:
"
recon_purchase_entryIframe"
frame_selector
:
iframe[src*="checkAccount/purchaseEntry"]
strategy
:
label
value
:
"
展开行"
playwright
:
"
page.frameLocator('iframe[src*=
\"
checkAccount/purchaseEntry
\"
]').getByLabel('展开行')"
section
:
"
reportContentIframe::main"
frame
:
"
reportContentIframe"
frame_selector
:
iframe[src*="centerPages/sheet"]
strategy
:
role
role
:
button
name
:
"
ZRK202610260002"
playwright
:
"
page.frameLocator('iframe[src*=
\"
centerPages/sheet
\"
]').getByRole('button',
{
name:
'ZRK202610260002'
})"
el_e5b195e5Btn_23
:
description
:
"
展开行
"
zrk202610260001Btn
:
description
:
"
ZRK202610260001
"
element_type
:
button
section
:
"
recon_purchase_entryIframe::main"
frame
:
"
recon_purchase_entryIframe"
frame_selector
:
iframe[src*="checkAccount/purchaseEntry"]
strategy
:
label
value
:
"
展开行"
playwright
:
"
page.frameLocator('iframe[src*=
\"
checkAccount/purchaseEntry
\"
]').getByLabel('展开行')"
section
:
"
reportContentIframe::main"
frame
:
"
reportContentIframe"
frame_selector
:
iframe[src*="centerPages/sheet"]
strategy
:
role
role
:
button
name
:
"
ZRK202610260001"
playwright
:
"
page.frameLocator('iframe[src*=
\"
centerPages/sheet
\"
]').getByRole('button',
{
name:
'ZRK202610260001'
})"
el_e5b195e
5Btn
_24
:
description
:
"
展开行
"
zck20261026000
5Btn
:
description
:
"
ZCK202610260005
"
element_type
:
button
section
:
"
recon_purchase_entryIframe::main"
frame
:
"
recon_purchase_entryIframe"
frame_selector
:
iframe[src*="checkAccount/purchaseEntry"]
strategy
:
label
value
:
"
展开行"
playwright
:
"
page.frameLocator('iframe[src*=
\"
checkAccount/purchaseEntry
\"
]').getByLabel('展开行')"
section
:
"
reportContentIframe::main"
frame
:
"
reportContentIframe"
frame_selector
:
iframe[src*="centerPages/sheet"]
strategy
:
role
role
:
button
name
:
"
ZCK202610260005"
playwright
:
"
page.frameLocator('iframe[src*=
\"
centerPages/sheet
\"
]').getByRole('button',
{
name:
'ZCK202610260005'
})"
el_e5b195e5Btn_25
:
description
:
"
展开行
"
zck202610260004Btn
:
description
:
"
ZCK202610260004
"
element_type
:
button
section
:
"
recon_purchase_entryIframe::main"
frame
:
"
recon_purchase_entryIframe"
frame_selector
:
iframe[src*="checkAccount/purchaseEntry"]
strategy
:
label
value
:
"
展开行"
playwright
:
"
page.frameLocator('iframe[src*=
\"
checkAccount/purchaseEntry
\"
]').getByLabel('展开行')"
section
:
"
reportContentIframe::main"
frame
:
"
reportContentIframe"
frame_selector
:
iframe[src*="centerPages/sheet"]
strategy
:
role
role
:
button
name
:
"
ZCK202610260004"
playwright
:
"
page.frameLocator('iframe[src*=
\"
centerPages/sheet
\"
]').getByRole('button',
{
name:
'ZCK202610260004'
})"
el_e5b195e5Btn_26
:
description
:
"
展开行
"
zck202610260003Btn
:
description
:
"
ZCK202610260003
"
element_type
:
button
section
:
"
recon_purchase_entryIframe::main"
frame
:
"
recon_purchase_entryIframe"
frame_selector
:
iframe[src*="checkAccount/purchaseEntry"]
strategy
:
label
value
:
"
展开行"
playwright
:
"
page.frameLocator('iframe[src*=
\"
checkAccount/purchaseEntry
\"
]').getByLabel('展开行')"
section
:
"
reportContentIframe::main"
frame
:
"
reportContentIframe"
frame_selector
:
iframe[src*="centerPages/sheet"]
strategy
:
role
role
:
button
name
:
"
ZCK202610260003"
playwright
:
"
page.frameLocator('iframe[src*=
\"
centerPages/sheet
\"
]').getByRole('button',
{
name:
'ZCK202610260003'
})"
el_e5b195e5Btn_27
:
description
:
"
展开行
"
zck202610260002Btn
:
description
:
"
ZCK202610260002
"
element_type
:
button
section
:
"
recon_purchase_entryIframe::main"
frame
:
"
recon_purchase_entryIframe"
frame_selector
:
iframe[src*="checkAccount/purchaseEntry"]
strategy
:
label
value
:
"
展开行"
playwright
:
"
page.frameLocator('iframe[src*=
\"
checkAccount/purchaseEntry
\"
]').getByLabel('展开行')"
section
:
"
reportContentIframe::main"
frame
:
"
reportContentIframe"
frame_selector
:
iframe[src*="centerPages/sheet"]
strategy
:
role
role
:
button
name
:
"
ZCK202610260002"
playwright
:
"
page.frameLocator('iframe[src*=
\"
centerPages/sheet
\"
]').getByRole('button',
{
name:
'ZCK202610260002'
})"
el_e5b195e5Btn_28
:
description
:
"
展开行
"
zck202610260001Btn
:
description
:
"
ZCK202610260001
"
element_type
:
button
section
:
"
recon_purchase_entryIframe::main"
frame
:
"
recon_purchase_entryIframe"
frame_selector
:
iframe[src*="checkAccount/purchaseEntry"]
strategy
:
label
value
:
"
展开行"
playwright
:
"
page.frameLocator('iframe[src*=
\"
checkAccount/purchaseEntry
\"
]').getByLabel('展开行')"
section
:
"
reportContentIframe::main"
frame
:
"
reportContentIframe"
frame_selector
:
iframe[src*="centerPages/sheet"]
strategy
:
role
role
:
button
name
:
"
ZCK202610260001"
playwright
:
"
page.frameLocator('iframe[src*=
\"
centerPages/sheet
\"
]').getByRole('button',
{
name:
'ZCK202610260001'
})"
el_e5b195e5Btn_29
:
description
:
"
展开行
"
zck202609080003Btn
:
description
:
"
ZCK202609080003
"
element_type
:
button
section
:
"
recon_purchase_entryIframe::main"
frame
:
"
recon_purchase_entryIframe"
frame_selector
:
iframe[src*="checkAccount/purchaseEntry"]
strategy
:
label
value
:
"
展开行"
playwright
:
"
page.frameLocator('iframe[src*=
\"
checkAccount/purchaseEntry
\"
]').getByLabel('展开行')"
section
:
"
reportContentIframe::main"
frame
:
"
reportContentIframe"
frame_selector
:
iframe[src*="centerPages/sheet"]
strategy
:
role
role
:
button
name
:
"
ZCK202609080003"
playwright
:
"
page.frameLocator('iframe[src*=
\"
centerPages/sheet
\"
]').getByRole('button',
{
name:
'ZCK202609080003'
})"
el_e5b195e5Btn_30
:
description
:
"
展开行
"
zck202610220041Btn
:
description
:
"
ZCK202610220041
"
element_type
:
button
section
:
"
recon_purchase_entryIframe::main"
frame
:
"
recon_purchase_entryIframe"
frame_selector
:
iframe[src*="checkAccount/purchaseEntry"]
strategy
:
label
value
:
"
展开行"
playwright
:
"
page.frameLocator('iframe[src*=
\"
checkAccount/purchaseEntry
\"
]').getByLabel('展开行')"
section
:
"
reportContentIframe::main"
frame
:
"
reportContentIframe"
frame_selector
:
iframe[src*="centerPages/sheet"]
strategy
:
role
role
:
button
name
:
"
ZCK202610220041"
playwright
:
"
page.frameLocator('iframe[src*=
\"
centerPages/sheet
\"
]').getByRole('button',
{
name:
'ZCK202610220041'
})"
el_e5b195e5Btn_31
:
description
:
"
展开行
"
zck202610230002Btn
:
description
:
"
ZCK202610230002
"
element_type
:
button
section
:
"
recon_purchase_entryIframe::main"
frame
:
"
recon_purchase_entryIframe"
frame_selector
:
iframe[src*="checkAccount/purchaseEntry"]
strategy
:
label
value
:
"
展开行"
playwright
:
"
page.frameLocator('iframe[src*=
\"
checkAccount/purchaseEntry
\"
]').getByLabel('展开行')"
section
:
"
reportContentIframe::main"
frame
:
"
reportContentIframe"
frame_selector
:
iframe[src*="centerPages/sheet"]
strategy
:
role
role
:
button
name
:
"
ZCK202610230002"
playwright
:
"
page.frameLocator('iframe[src*=
\"
centerPages/sheet
\"
]').getByRole('button',
{
name:
'ZCK202610230002'
})"
el_e5b195e5Btn_32
:
description
:
"
展开行
"
zrk202610230002Btn
:
description
:
"
ZRK202610230002
"
element_type
:
button
section
:
"
recon_purchase_entryIframe::main"
frame
:
"
recon_purchase_entryIframe"
frame_selector
:
iframe[src*="checkAccount/purchaseEntry"]
strategy
:
label
value
:
"
展开行"
playwright
:
"
page.frameLocator('iframe[src*=
\"
checkAccount/purchaseEntry
\"
]').getByLabel('展开行')"
section
:
"
reportContentIframe::main"
frame
:
"
reportContentIframe"
frame_selector
:
iframe[src*="centerPages/sheet"]
strategy
:
role
role
:
button
name
:
"
ZRK202610230002"
playwright
:
"
page.frameLocator('iframe[src*=
\"
centerPages/sheet
\"
]').getByRole('button',
{
name:
'ZRK202610230002'
})"
el_e5b195e5Btn_33
:
description
:
"
展开行
"
zck202610230001Btn
:
description
:
"
ZCK202610230001
"
element_type
:
button
section
:
"
recon_purchase_entryIframe::main"
frame
:
"
recon_purchase_entryIframe"
frame_selector
:
iframe[src*="checkAccount/purchaseEntry"]
strategy
:
label
value
:
"
展开行"
playwright
:
"
page.frameLocator('iframe[src*=
\"
checkAccount/purchaseEntry
\"
]').getByLabel('展开行')"
section
:
"
reportContentIframe::main"
frame
:
"
reportContentIframe"
frame_selector
:
iframe[src*="centerPages/sheet"]
strategy
:
role
role
:
button
name
:
"
ZCK202610230001"
playwright
:
"
page.frameLocator('iframe[src*=
\"
centerPages/sheet
\"
]').getByRole('button',
{
name:
'ZCK202610230001'
})"
el_e5b195e5Btn_34
:
description
:
"
展开行
"
zrk202610230001Btn
:
description
:
"
ZRK202610230001
"
element_type
:
button
section
:
"
recon_purchase_entryIframe::main"
frame
:
"
recon_purchase_entryIframe"
frame_selector
:
iframe[src*="checkAccount/purchaseEntry"]
strategy
:
label
value
:
"
展开行"
playwright
:
"
page.frameLocator('iframe[src*=
\"
checkAccount/purchaseEntry
\"
]').getByLabel('展开行')"
section
:
"
reportContentIframe::main"
frame
:
"
reportContentIframe"
frame_selector
:
iframe[src*="centerPages/sheet"]
strategy
:
role
role
:
button
name
:
"
ZRK202610230001"
playwright
:
"
page.frameLocator('iframe[src*=
\"
centerPages/sheet
\"
]').getByRole('button',
{
name:
'ZRK202610230001'
})"
el_e5b195e5Btn_35
:
description
:
"
展开行
"
zck202610210017Btn
:
description
:
"
ZCK202610210017
"
element_type
:
button
section
:
"
recon_purchase_entryIframe::main"
frame
:
"
recon_purchase_entryIframe"
frame_selector
:
iframe[src*="checkAccount/purchaseEntry"]
strategy
:
label
value
:
"
展开行"
playwright
:
"
page.frameLocator('iframe[src*=
\"
checkAccount/purchaseEntry
\"
]').getByLabel('展开行')"
section
:
"
reportContentIframe::main"
frame
:
"
reportContentIframe"
frame_selector
:
iframe[src*="centerPages/sheet"]
strategy
:
role
role
:
button
name
:
"
ZCK202610210017"
playwright
:
"
page.frameLocator('iframe[src*=
\"
centerPages/sheet
\"
]').getByRole('button',
{
name:
'ZCK202610210017'
})"
el_e5b195e5Btn_36
:
description
:
"
展开行
"
zrk202610220042Btn
:
description
:
"
ZRK202610220042
"
element_type
:
button
section
:
"
recon_purchase_entryIframe::main"
frame
:
"
recon_purchase_entryIframe"
frame_selector
:
iframe[src*="checkAccount/purchaseEntry"]
strategy
:
label
value
:
"
展开行"
playwright
:
"
page.frameLocator('iframe[src*=
\"
checkAccount/purchaseEntry
\"
]').getByLabel('展开行')"
section
:
"
reportContentIframe::main"
frame
:
"
reportContentIframe"
frame_selector
:
iframe[src*="centerPages/sheet"]
strategy
:
role
role
:
button
name
:
"
ZRK202610220042"
playwright
:
"
page.frameLocator('iframe[src*=
\"
centerPages/sheet
\"
]').getByRole('button',
{
name:
'ZRK202610220042'
})"
el_e5b195e5Btn_37
:
description
:
"
展开行
"
zck202610220054Btn
:
description
:
"
ZCK202610220054
"
element_type
:
button
section
:
"
recon_purchase_entryIframe::main"
frame
:
"
recon_purchase_entryIframe"
frame_selector
:
iframe[src*="checkAccount/purchaseEntry"]
strategy
:
label
value
:
"
展开行"
playwright
:
"
page.frameLocator('iframe[src*=
\"
checkAccount/purchaseEntry
\"
]').getByLabel('展开行')"
section
:
"
reportContentIframe::main"
frame
:
"
reportContentIframe"
frame_selector
:
iframe[src*="centerPages/sheet"]
strategy
:
role
role
:
button
name
:
"
ZCK202610220054"
playwright
:
"
page.frameLocator('iframe[src*=
\"
centerPages/sheet
\"
]').getByRole('button',
{
name:
'ZCK202610220054'
})"
el_e5b195e5Btn_38
:
description
:
"
展开行
"
zrk202610220041Btn
:
description
:
"
ZRK202610220041
"
element_type
:
button
section
:
"
recon_purchase_entryIframe::main"
frame
:
"
recon_purchase_entryIframe"
frame_selector
:
iframe[src*="checkAccount/purchaseEntry"]
strategy
:
label
value
:
"
展开行"
playwright
:
"
page.frameLocator('iframe[src*=
\"
checkAccount/purchaseEntry
\"
]').getByLabel('展开行')"
section
:
"
reportContentIframe::main"
frame
:
"
reportContentIframe"
frame_selector
:
iframe[src*="centerPages/sheet"]
strategy
:
role
role
:
button
name
:
"
ZRK202610220041"
playwright
:
"
page.frameLocator('iframe[src*=
\"
centerPages/sheet
\"
]').getByRole('button',
{
name:
'ZRK202610220041'
})"
el_e5b195e5Btn_39
:
description
:
"
展开行
"
zck202610220053Btn
:
description
:
"
ZCK202610220053
"
element_type
:
button
section
:
"
recon_purchase_entryIframe::main"
frame
:
"
recon_purchase_entryIframe"
frame_selector
:
iframe[src*="checkAccount/purchaseEntry"]
strategy
:
label
value
:
"
展开行"
playwright
:
"
page.frameLocator('iframe[src*=
\"
checkAccount/purchaseEntry
\"
]').getByLabel('展开行')"
section
:
"
reportContentIframe::main"
frame
:
"
reportContentIframe"
frame_selector
:
iframe[src*="centerPages/sheet"]
strategy
:
role
role
:
button
name
:
"
ZCK202610220053"
playwright
:
"
page.frameLocator('iframe[src*=
\"
centerPages/sheet
\"
]').getByRole('button',
{
name:
'ZCK202610220053'
})"
el_e5b195e5Btn_40
:
description
:
"
展开行
"
zrk202610220040Btn
:
description
:
"
ZRK202610220040
"
element_type
:
button
section
:
"
recon_purchase_entryIframe::main"
frame
:
"
recon_purchase_entryIframe"
frame_selector
:
iframe[src*="checkAccount/purchaseEntry"]
strategy
:
label
value
:
"
展开行"
playwright
:
"
page.frameLocator('iframe[src*=
\"
checkAccount/purchaseEntry
\"
]').getByLabel('展开行')"
section
:
"
reportContentIframe::main"
frame
:
"
reportContentIframe"
frame_selector
:
iframe[src*="centerPages/sheet"]
strategy
:
role
role
:
button
name
:
"
ZRK202610220040"
playwright
:
"
page.frameLocator('iframe[src*=
\"
centerPages/sheet
\"
]').getByRole('button',
{
name:
'ZRK202610220040'
})"
el_e5b195e5Btn_41
:
description
:
"
展开行
"
zck202610220052Btn
:
description
:
"
ZCK202610220052
"
element_type
:
button
section
:
"
recon_purchase_entryIframe::main"
frame
:
"
recon_purchase_entryIframe"
frame_selector
:
iframe[src*="checkAccount/purchaseEntry"]
strategy
:
label
value
:
"
展开行"
playwright
:
"
page.frameLocator('iframe[src*=
\"
checkAccount/purchaseEntry
\"
]').getByLabel('展开行')"
section
:
"
reportContentIframe::main"
frame
:
"
reportContentIframe"
frame_selector
:
iframe[src*="centerPages/sheet"]
strategy
:
role
role
:
button
name
:
"
ZCK202610220052"
playwright
:
"
page.frameLocator('iframe[src*=
\"
centerPages/sheet
\"
]').getByRole('button',
{
name:
'ZCK202610220052'
})"
el_e5b195e5Btn_42
:
description
:
"
展开行
"
zck202610220049Btn
:
description
:
"
ZCK202610220049
"
element_type
:
button
section
:
"
recon_purchase_entryIframe::main"
frame
:
"
recon_purchase_entryIframe"
frame_selector
:
iframe[src*="checkAccount/purchaseEntry"]
strategy
:
label
value
:
"
展开行"
playwright
:
"
page.frameLocator('iframe[src*=
\"
checkAccount/purchaseEntry
\"
]').getByLabel('展开行')"
section
:
"
reportContentIframe::main"
frame
:
"
reportContentIframe"
frame_selector
:
iframe[src*="centerPages/sheet"]
strategy
:
role
role
:
button
name
:
"
ZCK202610220049"
playwright
:
"
page.frameLocator('iframe[src*=
\"
centerPages/sheet
\"
]').getByRole('button',
{
name:
'ZCK202610220049'
})"
el_e5b195e5Btn_43
:
description
:
"
展开行
"
zck202610220029Btn
:
description
:
"
ZCK202610220029
"
element_type
:
button
section
:
"
recon_purchase_entryIframe::main"
frame
:
"
recon_purchase_entryIframe"
frame_selector
:
iframe[src*="checkAccount/purchaseEntry"]
strategy
:
label
value
:
"
展开行"
playwright
:
"
page.frameLocator('iframe[src*=
\"
checkAccount/purchaseEntry
\"
]').getByLabel('展开行')"
section
:
"
reportContentIframe::main"
frame
:
"
reportContentIframe"
frame_selector
:
iframe[src*="centerPages/sheet"]
strategy
:
role
role
:
button
name
:
"
ZCK202610220029"
playwright
:
"
page.frameLocator('iframe[src*=
\"
centerPages/sheet
\"
]').getByRole('button',
{
name:
'ZCK202610220029'
})"
el_e5b195e5Btn_44
:
description
:
"
展开行
"
zrk202610220036Btn
:
description
:
"
ZRK202610220036
"
element_type
:
button
section
:
"
recon_purchase_entryIframe::main"
frame
:
"
recon_purchase_entryIframe"
frame_selector
:
iframe[src*="checkAccount/purchaseEntry"]
strategy
:
label
value
:
"
展开行"
playwright
:
"
page.frameLocator('iframe[src*=
\"
checkAccount/purchaseEntry
\"
]').getByLabel('展开行')"
section
:
"
reportContentIframe::main"
frame
:
"
reportContentIframe"
frame_selector
:
iframe[src*="centerPages/sheet"]
strategy
:
role
role
:
button
name
:
"
ZRK202610220036"
playwright
:
"
page.frameLocator('iframe[src*=
\"
centerPages/sheet
\"
]').getByRole('button',
{
name:
'ZRK202610220036'
})"
el_e5b195e5Btn_45
:
description
:
"
展开行
"
zck202610220047Btn
:
description
:
"
ZCK202610220047
"
element_type
:
button
section
:
"
recon_purchase_entryIframe::main"
frame
:
"
recon_purchase_entryIframe"
frame_selector
:
iframe[src*="checkAccount/purchaseEntry"]
strategy
:
label
value
:
"
展开行"
playwright
:
"
page.frameLocator('iframe[src*=
\"
checkAccount/purchaseEntry
\"
]').getByLabel('展开行')"
section
:
"
reportContentIframe::main"
frame
:
"
reportContentIframe"
frame_selector
:
iframe[src*="centerPages/sheet"]
strategy
:
role
role
:
button
name
:
"
ZCK202610220047"
playwright
:
"
page.frameLocator('iframe[src*=
\"
centerPages/sheet
\"
]').getByRole('button',
{
name:
'ZCK202610220047'
})"
el_e5b195e5Btn_46
:
description
:
"
展开行
"
zck202610220044Btn
:
description
:
"
ZCK202610220044
"
element_type
:
button
section
:
"
recon_purchase_entryIframe::main"
frame
:
"
recon_purchase_entryIframe"
frame_selector
:
iframe[src*="checkAccount/purchaseEntry"]
strategy
:
label
value
:
"
展开行"
playwright
:
"
page.frameLocator('iframe[src*=
\"
checkAccount/purchaseEntry
\"
]').getByLabel('展开行')"
section
:
"
reportContentIframe::main"
frame
:
"
reportContentIframe"
frame_selector
:
iframe[src*="centerPages/sheet"]
strategy
:
role
role
:
button
name
:
"
ZCK202610220044"
playwright
:
"
page.frameLocator('iframe[src*=
\"
centerPages/sheet
\"
]').getByRole('button',
{
name:
'ZCK202610220044'
})"
el_e5b195e5Btn_47
:
description
:
"
展开行
"
zck202610220043Btn
:
description
:
"
ZCK202610220043
"
element_type
:
button
section
:
"
recon_purchase_entryIframe::main"
frame
:
"
recon_purchase_entryIframe"
frame_selector
:
iframe[src*="checkAccount/purchaseEntry"]
strategy
:
label
value
:
"
展开行"
playwright
:
"
page.frameLocator('iframe[src*=
\"
checkAccount/purchaseEntry
\"
]').getByLabel('展开行')"
section
:
"
reportContentIframe::main"
frame
:
"
reportContentIframe"
frame_selector
:
iframe[src*="centerPages/sheet"]
strategy
:
role
role
:
button
name
:
"
ZCK202610220043"
playwright
:
"
page.frameLocator('iframe[src*=
\"
centerPages/sheet
\"
]').getByRole('button',
{
name:
'ZCK202610220043'
})"
el_e5b195e5Btn_48
:
description
:
"
展开行
"
zck202610220042Btn
:
description
:
"
ZCK202610220042
"
element_type
:
button
section
:
"
recon_purchase_entryIframe::main"
frame
:
"
recon_purchase_entryIframe"
frame_selector
:
iframe[src*="checkAccount/purchaseEntry"]
strategy
:
label
value
:
"
展开行"
playwright
:
"
page.frameLocator('iframe[src*=
\"
checkAccount/purchaseEntry
\"
]').getByLabel('展开行')"
section
:
"
reportContentIframe::main"
frame
:
"
reportContentIframe"
frame_selector
:
iframe[src*="centerPages/sheet"]
strategy
:
role
role
:
button
name
:
"
ZCK202610220042"
playwright
:
"
page.frameLocator('iframe[src*=
\"
centerPages/sheet
\"
]').getByRole('button',
{
name:
'ZCK202610220042'
})"
el_e5b195e5Btn_49
:
description
:
"
展开行
"
zck202610220040Btn
:
description
:
"
ZCK202610220040
"
element_type
:
button
section
:
"
recon_purchase_entryIframe::main"
frame
:
"
recon_purchase_entryIframe"
frame_selector
:
iframe[src*="checkAccount/purchaseEntry"]
strategy
:
label
value
:
"
展开行"
playwright
:
"
page.frameLocator('iframe[src*=
\"
checkAccount/purchaseEntry
\"
]').getByLabel('展开行')"
section
:
"
reportContentIframe::main"
frame
:
"
reportContentIframe"
frame_selector
:
iframe[src*="centerPages/sheet"]
strategy
:
role
role
:
button
name
:
"
ZCK202610220040"
playwright
:
"
page.frameLocator('iframe[src*=
\"
centerPages/sheet
\"
]').getByRole('button',
{
name:
'ZCK202610220040'
})"
el_e5b195e5Btn_50
:
description
:
"
展开行
"
zrk202610220033Btn
:
description
:
"
ZRK202610220033
"
element_type
:
button
section
:
"
recon_purchase_entryIframe::main"
frame
:
"
recon_purchase_entryIframe"
frame_selector
:
iframe[src*="checkAccount/purchaseEntry"]
strategy
:
label
value
:
"
展开行"
playwright
:
"
page.frameLocator('iframe[src*=
\"
checkAccount/purchaseEntry
\"
]').getByLabel('展开行')"
section
:
"
reportContentIframe::main"
frame
:
"
reportContentIframe"
frame_selector
:
iframe[src*="centerPages/sheet"]
strategy
:
role
role
:
button
name
:
"
ZRK202610220033"
playwright
:
"
page.frameLocator('iframe[src*=
\"
centerPages/sheet
\"
]').getByRole('button',
{
name:
'ZRK202610220033'
})"
# --- re
con_purchase_
ent
ry
Iframe::pagination ---
pagination_
82_1250
:
description
:
"
共
8
2
条1250
条/页跳至页"
# --- re
portCont
entIframe::pagination ---
pagination_
el_e585b1343432e69da13132333435e280a2e280a2e280a2393530e69da12fe9a1b5e8b7b3e887b3e9a1b5
:
description
:
"
共
44
2
条12
345•••9
50
条/页跳至页"
element_type
:
ul
section
:
"
re
con_purchase_
ent
ry
Iframe::pagination"
frame
:
"
re
con_purchase_
ent
ry
Iframe"
frame_selector
:
iframe[src*="c
heckAccount/purchaseEntry
"]
section
:
"
re
portCont
entIframe::pagination"
frame
:
"
re
portCont
entIframe"
frame_selector
:
iframe[src*="c
enterPages/sheet
"]
strategy
:
text
value
:
"
共
8
2
条1250
条/页跳至页"
playwright
:
"
page.frameLocator('iframe[src*=
\"
c
heckAccount/purchaseEntry
\"
]').getByText('共
8
2
条1250
条/页跳至页')"
value
:
"
共
44
2
条12
345•••9
50
条/页跳至页"
playwright
:
"
page.frameLocator('iframe[src*=
\"
c
enterPages/sheet
\"
]').getByText('共
44
2
条12
345•••9
50
条/页跳至页')"
pagination_prevPageBtn
:
description
:
"
上一页"
element_type
:
li
section
:
"
re
con_purchase_
ent
ry
Iframe::pagination"
frame
:
"
re
con_purchase_
ent
ry
Iframe"
frame_selector
:
iframe[src*="c
heckAccount/purchaseEntry
"]
section
:
"
re
portCont
entIframe::pagination"
frame
:
"
re
portCont
entIframe"
frame_selector
:
iframe[src*="c
enterPages/sheet
"]
strategy
:
text
value
:
"
上一页"
playwright
:
"
page.frameLocator('iframe[src*=
\"
c
heckAccount/purchaseEntry
\"
]').getByText('上一页')"
playwright
:
"
page.frameLocator('iframe[src*=
\"
c
enterPages/sheet
\"
]').getByText('上一页')"
pagination_page_1
:
description
:
"
1"
element_type
:
pagination_item
section
:
"
re
con_purchase_
ent
ry
Iframe::pagination"
frame
:
"
re
con_purchase_
ent
ry
Iframe"
frame_selector
:
iframe[src*="c
heckAccount/purchaseEntry
"]
section
:
"
re
portCont
entIframe::pagination"
frame
:
"
re
portCont
entIframe"
frame_selector
:
iframe[src*="c
enterPages/sheet
"]
strategy
:
css
value
:
"
.ant-pagination-item-active"
playwright
:
"
page.frameLocator('iframe[src*=
\"
c
heckAccount/purchaseEntry
\"
]').locator('.ant-pagination-item-active')"
playwright
:
"
page.frameLocator('iframe[src*=
\"
c
enterPages/sheet
\"
]').locator('.ant-pagination-item-active')"
pagination_page_2
:
description
:
"
2"
element_type
:
pagination_item
section
:
"
re
con_purchase_
ent
ry
Iframe::pagination"
frame
:
"
re
con_purchase_
ent
ry
Iframe"
frame_selector
:
iframe[src*="c
heckAccount/purchaseEntry
"]
section
:
"
re
portCont
entIframe::pagination"
frame
:
"
re
portCont
entIframe"
frame_selector
:
iframe[src*="c
enterPages/sheet
"]
strategy
:
text
value
:
"
2"
playwright
:
"
page.frameLocator('iframe[src*=
\"
checkAccount/purchaseEntry
\"
]').getByText('2')"
playwright
:
"
page.frameLocator('iframe[src*=
\"
centerPages/sheet
\"
]').getByText('2')"
pagination_page_3
:
description
:
"
3"
element_type
:
pagination_item
section
:
"
reportContentIframe::pagination"
frame
:
"
reportContentIframe"
frame_selector
:
iframe[src*="centerPages/sheet"]
strategy
:
text
value
:
"
3"
playwright
:
"
page.frameLocator('iframe[src*=
\"
centerPages/sheet
\"
]').getByText('3')"
pagination_page_4
:
description
:
"
4"
element_type
:
pagination_item
section
:
"
reportContentIframe::pagination"
frame
:
"
reportContentIframe"
frame_selector
:
iframe[src*="centerPages/sheet"]
strategy
:
text
value
:
"
4"
playwright
:
"
page.frameLocator('iframe[src*=
\"
centerPages/sheet
\"
]').getByText('4')"
pagination_page_5
:
description
:
"
5"
element_type
:
pagination_item
section
:
"
reportContentIframe::pagination"
frame
:
"
reportContentIframe"
frame_selector
:
iframe[src*="centerPages/sheet"]
strategy
:
text
value
:
"
5"
playwright
:
"
page.frameLocator('iframe[src*=
\"
centerPages/sheet
\"
]').getByText('5')"
pagination_el_e59091e5908e35e9a1b5
:
description
:
"
向后
5
页"
element_type
:
li
section
:
"
reportContentIframe::pagination"
frame
:
"
reportContentIframe"
frame_selector
:
iframe[src*="centerPages/sheet"]
strategy
:
text
value
:
"
向后
5
页"
playwright
:
"
page.frameLocator('iframe[src*=
\"
centerPages/sheet
\"
]').getByText('向后
5
页')"
pagination_page_9
:
description
:
"
9"
element_type
:
pagination_item
section
:
"
reportContentIframe::pagination"
frame
:
"
reportContentIframe"
frame_selector
:
iframe[src*="centerPages/sheet"]
strategy
:
text
value
:
"
9"
playwright
:
"
page.frameLocator('iframe[src*=
\"
centerPages/sheet
\"
]').getByText('9')"
pagination_nextPageBtn
:
description
:
"
下一页"
element_type
:
li
section
:
"
re
con_purchase_
ent
ry
Iframe::pagination"
frame
:
"
re
con_purchase_
ent
ry
Iframe"
frame_selector
:
iframe[src*="c
heckAccount/purchaseEntry
"]
section
:
"
re
portCont
entIframe::pagination"
frame
:
"
re
portCont
entIframe"
frame_selector
:
iframe[src*="c
enterPages/sheet
"]
strategy
:
text
value
:
"
下一页"
playwright
:
"
page.frameLocator('iframe[src*=
\"
c
heckAccount/purchaseEntry
\"
]').getByText('下一页')"
playwright
:
"
page.frameLocator('iframe[src*=
\"
c
enterPages/sheet
\"
]').getByText('下一页')"
pagination_pageSizeSelect
:
description
:
"
50
条/页"
element_type
:
select
section
:
"
re
con_purchase_
ent
ry
Iframe::pagination"
frame
:
"
re
con_purchase_
ent
ry
Iframe"
frame_selector
:
iframe[src*="c
heckAccount/purchaseEntry
"]
section
:
"
re
portCont
entIframe::pagination"
frame
:
"
re
portCont
entIframe"
frame_selector
:
iframe[src*="c
enterPages/sheet
"]
strategy
:
text
value
:
"
50
条/页"
playwright
:
"
page.frameLocator('iframe[src*=
\"
c
heckAccount/purchaseEntry
\"
]').getByText('50
条/页')"
playwright
:
"
page.frameLocator('iframe[src*=
\"
c
enterPages/sheet
\"
]').getByText('50
条/页')"
# --- re
con_purchase_
ent
ry
Iframe::panel:高级筛选 ---
# --- re
portCont
entIframe::panel:高级筛选 ---
drawer_productName
:
description
:
"
产品
ID/名称"
description
:
"
物料
ID/名称"
element_type
:
text
section
:
"
re
con_purchase_
ent
ry
Iframe::panel:高级筛选"
frame
:
"
re
con_purchase_
ent
ry
Iframe"
frame_selector
:
iframe[src*="c
heckAccount/purchaseEntry
"]
section
:
"
re
portCont
entIframe::panel:高级筛选"
frame
:
"
re
portCont
entIframe"
frame_selector
:
iframe[src*="c
enterPages/sheet
"]
strategy
:
id
value
:
"
form_item_goodsName"
playwright
:
"
page.frameLocator('iframe[src*=
\"
c
heckAccount/purchaseEntry
\"
]').locator('#form_item_goodsName')"
playwright
:
"
page.frameLocator('iframe[src*=
\"
c
enterPages/sheet
\"
]').locator('#form_item_goodsName')"
drawer_el_e
7bb9fe8
DateRange
:
description
:
"
统计日期
"
drawer_el_e
8aeb0e8b4a6e697b6e997b4
DateRange
:
description
:
"
记账时间
"
element_type
:
datepicker
section
:
"
re
con_purchase_
ent
ry
Iframe::panel:高级筛选"
frame
:
"
re
con_purchase_
ent
ry
Iframe"
frame_selector
:
iframe[src*="c
heckAccount/purchaseEntry
"]
section
:
"
re
portCont
entIframe::panel:高级筛选"
frame
:
"
re
portCont
entIframe"
frame_selector
:
iframe[src*="c
enterPages/sheet
"]
strategy
:
label_text
value
:
"
统计日期
"
playwright
:
"
page.frameLocator('iframe[src*=
\"
c
heckAccount/purchaseEntry
\"
]').getByText('
统计日期
',
{
exact:
true
})"
value
:
"
记账时间
"
playwright
:
"
page.frameLocator('iframe[src*=
\"
c
enterPages/sheet
\"
]').getByText('
记账时间
',
{
exact:
true
})"
drawer_
el_e7bb9fe8Inpu
t
:
drawer_
accountingDateStar
t
:
description
:
"
开始时间"
element_type
:
text
section
:
"
re
con_purchase_
ent
ry
Iframe::panel:高级筛选"
frame
:
"
re
con_purchase_
ent
ry
Iframe"
frame_selector
:
iframe[src*="c
heckAccount/purchaseEntry
"]
section
:
"
re
portCont
entIframe::panel:高级筛选"
frame
:
"
re
portCont
entIframe"
frame_selector
:
iframe[src*="c
enterPages/sheet
"]
strategy
:
id
value
:
"
form_item_
dateValu
e"
playwright
:
"
page.frameLocator('iframe[src*=
\"
c
heckAccount/purchaseEntry
\"
]').locator('#form_item_
dateValu
e')"
value
:
"
form_item_
accountDat
e"
playwright
:
"
page.frameLocator('iframe[src*=
\"
c
enterPages/sheet
\"
]').locator('#form_item_
accountDat
e')"
drawer_el_e
7bb9fe8
Input
_2
:
drawer_el_e
8aeb0e8b4a6e697b6e997b4
Input
:
description
:
"
截止时间"
element_type
:
text
section
:
"
re
con_purchase_
ent
ry
Iframe::panel:高级筛选"
frame
:
"
re
con_purchase_
ent
ry
Iframe"
frame_selector
:
iframe[src*="c
heckAccount/purchaseEntry
"]
section
:
"
re
portCont
entIframe::panel:高级筛选"
frame
:
"
re
portCont
entIframe"
frame_selector
:
iframe[src*="c
enterPages/sheet
"]
strategy
:
placeholder
value
:
"
截止时间"
playwright
:
"
page.frameLocator('iframe[src*=
\"
checkAccount/purchaseEntry
\"
]').getByPlaceholder('截止时间')"
drawer_el_e8bf9be9Input
:
description
:
"
进院供应商名称"
element_type
:
text
section
:
"
recon_purchase_entryIframe::panel:高级筛选"
frame
:
"
recon_purchase_entryIframe"
frame_selector
:
iframe[src*="checkAccount/purchaseEntry"]
strategy
:
id
value
:
"
form_item_provId"
playwright
:
"
page.frameLocator('iframe[src*=
\"
checkAccount/purchaseEntry
\"
]').locator('#form_item_provId')"
drawer_el_e4ba8ce7Input
:
description
:
"
二级供应商名称"
element_type
:
text
section
:
"
recon_purchase_entryIframe::panel:高级筛选"
frame
:
"
recon_purchase_entryIframe"
frame_selector
:
iframe[src*="checkAccount/purchaseEntry"]
strategy
:
placeholder
value
:
"
二级供应商名称"
playwright
:
"
page.frameLocator('iframe[src*=
\"
checkAccount/purchaseEntry
\"
]').getByPlaceholder('二级供应商名称')"
drawer_el_e4baa7e5Select
:
description
:
"
请选择耗材类型"
element_type
:
select
section
:
"
recon_purchase_entryIframe::panel:高级筛选"
frame
:
"
recon_purchase_entryIframe"
frame_selector
:
iframe[src*="checkAccount/purchaseEntry"]
strategy
:
label_text
value
:
"
产品类型"
playwright
:
"
page.frameLocator('iframe[src*=
\"
checkAccount/purchaseEntry
\"
]').getByText('产品类型',
{
exact:
true
})"
playwright
:
"
page.frameLocator('iframe[src*=
\"
centerPages/sheet
\"
]').getByPlaceholder('截止时间')"
drawer_campusNameSelect
:
description
:
"
千泉院区"
element_type
:
select
section
:
"
re
con_purchase_
ent
ry
Iframe::panel:高级筛选"
frame
:
"
re
con_purchase_
ent
ry
Iframe"
frame_selector
:
iframe[src*="c
heckAccount/purchaseEntry
"]
section
:
"
re
portCont
entIframe::panel:高级筛选"
frame
:
"
re
portCont
entIframe"
frame_selector
:
iframe[src*="c
enterPages/sheet
"]
strategy
:
label_text
value
:
"
院区名称"
playwright
:
"
page.frameLocator('iframe[src*=
\"
c
heckAccount/purchaseEntry
\"
]').getByText('院区名称',
{
exact:
true
})"
playwright
:
"
page.frameLocator('iframe[src*=
\"
c
enterPages/sheet
\"
]').getByText('院区名称',
{
exact:
true
})"
drawer_campusName
:
description
:
"
院区名称"
element_type
:
search
section
:
"
re
con_purchase_
ent
ry
Iframe::panel:高级筛选"
frame
:
"
re
con_purchase_
ent
ry
Iframe"
frame_selector
:
iframe[src*="c
heckAccount/purchaseEntry
"]
section
:
"
re
portCont
entIframe::panel:高级筛选"
frame
:
"
re
portCont
entIframe"
frame_selector
:
iframe[src*="c
enterPages/sheet
"]
strategy
:
id
value
:
"
form_item_branchId"
playwright
:
"
page.frameLocator('iframe[src*=
\"
checkAccount/purchaseEntry
\"
]').locator('#form_item_branchId')"
drawer_el_e9858de9
:
description
:
"
配送单价"
element_type
:
radio
section
:
"
recon_purchase_entryIframe::panel:高级筛选"
frame
:
"
recon_purchase_entryIframe"
frame_selector
:
iframe[src*="checkAccount/purchaseEntry"]
strategy
:
text
value
:
"
配送单价"
playwright
:
"
page.frameLocator('iframe[src*=
\"
checkAccount/purchaseEntry
\"
]').getByText('配送单价')"
drawer_el_e585a5e9
:
description
:
"
入院价"
element_type
:
radio
section
:
"
recon_purchase_entryIframe::panel:高级筛选"
frame
:
"
recon_purchase_entryIframe"
frame_selector
:
iframe[src*="checkAccount/purchaseEntry"]
strategy
:
text
value
:
"
入院价"
playwright
:
"
page.frameLocator('iframe[src*=
\"
checkAccount/purchaseEntry
\"
]').getByText('入院价')"
playwright
:
"
page.frameLocator('iframe[src*=
\"
centerPages/sheet
\"
]').locator('#form_item_branchId')"
drawer_consumableCategorySelect
:
description
:
"
请选择"
element_type
:
select
section
:
"
re
con_purchase_
ent
ry
Iframe::panel:高级筛选"
frame
:
"
re
con_purchase_
ent
ry
Iframe"
frame_selector
:
iframe[src*="c
heckAccount/purchaseEntry
"]
section
:
"
re
portCont
entIframe::panel:高级筛选"
frame
:
"
re
portCont
entIframe"
frame_selector
:
iframe[src*="c
enterPages/sheet
"]
strategy
:
label_text
value
:
"
耗材分类"
playwright
:
"
page.frameLocator('iframe[src*=
\"
checkAccount/purchaseEntry
\"
]').getByText('耗材分类',
{
exact:
true
})"
playwright
:
"
page.frameLocator('iframe[src*=
\"
centerPages/sheet
\"
]').getByText('耗材分类',
{
exact:
true
})"
drawer_sourceTarget
:
description
:
"
来源/目标"
element_type
:
text
section
:
"
reportContentIframe::panel:高级筛选"
frame
:
"
reportContentIframe"
frame_selector
:
iframe[src*="centerPages/sheet"]
strategy
:
id
value
:
"
form_item_currentStockId"
playwright
:
"
page.frameLocator('iframe[src*=
\"
centerPages/sheet
\"
]').locator('#form_item_currentStockId')"
drawer_billModeSelect
:
description
:
"
单据形态"
element_type
:
select
section
:
"
reportContentIframe::panel:高级筛选"
frame
:
"
reportContentIframe"
frame_selector
:
iframe[src*="centerPages/sheet"]
strategy
:
label_text
value
:
"
单据形态"
playwright
:
"
page.frameLocator('iframe[src*=
\"
centerPages/sheet
\"
]').getByText('单据形态',
{
exact:
true
})"
drawer_batchNo
:
description
:
"
批号"
element_type
:
text
section
:
"
reportContentIframe::panel:高级筛选"
frame
:
"
reportContentIframe"
frame_selector
:
iframe[src*="centerPages/sheet"]
strategy
:
id
value
:
"
form_item_batchCode"
playwright
:
"
page.frameLocator('iframe[src*=
\"
centerPages/sheet
\"
]').locator('#form_item_batchCode')"
drawer_barcodeNo
:
description
:
"
条码号"
element_type
:
text
section
:
"
reportContentIframe::panel:高级筛选"
frame
:
"
reportContentIframe"
frame_selector
:
iframe[src*="centerPages/sheet"]
strategy
:
id
value
:
"
form_item_barcode"
playwright
:
"
page.frameLocator('iframe[src*=
\"
centerPages/sheet
\"
]').locator('#form_item_barcode')"
drawer_documentNo
:
description
:
"
单号"
element_type
:
text
section
:
"
reportContentIframe::panel:高级筛选"
frame
:
"
reportContentIframe"
frame_selector
:
iframe[src*="centerPages/sheet"]
strategy
:
id
value
:
"
form_item_orderNo"
playwright
:
"
page.frameLocator('iframe[src*=
\"
centerPages/sheet
\"
]').locator('#form_item_orderNo')"
drawer_generationMethodSelect
:
description
:
"
请选择"
element_type
:
select
section
:
"
reportContentIframe::panel:高级筛选"
frame
:
"
reportContentIframe"
frame_selector
:
iframe[src*="centerPages/sheet"]
strategy
:
label_text
value
:
"
生成方式"
playwright
:
"
page.frameLocator('iframe[src*=
\"
centerPages/sheet
\"
]').getByText('生成方式',
{
exact:
true
})"
drawer_generationMethod
:
description
:
"
生成方式"
element_type
:
search
section
:
"
reportContentIframe::panel:高级筛选"
frame
:
"
reportContentIframe"
frame_selector
:
iframe[src*="centerPages/sheet"]
strategy
:
id
value
:
"
form_item_generationStyle"
playwright
:
"
page.frameLocator('iframe[src*=
\"
centerPages/sheet
\"
]').locator('#form_item_generationStyle')"
drawer_settlementMethodSelect
:
description
:
"
请选择"
element_type
:
select
section
:
"
reportContentIframe::panel:高级筛选"
frame
:
"
reportContentIframe"
frame_selector
:
iframe[src*="centerPages/sheet"]
strategy
:
label_text
value
:
"
结算方式"
playwright
:
"
page.frameLocator('iframe[src*=
\"
centerPages/sheet
\"
]').getByText('结算方式',
{
exact:
true
})"
drawer_settlementMethod
:
description
:
"
结算方式"
element_type
:
search
section
:
"
reportContentIframe::panel:高级筛选"
frame
:
"
reportContentIframe"
frame_selector
:
iframe[src*="centerPages/sheet"]
strategy
:
id
value
:
"
form_item_settlement"
playwright
:
"
page.frameLocator('iframe[src*=
\"
centerPages/sheet
\"
]').locator('#form_item_settlement')"
drawer_registrationNo
:
description
:
"
注册证号"
element_type
:
text
section
:
"
reportContentIframe::panel:高级筛选"
frame
:
"
reportContentIframe"
frame_selector
:
iframe[src*="centerPages/sheet"]
strategy
:
id
value
:
"
form_item_goodsRegCert"
playwright
:
"
page.frameLocator('iframe[src*=
\"
centerPages/sheet
\"
]').locator('#form_item_goodsRegCert')"
drawer_registrationNo_2
:
description
:
"
规格型号"
element_type
:
text
section
:
"
reportContentIframe::panel:高级筛选"
frame
:
"
reportContentIframe"
frame_selector
:
iframe[src*="centerPages/sheet"]
strategy
:
id
value
:
"
form_item_goodsRegCert"
playwright
:
"
page.frameLocator('iframe[src*=
\"
centerPages/sheet
\"
]').locator('#form_item_goodsRegCert')"
drawer_operatorSelect
:
description
:
"
制单人"
element_type
:
select
section
:
"
reportContentIframe::panel:高级筛选"
frame
:
"
reportContentIframe"
frame_selector
:
iframe[src*="centerPages/sheet"]
strategy
:
label_text
value
:
"
制单人"
playwright
:
"
page.frameLocator('iframe[src*=
\"
centerPages/sheet
\"
]').getByText('制单人',
{
exact:
true
})"
drawer_operator
:
description
:
"
制单人"
element_type
:
search
section
:
"
reportContentIframe::panel:高级筛选"
frame
:
"
reportContentIframe"
frame_selector
:
iframe[src*="centerPages/sheet"]
strategy
:
id
value
:
"
form_item_operator"
playwright
:
"
page.frameLocator('iframe[src*=
\"
centerPages/sheet
\"
]').locator('#form_item_operator')"
drawer_statDimensionSelect
:
description
:
"
批号"
element_type
:
select
section
:
"
reportContentIframe::panel:高级筛选"
frame
:
"
reportContentIframe"
frame_selector
:
iframe[src*="centerPages/sheet"]
strategy
:
label_text
value
:
"
统计维度"
playwright
:
"
page.frameLocator('iframe[src*=
\"
centerPages/sheet
\"
]').getByText('统计维度',
{
exact:
true
})"
drawer_chargeableSelect
:
description
:
"
是否收费"
element_type
:
select
section
:
"
reportContentIframe::panel:高级筛选"
frame
:
"
reportContentIframe"
frame_selector
:
iframe[src*="centerPages/sheet"]
strategy
:
label_text
value
:
"
是否收费"
playwright
:
"
page.frameLocator('iframe[src*=
\"
centerPages/sheet
\"
]').getByText('是否收费',
{
exact:
true
})"
drawer_focusControlSelect
:
description
:
"
请选择"
element_type
:
select
section
:
"
reportContentIframe::panel:高级筛选"
frame
:
"
reportContentIframe"
frame_selector
:
iframe[src*="centerPages/sheet"]
strategy
:
label_text
value
:
"
是否重点管控"
playwright
:
"
page.frameLocator('iframe[src*=
\"
centerPages/sheet
\"
]').getByText('是否重点管控',
{
exact:
true
})"
drawer_focusControlTypeSelect
:
description
:
"
重点管控分类"
element_type
:
select
section
:
"
reportContentIframe::panel:高级筛选"
frame
:
"
reportContentIframe"
frame_selector
:
iframe[src*="centerPages/sheet"]
strategy
:
label_text
value
:
"
重点管控分类"
playwright
:
"
page.frameLocator('iframe[src*=
\"
centerPages/sheet
\"
]').getByText('重点管控分类',
{
exact:
true
})"
drawer_focusControlType
:
description
:
"
重点管控分类"
element_type
:
search
section
:
"
reportContentIframe::panel:高级筛选"
frame
:
"
reportContentIframe"
frame_selector
:
iframe[src*="centerPages/sheet"]
strategy
:
id
value
:
"
form_item_focusControlType"
playwright
:
"
page.frameLocator('iframe[src*=
\"
centerPages/sheet
\"
]').locator('#form_item_focusControlType')"
drawer_supplierName
:
description
:
"
进院供应商"
element_type
:
text
section
:
"
reportContentIframe::panel:高级筛选"
frame
:
"
reportContentIframe"
frame_selector
:
iframe[src*="centerPages/sheet"]
strategy
:
id
value
:
"
form_item_provName"
playwright
:
"
page.frameLocator('iframe[src*=
\"
centerPages/sheet
\"
]').locator('#form_item_provName')"
drawer_operationDateDateRange
:
description
:
"
制单日期"
element_type
:
datepicker
section
:
"
reportContentIframe::panel:高级筛选"
frame
:
"
reportContentIframe"
frame_selector
:
iframe[src*="centerPages/sheet"]
strategy
:
label_text
value
:
"
制单日期"
playwright
:
"
page.frameLocator('iframe[src*=
\"
centerPages/sheet
\"
]').getByText('制单日期',
{
exact:
true
})"
drawer_operationDate
:
description
:
"
开始时间"
element_type
:
text
section
:
"
reportContentIframe::panel:高级筛选"
frame
:
"
reportContentIframe"
frame_selector
:
iframe[src*="centerPages/sheet"]
strategy
:
id
value
:
"
form_item_operationTime"
playwright
:
"
page.frameLocator('iframe[src*=
\"
centerPages/sheet
\"
]').locator('#form_item_operationTime')"
drawer_operationDateInput
:
description
:
"
截止时间"
element_type
:
text
section
:
"
reportContentIframe::panel:高级筛选"
frame
:
"
reportContentIframe"
frame_selector
:
iframe[src*="centerPages/sheet"]
strategy
:
placeholder
value
:
"
截止时间"
playwright
:
"
page.frameLocator('iframe[src*=
\"
centerPages/sheet
\"
]').getByPlaceholder('截止时间')"
drawer_inboundSourceSelect
:
description
:
"
入库来源"
element_type
:
select
section
:
"
reportContentIframe::panel:高级筛选"
frame
:
"
reportContentIframe"
frame_selector
:
iframe[src*="centerPages/sheet"]
strategy
:
label_text
value
:
"
入库来源"
playwright
:
"
page.frameLocator('iframe[src*=
\"
centerPages/sheet
\"
]').getByText('入库来源',
{
exact:
true
})"
# --- re
con_purchase_
ent
ry
Iframe::panel:
高级筛选
:footer ---
drawer_
resetBtn
:
# --- re
portCont
entIframe::panel:
drawer
:footer ---
resetBtn
_2
:
description
:
"
重
置"
element_type
:
button
section
:
"
re
con_purchase_
ent
ry
Iframe::panel:
高级筛选
:footer"
frame
:
"
re
con_purchase_
ent
ry
Iframe"
frame_selector
:
iframe[src*="c
heckAccount/purchaseEntry
"]
section
:
"
re
portCont
entIframe::panel:
drawer
:footer"
frame
:
"
re
portCont
entIframe"
frame_selector
:
iframe[src*="c
enterPages/sheet
"]
strategy
:
role
role
:
button
name
:
"
重
置"
playwright
:
"
page.frameLocator('iframe[src*=
\"
c
heckAccount/purchaseEntry
\"
]').getByRole('button',
{
name:
'重
置'
})"
playwright
:
"
page.frameLocator('iframe[src*=
\"
c
enterPages/sheet
\"
]').getByRole('button',
{
name:
'重
置'
})"
drawer_
filterApplyBtn
:
filterApplyBtn
:
description
:
"
筛
选"
element_type
:
button
section
:
"
re
con_purchase_
ent
ry
Iframe::panel:
高级筛选
:footer"
frame
:
"
re
con_purchase_
ent
ry
Iframe"
frame_selector
:
iframe[src*="c
heckAccount/purchaseEntry
"]
section
:
"
re
portCont
entIframe::panel:
drawer
:footer"
frame
:
"
re
portCont
entIframe"
frame_selector
:
iframe[src*="c
enterPages/sheet
"]
strategy
:
role
role
:
button
name
:
"
筛
选"
playwright
:
"
page.frameLocator('iframe[src*=
\"
c
heckAccount/purchaseEntry
\"
]').getByRole('button',
{
name:
'筛
选'
})"
playwright
:
"
page.frameLocator('iframe[src*=
\"
c
enterPages/sheet
\"
]').getByRole('button',
{
name:
'筛
选'
})"
locators/spd/surgery-shared.locator.ts
View file @
6c31a476
...
...
@@ -49,7 +49,10 @@ export class SurgerySharedLocators {
this
.
paginationPrev
=
page
.
locator
(
'
.ant-pagination-prev
'
).
first
();
this
.
paginationNext
=
page
.
locator
(
'
.ant-pagination-next
'
).
first
();
this
.
dialog
=
page
.
locator
(
'
.ant-modal-content, .ant-modal-wrap .ant-modal, .ant-drawer-open
'
).
last
();
this
.
dialog
=
page
.
locator
(
'
.ant-modal-wrap:not([style*="display: none"]) .ant-modal-content
'
)
.
or
(
page
.
locator
(
'
.ant-drawer-open .ant-drawer-content
'
))
.
last
();
this
.
formError
=
page
.
locator
(
'
.ant-form-item-explain-error, .ant-message-error, .ant-notification-notice
'
);
}
...
...
locators/spd/vendor-auth-first.locator.yaml
View file @
6c31a476
...
...
@@ -279,11 +279,11 @@ locators:
element_type
:
select
section
:
"
main::main"
strategy
:
label_text
value
:
"
销售商"
playwright
:
"
page.getByText('销售商',
{
exact:
true
})"
value
:
"
销售商
(自定义)
"
playwright
:
"
page.getByText('销售商
(自定义)
',
{
exact:
true
})"
supplierId
:
description
:
"
销售商"
description
:
"
销售商
(自定义)
"
element_type
:
search
section
:
"
main::main"
strategy
:
id
...
...
locators/spd/vendor-eval-scheme.locator.yaml
View file @
6c31a476
...
...
@@ -325,6 +325,16 @@ locators:
name
:
"
展开"
playwright
:
"
page.getByRole('button',
{
name:
'展开'
})"
# 展开后文案变为「收起」;EVS-014 自动化见 vendor-eval-scheme.page.ts
collapseFilterBtn
:
description
:
"
收起"
element_type
:
button
section
:
"
main::main"
strategy
:
role
role
:
button
name
:
"
收起"
playwright
:
"
page.getByRole('button',
{
name:
'收起'
})"
addBtn
:
description
:
"
新
增"
element_type
:
button
...
...
package.json
View file @
6c31a476
...
...
@@ -17,6 +17,7 @@
"gate:commit"
:
"node scripts/git-gate.mjs --mode=commit"
,
"gate:push"
:
"node scripts/git-gate.mjs --mode=push"
,
"test:ci"
:
"node scripts/run-ci.mjs"
,
"cleanup:artifacts"
:
"node scripts/cleanup-local-artifacts.mjs"
,
"test:ci:smoke"
:
"node scripts/run-ci.mjs --suite=smoke"
,
"test:ci:nightly"
:
"node scripts/run-ci.mjs --suite=nightly"
,
"test:ci:nightly:shard"
:
"node scripts/run-ci.mjs --suite=nightly --shards=2"
,
...
...
@@ -116,7 +117,7 @@
"test:vendor-query"
:
"playwright test tests/spd/vendor-query.spec.ts --project=chromium --grep @smoke"
,
"test:vendor-query:all"
:
"playwright test tests/spd/vendor-query.spec.ts --project=chromium --workers=1"
,
"test:vendor-qual"
:
"playwright test tests/spd/vendor-qual.spec.ts --project=chromium --grep @smoke"
,
"test:vendor-qual:all"
:
"playwright test tests/spd/vendor-qual.spec.ts --project=chromium --workers=1"
,
"test:vendor-qual:all"
:
"playwright test tests/spd/vendor-qual.spec.ts
tests/spd/vendor-qual-sync-tabs.spec.ts tests/spd/vendor-qual-column-settings.spec.ts
--project=chromium --workers=1"
,
"test:vendor:smoke"
:
"playwright test tests/spd/vendor-query.spec.ts tests/spd/vendor-qual.spec.ts tests/spd/vendor-audit.spec.ts tests/spd/vendor-cert-diff.spec.ts tests/spd/vendor-eval-scheme.spec.ts tests/spd/vendor-eval-indicator.spec.ts tests/spd/vendor-holiday.spec.ts --project=chromium --grep @smoke --workers=1"
,
"test:vendor-audit:smoke"
:
"playwright test tests/spd/vendor-audit.spec.ts --project=chromium --grep @smoke --workers=1"
,
"test:vendor-audit:all"
:
"playwright test tests/spd/vendor-audit.spec.ts --project=chromium --workers=1"
,
...
...
@@ -140,7 +141,7 @@
"test:surgery:smoke"
:
"playwright test tests/spd/surgery-base-pkg.spec.ts tests/spd/surgery-oper-type.spec.ts tests/spd/surgery-std-pkg.spec.ts --project=chromium --grep @smoke --workers=1"
,
"test:surgery:all"
:
"playwright test tests/spd/surgery-base-pkg.spec.ts tests/spd/surgery-oper-type.spec.ts tests/spd/surgery-std-pkg.spec.ts --project=chromium --workers=1"
,
"assert:surgery-csv-spec"
:
"node scripts/assert-surgery-csv-spec-sync.mjs"
,
"test:vendor:all"
:
"playwright test tests/spd/vendor-query.spec.ts tests/spd/vendor-qual.spec.ts tests/spd/vendor-audit.spec.ts tests/spd/vendor-cert-diff.spec.ts tests/spd/vendor-eval-scheme.spec.ts tests/spd/vendor-eval-indicator.spec.ts tests/spd/vendor-holiday.spec.ts --project=chromium --workers=1"
,
"test:vendor:all"
:
"playwright test tests/spd/vendor-query.spec.ts tests/spd/vendor-qual.spec.ts
tests/spd/vendor-qual-sync-tabs.spec.ts tests/spd/vendor-qual-column-settings.spec.ts
tests/spd/vendor-audit.spec.ts tests/spd/vendor-cert-diff.spec.ts tests/spd/vendor-eval-scheme.spec.ts tests/spd/vendor-eval-indicator.spec.ts tests/spd/vendor-holiday.spec.ts --project=chromium --workers=1"
,
"discover:yaml-from-json"
:
"node scripts/json-to-locator-yaml.mjs --all-extended"
,
"update:ui-specs-extended"
:
"python3 scripts/update-extended-ui-specs.py"
,
"update:ui-specs-consume"
:
"python3 scripts/update-consume-ui-specs.py"
,
...
...
Prev
1
2
3
4
5
6
7
8
…
18
Next
Write
Preview
Supports
Markdown
0%
Try again
or
attach a new file
.
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment