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

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

对齐 CSV/MD/测试点与现网列名及组合查询;补充厂商资质子 Tab 与基础模块复跑脚本。
parent aa8987ce
/** 各主 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,
];
/**
* 供应商资质管理 · 各主 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('/');
}
/** 供应商资质管理 · 除「证件效期提醒」外需与 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 === '供应商三证',
)!;
......@@ -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';
......@@ -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: '库房名称' },
......
......@@ -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: ['采购计划号'],
},
......
......@@ -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: ['采购计划号'],
},
......
......@@ -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: ['采购计划号'],
},
......
......@@ -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) |
菜单路径:**基础设置** → **厂商管理** → {页面名}。
......
......@@ -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`)。
......@@ -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、变更审批详情、左右分栏(指标树/节假日)需先断言目标面板可见再操作。
......
......@@ -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 的方法仍预留供扩展。
## 测试关注点
......
......@@ -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)。
## 测试关注点
......
# Auto-generated from center-report-sheet-elements.json
# Source: http://spdtest.cmic.com.cn:8080/spd/form/centerReport/report/centerPages/sheet
# Scanned: 2026-08-25T00:50:02.216Z
# Scanned: 2026-10-27T07:22:52.687Z
# 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_e4b8ade5bf83e5ba93e4baa7e59381e8bf9be99480e5ad98:
description: "中心库产品进销存"
element_type: li
section: "main::main"
......@@ -196,7 +172,7 @@ locators:
name: "中心库产品进销存"
playwright: "page.getByRole('menuitem', { name: '中心库产品进销存' })"
menu_el_e587bae5_2:
menu_el_e587bae585a5e5ba93e6988ee7bb86e69fa5e8afa228e5908ee58ba4efbc89:
description: "出入库明细查询(后勤)"
element_type: li
section: "main::main"
......@@ -205,7 +181,7 @@ locators:
name: "出入库明细查询(后勤)"
playwright: "page.getByRole('menuitem', { name: '出入库明细查询(后勤)' })"
menu_el_e4baa7e5:
menu_el_e4baa7e59381e591a8e8bdace78e87e68aa5e8a1a8:
description: "产品周转率报表"
element_type: li
section: "main::main"
......@@ -214,7 +190,7 @@ locators:
name: "产品周转率报表"
playwright: "page.getByRole('menuitem', { name: '产品周转率报表' })"
menu_el_e4b8ade5_3:
menu_el_e4b8ade5bf83e5ba93e8bf9be99480e5ad9828e5908ee58ba429:
description: "中心库进销存(后勤)"
element_type: li
section: "main::main"
......@@ -223,7 +199,7 @@ locators:
name: "中心库进销存(后勤)"
playwright: "page.getByRole('menuitem', { name: '中心库进销存(后勤)' })"
menu_el_e58780e5:
menu_el_e58780e585a5e5ba93e6b187e680bbe69fa5e8afa2efbc88e5a49ae7bbb4e5baa6efbc89:
description: "净入库汇总查询(多维度)"
element_type: li
section: "main::main"
......@@ -232,7 +208,7 @@ locators:
name: "净入库汇总查询(多维度)"
playwright: "page.getByRole('menuitem', { name: '净入库汇总查询(多维度)' })"
menu_el_e58780e5_2:
menu_el_e58780e587bae5ba93e6b187e680bbe69fa5e8afa2efbc88e5a49ae7bbb4e5baa6efbc89:
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')"
accountingDateDateRange:
description: "记账日期"
el_e8aeb0e8b4a6e697b6e997b4DateRange:
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')"
accountingDateInput:
el_e8aeb0e8b4a6e697b6e997b4Input:
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: "ZRK202608240018"
playwright: "page.frameLocator('iframe[src*=\"centerPages/sheet\"]').getByRole('button', { name: 'ZRK202608240018' })"
name: "ZRK202610260010"
playwright: "page.frameLocator('iframe[src*=\"centerPages/sheet\"]').getByRole('button', { name: 'ZRK202610260010' })"
zck202608240010Btn:
description: "ZCK202608240010"
zck202610260013Btn:
description: "ZCK202610260013"
element_type: button
section: "reportContentIframe::main"
frame: "reportContentIframe"
frame_selector: iframe[src*="centerPages/sheet"]
strategy: role
role: button
name: "ZCK202608240010"
playwright: "page.frameLocator('iframe[src*=\"centerPages/sheet\"]').getByRole('button', { name: 'ZCK202608240010' })"
name: "ZCK202610260013"
playwright: "page.frameLocator('iframe[src*=\"centerPages/sheet\"]').getByRole('button', { name: 'ZCK202610260013' })"
zrk202608240017Btn:
description: "ZRK202608240017"
zrk202610260008Btn:
description: "ZRK202610260008"
element_type: button
section: "reportContentIframe::main"
frame: "reportContentIframe"
frame_selector: iframe[src*="centerPages/sheet"]
strategy: role
role: button
name: "ZRK202608240017"
playwright: "page.frameLocator('iframe[src*=\"centerPages/sheet\"]').getByRole('button', { name: 'ZRK202608240017' })"
name: "ZRK202610260008"
playwright: "page.frameLocator('iframe[src*=\"centerPages/sheet\"]').getByRole('button', { name: 'ZRK202610260008' })"
zck202608240009Btn:
description: "ZCK202608240009"
zck202610260012Btn:
description: "ZCK202610260012"
element_type: button
section: "reportContentIframe::main"
frame: "reportContentIframe"
frame_selector: iframe[src*="centerPages/sheet"]
strategy: role
role: button
name: "ZCK202608240009"
playwright: "page.frameLocator('iframe[src*=\"centerPages/sheet\"]').getByRole('button', { name: 'ZCK202608240009' })"
name: "ZCK202610260012"
playwright: "page.frameLocator('iframe[src*=\"centerPages/sheet\"]').getByRole('button', { name: 'ZCK202610260012' })"
zrk202608240016Btn:
description: "ZRK202608240016"
zrk202610260007Btn:
description: "ZRK202610260007"
element_type: button
section: "reportContentIframe::main"
frame: "reportContentIframe"
frame_selector: iframe[src*="centerPages/sheet"]
strategy: role
role: button
name: "ZRK202608240016"
playwright: "page.frameLocator('iframe[src*=\"centerPages/sheet\"]').getByRole('button', { name: 'ZRK202608240016' })"
name: "ZRK202610260007"
playwright: "page.frameLocator('iframe[src*=\"centerPages/sheet\"]').getByRole('button', { name: 'ZRK202610260007' })"
zck202608240006Btn:
description: "ZCK202608240006"
zrk202610260006Btn:
description: "ZRK202610260006"
element_type: button
section: "reportContentIframe::main"
frame: "reportContentIframe"
frame_selector: iframe[src*="centerPages/sheet"]
strategy: role
role: button
name: "ZCK202608240006"
playwright: "page.frameLocator('iframe[src*=\"centerPages/sheet\"]').getByRole('button', { name: 'ZCK202608240006' })"
name: "ZRK202610260006"
playwright: "page.frameLocator('iframe[src*=\"centerPages/sheet\"]').getByRole('button', { name: 'ZRK202610260006' })"
zck202608240008Btn:
description: "ZCK202608240008"
zrk202610260005Btn:
description: "ZRK202610260005"
element_type: button
section: "reportContentIframe::main"
frame: "reportContentIframe"
frame_selector: iframe[src*="centerPages/sheet"]
strategy: role
role: button
name: "ZCK202608240008"
playwright: "page.frameLocator('iframe[src*=\"centerPages/sheet\"]').getByRole('button', { name: 'ZCK202608240008' })"
name: "ZRK202610260005"
playwright: "page.frameLocator('iframe[src*=\"centerPages/sheet\"]').getByRole('button', { name: 'ZRK202610260005' })"
zck202608240007Btn:
description: "ZCK202608240007"
zrk202610260004Btn:
description: "ZRK202610260004"
element_type: button
section: "reportContentIframe::main"
frame: "reportContentIframe"
frame_selector: iframe[src*="centerPages/sheet"]
strategy: role
role: button
name: "ZCK202608240007"
playwright: "page.frameLocator('iframe[src*=\"centerPages/sheet\"]').getByRole('button', { name: 'ZCK202608240007' })"
name: "ZRK202610260004"
playwright: "page.frameLocator('iframe[src*=\"centerPages/sheet\"]').getByRole('button', { name: 'ZRK202610260004' })"
zck202608240004Btn:
description: "ZCK202608240004"
zck202610260009Btn:
description: "ZCK202610260009"
element_type: button
section: "reportContentIframe::main"
frame: "reportContentIframe"
frame_selector: iframe[src*="centerPages/sheet"]
strategy: role
role: button
name: "ZCK202608240004"
playwright: "page.frameLocator('iframe[src*=\"centerPages/sheet\"]').getByRole('button', { name: 'ZCK202608240004' })"
name: "ZCK202610260009"
playwright: "page.frameLocator('iframe[src*=\"centerPages/sheet\"]').getByRole('button', { name: 'ZCK202610260009' })"
zrk202608240014Btn:
description: "ZRK202608240014"
zck202610260007Btn:
description: "ZCK202610260007"
element_type: button
section: "reportContentIframe::main"
frame: "reportContentIframe"
frame_selector: iframe[src*="centerPages/sheet"]
strategy: role
role: button
name: "ZRK202608240014"
playwright: "page.frameLocator('iframe[src*=\"centerPages/sheet\"]').getByRole('button', { name: 'ZRK202608240014' })"
name: "ZCK202610260007"
playwright: "page.frameLocator('iframe[src*=\"centerPages/sheet\"]').getByRole('button', { name: 'ZCK202610260007' })"
zrk202608240013Btn:
description: "ZRK202608240013"
zck202610260006Btn:
description: "ZCK202610260006"
element_type: button
section: "reportContentIframe::main"
frame: "reportContentIframe"
frame_selector: iframe[src*="centerPages/sheet"]
strategy: role
role: button
name: "ZRK202608240013"
playwright: "page.frameLocator('iframe[src*=\"centerPages/sheet\"]').getByRole('button', { name: 'ZRK202608240013' })"
name: "ZCK202610260006"
playwright: "page.frameLocator('iframe[src*=\"centerPages/sheet\"]').getByRole('button', { name: 'ZCK202610260006' })"
zrk202608240012Btn:
description: "ZRK202608240012"
zrk202610260002Btn:
description: "ZRK202610260002"
element_type: button
section: "reportContentIframe::main"
frame: "reportContentIframe"
frame_selector: iframe[src*="centerPages/sheet"]
strategy: role
role: button
name: "ZRK202608240012"
playwright: "page.frameLocator('iframe[src*=\"centerPages/sheet\"]').getByRole('button', { name: 'ZRK202608240012' })"
name: "ZRK202610260002"
playwright: "page.frameLocator('iframe[src*=\"centerPages/sheet\"]').getByRole('button', { name: 'ZRK202610260002' })"
zrk202608240007Btn:
description: "ZRK202608240007"
zrk202610260001Btn:
description: "ZRK202610260001"
element_type: button
section: "reportContentIframe::main"
frame: "reportContentIframe"
frame_selector: iframe[src*="centerPages/sheet"]
strategy: role
role: button
name: "ZRK202608240007"
playwright: "page.frameLocator('iframe[src*=\"centerPages/sheet\"]').getByRole('button', { name: 'ZRK202608240007' })"
name: "ZRK202610260001"
playwright: "page.frameLocator('iframe[src*=\"centerPages/sheet\"]').getByRole('button', { name: 'ZRK202610260001' })"
zrk202608240006Btn:
description: "ZRK202608240006"
zck202610260005Btn:
description: "ZCK202610260005"
element_type: button
section: "reportContentIframe::main"
frame: "reportContentIframe"
frame_selector: iframe[src*="centerPages/sheet"]
strategy: role
role: button
name: "ZRK202608240006"
playwright: "page.frameLocator('iframe[src*=\"centerPages/sheet\"]').getByRole('button', { name: 'ZRK202608240006' })"
name: "ZCK202610260005"
playwright: "page.frameLocator('iframe[src*=\"centerPages/sheet\"]').getByRole('button', { name: 'ZCK202610260005' })"
zrk202608240005Btn:
description: "ZRK202608240005"
zck202610260004Btn:
description: "ZCK202610260004"
element_type: button
section: "reportContentIframe::main"
frame: "reportContentIframe"
frame_selector: iframe[src*="centerPages/sheet"]
strategy: role
role: button
name: "ZRK202608240005"
playwright: "page.frameLocator('iframe[src*=\"centerPages/sheet\"]').getByRole('button', { name: 'ZRK202608240005' })"
name: "ZCK202610260004"
playwright: "page.frameLocator('iframe[src*=\"centerPages/sheet\"]').getByRole('button', { name: 'ZCK202610260004' })"
zrk202608240004Btn:
description: "ZRK202608240004"
zck202610260003Btn:
description: "ZCK202610260003"
element_type: button
section: "reportContentIframe::main"
frame: "reportContentIframe"
frame_selector: iframe[src*="centerPages/sheet"]
strategy: role
role: button
name: "ZRK202608240004"
playwright: "page.frameLocator('iframe[src*=\"centerPages/sheet\"]').getByRole('button', { name: 'ZRK202608240004' })"
name: "ZCK202610260003"
playwright: "page.frameLocator('iframe[src*=\"centerPages/sheet\"]').getByRole('button', { name: 'ZCK202610260003' })"
zrk202608240003Btn:
description: "ZRK202608240003"
zck202610260002Btn:
description: "ZCK202610260002"
element_type: button
section: "reportContentIframe::main"
frame: "reportContentIframe"
frame_selector: iframe[src*="centerPages/sheet"]
strategy: role
role: button
name: "ZRK202608240003"
playwright: "page.frameLocator('iframe[src*=\"centerPages/sheet\"]').getByRole('button', { name: 'ZRK202608240003' })"
name: "ZCK202610260002"
playwright: "page.frameLocator('iframe[src*=\"centerPages/sheet\"]').getByRole('button', { name: 'ZCK202610260002' })"
zrk202608240002Btn:
description: "ZRK202608240002"
zck202610260001Btn:
description: "ZCK202610260001"
element_type: button
section: "reportContentIframe::main"
frame: "reportContentIframe"
frame_selector: iframe[src*="centerPages/sheet"]
strategy: role
role: button
name: "ZRK202608240002"
playwright: "page.frameLocator('iframe[src*=\"centerPages/sheet\"]').getByRole('button', { name: 'ZRK202608240002' })"
name: "ZCK202610260001"
playwright: "page.frameLocator('iframe[src*=\"centerPages/sheet\"]').getByRole('button', { name: 'ZCK202610260001' })"
zck202608240001Btn:
description: "ZCK202608240001"
zck202609080003Btn:
description: "ZCK202609080003"
element_type: button
section: "reportContentIframe::main"
frame: "reportContentIframe"
frame_selector: iframe[src*="centerPages/sheet"]
strategy: role
role: button
name: "ZCK202608240001"
playwright: "page.frameLocator('iframe[src*=\"centerPages/sheet\"]').getByRole('button', { name: 'ZCK202608240001' })"
name: "ZCK202609080003"
playwright: "page.frameLocator('iframe[src*=\"centerPages/sheet\"]').getByRole('button', { name: 'ZCK202609080003' })"
zrk202608240001Btn:
description: "ZRK202608240001"
zck202610220041Btn:
description: "ZCK202610220041"
element_type: button
section: "reportContentIframe::main"
frame: "reportContentIframe"
frame_selector: iframe[src*="centerPages/sheet"]
strategy: role
role: button
name: "ZRK202608240001"
playwright: "page.frameLocator('iframe[src*=\"centerPages/sheet\"]').getByRole('button', { name: 'ZRK202608240001' })"
name: "ZCK202610220041"
playwright: "page.frameLocator('iframe[src*=\"centerPages/sheet\"]').getByRole('button', { name: 'ZCK202610220041' })"
zck202608210003Btn:
description: "ZCK202608210003"
zck202610230002Btn:
description: "ZCK202610230002"
element_type: button
section: "reportContentIframe::main"
frame: "reportContentIframe"
frame_selector: iframe[src*="centerPages/sheet"]
strategy: role
role: button
name: "ZCK202608210003"
playwright: "page.frameLocator('iframe[src*=\"centerPages/sheet\"]').getByRole('button', { name: 'ZCK202608210003' })"
name: "ZCK202610230002"
playwright: "page.frameLocator('iframe[src*=\"centerPages/sheet\"]').getByRole('button', { name: 'ZCK202610230002' })"
zrk202608210002Btn:
description: "ZRK202608210002"
zrk202610230002Btn:
description: "ZRK202610230002"
element_type: button
section: "reportContentIframe::main"
frame: "reportContentIframe"
frame_selector: iframe[src*="centerPages/sheet"]
strategy: role
role: button
name: "ZRK202608210002"
playwright: "page.frameLocator('iframe[src*=\"centerPages/sheet\"]').getByRole('button', { name: 'ZRK202608210002' })"
name: "ZRK202610230002"
playwright: "page.frameLocator('iframe[src*=\"centerPages/sheet\"]').getByRole('button', { name: 'ZRK202610230002' })"
zck202608210002Btn:
description: "ZCK202608210002"
zck202610230001Btn:
description: "ZCK202610230001"
element_type: button
section: "reportContentIframe::main"
frame: "reportContentIframe"
frame_selector: iframe[src*="centerPages/sheet"]
strategy: role
role: button
name: "ZCK202608210002"
playwright: "page.frameLocator('iframe[src*=\"centerPages/sheet\"]').getByRole('button', { name: 'ZCK202608210002' })"
name: "ZCK202610230001"
playwright: "page.frameLocator('iframe[src*=\"centerPages/sheet\"]').getByRole('button', { name: 'ZCK202610230001' })"
zck202608210002Btn_2:
description: "ZCK202608210002"
zrk202610230001Btn:
description: "ZRK202610230001"
element_type: button
section: "reportContentIframe::main"
frame: "reportContentIframe"
frame_selector: iframe[src*="centerPages/sheet"]
strategy: role
role: button
name: "ZCK202608210002"
playwright: "page.frameLocator('iframe[src*=\"centerPages/sheet\"]').getByRole('button', { name: 'ZCK202608210002' })"
name: "ZRK202610230001"
playwright: "page.frameLocator('iframe[src*=\"centerPages/sheet\"]').getByRole('button', { name: 'ZRK202610230001' })"
zrk202608210001Btn:
description: "ZRK202608210001"
zck202610210017Btn:
description: "ZCK202610210017"
element_type: button
section: "reportContentIframe::main"
frame: "reportContentIframe"
frame_selector: iframe[src*="centerPages/sheet"]
strategy: role
role: button
name: "ZRK202608210001"
playwright: "page.frameLocator('iframe[src*=\"centerPages/sheet\"]').getByRole('button', { name: 'ZRK202608210001' })"
name: "ZCK202610210017"
playwright: "page.frameLocator('iframe[src*=\"centerPages/sheet\"]').getByRole('button', { name: 'ZCK202610210017' })"
zrk202608210001Btn_2:
description: "ZRK202608210001"
zrk202610220042Btn:
description: "ZRK202610220042"
element_type: button
section: "reportContentIframe::main"
frame: "reportContentIframe"
frame_selector: iframe[src*="centerPages/sheet"]
strategy: role
role: button
name: "ZRK202608210001"
playwright: "page.frameLocator('iframe[src*=\"centerPages/sheet\"]').getByRole('button', { name: 'ZRK202608210001' })"
name: "ZRK202610220042"
playwright: "page.frameLocator('iframe[src*=\"centerPages/sheet\"]').getByRole('button', { name: 'ZRK202610220042' })"
zck202608210001Btn:
description: "ZCK202608210001"
zck202610220054Btn:
description: "ZCK202610220054"
element_type: button
section: "reportContentIframe::main"
frame: "reportContentIframe"
frame_selector: iframe[src*="centerPages/sheet"]
strategy: role
role: button
name: "ZCK202608210001"
playwright: "page.frameLocator('iframe[src*=\"centerPages/sheet\"]').getByRole('button', { name: 'ZCK202608210001' })"
name: "ZCK202610220054"
playwright: "page.frameLocator('iframe[src*=\"centerPages/sheet\"]').getByRole('button', { name: 'ZCK202610220054' })"
zck202608210001Btn_2:
description: "ZCK202608210001"
zrk202610220041Btn:
description: "ZRK202610220041"
element_type: button
section: "reportContentIframe::main"
frame: "reportContentIframe"
frame_selector: iframe[src*="centerPages/sheet"]
strategy: role
role: button
name: "ZCK202608210001"
playwright: "page.frameLocator('iframe[src*=\"centerPages/sheet\"]').getByRole('button', { name: 'ZCK202608210001' })"
name: "ZRK202610220041"
playwright: "page.frameLocator('iframe[src*=\"centerPages/sheet\"]').getByRole('button', { name: 'ZRK202610220041' })"
zrk202608200004Btn:
description: "ZRK202608200004"
zck202610220053Btn:
description: "ZCK202610220053"
element_type: button
section: "reportContentIframe::main"
frame: "reportContentIframe"
frame_selector: iframe[src*="centerPages/sheet"]
strategy: role
role: button
name: "ZRK202608200004"
playwright: "page.frameLocator('iframe[src*=\"centerPages/sheet\"]').getByRole('button', { name: 'ZRK202608200004' })"
name: "ZCK202610220053"
playwright: "page.frameLocator('iframe[src*=\"centerPages/sheet\"]').getByRole('button', { name: 'ZCK202610220053' })"
zrk202608200004Btn_2:
description: "ZRK202608200004"
zrk202610220040Btn:
description: "ZRK202610220040"
element_type: button
section: "reportContentIframe::main"
frame: "reportContentIframe"
frame_selector: iframe[src*="centerPages/sheet"]
strategy: role
role: button
name: "ZRK202608200004"
playwright: "page.frameLocator('iframe[src*=\"centerPages/sheet\"]').getByRole('button', { name: 'ZRK202608200004' })"
name: "ZRK202610220040"
playwright: "page.frameLocator('iframe[src*=\"centerPages/sheet\"]').getByRole('button', { name: 'ZRK202610220040' })"
zck202608200004Btn:
description: "ZCK202608200004"
zck202610220052Btn:
description: "ZCK202610220052"
element_type: button
section: "reportContentIframe::main"
frame: "reportContentIframe"
frame_selector: iframe[src*="centerPages/sheet"]
strategy: role
role: button
name: "ZCK202608200004"
playwright: "page.frameLocator('iframe[src*=\"centerPages/sheet\"]').getByRole('button', { name: 'ZCK202608200004' })"
name: "ZCK202610220052"
playwright: "page.frameLocator('iframe[src*=\"centerPages/sheet\"]').getByRole('button', { name: 'ZCK202610220052' })"
zrk202608200003Btn:
description: "ZRK202608200003"
zck202610220049Btn:
description: "ZCK202610220049"
element_type: button
section: "reportContentIframe::main"
frame: "reportContentIframe"
frame_selector: iframe[src*="centerPages/sheet"]
strategy: role
role: button
name: "ZRK202608200003"
playwright: "page.frameLocator('iframe[src*=\"centerPages/sheet\"]').getByRole('button', { name: 'ZRK202608200003' })"
name: "ZCK202610220049"
playwright: "page.frameLocator('iframe[src*=\"centerPages/sheet\"]').getByRole('button', { name: 'ZCK202610220049' })"
zrk202608200002Btn:
description: "ZRK202608200002"
zck202610220029Btn:
description: "ZCK202610220029"
element_type: button
section: "reportContentIframe::main"
frame: "reportContentIframe"
frame_selector: iframe[src*="centerPages/sheet"]
strategy: role
role: button
name: "ZRK202608200002"
playwright: "page.frameLocator('iframe[src*=\"centerPages/sheet\"]').getByRole('button', { name: 'ZRK202608200002' })"
name: "ZCK202610220029"
playwright: "page.frameLocator('iframe[src*=\"centerPages/sheet\"]').getByRole('button', { name: 'ZCK202610220029' })"
zck202608200003Btn:
description: "ZCK202608200003"
zrk202610220036Btn:
description: "ZRK202610220036"
element_type: button
section: "reportContentIframe::main"
frame: "reportContentIframe"
frame_selector: iframe[src*="centerPages/sheet"]
strategy: role
role: button
name: "ZCK202608200003"
playwright: "page.frameLocator('iframe[src*=\"centerPages/sheet\"]').getByRole('button', { name: 'ZCK202608200003' })"
name: "ZRK202610220036"
playwright: "page.frameLocator('iframe[src*=\"centerPages/sheet\"]').getByRole('button', { name: 'ZRK202610220036' })"
zck202608200002Btn:
description: "ZCK202608200002"
zck202610220047Btn:
description: "ZCK202610220047"
element_type: button
section: "reportContentIframe::main"
frame: "reportContentIframe"
frame_selector: iframe[src*="centerPages/sheet"]
strategy: role
role: button
name: "ZCK202608200002"
playwright: "page.frameLocator('iframe[src*=\"centerPages/sheet\"]').getByRole('button', { name: 'ZCK202608200002' })"
name: "ZCK202610220047"
playwright: "page.frameLocator('iframe[src*=\"centerPages/sheet\"]').getByRole('button', { name: 'ZCK202610220047' })"
zck202608200001Btn:
description: "ZCK202608200001"
zck202610220044Btn:
description: "ZCK202610220044"
element_type: button
section: "reportContentIframe::main"
frame: "reportContentIframe"
frame_selector: iframe[src*="centerPages/sheet"]
strategy: role
role: button
name: "ZCK202608200001"
playwright: "page.frameLocator('iframe[src*=\"centerPages/sheet\"]').getByRole('button', { name: 'ZCK202608200001' })"
name: "ZCK202610220044"
playwright: "page.frameLocator('iframe[src*=\"centerPages/sheet\"]').getByRole('button', { name: 'ZCK202610220044' })"
zrk202608200001Btn:
description: "ZRK202608200001"
zck202610220043Btn:
description: "ZCK202610220043"
element_type: button
section: "reportContentIframe::main"
frame: "reportContentIframe"
frame_selector: iframe[src*="centerPages/sheet"]
strategy: role
role: button
name: "ZRK202608200001"
playwright: "page.frameLocator('iframe[src*=\"centerPages/sheet\"]').getByRole('button', { name: 'ZRK202608200001' })"
name: "ZCK202610220043"
playwright: "page.frameLocator('iframe[src*=\"centerPages/sheet\"]').getByRole('button', { name: 'ZCK202610220043' })"
zck202608180032Btn:
description: "ZCK202608180032"
zck202610220042Btn:
description: "ZCK202610220042"
element_type: button
section: "reportContentIframe::main"
frame: "reportContentIframe"
frame_selector: iframe[src*="centerPages/sheet"]
strategy: role
role: button
name: "ZCK202608180032"
playwright: "page.frameLocator('iframe[src*=\"centerPages/sheet\"]').getByRole('button', { name: 'ZCK202608180032' })"
name: "ZCK202610220042"
playwright: "page.frameLocator('iframe[src*=\"centerPages/sheet\"]').getByRole('button', { name: 'ZCK202610220042' })"
zrk202608180032Btn:
description: "ZRK202608180032"
zck202610220040Btn:
description: "ZCK202610220040"
element_type: button
section: "reportContentIframe::main"
frame: "reportContentIframe"
frame_selector: iframe[src*="centerPages/sheet"]
strategy: role
role: button
name: "ZRK202608180032"
playwright: "page.frameLocator('iframe[src*=\"centerPages/sheet\"]').getByRole('button', { name: 'ZRK202608180032' })"
name: "ZCK202610220040"
playwright: "page.frameLocator('iframe[src*=\"centerPages/sheet\"]').getByRole('button', { name: 'ZCK202610220040' })"
zck202608180031Btn:
description: "ZCK202608180031"
zrk202610220033Btn:
description: "ZRK202610220033"
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•••850 条/页跳至页"
pagination_el_e585b1343432e69da13132333435e280a2e280a2e280a2393530e69da12fe9a1b5e8b7b3e887b3e9a1b5:
description: "共 442 条12345•••950 条/页跳至页"
element_type: ul
section: "reportContentIframe::pagination"
frame: "reportContentIframe"
frame_selector: iframe[src*="centerPages/sheet"]
strategy: text
value: "共 365 条12345•••850 条/页跳至页"
playwright: "page.frameLocator('iframe[src*=\"centerPages/sheet\"]').getByText('共 365 条12345•••850 条/页跳至页')"
value: "共 442 条12345•••950 条/页跳至页"
playwright: "page.frameLocator('iframe[src*=\"centerPages/sheet\"]').getByText('共 442 条12345•••950 条/页跳至页')"
pagination_prevPageBtn:
description: "上一页"
......@@ -1040,7 +848,7 @@ locators:
value: "5"
playwright: "page.frameLocator('iframe[src*=\"centerPages/sheet\"]').getByText('5')"
pagination_5:
pagination_el_e59091e5908e35e9a1b5:
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_accountingDateDateRange:
description: "记账日期"
drawer_el_e8aeb0e8b4a6e697b6e997b4DateRange:
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_accountingDateInput:
drawer_el_e8aeb0e8b4a6e697b6e997b4Input:
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({ hasText: '耗材分类' }).locator('.ant-cascader').first()"
playwright: "page.frameLocator('iframe[src*=\"centerPages/sheet\"]').getByText('耗材分类', { 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
......
......@@ -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"
......
# Auto-generated from recon-purchase-entry-elements.json
# Source: http://spdtest.cmic.com.cn:8080/spd/form/checkAccount/report/checkAccount/purchaseEntry
# Scanned: 2026-08-31T12:53:05.969Z
# Page: 统计报表 > 对账报表 > 采购入库汇总表
# Auto-generated from center-report-sheet-elements.json
# Source: http://spdtest.cmic.com.cn:8080/spd/form/centerReport/report/centerPages/sheet
# Scanned: 2026-10-27T07:23:36.377Z
# 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/checkAccount/report/checkAccount/purchaseEntry
url: http://spdtest.cmic.com.cn:8080/spd/form/centerReport/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_e98787e8_2:
description: "采购分类汇总"
menu_el_e4b8ade5bf83e5ba93e4baa7e59381e8bf9be99480e5ad98:
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_e98787e8_3:
description: "采购入库汇总表"
menu_el_e587bae585a5e5ba93e6988ee7bb86e69fa5e8afa228e5908ee58ba4efbc89:
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_e4be9be5:
description: "供应商对账查询"
menu_el_e4baa7e59381e591a8e8bdace78e87e68aa5e8a1a8:
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_4:
description: "科室净出汇总表"
menu_el_e4b8ade5bf83e5ba93e8bf9be99480e5ad9828e5908ee58ba429:
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/checkAccount/report/checkAccount/purchaseEntry"
playwright: "page.locator('#rc-tabs-0-tab-/form/checkAccount/report/checkAccount/purchaseEntry')"
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')"
# --- recon_purchase_entryIframe::main ---
# --- reportContentIframe::main ---
productName:
description: "产品ID/名称"
description: "物料ID/名称"
element_type: text
section: "recon_purchase_entryIframe::main"
frame: "recon_purchase_entryIframe"
frame_selector: iframe[src*="checkAccount/purchaseEntry"]
section: "reportContentIframe::main"
frame: "reportContentIframe"
frame_selector: iframe[src*="centerPages/sheet"]
strategy: id
value: "form_item_goodsName"
playwright: "page.frameLocator('iframe[src*=\"checkAccount/purchaseEntry\"]').locator('#form_item_goodsName')"
playwright: "page.frameLocator('iframe[src*=\"centerPages/sheet\"]').locator('#form_item_goodsName')"
el_e7bb9fe8DateRange:
description: "统计日期"
el_e8aeb0e8b4a6e697b6e997b4DateRange:
description: "记账时间"
element_type: datepicker
section: "recon_purchase_entryIframe::main"
frame: "recon_purchase_entryIframe"
frame_selector: iframe[src*="checkAccount/purchaseEntry"]
section: "reportContentIframe::main"
frame: "reportContentIframe"
frame_selector: iframe[src*="centerPages/sheet"]
strategy: label_text
value: "统计日期"
playwright: "page.frameLocator('iframe[src*=\"checkAccount/purchaseEntry\"]').getByText('统计日期', { exact: true })"
value: "记账时间"
playwright: "page.frameLocator('iframe[src*=\"centerPages/sheet\"]').getByText('记账时间', { exact: true })"
el_e7bb9fe8Input:
accountingDateStart:
description: "开始时间"
element_type: text
section: "recon_purchase_entryIframe::main"
frame: "recon_purchase_entryIframe"
frame_selector: iframe[src*="checkAccount/purchaseEntry"]
section: "reportContentIframe::main"
frame: "reportContentIframe"
frame_selector: iframe[src*="centerPages/sheet"]
strategy: id
value: "form_item_dateValue"
playwright: "page.frameLocator('iframe[src*=\"checkAccount/purchaseEntry\"]').locator('#form_item_dateValue')"
value: "form_item_accountDate"
playwright: "page.frameLocator('iframe[src*=\"centerPages/sheet\"]').locator('#form_item_accountDate')"
el_e7bb9fe8Input_2:
el_e8aeb0e8b4a6e697b6e997b4Input:
description: "截止时间"
element_type: text
section: "recon_purchase_entryIframe::main"
frame: "recon_purchase_entryIframe"
frame_selector: iframe[src*="checkAccount/purchaseEntry"]
section: "reportContentIframe::main"
frame: "reportContentIframe"
frame_selector: iframe[src*="centerPages/sheet"]
strategy: placeholder
value: "截止时间"
playwright: "page.frameLocator('iframe[src*=\"checkAccount/purchaseEntry\"]').getByPlaceholder('截止时间')"
playwright: "page.frameLocator('iframe[src*=\"centerPages/sheet\"]').getByPlaceholder('截止时间')"
supplierName:
description: "进院供应商名称"
element_type: text
section: "recon_purchase_entryIframe::main"
frame: "recon_purchase_entryIframe"
frame_selector: iframe[src*="checkAccount/purchaseEntry"]
strategy: id
value: "form_item_provName"
playwright: "page.frameLocator('iframe[src*=\"checkAccount/purchaseEntry\"]').locator('#form_item_provName')"
documentTypeSelect:
description: "请选择"
element_type: select
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 })"
searchBtn:
description: "查 询"
element_type: button
section: "recon_purchase_entryIframe::main"
frame: "recon_purchase_entryIframe"
frame_selector: iframe[src*="checkAccount/purchaseEntry"]
section: "reportContentIframe::main"
frame: "reportContentIframe"
frame_selector: iframe[src*="centerPages/sheet"]
strategy: role
role: button
name: "查 询"
playwright: "page.frameLocator('iframe[src*=\"checkAccount/purchaseEntry\"]').getByRole('button', { name: '查 询' })"
playwright: "page.frameLocator('iframe[src*=\"centerPages/sheet\"]').getByRole('button', { name: '查 询' })"
resetBtn:
description: "重 置"
element_type: button
section: "recon_purchase_entryIframe::main"
frame: "recon_purchase_entryIframe"
frame_selector: iframe[src*="checkAccount/purchaseEntry"]
section: "reportContentIframe::main"
frame: "reportContentIframe"
frame_selector: iframe[src*="centerPages/sheet"]
strategy: role
role: button
name: "重 置"
playwright: "page.frameLocator('iframe[src*=\"checkAccount/purchaseEntry\"]').getByRole('button', { name: '重 置' })"
playwright: "page.frameLocator('iframe[src*=\"centerPages/sheet\"]').getByRole('button', { name: '重 置' })"
advancedFilterBtn:
description: "高级筛选"
element_type: filter_trigger
section: "recon_purchase_entryIframe::main"
frame: "recon_purchase_entryIframe"
frame_selector: iframe[src*="checkAccount/purchaseEntry"]
section: "reportContentIframe::main"
frame: "reportContentIframe"
frame_selector: iframe[src*="centerPages/sheet"]
strategy: css
value: ".advance-filter"
playwright: "page.frameLocator('iframe[src*=\"checkAccount/purchaseEntry\"]').locator('.advance-filter')"
playwright: "page.frameLocator('iframe[src*=\"centerPages/sheet\"]').locator('.advance-filter')"
exportBtn:
description: "导 出"
element_type: button
section: "recon_purchase_entryIframe::main"
frame: "recon_purchase_entryIframe"
frame_selector: iframe[src*="checkAccount/purchaseEntry"]
section: "reportContentIframe::main"
frame: "reportContentIframe"
frame_selector: iframe[src*="centerPages/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: "recon_purchase_entryIframe::main"
frame: "recon_purchase_entryIframe"
frame_selector: iframe[src*="checkAccount/purchaseEntry"]
section: "reportContentIframe::main"
frame: "reportContentIframe"
frame_selector: iframe[src*="centerPages/sheet"]
strategy: label
value: "column-height"
playwright: "page.frameLocator('iframe[src*=\"checkAccount/purchaseEntry\"]').getByLabel('column-height')"
playwright: "page.frameLocator('iframe[src*=\"centerPages/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_e5b195e5Btn_17:
description: "展开行"
zrk202610260005Btn:
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_e5b195e5Btn_24:
description: "展开行"
zck202610260005Btn:
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' })"
# --- recon_purchase_entryIframe::pagination ---
pagination_82_1250:
description: "共 82 条1250 条/页跳至页"
# --- reportContentIframe::pagination ---
pagination_el_e585b1343432e69da13132333435e280a2e280a2e280a2393530e69da12fe9a1b5e8b7b3e887b3e9a1b5:
description: "共 442 条12345•••950 条/页跳至页"
element_type: ul
section: "recon_purchase_entryIframe::pagination"
frame: "recon_purchase_entryIframe"
frame_selector: iframe[src*="checkAccount/purchaseEntry"]
section: "reportContentIframe::pagination"
frame: "reportContentIframe"
frame_selector: iframe[src*="centerPages/sheet"]
strategy: text
value: "共 82 条1250 条/页跳至页"
playwright: "page.frameLocator('iframe[src*=\"checkAccount/purchaseEntry\"]').getByText('共 82 条1250 条/页跳至页')"
value: "共 442 条12345•••950 条/页跳至页"
playwright: "page.frameLocator('iframe[src*=\"centerPages/sheet\"]').getByText('共 442 条12345•••950 条/页跳至页')"
pagination_prevPageBtn:
description: "上一页"
element_type: li
section: "recon_purchase_entryIframe::pagination"
frame: "recon_purchase_entryIframe"
frame_selector: iframe[src*="checkAccount/purchaseEntry"]
section: "reportContentIframe::pagination"
frame: "reportContentIframe"
frame_selector: iframe[src*="centerPages/sheet"]
strategy: text
value: "上一页"
playwright: "page.frameLocator('iframe[src*=\"checkAccount/purchaseEntry\"]').getByText('上一页')"
playwright: "page.frameLocator('iframe[src*=\"centerPages/sheet\"]').getByText('上一页')"
pagination_page_1:
description: "1"
element_type: pagination_item
section: "recon_purchase_entryIframe::pagination"
frame: "recon_purchase_entryIframe"
frame_selector: iframe[src*="checkAccount/purchaseEntry"]
section: "reportContentIframe::pagination"
frame: "reportContentIframe"
frame_selector: iframe[src*="centerPages/sheet"]
strategy: css
value: ".ant-pagination-item-active"
playwright: "page.frameLocator('iframe[src*=\"checkAccount/purchaseEntry\"]').locator('.ant-pagination-item-active')"
playwright: "page.frameLocator('iframe[src*=\"centerPages/sheet\"]').locator('.ant-pagination-item-active')"
pagination_page_2:
description: "2"
element_type: pagination_item
section: "recon_purchase_entryIframe::pagination"
frame: "recon_purchase_entryIframe"
frame_selector: iframe[src*="checkAccount/purchaseEntry"]
section: "reportContentIframe::pagination"
frame: "reportContentIframe"
frame_selector: iframe[src*="centerPages/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: "recon_purchase_entryIframe::pagination"
frame: "recon_purchase_entryIframe"
frame_selector: iframe[src*="checkAccount/purchaseEntry"]
section: "reportContentIframe::pagination"
frame: "reportContentIframe"
frame_selector: iframe[src*="centerPages/sheet"]
strategy: text
value: "下一页"
playwright: "page.frameLocator('iframe[src*=\"checkAccount/purchaseEntry\"]').getByText('下一页')"
playwright: "page.frameLocator('iframe[src*=\"centerPages/sheet\"]').getByText('下一页')"
pagination_pageSizeSelect:
description: "50 条/页"
element_type: select
section: "recon_purchase_entryIframe::pagination"
frame: "recon_purchase_entryIframe"
frame_selector: iframe[src*="checkAccount/purchaseEntry"]
section: "reportContentIframe::pagination"
frame: "reportContentIframe"
frame_selector: iframe[src*="centerPages/sheet"]
strategy: text
value: "50 条/页"
playwright: "page.frameLocator('iframe[src*=\"checkAccount/purchaseEntry\"]').getByText('50 条/页')"
playwright: "page.frameLocator('iframe[src*=\"centerPages/sheet\"]').getByText('50 条/页')"
# --- recon_purchase_entryIframe::panel:高级筛选 ---
# --- reportContentIframe::panel:高级筛选 ---
drawer_productName:
description: "产品ID/名称"
description: "物料ID/名称"
element_type: text
section: "recon_purchase_entryIframe::panel:高级筛选"
frame: "recon_purchase_entryIframe"
frame_selector: iframe[src*="checkAccount/purchaseEntry"]
section: "reportContentIframe::panel:高级筛选"
frame: "reportContentIframe"
frame_selector: iframe[src*="centerPages/sheet"]
strategy: id
value: "form_item_goodsName"
playwright: "page.frameLocator('iframe[src*=\"checkAccount/purchaseEntry\"]').locator('#form_item_goodsName')"
playwright: "page.frameLocator('iframe[src*=\"centerPages/sheet\"]').locator('#form_item_goodsName')"
drawer_el_e7bb9fe8DateRange:
description: "统计日期"
drawer_el_e8aeb0e8b4a6e697b6e997b4DateRange:
description: "记账时间"
element_type: datepicker
section: "recon_purchase_entryIframe::panel:高级筛选"
frame: "recon_purchase_entryIframe"
frame_selector: iframe[src*="checkAccount/purchaseEntry"]
section: "reportContentIframe::panel:高级筛选"
frame: "reportContentIframe"
frame_selector: iframe[src*="centerPages/sheet"]
strategy: label_text
value: "统计日期"
playwright: "page.frameLocator('iframe[src*=\"checkAccount/purchaseEntry\"]').getByText('统计日期', { exact: true })"
value: "记账时间"
playwright: "page.frameLocator('iframe[src*=\"centerPages/sheet\"]').getByText('记账时间', { exact: true })"
drawer_el_e7bb9fe8Input:
drawer_accountingDateStart:
description: "开始时间"
element_type: text
section: "recon_purchase_entryIframe::panel:高级筛选"
frame: "recon_purchase_entryIframe"
frame_selector: iframe[src*="checkAccount/purchaseEntry"]
section: "reportContentIframe::panel:高级筛选"
frame: "reportContentIframe"
frame_selector: iframe[src*="centerPages/sheet"]
strategy: id
value: "form_item_dateValue"
playwright: "page.frameLocator('iframe[src*=\"checkAccount/purchaseEntry\"]').locator('#form_item_dateValue')"
value: "form_item_accountDate"
playwright: "page.frameLocator('iframe[src*=\"centerPages/sheet\"]').locator('#form_item_accountDate')"
drawer_el_e7bb9fe8Input_2:
drawer_el_e8aeb0e8b4a6e697b6e997b4Input:
description: "截止时间"
element_type: text
section: "recon_purchase_entryIframe::panel:高级筛选"
frame: "recon_purchase_entryIframe"
frame_selector: iframe[src*="checkAccount/purchaseEntry"]
section: "reportContentIframe::panel:高级筛选"
frame: "reportContentIframe"
frame_selector: iframe[src*="centerPages/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: "recon_purchase_entryIframe::panel:高级筛选"
frame: "recon_purchase_entryIframe"
frame_selector: iframe[src*="checkAccount/purchaseEntry"]
section: "reportContentIframe::panel:高级筛选"
frame: "reportContentIframe"
frame_selector: iframe[src*="centerPages/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_campusName:
description: "院区名称"
element_type: search
section: "recon_purchase_entryIframe::panel:高级筛选"
frame: "recon_purchase_entryIframe"
frame_selector: iframe[src*="checkAccount/purchaseEntry"]
section: "reportContentIframe::panel:高级筛选"
frame: "reportContentIframe"
frame_selector: iframe[src*="centerPages/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: "recon_purchase_entryIframe::panel:高级筛选"
frame: "recon_purchase_entryIframe"
frame_selector: iframe[src*="checkAccount/purchaseEntry"]
section: "reportContentIframe::panel:高级筛选"
frame: "reportContentIframe"
frame_selector: iframe[src*="centerPages/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 })"
# --- recon_purchase_entryIframe::panel:高级筛选:footer ---
drawer_resetBtn:
# --- reportContentIframe::panel:drawer:footer ---
resetBtn_2:
description: "重 置"
element_type: button
section: "recon_purchase_entryIframe::panel:高级筛选:footer"
frame: "recon_purchase_entryIframe"
frame_selector: iframe[src*="checkAccount/purchaseEntry"]
section: "reportContentIframe::panel:drawer:footer"
frame: "reportContentIframe"
frame_selector: iframe[src*="centerPages/sheet"]
strategy: role
role: button
name: "重 置"
playwright: "page.frameLocator('iframe[src*=\"checkAccount/purchaseEntry\"]').getByRole('button', { name: '重 置' })"
playwright: "page.frameLocator('iframe[src*=\"centerPages/sheet\"]').getByRole('button', { name: '重 置' })"
drawer_filterApplyBtn:
filterApplyBtn:
description: "筛 选"
element_type: button
section: "recon_purchase_entryIframe::panel:高级筛选:footer"
frame: "recon_purchase_entryIframe"
frame_selector: iframe[src*="checkAccount/purchaseEntry"]
section: "reportContentIframe::panel:drawer:footer"
frame: "reportContentIframe"
frame_selector: iframe[src*="centerPages/sheet"]
strategy: role
role: button
name: "筛 选"
playwright: "page.frameLocator('iframe[src*=\"checkAccount/purchaseEntry\"]').getByRole('button', { name: '筛 选' })"
playwright: "page.frameLocator('iframe[src*=\"centerPages/sheet\"]').getByRole('button', { name: '筛 选' })"
......@@ -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');
}
......
......@@ -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
......
......@@ -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
......
......@@ -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",
......
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment