Skip to content
GitLab
Projects
Groups
Snippets
/
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Sign in / Register
Toggle navigation
Menu
Open sidebar
test
autotest-playwright-web-spd
Commits
6a181bea
Commit
6a181bea
authored
Oct 20, 2026
by
liguangyu06
Browse files
将基础管理等未入库改动暂存到 temp 分支,便于远程备份。
新模块用例尚未具备通关凭证,本次按临时备份跳过本地门禁。
parent
f6eec849
Changes
214
Hide whitespace changes
Inline
Side-by-side
Too many changes to show.
To preserve performance only
20 of 214+
files are displayed.
Plain diff
Email patch
locators/spd/basic-hospital-info.locator.ts
0 → 100644
View file @
6a181bea
import
type
{
Locator
,
Page
}
from
'
@playwright/test
'
;
import
{
BasicSharedLocators
}
from
'
./basic-shared.locator
'
;
/** 医院信息登记。选择器来自 locators/spd/basic-hospital-info.locator.yaml */
export
class
BasicHospitalInfoLocators
extends
BasicSharedLocators
{
readonly
editBtn
:
Locator
;
readonly
saveBtn
:
Locator
;
readonly
cancelBtn
:
Locator
;
readonly
linkman
:
Locator
;
readonly
contactWay
:
Locator
;
readonly
shortName
:
Locator
;
readonly
loginBgUpload
:
Locator
;
readonly
logoUpload
:
Locator
;
readonly
previewLink
:
Locator
;
constructor
(
page
:
Page
)
{
super
(
page
);
this
.
editBtn
=
page
.
getByRole
(
'
button
'
,
{
name
:
/编
\s
*辑/
});
this
.
saveBtn
=
page
.
getByRole
(
'
button
'
,
{
name
:
/保
\s
*存/
});
this
.
cancelBtn
=
page
.
getByRole
(
'
button
'
,
{
name
:
/取
\s
*消/
});
this
.
linkman
=
page
.
locator
(
'
#form_item_linkman
'
);
this
.
contactWay
=
page
.
locator
(
'
#form_item_contactWay
'
);
this
.
shortName
=
page
.
locator
(
'
#form_item_anotherName
'
);
this
.
loginBgUpload
=
page
.
locator
(
'
input[type="file"]
'
).
nth
(
0
);
this
.
logoUpload
=
page
.
locator
(
'
input[type="file"]
'
).
nth
(
1
);
this
.
previewLink
=
page
.
getByRole
(
'
link
'
,
{
name
:
'
预览文件
'
});
}
}
locators/spd/basic-hospital-info.locator.yaml
0 → 100644
View file @
6a181bea
# Auto-generated from basic-hospital-info-elements.json
# Source: http://spdtest.cmic.com.cn:8080/spd/basic/hospital/paltform/info
# Scanned: 2026-10-20T08:38:47.297Z
# Page: 基础设置 > 医院资料 > 医院信息登记
page
:
basic-hospital-info
module
:
spd-basic
url
:
http://spdtest.cmic.com.cn:8080/spd/basic/hospital/paltform/info
locators
:
# --- main::main ---
menu_home
:
description
:
"
首页"
element_type
:
li
section
:
"
main::main"
strategy
:
role
role
:
menuitem
name
:
"
首页"
playwright
:
"
page.getByRole('menuitem',
{
name:
'首页'
})"
menu_basicSetting
:
description
:
"
基础设置"
element_type
:
li
section
:
"
main::main"
strategy
:
role
role
:
menuitem
name
:
"
基础设置"
playwright
:
"
page.getByRole('menuitem',
{
name:
'基础设置'
})"
menu_purchase
:
description
:
"
采购管理"
element_type
:
li
section
:
"
main::main"
strategy
:
role
role
:
menuitem
name
:
"
采购管理"
playwright
:
"
page.getByRole('menuitem',
{
name:
'采购管理'
})"
menu_opening
:
description
:
"
期初管理"
element_type
:
li
section
:
"
main::main"
strategy
:
role
role
:
menuitem
name
:
"
期初管理"
playwright
:
"
page.getByRole('menuitem',
{
name:
'期初管理'
})"
menu_centerStock
:
description
:
"
中心库管理"
element_type
:
li
section
:
"
main::main"
strategy
:
role
role
:
menuitem
name
:
"
中心库管理"
playwright
:
"
page.getByRole('menuitem',
{
name:
'中心库管理'
})"
menu_deptBusiness
:
description
:
"
科室业务管理"
element_type
:
li
section
:
"
main::main"
strategy
:
role
role
:
menuitem
name
:
"
科室业务管理"
playwright
:
"
page.getByRole('menuitem',
{
name:
'科室业务管理'
})"
menu_finance
:
description
:
"
财务管理"
element_type
:
li
section
:
"
main::main"
strategy
:
role
role
:
menuitem
name
:
"
财务管理"
playwright
:
"
page.getByRole('menuitem',
{
name:
'财务管理'
})"
menu_orthoVolume
:
description
:
"
骨科带量"
element_type
:
li
section
:
"
main::main"
strategy
:
role
role
:
menuitem
name
:
"
骨科带量"
playwright
:
"
page.getByRole('menuitem',
{
name:
'骨科带量'
})"
menu_general
:
description
:
"
综合管理"
element_type
:
li
section
:
"
main::main"
strategy
:
role
role
:
menuitem
name
:
"
综合管理"
playwright
:
"
page.getByRole('menuitem',
{
name:
'综合管理'
})"
menu_yangcai
:
description
:
"
阳采管理"
element_type
:
li
section
:
"
main::main"
strategy
:
role
role
:
menuitem
name
:
"
阳采管理"
playwright
:
"
page.getByRole('menuitem',
{
name:
'阳采管理'
})"
menu_processCenter
:
description
:
"
流程中心"
element_type
:
li
section
:
"
main::main"
strategy
:
role
role
:
menuitem
name
:
"
流程中心"
playwright
:
"
page.getByRole('menuitem',
{
name:
'流程中心'
})"
menu_logistics
:
description
:
"
后勤物资管理"
element_type
:
li
section
:
"
main::main"
strategy
:
role
role
:
menuitem
name
:
"
后勤物资管理"
playwright
:
"
page.getByRole('menuitem',
{
name:
'后勤物资管理'
})"
menu_statReport
:
description
:
"
统计报表"
element_type
:
li
section
:
"
main::main"
strategy
:
role
role
:
menuitem
name
:
"
统计报表"
playwright
:
"
page.getByRole('menuitem',
{
name:
'统计报表'
})"
menu_dataViz
:
description
:
"
数据可视化"
element_type
:
li
section
:
"
main::main"
strategy
:
role
role
:
menuitem
name
:
"
数据可视化"
playwright
:
"
page.getByRole('menuitem',
{
name:
'数据可视化'
})"
menu_hospitalInfoRegister
:
description
:
"
医院信息登记"
element_type
:
li
section
:
"
main::main"
strategy
:
role
role
:
menuitem
name
:
"
医院信息登记"
playwright
:
"
page.getByRole('menuitem',
{
name:
'医院信息登记'
})"
menu_branchManage
:
description
:
"
院区管理"
element_type
:
li
section
:
"
main::main"
strategy
:
role
role
:
menuitem
name
:
"
院区管理"
playwright
:
"
page.getByRole('menuitem',
{
name:
'院区管理'
})"
menu_noticeManage
:
description
:
"
公告管理"
element_type
:
li
section
:
"
main::main"
strategy
:
role
role
:
menuitem
name
:
"
公告管理"
playwright
:
"
page.getByRole('menuitem',
{
name:
'公告管理'
})"
menu_financeMonthSetting
:
description
:
"
财务月份设置"
element_type
:
li
section
:
"
main::main"
strategy
:
role
role
:
menuitem
name
:
"
财务月份设置"
playwright
:
"
page.getByRole('menuitem',
{
name:
'财务月份设置'
})"
hospitalInfoRegister
:
description
:
"
医院信息登记"
element_type
:
tab
section
:
"
main::main"
strategy
:
text
value
:
"
医院信息登记"
playwright
:
"
page.getByText('医院信息登记')"
tab_hospitalInfoRegister
:
description
:
"
医院信息登记"
element_type
:
div
section
:
"
main::main"
strategy
:
id
value
:
"
rc-tabs-0-tab-/basic/hospital/paltform/info"
playwright
:
"
page.locator('#rc-tabs-0-tab-/basic/hospital/paltform/info')"
editBtn
:
description
:
"
编
辑"
element_type
:
button
section
:
"
main::main"
strategy
:
role
role
:
button
name
:
"
编
辑"
playwright
:
"
page.getByRole('button',
{
name:
'编
辑'
})"
el_e799bbe5bd95e9a1b5e8838ce699af
:
description
:
"
登录页背景"
element_type
:
a
section
:
"
main::main"
strategy
:
label_text
value
:
"
登录页背景"
playwright
:
"
page.getByText('登录页背景',
{
exact:
true
})"
el_e799bbe5bd95e9a1b5e8838ce699af_2
:
description
:
"
预览文件"
element_type
:
a
section
:
"
main::main"
strategy
:
label_text
value
:
"
登录页背景"
playwright
:
"
page.getByText('登录页背景',
{
exact:
true
})"
el_e58cbbe999a26c6f676f
:
description
:
"
医院logo"
element_type
:
a
section
:
"
main::main"
strategy
:
label_text
value
:
"
医院logo"
playwright
:
"
page.getByText('医院logo',
{
exact:
true
})"
el_e58cbbe999a26c6f676f_2
:
description
:
"
预览文件"
element_type
:
a
section
:
"
main::main"
strategy
:
label_text
value
:
"
医院logo"
playwright
:
"
page.getByText('医院logo',
{
exact:
true
})"
saveBtn
:
description
:
"
保
存"
element_type
:
button
section
:
"
main::main"
strategy
:
role
role
:
button
name
:
"
保
存"
playwright
:
"
page.getByRole('button',
{
name:
'保
存'
})"
cancelBtn
:
description
:
"
取
消"
element_type
:
button
section
:
"
main::main"
strategy
:
role
role
:
button
name
:
"
取
消"
playwright
:
"
page.getByRole('button',
{
name:
'取
消'
})"
el_e88194e7b3bbe4babaInput
:
description
:
"
20260701测试1"
element_type
:
text
section
:
"
main::main"
strategy
:
id
value
:
"
form_item_linkman"
playwright
:
"
page.locator('#form_item_linkman')"
el_e88194e7b3bbe696b9e5bc8fInput
:
description
:
"
10000000005"
element_type
:
text
section
:
"
main::main"
strategy
:
id
value
:
"
form_item_contactWay"
playwright
:
"
page.locator('#form_item_contactWay')"
el_e58cbbe999a2e7ae80e7a7b0Input
:
description
:
"
邹城市人民医院"
element_type
:
text
section
:
"
main::main"
strategy
:
id
value
:
"
form_item_anotherName"
playwright
:
"
page.locator('#form_item_anotherName')"
locators/spd/basic-notice.locator.ts
0 → 100644
View file @
6a181bea
import
type
{
Locator
,
Page
}
from
'
@playwright/test
'
;
import
{
BasicSharedLocators
}
from
'
./basic-shared.locator
'
;
/** 公告管理。选择器来自 locators/spd/basic-notice.locator.yaml */
export
class
BasicNoticeLocators
extends
BasicSharedLocators
{
readonly
noticeTitle
:
Locator
;
readonly
publishScopeSelect
:
Locator
;
readonly
searchBtn
:
Locator
;
readonly
resetBtn
:
Locator
;
readonly
addBtn
:
Locator
;
readonly
richTextEditor
:
Locator
;
readonly
modalTitleInput
:
Locator
;
constructor
(
page
:
Page
)
{
super
(
page
);
this
.
noticeTitle
=
page
.
locator
(
'
#form_item_title
'
);
this
.
publishScopeSelect
=
page
.
locator
(
'
.ant-form-item
'
).
filter
({
hasText
:
'
发布范围
'
}).
locator
(
'
.ant-select
'
).
first
();
this
.
searchBtn
=
page
.
getByRole
(
'
button
'
,
{
name
:
/查
\s
*询/
});
this
.
resetBtn
=
page
.
getByRole
(
'
button
'
,
{
name
:
/重
\s
*置/
});
this
.
addBtn
=
page
.
getByRole
(
'
button
'
,
{
name
:
/新
\s
*增/
});
this
.
richTextEditor
=
page
.
locator
(
'
.ql-editor
'
).
first
();
this
.
modalTitleInput
=
this
.
dialog
.
locator
(
'
#form_item_title
'
);
}
}
locators/spd/basic-notice.locator.yaml
0 → 100644
View file @
6a181bea
# Auto-generated from basic-notice-elements.json
# Source: http://spdtest.cmic.com.cn:8080/spd/basic/hospital/paltform/notice
# Scanned: 2026-10-20T08:38:11.083Z
# Page: 基础设置 > 医院资料 > 公告管理
# Note: filter dropdown was opened during scan
# Note: dialog/modal was opened during scan
# Note: edit dialog was opened during scan
page
:
basic-notice
module
:
spd-basic
url
:
http://spdtest.cmic.com.cn:8080/spd/basic/hospital/paltform/notice
locators
:
# --- main::main ---
menu_home
:
description
:
"
首页"
element_type
:
li
section
:
"
main::main"
strategy
:
role
role
:
menuitem
name
:
"
首页"
playwright
:
"
page.getByRole('menuitem',
{
name:
'首页'
})"
menu_basicSetting
:
description
:
"
基础设置"
element_type
:
li
section
:
"
main::main"
strategy
:
role
role
:
menuitem
name
:
"
基础设置"
playwright
:
"
page.getByRole('menuitem',
{
name:
'基础设置'
})"
menu_purchase
:
description
:
"
采购管理"
element_type
:
li
section
:
"
main::main"
strategy
:
role
role
:
menuitem
name
:
"
采购管理"
playwright
:
"
page.getByRole('menuitem',
{
name:
'采购管理'
})"
menu_opening
:
description
:
"
期初管理"
element_type
:
li
section
:
"
main::main"
strategy
:
role
role
:
menuitem
name
:
"
期初管理"
playwright
:
"
page.getByRole('menuitem',
{
name:
'期初管理'
})"
menu_centerStock
:
description
:
"
中心库管理"
element_type
:
li
section
:
"
main::main"
strategy
:
role
role
:
menuitem
name
:
"
中心库管理"
playwright
:
"
page.getByRole('menuitem',
{
name:
'中心库管理'
})"
menu_deptBusiness
:
description
:
"
科室业务管理"
element_type
:
li
section
:
"
main::main"
strategy
:
role
role
:
menuitem
name
:
"
科室业务管理"
playwright
:
"
page.getByRole('menuitem',
{
name:
'科室业务管理'
})"
menu_finance
:
description
:
"
财务管理"
element_type
:
li
section
:
"
main::main"
strategy
:
role
role
:
menuitem
name
:
"
财务管理"
playwright
:
"
page.getByRole('menuitem',
{
name:
'财务管理'
})"
menu_orthoVolume
:
description
:
"
骨科带量"
element_type
:
li
section
:
"
main::main"
strategy
:
role
role
:
menuitem
name
:
"
骨科带量"
playwright
:
"
page.getByRole('menuitem',
{
name:
'骨科带量'
})"
menu_general
:
description
:
"
综合管理"
element_type
:
li
section
:
"
main::main"
strategy
:
role
role
:
menuitem
name
:
"
综合管理"
playwright
:
"
page.getByRole('menuitem',
{
name:
'综合管理'
})"
menu_yangcai
:
description
:
"
阳采管理"
element_type
:
li
section
:
"
main::main"
strategy
:
role
role
:
menuitem
name
:
"
阳采管理"
playwright
:
"
page.getByRole('menuitem',
{
name:
'阳采管理'
})"
menu_processCenter
:
description
:
"
流程中心"
element_type
:
li
section
:
"
main::main"
strategy
:
role
role
:
menuitem
name
:
"
流程中心"
playwright
:
"
page.getByRole('menuitem',
{
name:
'流程中心'
})"
menu_logistics
:
description
:
"
后勤物资管理"
element_type
:
li
section
:
"
main::main"
strategy
:
role
role
:
menuitem
name
:
"
后勤物资管理"
playwright
:
"
page.getByRole('menuitem',
{
name:
'后勤物资管理'
})"
menu_statReport
:
description
:
"
统计报表"
element_type
:
li
section
:
"
main::main"
strategy
:
role
role
:
menuitem
name
:
"
统计报表"
playwright
:
"
page.getByRole('menuitem',
{
name:
'统计报表'
})"
menu_dataViz
:
description
:
"
数据可视化"
element_type
:
li
section
:
"
main::main"
strategy
:
role
role
:
menuitem
name
:
"
数据可视化"
playwright
:
"
page.getByRole('menuitem',
{
name:
'数据可视化'
})"
menu_hospitalInfoRegister
:
description
:
"
医院信息登记"
element_type
:
li
section
:
"
main::main"
strategy
:
role
role
:
menuitem
name
:
"
医院信息登记"
playwright
:
"
page.getByRole('menuitem',
{
name:
'医院信息登记'
})"
menu_branchManage
:
description
:
"
院区管理"
element_type
:
li
section
:
"
main::main"
strategy
:
role
role
:
menuitem
name
:
"
院区管理"
playwright
:
"
page.getByRole('menuitem',
{
name:
'院区管理'
})"
menu_noticeManage
:
description
:
"
公告管理"
element_type
:
li
section
:
"
main::main"
strategy
:
role
role
:
menuitem
name
:
"
公告管理"
playwright
:
"
page.getByRole('menuitem',
{
name:
'公告管理'
})"
menu_financeMonthSetting
:
description
:
"
财务月份设置"
element_type
:
li
section
:
"
main::main"
strategy
:
role
role
:
menuitem
name
:
"
财务月份设置"
playwright
:
"
page.getByRole('menuitem',
{
name:
'财务月份设置'
})"
noticeManage
:
description
:
"
公告管理"
element_type
:
tab
section
:
"
main::main"
strategy
:
text
value
:
"
公告管理"
playwright
:
"
page.getByText('公告管理')"
tab_noticeManage
:
description
:
"
公告管理"
element_type
:
div
section
:
"
main::main"
strategy
:
id
value
:
"
rc-tabs-0-tab-/basic/hospital/paltform/notice"
playwright
:
"
page.locator('#rc-tabs-0-tab-/basic/hospital/paltform/notice')"
noticeTitle
:
description
:
"
公告标题"
element_type
:
text
section
:
"
main::main"
strategy
:
id
value
:
"
form_item_title"
playwright
:
"
page.locator('#form_item_title')"
publishDateDateRange
:
description
:
"
发布日期"
element_type
:
datepicker
section
:
"
main::main"
strategy
:
label_text
value
:
"
发布日期"
playwright
:
"
page.getByText('发布日期',
{
exact:
true
})"
publishDateInput
:
description
:
"
开始日期"
element_type
:
text
section
:
"
main::main"
strategy
:
id
value
:
"
form_item_date"
playwright
:
"
page.locator('#form_item_date')"
publishDateInput_2
:
description
:
"
结束日期"
element_type
:
text
section
:
"
main::main"
strategy
:
placeholder
value
:
"
结束日期"
playwright
:
"
page.getByPlaceholder('结束日期')"
publishScopeSelect
:
description
:
"
发布范围"
element_type
:
select
section
:
"
main::main"
strategy
:
label_text
value
:
"
发布范围"
playwright
:
"
page.getByText('发布范围',
{
exact:
true
})"
searchBtn
:
description
:
"
查
询"
element_type
:
button
section
:
"
main::main"
strategy
:
role
role
:
button
name
:
"
查
询"
playwright
:
"
page.getByRole('button',
{
name:
'查
询'
})"
resetBtn
:
description
:
"
重
置"
element_type
:
button
section
:
"
main::main"
strategy
:
role
role
:
button
name
:
"
重
置"
playwright
:
"
page.getByRole('button',
{
name:
'重
置'
})"
addBtn
:
description
:
"
新
增"
element_type
:
button
section
:
"
main::main"
strategy
:
role
role
:
button
name
:
"
新
增"
playwright
:
"
page.getByRole('button',
{
name:
'新
增'
})"
tableDensity
:
description
:
"
column-height"
element_type
:
span
section
:
"
main::main"
strategy
:
label
value
:
"
column-height"
playwright
:
"
page.getByLabel('column-height')"
editBtn
:
description
:
"
编辑"
element_type
:
button
section
:
"
main::main"
strategy
:
role
role
:
button
name
:
"
编辑"
playwright
:
"
page.getByRole('button',
{
name:
'编辑'
})"
el_e588a0e999a4Btn
:
description
:
"
删除"
element_type
:
button
section
:
"
main::main"
strategy
:
role
role
:
button
name
:
"
删除"
playwright
:
"
page.getByRole('button',
{
name:
'删除'
})"
# --- main::pagination ---
pagination_el_e585b13635e69da131323530e69da12fe9a1b5e8b7b3e887b3e9a1b5
:
description
:
"
共
65
条1250
条/页跳至页"
element_type
:
ul
section
:
"
main::pagination"
strategy
:
text
value
:
"
共
65
条1250
条/页跳至页"
playwright
:
"
page.getByText('共
65
条1250
条/页跳至页')"
pagination_prevPageBtn
:
description
:
"
上一页"
element_type
:
li
section
:
"
main::pagination"
strategy
:
text
value
:
"
上一页"
playwright
:
"
page.getByText('上一页')"
pagination_page_1
:
description
:
"
1"
element_type
:
pagination_item
section
:
"
main::pagination"
strategy
:
css
value
:
"
.ant-pagination-item-active"
playwright
:
"
page.locator('.ant-pagination-item-active')"
pagination_page_2
:
description
:
"
2"
element_type
:
pagination_item
section
:
"
main::pagination"
strategy
:
text
value
:
"
2"
playwright
:
"
page.getByText('2')"
pagination_nextPageBtn
:
description
:
"
下一页"
element_type
:
li
section
:
"
main::pagination"
strategy
:
text
value
:
"
下一页"
playwright
:
"
page.getByText('下一页')"
pagination_pageSizeSelect
:
description
:
"
50
条/页"
element_type
:
select
section
:
"
main::pagination"
strategy
:
text
value
:
"
50
条/页"
playwright
:
"
page.getByText('50
条/页')"
# --- main::modal:新增公告 ---
noticeTitle_2
:
description
:
"
请输入"
element_type
:
text
section
:
"
main::modal:新增公告"
strategy
:
id
value
:
"
form_item_title"
playwright
:
"
page.locator('#form_item_title')"
el_e585a8e983a8
:
description
:
"
全部"
element_type
:
radio
section
:
"
main::modal:新增公告"
strategy
:
text
value
:
"
全部"
playwright
:
"
page.getByText('全部')"
el_e585a8e999a2
:
description
:
"
全院"
element_type
:
radio
section
:
"
main::modal:新增公告"
strategy
:
text
value
:
"
全院"
playwright
:
"
page.getByText('全院')"
el_e4b8ade5bf83e5ba93
:
description
:
"
中心库"
element_type
:
radio
section
:
"
main::modal:新增公告"
strategy
:
text
value
:
"
中心库"
playwright
:
"
page.getByText('中心库')"
el_e99480e594aee59586
:
description
:
"
销售商"
element_type
:
radio
section
:
"
main::modal:新增公告"
strategy
:
text
value
:
"
销售商"
playwright
:
"
page.getByText('销售商')"
el_e698af
:
description
:
"
是"
element_type
:
radio
section
:
"
main::modal:新增公告"
strategy
:
text
value
:
"
是"
playwright
:
"
page.getByText('是')"
el_e590a6
:
description
:
"
否"
element_type
:
radio
section
:
"
main::modal:新增公告"
strategy
:
text
value
:
"
否"
playwright
:
"
page.getByText('否')"
expireDateDateRange
:
description
:
"
截止日期"
element_type
:
datepicker
section
:
"
main::modal:新增公告"
strategy
:
label_text
value
:
"
截止日期"
playwright
:
"
page.getByText('截止日期',
{
exact:
true
})"
expireDate
:
description
:
"
请选择日期"
element_type
:
text
section
:
"
main::modal:新增公告"
strategy
:
id
value
:
"
form_item_expireDate"
playwright
:
"
page.locator('#form_item_expireDate')"
contentBtn
:
description
:
"
内容"
element_type
:
button
section
:
"
main::modal:新增公告"
strategy
:
label_text
value
:
"
内容"
playwright
:
"
page.getByText('内容',
{
exact:
true
})"
content
:
description
:
"
内容"
element_type
:
span
section
:
"
main::modal:新增公告"
strategy
:
role
role
:
button
name
:
"
内容"
playwright
:
"
page.getByRole('button',
{
name:
'内容'
})"
content_2
:
description
:
"
内容"
element_type
:
div
section
:
"
main::modal:新增公告"
strategy
:
label_text
value
:
"
内容"
playwright
:
"
page.getByText('内容',
{
exact:
true
})"
cancelBtn
:
description
:
"
取
消"
element_type
:
button
section
:
"
main::modal:新增公告"
strategy
:
role
role
:
button
name
:
"
取
消"
playwright
:
"
page.getByRole('button',
{
name:
'取
消'
})"
el_e58f91e5b883Btn
:
description
:
"
发
布"
element_type
:
button
section
:
"
main::modal:新增公告"
strategy
:
role
role
:
button
name
:
"
发
布"
playwright
:
"
page.getByRole('button',
{
name:
'发
布'
})"
# --- main::modal ---
confirmBtn
:
description
:
"
确
定"
element_type
:
button
section
:
"
main::modal"
strategy
:
role
role
:
button
name
:
"
确
定"
playwright
:
"
page.getByRole('button',
{
name:
'确
定'
})"
# --- main::modal:编辑公告 ---
noticeTitle_3
:
description
:
"
请输入"
element_type
:
text
section
:
"
main::modal:编辑公告"
strategy
:
id
value
:
"
form_item_title"
playwright
:
"
page.locator('#form_item_title')"
el_e585a8e983a8_2
:
description
:
"
全部"
element_type
:
radio
section
:
"
main::modal:编辑公告"
strategy
:
text
value
:
"
全部"
playwright
:
"
page.getByText('全部')"
el_e585a8e999a2_2
:
description
:
"
全院"
element_type
:
radio
section
:
"
main::modal:编辑公告"
strategy
:
text
value
:
"
全院"
playwright
:
"
page.getByText('全院')"
el_e4b8ade5bf83e5ba93_2
:
description
:
"
中心库"
element_type
:
radio
section
:
"
main::modal:编辑公告"
strategy
:
text
value
:
"
中心库"
playwright
:
"
page.getByText('中心库')"
el_e99480e594aee59586_2
:
description
:
"
销售商"
element_type
:
radio
section
:
"
main::modal:编辑公告"
strategy
:
text
value
:
"
销售商"
playwright
:
"
page.getByText('销售商')"
el_e698af_2
:
description
:
"
是"
element_type
:
radio
section
:
"
main::modal:编辑公告"
strategy
:
text
value
:
"
是"
playwright
:
"
page.getByText('是')"
el_e590a6_2
:
description
:
"
否"
element_type
:
radio
section
:
"
main::modal:编辑公告"
strategy
:
text
value
:
"
否"
playwright
:
"
page.getByText('否')"
expireDateDateRange_2
:
description
:
"
截止日期"
element_type
:
datepicker
section
:
"
main::modal:编辑公告"
strategy
:
label_text
value
:
"
截止日期"
playwright
:
"
page.getByText('截止日期',
{
exact:
true
})"
expireDate_2
:
description
:
"
2026-10-20"
element_type
:
text
section
:
"
main::modal:编辑公告"
strategy
:
id
value
:
"
form_item_expireDate"
playwright
:
"
page.locator('#form_item_expireDate')"
content_3
:
description
:
"
内容"
element_type
:
span
section
:
"
main::modal:编辑公告"
strategy
:
role
role
:
button
name
:
"
内容"
playwright
:
"
page.getByRole('button',
{
name:
'内容'
})"
content_4
:
description
:
"
存在与平台价格不一致的产品,请注意执行调价!"
element_type
:
div
section
:
"
main::modal:编辑公告"
strategy
:
label_text
value
:
"
内容"
playwright
:
"
page.getByText('内容',
{
exact:
true
})"
locators/spd/basic-role.locator.ts
0 → 100644
View file @
6a181bea
import
type
{
Locator
,
Page
}
from
'
@playwright/test
'
;
import
{
BasicUserSharedLocators
}
from
'
./basic-user-shared.locator
'
;
/** 角色管理。选择器来自 locators/spd/basic-role.locator.yaml */
export
class
BasicRoleLocators
extends
BasicUserSharedLocators
{
readonly
saveBtn
:
Locator
;
readonly
refreshBtn
:
Locator
;
readonly
addRoleBtn
:
Locator
;
readonly
roleSearch
:
Locator
;
readonly
roleTree
:
Locator
;
constructor
(
page
:
Page
)
{
super
(
page
);
this
.
saveBtn
=
page
.
getByRole
(
'
button
'
,
{
name
:
/保
\s
*存/
});
this
.
refreshBtn
=
page
.
getByRole
(
'
button
'
,
{
name
:
/刷
\s
*新/
});
this
.
addRoleBtn
=
page
.
getByRole
(
'
button
'
,
{
name
:
/^角
\s
*色$/
});
this
.
roleSearch
=
page
.
getByPlaceholder
(
/角色/
)
.
or
(
page
.
locator
(
'
.ant-layout-sider input, .ant-layout-sider .ant-input
'
))
.
first
();
this
.
roleTree
=
page
.
locator
(
'
.menu-role-tree
'
).
first
();
}
treeNode
(
title
:
string
):
Locator
{
return
this
.
roleTree
.
locator
(
'
.ant-tree-title
'
).
filter
({
hasText
:
new
RegExp
(
`^\\s*
${
title
}
\\s*$`
)
});
}
treeCheckbox
(
title
:
string
):
Locator
{
return
this
.
roleTree
.
locator
(
'
.ant-tree-treenode
'
)
.
filter
({
has
:
this
.
page
.
locator
(
'
.ant-tree-title
'
).
filter
({
hasText
:
new
RegExp
(
`^\\s*
${
title
}
\\s*$`
)
})
})
.
locator
(
'
.ant-tree-checkbox
'
)
.
first
();
}
}
locators/spd/basic-role.locator.yaml
0 → 100644
View file @
6a181bea
# Auto-generated from basic-role-elements.json
# Source: http://spdtest.cmic.com.cn:8080/spd/basic/user/platform/role
# Scanned: 2026-10-20T08:31:14.084Z
# Page: 基础设置 > 用户管理 > 角色管理
page
:
basic-role
module
:
spd-basic
url
:
http://spdtest.cmic.com.cn:8080/spd/basic/user/platform/role
locators
:
# --- main::main ---
menu_home
:
description
:
"
首页"
element_type
:
li
section
:
"
main::main"
strategy
:
role
role
:
menuitem
name
:
"
首页"
playwright
:
"
page.getByRole('menuitem',
{
name:
'首页'
})"
menu_basicSetting
:
description
:
"
基础设置"
element_type
:
li
section
:
"
main::main"
strategy
:
role
role
:
menuitem
name
:
"
基础设置"
playwright
:
"
page.getByRole('menuitem',
{
name:
'基础设置'
})"
menu_purchase
:
description
:
"
采购管理"
element_type
:
li
section
:
"
main::main"
strategy
:
role
role
:
menuitem
name
:
"
采购管理"
playwright
:
"
page.getByRole('menuitem',
{
name:
'采购管理'
})"
menu_opening
:
description
:
"
期初管理"
element_type
:
li
section
:
"
main::main"
strategy
:
role
role
:
menuitem
name
:
"
期初管理"
playwright
:
"
page.getByRole('menuitem',
{
name:
'期初管理'
})"
menu_centerStock
:
description
:
"
中心库管理"
element_type
:
li
section
:
"
main::main"
strategy
:
role
role
:
menuitem
name
:
"
中心库管理"
playwright
:
"
page.getByRole('menuitem',
{
name:
'中心库管理'
})"
menu_deptBusiness
:
description
:
"
科室业务管理"
element_type
:
li
section
:
"
main::main"
strategy
:
role
role
:
menuitem
name
:
"
科室业务管理"
playwright
:
"
page.getByRole('menuitem',
{
name:
'科室业务管理'
})"
menu_finance
:
description
:
"
财务管理"
element_type
:
li
section
:
"
main::main"
strategy
:
role
role
:
menuitem
name
:
"
财务管理"
playwright
:
"
page.getByRole('menuitem',
{
name:
'财务管理'
})"
menu_orthoVolume
:
description
:
"
骨科带量"
element_type
:
li
section
:
"
main::main"
strategy
:
role
role
:
menuitem
name
:
"
骨科带量"
playwright
:
"
page.getByRole('menuitem',
{
name:
'骨科带量'
})"
menu_general
:
description
:
"
综合管理"
element_type
:
li
section
:
"
main::main"
strategy
:
role
role
:
menuitem
name
:
"
综合管理"
playwright
:
"
page.getByRole('menuitem',
{
name:
'综合管理'
})"
menu_yangcai
:
description
:
"
阳采管理"
element_type
:
li
section
:
"
main::main"
strategy
:
role
role
:
menuitem
name
:
"
阳采管理"
playwright
:
"
page.getByRole('menuitem',
{
name:
'阳采管理'
})"
menu_processCenter
:
description
:
"
流程中心"
element_type
:
li
section
:
"
main::main"
strategy
:
role
role
:
menuitem
name
:
"
流程中心"
playwright
:
"
page.getByRole('menuitem',
{
name:
'流程中心'
})"
menu_logistics
:
description
:
"
后勤物资管理"
element_type
:
li
section
:
"
main::main"
strategy
:
role
role
:
menuitem
name
:
"
后勤物资管理"
playwright
:
"
page.getByRole('menuitem',
{
name:
'后勤物资管理'
})"
menu_statReport
:
description
:
"
统计报表"
element_type
:
li
section
:
"
main::main"
strategy
:
role
role
:
menuitem
name
:
"
统计报表"
playwright
:
"
page.getByRole('menuitem',
{
name:
'统计报表'
})"
menu_dataViz
:
description
:
"
数据可视化"
element_type
:
li
section
:
"
main::main"
strategy
:
role
role
:
menuitem
name
:
"
数据可视化"
playwright
:
"
page.getByRole('menuitem',
{
name:
'数据可视化'
})"
menu_roleManage
:
description
:
"
角色管理"
element_type
:
li
section
:
"
main::main"
strategy
:
role
role
:
menuitem
name
:
"
角色管理"
playwright
:
"
page.getByRole('menuitem',
{
name:
'角色管理'
})"
menu_userManage
:
description
:
"
用户管理"
element_type
:
li
section
:
"
main::main"
strategy
:
role
role
:
menuitem
name
:
"
用户管理"
playwright
:
"
page.getByRole('menuitem',
{
name:
'用户管理'
})"
menu_unionUserManage
:
description
:
"
医共体用户管理"
element_type
:
li
section
:
"
main::main"
strategy
:
role
role
:
menuitem
name
:
"
医共体用户管理"
playwright
:
"
page.getByRole('menuitem',
{
name:
'医共体用户管理'
})"
roleManage
:
description
:
"
角色管理"
element_type
:
tab
section
:
"
main::main"
strategy
:
text
value
:
"
角色管理"
playwright
:
"
page.getByText('角色管理')"
tab_roleManage
:
description
:
"
角色管理"
element_type
:
div
section
:
"
main::main"
strategy
:
id
value
:
"
rc-tabs-0-tab-/basic/user/platform/role"
playwright
:
"
page.locator('#rc-tabs-0-tab-/basic/user/platform/role')"
el_e8a792e889b2Btn
:
description
:
"
角色"
element_type
:
button
section
:
"
main::main"
strategy
:
role
role
:
button
name
:
"
角色"
playwright
:
"
page.getByRole('button',
{
name:
'角色'
})"
saveBtn
:
description
:
"
保
存"
element_type
:
button
section
:
"
main::main"
strategy
:
role
role
:
button
name
:
"
保
存"
playwright
:
"
page.getByRole('button',
{
name:
'保
存'
})"
el_e588b7e696b0Btn
:
description
:
"
刷
新"
element_type
:
button
section
:
"
main::main"
strategy
:
role
role
:
button
name
:
"
刷
新"
playwright
:
"
page.getByRole('button',
{
name:
'刷
新'
})"
el_535044e58685e7bd91e7b3bbe7bb9f5043e7abaf
:
description
:
"
SPD内网系统PC端"
element_type
:
checkbox
section
:
"
main::main"
strategy
:
text
value
:
"
SPD内网系统PC端"
playwright
:
"
page.getByText('SPD内网系统PC端')"
tree_node_basicSetting_e59fbae7a180
:
description
:
"
基础设置"
element_type
:
tree_title
section
:
"
main::main"
strategy
:
tree_node
value
:
"
基础设置"
tree
:
"
.menu-role-tree"
playwright
:
"
page.locator('.menu-role-tree
.ant-tree-title').filter({
hasText:
/^
\\
s*基础设置
\\
s*$/
})"
tree_node_hospitalInfo_e58cbbe999a2
:
description
:
"
医院资料"
element_type
:
tree_title
section
:
"
main::main"
strategy
:
tree_node
value
:
"
医院资料"
tree
:
"
.menu-role-tree"
playwright
:
"
page.locator('.menu-role-tree
.ant-tree-title').filter({
hasText:
/^
\\
s*医院资料
\\
s*$/
})"
tree_node_hospitalInfoRegister_e58cbbe999a2
:
description
:
"
医院信息登记"
element_type
:
tree_title
section
:
"
main::main"
strategy
:
tree_node
value
:
"
医院信息登记"
tree
:
"
.menu-role-tree"
playwright
:
"
page.locator('.menu-role-tree
.ant-tree-title').filter({
hasText:
/^
\\
s*医院信息登记
\\
s*$/
})"
tree_node_branchManage_e999a2e58cba
:
description
:
"
院区管理"
element_type
:
tree_title
section
:
"
main::main"
strategy
:
tree_node
value
:
"
院区管理"
tree
:
"
.menu-role-tree"
playwright
:
"
page.locator('.menu-role-tree
.ant-tree-title').filter({
hasText:
/^
\\
s*院区管理
\\
s*$/
})"
tree_node_noticeManage_e585ace5918a
:
description
:
"
公告管理"
element_type
:
tree_title
section
:
"
main::main"
strategy
:
tree_node
value
:
"
公告管理"
tree
:
"
.menu-role-tree"
playwright
:
"
page.locator('.menu-role-tree
.ant-tree-title').filter({
hasText:
/^
\\
s*公告管理
\\
s*$/
})"
tree_node_financeMonthSetting_e8b4a2e58aa1
:
description
:
"
财务月份设置"
element_type
:
tree_title
section
:
"
main::main"
strategy
:
tree_node
value
:
"
财务月份设置"
tree
:
"
.menu-role-tree"
playwright
:
"
page.locator('.menu-role-tree
.ant-tree-title').filter({
hasText:
/^
\\
s*财务月份设置
\\
s*$/
})"
tree_node_e8bf90e7bbb4
:
description
:
"
运维管理"
element_type
:
tree_title
section
:
"
main::main"
strategy
:
tree_node
value
:
"
运维管理"
tree
:
"
.menu-role-tree"
playwright
:
"
page.locator('.menu-role-tree
.ant-tree-title').filter({
hasText:
/^
\\
s*运维管理
\\
s*$/
})"
tree_node_e88f9ce58d95
:
description
:
"
菜单控制规则设置"
element_type
:
tree_title
section
:
"
main::main"
strategy
:
tree_node
value
:
"
菜单控制规则设置"
tree
:
"
.menu-role-tree"
playwright
:
"
page.locator('.menu-role-tree
.ant-tree-title').filter({
hasText:
/^
\\
s*菜单控制规则设置
\\
s*$/
})"
tree_node_e58cbbe999a2
:
description
:
"
医院配置"
element_type
:
tree_title
section
:
"
main::main"
strategy
:
tree_node
value
:
"
医院配置"
tree
:
"
.menu-role-tree"
playwright
:
"
page.locator('.menu-role-tree
.ant-tree-title').filter({
hasText:
/^
\\
s*医院配置
\\
s*$/
})"
tree_el_e88f9ce58d95e58f97e68ea7e58897e8a1a8_2
:
description
:
"
菜单受控列表"
element_type
:
tree_title
section
:
"
main::main"
strategy
:
tree_node
value
:
"
菜单受控列表"
tree
:
"
.menu-role-tree"
playwright
:
"
page.locator('.menu-role-tree
.ant-tree-title').filter({
hasText:
/^
\\
s*菜单受控列表
\\
s*$/
})"
tree_node_e999a2e58cba
:
description
:
"
院区配置"
element_type
:
tree_title
section
:
"
main::main"
strategy
:
tree_node
value
:
"
院区配置"
tree
:
"
.menu-role-tree"
playwright
:
"
page.locator('.menu-role-tree
.ant-tree-title').filter({
hasText:
/^
\\
s*院区配置
\\
s*$/
})"
tree_node_e7a791e5aea4
:
description
:
"
科室配置"
element_type
:
tree_title
section
:
"
main::main"
strategy
:
tree_node
value
:
"
科室配置"
tree
:
"
.menu-role-tree"
playwright
:
"
page.locator('.menu-role-tree
.ant-tree-title').filter({
hasText:
/^
\\
s*科室配置
\\
s*$/
})"
tree_node_e69cafe8afad
:
description
:
"
术语配置"
element_type
:
tree_title
section
:
"
main::main"
strategy
:
tree_node
value
:
"
术语配置"
tree
:
"
.menu-role-tree"
playwright
:
"
page.locator('.menu-role-tree
.ant-tree-title').filter({
hasText:
/^
\\
s*术语配置
\\
s*$/
})"
tree_node_e8b584e6ba90
:
description
:
"
资源模板设置"
element_type
:
tree_title
section
:
"
main::main"
strategy
:
tree_node
value
:
"
资源模板设置"
tree
:
"
.menu-role-tree"
playwright
:
"
page.locator('.menu-role-tree
.ant-tree-title').filter({
hasText:
/^
\\
s*资源模板设置
\\
s*$/
})"
tree_node_e5ad97e585b8
:
description
:
"
字典管理"
element_type
:
tree_title
section
:
"
main::main"
strategy
:
tree_node
value
:
"
字典管理"
tree
:
"
.menu-role-tree"
playwright
:
"
page.locator('.menu-role-tree
.ant-tree-title').filter({
hasText:
/^
\\
s*字典管理
\\
s*$/
})"
tree_node_e68993e58db0
:
description
:
"
打印机配置"
element_type
:
tree_title
section
:
"
main::main"
strategy
:
tree_node
value
:
"
打印机配置"
tree
:
"
.menu-role-tree"
playwright
:
"
page.locator('.menu-role-tree
.ant-tree-title').filter({
hasText:
/^
\\
s*打印机配置
\\
s*$/
})"
tree_node_e7bc96e7a081
:
description
:
"
编码规则管理"
element_type
:
tree_title
section
:
"
main::main"
strategy
:
tree_node
value
:
"
编码规则管理"
tree
:
"
.menu-role-tree"
playwright
:
"
page.locator('.menu-role-tree
.ant-tree-title').filter({
hasText:
/^
\\
s*编码规则管理
\\
s*$/
})"
tree_node_504441e68e88
:
description
:
"
PDA授权"
element_type
:
tree_title
section
:
"
main::main"
strategy
:
tree_node
value
:
"
PDA授权"
tree
:
"
.menu-role-tree"
playwright
:
"
page.locator('.menu-role-tree
.ant-tree-title').filter({
hasText:
/^
\\
s*PDA授权
\\
s*$/
})"
tree_node_504441e78988
:
description
:
"
PDA版本管理"
element_type
:
tree_title
section
:
"
main::main"
strategy
:
tree_node
value
:
"
PDA版本管理"
tree
:
"
.menu-role-tree"
playwright
:
"
page.locator('.menu-role-tree
.ant-tree-title').filter({
hasText:
/^
\\
s*PDA版本管理
\\
s*$/
})"
tree_node_e7bc93e5ad98
:
description
:
"
缓存监控"
element_type
:
tree_title
section
:
"
main::main"
strategy
:
tree_node
value
:
"
缓存监控"
tree
:
"
.menu-role-tree"
playwright
:
"
page.locator('.menu-role-tree
.ant-tree-title').filter({
hasText:
/^
\\
s*缓存监控
\\
s*$/
})"
tree_node_e6938de4bd9c
:
description
:
"
操作日志"
element_type
:
tree_title
section
:
"
main::main"
strategy
:
tree_node
value
:
"
操作日志"
tree
:
"
.menu-role-tree"
playwright
:
"
page.locator('.menu-role-tree
.ant-tree-title').filter({
hasText:
/^
\\
s*操作日志
\\
s*$/
})"
tree_node_e6b688e681af
:
description
:
"
消息通知模板"
element_type
:
tree_title
section
:
"
main::main"
strategy
:
tree_node
value
:
"
消息通知模板"
tree
:
"
.menu-role-tree"
playwright
:
"
page.locator('.menu-role-tree
.ant-tree-title').filter({
hasText:
/^
\\
s*消息通知模板
\\
s*$/
})"
tree_el_e6b688e681afe9809ae79fa5e8aebee7bdae_2
:
description
:
"
消息通知设置"
element_type
:
tree_title
section
:
"
main::main"
strategy
:
tree_node
value
:
"
消息通知设置"
tree
:
"
.menu-role-tree"
playwright
:
"
page.locator('.menu-role-tree
.ant-tree-title').filter({
hasText:
/^
\\
s*消息通知设置
\\
s*$/
})"
tree_node_e58a9fe883bd
:
description
:
"
功能注册"
element_type
:
tree_title
section
:
"
main::main"
strategy
:
tree_node
value
:
"
功能注册"
tree
:
"
.menu-role-tree"
playwright
:
"
page.locator('.menu-role-tree
.ant-tree-title').filter({
hasText:
/^
\\
s*功能注册
\\
s*$/
})"
tree_node_e4bbbbe58aa1
:
description
:
"
任务执行记录查询"
element_type
:
tree_title
section
:
"
main::main"
strategy
:
tree_node
value
:
"
任务执行记录查询"
tree
:
"
.menu-role-tree"
playwright
:
"
page.locator('.menu-role-tree
.ant-tree-title').filter({
hasText:
/^
\\
s*任务执行记录查询
\\
s*$/
})"
tree_node_vendorManage_e58e82e59586
:
description
:
"
厂商管理"
element_type
:
tree_title
section
:
"
main::main"
strategy
:
tree_node
value
:
"
厂商管理"
tree
:
"
.menu-role-tree"
playwright
:
"
page.locator('.menu-role-tree
.ant-tree-title').filter({
hasText:
/^
\\
s*厂商管理
\\
s*$/
})"
tree_node_vendorQuery_e58e82e59586
:
description
:
"
厂商查询"
element_type
:
tree_title
section
:
"
main::main"
strategy
:
tree_node
value
:
"
厂商查询"
tree
:
"
.menu-role-tree"
playwright
:
"
page.locator('.menu-role-tree
.ant-tree-title').filter({
hasText:
/^
\\
s*厂商查询
\\
s*$/
})"
tree_node_vendorQual_e4be9be5ba94
:
description
:
"
供应商资质管理"
element_type
:
tree_title
section
:
"
main::main"
strategy
:
tree_node
value
:
"
供应商资质管理"
tree
:
"
.menu-role-tree"
playwright
:
"
page.locator('.menu-role-tree
.ant-tree-title').filter({
hasText:
/^
\\
s*供应商资质管理
\\
s*$/
})"
tree_node_authFirst_e68e88e69d83
:
description
:
"
授权变更初审"
element_type
:
tree_title
section
:
"
main::main"
strategy
:
tree_node
value
:
"
授权变更初审"
tree
:
"
.menu-role-tree"
playwright
:
"
page.locator('.menu-role-tree
.ant-tree-title').filter({
hasText:
/^
\\
s*授权变更初审
\\
s*$/
})"
tree_node_certFirst_e6b3a8e5868c
:
description
:
"
注册证变更初审"
element_type
:
tree_title
section
:
"
main::main"
strategy
:
tree_node
value
:
"
注册证变更初审"
tree
:
"
.menu-role-tree"
playwright
:
"
page.locator('.menu-role-tree
.ant-tree-title').filter({
hasText:
/^
\\
s*注册证变更初审
\\
s*$/
})"
tree_node_certFinal_e6b3a8e5868c
:
description
:
"
注册证变更终审"
element_type
:
tree_title
section
:
"
main::main"
strategy
:
tree_node
value
:
"
注册证变更终审"
tree
:
"
.menu-role-tree"
playwright
:
"
page.locator('.menu-role-tree
.ant-tree-title').filter({
hasText:
/^
\\
s*注册证变更终审
\\
s*$/
})"
tree_node_authFinal_e68e88e69d83
:
description
:
"
授权变更终审"
element_type
:
tree_title
section
:
"
main::main"
strategy
:
tree_node
value
:
"
授权变更终审"
tree
:
"
.menu-role-tree"
playwright
:
"
page.locator('.menu-role-tree
.ant-tree-title').filter({
hasText:
/^
\\
s*授权变更终审
\\
s*$/
})"
tree_node_certDiff_e6b3a8e5868c
:
description
:
"
注册证差异对比"
element_type
:
tree_title
section
:
"
main::main"
strategy
:
tree_node
value
:
"
注册证差异对比"
tree
:
"
.menu-role-tree"
playwright
:
"
page.locator('.menu-role-tree
.ant-tree-title').filter({
hasText:
/^
\\
s*注册证差异对比
\\
s*$/
})"
tree_node_evalScheme_e8af84e4bbb7
:
description
:
"
评价方案维护"
element_type
:
tree_title
section
:
"
main::main"
strategy
:
tree_node
value
:
"
评价方案维护"
tree
:
"
.menu-role-tree"
playwright
:
"
page.locator('.menu-role-tree
.ant-tree-title').filter({
hasText:
/^
\\
s*评价方案维护
\\
s*$/
})"
tree_node_evalIndicator_e8af84e4bbb7
:
description
:
"
评价指标维护"
element_type
:
tree_title
section
:
"
main::main"
strategy
:
tree_node
value
:
"
评价指标维护"
tree
:
"
.menu-role-tree"
playwright
:
"
page.locator('.menu-role-tree
.ant-tree-title').filter({
hasText:
/^
\\
s*评价指标维护
\\
s*$/
})"
tree_node_vendorHoliday_e4be9be5ba94
:
description
:
"
供应商节假日管理"
element_type
:
tree_title
section
:
"
main::main"
strategy
:
tree_node
value
:
"
供应商节假日管理"
tree
:
"
.menu-role-tree"
playwright
:
"
page.locator('.menu-role-tree
.ant-tree-title').filter({
hasText:
/^
\\
s*供应商节假日管理
\\
s*$/
})"
tree_node_e4baa7e59381
:
description
:
"
产品管理"
element_type
:
tree_title
section
:
"
main::main"
strategy
:
tree_node
value
:
"
产品管理"
tree
:
"
.menu-role-tree"
playwright
:
"
page.locator('.menu-role-tree
.ant-tree-title').filter({
hasText:
/^
\\
s*产品管理
\\
s*$/
})"
tree_el_e4baa7e59381e6a0b8e5afb9e9878de696b0e58f91e8b5b7_2
:
description
:
"
产品核对重新发起"
element_type
:
tree_title
section
:
"
main::main"
strategy
:
tree_node
value
:
"
产品核对重新发起"
tree
:
"
.menu-role-tree"
playwright
:
"
page.locator('.menu-role-tree
.ant-tree-title').filter({
hasText:
/^
\\
s*产品核对重新发起
\\
s*$/
})"
tree_el_e4baa7e59381e7bbb4e68aa4_2
:
description
:
"
产品维护"
element_type
:
tree_title
section
:
"
main::main"
strategy
:
tree_node
value
:
"
产品维护"
tree
:
"
.menu-role-tree"
playwright
:
"
page.locator('.menu-role-tree
.ant-tree-title').filter({
hasText:
/^
\\
s*产品维护
\\
s*$/
})"
tree_node_e789a9e69699
:
description
:
"
物料信息管理"
element_type
:
tree_title
section
:
"
main::main"
strategy
:
tree_node
value
:
"
物料信息管理"
tree
:
"
.menu-role-tree"
playwright
:
"
page.locator('.menu-role-tree
.ant-tree-title').filter({
hasText:
/^
\\
s*物料信息管理
\\
s*$/
})"
tree_el_e4baa7e59381e5889de5aea1e6a0b8e5afb9_2
:
description
:
"
产品初审核对"
element_type
:
tree_title
section
:
"
main::main"
strategy
:
tree_node
value
:
"
产品初审核对"
tree
:
"
.menu-role-tree"
playwright
:
"
page.locator('.menu-role-tree
.ant-tree-title').filter({
hasText:
/^
\\
s*产品初审核对
\\
s*$/
})"
tree_el_e4baa7e59381e4be9be5ba94e585b3e7b3bbe7bbb4e68aa4_2
:
description
:
"
产品供应关系维护"
element_type
:
tree_title
section
:
"
main::main"
strategy
:
tree_node
value
:
"
产品供应关系维护"
tree
:
"
.menu-role-tree"
playwright
:
"
page.locator('.menu-role-tree
.ant-tree-title').filter({
hasText:
/^
\\
s*产品供应关系维护
\\
s*$/
})"
tree_el_e4baa7e59381e789a9e4bbb7e6a0b8e5afb9_2
:
description
:
"
产品物价核对"
element_type
:
tree_title
section
:
"
main::main"
strategy
:
tree_node
value
:
"
产品物价核对"
tree
:
"
.menu-role-tree"
playwright
:
"
page.locator('.menu-role-tree
.ant-tree-title').filter({
hasText:
/^
\\
s*产品物价核对
\\
s*$/
})"
tree_el_e999a2e58cbae4baa7e59381e8aebee7bdae_2
:
description
:
"
院区产品设置"
element_type
:
tree_title
section
:
"
main::main"
strategy
:
tree_node
value
:
"
院区产品设置"
tree
:
"
.menu-role-tree"
playwright
:
"
page.locator('.menu-role-tree
.ant-tree-title').filter({
hasText:
/^
\\
s*院区产品设置
\\
s*$/
})"
tree_el_e999a2e58cbae58d95e58583e58c85e8aebee7bdae_2
:
description
:
"
院区单元包设置"
element_type
:
tree_title
section
:
"
main::main"
strategy
:
tree_node
value
:
"
院区单元包设置"
tree
:
"
.menu-role-tree"
playwright
:
"
page.locator('.menu-role-tree
.ant-tree-title').filter({
hasText:
/^
\\
s*院区单元包设置
\\
s*$/
})"
tree_node_e4b8ade5bf83
:
description
:
"
中心库上下限建议(AI)"
element_type
:
tree_title
section
:
"
main::main"
strategy
:
tree_node
value
:
"
中心库上下限建议(AI)"
tree
:
"
.menu-role-tree"
playwright
:
"
page.locator('.menu-role-tree
.ant-tree-title').filter({
hasText:
/^
\\
s*中心库上下限建议(AI)
\\
s*$/
})"
tree_node_e8afb7e9a286
:
description
:
"
请领出库渠道设置"
element_type
:
tree_title
section
:
"
main::main"
strategy
:
tree_node
value
:
"
请领出库渠道设置"
tree
:
"
.menu-role-tree"
playwright
:
"
page.locator('.menu-role-tree
.ant-tree-title').filter({
hasText:
/^
\\
s*请领出库渠道设置
\\
s*$/
})"
tree_el_e4b8ade5bf83e5ba93e4b88ae4b88be99990e5bbbae8aeae_2
:
description
:
"
中心库上下限建议"
element_type
:
tree_title
section
:
"
main::main"
strategy
:
tree_node
value
:
"
中心库上下限建议"
tree
:
"
.menu-role-tree"
playwright
:
"
page.locator('.menu-role-tree
.ant-tree-title').filter({
hasText:
/^
\\
s*中心库上下限建议
\\
s*$/
})"
tree_node_e7bb93e7ae97
:
description
:
"
结算点设置"
element_type
:
tree_title
section
:
"
main::main"
strategy
:
tree_node
value
:
"
结算点设置"
tree
:
"
.menu-role-tree"
playwright
:
"
page.locator('.menu-role-tree
.ant-tree-title').filter({
hasText:
/^
\\
s*结算点设置
\\
s*$/
})"
tree_node_e8b083e4bbb7
:
description
:
"
调价管理"
element_type
:
tree_title
section
:
"
main::main"
strategy
:
tree_node
value
:
"
调价管理"
tree
:
"
.menu-role-tree"
playwright
:
"
page.locator('.menu-role-tree
.ant-tree-title').filter({
hasText:
/^
\\
s*调价管理
\\
s*$/
})"
tree_el_e4baa7e59381e4bfa1e681afe58f98e69bb4_2
:
description
:
"
产品信息变更"
element_type
:
tree_title
section
:
"
main::main"
strategy
:
tree_node
value
:
"
产品信息变更"
tree
:
"
.menu-role-tree"
playwright
:
"
page.locator('.menu-role-tree
.ant-tree-title').filter({
hasText:
/^
\\
s*产品信息变更
\\
s*$/
})"
tree_node_e58f98e69bb4
:
description
:
"
变更单明细查询"
element_type
:
tree_title
section
:
"
main::main"
strategy
:
tree_node
value
:
"
变更单明细查询"
tree
:
"
.menu-role-tree"
playwright
:
"
page.locator('.menu-role-tree
.ant-tree-title').filter({
hasText:
/^
\\
s*变更单明细查询
\\
s*$/
})"
tree_node_e5a496e59bb4
:
description
:
"
外围系统产品新增"
element_type
:
tree_title
section
:
"
main::main"
strategy
:
tree_node
value
:
"
外围系统产品新增"
tree
:
"
.menu-role-tree"
playwright
:
"
page.locator('.menu-role-tree
.ant-tree-title').filter({
hasText:
/^
\\
s*外围系统产品新增
\\
s*$/
})"
tree_el_e5a496e59bb4e7b3bbe7bb9fe4baa7e59381e58f98e69bb4e7aea1e79086_2
:
description
:
"
外围系统产品变更管理"
element_type
:
tree_title
section
:
"
main::main"
strategy
:
tree_node
value
:
"
外围系统产品变更管理"
tree
:
"
.menu-role-tree"
playwright
:
"
page.locator('.menu-role-tree
.ant-tree-title').filter({
hasText:
/^
\\
s*外围系统产品变更管理
\\
s*$/
})"
tree_el_e4baa7e593814449e69fa5e8afa2_2
:
description
:
"
产品DI查询"
element_type
:
tree_title
section
:
"
main::main"
strategy
:
tree_node
value
:
"
产品DI查询"
tree
:
"
.menu-role-tree"
playwright
:
"
page.locator('.menu-role-tree
.ant-tree-title').filter({
hasText:
/^
\\
s*产品DI查询
\\
s*$/
})"
tree_node_e7bcbae8b4a7
:
description
:
"
缺货目录维护"
element_type
:
tree_title
section
:
"
main::main"
strategy
:
tree_node
value
:
"
缺货目录维护"
tree
:
"
.menu-role-tree"
playwright
:
"
page.locator('.menu-role-tree
.ant-tree-title').filter({
hasText:
/^
\\
s*缺货目录维护
\\
s*$/
})"
tree_el_e4b8ade5bf83e5ba93e5ba93e58cbae4baa7e59381e8aebee7bdae_2
:
description
:
"
中心库库区产品设置"
element_type
:
tree_title
section
:
"
main::main"
strategy
:
tree_node
value
:
"
中心库库区产品设置"
tree
:
"
.menu-role-tree"
playwright
:
"
page.locator('.menu-role-tree
.ant-tree-title').filter({
hasText:
/^
\\
s*中心库库区产品设置
\\
s*$/
})"
tree_el_e7bcbae8b4a7e79baee5bd95e6988ee7bb86_2
:
description
:
"
缺货目录明细"
element_type
:
tree_title
section
:
"
main::main"
strategy
:
tree_node
value
:
"
缺货目录明细"
tree
:
"
.menu-role-tree"
playwright
:
"
page.locator('.menu-role-tree
.ant-tree-title').filter({
hasText:
/^
\\
s*缺货目录明细
\\
s*$/
})"
tree_el_e789a9e69699e4bfa1e681afe58f98e69bb4_2
:
description
:
"
物料信息变更"
element_type
:
tree_title
section
:
"
main::main"
strategy
:
tree_node
value
:
"
物料信息变更"
tree
:
"
.menu-role-tree"
playwright
:
"
page.locator('.menu-role-tree
.ant-tree-title').filter({
hasText:
/^
\\
s*物料信息变更
\\
s*$/
})"
tree_el_e4baa7e593814449e58f98e69bb4_2
:
description
:
"
产品DI变更"
element_type
:
tree_title
section
:
"
main::main"
strategy
:
tree_node
value
:
"
产品DI变更"
tree
:
"
.menu-role-tree"
playwright
:
"
page.locator('.menu-role-tree
.ant-tree-title').filter({
hasText:
/^
\\
s*产品DI变更
\\
s*$/
})"
tree_el_e4baa7e59381e8b584e8b4a8e9bd90e585a8e8a784e58899_2
:
description
:
"
产品资质齐全规则"
element_type
:
tree_title
section
:
"
main::main"
strategy
:
tree_node
value
:
"
产品资质齐全规则"
tree
:
"
.menu-role-tree"
playwright
:
"
page.locator('.menu-role-tree
.ant-tree-title').filter({
hasText:
/^
\\
s*产品资质齐全规则
\\
s*$/
})"
tree_el_e4baa7e59381e8b584e8b4a8e4b880e8a788_2
:
description
:
"
产品资质一览"
element_type
:
tree_title
section
:
"
main::main"
strategy
:
tree_node
value
:
"
产品资质一览"
tree
:
"
.menu-role-tree"
playwright
:
"
page.locator('.menu-role-tree
.ant-tree-title').filter({
hasText:
/^
\\
s*产品资质一览
\\
s*$/
})"
tree_el_e789a9e69699e58f98e69bb4e58d95e6988ee7bb86e69fa5e8afa2_2
:
description
:
"
物料变更单明细查询"
element_type
:
tree_title
section
:
"
main::main"
strategy
:
tree_node
value
:
"
物料变更单明细查询"
tree
:
"
.menu-role-tree"
playwright
:
"
page.locator('.menu-role-tree
.ant-tree-title').filter({
hasText:
/^
\\
s*物料变更单明细查询
\\
s*$/
})"
tree_el_e7a791e5aea4e7aea1e79086_2
:
description
:
"
科室管理"
element_type
:
tree_title
section
:
"
main::main"
strategy
:
tree_node
value
:
"
科室管理"
tree
:
"
.menu-role-tree"
playwright
:
"
page.locator('.menu-role-tree
.ant-tree-title').filter({
hasText:
/^
\\
s*科室管理
\\
s*$/
})"
tree_el_e7a791e5aea4e799bbe8aeb0_2
:
description
:
"
科室登记"
element_type
:
tree_title
section
:
"
main::main"
strategy
:
tree_node
value
:
"
科室登记"
tree
:
"
.menu-role-tree"
playwright
:
"
page.locator('.menu-role-tree
.ant-tree-title').filter({
hasText:
/^
\\
s*科室登记
\\
s*$/
})"
tree_el_e7a791e5aea4e4baa7e59381e58886e9858d_2
:
description
:
"
科室产品分配"
element_type
:
tree_title
section
:
"
main::main"
strategy
:
tree_node
value
:
"
科室产品分配"
tree
:
"
.menu-role-tree"
playwright
:
"
page.locator('.menu-role-tree
.ant-tree-title').filter({
hasText:
/^
\\
s*科室产品分配
\\
s*$/
})"
tree_el_e7a791e5aea4e5ba93e58cbae4baa7e59381e8aebee7bdae_2
:
description
:
"
科室库区产品设置"
element_type
:
tree_title
section
:
"
main::main"
strategy
:
tree_node
value
:
"
科室库区产品设置"
tree
:
"
.menu-role-tree"
playwright
:
"
page.locator('.menu-role-tree
.ant-tree-title').filter({
hasText:
/^
\\
s*科室库区产品设置
\\
s*$/
})"
tree_el_e7a791e5aea4e8b79fe58fb0e99990e9a29de4bbbbe58aa1_2
:
description
:
"
科室跟台限额任务"
element_type
:
tree_title
section
:
"
main::main"
strategy
:
tree_node
value
:
"
科室跟台限额任务"
tree
:
"
.menu-role-tree"
playwright
:
"
page.locator('.menu-role-tree
.ant-tree-title').filter({
hasText:
/^
\\
s*科室跟台限额任务
\\
s*$/
})"
tree_el_e8afb7e9a286e6a8a1e69dbfe7bbb4e68aa4_2
:
description
:
"
请领模板维护"
element_type
:
tree_title
section
:
"
main::main"
strategy
:
tree_node
value
:
"
请领模板维护"
tree
:
"
.menu-role-tree"
playwright
:
"
page.locator('.menu-role-tree
.ant-tree-title').filter({
hasText:
/^
\\
s*请领模板维护
\\
s*$/
})"
tree_node_e887aae58aa8
:
description
:
"
自动请领排程"
element_type
:
tree_title
section
:
"
main::main"
strategy
:
tree_node
value
:
"
自动请领排程"
tree
:
"
.menu-role-tree"
playwright
:
"
page.locator('.menu-role-tree
.ant-tree-title').filter({
hasText:
/^
\\
s*自动请领排程
\\
s*$/
})"
tree_el_e7a791e5aea4e4babae59198e69fa5e8afa2_2
:
description
:
"
科室人员查询"
element_type
:
tree_title
section
:
"
main::main"
strategy
:
tree_node
value
:
"
科室人员查询"
tree
:
"
.menu-role-tree"
playwright
:
"
page.locator('.menu-role-tree
.ant-tree-title').filter({
hasText:
/^
\\
s*科室人员查询
\\
s*$/
})"
tree_el_e7a791e5aea4e4b88ae4b88be99990e5bbbae8aeae_2
:
description
:
"
科室上下限建议"
element_type
:
tree_title
section
:
"
main::main"
strategy
:
tree_node
value
:
"
科室上下限建议"
tree
:
"
.menu-role-tree"
playwright
:
"
page.locator('.menu-role-tree
.ant-tree-title').filter({
hasText:
/^
\\
s*科室上下限建议
\\
s*$/
})"
tree_el_e7a791e5aea4e4b88ae4b88be99990e5bbbae8aeaeefbc884149efbc89_2
:
description
:
"
科室上下限建议(AI)"
element_type
:
tree_title
section
:
"
main::main"
strategy
:
tree_node
value
:
"
科室上下限建议(AI)"
tree
:
"
.menu-role-tree"
playwright
:
"
page.locator('.menu-role-tree
.ant-tree-title').filter({
hasText:
/^
\\
s*科室上下限建议(AI)
\\
s*$/
})"
tree_el_e7a791e5aea4e9a284e7ae97e7aea1e79086_2
:
description
:
"
科室预算管理"
element_type
:
tree_title
section
:
"
main::main"
strategy
:
tree_node
value
:
"
科室预算管理"
tree
:
"
.menu-role-tree"
playwright
:
"
page.locator('.menu-role-tree
.ant-tree-title').filter({
hasText:
/^
\\
s*科室预算管理
\\
s*$/
})"
tree_node_e6a380e9aa8c
:
description
:
"
检验机器管理"
element_type
:
tree_title
section
:
"
main::main"
strategy
:
tree_node
value
:
"
检验机器管理"
tree
:
"
.menu-role-tree"
playwright
:
"
page.locator('.menu-role-tree
.ant-tree-title').filter({
hasText:
/^
\\
s*检验机器管理
\\
s*$/
})"
tree_el_e7a791e5aea4e98081e8b4a7e8aea1e58892_2
:
description
:
"
科室送货计划"
element_type
:
tree_title
section
:
"
main::main"
strategy
:
tree_node
value
:
"
科室送货计划"
tree
:
"
.menu-role-tree"
playwright
:
"
page.locator('.menu-role-tree
.ant-tree-title').filter({
hasText:
/^
\\
s*科室送货计划
\\
s*$/
})"
tree_el_e7a791e5aea4e58886e7b1bbe7bbb4e68aa4_2
:
description
:
"
科室分类维护"
element_type
:
tree_title
section
:
"
main::main"
strategy
:
tree_node
value
:
"
科室分类维护"
tree
:
"
.menu-role-tree"
playwright
:
"
page.locator('.menu-role-tree
.ant-tree-title').filter({
hasText:
/^
\\
s*科室分类维护
\\
s*$/
})"
tree_el_e7a791e5aea4e4baa7e593814149e9a284e6b58be7bb93e8aeba_2
:
description
:
"
科室产品AI预测结论"
element_type
:
tree_title
section
:
"
main::main"
strategy
:
tree_node
value
:
"
科室产品AI预测结论"
tree
:
"
.menu-role-tree"
playwright
:
"
page.locator('.menu-role-tree
.ant-tree-title').filter({
hasText:
/^
\\
s*科室产品AI预测结论
\\
s*$/
})"
tree_node_e5ba93e688bf
:
description
:
"
库房管理"
element_type
:
tree_title
section
:
"
main::main"
strategy
:
tree_node
value
:
"
库房管理"
tree
:
"
.menu-role-tree"
playwright
:
"
page.locator('.menu-role-tree
.ant-tree-title').filter({
hasText:
/^
\\
s*库房管理
\\
s*$/
})"
tree_node_e5ba93e58cba
:
description
:
"
库区设置"
element_type
:
tree_title
section
:
"
main::main"
strategy
:
tree_node
value
:
"
库区设置"
tree
:
"
.menu-role-tree"
playwright
:
"
page.locator('.menu-role-tree
.ant-tree-title').filter({
hasText:
/^
\\
s*库区设置
\\
s*$/
})"
tree_node_e68ea2e99288
:
description
:
"
探针绑定"
element_type
:
tree_title
section
:
"
main::main"
strategy
:
tree_node
value
:
"
探针绑定"
tree
:
"
.menu-role-tree"
playwright
:
"
page.locator('.menu-role-tree
.ant-tree-title').filter({
hasText:
/^
\\
s*探针绑定
\\
s*$/
})"
tree_node_e58d8ee6b885
:
description
:
"
华清通道"
element_type
:
tree_title
section
:
"
main::main"
strategy
:
tree_node
value
:
"
华清通道"
tree
:
"
.menu-role-tree"
playwright
:
"
page.locator('.menu-role-tree
.ant-tree-title').filter({
hasText:
/^
\\
s*华清通道
\\
s*$/
})"
tree_node_userManage_e794a8e688b7
:
description
:
"
用户管理"
element_type
:
tree_title
section
:
"
main::main"
strategy
:
tree_node
value
:
"
用户管理"
tree
:
"
.menu-role-tree"
playwright
:
"
page.locator('.menu-role-tree
.ant-tree-title').filter({
hasText:
/^
\\
s*用户管理
\\
s*$/
})"
tree_node_roleManage_e8a792e889b2
:
description
:
"
角色管理"
element_type
:
tree_title
section
:
"
main::main"
strategy
:
tree_node
value
:
"
角色管理"
tree
:
"
.menu-role-tree"
playwright
:
"
page.locator('.menu-role-tree
.ant-tree-title').filter({
hasText:
/^
\\
s*角色管理
\\
s*$/
})"
tree_userManage_2
:
description
:
"
用户管理"
element_type
:
tree_title
section
:
"
main::main"
strategy
:
tree_node
value
:
"
用户管理"
tree
:
"
.menu-role-tree"
playwright
:
"
page.locator('.menu-role-tree
.ant-tree-title').filter({
hasText:
/^
\\
s*用户管理
\\
s*$/
})"
tree_node_unionUserManage_e58cbbe585b1
:
description
:
"
医共体用户管理"
element_type
:
tree_title
section
:
"
main::main"
strategy
:
tree_node
value
:
"
医共体用户管理"
tree
:
"
.menu-role-tree"
playwright
:
"
page.locator('.menu-role-tree
.ant-tree-title').filter({
hasText:
/^
\\
s*医共体用户管理
\\
s*$/
})"
tree_node_e6b581e7a88b
:
description
:
"
流程设置"
element_type
:
tree_title
section
:
"
main::main"
strategy
:
tree_node
value
:
"
流程设置"
tree
:
"
.menu-role-tree"
playwright
:
"
page.locator('.menu-role-tree
.ant-tree-title').filter({
hasText:
/^
\\
s*流程设置
\\
s*$/
})"
tree_node_e5aea1e689b9
:
description
:
"
审批流程设置"
element_type
:
tree_title
section
:
"
main::main"
strategy
:
tree_node
value
:
"
审批流程设置"
tree
:
"
.menu-role-tree"
playwright
:
"
page.locator('.menu-role-tree
.ant-tree-title').filter({
hasText:
/^
\\
s*审批流程设置
\\
s*$/
})"
tree_el_e5aea1e689b9e6b581e5ae9ee4be8b_2
:
description
:
"
审批流实例"
element_type
:
tree_title
section
:
"
main::main"
strategy
:
tree_node
value
:
"
审批流实例"
tree
:
"
.menu-role-tree"
playwright
:
"
page.locator('.menu-role-tree
.ant-tree-title').filter({
hasText:
/^
\\
s*审批流实例
\\
s*$/
})"
tree_node_e68ea5e58fa3
:
description
:
"
接口管理"
element_type
:
tree_title
section
:
"
main::main"
strategy
:
tree_node
value
:
"
接口管理"
tree
:
"
.menu-role-tree"
playwright
:
"
page.locator('.menu-role-tree
.ant-tree-title').filter({
hasText:
/^
\\
s*接口管理
\\
s*$/
})"
tree_el_e68ea5e58fa3e697a5e5bf97_2
:
description
:
"
接口日志"
element_type
:
tree_title
section
:
"
main::main"
strategy
:
tree_node
value
:
"
接口日志"
tree
:
"
.menu-role-tree"
playwright
:
"
page.locator('.menu-role-tree
.ant-tree-title').filter({
hasText:
/^
\\
s*接口日志
\\
s*$/
})"
tree_node_e68ea8e98081
:
description
:
"
推送物价"
element_type
:
tree_title
section
:
"
main::main"
strategy
:
tree_node
value
:
"
推送物价"
tree
:
"
.menu-role-tree"
playwright
:
"
page.locator('.menu-role-tree
.ant-tree-title').filter({
hasText:
/^
\\
s*推送物价
\\
s*$/
})"
tree_node_e694b6e8b4b9
:
description
:
"
收费项目对码"
element_type
:
tree_title
section
:
"
main::main"
strategy
:
tree_node
value
:
"
收费项目对码"
tree
:
"
.menu-role-tree"
playwright
:
"
page.locator('.menu-role-tree
.ant-tree-title').filter({
hasText:
/^
\\
s*收费项目对码
\\
s*$/
})"
tree_el_e5a496e59bb4e4baa7e59381e58f98e69bb4_2
:
description
:
"
外围产品变更"
element_type
:
tree_title
section
:
"
main::main"
strategy
:
tree_node
value
:
"
外围产品变更"
tree
:
"
.menu-role-tree"
playwright
:
"
page.locator('.menu-role-tree
.ant-tree-title').filter({
hasText:
/^
\\
s*外围产品变更
\\
s*$/
})"
tree_node_484953e4bbb7
:
description
:
"
HIS价对照查询"
element_type
:
tree_title
section
:
"
main::main"
strategy
:
tree_node
value
:
"
HIS价对照查询"
tree
:
"
.menu-role-tree"
playwright
:
"
page.locator('.menu-role-tree
.ant-tree-title').filter({
hasText:
/^
\\
s*HIS价对照查询
\\
s*$/
})"
tree_node_e5a496e983a8
:
description
:
"
外部变更明细信息查询"
element_type
:
tree_title
section
:
"
main::main"
strategy
:
tree_node
value
:
"
外部变更明细信息查询"
tree
:
"
.menu-role-tree"
playwright
:
"
page.locator('.menu-role-tree
.ant-tree-title').filter({
hasText:
/^
\\
s*外部变更明细信息查询
\\
s*$/
})"
tree_node_e58cbbe4bf9d
:
description
:
"
医保信息核对"
element_type
:
tree_title
section
:
"
main::main"
strategy
:
tree_node
value
:
"
医保信息核对"
tree
:
"
.menu-role-tree"
playwright
:
"
page.locator('.menu-role-tree
.ant-tree-title').filter({
hasText:
/^
\\
s*医保信息核对
\\
s*$/
})"
tree_node_e58e82e59586
:
description
:
"
厂商对码"
element_type
:
tree_title
section
:
"
main::main"
strategy
:
tree_node
value
:
"
厂商对码"
tree
:
"
.menu-role-tree"
playwright
:
"
page.locator('.menu-role-tree
.ant-tree-title').filter({
hasText:
/^
\\
s*厂商对码
\\
s*$/
})"
tree_node_e4bba3e4b8ba
:
description
:
"
代为科室请领(已确认)"
element_type
:
tree_title
section
:
"
main::main"
strategy
:
tree_node
value
:
"
代为科室请领(已确认)"
tree
:
"
.menu-role-tree"
playwright
:
"
page.locator('.menu-role-tree
.ant-tree-title').filter({
hasText:
/^
\\
s*代为科室请领(已确认)
\\
s*$/
})"
tree_node_e4bba3e4ba8c
:
description
:
"
代二级科室请领产品"
element_type
:
tree_title
section
:
"
main::main"
strategy
:
tree_node
value
:
"
代二级科室请领产品"
tree
:
"
.menu-role-tree"
playwright
:
"
page.locator('.menu-role-tree
.ant-tree-title').filter({
hasText:
/^
\\
s*代二级科室请领产品
\\
s*$/
})"
tree_node_484953e4baa7
:
description
:
"
HIS产品信息变更"
element_type
:
tree_title
section
:
"
main::main"
strategy
:
tree_node
value
:
"
HIS产品信息变更"
tree
:
"
.menu-role-tree"
playwright
:
"
page.locator('.menu-role-tree
.ant-tree-title').filter({
hasText:
/^
\\
s*HIS产品信息变更
\\
s*$/
})"
tree_node_484953e7a791
:
description
:
"
HIS科室查询"
element_type
:
tree_title
section
:
"
main::main"
strategy
:
tree_node
value
:
"
HIS科室查询"
tree
:
"
.menu-role-tree"
playwright
:
"
page.locator('.menu-role-tree
.ant-tree-title').filter({
hasText:
/^
\\
s*HIS科室查询
\\
s*$/
})"
tree_node_484953e4baba
:
description
:
"
HIS人员查询"
element_type
:
tree_title
section
:
"
main::main"
strategy
:
tree_node
value
:
"
HIS人员查询"
tree
:
"
.menu-role-tree"
playwright
:
"
page.locator('.menu-role-tree
.ant-tree-title').filter({
hasText:
/^
\\
s*HIS人员查询
\\
s*$/
})"
tree_node_484953e694b6
:
description
:
"
HIS收费项与产品对照关系查询"
element_type
:
tree_title
section
:
"
main::main"
strategy
:
tree_node
value
:
"
HIS收费项与产品对照关系查询"
tree
:
"
.menu-role-tree"
playwright
:
"
page.locator('.menu-role-tree
.ant-tree-title').filter({
hasText:
/^
\\
s*HIS收费项与产品对照关系查询
\\
s*$/
})"
tree_el_e999a2e58cbae5afb9e7a081_2
:
description
:
"
院区对码"
element_type
:
tree_title
section
:
"
main::main"
strategy
:
tree_node
value
:
"
院区对码"
tree
:
"
.menu-role-tree"
playwright
:
"
page.locator('.menu-role-tree
.ant-tree-title').filter({
hasText:
/^
\\
s*院区对码
\\
s*$/
})"
tree_el_e999a2e58cbae5afb9e7a081_3
:
description
:
"
院区对码"
element_type
:
tree_title
section
:
"
main::main"
strategy
:
tree_node
value
:
"
院区对码"
tree
:
"
.menu-role-tree"
playwright
:
"
page.locator('.menu-role-tree
.ant-tree-title').filter({
hasText:
/^
\\
s*院区对码
\\
s*$/
})"
tree_el_e999a2e58cbae5afb9e7a081_4
:
description
:
"
院区对码"
element_type
:
tree_title
section
:
"
main::main"
strategy
:
tree_node
value
:
"
院区对码"
tree
:
"
.menu-role-tree"
playwright
:
"
page.locator('.menu-role-tree
.ant-tree-title').filter({
hasText:
/^
\\
s*院区对码
\\
s*$/
})"
tree_node_e4bd8ee580bc
:
description
:
"
低值计费接口查询"
element_type
:
tree_title
section
:
"
main::main"
strategy
:
tree_node
value
:
"
低值计费接口查询"
tree
:
"
.menu-role-tree"
playwright
:
"
page.locator('.menu-role-tree
.ant-tree-title').filter({
hasText:
/^
\\
s*低值计费接口查询
\\
s*$/
})"
tree_node_e699bae883bd
:
description
:
"
智能柜与库区对码"
element_type
:
tree_title
section
:
"
main::main"
strategy
:
tree_node
value
:
"
智能柜与库区对码"
tree
:
"
.menu-role-tree"
playwright
:
"
page.locator('.menu-role-tree
.ant-tree-title').filter({
hasText:
/^
\\
s*智能柜与库区对码
\\
s*$/
})"
tree_node_e789a9e8b584
:
description
:
"
物资字典推送记录"
element_type
:
tree_title
section
:
"
main::main"
strategy
:
tree_node
value
:
"
物资字典推送记录"
tree
:
"
.menu-role-tree"
playwright
:
"
page.locator('.menu-role-tree
.ant-tree-title').filter({
hasText:
/^
\\
s*物资字典推送记录
\\
s*$/
})"
tree_node_e5b9b3e58fb0
:
description
:
"
平台产品价格差异查询"
element_type
:
tree_title
section
:
"
main::main"
strategy
:
tree_node
value
:
"
平台产品价格差异查询"
tree
:
"
.menu-role-tree"
playwright
:
"
page.locator('.menu-role-tree
.ant-tree-title').filter({
hasText:
/^
\\
s*平台产品价格差异查询
\\
s*$/
})"
tree_el_e8afb7e9a286e58d95e68ea5e58fa3e69fa5e8afa2_2
:
description
:
"
请领单接口查询"
element_type
:
tree_title
section
:
"
main::main"
strategy
:
tree_node
value
:
"
请领单接口查询"
tree
:
"
.menu-role-tree"
playwright
:
"
page.locator('.menu-role-tree
.ant-tree-title').filter({
hasText:
/^
\\
s*请领单接口查询
\\
s*$/
})"
tree_node_surgerySetting_e6898be69caf
:
description
:
"
手术套包设置"
element_type
:
tree_title
section
:
"
main::main"
strategy
:
tree_node
value
:
"
手术套包设置"
tree
:
"
.menu-role-tree"
playwright
:
"
page.locator('.menu-role-tree
.ant-tree-title').filter({
hasText:
/^
\\
s*手术套包设置
\\
s*$/
})"
tree_node_basePkgMaintenance_e59fbae7a180
:
description
:
"
基础包维护"
element_type
:
tree_title
section
:
"
main::main"
strategy
:
tree_node
value
:
"
基础包维护"
tree
:
"
.menu-role-tree"
playwright
:
"
page.locator('.menu-role-tree
.ant-tree-title').filter({
hasText:
/^
\\
s*基础包维护
\\
s*$/
})"
tree_node_operTypeMaintenance_e69cafe7a78d
:
description
:
"
术种维护"
element_type
:
tree_title
section
:
"
main::main"
strategy
:
tree_node
value
:
"
术种维护"
tree
:
"
.menu-role-tree"
playwright
:
"
page.locator('.menu-role-tree
.ant-tree-title').filter({
hasText:
/^
\\
s*术种维护
\\
s*$/
})"
tree_node_stdPkgMaintenance_e6a087e58786
:
description
:
"
标准套包维护"
element_type
:
tree_title
section
:
"
main::main"
strategy
:
tree_node
value
:
"
标准套包维护"
tree
:
"
.menu-role-tree"
playwright
:
"
page.locator('.menu-role-tree
.ant-tree-title').filter({
hasText:
/^
\\
s*标准套包维护
\\
s*$/
})"
tree_node_admitManage_e58786e585a5
:
description
:
"
准入管理"
element_type
:
tree_title
section
:
"
main::main"
strategy
:
tree_node
value
:
"
准入管理"
tree
:
"
.menu-role-tree"
playwright
:
"
page.locator('.menu-role-tree
.ant-tree-title').filter({
hasText:
/^
\\
s*准入管理
\\
s*$/
})"
tree_node_admitMaterial_e789a9e69699
:
description
:
"
物料准入管理"
element_type
:
tree_title
section
:
"
main::main"
strategy
:
tree_node
value
:
"
物料准入管理"
tree
:
"
.menu-role-tree"
playwright
:
"
page.locator('.menu-role-tree
.ant-tree-title').filter({
hasText:
/^
\\
s*物料准入管理
\\
s*$/
})"
tree_node_admitProductApply_e4baa7e59381
:
description
:
"
产品准入申请"
element_type
:
tree_title
section
:
"
main::main"
strategy
:
tree_node
value
:
"
产品准入申请"
tree
:
"
.menu-role-tree"
playwright
:
"
page.locator('.menu-role-tree
.ant-tree-title').filter({
hasText:
/^
\\
s*产品准入申请
\\
s*$/
})"
tree_node_admitMaterialList_e789a9e69699
:
description
:
"
物料准入单列表"
element_type
:
tree_title
section
:
"
main::main"
strategy
:
tree_node
value
:
"
物料准入单列表"
tree
:
"
.menu-role-tree"
playwright
:
"
page.locator('.menu-role-tree
.ant-tree-title').filter({
hasText:
/^
\\
s*物料准入单列表
\\
s*$/
})"
tree_node_admitProductList_e4baa7e59381
:
description
:
"
产品准入单列表"
element_type
:
tree_title
section
:
"
main::main"
strategy
:
tree_node
value
:
"
产品准入单列表"
tree
:
"
.menu-role-tree"
playwright
:
"
page.locator('.menu-role-tree
.ant-tree-title').filter({
hasText:
/^
\\
s*产品准入单列表
\\
s*$/
})"
tree_node_admitSupply_e4be9be8b4a7
:
description
:
"
供货目录申请"
element_type
:
tree_title
section
:
"
main::main"
strategy
:
tree_node
value
:
"
供货目录申请"
tree
:
"
.menu-role-tree"
playwright
:
"
page.locator('.menu-role-tree
.ant-tree-title').filter({
hasText:
/^
\\
s*供货目录申请
\\
s*$/
})"
tree_node_admitTask_e58786e585a5
:
description
:
"
准入任务分配"
element_type
:
tree_title
section
:
"
main::main"
strategy
:
tree_node
value
:
"
准入任务分配"
tree
:
"
.menu-role-tree"
playwright
:
"
page.locator('.menu-role-tree
.ant-tree-title').filter({
hasText:
/^
\\
s*准入任务分配
\\
s*$/
})"
tree_node_purchase_e98787e8b4ad
:
description
:
"
采购管理"
element_type
:
tree_title
section
:
"
main::main"
strategy
:
tree_node
value
:
"
采购管理"
tree
:
"
.menu-role-tree"
playwright
:
"
page.locator('.menu-role-tree
.ant-tree-title').filter({
hasText:
/^
\\
s*采购管理
\\
s*$/
})"
tree_node_e98787e8b4ad
:
description
:
"
采购计划"
element_type
:
tree_title
section
:
"
main::main"
strategy
:
tree_node
value
:
"
采购计划"
tree
:
"
.menu-role-tree"
playwright
:
"
page.locator('.menu-role-tree
.ant-tree-title').filter({
hasText:
/^
\\
s*采购计划
\\
s*$/
})"
tree_node_e99990e9878f
:
description
:
"
限量任务"
element_type
:
tree_title
section
:
"
main::main"
strategy
:
tree_node
value
:
"
限量任务"
tree
:
"
.menu-role-tree"
playwright
:
"
page.locator('.menu-role-tree
.ant-tree-title').filter({
hasText:
/^
\\
s*限量任务
\\
s*$/
})"
tree_el_e98787e8b4ade58d95e7aea1e79086_2
:
description
:
"
采购单管理"
element_type
:
tree_title
section
:
"
main::main"
strategy
:
tree_node
value
:
"
采购单管理"
tree
:
"
.menu-role-tree"
playwright
:
"
page.locator('.menu-role-tree
.ant-tree-title').filter({
hasText:
/^
\\
s*采购单管理
\\
s*$/
})"
tree_el_e98787e8b4ade8aea1e58892e6988ee7bb86_2
:
description
:
"
采购计划明细"
element_type
:
tree_title
section
:
"
main::main"
strategy
:
tree_node
value
:
"
采购计划明细"
tree
:
"
.menu-role-tree"
playwright
:
"
page.locator('.menu-role-tree
.ant-tree-title').filter({
hasText:
/^
\\
s*采购计划明细
\\
s*$/
})"
tree_el_e8afb7e9a286e5aea1e6a0b8_2
:
description
:
"
请领审核"
element_type
:
tree_title
section
:
"
main::main"
strategy
:
tree_node
value
:
"
请领审核"
tree
:
"
.menu-role-tree"
playwright
:
"
page.locator('.menu-role-tree
.ant-tree-title').filter({
hasText:
/^
\\
s*请领审核
\\
s*$/
})"
tree_node_e4b8b4e98787
:
description
:
"
临采任务"
element_type
:
tree_title
section
:
"
main::main"
strategy
:
tree_node
value
:
"
临采任务"
tree
:
"
.menu-role-tree"
playwright
:
"
page.locator('.menu-role-tree
.ant-tree-title').filter({
hasText:
/^
\\
s*临采任务
\\
s*$/
})"
tree_node_e5b8a6e9878f
:
description
:
"
带量任务管理"
element_type
:
tree_title
section
:
"
main::main"
strategy
:
tree_node
value
:
"
带量任务管理"
tree
:
"
.menu-role-tree"
playwright
:
"
page.locator('.menu-role-tree
.ant-tree-title').filter({
hasText:
/^
\\
s*带量任务管理
\\
s*$/
})"
tree_el_e5b8a6e9878fe98787e8b4ade79baee5bd95_2
:
description
:
"
带量采购目录"
element_type
:
tree_title
section
:
"
main::main"
strategy
:
tree_node
value
:
"
带量采购目录"
tree
:
"
.menu-role-tree"
playwright
:
"
page.locator('.menu-role-tree
.ant-tree-title').filter({
hasText:
/^
\\
s*带量采购目录
\\
s*$/
})"
tree_node_e69c88e5baa6
:
description
:
"
月度备货计划"
element_type
:
tree_title
section
:
"
main::main"
strategy
:
tree_node
value
:
"
月度备货计划"
tree
:
"
.menu-role-tree"
playwright
:
"
page.locator('.menu-role-tree
.ant-tree-title').filter({
hasText:
/^
\\
s*月度备货计划
\\
s*$/
})"
tree_node_e7a791e7a094
:
description
:
"
科研项目设置"
element_type
:
tree_title
section
:
"
main::main"
strategy
:
tree_node
value
:
"
科研项目设置"
tree
:
"
.menu-role-tree"
playwright
:
"
page.locator('.menu-role-tree
.ant-tree-title').filter({
hasText:
/^
\\
s*科研项目设置
\\
s*$/
})"
tree_node_e6898be69caf
:
description
:
"
手术通知单"
element_type
:
tree_title
section
:
"
main::main"
strategy
:
tree_node
value
:
"
手术通知单"
tree
:
"
.menu-role-tree"
playwright
:
"
page.locator('.menu-role-tree
.ant-tree-title').filter({
hasText:
/^
\\
s*手术通知单
\\
s*$/
})"
tree_node_e79c81e98787
:
description
:
"
省采订单"
element_type
:
tree_title
section
:
"
main::main"
strategy
:
tree_node
value
:
"
省采订单"
tree
:
"
.menu-role-tree"
playwright
:
"
page.locator('.menu-role-tree
.ant-tree-title').filter({
hasText:
/^
\\
s*省采订单
\\
s*$/
})"
tree_node_e6b19fe88b8f
:
description
:
"
江苏省采"
element_type
:
tree_title
section
:
"
main::main"
strategy
:
tree_node
value
:
"
江苏省采"
tree
:
"
.menu-role-tree"
playwright
:
"
page.locator('.menu-role-tree
.ant-tree-title').filter({
hasText:
/^
\\
s*江苏省采
\\
s*$/
})"
tree_node_e7bb8fe8b4b9
:
description
:
"
经费来源类型"
element_type
:
tree_title
section
:
"
main::main"
strategy
:
tree_node
value
:
"
经费来源类型"
tree
:
"
.menu-role-tree"
playwright
:
"
page.locator('.menu-role-tree
.ant-tree-title').filter({
hasText:
/^
\\
s*经费来源类型
\\
s*$/
})"
tree_el_e7bcbae8b4a7e58f8de9a688_2
:
description
:
"
缺货反馈"
element_type
:
tree_title
section
:
"
main::main"
strategy
:
tree_node
value
:
"
缺货反馈"
tree
:
"
.menu-role-tree"
playwright
:
"
page.locator('.menu-role-tree
.ant-tree-title').filter({
hasText:
/^
\\
s*缺货反馈
\\
s*$/
})"
tree_node_e68d90e8b5a0
:
description
:
"
捐赠活动设置"
element_type
:
tree_title
section
:
"
main::main"
strategy
:
tree_node
value
:
"
捐赠活动设置"
tree
:
"
.menu-role-tree"
playwright
:
"
page.locator('.menu-role-tree
.ant-tree-title').filter({
hasText:
/^
\\
s*捐赠活动设置
\\
s*$/
})"
tree_node_e4be9be5ba94
:
description
:
"
供应商评价"
element_type
:
tree_title
section
:
"
main::main"
strategy
:
tree_node
value
:
"
供应商评价"
tree
:
"
.menu-role-tree"
playwright
:
"
page.locator('.menu-role-tree
.ant-tree-title').filter({
hasText:
/^
\\
s*供应商评价
\\
s*$/
})"
tree_node_opening_e69c9fe5889d
:
description
:
"
期初管理"
element_type
:
tree_title
section
:
"
main::main"
strategy
:
tree_node
value
:
"
期初管理"
tree
:
"
.menu-role-tree"
playwright
:
"
page.locator('.menu-role-tree
.ant-tree-title').filter({
hasText:
/^
\\
s*期初管理
\\
s*$/
})"
tree_node_e69c9fe5889d
:
description
:
"
期初录入"
element_type
:
tree_title
section
:
"
main::main"
strategy
:
tree_node
value
:
"
期初录入"
tree
:
"
.menu-role-tree"
playwright
:
"
page.locator('.menu-role-tree
.ant-tree-title').filter({
hasText:
/^
\\
s*期初录入
\\
s*$/
})"
tree_el_e69c9fe5889de6988ee7bb86e69fa5e8afa2_2
:
description
:
"
期初明细查询"
element_type
:
tree_title
section
:
"
main::main"
strategy
:
tree_node
value
:
"
期初明细查询"
tree
:
"
.menu-role-tree"
playwright
:
"
page.locator('.menu-role-tree
.ant-tree-title').filter({
hasText:
/^
\\
s*期初明细查询
\\
s*$/
})"
tree_node_e5bfabe9809f
:
description
:
"
快速盘点记录"
element_type
:
tree_title
section
:
"
main::main"
strategy
:
tree_node
value
:
"
快速盘点记录"
tree
:
"
.menu-role-tree"
playwright
:
"
page.locator('.menu-role-tree
.ant-tree-title').filter({
hasText:
/^
\\
s*快速盘点记录
\\
s*$/
})"
tree_node_centerStock_e4b8ade5bf83
:
description
:
"
中心库管理"
element_type
:
tree_title
section
:
"
main::main"
strategy
:
tree_node
value
:
"
中心库管理"
tree
:
"
.menu-role-tree"
playwright
:
"
page.locator('.menu-role-tree
.ant-tree-title').filter({
hasText:
/^
\\
s*中心库管理
\\
s*$/
})"
tree_node_e585a5e5ba93
:
description
:
"
入库管理"
element_type
:
tree_title
section
:
"
main::main"
strategy
:
tree_node
value
:
"
入库管理"
tree
:
"
.menu-role-tree"
playwright
:
"
page.locator('.menu-role-tree
.ant-tree-title').filter({
hasText:
/^
\\
s*入库管理
\\
s*$/
})"
tree_node_e9aa8ce694b6
:
description
:
"
验收管理"
element_type
:
tree_title
section
:
"
main::main"
strategy
:
tree_node
value
:
"
验收管理"
tree
:
"
.menu-role-tree"
playwright
:
"
page.locator('.menu-role-tree
.ant-tree-title').filter({
hasText:
/^
\\
s*验收管理
\\
s*$/
})"
tree_el_e9aa8ce694b6e694b6e8b4a7_2
:
description
:
"
验收收货"
element_type
:
tree_title
section
:
"
main::main"
strategy
:
tree_node
value
:
"
验收收货"
tree
:
"
.menu-role-tree"
playwright
:
"
page.locator('.menu-role-tree
.ant-tree-title').filter({
hasText:
/^
\\
s*验收收货
\\
s*$/
})"
tree_node_e4b88ae69eb6
:
description
:
"
上架入库"
element_type
:
tree_title
section
:
"
main::main"
strategy
:
tree_node
value
:
"
上架入库"
tree
:
"
.menu-role-tree"
playwright
:
"
page.locator('.menu-role-tree
.ant-tree-title').filter({
hasText:
/^
\\
s*上架入库
\\
s*$/
})"
tree_el_e9aa8ce694b6e58fb0e8b4a6_2
:
description
:
"
验收台账"
element_type
:
tree_title
section
:
"
main::main"
strategy
:
tree_node
value
:
"
验收台账"
tree
:
"
.menu-role-tree"
playwright
:
"
page.locator('.menu-role-tree
.ant-tree-title').filter({
hasText:
/^
\\
s*验收台账
\\
s*$/
})"
tree_el_e7a791e5aea4e9a9b3e59b9ee7a1aee8aea4_2
:
description
:
"
科室驳回确认"
element_type
:
tree_title
section
:
"
main::main"
strategy
:
tree_node
value
:
"
科室驳回确认"
tree
:
"
.menu-role-tree"
playwright
:
"
page.locator('.menu-role-tree
.ant-tree-title').filter({
hasText:
/^
\\
s*科室驳回确认
\\
s*$/
})"
tree_node_e6898be5b7a5
:
description
:
"
手工入库"
element_type
:
tree_title
section
:
"
main::main"
strategy
:
tree_node
value
:
"
手工入库"
tree
:
"
.menu-role-tree"
playwright
:
"
page.locator('.menu-role-tree
.ant-tree-title').filter({
hasText:
/^
\\
s*手工入库
\\
s*$/
})"
tree_node_e585b6e4bb96
:
description
:
"
其他物资入库"
element_type
:
tree_title
section
:
"
main::main"
strategy
:
tree_node
value
:
"
其他物资入库"
tree
:
"
.menu-role-tree"
playwright
:
"
page.locator('.menu-role-tree
.ant-tree-title').filter({
hasText:
/^
\\
s*其他物资入库
\\
s*$/
})"
tree_node_e8af95e58982
:
description
:
"
试剂性能验证单"
element_type
:
tree_title
section
:
"
main::main"
strategy
:
tree_node
value
:
"
试剂性能验证单"
tree
:
"
.menu-role-tree"
playwright
:
"
page.locator('.menu-role-tree
.ant-tree-title').filter({
hasText:
/^
\\
s*试剂性能验证单
\\
s*$/
})"
tree_node_e7b4a7e680a5
:
description
:
"
紧急使用登记"
element_type
:
tree_title
section
:
"
main::main"
strategy
:
tree_node
value
:
"
紧急使用登记"
tree
:
"
.menu-role-tree"
playwright
:
"
page.locator('.menu-role-tree
.ant-tree-title').filter({
hasText:
/^
\\
s*紧急使用登记
\\
s*$/
})"
tree_node_e8b4b4e7a081
:
description
:
"
贴码核对"
element_type
:
tree_title
section
:
"
main::main"
strategy
:
tree_node
value
:
"
贴码核对"
tree
:
"
.menu-role-tree"
playwright
:
"
page.locator('.menu-role-tree
.ant-tree-title').filter({
hasText:
/^
\\
s*贴码核对
\\
s*$/
})"
tree_el_e9aa8ce694b6e7a1aee8aea4_2
:
description
:
"
验收确认"
element_type
:
tree_title
section
:
"
main::main"
strategy
:
tree_node
value
:
"
验收确认"
tree
:
"
.menu-role-tree"
playwright
:
"
page.locator('.menu-role-tree
.ant-tree-title').filter({
hasText:
/^
\\
s*验收确认
\\
s*$/
})"
tree_node_e68abde9aa8c
:
description
:
"
抽验记录查询"
element_type
:
tree_title
section
:
"
main::main"
strategy
:
tree_node
value
:
"
抽验记录查询"
tree
:
"
.menu-role-tree"
playwright
:
"
page.locator('.menu-role-tree
.ant-tree-title').filter({
hasText:
/^
\\
s*抽验记录查询
\\
s*$/
})"
tree_el_e9aa8ce694b6e8b4b4e7a081e4bbbbe58aa1e58886e9858d_2
:
description
:
"
验收贴码任务分配"
element_type
:
tree_title
section
:
"
main::main"
strategy
:
tree_node
value
:
"
验收贴码任务分配"
tree
:
"
.menu-role-tree"
playwright
:
"
page.locator('.menu-role-tree
.ant-tree-title').filter({
hasText:
/^
\\
s*验收贴码任务分配
\\
s*$/
})"
tree_node_e8b79fe58fb0
:
description
:
"
跟台耗材识别仪入库"
element_type
:
tree_title
section
:
"
main::main"
strategy
:
tree_node
value
:
"
跟台耗材识别仪入库"
tree
:
"
.menu-role-tree"
playwright
:
"
page.locator('.menu-role-tree
.ant-tree-title').filter({
hasText:
/^
\\
s*跟台耗材识别仪入库
\\
s*$/
})"
tree_node_e587bae5ba93
:
description
:
"
出库管理"
element_type
:
tree_title
section
:
"
main::main"
strategy
:
tree_node
value
:
"
出库管理"
tree
:
"
.menu-role-tree"
playwright
:
"
page.locator('.menu-role-tree
.ant-tree-title').filter({
hasText:
/^
\\
s*出库管理
\\
s*$/
})"
tree_node_e7949fe68890
:
description
:
"
生成拣货单"
element_type
:
tree_title
section
:
"
main::main"
strategy
:
tree_node
value
:
"
生成拣货单"
tree
:
"
.menu-role-tree"
playwright
:
"
page.locator('.menu-role-tree
.ant-tree-title').filter({
hasText:
/^
\\
s*生成拣货单
\\
s*$/
})"
tree_node_e68ba3e8b4a7
:
description
:
"
拣货执行"
element_type
:
tree_title
section
:
"
main::main"
strategy
:
tree_node
value
:
"
拣货执行"
tree
:
"
.menu-role-tree"
playwright
:
"
page.locator('.menu-role-tree
.ant-tree-title').filter({
hasText:
/^
\\
s*拣货执行
\\
s*$/
})"
tree_el_e587bae5ba93e5a48de6a0b8_2
:
description
:
"
出库复核"
element_type
:
tree_title
section
:
"
main::main"
strategy
:
tree_node
value
:
"
出库复核"
tree
:
"
.menu-role-tree"
playwright
:
"
page.locator('.menu-role-tree
.ant-tree-title').filter({
hasText:
/^
\\
s*出库复核
\\
s*$/
})"
tree_el_e6898be5b7a5e587bae5ba93_2
:
description
:
"
手工出库"
element_type
:
tree_title
section
:
"
main::main"
strategy
:
tree_node
value
:
"
手工出库"
tree
:
"
.menu-role-tree"
playwright
:
"
page.locator('.menu-role-tree
.ant-tree-title').filter({
hasText:
/^
\\
s*手工出库
\\
s*$/
})"
tree_node_e68aa5e68d9f
:
description
:
"
报损出库"
element_type
:
tree_title
section
:
"
main::main"
strategy
:
tree_node
value
:
"
报损出库"
tree
:
"
.menu-role-tree"
playwright
:
"
page.locator('.menu-role-tree
.ant-tree-title').filter({
hasText:
/^
\\
s*报损出库
\\
s*$/
})"
tree_node_e8b083e68ba8
:
description
:
"
调拨出库"
element_type
:
tree_title
section
:
"
main::main"
strategy
:
tree_node
value
:
"
调拨出库"
tree
:
"
.menu-role-tree"
playwright
:
"
page.locator('.menu-role-tree
.ant-tree-title').filter({
hasText:
/^
\\
s*调拨出库
\\
s*$/
})"
tree_node_e7a7bbe5ba93
:
description
:
"
移库出库"
element_type
:
tree_title
section
:
"
main::main"
strategy
:
tree_node
value
:
"
移库出库"
tree
:
"
.menu-role-tree"
playwright
:
"
page.locator('.menu-role-tree
.ant-tree-title').filter({
hasText:
/^
\\
s*移库出库
\\
s*$/
})"
tree_node_e98080e8b4a7
:
description
:
"
退货出库"
element_type
:
tree_title
section
:
"
main::main"
strategy
:
tree_node
value
:
"
退货出库"
tree
:
"
.menu-role-tree"
playwright
:
"
page.locator('.menu-role-tree
.ant-tree-title').filter({
hasText:
/^
\\
s*退货出库
\\
s*$/
})"
tree_el_e68ba3e8b4a7e58d95e7aea1e79086_2
:
description
:
"
拣货单管理"
element_type
:
tree_title
section
:
"
main::main"
strategy
:
tree_node
value
:
"
拣货单管理"
tree
:
"
.menu-role-tree"
playwright
:
"
page.locator('.menu-role-tree
.ant-tree-title').filter({
hasText:
/^
\\
s*拣货单管理
\\
s*$/
})"
tree_el_e587bae5ba93e58d95e58897e8a1a8_2
:
description
:
"
出库单列表"
element_type
:
tree_title
section
:
"
main::main"
strategy
:
tree_node
value
:
"
出库单列表"
tree
:
"
.menu-role-tree"
playwright
:
"
page.locator('.menu-role-tree
.ant-tree-title').filter({
hasText:
/^
\\
s*出库单列表
\\
s*$/
})"
tree_el_e8b79fe58fb0e98080e8b4a7e587bae5ba93_2
:
description
:
"
跟台退货出库"
element_type
:
tree_title
section
:
"
main::main"
strategy
:
tree_node
value
:
"
跟台退货出库"
tree
:
"
.menu-role-tree"
playwright
:
"
page.locator('.menu-role-tree
.ant-tree-title').filter({
hasText:
/^
\\
s*跟台退货出库
\\
s*$/
})"
tree_el_e98080e8b4a7e6988ee7bb86e69fa5e8afa2_2
:
description
:
"
退货明细查询"
element_type
:
tree_title
section
:
"
main::main"
strategy
:
tree_node
value
:
"
退货明细查询"
tree
:
"
.menu-role-tree"
playwright
:
"
page.locator('.menu-role-tree
.ant-tree-title').filter({
hasText:
/^
\\
s*退货明细查询
\\
s*$/
})"
tree_el_e587bae5ba93e6988ee7bb86e69fa5e8afa2_2
:
description
:
"
出库明细查询"
element_type
:
tree_title
section
:
"
main::main"
strategy
:
tree_node
value
:
"
出库明细查询"
tree
:
"
.menu-role-tree"
playwright
:
"
page.locator('.menu-role-tree
.ant-tree-title').filter({
hasText:
/^
\\
s*出库明细查询
\\
s*$/
})"
tree_el_e68ba3e8b4a7e58886e9858de7aea1e79086_2
:
description
:
"
拣货分配管理"
element_type
:
tree_title
section
:
"
main::main"
strategy
:
tree_node
value
:
"
拣货分配管理"
tree
:
"
.menu-role-tree"
playwright
:
"
page.locator('.menu-role-tree
.ant-tree-title').filter({
hasText:
/^
\\
s*拣货分配管理
\\
s*$/
})"
tree_el_e68ba3e8b4a7e6988ee7bb86e69fa5e8afa2_2
:
description
:
"
拣货明细查询"
element_type
:
tree_title
section
:
"
main::main"
strategy
:
tree_node
value
:
"
拣货明细查询"
tree
:
"
.menu-role-tree"
playwright
:
"
page.locator('.menu-role-tree
.ant-tree-title').filter({
hasText:
/^
\\
s*拣货明细查询
\\
s*$/
})"
tree_el_e587bae5ba93e6a0b8e9aa8c_2
:
description
:
"
出库核验"
element_type
:
tree_title
section
:
"
main::main"
strategy
:
tree_node
value
:
"
出库核验"
tree
:
"
.menu-role-tree"
playwright
:
"
page.locator('.menu-role-tree
.ant-tree-title').filter({
hasText:
/^
\\
s*出库核验
\\
s*$/
})"
tree_node_e59088e58d95
:
description
:
"
合单出库"
element_type
:
tree_title
section
:
"
main::main"
strategy
:
tree_node
value
:
"
合单出库"
tree
:
"
.menu-role-tree"
playwright
:
"
page.locator('.menu-role-tree
.ant-tree-title').filter({
hasText:
/^
\\
s*合单出库
\\
s*$/
})"
tree_node_e8a385e7aeb1
:
description
:
"
装箱贴码"
element_type
:
tree_title
section
:
"
main::main"
strategy
:
tree_node
value
:
"
装箱贴码"
tree
:
"
.menu-role-tree"
playwright
:
"
page.locator('.menu-role-tree
.ant-tree-title').filter({
hasText:
/^
\\
s*装箱贴码
\\
s*$/
})"
tree_el_e7a791e5aea4e59088e58d95e587bae5ba93_2
:
description
:
"
科室合单出库"
element_type
:
tree_title
section
:
"
main::main"
strategy
:
tree_node
value
:
"
科室合单出库"
tree
:
"
.menu-role-tree"
playwright
:
"
page.locator('.menu-role-tree
.ant-tree-title').filter({
hasText:
/^
\\
s*科室合单出库
\\
s*$/
})"
tree_el_e59088e58d95e587bae5ba93e58d95_2
:
description
:
"
合单出库单"
element_type
:
tree_title
section
:
"
main::main"
strategy
:
tree_node
value
:
"
合单出库单"
tree
:
"
.menu-role-tree"
playwright
:
"
page.locator('.menu-role-tree
.ant-tree-title').filter({
hasText:
/^
\\
s*合单出库单
\\
s*$/
})"
tree_node_e7aeb1e7a081
:
description
:
"
箱码打印记录"
element_type
:
tree_title
section
:
"
main::main"
strategy
:
tree_node
value
:
"
箱码打印记录"
tree
:
"
.menu-role-tree"
playwright
:
"
page.locator('.menu-role-tree
.ant-tree-title').filter({
hasText:
/^
\\
s*箱码打印记录
\\
s*$/
})"
tree_node_e4baa4e68ea5
:
description
:
"
交接记录"
element_type
:
tree_title
section
:
"
main::main"
strategy
:
tree_node
value
:
"
交接记录"
tree
:
"
.menu-role-tree"
playwright
:
"
page.locator('.menu-role-tree
.ant-tree-title').filter({
hasText:
/^
\\
s*交接记录
\\
s*$/
})"
tree_node_e68abde6a380
:
description
:
"
抽检记录查看"
element_type
:
tree_title
section
:
"
main::main"
strategy
:
tree_node
value
:
"
抽检记录查看"
tree
:
"
.menu-role-tree"
playwright
:
"
page.locator('.menu-role-tree
.ant-tree-title').filter({
hasText:
/^
\\
s*抽检记录查看
\\
s*$/
})"
tree_el_e9aa8ce694b6e7a1aee8aea4_3
:
description
:
"
验收确认"
element_type
:
tree_title
section
:
"
main::main"
strategy
:
tree_node
value
:
"
验收确认"
tree
:
"
.menu-role-tree"
playwright
:
"
page.locator('.menu-role-tree
.ant-tree-title').filter({
hasText:
/^
\\
s*验收确认
\\
s*$/
})"
tree_node_e5ba93e58685
:
description
:
"
库内作业"
element_type
:
tree_title
section
:
"
main::main"
strategy
:
tree_node
value
:
"
库内作业"
tree
:
"
.menu-role-tree"
playwright
:
"
page.locator('.menu-role-tree
.ant-tree-title').filter({
hasText:
/^
\\
s*库内作业
\\
s*$/
})"
tree_node_e68993e7a081
:
description
:
"
打码中心"
element_type
:
tree_title
section
:
"
main::main"
strategy
:
tree_node
value
:
"
打码中心"
tree
:
"
.menu-role-tree"
playwright
:
"
page.locator('.menu-role-tree
.ant-tree-title').filter({
hasText:
/^
\\
s*打码中心
\\
s*$/
})"
tree_node_e68891e8a681
:
description
:
"
我要加工"
element_type
:
tree_title
section
:
"
main::main"
strategy
:
tree_node
value
:
"
我要加工"
tree
:
"
.menu-role-tree"
playwright
:
"
page.locator('.menu-role-tree
.ant-tree-title').filter({
hasText:
/^
\\
s*我要加工
\\
s*$/
})"
tree_node_e58aa0e5b7a5
:
description
:
"
加工执行"
element_type
:
tree_title
section
:
"
main::main"
strategy
:
tree_node
value
:
"
加工执行"
tree
:
"
.menu-role-tree"
playwright
:
"
page.locator('.menu-role-tree
.ant-tree-title').filter({
hasText:
/^
\\
s*加工执行
\\
s*$/
})"
tree_el_e5bfabe9809fe58aa0e5b7a5_2
:
description
:
"
快速加工"
element_type
:
tree_title
section
:
"
main::main"
strategy
:
tree_node
value
:
"
快速加工"
tree
:
"
.menu-role-tree"
playwright
:
"
page.locator('.menu-role-tree
.ant-tree-title').filter({
hasText:
/^
\\
s*快速加工
\\
s*$/
})"
tree_el_e5bfabe9809fe7bb84e58c85_2
:
description
:
"
快速组包"
element_type
:
tree_title
section
:
"
main::main"
strategy
:
tree_node
value
:
"
快速组包"
tree
:
"
.menu-role-tree"
playwright
:
"
page.locator('.menu-role-tree
.ant-tree-title').filter({
hasText:
/^
\\
s*快速组包
\\
s*$/
})"
tree_node_e8b4a7e4bd8d
:
description
:
"
货位调整台账"
element_type
:
tree_title
section
:
"
main::main"
strategy
:
tree_node
value
:
"
货位调整台账"
tree
:
"
.menu-role-tree"
playwright
:
"
page.locator('.menu-role-tree
.ant-tree-title').filter({
hasText:
/^
\\
s*货位调整台账
\\
s*$/
})"
tree_el_e58aa0e5b7a5e58d95e58897e8a1a8_2
:
description
:
"
加工单列表"
element_type
:
tree_title
section
:
"
main::main"
strategy
:
tree_node
value
:
"
加工单列表"
tree
:
"
.menu-role-tree"
playwright
:
"
page.locator('.menu-role-tree
.ant-tree-title').filter({
hasText:
/^
\\
s*加工单列表
\\
s*$/
})"
tree_el_e8b4a7e4bd8de8b083e695b4_2
:
description
:
"
货位调整"
element_type
:
tree_title
section
:
"
main::main"
strategy
:
tree_node
value
:
"
货位调整"
tree
:
"
.menu-role-tree"
playwright
:
"
page.locator('.menu-role-tree
.ant-tree-title').filter({
hasText:
/^
\\
s*货位调整
\\
s*$/
})"
tree_node_e68b86e99bb6
:
description
:
"
拆零加工"
element_type
:
tree_title
section
:
"
main::main"
strategy
:
tree_node
value
:
"
拆零加工"
tree
:
"
.menu-role-tree"
playwright
:
"
page.locator('.menu-role-tree
.ant-tree-title').filter({
hasText:
/^
\\
s*拆零加工
\\
s*$/
})"
tree_el_e4b8ade5bf83e5ba93e5ba93e58cbae7a7bbe58aa8_2
:
description
:
"
中心库库区移动"
element_type
:
tree_title
section
:
"
main::main"
strategy
:
tree_node
value
:
"
中心库库区移动"
tree
:
"
.menu-role-tree"
playwright
:
"
page.locator('.menu-role-tree
.ant-tree-title').filter({
hasText:
/^
\\
s*中心库库区移动
\\
s*$/
})"
tree_node_e5ba93e5ad98
:
description
:
"
库存查询"
element_type
:
tree_title
section
:
"
main::main"
strategy
:
tree_node
value
:
"
库存查询"
tree
:
"
.menu-role-tree"
playwright
:
"
page.locator('.menu-role-tree
.ant-tree-title').filter({
hasText:
/^
\\
s*库存查询
\\
s*$/
})"
tree_el_e5ba93e5ad98e6b187e680bbe69fa5e8afa2_2
:
description
:
"
库存汇总查询"
element_type
:
tree_title
section
:
"
main::main"
strategy
:
tree_node
value
:
"
库存汇总查询"
tree
:
"
.menu-role-tree"
playwright
:
"
page.locator('.menu-role-tree
.ant-tree-title').filter({
hasText:
/^
\\
s*库存汇总查询
\\
s*$/
})"
tree_el_e5ba93e5ad98e6988ee7bb86e69fa5e8afa2_2
:
description
:
"
库存明细查询"
element_type
:
tree_title
section
:
"
main::main"
strategy
:
tree_node
value
:
"
库存明细查询"
tree
:
"
.menu-role-tree"
playwright
:
"
page.locator('.menu-role-tree
.ant-tree-title').filter({
hasText:
/^
\\
s*库存明细查询
\\
s*$/
})"
tree_node_e585a8e999a2
:
description
:
"
全院库存查询"
element_type
:
tree_title
section
:
"
main::main"
strategy
:
tree_node
value
:
"
全院库存查询"
tree
:
"
.menu-role-tree"
playwright
:
"
page.locator('.menu-role-tree
.ant-tree-title').filter({
hasText:
/^
\\
s*全院库存查询
\\
s*$/
})"
tree_node_e4b88de889af
:
description
:
"
不良事件"
element_type
:
tree_title
section
:
"
main::main"
strategy
:
tree_node
value
:
"
不良事件"
tree
:
"
.menu-role-tree"
playwright
:
"
page.locator('.menu-role-tree
.ant-tree-title').filter({
hasText:
/^
\\
s*不良事件
\\
s*$/
})"
tree_el_e4b88de889afe4ba8be4bbb6e7aea1e79086_2
:
description
:
"
不良事件管理"
element_type
:
tree_title
section
:
"
main::main"
strategy
:
tree_node
value
:
"
不良事件管理"
tree
:
"
.menu-role-tree"
playwright
:
"
page.locator('.menu-role-tree
.ant-tree-title').filter({
hasText:
/^
\\
s*不良事件管理
\\
s*$/
})"
tree_el_e4b88de889afe4ba8be4bbb6e5aea1e689b9_2
:
description
:
"
不良事件审批"
element_type
:
tree_title
section
:
"
main::main"
strategy
:
tree_node
value
:
"
不良事件审批"
tree
:
"
.menu-role-tree"
playwright
:
"
page.locator('.menu-role-tree
.ant-tree-title').filter({
hasText:
/^
\\
s*不良事件审批
\\
s*$/
})"
tree_node_e79b98e782b9
:
description
:
"
盘点管理"
element_type
:
tree_title
section
:
"
main::main"
strategy
:
tree_node
value
:
"
盘点管理"
tree
:
"
.menu-role-tree"
playwright
:
"
page.locator('.menu-role-tree
.ant-tree-title').filter({
hasText:
/^
\\
s*盘点管理
\\
s*$/
})"
tree_el_e79b98e782b9e8aea1e58892e7aea1e79086_2
:
description
:
"
盘点计划管理"
element_type
:
tree_title
section
:
"
main::main"
strategy
:
tree_node
value
:
"
盘点计划管理"
tree
:
"
.menu-role-tree"
playwright
:
"
page.locator('.menu-role-tree
.ant-tree-title').filter({
hasText:
/^
\\
s*盘点计划管理
\\
s*$/
})"
tree_el_e79b98e782b9e5bd95e585a5_2
:
description
:
"
盘点录入"
element_type
:
tree_title
section
:
"
main::main"
strategy
:
tree_node
value
:
"
盘点录入"
tree
:
"
.menu-role-tree"
playwright
:
"
page.locator('.menu-role-tree
.ant-tree-title').filter({
hasText:
/^
\\
s*盘点录入
\\
s*$/
})"
tree_el_e79b98e782b9e7bb9fe8aea1_2
:
description
:
"
盘点统计"
element_type
:
tree_title
section
:
"
main::main"
strategy
:
tree_node
value
:
"
盘点统计"
tree
:
"
.menu-role-tree"
playwright
:
"
page.locator('.menu-role-tree
.ant-tree-title').filter({
hasText:
/^
\\
s*盘点统计
\\
s*$/
})"
tree_el_e4b8ade5bf83e5ba93e5b7a5e4bd9ce58fb0_2
:
description
:
"
中心库工作台"
element_type
:
tree_title
section
:
"
main::main"
strategy
:
tree_node
value
:
"
中心库工作台"
tree
:
"
.menu-role-tree"
playwright
:
"
page.locator('.menu-role-tree
.ant-tree-title').filter({
hasText:
/^
\\
s*中心库工作台
\\
s*$/
})"
tree_el_e4b8ade5bf83e5ba93e5b7a5e4bd9ce58fb0_3
:
description
:
"
中心库工作台"
element_type
:
tree_title
section
:
"
main::main"
strategy
:
tree_node
value
:
"
中心库工作台"
tree
:
"
.menu-role-tree"
playwright
:
"
page.locator('.menu-role-tree
.ant-tree-title').filter({
hasText:
/^
\\
s*中心库工作台
\\
s*$/
})"
tree_el_e7a7bbe5ba93e794b3e8afb7e7aea1e79086_2
:
description
:
"
移库申请管理"
element_type
:
tree_title
section
:
"
main::main"
strategy
:
tree_node
value
:
"
移库申请管理"
tree
:
"
.menu-role-tree"
playwright
:
"
page.locator('.menu-role-tree
.ant-tree-title').filter({
hasText:
/^
\\
s*移库申请管理
\\
s*$/
})"
tree_el_e7a7bbe5ba93e794b3e8afb7_2
:
description
:
"
移库申请"
element_type
:
tree_title
section
:
"
main::main"
strategy
:
tree_node
value
:
"
移库申请"
tree
:
"
.menu-role-tree"
playwright
:
"
page.locator('.menu-role-tree
.ant-tree-title').filter({
hasText:
/^
\\
s*移库申请
\\
s*$/
})"
tree_el_e7a7bbe5ba93e794b3e8afb7e6988ee7bb86e69fa5e8afa2_2
:
description
:
"
移库申请明细查询"
element_type
:
tree_title
section
:
"
main::main"
strategy
:
tree_node
value
:
"
移库申请明细查询"
tree
:
"
.menu-role-tree"
playwright
:
"
page.locator('.menu-role-tree
.ant-tree-title').filter({
hasText:
/^
\\
s*移库申请明细查询
\\
s*$/
})"
tree_el_e4b8ade5bf83e5ba93e7a7bbe5ba93e794b3e8afb7_2
:
description
:
"
中心库移库申请"
element_type
:
tree_title
section
:
"
main::main"
strategy
:
tree_node
value
:
"
中心库移库申请"
tree
:
"
.menu-role-tree"
playwright
:
"
page.locator('.menu-role-tree
.ant-tree-title').filter({
hasText:
/^
\\
s*中心库移库申请
\\
s*$/
})"
tree_node_e585bbe68aa4
:
description
:
"
养护管理"
element_type
:
tree_title
section
:
"
main::main"
strategy
:
tree_node
value
:
"
养护管理"
tree
:
"
.menu-role-tree"
playwright
:
"
page.locator('.menu-role-tree
.ant-tree-title').filter({
hasText:
/^
\\
s*养护管理
\\
s*$/
})"
tree_el_e585bbe68aa4e7aea1e79086_2
:
description
:
"
养护管理"
element_type
:
tree_title
section
:
"
main::main"
strategy
:
tree_node
value
:
"
养护管理"
tree
:
"
.menu-role-tree"
playwright
:
"
page.locator('.menu-role-tree
.ant-tree-title').filter({
hasText:
/^
\\
s*养护管理
\\
s*$/
})"
tree_el_e699bae883bde98787e8b4ad_2
:
description
:
"
智能采购"
element_type
:
tree_title
section
:
"
main::main"
strategy
:
tree_node
value
:
"
智能采购"
tree
:
"
.menu-role-tree"
playwright
:
"
page.locator('.menu-role-tree
.ant-tree-title').filter({
hasText:
/^
\\
s*智能采购
\\
s*$/
})"
tree_node_4149e98787e8
:
description
:
"
AI采购建议"
element_type
:
tree_title
section
:
"
main::main"
strategy
:
tree_node
value
:
"
AI采购建议"
tree
:
"
.menu-role-tree"
playwright
:
"
page.locator('.menu-role-tree
.ant-tree-title').filter({
hasText:
/^
\\
s*AI采购建议
\\
s*$/
})"
tree_node_4149e9a284e6
:
description
:
"
AI预测分析比对-每日预测"
element_type
:
tree_title
section
:
"
main::main"
strategy
:
tree_node
value
:
"
AI预测分析比对-每日预测"
tree
:
"
.menu-role-tree"
playwright
:
"
page.locator('.menu-role-tree
.ant-tree-title').filter({
hasText:
/^
\\
s*AI预测分析比对-每日预测
\\
s*$/
})"
tree_el_4149e9a284e6b58be58886e69e90e6af94e5afb92de697a5e59d87e9a284e6b58b_2
:
description
:
"
AI预测分析比对-日均预测"
element_type
:
tree_title
section
:
"
main::main"
strategy
:
tree_node
value
:
"
AI预测分析比对-日均预测"
tree
:
"
.menu-role-tree"
playwright
:
"
page.locator('.menu-role-tree
.ant-tree-title').filter({
hasText:
/^
\\
s*AI预测分析比对-日均预测
\\
s*$/
})"
tree_node_deptBusiness_e7a791e5aea4
:
description
:
"
科室业务管理"
element_type
:
tree_title
section
:
"
main::main"
strategy
:
tree_node
value
:
"
科室业务管理"
tree
:
"
.menu-role-tree"
playwright
:
"
page.locator('.menu-role-tree
.ant-tree-title').filter({
hasText:
/^
\\
s*科室业务管理
\\
s*$/
})"
tree_el_e8afb7e9a286e7aea1e79086_2
:
description
:
"
请领管理"
element_type
:
tree_title
section
:
"
main::main"
strategy
:
tree_node
value
:
"
请领管理"
tree
:
"
.menu-role-tree"
playwright
:
"
page.locator('.menu-role-tree
.ant-tree-title').filter({
hasText:
/^
\\
s*请领管理
\\
s*$/
})"
tree_el_e68891e8a681e8afb7e9a286_2
:
description
:
"
我要请领"
element_type
:
tree_title
section
:
"
main::main"
strategy
:
tree_node
value
:
"
我要请领"
tree
:
"
.menu-role-tree"
playwright
:
"
page.locator('.menu-role-tree
.ant-tree-title').filter({
hasText:
/^
\\
s*我要请领
\\
s*$/
})"
tree_el_e7b4a7e680a5e8afb7e9a286_2
:
description
:
"
紧急请领"
element_type
:
tree_title
section
:
"
main::main"
strategy
:
tree_node
value
:
"
紧急请领"
tree
:
"
.menu-role-tree"
playwright
:
"
page.locator('.menu-role-tree
.ant-tree-title').filter({
hasText:
/^
\\
s*紧急请领
\\
s*$/
})"
tree_node_e4bba3e7a791
:
description
:
"
代科室下单"
element_type
:
tree_title
section
:
"
main::main"
strategy
:
tree_node
value
:
"
代科室下单"
tree
:
"
.menu-role-tree"
playwright
:
"
page.locator('.menu-role-tree
.ant-tree-title').filter({
hasText:
/^
\\
s*代科室下单
\\
s*$/
})"
tree_el_e8afb7e9a286e58d95e7a1aee8aea4_2
:
description
:
"
请领单确认"
element_type
:
tree_title
section
:
"
main::main"
strategy
:
tree_node
value
:
"
请领单确认"
tree
:
"
.menu-role-tree"
playwright
:
"
page.locator('.menu-role-tree
.ant-tree-title').filter({
hasText:
/^
\\
s*请领单确认
\\
s*$/
})"
tree_el_e8afb7e9a286e58d95e69fa5e8afa2_2
:
description
:
"
请领单查询"
element_type
:
tree_title
section
:
"
main::main"
strategy
:
tree_node
value
:
"
请领单查询"
tree
:
"
.menu-role-tree"
playwright
:
"
page.locator('.menu-role-tree
.ant-tree-title').filter({
hasText:
/^
\\
s*请领单查询
\\
s*$/
})"
tree_el_e8afb7e9a286e58d95e6988ee7bb86e69fa5e8afa2_2
:
description
:
"
请领单明细查询"
element_type
:
tree_title
section
:
"
main::main"
strategy
:
tree_node
value
:
"
请领单明细查询"
tree
:
"
.menu-role-tree"
playwright
:
"
page.locator('.menu-role-tree
.ant-tree-title').filter({
hasText:
/^
\\
s*请领单明细查询
\\
s*$/
})"
tree_el_e8afb7e9a286e69caae5ae8ce68890e8bf9be5baa6e69fa5e8afa2_2
:
description
:
"
请领未完成进度查询"
element_type
:
tree_title
section
:
"
main::main"
strategy
:
tree_node
value
:
"
请领未完成进度查询"
tree
:
"
.menu-role-tree"
playwright
:
"
page.locator('.menu-role-tree
.ant-tree-title').filter({
hasText:
/^
\\
s*请领未完成进度查询
\\
s*$/
})"
tree_el_e8b79fe58fb0e6898be69cafe794b3e8afb7_2
:
description
:
"
跟台手术申请"
element_type
:
tree_title
section
:
"
main::main"
strategy
:
tree_node
value
:
"
跟台手术申请"
tree
:
"
.menu-role-tree"
playwright
:
"
page.locator('.menu-role-tree
.ant-tree-title').filter({
hasText:
/^
\\
s*跟台手术申请
\\
s*$/
})"
tree_el_e8b79fe58fb0e5a597e9a490e7bbb4e68aa4_2
:
description
:
"
跟台套餐维护"
element_type
:
tree_title
section
:
"
main::main"
strategy
:
tree_node
value
:
"
跟台套餐维护"
tree
:
"
.menu-role-tree"
playwright
:
"
page.locator('.menu-role-tree
.ant-tree-title').filter({
hasText:
/^
\\
s*跟台套餐维护
\\
s*$/
})"
tree_node_e5a487e8b4a7
:
description
:
"
备货耗材包管理"
element_type
:
tree_title
section
:
"
main::main"
strategy
:
tree_node
value
:
"
备货耗材包管理"
tree
:
"
.menu-role-tree"
playwright
:
"
page.locator('.menu-role-tree
.ant-tree-title').filter({
hasText:
/^
\\
s*备货耗材包管理
\\
s*$/
})"
tree_el_e585a5e5ba93e7aea1e79086_2
:
description
:
"
入库管理"
element_type
:
tree_title
section
:
"
main::main"
strategy
:
tree_node
value
:
"
入库管理"
tree
:
"
.menu-role-tree"
playwright
:
"
page.locator('.menu-role-tree
.ant-tree-title').filter({
hasText:
/^
\\
s*入库管理
\\
s*$/
})"
tree_el_e7a791e5aea4e585a5e5ba93_2
:
description
:
"
科室入库"
element_type
:
tree_title
section
:
"
main::main"
strategy
:
tree_node
value
:
"
科室入库"
tree
:
"
.menu-role-tree"
playwright
:
"
page.locator('.menu-role-tree
.ant-tree-title').filter({
hasText:
/^
\\
s*科室入库
\\
s*$/
})"
tree_el_e585a5e5ba93e58d95e69fa5e8afa2_2
:
description
:
"
入库单查询"
element_type
:
tree_title
section
:
"
main::main"
strategy
:
tree_node
value
:
"
入库单查询"
tree
:
"
.menu-role-tree"
playwright
:
"
page.locator('.menu-role-tree
.ant-tree-title').filter({
hasText:
/^
\\
s*入库单查询
\\
s*$/
})"
tree_node_e6b688e88097
:
description
:
"
消耗退回"
element_type
:
tree_title
section
:
"
main::main"
strategy
:
tree_node
value
:
"
消耗退回"
tree
:
"
.menu-role-tree"
playwright
:
"
page.locator('.menu-role-tree
.ant-tree-title').filter({
hasText:
/^
\\
s*消耗退回
\\
s*$/
})"
tree_node_e98080e5ba93
:
description
:
"
退库核对"
element_type
:
tree_title
section
:
"
main::main"
strategy
:
tree_node
value
:
"
退库核对"
tree
:
"
.menu-role-tree"
playwright
:
"
page.locator('.menu-role-tree
.ant-tree-title').filter({
hasText:
/^
\\
s*退库核对
\\
s*$/
})"
tree_el_e587bae5ba93e7aea1e79086_2
:
description
:
"
出库管理"
element_type
:
tree_title
section
:
"
main::main"
strategy
:
tree_node
value
:
"
出库管理"
tree
:
"
.menu-role-tree"
playwright
:
"
page.locator('.menu-role-tree
.ant-tree-title').filter({
hasText:
/^
\\
s*出库管理
\\
s*$/
})"
tree_el_e6898be5b7a5e6b688e88097_2
:
description
:
"
手工消耗"
element_type
:
tree_title
section
:
"
main::main"
strategy
:
tree_node
value
:
"
手工消耗"
tree
:
"
.menu-role-tree"
playwright
:
"
page.locator('.menu-role-tree
.ant-tree-title').filter({
hasText:
/^
\\
s*手工消耗
\\
s*$/
})"
tree_el_e98080e5ba93e587bae5ba93_2
:
description
:
"
退库出库"
element_type
:
tree_title
section
:
"
main::main"
strategy
:
tree_node
value
:
"
退库出库"
tree
:
"
.menu-role-tree"
playwright
:
"
page.locator('.menu-role-tree
.ant-tree-title').filter({
hasText:
/^
\\
s*退库出库
\\
s*$/
})"
tree_el_e587bae5ba93e58d95e69fa5e8afa2_2
:
description
:
"
出库单查询"
element_type
:
tree_title
section
:
"
main::main"
strategy
:
tree_node
value
:
"
出库单查询"
tree
:
"
.menu-role-tree"
playwright
:
"
page.locator('.menu-role-tree
.ant-tree-title').filter({
hasText:
/^
\\
s*出库单查询
\\
s*$/
})"
tree_node_e9a286e794a8
:
description
:
"
领用出库"
element_type
:
tree_title
section
:
"
main::main"
strategy
:
tree_node
value
:
"
领用出库"
tree
:
"
.menu-role-tree"
playwright
:
"
page.locator('.menu-role-tree
.ant-tree-title').filter({
hasText:
/^
\\
s*领用出库
\\
s*$/
})"
tree_el_e6898be5b7a5e9a286e794a8e587bae5ba93_2
:
description
:
"
手工领用出库"
element_type
:
tree_title
section
:
"
main::main"
strategy
:
tree_node
value
:
"
手工领用出库"
tree
:
"
.menu-role-tree"
playwright
:
"
page.locator('.menu-role-tree
.ant-tree-title').filter({
hasText:
/^
\\
s*手工领用出库
\\
s*$/
})"
tree_el_e8b79fe58fb0e4bdbfe794a8e7a1aee8aea4_2
:
description
:
"
跟台使用确认"
element_type
:
tree_title
section
:
"
main::main"
strategy
:
tree_node
value
:
"
跟台使用确认"
tree
:
"
.menu-role-tree"
playwright
:
"
page.locator('.menu-role-tree
.ant-tree-title').filter({
hasText:
/^
\\
s*跟台使用确认
\\
s*$/
})"
tree_node_e4b889e7baa7
:
description
:
"
三级库调拨"
element_type
:
tree_title
section
:
"
main::main"
strategy
:
tree_node
value
:
"
三级库调拨"
tree
:
"
.menu-role-tree"
playwright
:
"
page.locator('.menu-role-tree
.ant-tree-title').filter({
hasText:
/^
\\
s*三级库调拨
\\
s*$/
})"
tree_node_e4ba8ce7baa7
:
description
:
"
二级库调拨"
element_type
:
tree_title
section
:
"
main::main"
strategy
:
tree_node
value
:
"
二级库调拨"
tree
:
"
.menu-role-tree"
playwright
:
"
page.locator('.menu-role-tree
.ant-tree-title').filter({
hasText:
/^
\\
s*二级库调拨
\\
s*$/
})"
tree_el_e7a791e5aea4e98080e5ba9328e585ade999a229_2
:
description
:
"
科室退库(六院)"
element_type
:
tree_title
section
:
"
main::main"
strategy
:
tree_node
value
:
"
科室退库(六院)"
tree
:
"
.menu-role-tree"
playwright
:
"
page.locator('.menu-role-tree
.ant-tree-title').filter({
hasText:
/^
\\
s*科室退库(六院)
\\
s*$/
})"
tree_node_e69da1e7a081
:
description
:
"
条码使用确认"
element_type
:
tree_title
section
:
"
main::main"
strategy
:
tree_node
value
:
"
条码使用确认"
tree
:
"
.menu-role-tree"
playwright
:
"
page.locator('.menu-role-tree
.ant-tree-title').filter({
hasText:
/^
\\
s*条码使用确认
\\
s*$/
})"
tree_el_e5ba93e58685e7aea1e79086_2
:
description
:
"
库内管理"
element_type
:
tree_title
section
:
"
main::main"
strategy
:
tree_node
value
:
"
库内管理"
tree
:
"
.menu-role-tree"
playwright
:
"
page.locator('.menu-role-tree
.ant-tree-title').filter({
hasText:
/^
\\
s*库内管理
\\
s*$/
})"
tree_node_e689abe7a081
:
description
:
"
扫码发放"
element_type
:
tree_title
section
:
"
main::main"
strategy
:
tree_node
value
:
"
扫码发放"
tree
:
"
.menu-role-tree"
playwright
:
"
page.locator('.menu-role-tree
.ant-tree-title').filter({
hasText:
/^
\\
s*扫码发放
\\
s*$/
})"
tree_el_e5ba93e58cbae7a7bbe58aa8_2
:
description
:
"
库区移动"
element_type
:
tree_title
section
:
"
main::main"
strategy
:
tree_node
value
:
"
库区移动"
tree
:
"
.menu-role-tree"
playwright
:
"
page.locator('.menu-role-tree
.ant-tree-title').filter({
hasText:
/^
\\
s*库区移动
\\
s*$/
})"
tree_node_e58f91e694be
:
description
:
"
发放单查询"
element_type
:
tree_title
section
:
"
main::main"
strategy
:
tree_node
value
:
"
发放单查询"
tree
:
"
.menu-role-tree"
playwright
:
"
page.locator('.menu-role-tree
.ant-tree-title').filter({
hasText:
/^
\\
s*发放单查询
\\
s*$/
})"
tree_node_e58d95e793b6
:
description
:
"
单瓶条码补打"
element_type
:
tree_title
section
:
"
main::main"
strategy
:
tree_node
value
:
"
单瓶条码补打"
tree
:
"
.menu-role-tree"
playwright
:
"
page.locator('.menu-role-tree
.ant-tree-title').filter({
hasText:
/^
\\
s*单瓶条码补打
\\
s*$/
})"
tree_node_e6b497e6b688
:
description
:
"
洗消管理"
element_type
:
tree_title
section
:
"
main::main"
strategy
:
tree_node
value
:
"
洗消管理"
tree
:
"
.menu-role-tree"
playwright
:
"
page.locator('.menu-role-tree
.ant-tree-title').filter({
hasText:
/^
\\
s*洗消管理
\\
s*$/
})"
tree_el_e8b79fe58fb0e88097e69d90e5a48de9aa8c_2
:
description
:
"
跟台耗材复验"
element_type
:
tree_title
section
:
"
main::main"
strategy
:
tree_node
value
:
"
跟台耗材复验"
tree
:
"
.menu-role-tree"
playwright
:
"
page.locator('.menu-role-tree
.ant-tree-title').filter({
hasText:
/^
\\
s*跟台耗材复验
\\
s*$/
})"
tree_el_e4b889e7baa7e5ba93e697a5e6b885e7aea1e79086_2
:
description
:
"
三级库日清管理"
element_type
:
tree_title
section
:
"
main::main"
strategy
:
tree_node
value
:
"
三级库日清管理"
tree
:
"
.menu-role-tree"
playwright
:
"
page.locator('.menu-role-tree
.ant-tree-title').filter({
hasText:
/^
\\
s*三级库日清管理
\\
s*$/
})"
tree_el_e6898be5b7a5e6a0b8e99480e7bb93e7ae97_2
:
description
:
"
手工核销结算"
element_type
:
tree_title
section
:
"
main::main"
strategy
:
tree_node
value
:
"
手工核销结算"
tree
:
"
.menu-role-tree"
playwright
:
"
page.locator('.menu-role-tree
.ant-tree-title').filter({
hasText:
/^
\\
s*手工核销结算
\\
s*$/
})"
tree_el_e8b79fe58fb0e69da1e7a081e68993e58db0_2
:
description
:
"
跟台条码打印"
element_type
:
tree_title
section
:
"
main::main"
strategy
:
tree_node
value
:
"
跟台条码打印"
tree
:
"
.menu-role-tree"
playwright
:
"
page.locator('.menu-role-tree
.ant-tree-title').filter({
hasText:
/^
\\
s*跟台条码打印
\\
s*$/
})"
tree_el_e5ba93e5ad98e69fa5e8afa2_2
:
description
:
"
库存查询"
element_type
:
tree_title
section
:
"
main::main"
strategy
:
tree_node
value
:
"
库存查询"
tree
:
"
.menu-role-tree"
playwright
:
"
page.locator('.menu-role-tree
.ant-tree-title').filter({
hasText:
/^
\\
s*库存查询
\\
s*$/
})"
tree_el_e7a791e5aea4e5ba93e5ad98e69fa5e8afa2_2
:
description
:
"
科室库存查询"
element_type
:
tree_title
section
:
"
main::main"
strategy
:
tree_node
value
:
"
科室库存查询"
tree
:
"
.menu-role-tree"
playwright
:
"
page.locator('.menu-role-tree
.ant-tree-title').filter({
hasText:
/^
\\
s*科室库存查询
\\
s*$/
})"
tree_el_e6898be69cafe5a597e58c85e7aea1e79086_2
:
description
:
"
手术套包管理"
element_type
:
tree_title
section
:
"
main::main"
strategy
:
tree_node
value
:
"
手术套包管理"
tree
:
"
.menu-role-tree"
playwright
:
"
page.locator('.menu-role-tree
.ant-tree-title').filter({
hasText:
/^
\\
s*手术套包管理
\\
s*$/
})"
tree_node_e59fbae7a180
:
description
:
"
基础包加工"
element_type
:
tree_title
section
:
"
main::main"
strategy
:
tree_node
value
:
"
基础包加工"
tree
:
"
.menu-role-tree"
playwright
:
"
page.locator('.menu-role-tree
.ant-tree-title').filter({
hasText:
/^
\\
s*基础包加工
\\
s*$/
})"
tree_el_e59fbae7a180e58c85e5ba93e5ad98e69fa5e8afa2_2
:
description
:
"
基础包库存查询"
element_type
:
tree_title
section
:
"
main::main"
strategy
:
tree_node
value
:
"
基础包库存查询"
tree
:
"
.menu-role-tree"
playwright
:
"
page.locator('.menu-role-tree
.ant-tree-title').filter({
hasText:
/^
\\
s*基础包库存查询
\\
s*$/
})"
tree_el_e6898be69cafe68e92e7a88be7aea1e79086_2
:
description
:
"
手术排程管理"
element_type
:
tree_title
section
:
"
main::main"
strategy
:
tree_node
value
:
"
手术排程管理"
tree
:
"
.menu-role-tree"
playwright
:
"
page.locator('.menu-role-tree
.ant-tree-title').filter({
hasText:
/^
\\
s*手术排程管理
\\
s*$/
})"
tree_el_e6898be69cafe5a597e58c85e794b3e8afb7_2
:
description
:
"
手术套包申请"
element_type
:
tree_title
section
:
"
main::main"
strategy
:
tree_node
value
:
"
手术套包申请"
tree
:
"
.menu-role-tree"
playwright
:
"
page.locator('.menu-role-tree
.ant-tree-title').filter({
hasText:
/^
\\
s*手术套包申请
\\
s*$/
})"
tree_el_e6898be69cafe5a597e58c85e58aa0e5b7a5_2
:
description
:
"
手术套包加工"
element_type
:
tree_title
section
:
"
main::main"
strategy
:
tree_node
value
:
"
手术套包加工"
tree
:
"
.menu-role-tree"
playwright
:
"
page.locator('.menu-role-tree
.ant-tree-title').filter({
hasText:
/^
\\
s*手术套包加工
\\
s*$/
})"
tree_el_e6898be69cafe5a597e58c85e585a5e5ba93_2
:
description
:
"
手术套包入库"
element_type
:
tree_title
section
:
"
main::main"
strategy
:
tree_node
value
:
"
手术套包入库"
tree
:
"
.menu-role-tree"
playwright
:
"
page.locator('.menu-role-tree
.ant-tree-title').filter({
hasText:
/^
\\
s*手术套包入库
\\
s*$/
})"
tree_el_e6898be69cafe5a597e58c85e9a284e58aa0e5b7a5_2
:
description
:
"
手术套包预加工"
element_type
:
tree_title
section
:
"
main::main"
strategy
:
tree_node
value
:
"
手术套包预加工"
tree
:
"
.menu-role-tree"
playwright
:
"
page.locator('.menu-role-tree
.ant-tree-title').filter({
hasText:
/^
\\
s*手术套包预加工
\\
s*$/
})"
tree_el_e6898be69cafe5a597e58c85e587bae5ba93_2
:
description
:
"
手术套包出库"
element_type
:
tree_title
section
:
"
main::main"
strategy
:
tree_node
value
:
"
手术套包出库"
tree
:
"
.menu-role-tree"
playwright
:
"
page.locator('.menu-role-tree
.ant-tree-title').filter({
hasText:
/^
\\
s*手术套包出库
\\
s*$/
})"
tree_el_e6898be69cafe5a597e58c85e6b688e88097_2
:
description
:
"
手术套包消耗"
element_type
:
tree_title
section
:
"
main::main"
strategy
:
tree_node
value
:
"
手术套包消耗"
tree
:
"
.menu-role-tree"
playwright
:
"
page.locator('.menu-role-tree
.ant-tree-title').filter({
hasText:
/^
\\
s*手术套包消耗
\\
s*$/
})"
tree_el_e6898be69cafe5a597e58c85e98080e5ba93_2
:
description
:
"
手术套包退库"
element_type
:
tree_title
section
:
"
main::main"
strategy
:
tree_node
value
:
"
手术套包退库"
tree
:
"
.menu-role-tree"
playwright
:
"
page.locator('.menu-role-tree
.ant-tree-title').filter({
hasText:
/^
\\
s*手术套包退库
\\
s*$/
})"
tree_el_e6898be69cafe5a597e58c85e5ba93e5ad98e69fa5e8afa2_2
:
description
:
"
手术套包库存查询"
element_type
:
tree_title
section
:
"
main::main"
strategy
:
tree_node
value
:
"
手术套包库存查询"
tree
:
"
.menu-role-tree"
playwright
:
"
page.locator('.menu-role-tree
.ant-tree-title').filter({
hasText:
/^
\\
s*手术套包库存查询
\\
s*$/
})"
tree_el_e79b98e782b9e7aea1e79086_2
:
description
:
"
盘点管理"
element_type
:
tree_title
section
:
"
main::main"
strategy
:
tree_node
value
:
"
盘点管理"
tree
:
"
.menu-role-tree"
playwright
:
"
page.locator('.menu-role-tree
.ant-tree-title').filter({
hasText:
/^
\\
s*盘点管理
\\
s*$/
})"
tree_el_e79b98e782b9e8aea1e58892e7aea1e79086_3
:
description
:
"
盘点计划管理"
element_type
:
tree_title
section
:
"
main::main"
strategy
:
tree_node
value
:
"
盘点计划管理"
tree
:
"
.menu-role-tree"
playwright
:
"
page.locator('.menu-role-tree
.ant-tree-title').filter({
hasText:
/^
\\
s*盘点计划管理
\\
s*$/
})"
tree_el_e79b98e782b9e5bd95e585a5_3
:
description
:
"
盘点录入"
element_type
:
tree_title
section
:
"
main::main"
strategy
:
tree_node
value
:
"
盘点录入"
tree
:
"
.menu-role-tree"
playwright
:
"
page.locator('.menu-role-tree
.ant-tree-title').filter({
hasText:
/^
\\
s*盘点录入
\\
s*$/
})"
tree_node_e79b98e4ba8f
:
description
:
"
盘亏处理"
element_type
:
tree_title
section
:
"
main::main"
strategy
:
tree_node
value
:
"
盘亏处理"
tree
:
"
.menu-role-tree"
playwright
:
"
page.locator('.menu-role-tree
.ant-tree-title').filter({
hasText:
/^
\\
s*盘亏处理
\\
s*$/
})"
tree_el_e79b98e782b9e7bb9fe8aea1_3
:
description
:
"
盘点统计"
element_type
:
tree_title
section
:
"
main::main"
strategy
:
tree_node
value
:
"
盘点统计"
tree
:
"
.menu-role-tree"
playwright
:
"
page.locator('.menu-role-tree
.ant-tree-title').filter({
hasText:
/^
\\
s*盘点统计
\\
s*$/
})"
tree_el_e7a791e5aea4e5b7a5e4bd9ce58fb0_2
:
description
:
"
科室工作台"
element_type
:
tree_title
section
:
"
main::main"
strategy
:
tree_node
value
:
"
科室工作台"
tree
:
"
.menu-role-tree"
playwright
:
"
page.locator('.menu-role-tree
.ant-tree-title').filter({
hasText:
/^
\\
s*科室工作台
\\
s*$/
})"
tree_el_e7a791e5aea4e5b7a5e4bd9ce58fb0_3
:
description
:
"
科室工作台"
element_type
:
tree_title
section
:
"
main::main"
strategy
:
tree_node
value
:
"
科室工作台"
tree
:
"
.menu-role-tree"
playwright
:
"
page.locator('.menu-role-tree
.ant-tree-title').filter({
hasText:
/^
\\
s*科室工作台
\\
s*$/
})"
tree_el_e5a487e8b4a7e8aea1e58892_2
:
description
:
"
备货计划"
element_type
:
tree_title
section
:
"
main::main"
strategy
:
tree_node
value
:
"
备货计划"
tree
:
"
.menu-role-tree"
playwright
:
"
page.locator('.menu-role-tree
.ant-tree-title').filter({
hasText:
/^
\\
s*备货计划
\\
s*$/
})"
tree_el_e7a791e5aea4e5a487e8b4a7e8aea1e58892e58897e8a1a8_2
:
description
:
"
科室备货计划列表"
element_type
:
tree_title
section
:
"
main::main"
strategy
:
tree_node
value
:
"
科室备货计划列表"
tree
:
"
.menu-role-tree"
playwright
:
"
page.locator('.menu-role-tree
.ant-tree-title').filter({
hasText:
/^
\\
s*科室备货计划列表
\\
s*$/
})"
tree_el_e7a791e5aea4e5a487e8b4a7e8aea1e58892e69fa5e8afa2_2
:
description
:
"
科室备货计划查询"
element_type
:
tree_title
section
:
"
main::main"
strategy
:
tree_node
value
:
"
科室备货计划查询"
tree
:
"
.menu-role-tree"
playwright
:
"
page.locator('.menu-role-tree
.ant-tree-title').filter({
hasText:
/^
\\
s*科室备货计划查询
\\
s*$/
})"
tree_el_e5a487e8b4a7e8aea1e58892e6b187e680bbe5aea1e689b9_2
:
description
:
"
备货计划汇总审批"
element_type
:
tree_title
section
:
"
main::main"
strategy
:
tree_node
value
:
"
备货计划汇总审批"
tree
:
"
.menu-role-tree"
playwright
:
"
page.locator('.menu-role-tree
.ant-tree-title').filter({
hasText:
/^
\\
s*备货计划汇总审批
\\
s*$/
})"
tree_el_e7a791e5aea4e699bae883bde8a1a5e8b4a7_2
:
description
:
"
科室智能补货"
element_type
:
tree_title
section
:
"
main::main"
strategy
:
tree_node
value
:
"
科室智能补货"
tree
:
"
.menu-role-tree"
playwright
:
"
page.locator('.menu-role-tree
.ant-tree-title').filter({
hasText:
/^
\\
s*科室智能补货
\\
s*$/
})"
tree_el_e5ba93e5ad98e699bae883bde7aea1e79086e9a9bee9a9b6e888b1_2
:
description
:
"
库存智能管理驾驶舱"
element_type
:
tree_title
section
:
"
main::main"
strategy
:
tree_node
value
:
"
库存智能管理驾驶舱"
tree
:
"
.menu-role-tree"
playwright
:
"
page.locator('.menu-role-tree
.ant-tree-title').filter({
hasText:
/^
\\
s*库存智能管理驾驶舱
\\
s*$/
})"
tree_node_4149e8a1a5e8
:
description
:
"
AI补货建议"
element_type
:
tree_title
section
:
"
main::main"
strategy
:
tree_node
value
:
"
AI补货建议"
tree
:
"
.menu-role-tree"
playwright
:
"
page.locator('.menu-role-tree
.ant-tree-title').filter({
hasText:
/^
\\
s*AI补货建议
\\
s*$/
})"
tree_el_4149e9a284e6b58be58886e69e90e6af94e5afb92de6af8fe697a5e9a284e6b58b_2
:
description
:
"
AI预测分析比对-每日预测"
element_type
:
tree_title
section
:
"
main::main"
strategy
:
tree_node
value
:
"
AI预测分析比对-每日预测"
tree
:
"
.menu-role-tree"
playwright
:
"
page.locator('.menu-role-tree
.ant-tree-title').filter({
hasText:
/^
\\
s*AI预测分析比对-每日预测
\\
s*$/
})"
tree_el_4149e9a284e6b58be58886e69e90e6af94e5afb92de697a5e59d87e9a284e6b58b_3
:
description
:
"
AI预测分析比对-日均预测"
element_type
:
tree_title
section
:
"
main::main"
strategy
:
tree_node
value
:
"
AI预测分析比对-日均预测"
tree
:
"
.menu-role-tree"
playwright
:
"
page.locator('.menu-role-tree
.ant-tree-title').filter({
hasText:
/^
\\
s*AI预测分析比对-日均预测
\\
s*$/
})"
tree_node_finance_e8b4a2e58aa1
:
description
:
"
财务管理"
element_type
:
tree_title
section
:
"
main::main"
strategy
:
tree_node
value
:
"
财务管理"
tree
:
"
.menu-role-tree"
playwright
:
"
page.locator('.menu-role-tree
.ant-tree-title').filter({
hasText:
/^
\\
s*财务管理
\\
s*$/
})"
tree_el_e7bb93e7ae97e7aea1e79086_2
:
description
:
"
结算管理"
element_type
:
tree_title
section
:
"
main::main"
strategy
:
tree_node
value
:
"
结算管理"
tree
:
"
.menu-role-tree"
playwright
:
"
page.locator('.menu-role-tree
.ant-tree-title').filter({
hasText:
/^
\\
s*结算管理
\\
s*$/
})"
tree_node_e585a5e8b4a6
:
description
:
"
入账明细查询"
element_type
:
tree_title
section
:
"
main::main"
strategy
:
tree_node
value
:
"
入账明细查询"
tree
:
"
.menu-role-tree"
playwright
:
"
page.locator('.menu-role-tree
.ant-tree-title').filter({
hasText:
/^
\\
s*入账明细查询
\\
s*$/
})"
tree_el_e7bb93e7ae97e58d95e5aea1e6a0b8_2
:
description
:
"
结算单审核"
element_type
:
tree_title
section
:
"
main::main"
strategy
:
tree_node
value
:
"
结算单审核"
tree
:
"
.menu-role-tree"
playwright
:
"
page.locator('.menu-role-tree
.ant-tree-title').filter({
hasText:
/^
\\
s*结算单审核
\\
s*$/
})"
tree_el_e7949fe68890e7bb93e7ae97e58d95_2
:
description
:
"
生成结算单"
element_type
:
tree_title
section
:
"
main::main"
strategy
:
tree_node
value
:
"
生成结算单"
tree
:
"
.menu-role-tree"
playwright
:
"
page.locator('.menu-role-tree
.ant-tree-title').filter({
hasText:
/^
\\
s*生成结算单
\\
s*$/
})"
tree_el_e7bb93e7ae97e6988ee7bb86e7a791e5aea4e6a0b8e5afb9_2
:
description
:
"
结算明细科室核对"
element_type
:
tree_title
section
:
"
main::main"
strategy
:
tree_node
value
:
"
结算明细科室核对"
tree
:
"
.menu-role-tree"
playwright
:
"
page.locator('.menu-role-tree
.ant-tree-title').filter({
hasText:
/^
\\
s*结算明细科室核对
\\
s*$/
})"
tree_node_e58f91e7a5a8
:
description
:
"
发票核对"
element_type
:
tree_title
section
:
"
main::main"
strategy
:
tree_node
value
:
"
发票核对"
tree
:
"
.menu-role-tree"
playwright
:
"
page.locator('.menu-role-tree
.ant-tree-title').filter({
hasText:
/^
\\
s*发票核对
\\
s*$/
})"
tree_el_e58f91e7a5a8e68f90e4baa4_2
:
description
:
"
发票提交"
element_type
:
tree_title
section
:
"
main::main"
strategy
:
tree_node
value
:
"
发票提交"
tree
:
"
.menu-role-tree"
playwright
:
"
page.locator('.menu-role-tree
.ant-tree-title').filter({
hasText:
/^
\\
s*发票提交
\\
s*$/
})"
tree_el_e58f91e7a5a8e5bd92e6a1a3_2
:
description
:
"
发票归档"
element_type
:
tree_title
section
:
"
main::main"
strategy
:
tree_node
value
:
"
发票归档"
tree
:
"
.menu-role-tree"
playwright
:
"
page.locator('.menu-role-tree
.ant-tree-title').filter({
hasText:
/^
\\
s*发票归档
\\
s*$/
})"
tree_el_e7949fe68890e4bb98e6acbee58d95_2
:
description
:
"
生成付款单"
element_type
:
tree_title
section
:
"
main::main"
strategy
:
tree_node
value
:
"
生成付款单"
tree
:
"
.menu-role-tree"
playwright
:
"
page.locator('.menu-role-tree
.ant-tree-title').filter({
hasText:
/^
\\
s*生成付款单
\\
s*$/
})"
tree_el_e58f91e7a5a8e6988ee7bb86e7a791e5aea4e6a0b8e5afb9_2
:
description
:
"
发票明细科室核对"
element_type
:
tree_title
section
:
"
main::main"
strategy
:
tree_node
value
:
"
发票明细科室核对"
tree
:
"
.menu-role-tree"
playwright
:
"
page.locator('.menu-role-tree
.ant-tree-title').filter({
hasText:
/^
\\
s*发票明细科室核对
\\
s*$/
})"
tree_el_e58f91e7a5a8e69fa5e8afa2_2
:
description
:
"
发票查询"
element_type
:
tree_title
section
:
"
main::main"
strategy
:
tree_node
value
:
"
发票查询"
tree
:
"
.menu-role-tree"
playwright
:
"
page.locator('.menu-role-tree
.ant-tree-title').filter({
hasText:
/^
\\
s*发票查询
\\
s*$/
})"
tree_el_e7bb93e7ae97e5bc80e7a5a8e6988ee7bb86e69fa5e8afa2_2
:
description
:
"
结算开票明细查询"
element_type
:
tree_title
section
:
"
main::main"
strategy
:
tree_node
value
:
"
结算开票明细查询"
tree
:
"
.menu-role-tree"
playwright
:
"
page.locator('.menu-role-tree
.ant-tree-title').filter({
hasText:
/^
\\
s*结算开票明细查询
\\
s*$/
})"
tree_el_e58f91e7a5a8e5bd95e585a528e8b4a7e7a5a8e5908ce8a18c29_2
:
description
:
"
发票录入(货票同行)"
element_type
:
tree_title
section
:
"
main::main"
strategy
:
tree_node
value
:
"
发票录入(货票同行)"
tree
:
"
.menu-role-tree"
playwright
:
"
page.locator('.menu-role-tree
.ant-tree-title').filter({
hasText:
/^
\\
s*发票录入(货票同行)
\\
s*$/
})"
tree_node_e68890e69cac
:
description
:
"
成本明细科室核对"
element_type
:
tree_title
section
:
"
main::main"
strategy
:
tree_node
value
:
"
成本明细科室核对"
tree
:
"
.menu-role-tree"
playwright
:
"
page.locator('.menu-role-tree
.ant-tree-title').filter({
hasText:
/^
\\
s*成本明细科室核对
\\
s*$/
})"
tree_el_e68ea5e58fa3e58f91e7a5a8e7a1aee8aea4efbc88e8b4a7e7a5a8e5908ce8a18cefbc89_2
:
description
:
"
接口发票确认(货票同行)"
element_type
:
tree_title
section
:
"
main::main"
strategy
:
tree_node
value
:
"
接口发票确认(货票同行)"
tree
:
"
.menu-role-tree"
playwright
:
"
page.locator('.menu-role-tree
.ant-tree-title').filter({
hasText:
/^
\\
s*接口发票确认(货票同行)
\\
s*$/
})"
tree_node_e7bb93e5ad98
:
description
:
"
结存管理"
element_type
:
tree_title
section
:
"
main::main"
strategy
:
tree_node
value
:
"
结存管理"
tree
:
"
.menu-role-tree"
playwright
:
"
page.locator('.menu-role-tree
.ant-tree-title').filter({
hasText:
/^
\\
s*结存管理
\\
s*$/
})"
tree_node_e8b4a2e58aa1
:
description
:
"
财务结存"
element_type
:
tree_title
section
:
"
main::main"
strategy
:
tree_node
value
:
"
财务结存"
tree
:
"
.menu-role-tree"
playwright
:
"
page.locator('.menu-role-tree
.ant-tree-title').filter({
hasText:
/^
\\
s*财务结存
\\
s*$/
})"
tree_node_e789a9e6b581
:
description
:
"
物流结存"
element_type
:
tree_title
section
:
"
main::main"
strategy
:
tree_node
value
:
"
物流结存"
tree
:
"
.menu-role-tree"
playwright
:
"
page.locator('.menu-role-tree
.ant-tree-title').filter({
hasText:
/^
\\
s*物流结存
\\
s*$/
})"
tree_node_orthoVolume_e9aaa8e7a791
:
description
:
"
骨科带量"
element_type
:
tree_title
section
:
"
main::main"
strategy
:
tree_node
value
:
"
骨科带量"
tree
:
"
.menu-role-tree"
playwright
:
"
page.locator('.menu-role-tree
.ant-tree-title').filter({
hasText:
/^
\\
s*骨科带量
\\
s*$/
})"
tree_el_e59fbae7a180e695b0e68dae_2
:
description
:
"
基础数据"
element_type
:
tree_title
section
:
"
main::main"
strategy
:
tree_node
value
:
"
基础数据"
tree
:
"
.menu-role-tree"
playwright
:
"
page.locator('.menu-role-tree
.ant-tree-title').filter({
hasText:
/^
\\
s*基础数据
\\
s*$/
})"
tree_el_e5b8a6e9878fe7b3bbe7bb9fe7aea1e79086_2
:
description
:
"
带量系统管理"
element_type
:
tree_title
section
:
"
main::main"
strategy
:
tree_node
value
:
"
带量系统管理"
tree
:
"
.menu-role-tree"
playwright
:
"
page.locator('.menu-role-tree
.ant-tree-title').filter({
hasText:
/^
\\
s*带量系统管理
\\
s*$/
})"
tree_node_e9aaa8e7a791
:
description
:
"
骨科带量目录"
element_type
:
tree_title
section
:
"
main::main"
strategy
:
tree_node
value
:
"
骨科带量目录"
tree
:
"
.menu-role-tree"
playwright
:
"
page.locator('.menu-role-tree
.ant-tree-title').filter({
hasText:
/^
\\
s*骨科带量目录
\\
s*$/
})"
tree_node_e695b0e68dae
:
description
:
"
数据上报"
element_type
:
tree_title
section
:
"
main::main"
strategy
:
tree_node
value
:
"
数据上报"
tree
:
"
.menu-role-tree"
playwright
:
"
page.locator('.menu-role-tree
.ant-tree-title').filter({
hasText:
/^
\\
s*数据上报
\\
s*$/
})"
tree_node_e69caae6b885
:
description
:
"
未清洗数据"
element_type
:
tree_title
section
:
"
main::main"
strategy
:
tree_node
value
:
"
未清洗数据"
tree
:
"
.menu-role-tree"
playwright
:
"
page.locator('.menu-role-tree
.ant-tree-title').filter({
hasText:
/^
\\
s*未清洗数据
\\
s*$/
})"
tree_node_e5be85e7a1ae
:
description
:
"
待确认数据"
element_type
:
tree_title
section
:
"
main::main"
strategy
:
tree_node
value
:
"
待确认数据"
tree
:
"
.menu-role-tree"
playwright
:
"
page.locator('.menu-role-tree
.ant-tree-title').filter({
hasText:
/^
\\
s*待确认数据
\\
s*$/
})"
tree_node_e5be85e4b88a
:
description
:
"
待上报数据"
element_type
:
tree_title
section
:
"
main::main"
strategy
:
tree_node
value
:
"
待上报数据"
tree
:
"
.menu-role-tree"
playwright
:
"
page.locator('.menu-role-tree
.ant-tree-title').filter({
hasText:
/^
\\
s*待上报数据
\\
s*$/
})"
tree_node_e5b7b2e4b88a
:
description
:
"
已上报数据"
element_type
:
tree_title
section
:
"
main::main"
strategy
:
tree_node
value
:
"
已上报数据"
tree
:
"
.menu-role-tree"
playwright
:
"
page.locator('.menu-role-tree
.ant-tree-title').filter({
hasText:
/^
\\
s*已上报数据
\\
s*$/
})"
tree_el_e5b8a6e9878fe68aa5e8a1a8e58886e69e90_2
:
description
:
"
带量报表分析"
element_type
:
tree_title
section
:
"
main::main"
strategy
:
tree_node
value
:
"
带量报表分析"
tree
:
"
.menu-role-tree"
playwright
:
"
page.locator('.menu-role-tree
.ant-tree-title').filter({
hasText:
/^
\\
s*带量报表分析
\\
s*$/
})"
tree_el_e9aaa8e7a791e5b8a6e9878fe5ae8ce68890e8bf9be5baa6_2
:
description
:
"
骨科带量完成进度"
element_type
:
tree_title
section
:
"
main::main"
strategy
:
tree_node
value
:
"
骨科带量完成进度"
tree
:
"
.menu-role-tree"
playwright
:
"
page.locator('.menu-role-tree
.ant-tree-title').filter({
hasText:
/^
\\
s*骨科带量完成进度
\\
s*$/
})"
tree_node_general_e7bbbce59088
:
description
:
"
综合管理"
element_type
:
tree_title
section
:
"
main::main"
strategy
:
tree_node
value
:
"
综合管理"
tree
:
"
.menu-role-tree"
playwright
:
"
page.locator('.menu-role-tree
.ant-tree-title').filter({
hasText:
/^
\\
s*综合管理
\\
s*$/
})"
tree_node_e8aea1e98080
:
description
:
"
计退费管理"
element_type
:
tree_title
section
:
"
main::main"
strategy
:
tree_node
value
:
"
计退费管理"
tree
:
"
.menu-role-tree"
playwright
:
"
page.locator('.menu-role-tree
.ant-tree-title').filter({
hasText:
/^
\\
s*计退费管理
\\
s*$/
})"
tree_el_e6b688e88097e8aea1e8b4b9_2
:
description
:
"
消耗计费"
element_type
:
tree_title
section
:
"
main::main"
strategy
:
tree_node
value
:
"
消耗计费"
tree
:
"
.menu-role-tree"
playwright
:
"
page.locator('.menu-role-tree
.ant-tree-title').filter({
hasText:
/^
\\
s*消耗计费
\\
s*$/
})"
tree_el_e7a791e5aea4e587bae5ba93e6b187e680bbe68aa5e8a1a8_2
:
description
:
"
科室出库汇总报表"
element_type
:
tree_title
section
:
"
main::main"
strategy
:
tree_node
value
:
"
科室出库汇总报表"
tree
:
"
.menu-role-tree"
playwright
:
"
page.locator('.menu-role-tree
.ant-tree-title').filter({
hasText:
/^
\\
s*科室出库汇总报表
\\
s*$/
})"
tree_el_e7b4a7e680a5e585a5e5ba93e58f8ae8aea1e8b4b9_2
:
description
:
"
紧急入库及计费"
element_type
:
tree_title
section
:
"
main::main"
strategy
:
tree_node
value
:
"
紧急入库及计费"
tree
:
"
.menu-role-tree"
playwright
:
"
page.locator('.menu-role-tree
.ant-tree-title').filter({
hasText:
/^
\\
s*紧急入库及计费
\\
s*$/
})"
tree_node_e9ab98e580bc
:
description
:
"
高值计退费"
element_type
:
tree_title
section
:
"
main::main"
strategy
:
tree_node
value
:
"
高值计退费"
tree
:
"
.menu-role-tree"
playwright
:
"
page.locator('.menu-role-tree
.ant-tree-title').filter({
hasText:
/^
\\
s*高值计退费
\\
s*$/
})"
tree_el_e4be9be5ba94e59586e585a5e5ba93e6b187e680bbe68aa5e8a1a8_2
:
description
:
"
供应商入库汇总报表"
element_type
:
tree_title
section
:
"
main::main"
strategy
:
tree_node
value
:
"
供应商入库汇总报表"
tree
:
"
.menu-role-tree"
playwright
:
"
page.locator('.menu-role-tree
.ant-tree-title').filter({
hasText:
/^
\\
s*供应商入库汇总报表
\\
s*$/
})"
tree_node_e694b6e694af
:
description
:
"
收支汇总报表"
element_type
:
tree_title
section
:
"
main::main"
strategy
:
tree_node
value
:
"
收支汇总报表"
tree
:
"
.menu-role-tree"
playwright
:
"
page.locator('.menu-role-tree
.ant-tree-title').filter({
hasText:
/^
\\
s*收支汇总报表
\\
s*$/
})"
tree_el_e8aea1e98080e8b4b9e8aeb0e5bd95_2
:
description
:
"
计退费记录"
element_type
:
tree_title
section
:
"
main::main"
strategy
:
tree_node
value
:
"
计退费记录"
tree
:
"
.menu-role-tree"
playwright
:
"
page.locator('.menu-role-tree
.ant-tree-title').filter({
hasText:
/^
\\
s*计退费记录
\\
s*$/
})"
tree_el_e7a791e5aea4e587bae5ba93e6b187e680bbe68aa5e8a1a87632_2
:
description
:
"
科室出库汇总报表v2"
element_type
:
tree_title
section
:
"
main::main"
strategy
:
tree_node
value
:
"
科室出库汇总报表v2"
tree
:
"
.menu-role-tree"
playwright
:
"
page.locator('.menu-role-tree
.ant-tree-title').filter({
hasText:
/^
\\
s*科室出库汇总报表v2
\\
s*$/
})"
tree_node_e88097e69d90
:
description
:
"
耗材发放记录"
element_type
:
tree_title
section
:
"
main::main"
strategy
:
tree_node
value
:
"
耗材发放记录"
tree
:
"
.menu-role-tree"
playwright
:
"
page.locator('.menu-role-tree
.ant-tree-title').filter({
hasText:
/^
\\
s*耗材发放记录
\\
s*$/
})"
tree_el_e4b8ade5bf83e5ba93e4b89ae58aa1_2
:
description
:
"
中心库业务"
element_type
:
tree_title
section
:
"
main::main"
strategy
:
tree_node
value
:
"
中心库业务"
tree
:
"
.menu-role-tree"
playwright
:
"
page.locator('.menu-role-tree
.ant-tree-title').filter({
hasText:
/^
\\
s*中心库业务
\\
s*$/
})"
tree_el_e587bae5ba93e6a0b8e9aa8c_3
:
description
:
"
出库核验"
element_type
:
tree_title
section
:
"
main::main"
strategy
:
tree_node
value
:
"
出库核验"
tree
:
"
.menu-role-tree"
playwright
:
"
page.locator('.menu-role-tree
.ant-tree-title').filter({
hasText:
/^
\\
s*出库核验
\\
s*$/
})"
tree_el_e7a791e5aea4e8afb7e9a286e5aea1e99885_2
:
description
:
"
科室请领审阅"
element_type
:
tree_title
section
:
"
main::main"
strategy
:
tree_node
value
:
"
科室请领审阅"
tree
:
"
.menu-role-tree"
playwright
:
"
page.locator('.menu-role-tree
.ant-tree-title').filter({
hasText:
/^
\\
s*科室请领审阅
\\
s*$/
})"
tree_el_e98787e8b4ade6b187e680bbe5aea1e689b9_2
:
description
:
"
采购汇总审批"
element_type
:
tree_title
section
:
"
main::main"
strategy
:
tree_node
value
:
"
采购汇总审批"
tree
:
"
.menu-role-tree"
playwright
:
"
page.locator('.menu-role-tree
.ant-tree-title').filter({
hasText:
/^
\\
s*采购汇总审批
\\
s*$/
})"
tree_finance_2
:
description
:
"
财务管理"
element_type
:
tree_title
section
:
"
main::main"
strategy
:
tree_node
value
:
"
财务管理"
tree
:
"
.menu-role-tree"
playwright
:
"
page.locator('.menu-role-tree
.ant-tree-title').filter({
hasText:
/^
\\
s*财务管理
\\
s*$/
})"
tree_el_e7a791e5aea4e68890e69cace7a1aee8aea4_2
:
description
:
"
科室成本确认"
element_type
:
tree_title
section
:
"
main::main"
strategy
:
tree_node
value
:
"
科室成本确认"
tree
:
"
.menu-role-tree"
playwright
:
"
page.locator('.menu-role-tree
.ant-tree-title').filter({
hasText:
/^
\\
s*科室成本确认
\\
s*$/
})"
tree_el_e6a380e9aa8ce9a1b9e79baee4b88ee6a380e9aa8ce8af95e58982e5afb9e785a7e7bbb4e68aa4_2
:
description
:
"
检验项目与检验试剂对照维护"
element_type
:
tree_title
section
:
"
main::main"
strategy
:
tree_node
value
:
"
检验项目与检验试剂对照维护"
tree
:
"
.menu-role-tree"
playwright
:
"
page.locator('.menu-role-tree
.ant-tree-title').filter({
hasText:
/^
\\
s*检验项目与检验试剂对照维护
\\
s*$/
})"
tree_node_4249e68aa5e8
:
description
:
"
BI报表"
element_type
:
tree_title
section
:
"
main::main"
strategy
:
tree_node
value
:
"
BI报表"
tree
:
"
.menu-role-tree"
playwright
:
"
page.locator('.menu-role-tree
.ant-tree-title').filter({
hasText:
/^
\\
s*BI报表
\\
s*$/
})"
tree_el_4249e68aa5e8a1a8e58fafe8a786e58c96_2
:
description
:
"
BI报表可视化"
element_type
:
tree_title
section
:
"
main::main"
strategy
:
tree_node
value
:
"
BI报表可视化"
tree
:
"
.menu-role-tree"
playwright
:
"
page.locator('.menu-role-tree
.ant-tree-title').filter({
hasText:
/^
\\
s*BI报表可视化
\\
s*$/
})"
tree_node_yangcai_e998b3e98787
:
description
:
"
阳采管理"
element_type
:
tree_title
section
:
"
main::main"
strategy
:
tree_node
value
:
"
阳采管理"
tree
:
"
.menu-role-tree"
playwright
:
"
page.locator('.menu-role-tree
.ant-tree-title').filter({
hasText:
/^
\\
s*阳采管理
\\
s*$/
})"
tree_node_e998b3e98787
:
description
:
"
阳采字典管理"
element_type
:
tree_title
section
:
"
main::main"
strategy
:
tree_node
value
:
"
阳采字典管理"
tree
:
"
.menu-role-tree"
playwright
:
"
page.locator('.menu-role-tree
.ant-tree-title').filter({
hasText:
/^
\\
s*阳采字典管理
\\
s*$/
})"
tree_node_processCenter_e6b581e7a88b
:
description
:
"
流程中心"
element_type
:
tree_title
section
:
"
main::main"
strategy
:
tree_node
value
:
"
流程中心"
tree
:
"
.menu-role-tree"
playwright
:
"
page.locator('.menu-role-tree
.ant-tree-title').filter({
hasText:
/^
\\
s*流程中心
\\
s*$/
})"
tree_el_e5aea1e689b9e4b8ade5bf83_2
:
description
:
"
审批中心"
element_type
:
tree_title
section
:
"
main::main"
strategy
:
tree_node
value
:
"
审批中心"
tree
:
"
.menu-role-tree"
playwright
:
"
page.locator('.menu-role-tree
.ant-tree-title').filter({
hasText:
/^
\\
s*审批中心
\\
s*$/
})"
tree_node_e68891e79a84
:
description
:
"
我的"
element_type
:
tree_title
section
:
"
main::main"
strategy
:
tree_node
value
:
"
我的"
tree
:
"
.menu-role-tree"
playwright
:
"
page.locator('.menu-role-tree
.ant-tree-title').filter({
hasText:
/^
\\
s*我的
\\
s*$/
})"
tree_node_e983a8e997a8
:
description
:
"
部门待审批单据"
element_type
:
tree_title
section
:
"
main::main"
strategy
:
tree_node
value
:
"
部门待审批单据"
tree
:
"
.menu-role-tree"
playwright
:
"
page.locator('.menu-role-tree
.ant-tree-title').filter({
hasText:
/^
\\
s*部门待审批单据
\\
s*$/
})"
tree_node_logistics_e5908ee58ba4
:
description
:
"
后勤物资管理"
element_type
:
tree_title
section
:
"
main::main"
strategy
:
tree_node
value
:
"
后勤物资管理"
tree
:
"
.menu-role-tree"
playwright
:
"
page.locator('.menu-role-tree
.ant-tree-title').filter({
hasText:
/^
\\
s*后勤物资管理
\\
s*$/
})"
tree_basicSetting_2
:
description
:
"
基础设置"
element_type
:
tree_title
section
:
"
main::main"
strategy
:
tree_node
value
:
"
基础设置"
tree
:
"
.menu-role-tree"
playwright
:
"
page.locator('.menu-role-tree
.ant-tree-title').filter({
hasText:
/^
\\
s*基础设置
\\
s*$/
})"
tree_el_e4be9be5ba94e59586e7aea1e79086_2
:
description
:
"
供应商管理"
element_type
:
tree_title
section
:
"
main::main"
strategy
:
tree_node
value
:
"
供应商管理"
tree
:
"
.menu-role-tree"
playwright
:
"
page.locator('.menu-role-tree
.ant-tree-title').filter({
hasText:
/^
\\
s*供应商管理
\\
s*$/
})"
tree_el_e789a9e8b584e5ad97e585b8e7aea1e79086_2
:
description
:
"
物资字典管理"
element_type
:
tree_title
section
:
"
main::main"
strategy
:
tree_node
value
:
"
物资字典管理"
tree
:
"
.menu-role-tree"
playwright
:
"
page.locator('.menu-role-tree
.ant-tree-title').filter({
hasText:
/^
\\
s*物资字典管理
\\
s*$/
})"
tree_el_e7a791e5aea4e5ad97e585b8e58886e9858d_2
:
description
:
"
科室字典分配"
element_type
:
tree_title
section
:
"
main::main"
strategy
:
tree_node
value
:
"
科室字典分配"
tree
:
"
.menu-role-tree"
playwright
:
"
page.locator('.menu-role-tree
.ant-tree-title').filter({
hasText:
/^
\\
s*科室字典分配
\\
s*$/
})"
tree_el_e999a2e58cbae789a9e8b584e8aebee7bdae_2
:
description
:
"
院区物资设置"
element_type
:
tree_title
section
:
"
main::main"
strategy
:
tree_node
value
:
"
院区物资设置"
tree
:
"
.menu-role-tree"
playwright
:
"
page.locator('.menu-role-tree
.ant-tree-title').filter({
hasText:
/^
\\
s*院区物资设置
\\
s*$/
})"
tree_el_e8afb7e9a286e6a8a1e78988e7bbb4e68aa4_2
:
description
:
"
请领模版维护"
element_type
:
tree_title
section
:
"
main::main"
strategy
:
tree_node
value
:
"
请领模版维护"
tree
:
"
.menu-role-tree"
playwright
:
"
page.locator('.menu-role-tree
.ant-tree-title').filter({
hasText:
/^
\\
s*请领模版维护
\\
s*$/
})"
tree_purchase_2
:
description
:
"
采购管理"
element_type
:
tree_title
section
:
"
main::main"
strategy
:
tree_node
value
:
"
采购管理"
tree
:
"
.menu-role-tree"
playwright
:
"
page.locator('.menu-role-tree
.ant-tree-title').filter({
hasText:
/^
\\
s*采购管理
\\
s*$/
})"
tree_el_e7a791e5aea4e5a487e8b4a7e8aea1e58892_2
:
description
:
"
科室备货计划"
element_type
:
tree_title
section
:
"
main::main"
strategy
:
tree_node
value
:
"
科室备货计划"
tree
:
"
.menu-role-tree"
playwright
:
"
page.locator('.menu-role-tree
.ant-tree-title').filter({
hasText:
/^
\\
s*科室备货计划
\\
s*$/
})"
tree_el_e5a487e8b4a7e8aea1e58892e6b187e680bb_2
:
description
:
"
备货计划汇总"
element_type
:
tree_title
section
:
"
main::main"
strategy
:
tree_node
value
:
"
备货计划汇总"
tree
:
"
.menu-role-tree"
playwright
:
"
page.locator('.menu-role-tree
.ant-tree-title').filter({
hasText:
/^
\\
s*备货计划汇总
\\
s*$/
})"
tree_el_e98787e8b4ade8aea1e58892_2
:
description
:
"
采购计划"
element_type
:
tree_title
section
:
"
main::main"
strategy
:
tree_node
value
:
"
采购计划"
tree
:
"
.menu-role-tree"
playwright
:
"
page.locator('.menu-role-tree
.ant-tree-title').filter({
hasText:
/^
\\
s*采购计划
\\
s*$/
})"
tree_el_e98787e8b4ade8aea1e58892e6988ee7bb86e69fa5e8afa2_2
:
description
:
"
采购计划明细查询"
element_type
:
tree_title
section
:
"
main::main"
strategy
:
tree_node
value
:
"
采购计划明细查询"
tree
:
"
.menu-role-tree"
playwright
:
"
page.locator('.menu-role-tree
.ant-tree-title').filter({
hasText:
/^
\\
s*采购计划明细查询
\\
s*$/
})"
tree_el_e98787e8b4ade58d95e7aea1e79086_3
:
description
:
"
采购单管理"
element_type
:
tree_title
section
:
"
main::main"
strategy
:
tree_node
value
:
"
采购单管理"
tree
:
"
.menu-role-tree"
playwright
:
"
page.locator('.menu-role-tree
.ant-tree-title').filter({
hasText:
/^
\\
s*采购单管理
\\
s*$/
})"
tree_node_e9858de98081
:
description
:
"
配送管理"
element_type
:
tree_title
section
:
"
main::main"
strategy
:
tree_node
value
:
"
配送管理"
tree
:
"
.menu-role-tree"
playwright
:
"
page.locator('.menu-role-tree
.ant-tree-title').filter({
hasText:
/^
\\
s*配送管理
\\
s*$/
})"
tree_el_e887aae58aa8e98787e8b4ade5bbbae8aeae_2
:
description
:
"
自动采购建议"
element_type
:
tree_title
section
:
"
main::main"
strategy
:
tree_node
value
:
"
自动采购建议"
tree
:
"
.menu-role-tree"
playwright
:
"
page.locator('.menu-role-tree
.ant-tree-title').filter({
hasText:
/^
\\
s*自动采购建议
\\
s*$/
})"
tree_el_e4b8ade5bf83e5ba93e4b89ae58aa1_3
:
description
:
"
中心库业务"
element_type
:
tree_title
section
:
"
main::main"
strategy
:
tree_node
value
:
"
中心库业务"
tree
:
"
.menu-role-tree"
playwright
:
"
page.locator('.menu-role-tree
.ant-tree-title').filter({
hasText:
/^
\\
s*中心库业务
\\
s*$/
})"
tree_el_e9aa8ce694b6e7aea1e79086_2
:
description
:
"
验收管理"
element_type
:
tree_title
section
:
"
main::main"
strategy
:
tree_node
value
:
"
验收管理"
tree
:
"
.menu-role-tree"
playwright
:
"
page.locator('.menu-role-tree
.ant-tree-title').filter({
hasText:
/^
\\
s*验收管理
\\
s*$/
})"
tree_el_e585a5e5ba93e58d95e58897e8a1a8_2
:
description
:
"
入库单列表"
element_type
:
tree_title
section
:
"
main::main"
strategy
:
tree_node
value
:
"
入库单列表"
tree
:
"
.menu-role-tree"
playwright
:
"
page.locator('.menu-role-tree
.ant-tree-title').filter({
hasText:
/^
\\
s*入库单列表
\\
s*$/
})"
tree_el_e6898be5b7a5e585a5e5ba93_2
:
description
:
"
手工入库"
element_type
:
tree_title
section
:
"
main::main"
strategy
:
tree_node
value
:
"
手工入库"
tree
:
"
.menu-role-tree"
playwright
:
"
page.locator('.menu-role-tree
.ant-tree-title').filter({
hasText:
/^
\\
s*手工入库
\\
s*$/
})"
tree_el_e6898be5b7a5e587bae5ba93_3
:
description
:
"
手工出库"
element_type
:
tree_title
section
:
"
main::main"
strategy
:
tree_node
value
:
"
手工出库"
tree
:
"
.menu-role-tree"
playwright
:
"
page.locator('.menu-role-tree
.ant-tree-title').filter({
hasText:
/^
\\
s*手工出库
\\
s*$/
})"
tree_el_e587bae5ba93e58d95e58897e8a1a8_3
:
description
:
"
出库单列表"
element_type
:
tree_title
section
:
"
main::main"
strategy
:
tree_node
value
:
"
出库单列表"
tree
:
"
.menu-role-tree"
playwright
:
"
page.locator('.menu-role-tree
.ant-tree-title').filter({
hasText:
/^
\\
s*出库单列表
\\
s*$/
})"
tree_el_e98080e8b4a7e587bae5ba93_2
:
description
:
"
退货出库"
element_type
:
tree_title
section
:
"
main::main"
strategy
:
tree_node
value
:
"
退货出库"
tree
:
"
.menu-role-tree"
playwright
:
"
page.locator('.menu-role-tree
.ant-tree-title').filter({
hasText:
/^
\\
s*退货出库
\\
s*$/
})"
tree_el_e587bae5ba93e58d95e5aea1e6a0b8_2
:
description
:
"
出库单审核"
element_type
:
tree_title
section
:
"
main::main"
strategy
:
tree_node
value
:
"
出库单审核"
tree
:
"
.menu-role-tree"
playwright
:
"
page.locator('.menu-role-tree
.ant-tree-title').filter({
hasText:
/^
\\
s*出库单审核
\\
s*$/
})"
tree_el_e8afb7e9a286e4b8ade5bf83e5ba93e5aea1e6a0b8_2
:
description
:
"
请领中心库审核"
element_type
:
tree_title
section
:
"
main::main"
strategy
:
tree_node
value
:
"
请领中心库审核"
tree
:
"
.menu-role-tree"
playwright
:
"
page.locator('.menu-role-tree
.ant-tree-title').filter({
hasText:
/^
\\
s*请领中心库审核
\\
s*$/
})"
tree_el_e8afb7e9a286e587bae5ba93_2
:
description
:
"
请领出库"
element_type
:
tree_title
section
:
"
main::main"
strategy
:
tree_node
value
:
"
请领出库"
tree
:
"
.menu-role-tree"
playwright
:
"
page.locator('.menu-role-tree
.ant-tree-title').filter({
hasText:
/^
\\
s*请领出库
\\
s*$/
})"
tree_el_e4b88ae69eb6e585a5e5ba93_2
:
description
:
"
上架入库"
element_type
:
tree_title
section
:
"
main::main"
strategy
:
tree_node
value
:
"
上架入库"
tree
:
"
.menu-role-tree"
playwright
:
"
page.locator('.menu-role-tree
.ant-tree-title').filter({
hasText:
/^
\\
s*上架入库
\\
s*$/
})"
tree_el_e98080e8b4a7e6988ee7bb86e69fa5e8afa2_3
:
description
:
"
退货明细查询"
element_type
:
tree_title
section
:
"
main::main"
strategy
:
tree_node
value
:
"
退货明细查询"
tree
:
"
.menu-role-tree"
playwright
:
"
page.locator('.menu-role-tree
.ant-tree-title').filter({
hasText:
/^
\\
s*退货明细查询
\\
s*$/
})"
tree_el_e7a791e5aea4e4b89ae58aa1_2
:
description
:
"
科室业务"
element_type
:
tree_title
section
:
"
main::main"
strategy
:
tree_node
value
:
"
科室业务"
tree
:
"
.menu-role-tree"
playwright
:
"
page.locator('.menu-role-tree
.ant-tree-title').filter({
hasText:
/^
\\
s*科室业务
\\
s*$/
})"
tree_el_e7a791e5aea4e585a5e5ba93_3
:
description
:
"
科室入库"
element_type
:
tree_title
section
:
"
main::main"
strategy
:
tree_node
value
:
"
科室入库"
tree
:
"
.menu-role-tree"
playwright
:
"
page.locator('.menu-role-tree
.ant-tree-title').filter({
hasText:
/^
\\
s*科室入库
\\
s*$/
})"
tree_el_e68891e8a681e8afb7e9a286_3
:
description
:
"
我要请领"
element_type
:
tree_title
section
:
"
main::main"
strategy
:
tree_node
value
:
"
我要请领"
tree
:
"
.menu-role-tree"
playwright
:
"
page.locator('.menu-role-tree
.ant-tree-title').filter({
hasText:
/^
\\
s*我要请领
\\
s*$/
})"
tree_el_e8afb7e9a286e7a791e5aea4e5aea1e6a0b8_2
:
description
:
"
请领科室审核"
element_type
:
tree_title
section
:
"
main::main"
strategy
:
tree_node
value
:
"
请领科室审核"
tree
:
"
.menu-role-tree"
playwright
:
"
page.locator('.menu-role-tree
.ant-tree-title').filter({
hasText:
/^
\\
s*请领科室审核
\\
s*$/
})"
tree_el_e585a5e5ba93e58d95e58897e8a1a8_3
:
description
:
"
入库单列表"
element_type
:
tree_title
section
:
"
main::main"
strategy
:
tree_node
value
:
"
入库单列表"
tree
:
"
.menu-role-tree"
playwright
:
"
page.locator('.menu-role-tree
.ant-tree-title').filter({
hasText:
/^
\\
s*入库单列表
\\
s*$/
})"
tree_el_e587bae5ba93e58d95e58897e8a1a8_4
:
description
:
"
出库单列表"
element_type
:
tree_title
section
:
"
main::main"
strategy
:
tree_node
value
:
"
出库单列表"
tree
:
"
.menu-role-tree"
playwright
:
"
page.locator('.menu-role-tree
.ant-tree-title').filter({
hasText:
/^
\\
s*出库单列表
\\
s*$/
})"
tree_el_e7a791e5aea4e6b688e88097_2
:
description
:
"
科室消耗"
element_type
:
tree_title
section
:
"
main::main"
strategy
:
tree_node
value
:
"
科室消耗"
tree
:
"
.menu-role-tree"
playwright
:
"
page.locator('.menu-role-tree
.ant-tree-title').filter({
hasText:
/^
\\
s*科室消耗
\\
s*$/
})"
tree_el_e7a791e5aea4e98080e5ba93_2
:
description
:
"
科室退库"
element_type
:
tree_title
section
:
"
main::main"
strategy
:
tree_node
value
:
"
科室退库"
tree
:
"
.menu-role-tree"
playwright
:
"
page.locator('.menu-role-tree
.ant-tree-title').filter({
hasText:
/^
\\
s*科室退库
\\
s*$/
})"
tree_el_e5ba93e5ad98e69fa5e8afa2_3
:
description
:
"
库存查询"
element_type
:
tree_title
section
:
"
main::main"
strategy
:
tree_node
value
:
"
库存查询"
tree
:
"
.menu-role-tree"
playwright
:
"
page.locator('.menu-role-tree
.ant-tree-title').filter({
hasText:
/^
\\
s*库存查询
\\
s*$/
})"
tree_el_e5ba93e5ad98e6b187e680bbe69fa5e8afa2_3
:
description
:
"
库存汇总查询"
element_type
:
tree_title
section
:
"
main::main"
strategy
:
tree_node
value
:
"
库存汇总查询"
tree
:
"
.menu-role-tree"
playwright
:
"
page.locator('.menu-role-tree
.ant-tree-title').filter({
hasText:
/^
\\
s*库存汇总查询
\\
s*$/
})"
tree_el_e5ba93e5ad98e6988ee7bb86_2
:
description
:
"
库存明细"
element_type
:
tree_title
section
:
"
main::main"
strategy
:
tree_node
value
:
"
库存明细"
tree
:
"
.menu-role-tree"
playwright
:
"
page.locator('.menu-role-tree
.ant-tree-title').filter({
hasText:
/^
\\
s*库存明细
\\
s*$/
})"
tree_finance_3
:
description
:
"
财务管理"
element_type
:
tree_title
section
:
"
main::main"
strategy
:
tree_node
value
:
"
财务管理"
tree
:
"
.menu-role-tree"
playwright
:
"
page.locator('.menu-role-tree
.ant-tree-title').filter({
hasText:
/^
\\
s*财务管理
\\
s*$/
})"
tree_el_e58f91e7a5a8e5bd95e585a5_2
:
description
:
"
发票录入"
element_type
:
tree_title
section
:
"
main::main"
strategy
:
tree_node
value
:
"
发票录入"
tree
:
"
.menu-role-tree"
playwright
:
"
page.locator('.menu-role-tree
.ant-tree-title').filter({
hasText:
/^
\\
s*发票录入
\\
s*$/
})"
tree_el_e58f91e7a5a8e5aea1e6a0b8_2
:
description
:
"
发票审核"
element_type
:
tree_title
section
:
"
main::main"
strategy
:
tree_node
value
:
"
发票审核"
tree
:
"
.menu-role-tree"
playwright
:
"
page.locator('.menu-role-tree
.ant-tree-title').filter({
hasText:
/^
\\
s*发票审核
\\
s*$/
})"
tree_el_e58f91e7a5a8e69fa5e8afa2_3
:
description
:
"
发票查询"
element_type
:
tree_title
section
:
"
main::main"
strategy
:
tree_node
value
:
"
发票查询"
tree
:
"
.menu-role-tree"
playwright
:
"
page.locator('.menu-role-tree
.ant-tree-title').filter({
hasText:
/^
\\
s*发票查询
\\
s*$/
})"
tree_node_statReport_e7bb9fe8aea1
:
description
:
"
统计报表"
element_type
:
tree_title
section
:
"
main::main"
strategy
:
tree_node
value
:
"
统计报表"
tree
:
"
.menu-role-tree"
playwright
:
"
page.locator('.menu-role-tree
.ant-tree-title').filter({
hasText:
/^
\\
s*统计报表
\\
s*$/
})"
tree_el_e4b8ade5bf83e5ba93e587bae585a5e5ba93e68aa5e8a1a8_2
:
description
:
"
中心库出入库报表"
element_type
:
tree_title
section
:
"
main::main"
strategy
:
tree_node
value
:
"
中心库出入库报表"
tree
:
"
.menu-role-tree"
playwright
:
"
page.locator('.menu-role-tree
.ant-tree-title').filter({
hasText:
/^
\\
s*中心库出入库报表
\\
s*$/
})"
tree_node_inOutDetailQuery_e587bae585a5
:
description
:
"
出入库明细查询"
element_type
:
tree_title
section
:
"
main::main"
strategy
:
tree_node
value
:
"
出入库明细查询"
tree
:
"
.menu-role-tree"
playwright
:
"
page.locator('.menu-role-tree
.ant-tree-title').filter({
hasText:
/^
\\
s*出入库明细查询
\\
s*$/
})"
tree_node_inboundSummaryQuery_e585a5e5ba93
:
description
:
"
入库汇总查询"
element_type
:
tree_title
section
:
"
main::main"
strategy
:
tree_node
value
:
"
入库汇总查询"
tree
:
"
.menu-role-tree"
playwright
:
"
page.locator('.menu-role-tree
.ant-tree-title').filter({
hasText:
/^
\\
s*入库汇总查询
\\
s*$/
})"
tree_node_outboundSummaryQuery_e587bae5ba93
:
description
:
"
出库汇总查询"
element_type
:
tree_title
section
:
"
main::main"
strategy
:
tree_node
value
:
"
出库汇总查询"
tree
:
"
.menu-role-tree"
playwright
:
"
page.locator('.menu-role-tree
.ant-tree-title').filter({
hasText:
/^
\\
s*出库汇总查询
\\
s*$/
})"
tree_el_e4b8ade5bf83e5ba93e4baa7e59381e8bf9be99480e5ad98_2
:
description
:
"
中心库产品进销存"
element_type
:
tree_title
section
:
"
main::main"
strategy
:
tree_node
value
:
"
中心库产品进销存"
tree
:
"
.menu-role-tree"
playwright
:
"
page.locator('.menu-role-tree
.ant-tree-title').filter({
hasText:
/^
\\
s*中心库产品进销存
\\
s*$/
})"
tree_node_e587bae585a5
:
description
:
"
出入库明细查询(后勤)"
element_type
:
tree_title
section
:
"
main::main"
strategy
:
tree_node
value
:
"
出入库明细查询(后勤)"
tree
:
"
.menu-role-tree"
playwright
:
"
page.locator('.menu-role-tree
.ant-tree-title').filter({
hasText:
/^
\\
s*出入库明细查询(后勤)
\\
s*$/
})"
tree_el_e4baa7e59381e591a8e8bdace78e87e68aa5e8a1a8_2
:
description
:
"
产品周转率报表"
element_type
:
tree_title
section
:
"
main::main"
strategy
:
tree_node
value
:
"
产品周转率报表"
tree
:
"
.menu-role-tree"
playwright
:
"
page.locator('.menu-role-tree
.ant-tree-title').filter({
hasText:
/^
\\
s*产品周转率报表
\\
s*$/
})"
tree_el_e4b8ade5bf83e5ba93e8bf9be99480e5ad9828e5908ee58ba429_2
:
description
:
"
中心库进销存(后勤)"
element_type
:
tree_title
section
:
"
main::main"
strategy
:
tree_node
value
:
"
中心库进销存(后勤)"
tree
:
"
.menu-role-tree"
playwright
:
"
page.locator('.menu-role-tree
.ant-tree-title').filter({
hasText:
/^
\\
s*中心库进销存(后勤)
\\
s*$/
})"
tree_node_e58780e585a5
:
description
:
"
净入库汇总查询(多维度)"
element_type
:
tree_title
section
:
"
main::main"
strategy
:
tree_node
value
:
"
净入库汇总查询(多维度)"
tree
:
"
.menu-role-tree"
playwright
:
"
page.locator('.menu-role-tree
.ant-tree-title').filter({
hasText:
/^
\\
s*净入库汇总查询(多维度)
\\
s*$/
})"
tree_node_e58780e587ba
:
description
:
"
净出库汇总查询(多维度)"
element_type
:
tree_title
section
:
"
main::main"
strategy
:
tree_node
value
:
"
净出库汇总查询(多维度)"
tree
:
"
.menu-role-tree"
playwright
:
"
page.locator('.menu-role-tree
.ant-tree-title').filter({
hasText:
/^
\\
s*净出库汇总查询(多维度)
\\
s*$/
})"
tree_el_e7a791e5aea4e587bae585a5e5ba93e68aa5e8a1a8_2
:
description
:
"
科室出入库报表"
element_type
:
tree_title
section
:
"
main::main"
strategy
:
tree_node
value
:
"
科室出入库报表"
tree
:
"
.menu-role-tree"
playwright
:
"
page.locator('.menu-role-tree
.ant-tree-title').filter({
hasText:
/^
\\
s*科室出入库报表
\\
s*$/
})"
tree_inOutDetailQuery_2
:
description
:
"
出入库明细查询"
element_type
:
tree_title
section
:
"
main::main"
strategy
:
tree_node
value
:
"
出入库明细查询"
tree
:
"
.menu-role-tree"
playwright
:
"
page.locator('.menu-role-tree
.ant-tree-title').filter({
hasText:
/^
\\
s*出入库明细查询
\\
s*$/
})"
tree_inboundSummaryQuery_2
:
description
:
"
入库汇总查询"
element_type
:
tree_title
section
:
"
main::main"
strategy
:
tree_node
value
:
"
入库汇总查询"
tree
:
"
.menu-role-tree"
playwright
:
"
page.locator('.menu-role-tree
.ant-tree-title').filter({
hasText:
/^
\\
s*入库汇总查询
\\
s*$/
})"
tree_outboundSummaryQuery_2
:
description
:
"
出库汇总查询"
element_type
:
tree_title
section
:
"
main::main"
strategy
:
tree_node
value
:
"
出库汇总查询"
tree
:
"
.menu-role-tree"
playwright
:
"
page.locator('.menu-role-tree
.ant-tree-title').filter({
hasText:
/^
\\
s*出库汇总查询
\\
s*$/
})"
tree_el_e7a791e5aea4e4baa7e59381e8bf9be99480e5ad98_2
:
description
:
"
科室产品进销存"
element_type
:
tree_title
section
:
"
main::main"
strategy
:
tree_node
value
:
"
科室产品进销存"
tree
:
"
.menu-role-tree"
playwright
:
"
page.locator('.menu-role-tree
.ant-tree-title').filter({
hasText:
/^
\\
s*科室产品进销存
\\
s*$/
})"
tree_el_e587bae585a5e5ba93e6988ee7bb86e69fa5e8afa228e5908ee58ba4efbc89_2
:
description
:
"
出入库明细查询(后勤)"
element_type
:
tree_title
section
:
"
main::main"
strategy
:
tree_node
value
:
"
出入库明细查询(后勤)"
tree
:
"
.menu-role-tree"
playwright
:
"
page.locator('.menu-role-tree
.ant-tree-title').filter({
hasText:
/^
\\
s*出入库明细查询(后勤)
\\
s*$/
})"
tree_el_e7a791e5aea4e4baa7e59381e591a8e8bdace78e87e68aa5e8a1a8_2
:
description
:
"
科室产品周转率报表"
element_type
:
tree_title
section
:
"
main::main"
strategy
:
tree_node
value
:
"
科室产品周转率报表"
tree
:
"
.menu-role-tree"
playwright
:
"
page.locator('.menu-role-tree
.ant-tree-title').filter({
hasText:
/^
\\
s*科室产品周转率报表
\\
s*$/
})"
tree_el_e7bb93e7ae97e68890e69cace68aa5e8a1a8_2
:
description
:
"
结算成本报表"
element_type
:
tree_title
section
:
"
main::main"
strategy
:
tree_node
value
:
"
结算成本报表"
tree
:
"
.menu-role-tree"
playwright
:
"
page.locator('.menu-role-tree
.ant-tree-title').filter({
hasText:
/^
\\
s*结算成本报表
\\
s*$/
})"
tree_el_e68890e69cace585a5e8b4a6e6988ee7bb86e69fa5e8afa2_2
:
description
:
"
成本入账明细查询"
element_type
:
tree_title
section
:
"
main::main"
strategy
:
tree_node
value
:
"
成本入账明细查询"
tree
:
"
.menu-role-tree"
playwright
:
"
page.locator('.menu-role-tree
.ant-tree-title').filter({
hasText:
/^
\\
s*成本入账明细查询
\\
s*$/
})"
tree_el_e7bb93e7ae97e585a5e8b4a6e6988ee7bb86e69fa5e8afa2_2
:
description
:
"
结算入账明细查询"
element_type
:
tree_title
section
:
"
main::main"
strategy
:
tree_node
value
:
"
结算入账明细查询"
tree
:
"
.menu-role-tree"
playwright
:
"
page.locator('.menu-role-tree
.ant-tree-title').filter({
hasText:
/^
\\
s*结算入账明细查询
\\
s*$/
})"
tree_el_e8b4a2e58aa1e58886e7b1bbe8bf9be99480e5ad98_2
:
description
:
"
财务分类进销存"
element_type
:
tree_title
section
:
"
main::main"
strategy
:
tree_node
value
:
"
财务分类进销存"
tree
:
"
.menu-role-tree"
playwright
:
"
page.locator('.menu-role-tree
.ant-tree-title').filter({
hasText:
/^
\\
s*财务分类进销存
\\
s*$/
})"
tree_el_e8b4a2e58aa1e4baa7e59381e8bf9be99480e5ad98_2
:
description
:
"
财务产品进销存"
element_type
:
tree_title
section
:
"
main::main"
strategy
:
tree_node
value
:
"
财务产品进销存"
tree
:
"
.menu-role-tree"
playwright
:
"
page.locator('.menu-role-tree
.ant-tree-title').filter({
hasText:
/^
\\
s*财务产品进销存
\\
s*$/
})"
tree_el_e7a791e5aea4e68890e69cace58886e7b1bbe6b187e680bb_2
:
description
:
"
科室成本分类汇总"
element_type
:
tree_title
section
:
"
main::main"
strategy
:
tree_node
value
:
"
科室成本分类汇总"
tree
:
"
.menu-role-tree"
playwright
:
"
page.locator('.menu-role-tree
.ant-tree-title').filter({
hasText:
/^
\\
s*科室成本分类汇总
\\
s*$/
})"
tree_el_e4be9be5ba94e59586e585a5e8b4a6e58886e7b1bbe6b187e680bb_2
:
description
:
"
供应商入账分类汇总"
element_type
:
tree_title
section
:
"
main::main"
strategy
:
tree_node
value
:
"
供应商入账分类汇总"
tree
:
"
.menu-role-tree"
playwright
:
"
page.locator('.menu-role-tree
.ant-tree-title').filter({
hasText:
/^
\\
s*供应商入账分类汇总
\\
s*$/
})"
tree_el_e7a791e5aea4e68890e69cace58886e7b1bbe6b187e680bb28e8aea1e8b4b9e7a791e5aea429_2
:
description
:
"
科室成本分类汇总(计费科室)"
element_type
:
tree_title
section
:
"
main::main"
strategy
:
tree_node
value
:
"
科室成本分类汇总(计费科室)"
tree
:
"
.menu-role-tree"
playwright
:
"
page.locator('.menu-role-tree
.ant-tree-title').filter({
hasText:
/^
\\
s*科室成本分类汇总(计费科室)
\\
s*$/
})"
tree_el_e7a791e5aea4e58780e585a5e68890e69cace69fa5e8afa2_2
:
description
:
"
科室净入成本查询"
element_type
:
tree_title
section
:
"
main::main"
strategy
:
tree_node
value
:
"
科室净入成本查询"
tree
:
"
.menu-role-tree"
playwright
:
"
page.locator('.menu-role-tree
.ant-tree-title').filter({
hasText:
/^
\\
s*科室净入成本查询
\\
s*$/
})"
tree_el_e7a791e5aea4e68890e69cace68e92e5908d_2
:
description
:
"
科室成本排名"
element_type
:
tree_title
section
:
"
main::main"
strategy
:
tree_node
value
:
"
科室成本排名"
tree
:
"
.menu-role-tree"
playwright
:
"
page.locator('.menu-role-tree
.ant-tree-title').filter({
hasText:
/^
\\
s*科室成本排名
\\
s*$/
})"
tree_el_e4baa7e59381e68890e69cace68e92e5908d_2
:
description
:
"
产品成本排名"
element_type
:
tree_title
section
:
"
main::main"
strategy
:
tree_node
value
:
"
产品成本排名"
tree
:
"
.menu-role-tree"
playwright
:
"
page.locator('.menu-role-tree
.ant-tree-title').filter({
hasText:
/^
\\
s*产品成本排名
\\
s*$/
})"
tree_el_e68890e69cace585a5e8b4a6e6b187e680bbe69fa5e8afa2_2
:
description
:
"
成本入账汇总查询"
element_type
:
tree_title
section
:
"
main::main"
strategy
:
tree_node
value
:
"
成本入账汇总查询"
tree
:
"
.menu-role-tree"
playwright
:
"
page.locator('.menu-role-tree
.ant-tree-title').filter({
hasText:
/^
\\
s*成本入账汇总查询
\\
s*$/
})"
tree_el_e7a791e5aea4e68890e69cace58886e7b1bbe6b187e680bb_3
:
description
:
"
科室成本分类汇总"
element_type
:
tree_title
section
:
"
main::main"
strategy
:
tree_node
value
:
"
科室成本分类汇总"
tree
:
"
.menu-role-tree"
playwright
:
"
page.locator('.menu-role-tree
.ant-tree-title').filter({
hasText:
/^
\\
s*科室成本分类汇总
\\
s*$/
})"
tree_el_e4be9be5ba94e59586e585a5e8b4a6e58886e7b1bbe6b187e680bbe697a7_2
:
description
:
"
供应商入账分类汇总旧"
element_type
:
tree_title
section
:
"
main::main"
strategy
:
tree_node
value
:
"
供应商入账分类汇总旧"
tree
:
"
.menu-role-tree"
playwright
:
"
page.locator('.menu-role-tree
.ant-tree-title').filter({
hasText:
/^
\\
s*供应商入账分类汇总旧
\\
s*$/
})"
tree_el_e7a791e5aea4e68890e69cace58886e7b1bbe6b187e680bb28e8aea1e8b4b9e7a791e5aea429e697a7_2
:
description
:
"
科室成本分类汇总(计费科室)旧"
element_type
:
tree_title
section
:
"
main::main"
strategy
:
tree_node
value
:
"
科室成本分类汇总(计费科室)旧"
tree
:
"
.menu-role-tree"
playwright
:
"
page.locator('.menu-role-tree
.ant-tree-title').filter({
hasText:
/^
\\
s*科室成本分类汇总(计费科室)旧
\\
s*$/
})"
tree_el_e8b4a2e58aa1e585a5e5ba93e58d95_2
:
description
:
"
财务入库单"
element_type
:
tree_title
section
:
"
main::main"
strategy
:
tree_node
value
:
"
财务入库单"
tree
:
"
.menu-role-tree"
playwright
:
"
page.locator('.menu-role-tree
.ant-tree-title').filter({
hasText:
/^
\\
s*财务入库单
\\
s*$/
})"
tree_el_e8b4a2e58aa1e587bae5ba93e58d95_2
:
description
:
"
财务出库单"
element_type
:
tree_title
section
:
"
main::main"
strategy
:
tree_node
value
:
"
财务出库单"
tree
:
"
.menu-role-tree"
playwright
:
"
page.locator('.menu-role-tree
.ant-tree-title').filter({
hasText:
/^
\\
s*财务出库单
\\
s*$/
})"
tree_el_e68890e69cace585a5e8b4a6e6988ee7bb86e69fa5e8afa2efbc88e689a7e8a18ce7a791e5aea4e7bbb4e5baa6efbc89_2
:
description
:
"
成本入账明细查询(执行科室维度)"
element_type
:
tree_title
section
:
"
main::main"
strategy
:
tree_node
value
:
"
成本入账明细查询(执行科室维度)"
tree
:
"
.menu-role-tree"
playwright
:
"
page.locator('.menu-role-tree
.ant-tree-title').filter({
hasText:
/^
\\
s*成本入账明细查询(执行科室维度)
\\
s*$/
})"
tree_el_e7a791e5aea4e68890e69cace58886e7b1bbe6b187e680bb28e5908ee58ba429_2
:
description
:
"
科室成本分类汇总(后勤)"
element_type
:
tree_title
section
:
"
main::main"
strategy
:
tree_node
value
:
"
科室成本分类汇总(后勤)"
tree
:
"
.menu-role-tree"
playwright
:
"
page.locator('.menu-role-tree
.ant-tree-title').filter({
hasText:
/^
\\
s*科室成本分类汇总(后勤)
\\
s*$/
})"
tree_node_e5afb9e8b4a6
:
description
:
"
对账报表"
element_type
:
tree_title
section
:
"
main::main"
strategy
:
tree_node
value
:
"
对账报表"
tree
:
"
.menu-role-tree"
playwright
:
"
page.locator('.menu-role-tree
.ant-tree-title').filter({
hasText:
/^
\\
s*对账报表
\\
s*$/
})"
tree_el_e7a791e5aea4e5afb9e8b4a6e69fa5e8afa2_2
:
description
:
"
科室对账查询"
element_type
:
tree_title
section
:
"
main::main"
strategy
:
tree_node
value
:
"
科室对账查询"
tree
:
"
.menu-role-tree"
playwright
:
"
page.locator('.menu-role-tree
.ant-tree-title').filter({
hasText:
/^
\\
s*科室对账查询
\\
s*$/
})"
tree_el_e7a791e5aea4e58780e585a5e6b187e680bbe8a1a8_2
:
description
:
"
科室净入汇总表"
element_type
:
tree_title
section
:
"
main::main"
strategy
:
tree_node
value
:
"
科室净入汇总表"
tree
:
"
.menu-role-tree"
playwright
:
"
page.locator('.menu-role-tree
.ant-tree-title').filter({
hasText:
/^
\\
s*科室净入汇总表
\\
s*$/
})"
tree_el_e8afb7e9a286e587bae5ba93e58886e7b1bbe6b187e680bbe8a1a8_2
:
description
:
"
请领出库分类汇总表"
element_type
:
tree_title
section
:
"
main::main"
strategy
:
tree_node
value
:
"
请领出库分类汇总表"
tree
:
"
.menu-role-tree"
playwright
:
"
page.locator('.menu-role-tree
.ant-tree-title').filter({
hasText:
/^
\\
s*请领出库分类汇总表
\\
s*$/
})"
tree_el_e98787e8b4ade58886e7b1bbe6b187e680bb_2
:
description
:
"
采购分类汇总"
element_type
:
tree_title
section
:
"
main::main"
strategy
:
tree_node
value
:
"
采购分类汇总"
tree
:
"
.menu-role-tree"
playwright
:
"
page.locator('.menu-role-tree
.ant-tree-title').filter({
hasText:
/^
\\
s*采购分类汇总
\\
s*$/
})"
tree_el_e98787e8b4ade585a5e5ba93e6b187e680bbe8a1a8_2
:
description
:
"
采购入库汇总表"
element_type
:
tree_title
section
:
"
main::main"
strategy
:
tree_node
value
:
"
采购入库汇总表"
tree
:
"
.menu-role-tree"
playwright
:
"
page.locator('.menu-role-tree
.ant-tree-title').filter({
hasText:
/^
\\
s*采购入库汇总表
\\
s*$/
})"
tree_el_e4be9be5ba94e59586e5afb9e8b4a6e69fa5e8afa2_2
:
description
:
"
供应商对账查询"
element_type
:
tree_title
section
:
"
main::main"
strategy
:
tree_node
value
:
"
供应商对账查询"
tree
:
"
.menu-role-tree"
playwright
:
"
page.locator('.menu-role-tree
.ant-tree-title').filter({
hasText:
/^
\\
s*供应商对账查询
\\
s*$/
})"
tree_el_e7a791e5aea4e58780e587bae6b187e680bbe8a1a8_2
:
description
:
"
科室净出汇总表"
element_type
:
tree_title
section
:
"
main::main"
strategy
:
tree_node
value
:
"
科室净出汇总表"
tree
:
"
.menu-role-tree"
playwright
:
"
page.locator('.menu-role-tree
.ant-tree-title').filter({
hasText:
/^
\\
s*科室净出汇总表
\\
s*$/
})"
tree_node_e8bfbde6baaf
:
description
:
"
追溯报表"
element_type
:
tree_title
section
:
"
main::main"
strategy
:
tree_node
value
:
"
追溯报表"
tree
:
"
.menu-role-tree"
playwright
:
"
page.locator('.menu-role-tree
.ant-tree-title').filter({
hasText:
/^
\\
s*追溯报表
\\
s*$/
})"
tree_node_e79bb4e9858d
:
description
:
"
直配请领单追溯"
element_type
:
tree_title
section
:
"
main::main"
strategy
:
tree_node
value
:
"
直配请领单追溯"
tree
:
"
.menu-role-tree"
playwright
:
"
page.locator('.menu-role-tree
.ant-tree-title').filter({
hasText:
/^
\\
s*直配请领单追溯
\\
s*$/
})"
tree_el_e69da1e7a081e8bfbde6baaf_2
:
description
:
"
条码追溯"
element_type
:
tree_title
section
:
"
main::main"
strategy
:
tree_node
value
:
"
条码追溯"
tree
:
"
.menu-role-tree"
playwright
:
"
page.locator('.menu-role-tree
.ant-tree-title').filter({
hasText:
/^
\\
s*条码追溯
\\
s*$/
})"
tree_el_e79bb4e9858de8afb7e9a286e6988ee7bb86e69fa5e8afa2_2
:
description
:
"
直配请领明细查询"
element_type
:
tree_title
section
:
"
main::main"
strategy
:
tree_node
value
:
"
直配请领明细查询"
tree
:
"
.menu-role-tree"
playwright
:
"
page.locator('.menu-role-tree
.ant-tree-title').filter({
hasText:
/^
\\
s*直配请领明细查询
\\
s*$/
})"
tree_el_e7a791e5aea4e8aea2e58d95e5ae8ce68890e68385e586b5e8bfbde6baafe68aa5e8a1a8_2
:
description
:
"
科室订单完成情况追溯报表"
element_type
:
tree_title
section
:
"
main::main"
strategy
:
tree_node
value
:
"
科室订单完成情况追溯报表"
tree
:
"
.menu-role-tree"
playwright
:
"
page.locator('.menu-role-tree
.ant-tree-title').filter({
hasText:
/^
\\
s*科室订单完成情况追溯报表
\\
s*$/
})"
tree_el_e98787e8b4ade58d95e8bfbde6baaf_2
:
description
:
"
采购单追溯"
element_type
:
tree_title
section
:
"
main::main"
strategy
:
tree_node
value
:
"
采购单追溯"
tree
:
"
.menu-role-tree"
playwright
:
"
page.locator('.menu-role-tree
.ant-tree-title').filter({
hasText:
/^
\\
s*采购单追溯
\\
s*$/
})"
tree_el_e7a791e5aea4e8afb7e9a286e58d95e8bfbde6baaf_2
:
description
:
"
科室请领单追溯"
element_type
:
tree_title
section
:
"
main::main"
strategy
:
tree_node
value
:
"
科室请领单追溯"
tree
:
"
.menu-role-tree"
playwright
:
"
page.locator('.menu-role-tree
.ant-tree-title').filter({
hasText:
/^
\\
s*科室请领单追溯
\\
s*$/
})"
tree_el_e7bb93e7ae97e5bc80e7a5a8e69fa5e8afa2_2
:
description
:
"
结算开票查询"
element_type
:
tree_title
section
:
"
main::main"
strategy
:
tree_node
value
:
"
结算开票查询"
tree
:
"
.menu-role-tree"
playwright
:
"
page.locator('.menu-role-tree
.ant-tree-title').filter({
hasText:
/^
\\
s*结算开票查询
\\
s*$/
})"
tree_el_e7bb93e7ae97e5bc80e7a5a8e69fa5e8afa2_3
:
description
:
"
结算开票查询"
element_type
:
tree_title
section
:
"
main::main"
strategy
:
tree_node
value
:
"
结算开票查询"
tree
:
"
.menu-role-tree"
playwright
:
"
page.locator('.menu-role-tree
.ant-tree-title').filter({
hasText:
/^
\\
s*结算开票查询
\\
s*$/
})"
tree_el_e4be9be5ba94e59586e5bc80e7a5a8e58886e7b1bbe6b187e680bb_2
:
description
:
"
供应商开票分类汇总"
element_type
:
tree_title
section
:
"
main::main"
strategy
:
tree_node
value
:
"
供应商开票分类汇总"
tree
:
"
.menu-role-tree"
playwright
:
"
page.locator('.menu-role-tree
.ant-tree-title').filter({
hasText:
/^
\\
s*供应商开票分类汇总
\\
s*$/
})"
tree_el_e7bb93e7ae97e58d95e58f91e7a5a8e78ab6e68081e69fa5e8afa2_2
:
description
:
"
结算单发票状态查询"
element_type
:
tree_title
section
:
"
main::main"
strategy
:
tree_node
value
:
"
结算单发票状态查询"
tree
:
"
.menu-role-tree"
playwright
:
"
page.locator('.menu-role-tree
.ant-tree-title').filter({
hasText:
/^
\\
s*结算单发票状态查询
\\
s*$/
})"
tree_el_e58f91e694bee6b688e88097e68aa5e8a1a8_2
:
description
:
"
发放消耗报表"
element_type
:
tree_title
section
:
"
main::main"
strategy
:
tree_node
value
:
"
发放消耗报表"
tree
:
"
.menu-role-tree"
playwright
:
"
page.locator('.menu-role-tree
.ant-tree-title').filter({
hasText:
/^
\\
s*发放消耗报表
\\
s*$/
})"
tree_el_e9ab98e580bce6b688e88097e8bfbde6baaf_2
:
description
:
"
高值消耗追溯"
element_type
:
tree_title
section
:
"
main::main"
strategy
:
tree_node
value
:
"
高值消耗追溯"
tree
:
"
.menu-role-tree"
playwright
:
"
page.locator('.menu-role-tree
.ant-tree-title').filter({
hasText:
/^
\\
s*高值消耗追溯
\\
s*$/
})"
tree_el_e6b688e88097e8b68be58abfe58886e69e90_2
:
description
:
"
消耗趋势分析"
element_type
:
tree_title
section
:
"
main::main"
strategy
:
tree_node
value
:
"
消耗趋势分析"
tree
:
"
.menu-role-tree"
playwright
:
"
page.locator('.menu-role-tree
.ant-tree-title').filter({
hasText:
/^
\\
s*消耗趋势分析
\\
s*$/
})"
tree_node_e682a3e88085
:
description
:
"
患者消耗追溯"
element_type
:
tree_title
section
:
"
main::main"
strategy
:
tree_node
value
:
"
患者消耗追溯"
tree
:
"
.menu-role-tree"
playwright
:
"
page.locator('.menu-role-tree
.ant-tree-title').filter({
hasText:
/^
\\
s*患者消耗追溯
\\
s*$/
})"
tree_node_e5a49ae6aca1
:
description
:
"
多次计费耗材追溯"
element_type
:
tree_title
section
:
"
main::main"
strategy
:
tree_node
value
:
"
多次计费耗材追溯"
tree
:
"
.menu-role-tree"
playwright
:
"
page.locator('.menu-role-tree
.ant-tree-title').filter({
hasText:
/^
\\
s*多次计费耗材追溯
\\
s*$/
})"
tree_el_e7a791e5aea4e6b688e88097e68e92e5908d_2
:
description
:
"
科室消耗排名"
element_type
:
tree_title
section
:
"
main::main"
strategy
:
tree_node
value
:
"
科室消耗排名"
tree
:
"
.menu-role-tree"
playwright
:
"
page.locator('.menu-role-tree
.ant-tree-title').filter({
hasText:
/^
\\
s*科室消耗排名
\\
s*$/
})"
tree_node_e9a284e8ada6
:
description
:
"
预警报表"
element_type
:
tree_title
section
:
"
main::main"
strategy
:
tree_node
value
:
"
预警报表"
tree
:
"
.menu-role-tree"
playwright
:
"
page.locator('.menu-role-tree
.ant-tree-title').filter({
hasText:
/^
\\
s*预警报表
\\
s*$/
})"
tree_node_e6bb9ee79599
:
description
:
"
滞留预警"
element_type
:
tree_title
section
:
"
main::main"
strategy
:
tree_node
value
:
"
滞留预警"
tree
:
"
.menu-role-tree"
playwright
:
"
page.locator('.menu-role-tree
.ant-tree-title').filter({
hasText:
/^
\\
s*滞留预警
\\
s*$/
})"
tree_el_e7bcbae8b4a7e68aa5e8a1a8_2
:
description
:
"
缺货报表"
element_type
:
tree_title
section
:
"
main::main"
strategy
:
tree_node
value
:
"
缺货报表"
tree
:
"
.menu-role-tree"
playwright
:
"
page.locator('.menu-role-tree
.ant-tree-title').filter({
hasText:
/^
\\
s*缺货报表
\\
s*$/
})"
tree_node_e8bf91e69c9f
:
description
:
"
近期效期查询"
element_type
:
tree_title
section
:
"
main::main"
strategy
:
tree_node
value
:
"
近期效期查询"
tree
:
"
.menu-role-tree"
playwright
:
"
page.locator('.menu-role-tree
.ant-tree-title').filter({
hasText:
/^
\\
s*近期效期查询
\\
s*$/
})"
tree_node_e4bd8ee582a8
:
description
:
"
低储预警"
element_type
:
tree_title
section
:
"
main::main"
strategy
:
tree_node
value
:
"
低储预警"
tree
:
"
.menu-role-tree"
playwright
:
"
page.locator('.menu-role-tree
.ant-tree-title').filter({
hasText:
/^
\\
s*低储预警
\\
s*$/
})"
tree_node_e5bc82e5b8b8
:
description
:
"
异常分析报表"
element_type
:
tree_title
section
:
"
main::main"
strategy
:
tree_node
value
:
"
异常分析报表"
tree
:
"
.menu-role-tree"
playwright
:
"
page.locator('.menu-role-tree
.ant-tree-title').filter({
hasText:
/^
\\
s*异常分析报表
\\
s*$/
})"
tree_node_e8aea1e8b4b9
:
description
:
"
计费消耗差异报表"
element_type
:
tree_title
section
:
"
main::main"
strategy
:
tree_node
value
:
"
计费消耗差异报表"
tree
:
"
.menu-role-tree"
playwright
:
"
page.locator('.menu-role-tree
.ant-tree-title').filter({
hasText:
/^
\\
s*计费消耗差异报表
\\
s*$/
})"
tree_el_e4bd8ee580bce8aea1e8b4b9e68ea5e58fa3e5b7aee5bc82e7bb9fe8aea1_2
:
description
:
"
低值计费接口差异统计"
element_type
:
tree_title
section
:
"
main::main"
strategy
:
tree_node
value
:
"
低值计费接口差异统计"
tree
:
"
.menu-role-tree"
playwright
:
"
page.locator('.menu-role-tree
.ant-tree-title').filter({
hasText:
/^
\\
s*低值计费接口差异统计
\\
s*$/
})"
tree_el_e4bd8ee580bce8aea1e8b4b9e6b688e88097e5b7aee5bc82e7bb9fe8aea1_2
:
description
:
"
低值计费消耗差异统计"
element_type
:
tree_title
section
:
"
main::main"
strategy
:
tree_node
value
:
"
低值计费消耗差异统计"
tree
:
"
.menu-role-tree"
playwright
:
"
page.locator('.menu-role-tree
.ant-tree-title').filter({
hasText:
/^
\\
s*低值计费消耗差异统计
\\
s*$/
})"
tree_el_e8bf90e7bbb4e68aa5e8a1a8_2
:
description
:
"
运维报表"
element_type
:
tree_title
section
:
"
main::main"
strategy
:
tree_node
value
:
"
运维报表"
tree
:
"
.menu-role-tree"
playwright
:
"
page.locator('.menu-role-tree
.ant-tree-title').filter({
hasText:
/^
\\
s*运维报表
\\
s*$/
})"
tree_el_e585a5e8b4a6e6a0b8e5afb9e69fa5e8afa2_2
:
description
:
"
入账核对查询"
element_type
:
tree_title
section
:
"
main::main"
strategy
:
tree_node
value
:
"
入账核对查询"
tree
:
"
.menu-role-tree"
playwright
:
"
page.locator('.menu-role-tree
.ant-tree-title').filter({
hasText:
/^
\\
s*入账核对查询
\\
s*$/
})"
tree_el_e699bae883bde69f9ce68aa5e8a1a8_2
:
description
:
"
智能柜报表"
element_type
:
tree_title
section
:
"
main::main"
strategy
:
tree_node
value
:
"
智能柜报表"
tree
:
"
.menu-role-tree"
playwright
:
"
page.locator('.menu-role-tree
.ant-tree-title').filter({
hasText:
/^
\\
s*智能柜报表
\\
s*$/
})"
tree_el_e699bae883bde69f9ce5ba93e5ad98e69fa5e8afa2_2
:
description
:
"
智能柜库存查询"
element_type
:
tree_title
section
:
"
main::main"
strategy
:
tree_node
value
:
"
智能柜库存查询"
tree
:
"
.menu-role-tree"
playwright
:
"
page.locator('.menu-role-tree
.ant-tree-title').filter({
hasText:
/^
\\
s*智能柜库存查询
\\
s*$/
})"
tree_el_e6938de4bd9ce6b581e6b0b4e69fa5e8afa2_2
:
description
:
"
操作流水查询"
element_type
:
tree_title
section
:
"
main::main"
strategy
:
tree_node
value
:
"
操作流水查询"
tree
:
"
.menu-role-tree"
playwright
:
"
page.locator('.menu-role-tree
.ant-tree-title').filter({
hasText:
/^
\\
s*操作流水查询
\\
s*$/
})"
tree_el_e9a286e794a8e69caae8bf98e59b9ee69fa5e8afa2_2
:
description
:
"
领用未还回查询"
element_type
:
tree_title
section
:
"
main::main"
strategy
:
tree_node
value
:
"
领用未还回查询"
tree
:
"
.menu-role-tree"
playwright
:
"
page.locator('.menu-role-tree
.ant-tree-title').filter({
hasText:
/^
\\
s*领用未还回查询
\\
s*$/
})"
tree_el_e699bae883bde69f9ce5b7aee5bc82e68aa5e8a1a8_2
:
description
:
"
智能柜差异报表"
element_type
:
tree_title
section
:
"
main::main"
strategy
:
tree_node
value
:
"
智能柜差异报表"
tree
:
"
.menu-role-tree"
playwright
:
"
page.locator('.menu-role-tree
.ant-tree-title').filter({
hasText:
/^
\\
s*智能柜差异报表
\\
s*$/
})"
tree_node_e694bfe7ad96
:
description
:
"
政策导向"
element_type
:
tree_title
section
:
"
main::main"
strategy
:
tree_node
value
:
"
政策导向"
tree
:
"
.menu-role-tree"
playwright
:
"
page.locator('.menu-role-tree
.ant-tree-title').filter({
hasText:
/^
\\
s*政策导向
\\
s*$/
})"
tree_node_e9878de782b9
:
description
:
"
重点管控耗材统计"
element_type
:
tree_title
section
:
"
main::main"
strategy
:
tree_node
value
:
"
重点管控耗材统计"
tree
:
"
.menu-role-tree"
playwright
:
"
page.locator('.menu-role-tree
.ant-tree-title').filter({
hasText:
/^
\\
s*重点管控耗材统计
\\
s*$/
})"
tree_el_e5b8a6e9878fe4bbbbe58aa1e7bb9fe8aea1_2
:
description
:
"
带量任务统计"
element_type
:
tree_title
section
:
"
main::main"
strategy
:
tree_node
value
:
"
带量任务统计"
tree
:
"
.menu-role-tree"
playwright
:
"
page.locator('.menu-role-tree
.ant-tree-title').filter({
hasText:
/^
\\
s*带量任务统计
\\
s*$/
})"
tree_el_e5b8a6e9878fe6988ee7bb86e5ae8ce68890e78e87e69fa5e8afa2_2
:
description
:
"
带量明细完成率查询"
element_type
:
tree_title
section
:
"
main::main"
strategy
:
tree_node
value
:
"
带量明细完成率查询"
tree
:
"
.menu-role-tree"
playwright
:
"
page.locator('.menu-role-tree
.ant-tree-title').filter({
hasText:
/^
\\
s*带量明细完成率查询
\\
s*$/
})"
tree_el_e5b8a6e9878fe7a791e5aea4e4bbbbe58aa1e6988ee7bb86_2
:
description
:
"
带量科室任务明细"
element_type
:
tree_title
section
:
"
main::main"
strategy
:
tree_node
value
:
"
带量科室任务明细"
tree
:
"
.menu-role-tree"
playwright
:
"
page.locator('.menu-role-tree
.ant-tree-title').filter({
hasText:
/^
\\
s*带量科室任务明细
\\
s*$/
})"
tree_el_e5b8a6e9878fe79baee5bd95e6b688e88097e695b0e68daee7bb9fe8aea1_2
:
description
:
"
带量目录消耗数据统计"
element_type
:
tree_title
section
:
"
main::main"
strategy
:
tree_node
value
:
"
带量目录消耗数据统计"
tree
:
"
.menu-role-tree"
playwright
:
"
page.locator('.menu-role-tree
.ant-tree-title').filter({
hasText:
/^
\\
s*带量目录消耗数据统计
\\
s*$/
})"
tree_node_37e4bd8de58c
:
description
:
"
7位医保码带量分析"
element_type
:
tree_title
section
:
"
main::main"
strategy
:
tree_node
value
:
"
7位医保码带量分析"
tree
:
"
.menu-role-tree"
playwright
:
"
page.locator('.menu-role-tree
.ant-tree-title').filter({
hasText:
/^
\\
s*7位医保码带量分析
\\
s*$/
})"
tree_node_e7bb9fe8aea1
:
description
:
"
统计分析"
element_type
:
tree_title
section
:
"
main::main"
strategy
:
tree_node
value
:
"
统计分析"
tree
:
"
.menu-role-tree"
playwright
:
"
page.locator('.menu-role-tree
.ant-tree-title').filter({
hasText:
/^
\\
s*统计分析
\\
s*$/
})"
tree_el_e8b083e4bbb7e7bb9fe8aea1e68aa5e8a1a8_2
:
description
:
"
调价统计报表"
element_type
:
tree_title
section
:
"
main::main"
strategy
:
tree_node
value
:
"
调价统计报表"
tree
:
"
.menu-role-tree"
playwright
:
"
page.locator('.menu-role-tree
.ant-tree-title').filter({
hasText:
/^
\\
s*调价统计报表
\\
s*$/
})"
tree_el_e8b4a2e58aa1e695b0e68daee58886e69e902de7a791e5aea4e68890e69cac_2
:
description
:
"
财务数据分析-科室成本"
element_type
:
tree_title
section
:
"
main::main"
strategy
:
tree_node
value
:
"
财务数据分析-科室成本"
tree
:
"
.menu-role-tree"
playwright
:
"
page.locator('.menu-role-tree
.ant-tree-title').filter({
hasText:
/^
\\
s*财务数据分析-科室成本
\\
s*$/
})"
tree_el_e8b4a2e58aa1e695b0e68daee58886e69e902de4be9be5ba94e59586e585a5e8b4a6_2
:
description
:
"
财务数据分析-供应商入账"
element_type
:
tree_title
section
:
"
main::main"
strategy
:
tree_node
value
:
"
财务数据分析-供应商入账"
tree
:
"
.menu-role-tree"
playwright
:
"
page.locator('.menu-role-tree
.ant-tree-title').filter({
hasText:
/^
\\
s*财务数据分析-供应商入账
\\
s*$/
})"
tree_el_e8af95e58982e689b9e58fb7e7bb9fe8aea1_2
:
description
:
"
试剂批号统计"
element_type
:
tree_title
section
:
"
main::main"
strategy
:
tree_node
value
:
"
试剂批号统计"
tree
:
"
.menu-role-tree"
playwright
:
"
page.locator('.menu-role-tree
.ant-tree-title').filter({
hasText:
/^
\\
s*试剂批号统计
\\
s*$/
})"
tree_el_e8af95e58982e689b9e58fb7e7bb9fe8aea1e6988ee7bb86_2
:
description
:
"
试剂批号统计明细"
element_type
:
tree_title
section
:
"
main::main"
strategy
:
tree_node
value
:
"
试剂批号统计明细"
tree
:
"
.menu-role-tree"
playwright
:
"
page.locator('.menu-role-tree
.ant-tree-title').filter({
hasText:
/^
\\
s*试剂批号统计明细
\\
s*$/
})"
tree_el_e8af95e58982e689b9e58fb7e7bb9fe8aea1e6988ee7bb86_3
:
description
:
"
试剂批号统计明细"
element_type
:
tree_title
section
:
"
main::main"
strategy
:
tree_node
value
:
"
试剂批号统计明细"
tree
:
"
.menu-role-tree"
playwright
:
"
page.locator('.menu-role-tree
.ant-tree-title').filter({
hasText:
/^
\\
s*试剂批号统计明细
\\
s*$/
})"
tree_el_e8af95e58982e689b9e58fb7e7bb9fe8aea1_3
:
description
:
"
试剂批号统计"
element_type
:
tree_title
section
:
"
main::main"
strategy
:
tree_node
value
:
"
试剂批号统计"
tree
:
"
.menu-role-tree"
playwright
:
"
page.locator('.menu-role-tree
.ant-tree-title').filter({
hasText:
/^
\\
s*试剂批号统计
\\
s*$/
})"
tree_el_e8af95e58982e689b9e58fb7e7bb9fe8aea1e6988ee7bb86_4
:
description
:
"
试剂批号统计明细"
element_type
:
tree_title
section
:
"
main::main"
strategy
:
tree_node
value
:
"
试剂批号统计明细"
tree
:
"
.menu-role-tree"
playwright
:
"
page.locator('.menu-role-tree
.ant-tree-title').filter({
hasText:
/^
\\
s*试剂批号统计明细
\\
s*$/
})"
tree_el_e8af95e58982e689b9e58fb7e7bb9fe8aea1e6988ee7bb86_5
:
description
:
"
试剂批号统计明细"
element_type
:
tree_title
section
:
"
main::main"
strategy
:
tree_node
value
:
"
试剂批号统计明细"
tree
:
"
.menu-role-tree"
playwright
:
"
page.locator('.menu-role-tree
.ant-tree-title').filter({
hasText:
/^
\\
s*试剂批号统计明细
\\
s*$/
})"
tree_node_dataViz_e695b0e68dae
:
description
:
"
数据可视化"
element_type
:
tree_title
section
:
"
main::main"
strategy
:
tree_node
value
:
"
数据可视化"
tree
:
"
.menu-role-tree"
playwright
:
"
page.locator('.menu-role-tree
.ant-tree-title').filter({
hasText:
/^
\\
s*数据可视化
\\
s*$/
})"
tree_node_e6b58be8af95
:
description
:
"
测试0422"
element_type
:
tree_title
section
:
"
main::main"
strategy
:
tree_node
value
:
"
测试0422"
tree
:
"
.menu-role-tree"
playwright
:
"
page.locator('.menu-role-tree
.ant-tree-title').filter({
hasText:
/^
\\
s*测试0422
\\
s*$/
})"
tree_el_e4be9be5ba94e59586e585b3e88194e4baa4e69893e79c8be69dbf_2
:
description
:
"
供应商关联交易看板"
element_type
:
tree_title
section
:
"
main::main"
strategy
:
tree_node
value
:
"
供应商关联交易看板"
tree
:
"
.menu-role-tree"
playwright
:
"
page.locator('.menu-role-tree
.ant-tree-title').filter({
hasText:
/^
\\
s*供应商关联交易看板
\\
s*$/
})"
tree_node_31
:
description
:
"
1"
element_type
:
tree_title
section
:
"
main::main"
strategy
:
tree_node
value
:
"
1"
tree
:
"
.menu-role-tree"
playwright
:
"
page.locator('.menu-role-tree
.ant-tree-title').filter({
hasText:
/^
\\
s*1
\\
s*$/
})"
tree_node_e8b7b3e8bdac
:
description
:
"
跳转测试6"
element_type
:
tree_title
section
:
"
main::main"
strategy
:
tree_node
value
:
"
跳转测试6"
tree
:
"
.menu-role-tree"
playwright
:
"
page.locator('.menu-role-tree
.ant-tree-title').filter({
hasText:
/^
\\
s*跳转测试6
\\
s*$/
})"
tree_node_3132313232
:
description
:
"
12122"
element_type
:
tree_title
section
:
"
main::main"
strategy
:
tree_node
value
:
"
12122"
tree
:
"
.menu-role-tree"
playwright
:
"
page.locator('.menu-role-tree
.ant-tree-title').filter({
hasText:
/^
\\
s*12122
\\
s*$/
})"
tree_el_e8b7b3e8bdace6b58be8af9537_2
:
description
:
"
跳转测试7"
element_type
:
tree_title
section
:
"
main::main"
strategy
:
tree_node
value
:
"
跳转测试7"
tree
:
"
.menu-role-tree"
playwright
:
"
page.locator('.menu-role-tree
.ant-tree-title').filter({
hasText:
/^
\\
s*跳转测试7
\\
s*$/
})"
el_535044e58685e7bd91e7b3bbe7bb9f706461
:
description
:
"
SPD内网系统pda"
element_type
:
checkbox
section
:
"
main::main"
strategy
:
text
value
:
"
SPD内网系统pda"
playwright
:
"
page.getByText('SPD内网系统pda')"
tree_centerStock_2
:
description
:
"
中心库管理"
element_type
:
tree_title
section
:
"
main::main"
strategy
:
tree_node
value
:
"
中心库管理"
tree
:
"
.menu-role-tree"
playwright
:
"
page.locator('.menu-role-tree
.ant-tree-title').filter({
hasText:
/^
\\
s*中心库管理
\\
s*$/
})"
tree_node_e588b0e8b4a7
:
description
:
"
到货验收"
element_type
:
tree_title
section
:
"
main::main"
strategy
:
tree_node
value
:
"
到货验收"
tree
:
"
.menu-role-tree"
playwright
:
"
page.locator('.menu-role-tree
.ant-tree-title').filter({
hasText:
/^
\\
s*到货验收
\\
s*$/
})"
tree_el_e4b88ae69eb6e585a5e5ba93_3
:
description
:
"
上架入库"
element_type
:
tree_title
section
:
"
main::main"
strategy
:
tree_node
value
:
"
上架入库"
tree
:
"
.menu-role-tree"
playwright
:
"
page.locator('.menu-role-tree
.ant-tree-title').filter({
hasText:
/^
\\
s*上架入库
\\
s*$/
})"
tree_el_e68ba3e8b4a7e4b88be69eb6_2
:
description
:
"
拣货下架"
element_type
:
tree_title
section
:
"
main::main"
strategy
:
tree_node
value
:
"
拣货下架"
tree
:
"
.menu-role-tree"
playwright
:
"
page.locator('.menu-role-tree
.ant-tree-title').filter({
hasText:
/^
\\
s*拣货下架
\\
s*$/
})"
tree_el_e6898be5b7a5e587bae5ba93_4
:
description
:
"
手工出库"
element_type
:
tree_title
section
:
"
main::main"
strategy
:
tree_node
value
:
"
手工出库"
tree
:
"
.menu-role-tree"
playwright
:
"
page.locator('.menu-role-tree
.ant-tree-title').filter({
hasText:
/^
\\
s*手工出库
\\
s*$/
})"
tree_el_e8b083e68ba8e587bae5ba93_2
:
description
:
"
调拨出库"
element_type
:
tree_title
section
:
"
main::main"
strategy
:
tree_node
value
:
"
调拨出库"
tree
:
"
.menu-role-tree"
playwright
:
"
page.locator('.menu-role-tree
.ant-tree-title').filter({
hasText:
/^
\\
s*调拨出库
\\
s*$/
})"
tree_el_e98080e8b4a7e587bae5ba93_3
:
description
:
"
退货出库"
element_type
:
tree_title
section
:
"
main::main"
strategy
:
tree_node
value
:
"
退货出库"
tree
:
"
.menu-role-tree"
playwright
:
"
page.locator('.menu-role-tree
.ant-tree-title').filter({
hasText:
/^
\\
s*退货出库
\\
s*$/
})"
tree_el_e7a7bbe5ba93e587bae5ba93_2
:
description
:
"
移库出库"
element_type
:
tree_title
section
:
"
main::main"
strategy
:
tree_node
value
:
"
移库出库"
tree
:
"
.menu-role-tree"
playwright
:
"
page.locator('.menu-role-tree
.ant-tree-title').filter({
hasText:
/^
\\
s*移库出库
\\
s*$/
})"
tree_el_e587bae5ba93e5a48de6a0b8_3
:
description
:
"
出库复核"
element_type
:
tree_title
section
:
"
main::main"
strategy
:
tree_node
value
:
"
出库复核"
tree
:
"
.menu-role-tree"
playwright
:
"
page.locator('.menu-role-tree
.ant-tree-title').filter({
hasText:
/^
\\
s*出库复核
\\
s*$/
})"
tree_el_e5bfabe9809fe58aa0e5b7a5_3
:
description
:
"
快速加工"
element_type
:
tree_title
section
:
"
main::main"
strategy
:
tree_node
value
:
"
快速加工"
tree
:
"
.menu-role-tree"
playwright
:
"
page.locator('.menu-role-tree
.ant-tree-title').filter({
hasText:
/^
\\
s*快速加工
\\
s*$/
})"
tree_el_e58aa0e5b7a5e689a7e8a18c_2
:
description
:
"
加工执行"
element_type
:
tree_title
section
:
"
main::main"
strategy
:
tree_node
value
:
"
加工执行"
tree
:
"
.menu-role-tree"
playwright
:
"
page.locator('.menu-role-tree
.ant-tree-title').filter({
hasText:
/^
\\
s*加工执行
\\
s*$/
})"
tree_el_e5ba93e5ad98e79b98e782b9_2
:
description
:
"
库存盘点"
element_type
:
tree_title
section
:
"
main::main"
strategy
:
tree_node
value
:
"
库存盘点"
tree
:
"
.menu-role-tree"
playwright
:
"
page.locator('.menu-role-tree
.ant-tree-title').filter({
hasText:
/^
\\
s*库存盘点
\\
s*$/
})"
tree_el_e5ba93e5ad98e69fa5e8afa2_4
:
description
:
"
库存查询"
element_type
:
tree_title
section
:
"
main::main"
strategy
:
tree_node
value
:
"
库存查询"
tree
:
"
.menu-role-tree"
playwright
:
"
page.locator('.menu-role-tree
.ant-tree-title').filter({
hasText:
/^
\\
s*库存查询
\\
s*$/
})"
tree_el_e8b4a7e4bd8de8b083e695b4_3
:
description
:
"
货位调整"
element_type
:
tree_title
section
:
"
main::main"
strategy
:
tree_node
value
:
"
货位调整"
tree
:
"
.menu-role-tree"
playwright
:
"
page.locator('.menu-role-tree
.ant-tree-title').filter({
hasText:
/^
\\
s*货位调整
\\
s*$/
})"
tree_el_e5bfabe9809fe689abe7a081_2
:
description
:
"
快速扫码"
element_type
:
tree_title
section
:
"
main::main"
strategy
:
tree_node
value
:
"
快速扫码"
tree
:
"
.menu-role-tree"
playwright
:
"
page.locator('.menu-role-tree
.ant-tree-title').filter({
hasText:
/^
\\
s*快速扫码
\\
s*$/
})"
tree_el_e69c9fe5889de5bd95e585a5_2
:
description
:
"
期初录入"
element_type
:
tree_title
section
:
"
main::main"
strategy
:
tree_node
value
:
"
期初录入"
tree
:
"
.menu-role-tree"
playwright
:
"
page.locator('.menu-role-tree
.ant-tree-title').filter({
hasText:
/^
\\
s*期初录入
\\
s*$/
})"
tree_node_e59b9ee58d95
:
description
:
"
回单管理"
element_type
:
tree_title
section
:
"
main::main"
strategy
:
tree_node
value
:
"
回单管理"
tree
:
"
.menu-role-tree"
playwright
:
"
page.locator('.menu-role-tree
.ant-tree-title').filter({
hasText:
/^
\\
s*回单管理
\\
s*$/
})"
tree_node_e689b9e9878f
:
description
:
"
批量货位调整"
element_type
:
tree_title
section
:
"
main::main"
strategy
:
tree_node
value
:
"
批量货位调整"
tree
:
"
.menu-role-tree"
playwright
:
"
page.locator('.menu-role-tree
.ant-tree-title').filter({
hasText:
/^
\\
s*批量货位调整
\\
s*$/
})"
tree_node_e8819ae58d95
:
description
:
"
聚单拣货"
element_type
:
tree_title
section
:
"
main::main"
strategy
:
tree_node
value
:
"
聚单拣货"
tree
:
"
.menu-role-tree"
playwright
:
"
page.locator('.menu-role-tree
.ant-tree-title').filter({
hasText:
/^
\\
s*聚单拣货
\\
s*$/
})"
tree_el_e8819ae58d95e5a48de6a0b8_2
:
description
:
"
聚单复核"
element_type
:
tree_title
section
:
"
main::main"
strategy
:
tree_node
value
:
"
聚单复核"
tree
:
"
.menu-role-tree"
playwright
:
"
page.locator('.menu-role-tree
.ant-tree-title').filter({
hasText:
/^
\\
s*聚单复核
\\
s*$/
})"
tree_el_e4bba3e7a791e5aea4e585a5e5ba93_2
:
description
:
"
代科室入库"
element_type
:
tree_title
section
:
"
main::main"
strategy
:
tree_node
value
:
"
代科室入库"
tree
:
"
.menu-role-tree"
playwright
:
"
page.locator('.menu-role-tree
.ant-tree-title').filter({
hasText:
/^
\\
s*代科室入库
\\
s*$/
})"
tree_el_e68abde9aa8ce7aea1e79086_2
:
description
:
"
抽验管理"
element_type
:
tree_title
section
:
"
main::main"
strategy
:
tree_node
value
:
"
抽验管理"
tree
:
"
.menu-role-tree"
playwright
:
"
page.locator('.menu-role-tree
.ant-tree-title').filter({
hasText:
/^
\\
s*抽验管理
\\
s*$/
})"
tree_el_e587bae5ba93e58d95e7bb91e5ae9a_2
:
description
:
"
出库单绑定"
element_type
:
tree_title
section
:
"
main::main"
strategy
:
tree_node
value
:
"
出库单绑定"
tree
:
"
.menu-role-tree"
playwright
:
"
page.locator('.menu-role-tree
.ant-tree-title').filter({
hasText:
/^
\\
s*出库单绑定
\\
s*$/
})"
tree_node_e999a2e58685
:
description
:
"
院内配送"
element_type
:
tree_title
section
:
"
main::main"
strategy
:
tree_node
value
:
"
院内配送"
tree
:
"
.menu-role-tree"
playwright
:
"
page.locator('.menu-role-tree
.ant-tree-title').filter({
hasText:
/^
\\
s*院内配送
\\
s*$/
})"
tree_el_e999a2e58685e98081e8bebe_2
:
description
:
"
院内送达"
element_type
:
tree_title
section
:
"
main::main"
strategy
:
tree_node
value
:
"
院内送达"
tree
:
"
.menu-role-tree"
playwright
:
"
page.locator('.menu-role-tree
.ant-tree-title').filter({
hasText:
/^
\\
s*院内送达
\\
s*$/
})"
tree_el_e5bfabe9809fe68b86e58c85_2
:
description
:
"
快速拆包"
element_type
:
tree_title
section
:
"
main::main"
strategy
:
tree_node
value
:
"
快速拆包"
tree
:
"
.menu-role-tree"
playwright
:
"
page.locator('.menu-role-tree
.ant-tree-title').filter({
hasText:
/^
\\
s*快速拆包
\\
s*$/
})"
tree_node_e694b6e8b4a7
:
description
:
"
收货复核"
element_type
:
tree_title
section
:
"
main::main"
strategy
:
tree_node
value
:
"
收货复核"
tree
:
"
.menu-role-tree"
playwright
:
"
page.locator('.menu-role-tree
.ant-tree-title').filter({
hasText:
/^
\\
s*收货复核
\\
s*$/
})"
tree_el_e7aeb1e7a081e68993e58db0_2
:
description
:
"
箱码打印"
element_type
:
tree_title
section
:
"
main::main"
strategy
:
tree_node
value
:
"
箱码打印"
tree
:
"
.menu-role-tree"
playwright
:
"
page.locator('.menu-role-tree
.ant-tree-title').filter({
hasText:
/^
\\
s*箱码打印
\\
s*$/
})"
tree_el_e8819ae58d95e9aa8ce694b6_2
:
description
:
"
聚单验收"
element_type
:
tree_title
section
:
"
main::main"
strategy
:
tree_node
value
:
"
聚单验收"
tree
:
"
.menu-role-tree"
playwright
:
"
page.locator('.menu-role-tree
.ant-tree-title').filter({
hasText:
/^
\\
s*聚单验收
\\
s*$/
})"
tree_node_e58cbbe5b7a5
:
description
:
"
医工抽检"
element_type
:
tree_title
section
:
"
main::main"
strategy
:
tree_node
value
:
"
医工抽检"
tree
:
"
.menu-role-tree"
playwright
:
"
page.locator('.menu-role-tree
.ant-tree-title').filter({
hasText:
/^
\\
s*医工抽检
\\
s*$/
})"
tree_el_e7a791e5aea4e5ba93e7aea1e79086_2
:
description
:
"
科室库管理"
element_type
:
tree_title
section
:
"
main::main"
strategy
:
tree_node
value
:
"
科室库管理"
tree
:
"
.menu-role-tree"
playwright
:
"
page.locator('.menu-role-tree
.ant-tree-title').filter({
hasText:
/^
\\
s*科室库管理
\\
s*$/
})"
tree_el_e7a791e5aea4e585a5e5ba93_4
:
description
:
"
科室入库"
element_type
:
tree_title
section
:
"
main::main"
strategy
:
tree_node
value
:
"
科室入库"
tree
:
"
.menu-role-tree"
playwright
:
"
page.locator('.menu-role-tree
.ant-tree-title').filter({
hasText:
/^
\\
s*科室入库
\\
s*$/
})"
tree_el_e58f91e694bee587bae5ba93_2
:
description
:
"
发放出库"
element_type
:
tree_title
section
:
"
main::main"
strategy
:
tree_node
value
:
"
发放出库"
tree
:
"
.menu-role-tree"
playwright
:
"
page.locator('.menu-role-tree
.ant-tree-title').filter({
hasText:
/^
\\
s*发放出库
\\
s*$/
})"
tree_el_e98080e5ba93e587bae5ba93_3
:
description
:
"
退库出库"
element_type
:
tree_title
section
:
"
main::main"
strategy
:
tree_node
value
:
"
退库出库"
tree
:
"
.menu-role-tree"
playwright
:
"
page.locator('.menu-role-tree
.ant-tree-title').filter({
hasText:
/^
\\
s*退库出库
\\
s*$/
})"
tree_el_e9a286e794a8e587bae5ba93_2
:
description
:
"
领用出库"
element_type
:
tree_title
section
:
"
main::main"
strategy
:
tree_node
value
:
"
领用出库"
tree
:
"
.menu-role-tree"
playwright
:
"
page.locator('.menu-role-tree
.ant-tree-title').filter({
hasText:
/^
\\
s*领用出库
\\
s*$/
})"
tree_el_e6898be5b7a5e9a286e794a8e587bae5ba93_3
:
description
:
"
手工领用出库"
element_type
:
tree_title
section
:
"
main::main"
strategy
:
tree_node
value
:
"
手工领用出库"
tree
:
"
.menu-role-tree"
playwright
:
"
page.locator('.menu-role-tree
.ant-tree-title').filter({
hasText:
/^
\\
s*手工领用出库
\\
s*$/
})"
tree_el_e6898be5b7a5e6b688e88097_3
:
description
:
"
手工消耗"
element_type
:
tree_title
section
:
"
main::main"
strategy
:
tree_node
value
:
"
手工消耗"
tree
:
"
.menu-role-tree"
playwright
:
"
page.locator('.menu-role-tree
.ant-tree-title').filter({
hasText:
/^
\\
s*手工消耗
\\
s*$/
})"
tree_el_e5ba93e5ad98e79b98e782b9_3
:
description
:
"
库存盘点"
element_type
:
tree_title
section
:
"
main::main"
strategy
:
tree_node
value
:
"
库存盘点"
tree
:
"
.menu-role-tree"
playwright
:
"
page.locator('.menu-role-tree
.ant-tree-title').filter({
hasText:
/^
\\
s*库存盘点
\\
s*$/
})"
tree_el_e5ba93e5ad98e69fa5e8afa2_5
:
description
:
"
库存查询"
element_type
:
tree_title
section
:
"
main::main"
strategy
:
tree_node
value
:
"
库存查询"
tree
:
"
.menu-role-tree"
playwright
:
"
page.locator('.menu-role-tree
.ant-tree-title').filter({
hasText:
/^
\\
s*库存查询
\\
s*$/
})"
tree_el_e98080e5ba93e5a48de6a0b8_2
:
description
:
"
退库复核"
element_type
:
tree_title
section
:
"
main::main"
strategy
:
tree_node
value
:
"
退库复核"
tree
:
"
.menu-role-tree"
playwright
:
"
page.locator('.menu-role-tree
.ant-tree-title').filter({
hasText:
/^
\\
s*退库复核
\\
s*$/
})"
tree_el_e5ba93e58cbae8b4a7e4bd8de7a7bbe58aa8_2
:
description
:
"
库区货位移动"
element_type
:
tree_title
section
:
"
main::main"
strategy
:
tree_node
value
:
"
库区货位移动"
tree
:
"
.menu-role-tree"
playwright
:
"
page.locator('.menu-role-tree
.ant-tree-title').filter({
hasText:
/^
\\
s*库区货位移动
\\
s*$/
})"
tree_statReport_2
:
description
:
"
统计报表"
element_type
:
tree_title
section
:
"
main::main"
strategy
:
tree_node
value
:
"
统计报表"
tree
:
"
.menu-role-tree"
playwright
:
"
page.locator('.menu-role-tree
.ant-tree-title').filter({
hasText:
/^
\\
s*统计报表
\\
s*$/
})"
tree_el_e69da1e7a081e8bfbde6baaf_3
:
description
:
"
条码追溯"
element_type
:
tree_title
section
:
"
main::main"
strategy
:
tree_node
value
:
"
条码追溯"
tree
:
"
.menu-role-tree"
playwright
:
"
page.locator('.menu-role-tree
.ant-tree-title').filter({
hasText:
/^
\\
s*条码追溯
\\
s*$/
})"
locators/spd/basic-shared.locator.ts
0 → 100644
View file @
6a181bea
import
type
{
Locator
,
Page
}
from
'
@playwright/test
'
;
/** 基础设置 · 医院资料 共用菜单 / 表格 / 分页 / 弹窗。 */
export
class
BasicSharedLocators
{
readonly
menuBasic
:
Locator
;
readonly
menuHospital
:
Locator
;
readonly
table
:
Locator
;
readonly
tableHeader
:
Locator
;
readonly
dataRows
:
Locator
;
readonly
empty
:
Locator
;
readonly
pagination
:
Locator
;
readonly
paginationTotal
:
Locator
;
readonly
pageJumpInput
:
Locator
;
readonly
nextPage
:
Locator
;
readonly
dialog
:
Locator
;
readonly
confirm
:
Locator
;
readonly
formError
:
Locator
;
constructor
(
protected
readonly
page
:
Page
)
{
this
.
menuBasic
=
page
.
getByRole
(
'
menuitem
'
,
{
name
:
'
基础设置
'
});
this
.
menuHospital
=
page
.
getByRole
(
'
menuitem
'
,
{
name
:
'
医院资料
'
});
this
.
table
=
page
.
locator
(
'
.ant-table
'
).
first
();
this
.
tableHeader
=
page
.
locator
(
'
.ant-table-thead th
'
);
this
.
dataRows
=
page
.
locator
(
'
.ant-table-tbody tr.ant-table-row:not(.ant-table-measure-row)
'
);
this
.
empty
=
page
.
locator
(
'
.ant-empty, .ant-empty-description
'
).
first
();
this
.
pagination
=
page
.
locator
(
'
.ant-pagination
'
).
first
();
this
.
paginationTotal
=
page
.
locator
(
'
.ant-pagination-total-text
'
).
first
();
this
.
pageJumpInput
=
page
.
locator
(
'
.ant-pagination-options-quick-jumper input
'
).
first
();
this
.
nextPage
=
page
.
locator
(
'
.ant-pagination-next
'
).
first
();
this
.
dialog
=
page
.
getByRole
(
'
dialog
'
);
this
.
confirm
=
page
.
locator
(
'
.ant-modal-confirm, .ant-popconfirm, .ant-modal
'
).
filter
({
hasText
:
'
提示
'
}).
last
();
this
.
formError
=
page
.
locator
(
'
.ant-form-item-explain-error
'
);
}
menuItem
(
name
:
string
):
Locator
{
return
this
.
page
.
getByRole
(
'
menuitem
'
,
{
name
,
exact
:
true
});
}
button
(
name
:
string
|
RegExp
):
Locator
{
return
this
.
page
.
getByRole
(
'
button
'
,
{
name
});
}
dialogButton
(
name
:
string
|
RegExp
):
Locator
{
return
this
.
dialog
.
getByRole
(
'
button
'
,
{
name
});
}
}
locators/spd/basic-user-shared.locator.ts
0 → 100644
View file @
6a181bea
import
type
{
Locator
,
Page
}
from
'
@playwright/test
'
;
/** 基础设置 · 用户管理。叶子菜单是 .ant-menu-item;一级与叶子均可叫「用户管理」。 */
export
class
BasicUserSharedLocators
{
readonly
menuBasic
:
Locator
;
readonly
userSubmenuTitle
:
Locator
;
readonly
tableHeader
:
Locator
;
readonly
empty
:
Locator
;
readonly
paginationTotal
:
Locator
;
readonly
nextPage
:
Locator
;
readonly
formError
:
Locator
;
readonly
advancedFilter
:
Locator
;
readonly
nameInput
:
Locator
;
readonly
dialog
:
Locator
;
constructor
(
protected
readonly
page
:
Page
)
{
this
.
menuBasic
=
page
.
getByRole
(
'
menuitem
'
,
{
name
:
'
基础设置
'
});
this
.
userSubmenuTitle
=
page
.
locator
(
'
.ant-menu-submenu-title
'
).
filter
({
hasText
:
/^用户管理$/
});
this
.
tableHeader
=
page
.
locator
(
'
.ant-table-thead th
'
);
this
.
empty
=
page
.
locator
(
'
.ant-empty, .ant-empty-description
'
).
first
();
this
.
paginationTotal
=
page
.
locator
(
'
.ant-pagination-total-text
'
).
first
();
this
.
nextPage
=
page
.
locator
(
'
.ant-pagination-next
'
).
first
();
this
.
formError
=
page
.
locator
(
'
.ant-form-item-explain-error, .ant-message-notice, .ant-notification-notice
'
);
this
.
advancedFilter
=
page
.
locator
(
'
.advance-filter
'
).
first
();
this
.
nameInput
=
page
.
getByPlaceholder
(
'
姓名、登录账号
'
);
this
.
dialog
=
page
.
locator
(
'
.ant-modal-wrap .ant-modal:visible, .ant-drawer-open
'
).
last
();
}
menuLeaf
(
name
:
string
):
Locator
{
return
this
.
page
.
locator
(
'
.ant-menu-item
'
).
filter
({
hasText
:
new
RegExp
(
`^\\s*
${
name
}
\\s*$`
)
}).
first
();
}
button
(
name
:
string
,
root
:
Locator
|
Page
=
this
.
page
):
Locator
{
const
compact
=
name
.
replace
(
/
\s
/g
,
''
);
const
pattern
=
new
RegExp
(
compact
.
split
(
''
).
join
(
'
\\
s*
'
));
return
root
.
getByRole
(
'
button
'
,
{
name
:
pattern
});
}
formItem
(
label
:
string
,
root
:
Locator
|
Page
=
this
.
page
):
Locator
{
return
root
.
locator
(
'
.ant-form-item
'
).
filter
({
hasText
:
label
}).
first
();
}
formSelect
(
label
:
string
,
root
:
Locator
|
Page
=
this
.
page
):
Locator
{
return
this
.
formItem
(
label
,
root
).
locator
(
'
.ant-select
'
).
first
();
}
}
locators/spd/basic-user-union.locator.ts
0 → 100644
View file @
6a181bea
import
type
{
Page
}
from
'
@playwright/test
'
;
import
{
BasicUserLocators
}
from
'
./basic-user.locator
'
;
/** 医共体用户管理。选择器来自 locators/spd/basic-user-union.locator.yaml */
export
class
BasicUserUnionLocators
extends
BasicUserLocators
{
constructor
(
page
:
Page
)
{
super
(
page
);
}
}
locators/spd/basic-user-union.locator.yaml
0 → 100644
View file @
6a181bea
# Auto-generated from basic-user-union-elements.json
# Source: http://spdtest.cmic.com.cn:8080/spd/basic/user/platform/personCom
# Scanned: 2026-10-20T07:55:55.473Z
# Page: 基础设置 > 用户管理 > 医共体用户管理
# Note: advanced filter panel was opened during scan
# Note: filter dropdown was opened during scan
# Note: edit dialog was opened during scan
page
:
basic-user-union
module
:
spd-basic
url
:
http://spdtest.cmic.com.cn:8080/spd/basic/user/platform/personCom
locators
:
# --- main::main ---
menu_home
:
description
:
"
首页"
element_type
:
li
section
:
"
main::main"
strategy
:
role
role
:
menuitem
name
:
"
首页"
playwright
:
"
page.getByRole('menuitem',
{
name:
'首页'
})"
menu_basicSetting
:
description
:
"
基础设置"
element_type
:
li
section
:
"
main::main"
strategy
:
role
role
:
menuitem
name
:
"
基础设置"
playwright
:
"
page.getByRole('menuitem',
{
name:
'基础设置'
})"
menu_purchase
:
description
:
"
采购管理"
element_type
:
li
section
:
"
main::main"
strategy
:
role
role
:
menuitem
name
:
"
采购管理"
playwright
:
"
page.getByRole('menuitem',
{
name:
'采购管理'
})"
menu_opening
:
description
:
"
期初管理"
element_type
:
li
section
:
"
main::main"
strategy
:
role
role
:
menuitem
name
:
"
期初管理"
playwright
:
"
page.getByRole('menuitem',
{
name:
'期初管理'
})"
menu_centerStock
:
description
:
"
中心库管理"
element_type
:
li
section
:
"
main::main"
strategy
:
role
role
:
menuitem
name
:
"
中心库管理"
playwright
:
"
page.getByRole('menuitem',
{
name:
'中心库管理'
})"
menu_deptBusiness
:
description
:
"
科室业务管理"
element_type
:
li
section
:
"
main::main"
strategy
:
role
role
:
menuitem
name
:
"
科室业务管理"
playwright
:
"
page.getByRole('menuitem',
{
name:
'科室业务管理'
})"
menu_finance
:
description
:
"
财务管理"
element_type
:
li
section
:
"
main::main"
strategy
:
role
role
:
menuitem
name
:
"
财务管理"
playwright
:
"
page.getByRole('menuitem',
{
name:
'财务管理'
})"
menu_orthoVolume
:
description
:
"
骨科带量"
element_type
:
li
section
:
"
main::main"
strategy
:
role
role
:
menuitem
name
:
"
骨科带量"
playwright
:
"
page.getByRole('menuitem',
{
name:
'骨科带量'
})"
menu_general
:
description
:
"
综合管理"
element_type
:
li
section
:
"
main::main"
strategy
:
role
role
:
menuitem
name
:
"
综合管理"
playwright
:
"
page.getByRole('menuitem',
{
name:
'综合管理'
})"
menu_yangcai
:
description
:
"
阳采管理"
element_type
:
li
section
:
"
main::main"
strategy
:
role
role
:
menuitem
name
:
"
阳采管理"
playwright
:
"
page.getByRole('menuitem',
{
name:
'阳采管理'
})"
menu_processCenter
:
description
:
"
流程中心"
element_type
:
li
section
:
"
main::main"
strategy
:
role
role
:
menuitem
name
:
"
流程中心"
playwright
:
"
page.getByRole('menuitem',
{
name:
'流程中心'
})"
menu_logistics
:
description
:
"
后勤物资管理"
element_type
:
li
section
:
"
main::main"
strategy
:
role
role
:
menuitem
name
:
"
后勤物资管理"
playwright
:
"
page.getByRole('menuitem',
{
name:
'后勤物资管理'
})"
menu_statReport
:
description
:
"
统计报表"
element_type
:
li
section
:
"
main::main"
strategy
:
role
role
:
menuitem
name
:
"
统计报表"
playwright
:
"
page.getByRole('menuitem',
{
name:
'统计报表'
})"
menu_dataViz
:
description
:
"
数据可视化"
element_type
:
li
section
:
"
main::main"
strategy
:
role
role
:
menuitem
name
:
"
数据可视化"
playwright
:
"
page.getByRole('menuitem',
{
name:
'数据可视化'
})"
menu_roleManage
:
description
:
"
角色管理"
element_type
:
li
section
:
"
main::main"
strategy
:
role
role
:
menuitem
name
:
"
角色管理"
playwright
:
"
page.getByRole('menuitem',
{
name:
'角色管理'
})"
menu_userManage
:
description
:
"
用户管理"
element_type
:
li
section
:
"
main::main"
strategy
:
role
role
:
menuitem
name
:
"
用户管理"
playwright
:
"
page.getByRole('menuitem',
{
name:
'用户管理'
})"
menu_unionUserManage
:
description
:
"
医共体用户管理"
element_type
:
li
section
:
"
main::main"
strategy
:
role
role
:
menuitem
name
:
"
医共体用户管理"
playwright
:
"
page.getByRole('menuitem',
{
name:
'医共体用户管理'
})"
unionUserManage
:
description
:
"
医共体用户管理"
element_type
:
tab
section
:
"
main::main"
strategy
:
text
value
:
"
医共体用户管理"
playwright
:
"
page.getByText('医共体用户管理')"
tab_unionUserManage
:
description
:
"
医共体用户管理"
element_type
:
div
section
:
"
main::main"
strategy
:
id
value
:
"
rc-tabs-0-tab-/basic/user/platform/personCom"
playwright
:
"
page.locator('#rc-tabs-0-tab-/basic/user/platform/personCom')"
el_e5a793e5908dInput
:
description
:
"
姓名、登录账号"
element_type
:
text
section
:
"
main::main"
strategy
:
id
value
:
"
form_item_cname"
playwright
:
"
page.locator('#form_item_cname')"
el_e68980e5b19ee58cbbe999a2Select
:
description
:
"
邹城市人民医院(test)"
element_type
:
select
section
:
"
main::main"
strategy
:
label_text
value
:
"
所属医院"
playwright
:
"
page.getByText('所属医院',
{
exact:
true
})"
el_e68980e5b19ee58cbbe999a2Input
:
description
:
"
所属医院"
element_type
:
search
section
:
"
main::main"
strategy
:
id
value
:
"
form_item_corpId"
playwright
:
"
page.locator('#form_item_corpId')"
el_e88194e7b3bbe696b9e5bc8fInput
:
description
:
"
联系方式"
element_type
:
text
section
:
"
main::main"
strategy
:
id
value
:
"
form_item_tel"
playwright
:
"
page.locator('#form_item_tel')"
searchBtn
:
description
:
"
查
询"
element_type
:
button
section
:
"
main::main"
strategy
:
role
role
:
button
name
:
"
查
询"
playwright
:
"
page.getByRole('button',
{
name:
'查
询'
})"
resetBtn
:
description
:
"
重
置"
element_type
:
button
section
:
"
main::main"
strategy
:
role
role
:
button
name
:
"
重
置"
playwright
:
"
page.getByRole('button',
{
name:
'重
置'
})"
advancedFilterBtn
:
description
:
"
高级筛选"
element_type
:
filter_trigger
section
:
"
main::main"
strategy
:
css
value
:
"
.advance-filter"
playwright
:
"
page.locator('.advance-filter')"
addBtn
:
description
:
"
新
增"
element_type
:
button
section
:
"
main::main"
strategy
:
role
role
:
button
name
:
"
新
增"
playwright
:
"
page.getByRole('button',
{
name:
'新
增'
})"
el_457863656ce5afbce585a5Btn
:
description
:
"
Excel导入"
element_type
:
button
section
:
"
main::main"
strategy
:
role
role
:
button
name
:
"
Excel导入"
playwright
:
"
page.getByRole('button',
{
name:
'Excel导入'
})"
tableDensity
:
description
:
"
column-height"
element_type
:
span
section
:
"
main::main"
strategy
:
label
value
:
"
column-height"
playwright
:
"
page.getByLabel('column-height')"
editBtn
:
description
:
"
编辑"
element_type
:
button
section
:
"
main::main"
strategy
:
role
role
:
button
name
:
"
编辑"
playwright
:
"
page.getByRole('button',
{
name:
'编辑'
})"
el_e68e88e69d83Btn
:
description
:
"
授权"
element_type
:
button
section
:
"
main::main"
strategy
:
role
role
:
button
name
:
"
授权"
playwright
:
"
page.getByRole('button',
{
name:
'授权'
})"
el_e9878de7bdaee5af86e7a081Btn
:
description
:
"
重置密码"
element_type
:
button
section
:
"
main::main"
strategy
:
role
role
:
button
name
:
"
重置密码"
playwright
:
"
page.getByRole('button',
{
name:
'重置密码'
})"
el_e7a791e5aea4Select
:
description
:
"
请选择"
element_type
:
select
section
:
"
main::main"
strategy
:
label_text
value
:
"
科室"
playwright
:
"
page.getByText('科室',
{
exact:
true
})"
el_e5a793e5908dInput_2
:
description
:
"
姓名"
element_type
:
search
section
:
"
main::main"
strategy
:
id
value
:
"
form_item_cname"
playwright
:
"
page.locator('#form_item_cname')"
el_e8a792e889b2Select
:
description
:
"
请选择"
element_type
:
select
section
:
"
main::main"
strategy
:
label_text
value
:
"
角色"
playwright
:
"
page.getByText('角色',
{
exact:
true
})"
el_e8a792e889b2Input
:
description
:
"
角色"
element_type
:
search
section
:
"
main::main"
strategy
:
id
value
:
"
form_item_roleCode"
playwright
:
"
page.locator('#form_item_roleCode')"
filterApplyBtn
:
description
:
"
筛
选"
element_type
:
button
section
:
"
main::main"
strategy
:
role
role
:
button
name
:
"
筛
选"
playwright
:
"
page.getByRole('button',
{
name:
'筛
选'
})"
# --- main::pagination ---
pagination_el_e585b1313432e69da13132333530e69da12fe9a1b5e8b7b3e887b3e9a1b5
:
description
:
"
共
142
条12350
条/页跳至页"
element_type
:
ul
section
:
"
main::pagination"
strategy
:
text
value
:
"
共
142
条12350
条/页跳至页"
playwright
:
"
page.getByText('共
142
条12350
条/页跳至页')"
pagination_prevPageBtn
:
description
:
"
上一页"
element_type
:
li
section
:
"
main::pagination"
strategy
:
text
value
:
"
上一页"
playwright
:
"
page.getByText('上一页')"
pagination_page_1
:
description
:
"
1"
element_type
:
pagination_item
section
:
"
main::pagination"
strategy
:
css
value
:
"
.ant-pagination-item-active"
playwright
:
"
page.locator('.ant-pagination-item-active')"
pagination_page_2
:
description
:
"
2"
element_type
:
pagination_item
section
:
"
main::pagination"
strategy
:
text
value
:
"
2"
playwright
:
"
page.getByText('2')"
pagination_page_3
:
description
:
"
3"
element_type
:
pagination_item
section
:
"
main::pagination"
strategy
:
text
value
:
"
3"
playwright
:
"
page.getByText('3')"
pagination_nextPageBtn
:
description
:
"
下一页"
element_type
:
li
section
:
"
main::pagination"
strategy
:
text
value
:
"
下一页"
playwright
:
"
page.getByText('下一页')"
pagination_pageSizeSelect
:
description
:
"
50
条/页"
element_type
:
select
section
:
"
main::pagination"
strategy
:
text
value
:
"
50
条/页"
playwright
:
"
page.getByText('50
条/页')"
# --- main::panel:高级筛选 ---
drawer_el_e5a793e5908dInput
:
description
:
"
姓名、登录账号"
element_type
:
text
section
:
"
main::panel:高级筛选"
strategy
:
id
value
:
"
form_item_cname"
playwright
:
"
page.locator('#form_item_cname')"
drawer_el_e68980e5b19ee58cbbe999a2Select
:
description
:
"
邹城市人民医院(test)"
element_type
:
select
section
:
"
main::panel:高级筛选"
strategy
:
label_text
value
:
"
所属医院"
playwright
:
"
page.getByText('所属医院',
{
exact:
true
})"
drawer_el_e68980e5b19ee58cbbe999a2Input
:
description
:
"
所属医院"
element_type
:
search
section
:
"
main::panel:高级筛选"
strategy
:
id
value
:
"
form_item_corpId"
playwright
:
"
page.locator('#form_item_corpId')"
drawer_el_e88194e7b3bbe696b9e5bc8fInput
:
description
:
"
联系方式"
element_type
:
text
section
:
"
main::panel:高级筛选"
strategy
:
id
value
:
"
form_item_tel"
playwright
:
"
page.locator('#form_item_tel')"
drawer_el_e7a791e5aea4Select
:
description
:
"
请选择"
element_type
:
select
section
:
"
main::panel:高级筛选"
strategy
:
label_text
value
:
"
科室"
playwright
:
"
page.getByText('科室',
{
exact:
true
})"
drawer_el_e5a793e5908dInput_2
:
description
:
"
姓名"
element_type
:
search
section
:
"
main::panel:高级筛选"
strategy
:
id
value
:
"
form_item_cname"
playwright
:
"
page.locator('#form_item_cname')"
drawer_el_e8a792e889b2Select
:
description
:
"
请选择"
element_type
:
select
section
:
"
main::panel:高级筛选"
strategy
:
label_text
value
:
"
角色"
playwright
:
"
page.getByText('角色',
{
exact:
true
})"
drawer_el_e8a792e889b2Input
:
description
:
"
角色"
element_type
:
search
section
:
"
main::panel:高级筛选"
strategy
:
id
value
:
"
form_item_roleCode"
playwright
:
"
page.locator('#form_item_roleCode')"
# --- main::panel:drawer:footer ---
# --- main::modal:编辑用户 ---
el_e8b4a6e58fb7Input
:
description
:
"
请输入"
element_type
:
text
section
:
"
main::modal:编辑用户"
strategy
:
id
value
:
"
form_item_userCode"
playwright
:
"
page.locator('#form_item_userCode')"
el_e5a793e5908dInput_3
:
description
:
"
请输入"
element_type
:
text
section
:
"
main::modal:编辑用户"
strategy
:
id
value
:
"
form_item_cname"
playwright
:
"
page.locator('#form_item_cname')"
el_e88194e7b3bbe696b9e5bc8fInput_2
:
description
:
"
请输入"
element_type
:
text
section
:
"
main::modal:编辑用户"
strategy
:
id
value
:
"
form_item_tel"
playwright
:
"
page.locator('#form_item_tel')"
el_e58cbbe999a2e59198e5b7a5e7bc96e58fb7Input
:
description
:
"
请输入"
element_type
:
text
section
:
"
main::modal:编辑用户"
strategy
:
id
value
:
"
form_item_erpCode"
playwright
:
"
page.locator('#form_item_erpCode')"
el_e7adbee5908de59bbee78987
:
description
:
"
签名图片"
element_type
:
span
section
:
"
main::modal:编辑用户"
strategy
:
role
role
:
button
name
:
"
签名图片"
playwright
:
"
page.getByRole('button',
{
name:
'签名图片'
})"
el_e7a681e794a8
:
description
:
"
禁用"
element_type
:
radio
section
:
"
main::modal:编辑用户"
strategy
:
text
value
:
"
禁用"
playwright
:
"
page.getByText('禁用')"
enable
:
description
:
"
启用"
element_type
:
radio
section
:
"
main::modal:编辑用户"
strategy
:
text
value
:
"
启用"
playwright
:
"
page.getByText('启用')"
cancelBtn
:
description
:
"
取
消"
element_type
:
button
section
:
"
main::modal:编辑用户"
strategy
:
role
role
:
button
name
:
"
取
消"
playwright
:
"
page.getByRole('button',
{
name:
'取
消'
})"
confirmBtn
:
description
:
"
确
定"
element_type
:
button
section
:
"
main::modal:编辑用户"
strategy
:
role
role
:
button
name
:
"
确
定"
playwright
:
"
page.getByRole('button',
{
name:
'确
定'
})"
locators/spd/basic-user.locator.ts
0 → 100644
View file @
6a181bea
import
type
{
Locator
,
Page
}
from
'
@playwright/test
'
;
import
{
BasicUserSharedLocators
}
from
'
./basic-user-shared.locator
'
;
/** 用户管理。选择器来自 locators/spd/basic-user.locator.yaml */
export
class
BasicUserLocators
extends
BasicUserSharedLocators
{
readonly
deptInput
:
Locator
;
readonly
roleInput
:
Locator
;
readonly
excelImport
:
Locator
;
readonly
signature
:
Locator
;
constructor
(
page
:
Page
)
{
super
(
page
);
this
.
deptInput
=
page
.
locator
(
'
#form_item_deptId
'
);
this
.
roleInput
=
page
.
locator
(
'
#form_item_roleCode
'
);
this
.
excelImport
=
page
.
getByRole
(
'
button
'
,
{
name
:
'
Excel导入
'
});
this
.
signature
=
page
.
getByText
(
'
签名图片
'
);
}
dialogUserCode
():
Locator
{
return
this
.
dialog
.
locator
(
'
#form_item_userCode
'
);
}
dialogName
():
Locator
{
return
this
.
dialog
.
locator
(
'
#form_item_cname
'
);
}
dialogTel
():
Locator
{
return
this
.
dialog
.
locator
(
'
#form_item_tel
'
);
}
dialogErp
():
Locator
{
return
this
.
dialog
.
locator
(
'
#form_item_erpCode
'
);
}
}
locators/spd/basic-user.locator.yaml
0 → 100644
View file @
6a181bea
# Auto-generated from basic-user-elements.json
# Source: http://spdtest.cmic.com.cn:8080/spd/basic/user/platform/person
# Scanned: 2026-10-20T07:54:40.566Z
# Page: 基础设置 > 用户管理 > 用户管理
# Note: advanced filter panel was opened during scan
# Note: filter dropdown was opened during scan
# Note: edit dialog was opened during scan
page
:
basic-user
module
:
spd-basic
url
:
http://spdtest.cmic.com.cn:8080/spd/basic/user/platform/person
locators
:
# --- main::main ---
menu_home
:
description
:
"
首页"
element_type
:
li
section
:
"
main::main"
strategy
:
role
role
:
menuitem
name
:
"
首页"
playwright
:
"
page.getByRole('menuitem',
{
name:
'首页'
})"
menu_basicSetting
:
description
:
"
基础设置"
element_type
:
li
section
:
"
main::main"
strategy
:
role
role
:
menuitem
name
:
"
基础设置"
playwright
:
"
page.getByRole('menuitem',
{
name:
'基础设置'
})"
menu_purchase
:
description
:
"
采购管理"
element_type
:
li
section
:
"
main::main"
strategy
:
role
role
:
menuitem
name
:
"
采购管理"
playwright
:
"
page.getByRole('menuitem',
{
name:
'采购管理'
})"
menu_opening
:
description
:
"
期初管理"
element_type
:
li
section
:
"
main::main"
strategy
:
role
role
:
menuitem
name
:
"
期初管理"
playwright
:
"
page.getByRole('menuitem',
{
name:
'期初管理'
})"
menu_centerStock
:
description
:
"
中心库管理"
element_type
:
li
section
:
"
main::main"
strategy
:
role
role
:
menuitem
name
:
"
中心库管理"
playwright
:
"
page.getByRole('menuitem',
{
name:
'中心库管理'
})"
menu_deptBusiness
:
description
:
"
科室业务管理"
element_type
:
li
section
:
"
main::main"
strategy
:
role
role
:
menuitem
name
:
"
科室业务管理"
playwright
:
"
page.getByRole('menuitem',
{
name:
'科室业务管理'
})"
menu_finance
:
description
:
"
财务管理"
element_type
:
li
section
:
"
main::main"
strategy
:
role
role
:
menuitem
name
:
"
财务管理"
playwright
:
"
page.getByRole('menuitem',
{
name:
'财务管理'
})"
menu_orthoVolume
:
description
:
"
骨科带量"
element_type
:
li
section
:
"
main::main"
strategy
:
role
role
:
menuitem
name
:
"
骨科带量"
playwright
:
"
page.getByRole('menuitem',
{
name:
'骨科带量'
})"
menu_general
:
description
:
"
综合管理"
element_type
:
li
section
:
"
main::main"
strategy
:
role
role
:
menuitem
name
:
"
综合管理"
playwright
:
"
page.getByRole('menuitem',
{
name:
'综合管理'
})"
menu_yangcai
:
description
:
"
阳采管理"
element_type
:
li
section
:
"
main::main"
strategy
:
role
role
:
menuitem
name
:
"
阳采管理"
playwright
:
"
page.getByRole('menuitem',
{
name:
'阳采管理'
})"
menu_processCenter
:
description
:
"
流程中心"
element_type
:
li
section
:
"
main::main"
strategy
:
role
role
:
menuitem
name
:
"
流程中心"
playwright
:
"
page.getByRole('menuitem',
{
name:
'流程中心'
})"
menu_logistics
:
description
:
"
后勤物资管理"
element_type
:
li
section
:
"
main::main"
strategy
:
role
role
:
menuitem
name
:
"
后勤物资管理"
playwright
:
"
page.getByRole('menuitem',
{
name:
'后勤物资管理'
})"
menu_statReport
:
description
:
"
统计报表"
element_type
:
li
section
:
"
main::main"
strategy
:
role
role
:
menuitem
name
:
"
统计报表"
playwright
:
"
page.getByRole('menuitem',
{
name:
'统计报表'
})"
menu_dataViz
:
description
:
"
数据可视化"
element_type
:
li
section
:
"
main::main"
strategy
:
role
role
:
menuitem
name
:
"
数据可视化"
playwright
:
"
page.getByRole('menuitem',
{
name:
'数据可视化'
})"
menu_roleManage
:
description
:
"
角色管理"
element_type
:
li
section
:
"
main::main"
strategy
:
role
role
:
menuitem
name
:
"
角色管理"
playwright
:
"
page.getByRole('menuitem',
{
name:
'角色管理'
})"
menu_userManage
:
description
:
"
用户管理"
element_type
:
li
section
:
"
main::main"
strategy
:
role
role
:
menuitem
name
:
"
用户管理"
playwright
:
"
page.getByRole('menuitem',
{
name:
'用户管理'
})"
menu_unionUserManage
:
description
:
"
医共体用户管理"
element_type
:
li
section
:
"
main::main"
strategy
:
role
role
:
menuitem
name
:
"
医共体用户管理"
playwright
:
"
page.getByRole('menuitem',
{
name:
'医共体用户管理'
})"
userManage
:
description
:
"
用户管理"
element_type
:
tab
section
:
"
main::main"
strategy
:
text
value
:
"
用户管理"
playwright
:
"
page.getByText('用户管理')"
tab_userManage
:
description
:
"
用户管理"
element_type
:
div
section
:
"
main::main"
strategy
:
id
value
:
"
rc-tabs-0-tab-/basic/user/platform/person"
playwright
:
"
page.locator('#rc-tabs-0-tab-/basic/user/platform/person')"
el_e5a793e5908dInput
:
description
:
"
姓名、登录账号"
element_type
:
text
section
:
"
main::main"
strategy
:
id
value
:
"
form_item_cname"
playwright
:
"
page.locator('#form_item_cname')"
el_e7a791e5aea4Select
:
description
:
"
请选择"
element_type
:
select
section
:
"
main::main"
strategy
:
label_text
value
:
"
科室"
playwright
:
"
page.getByText('科室',
{
exact:
true
})"
el_e5a793e5908dInput_2
:
description
:
"
姓名"
element_type
:
search
section
:
"
main::main"
strategy
:
id
value
:
"
form_item_cname"
playwright
:
"
page.locator('#form_item_cname')"
el_e8a792e889b2Select
:
description
:
"
请选择"
element_type
:
select
section
:
"
main::main"
strategy
:
label_text
value
:
"
角色"
playwright
:
"
page.getByText('角色',
{
exact:
true
})"
el_e8a792e889b2Input
:
description
:
"
角色"
element_type
:
search
section
:
"
main::main"
strategy
:
id
value
:
"
form_item_roleCode"
playwright
:
"
page.locator('#form_item_roleCode')"
searchBtn
:
description
:
"
查
询"
element_type
:
button
section
:
"
main::main"
strategy
:
role
role
:
button
name
:
"
查
询"
playwright
:
"
page.getByRole('button',
{
name:
'查
询'
})"
resetBtn
:
description
:
"
重
置"
element_type
:
button
section
:
"
main::main"
strategy
:
role
role
:
button
name
:
"
重
置"
playwright
:
"
page.getByRole('button',
{
name:
'重
置'
})"
advancedFilterBtn
:
description
:
"
高级筛选"
element_type
:
filter_trigger
section
:
"
main::main"
strategy
:
css
value
:
"
.advance-filter"
playwright
:
"
page.locator('.advance-filter')"
addBtn
:
description
:
"
新
增"
element_type
:
button
section
:
"
main::main"
strategy
:
role
role
:
button
name
:
"
新
增"
playwright
:
"
page.getByRole('button',
{
name:
'新
增'
})"
el_457863656ce5afbce585a5Btn
:
description
:
"
Excel导入"
element_type
:
button
section
:
"
main::main"
strategy
:
role
role
:
button
name
:
"
Excel导入"
playwright
:
"
page.getByRole('button',
{
name:
'Excel导入'
})"
tableDensity
:
description
:
"
column-height"
element_type
:
span
section
:
"
main::main"
strategy
:
label
value
:
"
column-height"
playwright
:
"
page.getByLabel('column-height')"
editBtn
:
description
:
"
编辑"
element_type
:
button
section
:
"
main::main"
strategy
:
role
role
:
button
name
:
"
编辑"
playwright
:
"
page.getByRole('button',
{
name:
'编辑'
})"
el_e68e88e69d83Btn
:
description
:
"
授权"
element_type
:
button
section
:
"
main::main"
strategy
:
role
role
:
button
name
:
"
授权"
playwright
:
"
page.getByRole('button',
{
name:
'授权'
})"
el_e9878de7bdaee5af86e7a081Btn
:
description
:
"
重置密码"
element_type
:
button
section
:
"
main::main"
strategy
:
role
role
:
button
name
:
"
重置密码"
playwright
:
"
page.getByRole('button',
{
name:
'重置密码'
})"
el_e5a793e5908dInput_3
:
description
:
"
请输入"
element_type
:
text
section
:
"
main::main"
strategy
:
id
value
:
"
form_item_cname"
playwright
:
"
page.locator('#form_item_cname')"
el_e7a791e5aea4Input
:
description
:
"
科室"
element_type
:
search
section
:
"
main::main"
strategy
:
id
value
:
"
form_item_deptId"
playwright
:
"
page.locator('#form_item_deptId')"
statusSelect
:
description
:
"
状态"
element_type
:
select
section
:
"
main::main"
strategy
:
label_text
value
:
"
状态"
playwright
:
"
page.getByText('状态',
{
exact:
true
})"
filterApplyBtn
:
description
:
"
筛
选"
element_type
:
button
section
:
"
main::main"
strategy
:
role
role
:
button
name
:
"
筛
选"
playwright
:
"
page.getByRole('button',
{
name:
'筛
选'
})"
# --- main::pagination ---
pagination_el_e585b1313432e69da13132333530e69da12fe9a1b5e8b7b3e887b3e9a1b5
:
description
:
"
共
142
条12350
条/页跳至页"
element_type
:
ul
section
:
"
main::pagination"
strategy
:
text
value
:
"
共
142
条12350
条/页跳至页"
playwright
:
"
page.getByText('共
142
条12350
条/页跳至页')"
pagination_prevPageBtn
:
description
:
"
上一页"
element_type
:
li
section
:
"
main::pagination"
strategy
:
text
value
:
"
上一页"
playwright
:
"
page.getByText('上一页')"
pagination_page_1
:
description
:
"
1"
element_type
:
pagination_item
section
:
"
main::pagination"
strategy
:
css
value
:
"
.ant-pagination-item-active"
playwright
:
"
page.locator('.ant-pagination-item-active')"
pagination_page_2
:
description
:
"
2"
element_type
:
pagination_item
section
:
"
main::pagination"
strategy
:
text
value
:
"
2"
playwright
:
"
page.getByText('2')"
pagination_page_3
:
description
:
"
3"
element_type
:
pagination_item
section
:
"
main::pagination"
strategy
:
text
value
:
"
3"
playwright
:
"
page.getByText('3')"
pagination_nextPageBtn
:
description
:
"
下一页"
element_type
:
li
section
:
"
main::pagination"
strategy
:
text
value
:
"
下一页"
playwright
:
"
page.getByText('下一页')"
pagination_pageSizeSelect
:
description
:
"
50
条/页"
element_type
:
select
section
:
"
main::pagination"
strategy
:
text
value
:
"
50
条/页"
playwright
:
"
page.getByText('50
条/页')"
# --- main::panel:高级筛选 ---
drawer_el_e5a793e5908dInput
:
description
:
"
请输入"
element_type
:
text
section
:
"
main::panel:高级筛选"
strategy
:
id
value
:
"
form_item_cname"
playwright
:
"
page.locator('#form_item_cname')"
drawer_el_e7a791e5aea4Select
:
description
:
"
请选择"
element_type
:
select
section
:
"
main::panel:高级筛选"
strategy
:
label_text
value
:
"
科室"
playwright
:
"
page.getByText('科室',
{
exact:
true
})"
drawer_el_e7a791e5aea4Input
:
description
:
"
科室"
element_type
:
search
section
:
"
main::panel:高级筛选"
strategy
:
id
value
:
"
form_item_deptId"
playwright
:
"
page.locator('#form_item_deptId')"
drawer_el_e8a792e889b2Select
:
description
:
"
请选择"
element_type
:
select
section
:
"
main::panel:高级筛选"
strategy
:
label_text
value
:
"
角色"
playwright
:
"
page.getByText('角色',
{
exact:
true
})"
drawer_el_e8a792e889b2Input
:
description
:
"
角色"
element_type
:
search
section
:
"
main::panel:高级筛选"
strategy
:
id
value
:
"
form_item_roleCode"
playwright
:
"
page.locator('#form_item_roleCode')"
drawer_statusSelect
:
description
:
"
状态"
element_type
:
select
section
:
"
main::panel:高级筛选"
strategy
:
label_text
value
:
"
状态"
playwright
:
"
page.getByText('状态',
{
exact:
true
})"
# --- main::panel:drawer:footer ---
# --- main::modal:编辑用户 ---
el_e8b4a6e58fb7Input
:
description
:
"
请输入"
element_type
:
text
section
:
"
main::modal:编辑用户"
strategy
:
id
value
:
"
form_item_userCode"
playwright
:
"
page.locator('#form_item_userCode')"
el_e5a793e5908dInput_4
:
description
:
"
请输入"
element_type
:
text
section
:
"
main::modal:编辑用户"
strategy
:
id
value
:
"
form_item_cname"
playwright
:
"
page.locator('#form_item_cname')"
el_e88194e7b3bbe696b9e5bc8fInput
:
description
:
"
请输入"
element_type
:
text
section
:
"
main::modal:编辑用户"
strategy
:
id
value
:
"
form_item_tel"
playwright
:
"
page.locator('#form_item_tel')"
el_e58cbbe999a2e59198e5b7a5e7bc96e58fb7Input
:
description
:
"
请输入"
element_type
:
text
section
:
"
main::modal:编辑用户"
strategy
:
id
value
:
"
form_item_erpCode"
playwright
:
"
page.locator('#form_item_erpCode')"
el_e7adbee5908de59bbee78987
:
description
:
"
签名图片"
element_type
:
span
section
:
"
main::modal:编辑用户"
strategy
:
role
role
:
button
name
:
"
签名图片"
playwright
:
"
page.getByRole('button',
{
name:
'签名图片'
})"
el_e7a681e794a8
:
description
:
"
禁用"
element_type
:
radio
section
:
"
main::modal:编辑用户"
strategy
:
text
value
:
"
禁用"
playwright
:
"
page.getByText('禁用')"
enable
:
description
:
"
启用"
element_type
:
radio
section
:
"
main::modal:编辑用户"
strategy
:
text
value
:
"
启用"
playwright
:
"
page.getByText('启用')"
cancelBtn
:
description
:
"
取
消"
element_type
:
button
section
:
"
main::modal:编辑用户"
strategy
:
role
role
:
button
name
:
"
取
消"
playwright
:
"
page.getByRole('button',
{
name:
'取
消'
})"
confirmBtn
:
description
:
"
确
定"
element_type
:
button
section
:
"
main::modal:编辑用户"
strategy
:
role
role
:
button
name
:
"
确
定"
playwright
:
"
page.getByRole('button',
{
name:
'确
定'
})"
locators/spd/flow-def.locator.ts
0 → 100644
View file @
6a181bea
import
type
{
Locator
,
Page
}
from
'
@playwright/test
'
;
import
{
WhFlowSharedLocators
}
from
'
./wh-flow-shared.locator
'
;
/** 审批流程设置。选择器来自 locators/spd/flow-def.locator.yaml */
export
class
FlowDefLocators
extends
WhFlowSharedLocators
{
readonly
typeSearch
:
Locator
;
readonly
addFlowBtn
:
Locator
;
readonly
saveBtn
:
Locator
;
readonly
resetBtn
:
Locator
;
readonly
defaultFlow
:
Locator
;
readonly
customFlow
:
Locator
;
readonly
conditionCancel
:
Locator
;
constructor
(
page
:
Page
)
{
super
(
page
);
this
.
typeSearch
=
page
.
getByPlaceholder
(
'
流程名称
'
);
this
.
addFlowBtn
=
page
.
getByRole
(
'
button
'
,
{
name
:
'
新增流程
'
});
this
.
saveBtn
=
page
.
getByRole
(
'
button
'
,
{
name
:
/保
\s
*存/
});
this
.
resetBtn
=
page
.
getByRole
(
'
button
'
,
{
name
:
/重
\s
*置/
});
this
.
defaultFlow
=
page
.
getByText
(
'
默认审批流
'
,
{
exact
:
true
}).
first
();
this
.
customFlow
=
page
.
getByText
(
'
自定义审批流
'
,
{
exact
:
true
}).
first
();
this
.
conditionCancel
=
page
.
getByRole
(
'
button
'
,
{
name
:
/取
\s
*消/
});
}
typeItems
():
Locator
{
return
this
.
page
.
locator
(
'
.ant-layout-sider .ant-menu-item, .ant-layout-sider li, [class*="left"] .ant-menu-item, [class*="biz"] li
'
,
);
}
selectedType
():
Locator
{
return
this
.
page
.
locator
(
'
.ant-layout-sider .ant-menu-item-selected, .ant-layout-sider .ant-menu-item-active, [class*="selected"]
'
)
.
first
();
}
}
locators/spd/flow-def.locator.yaml
0 → 100644
View file @
6a181bea
# Auto-generated from flow-def-elements.json
# Source: http://spdtest.cmic.com.cn:8080/spd/basic/flowSet/workflow/flowSet
# Scanned: 2026-10-20T09:05:57.781Z
# Page: 基础设置 > 流程设置 > 审批流程设置
page
:
flow-def
module
:
spd-basic
url
:
http://spdtest.cmic.com.cn:8080/spd/basic/flowSet/workflow/flowSet
locators
:
# --- main::main ---
menu_home
:
description
:
"
首页"
element_type
:
li
section
:
"
main::main"
strategy
:
role
role
:
menuitem
name
:
"
首页"
playwright
:
"
page.getByRole('menuitem',
{
name:
'首页'
})"
menu_basicSetting
:
description
:
"
基础设置"
element_type
:
li
section
:
"
main::main"
strategy
:
role
role
:
menuitem
name
:
"
基础设置"
playwright
:
"
page.getByRole('menuitem',
{
name:
'基础设置'
})"
menu_purchase
:
description
:
"
采购管理"
element_type
:
li
section
:
"
main::main"
strategy
:
role
role
:
menuitem
name
:
"
采购管理"
playwright
:
"
page.getByRole('menuitem',
{
name:
'采购管理'
})"
menu_opening
:
description
:
"
期初管理"
element_type
:
li
section
:
"
main::main"
strategy
:
role
role
:
menuitem
name
:
"
期初管理"
playwright
:
"
page.getByRole('menuitem',
{
name:
'期初管理'
})"
menu_centerStock
:
description
:
"
中心库管理"
element_type
:
li
section
:
"
main::main"
strategy
:
role
role
:
menuitem
name
:
"
中心库管理"
playwright
:
"
page.getByRole('menuitem',
{
name:
'中心库管理'
})"
menu_deptBusiness
:
description
:
"
科室业务管理"
element_type
:
li
section
:
"
main::main"
strategy
:
role
role
:
menuitem
name
:
"
科室业务管理"
playwright
:
"
page.getByRole('menuitem',
{
name:
'科室业务管理'
})"
menu_finance
:
description
:
"
财务管理"
element_type
:
li
section
:
"
main::main"
strategy
:
role
role
:
menuitem
name
:
"
财务管理"
playwright
:
"
page.getByRole('menuitem',
{
name:
'财务管理'
})"
menu_orthoVolume
:
description
:
"
骨科带量"
element_type
:
li
section
:
"
main::main"
strategy
:
role
role
:
menuitem
name
:
"
骨科带量"
playwright
:
"
page.getByRole('menuitem',
{
name:
'骨科带量'
})"
menu_general
:
description
:
"
综合管理"
element_type
:
li
section
:
"
main::main"
strategy
:
role
role
:
menuitem
name
:
"
综合管理"
playwright
:
"
page.getByRole('menuitem',
{
name:
'综合管理'
})"
menu_yangcai
:
description
:
"
阳采管理"
element_type
:
li
section
:
"
main::main"
strategy
:
role
role
:
menuitem
name
:
"
阳采管理"
playwright
:
"
page.getByRole('menuitem',
{
name:
'阳采管理'
})"
menu_processCenter
:
description
:
"
流程中心"
element_type
:
li
section
:
"
main::main"
strategy
:
role
role
:
menuitem
name
:
"
流程中心"
playwright
:
"
page.getByRole('menuitem',
{
name:
'流程中心'
})"
menu_logistics
:
description
:
"
后勤物资管理"
element_type
:
li
section
:
"
main::main"
strategy
:
role
role
:
menuitem
name
:
"
后勤物资管理"
playwright
:
"
page.getByRole('menuitem',
{
name:
'后勤物资管理'
})"
menu_statReport
:
description
:
"
统计报表"
element_type
:
li
section
:
"
main::main"
strategy
:
role
role
:
menuitem
name
:
"
统计报表"
playwright
:
"
page.getByRole('menuitem',
{
name:
'统计报表'
})"
menu_dataViz
:
description
:
"
数据可视化"
element_type
:
li
section
:
"
main::main"
strategy
:
role
role
:
menuitem
name
:
"
数据可视化"
playwright
:
"
page.getByRole('menuitem',
{
name:
'数据可视化'
})"
menu_el_e5aea1e689b9e6b581e7a88be8aebee7bdae
:
description
:
"
审批流程设置"
element_type
:
li
section
:
"
main::main"
strategy
:
role
role
:
menuitem
name
:
"
审批流程设置"
playwright
:
"
page.getByRole('menuitem',
{
name:
'审批流程设置'
})"
menu_el_e5aea1e689b9e6b581e5ae9ee4be8b
:
description
:
"
审批流实例"
element_type
:
li
section
:
"
main::main"
strategy
:
role
role
:
menuitem
name
:
"
审批流实例"
playwright
:
"
page.getByRole('menuitem',
{
name:
'审批流实例'
})"
el_e5aea1e689b9e6b581e7a88be8aebee7bdae
:
description
:
"
审批流程设置"
element_type
:
tab
section
:
"
main::main"
strategy
:
text
value
:
"
审批流程设置"
playwright
:
"
page.getByText('审批流程设置')"
tab_el_e5aea1e689b9e6b581e7a88be8aebee7bdae
:
description
:
"
审批流程设置"
element_type
:
div
section
:
"
main::main"
strategy
:
id
value
:
"
rc-tabs-0-tab-/basic/flowSet/workflow/flowSet"
playwright
:
"
page.locator('#rc-tabs-0-tab-/basic/flowSet/workflow/flowSet')"
el_e5aea1e689b9e6b581e7a88be8aebee7bdaeInput
:
description
:
"
流程名称"
element_type
:
text
section
:
"
main::main"
strategy
:
placeholder
value
:
"
流程名称"
playwright
:
"
page.getByPlaceholder('流程名称')"
el_e696b0e5a29ee6b581e7a88bBtn
:
description
:
"
新增流程"
element_type
:
button
section
:
"
main::main"
strategy
:
role
role
:
button
name
:
"
新增流程"
playwright
:
"
page.getByRole('button',
{
name:
'新增流程'
})"
Input
:
description
:
"
1"
element_type
:
text
section
:
"
main::main"
strategy
:
id
value
:
"
form_item_pageList_0_modelName"
playwright
:
"
page.locator('#form_item_pageList_0_modelName')"
editBtn
:
description
:
"
编辑"
element_type
:
button
section
:
"
main::main"
strategy
:
role
role
:
button
name
:
"
编辑"
playwright
:
"
page.getByRole('button',
{
name:
'编辑'
})"
el_e588a0e999a4Btn
:
description
:
"
删除"
element_type
:
button
section
:
"
main::main"
strategy
:
role
role
:
button
name
:
"
删除"
playwright
:
"
page.getByRole('button',
{
name:
'删除'
})"
2Input_2
:
description
:
"
2"
element_type
:
text
section
:
"
main::main"
strategy
:
id
value
:
"
form_item_pageList_1_modelName"
playwright
:
"
page.locator('#form_item_pageList_1_modelName')"
saveBtn
:
description
:
"
保
存"
element_type
:
button
section
:
"
main::main"
strategy
:
role
role
:
button
name
:
"
保
存"
playwright
:
"
page.getByRole('button',
{
name:
'保
存'
})"
resetBtn
:
description
:
"
重
置"
element_type
:
button
section
:
"
main::main"
strategy
:
role
role
:
button
name
:
"
重
置"
playwright
:
"
page.getByRole('button',
{
name:
'重
置'
})"
form_item_pagelist_2_modelnameInput
:
description
:
"
text"
element_type
:
text
section
:
"
main::main"
strategy
:
id
value
:
"
form_item_pageList_2_modelName"
playwright
:
"
page.locator('#form_item_pageList_2_modelName')"
# --- main::modal:条件配置 ---
el_e6b7bbe58aa0Btn
:
description
:
"
添
加"
element_type
:
button
section
:
"
main::modal:条件配置"
strategy
:
role
role
:
button
name
:
"
添
加"
playwright
:
"
page.getByRole('button',
{
name:
'添
加'
})"
el_e698afe590a6e8b685e99990Select
:
description
:
"
是否超限"
element_type
:
select
section
:
"
main::modal:条件配置"
strategy
:
text
value
:
"
是否超限"
playwright
:
"
page.getByText('是否超限')"
form_item_tablelist_0_conditiontypeInput
:
description
:
"
search"
element_type
:
search
section
:
"
main::modal:条件配置"
strategy
:
id
value
:
"
form_item_tableList_0_conditionType"
playwright
:
"
page.locator('#form_item_tableList_0_conditionType')"
el_e698afSelect
:
description
:
"
是"
element_type
:
select
section
:
"
main::modal:条件配置"
strategy
:
text
value
:
"
是"
playwright
:
"
page.getByText('是')"
form_item_tablelist_0_conditiontextInput
:
description
:
"
search"
element_type
:
search
section
:
"
main::modal:条件配置"
strategy
:
id
value
:
"
form_item_tableList_0_conditionText"
playwright
:
"
page.locator('#form_item_tableList_0_conditionText')"
cancelBtn
:
description
:
"
取
消"
element_type
:
button
section
:
"
main::modal:条件配置"
strategy
:
role
role
:
button
name
:
"
取
消"
playwright
:
"
page.getByRole('button',
{
name:
'取
消'
})"
locators/spd/flow-inst.locator.ts
0 → 100644
View file @
6a181bea
import
type
{
Locator
,
Page
}
from
'
@playwright/test
'
;
import
{
WhFlowSharedLocators
}
from
'
./wh-flow-shared.locator
'
;
/** 审批流实例。选择器来自 locators/spd/flow-inst.locator.yaml */
export
class
FlowInstLocators
extends
WhFlowSharedLocators
{
readonly
orderNo
:
Locator
;
readonly
summary
:
Locator
;
readonly
startDate
:
Locator
;
readonly
endDate
:
Locator
;
readonly
queryBtn
:
Locator
;
readonly
resetBtn
:
Locator
;
readonly
detailBtn
:
Locator
;
readonly
backBtn
:
Locator
;
constructor
(
page
:
Page
)
{
super
(
page
);
this
.
orderNo
=
page
.
locator
(
'
#form_item_orderNo
'
).
or
(
page
.
getByPlaceholder
(
'
单据编号
'
)).
first
();
this
.
summary
=
page
.
locator
(
'
#form_item_msg
'
).
or
(
page
.
getByPlaceholder
(
'
摘要
'
)).
first
();
this
.
startDate
=
page
.
locator
(
'
#form_item_dateValue
'
).
first
();
this
.
endDate
=
page
.
getByPlaceholder
(
'
截止时间
'
).
first
();
this
.
queryBtn
=
page
.
getByRole
(
'
button
'
,
{
name
:
/查
\s
*询/
});
this
.
resetBtn
=
page
.
getByRole
(
'
button
'
,
{
name
:
/重
\s
*置/
});
this
.
detailBtn
=
page
.
getByRole
(
'
button
'
,
{
name
:
'
详情
'
});
this
.
backBtn
=
page
.
getByRole
(
'
button
'
,
{
name
:
/返
\s
*回/
});
}
statusSelect
():
Locator
{
return
this
.
page
.
locator
(
'
.ant-form-item
'
).
filter
({
hasText
:
'
审批状态
'
}).
locator
(
'
.ant-select
'
).
first
();
}
bizTypeSelect
():
Locator
{
return
this
.
page
.
locator
(
'
.ant-form-item
'
).
filter
({
hasText
:
'
业务类型
'
}).
locator
(
'
.ant-select
'
).
first
();
}
}
locators/spd/flow-inst.locator.yaml
0 → 100644
View file @
6a181bea
# Auto-generated from flow-inst-elements.json
# Source: http://spdtest.cmic.com.cn:8080/spd/basic/flowSet/workflow/flowCase
# Scanned: 2026-10-20T09:08:51.288Z
# Page: 基础设置 > 流程设置 > 审批流实例
# Note: filter dropdown was opened during scan
# Note: detail view was opened during scan
page
:
flow-inst
module
:
spd-basic
url
:
http://spdtest.cmic.com.cn:8080/spd/basic/flowSet/workflow/flowCase
locators
:
# --- main::main ---
menu_home
:
description
:
"
首页"
element_type
:
li
section
:
"
main::main"
strategy
:
role
role
:
menuitem
name
:
"
首页"
playwright
:
"
page.getByRole('menuitem',
{
name:
'首页'
})"
menu_basicSetting
:
description
:
"
基础设置"
element_type
:
li
section
:
"
main::main"
strategy
:
role
role
:
menuitem
name
:
"
基础设置"
playwright
:
"
page.getByRole('menuitem',
{
name:
'基础设置'
})"
menu_purchase
:
description
:
"
采购管理"
element_type
:
li
section
:
"
main::main"
strategy
:
role
role
:
menuitem
name
:
"
采购管理"
playwright
:
"
page.getByRole('menuitem',
{
name:
'采购管理'
})"
menu_opening
:
description
:
"
期初管理"
element_type
:
li
section
:
"
main::main"
strategy
:
role
role
:
menuitem
name
:
"
期初管理"
playwright
:
"
page.getByRole('menuitem',
{
name:
'期初管理'
})"
menu_centerStock
:
description
:
"
中心库管理"
element_type
:
li
section
:
"
main::main"
strategy
:
role
role
:
menuitem
name
:
"
中心库管理"
playwright
:
"
page.getByRole('menuitem',
{
name:
'中心库管理'
})"
menu_deptBusiness
:
description
:
"
科室业务管理"
element_type
:
li
section
:
"
main::main"
strategy
:
role
role
:
menuitem
name
:
"
科室业务管理"
playwright
:
"
page.getByRole('menuitem',
{
name:
'科室业务管理'
})"
menu_finance
:
description
:
"
财务管理"
element_type
:
li
section
:
"
main::main"
strategy
:
role
role
:
menuitem
name
:
"
财务管理"
playwright
:
"
page.getByRole('menuitem',
{
name:
'财务管理'
})"
menu_orthoVolume
:
description
:
"
骨科带量"
element_type
:
li
section
:
"
main::main"
strategy
:
role
role
:
menuitem
name
:
"
骨科带量"
playwright
:
"
page.getByRole('menuitem',
{
name:
'骨科带量'
})"
menu_general
:
description
:
"
综合管理"
element_type
:
li
section
:
"
main::main"
strategy
:
role
role
:
menuitem
name
:
"
综合管理"
playwright
:
"
page.getByRole('menuitem',
{
name:
'综合管理'
})"
menu_yangcai
:
description
:
"
阳采管理"
element_type
:
li
section
:
"
main::main"
strategy
:
role
role
:
menuitem
name
:
"
阳采管理"
playwright
:
"
page.getByRole('menuitem',
{
name:
'阳采管理'
})"
menu_processCenter
:
description
:
"
流程中心"
element_type
:
li
section
:
"
main::main"
strategy
:
role
role
:
menuitem
name
:
"
流程中心"
playwright
:
"
page.getByRole('menuitem',
{
name:
'流程中心'
})"
menu_logistics
:
description
:
"
后勤物资管理"
element_type
:
li
section
:
"
main::main"
strategy
:
role
role
:
menuitem
name
:
"
后勤物资管理"
playwright
:
"
page.getByRole('menuitem',
{
name:
'后勤物资管理'
})"
menu_statReport
:
description
:
"
统计报表"
element_type
:
li
section
:
"
main::main"
strategy
:
role
role
:
menuitem
name
:
"
统计报表"
playwright
:
"
page.getByRole('menuitem',
{
name:
'统计报表'
})"
menu_dataViz
:
description
:
"
数据可视化"
element_type
:
li
section
:
"
main::main"
strategy
:
role
role
:
menuitem
name
:
"
数据可视化"
playwright
:
"
page.getByRole('menuitem',
{
name:
'数据可视化'
})"
menu_el_e5aea1e689b9e6b581e7a88be8aebee7bdae
:
description
:
"
审批流程设置"
element_type
:
li
section
:
"
main::main"
strategy
:
role
role
:
menuitem
name
:
"
审批流程设置"
playwright
:
"
page.getByRole('menuitem',
{
name:
'审批流程设置'
})"
menu_el_e5aea1e689b9e6b581e5ae9ee4be8b
:
description
:
"
审批流实例"
element_type
:
li
section
:
"
main::main"
strategy
:
role
role
:
menuitem
name
:
"
审批流实例"
playwright
:
"
page.getByRole('menuitem',
{
name:
'审批流实例'
})"
el_e5aea1e689b9e6b581e5ae9ee4be8b
:
description
:
"
审批流实例"
element_type
:
tab
section
:
"
main::main"
strategy
:
text
value
:
"
审批流实例"
playwright
:
"
page.getByText('审批流实例')"
tab_el_e5aea1e689b9e6b581e5ae9ee4be8b
:
description
:
"
审批流实例"
element_type
:
div
section
:
"
main::main"
strategy
:
id
value
:
"
rc-tabs-0-tab-/basic/flowSet/workflow/flowCase"
playwright
:
"
page.locator('#rc-tabs-0-tab-/basic/flowSet/workflow/flowCase')"
documentNo
:
description
:
"
单据编号"
element_type
:
text
section
:
"
main::main"
strategy
:
id
value
:
"
form_item_orderNo"
playwright
:
"
page.locator('#form_item_orderNo')"
el_e5aea1e689b9e78ab6e68081Select
:
description
:
"
审批状态"
element_type
:
select
section
:
"
main::main"
strategy
:
label_text
value
:
"
审批状态"
playwright
:
"
page.getByText('审批状态',
{
exact:
true
})"
el_e5aea1e689b9e78ab6e68081Input
:
description
:
"
审批状态"
element_type
:
search
section
:
"
main::main"
strategy
:
id
value
:
"
form_item_procState"
playwright
:
"
page.locator('#form_item_procState')"
el_e58f91e8b5b7e697b6e997b4DateRange
:
description
:
"
发起时间"
element_type
:
datepicker
section
:
"
main::main"
strategy
:
label_text
value
:
"
发起时间"
playwright
:
"
page.getByText('发起时间',
{
exact:
true
})"
el_e58f91e8b5b7e697b6e997b4Input
:
description
:
"
开始时间"
element_type
:
text
section
:
"
main::main"
strategy
:
id
value
:
"
form_item_dateValue"
playwright
:
"
page.locator('#form_item_dateValue')"
el_e58f91e8b5b7e697b6e997b4Input_2
:
description
:
"
截止时间"
element_type
:
text
section
:
"
main::main"
strategy
:
placeholder
value
:
"
截止时间"
playwright
:
"
page.getByPlaceholder('截止时间')"
el_e4b89ae58aa1e7b1bbe59e8bSelect
:
description
:
"
业务类型"
element_type
:
select
section
:
"
main::main"
strategy
:
label_text
value
:
"
业务类型"
playwright
:
"
page.getByText('业务类型',
{
exact:
true
})"
el_e4b89ae58aa1e7b1bbe59e8bInput
:
description
:
"
业务类型"
element_type
:
search
section
:
"
main::main"
strategy
:
id
value
:
"
form_item_businessType"
playwright
:
"
page.locator('#form_item_businessType')"
el_e69198e8a681Input
:
description
:
"
摘要"
element_type
:
text
section
:
"
main::main"
strategy
:
id
value
:
"
form_item_msg"
playwright
:
"
page.locator('#form_item_msg')"
searchBtn
:
description
:
"
查
询"
element_type
:
button
section
:
"
main::main"
strategy
:
role
role
:
button
name
:
"
查
询"
playwright
:
"
page.getByRole('button',
{
name:
'查
询'
})"
resetBtn
:
description
:
"
重
置"
element_type
:
button
section
:
"
main::main"
strategy
:
role
role
:
button
name
:
"
重
置"
playwright
:
"
page.getByRole('button',
{
name:
'重
置'
})"
tableDensity
:
description
:
"
column-height"
element_type
:
span
section
:
"
main::main"
strategy
:
label
value
:
"
column-height"
playwright
:
"
page.getByLabel('column-height')"
detailBtn
:
description
:
"
详情"
element_type
:
button
section
:
"
main::main"
strategy
:
role
role
:
button
name
:
"
详情"
playwright
:
"
page.getByRole('button',
{
name:
'详情'
})"
el_e58f91e8b5b7e5aea1e689b9e8928be58d8ee58f91e8b5b7e4babae5a484e79086e697b6e997b4efbc9a323032362d31302d323031363a34383a353028e88097e697b630e5b08fe697b630e58886e9929f30e7a79229e5aea1e689b9e6848fe8a781efbc9ae28094
:
description
:
"
发起审批蒋华发起人处理时间:2026-10-20
16:48:50(耗时0小时0分钟0秒)审批意见:—"
element_type
:
div
section
:
"
main::main"
strategy
:
role
role
:
button
name
:
"
发起审批蒋华发起人处理时间:2026-10-20
16:48:50(耗时0小时0分钟0秒)审批意见:—"
playwright
:
"
page.getByRole('button',
{
name:
'发起审批蒋华发起人处理时间:2026-10-20
16:48:50(耗时0小时0分钟0秒)审批意见:—'
})"
el_e5aea1e689b9e9809ae8bf87e8928be58d8ee8bf90e890a5e4b8bbe7aea1e5a484e79086e697b6e997b4efbc9a323032362d31302d323031363a34383a353028e88097e697b630e5b08fe697b630e58886e9929f31e7a79229e5aea1e689b9e6848fe8a781efbc9ae887aae58aa8e5aea1e689b9
:
description
:
"
审批通过蒋华运营主管处理时间:2026-10-20
16:48:50(耗时0小时0分钟1秒)审批意见:自动审批"
element_type
:
div
section
:
"
main::main"
strategy
:
role
role
:
button
name
:
"
审批通过蒋华运营主管处理时间:2026-10-20
16:48:50(耗时0小时0分钟1秒)审批意见:自动审批"
playwright
:
"
page.getByRole('button',
{
name:
'审批通过蒋华运营主管处理时间:2026-10-20
16:48:50(耗时0小时0分钟1秒)审批意见:自动审批'
})"
# --- main::pagination ---
pagination_el_e585b132333632e69da13132333435e280a2e280a2e280a234383530e69da12fe9a1b5e8b7b3e887b3e9a1b5
:
description
:
"
共
2362
条12345•••4850
条/页跳至页"
element_type
:
ul
section
:
"
main::pagination"
strategy
:
text
value
:
"
共
2362
条12345•••4850
条/页跳至页"
playwright
:
"
page.getByText('共
2362
条12345•••4850
条/页跳至页')"
pagination_prevPageBtn
:
description
:
"
上一页"
element_type
:
li
section
:
"
main::pagination"
strategy
:
text
value
:
"
上一页"
playwright
:
"
page.getByText('上一页')"
pagination_page_1
:
description
:
"
1"
element_type
:
pagination_item
section
:
"
main::pagination"
strategy
:
css
value
:
"
.ant-pagination-item-active"
playwright
:
"
page.locator('.ant-pagination-item-active')"
pagination_page_2
:
description
:
"
2"
element_type
:
pagination_item
section
:
"
main::pagination"
strategy
:
text
value
:
"
2"
playwright
:
"
page.getByText('2')"
pagination_page_3
:
description
:
"
3"
element_type
:
pagination_item
section
:
"
main::pagination"
strategy
:
text
value
:
"
3"
playwright
:
"
page.getByText('3')"
pagination_page_4
:
description
:
"
4"
element_type
:
pagination_item
section
:
"
main::pagination"
strategy
:
text
value
:
"
4"
playwright
:
"
page.getByText('4')"
pagination_page_5
:
description
:
"
5"
element_type
:
pagination_item
section
:
"
main::pagination"
strategy
:
text
value
:
"
5"
playwright
:
"
page.getByText('5')"
pagination_el_e59091e5908e35e9a1b5
:
description
:
"
向后
5
页"
element_type
:
li
section
:
"
main::pagination"
strategy
:
text
value
:
"
向后
5
页"
playwright
:
"
page.getByText('向后
5
页')"
pagination_page_48
:
description
:
"
48"
element_type
:
pagination_item
section
:
"
main::pagination"
strategy
:
text
value
:
"
48"
playwright
:
"
page.getByText('48')"
pagination_nextPageBtn
:
description
:
"
下一页"
element_type
:
li
section
:
"
main::pagination"
strategy
:
text
value
:
"
下一页"
playwright
:
"
page.getByText('下一页')"
pagination_pageSizeSelect
:
description
:
"
50
条/页"
element_type
:
select
section
:
"
main::pagination"
strategy
:
text
value
:
"
50
条/页"
playwright
:
"
page.getByText('50
条/页')"
# --- main::detail:采购计划详情 ---
backBtn
:
description
:
"
返
回"
element_type
:
button
section
:
"
main::detail:采购计划详情"
strategy
:
role
role
:
button
name
:
"
返
回"
playwright
:
"
page.getByRole('button',
{
name:
'返
回'
})"
tableDensity_2
:
description
:
"
column-height"
element_type
:
span
section
:
"
main::detail:采购计划详情"
strategy
:
label
value
:
"
column-height"
playwright
:
"
page.getByLabel('column-height')"
el_e585b132e69da1313530e69da12fe9a1b5
:
description
:
"
共
2
条150
条/页"
element_type
:
ul
section
:
"
main::detail:采购计划详情"
strategy
:
text
value
:
"
共
2
条150
条/页"
playwright
:
"
page.getByText('共
2
条150
条/页')"
prevPageBtn
:
description
:
"
上一页"
element_type
:
li
section
:
"
main::detail:采购计划详情"
strategy
:
text
value
:
"
上一页"
playwright
:
"
page.getByText('上一页')"
page_1
:
description
:
"
1"
element_type
:
pagination_item
section
:
"
main::detail:采购计划详情"
strategy
:
css
value
:
"
.ant-pagination-item-active"
playwright
:
"
page.locator('.ant-pagination-item-active')"
nextPageBtn
:
description
:
"
下一页"
element_type
:
li
section
:
"
main::detail:采购计划详情"
strategy
:
text
value
:
"
下一页"
playwright
:
"
page.getByText('下一页')"
pageSizeSelect
:
description
:
"
50
条/页"
element_type
:
select
section
:
"
main::detail:采购计划详情"
strategy
:
text
value
:
"
50
条/页"
playwright
:
"
page.getByText('50
条/页')"
locators/spd/surgery-base-pkg.locator.yaml
0 → 100644
View file @
6a181bea
# Auto-generated from surgery-base-pkg-elements.json
# Source: http://spdtest.cmic.com.cn:8080/spd/basic/operationSetting/baseMaintenance
# Scanned: 2026-10-20T08:47:17.301Z
# Page: 基础设置 > 手术套包设置 > 基础包维护
# Note: dialog/modal was opened during scan
page
:
surgery-base-pkg
module
:
spd-basic
url
:
http://spdtest.cmic.com.cn:8080/spd/basic/operationSetting/baseMaintenance
locators
:
# --- main::main ---
menu_home
:
description
:
"
首页"
element_type
:
li
section
:
"
main::main"
strategy
:
role
role
:
menuitem
name
:
"
首页"
playwright
:
"
page.getByRole('menuitem',
{
name:
'首页'
})"
menu_basicSetting
:
description
:
"
基础设置"
element_type
:
li
section
:
"
main::main"
strategy
:
role
role
:
menuitem
name
:
"
基础设置"
playwright
:
"
page.getByRole('menuitem',
{
name:
'基础设置'
})"
menu_purchase
:
description
:
"
采购管理"
element_type
:
li
section
:
"
main::main"
strategy
:
role
role
:
menuitem
name
:
"
采购管理"
playwright
:
"
page.getByRole('menuitem',
{
name:
'采购管理'
})"
menu_opening
:
description
:
"
期初管理"
element_type
:
li
section
:
"
main::main"
strategy
:
role
role
:
menuitem
name
:
"
期初管理"
playwright
:
"
page.getByRole('menuitem',
{
name:
'期初管理'
})"
menu_centerStock
:
description
:
"
中心库管理"
element_type
:
li
section
:
"
main::main"
strategy
:
role
role
:
menuitem
name
:
"
中心库管理"
playwright
:
"
page.getByRole('menuitem',
{
name:
'中心库管理'
})"
menu_deptBusiness
:
description
:
"
科室业务管理"
element_type
:
li
section
:
"
main::main"
strategy
:
role
role
:
menuitem
name
:
"
科室业务管理"
playwright
:
"
page.getByRole('menuitem',
{
name:
'科室业务管理'
})"
menu_finance
:
description
:
"
财务管理"
element_type
:
li
section
:
"
main::main"
strategy
:
role
role
:
menuitem
name
:
"
财务管理"
playwright
:
"
page.getByRole('menuitem',
{
name:
'财务管理'
})"
menu_orthoVolume
:
description
:
"
骨科带量"
element_type
:
li
section
:
"
main::main"
strategy
:
role
role
:
menuitem
name
:
"
骨科带量"
playwright
:
"
page.getByRole('menuitem',
{
name:
'骨科带量'
})"
menu_general
:
description
:
"
综合管理"
element_type
:
li
section
:
"
main::main"
strategy
:
role
role
:
menuitem
name
:
"
综合管理"
playwright
:
"
page.getByRole('menuitem',
{
name:
'综合管理'
})"
menu_yangcai
:
description
:
"
阳采管理"
element_type
:
li
section
:
"
main::main"
strategy
:
role
role
:
menuitem
name
:
"
阳采管理"
playwright
:
"
page.getByRole('menuitem',
{
name:
'阳采管理'
})"
menu_processCenter
:
description
:
"
流程中心"
element_type
:
li
section
:
"
main::main"
strategy
:
role
role
:
menuitem
name
:
"
流程中心"
playwright
:
"
page.getByRole('menuitem',
{
name:
'流程中心'
})"
menu_logistics
:
description
:
"
后勤物资管理"
element_type
:
li
section
:
"
main::main"
strategy
:
role
role
:
menuitem
name
:
"
后勤物资管理"
playwright
:
"
page.getByRole('menuitem',
{
name:
'后勤物资管理'
})"
menu_statReport
:
description
:
"
统计报表"
element_type
:
li
section
:
"
main::main"
strategy
:
role
role
:
menuitem
name
:
"
统计报表"
playwright
:
"
page.getByRole('menuitem',
{
name:
'统计报表'
})"
menu_dataViz
:
description
:
"
数据可视化"
element_type
:
li
section
:
"
main::main"
strategy
:
role
role
:
menuitem
name
:
"
数据可视化"
playwright
:
"
page.getByRole('menuitem',
{
name:
'数据可视化'
})"
menu_basePkgMaintenance
:
description
:
"
基础包维护"
element_type
:
li
section
:
"
main::main"
strategy
:
role
role
:
menuitem
name
:
"
基础包维护"
playwright
:
"
page.getByRole('menuitem',
{
name:
'基础包维护'
})"
menu_operTypeMaintenance
:
description
:
"
术种维护"
element_type
:
li
section
:
"
main::main"
strategy
:
role
role
:
menuitem
name
:
"
术种维护"
playwright
:
"
page.getByRole('menuitem',
{
name:
'术种维护'
})"
menu_stdPkgMaintenance
:
description
:
"
标准套包维护"
element_type
:
li
section
:
"
main::main"
strategy
:
role
role
:
menuitem
name
:
"
标准套包维护"
playwright
:
"
page.getByRole('menuitem',
{
name:
'标准套包维护'
})"
basePkgMaintenance
:
description
:
"
基础包维护"
element_type
:
tab
section
:
"
main::main"
strategy
:
text
value
:
"
基础包维护"
playwright
:
"
page.getByText('基础包维护')"
tab_basePkgMaintenance
:
description
:
"
基础包维护"
element_type
:
div
section
:
"
main::main"
strategy
:
id
value
:
"
rc-tabs-0-tab-/basic/operationSetting/baseMaintenance"
playwright
:
"
page.locator('#rc-tabs-0-tab-/basic/operationSetting/baseMaintenance')"
addCategoryBtn
:
description
:
"
新增分类"
element_type
:
button
section
:
"
main::main"
strategy
:
role
role
:
button
name
:
"
新增分类"
playwright
:
"
page.getByRole('button',
{
name:
'新增分类'
})"
addBasePkgBtn
:
description
:
"
新增基础包"
element_type
:
button
section
:
"
main::main"
strategy
:
role
role
:
button
name
:
"
新增基础包"
playwright
:
"
page.getByRole('button',
{
name:
'新增基础包'
})"
categorySearchInput
:
description
:
"
请输入分类名称"
element_type
:
text
section
:
"
main::main"
strategy
:
placeholder
value
:
"
请输入分类名称"
playwright
:
"
page.getByPlaceholder('请输入分类名称')"
tree_node_e7b1bb313231
:
description
:
"
类12121313"
element_type
:
tree_title
section
:
"
main::main"
strategy
:
tree_node
value
:
"
类12121313"
tree
:
"
.ant-tree"
playwright
:
"
page.locator('.ant-tree
.ant-tree-title').filter({
hasText:
/^
\\
s*类12121313
\\
s*$/
})"
tree_node_e58c85323131
:
description
:
"
包2112412"
element_type
:
tree_title
section
:
"
main::main"
strategy
:
tree_node
value
:
"
包2112412"
tree
:
"
.ant-tree"
playwright
:
"
page.locator('.ant-tree
.ant-tree-title').filter({
hasText:
/^
\\
s*包2112412
\\
s*$/
})"
tree_node_e58c85415554
:
description
:
"
包AUTO-BASE-1792473862012-33"
element_type
:
tree_title
section
:
"
main::main"
strategy
:
tree_node
value
:
"
包AUTO-BASE-1792473862012-33"
tree
:
"
.ant-tree"
playwright
:
"
page.locator('.ant-tree
.ant-tree-title').filter({
hasText:
/^
\\
s*包AUTO-BASE-1792473862012-33
\\
s*$/
})"
tree_el_e58c854155544f2d424153452d313739323437333839313334382d313539_2
:
description
:
"
包AUTO-BASE-1792473891348-159"
element_type
:
tree_title
section
:
"
main::main"
strategy
:
tree_node
value
:
"
包AUTO-BASE-1792473891348-159"
tree
:
"
.ant-tree"
playwright
:
"
page.locator('.ant-tree
.ant-tree-title').filter({
hasText:
/^
\\
s*包AUTO-BASE-1792473891348-159
\\
s*$/
})"
tree_el_e58c854155544f2d424153452d313739323437333933343839312d393337_2
:
description
:
"
包AUTO-BASE-1792473934891-937"
element_type
:
tree_title
section
:
"
main::main"
strategy
:
tree_node
value
:
"
包AUTO-BASE-1792473934891-937"
tree
:
"
.ant-tree"
playwright
:
"
page.locator('.ant-tree
.ant-tree-title').filter({
hasText:
/^
\\
s*包AUTO-BASE-1792473934891-937
\\
s*$/
})"
tree_node_e7b1bb323032
:
description
:
"
类20240324"
element_type
:
tree_title
section
:
"
main::main"
strategy
:
tree_node
value
:
"
类20240324"
tree
:
"
.ant-tree"
playwright
:
"
page.locator('.ant-tree
.ant-tree-title').filter({
hasText:
/^
\\
s*类20240324
\\
s*$/
})"
tree_el_e7b1bb3230323530353136_2
:
description
:
"
类20250516"
element_type
:
tree_title
section
:
"
main::main"
strategy
:
tree_node
value
:
"
类20250516"
tree
:
"
.ant-tree"
playwright
:
"
page.locator('.ant-tree
.ant-tree-title').filter({
hasText:
/^
\\
s*类20250516
\\
s*$/
})"
tree_el_e7b1bb3230323630373039_2
:
description
:
"
类20260709"
element_type
:
tree_title
section
:
"
main::main"
strategy
:
tree_node
value
:
"
类20260709"
tree
:
"
.ant-tree"
playwright
:
"
page.locator('.ant-tree
.ant-tree-title').filter({
hasText:
/^
\\
s*类20260709
\\
s*$/
})"
tree_el_e7b1bb32303236e59b9ee5bd92e6b58be8af95_2
:
description
:
"
类2026回归测试"
element_type
:
tree_title
section
:
"
main::main"
strategy
:
tree_node
value
:
"
类2026回归测试"
tree
:
"
.ant-tree"
playwright
:
"
page.locator('.ant-tree
.ant-tree-title').filter({
hasText:
/^
\\
s*类2026回归测试
\\
s*$/
})"
tree_node_e7b1bb323531
:
description
:
"
类2512回归"
element_type
:
tree_title
section
:
"
main::main"
strategy
:
tree_node
value
:
"
类2512回归"
tree
:
"
.ant-tree"
playwright
:
"
page.locator('.ant-tree
.ant-tree-title').filter({
hasText:
/^
\\
s*类2512回归
\\
s*$/
})"
tree_node_e7b1bb544553
:
description
:
"
类TEST"
element_type
:
tree_title
section
:
"
main::main"
strategy
:
tree_node
value
:
"
类TEST"
tree
:
"
.ant-tree"
playwright
:
"
page.locator('.ant-tree
.ant-tree-title').filter({
hasText:
/^
\\
s*类TEST
\\
s*$/
})"
tree_node_e7b1bb6a6d5f
:
description
:
"
类jm_基础包分类01"
element_type
:
tree_title
section
:
"
main::main"
strategy
:
tree_node
value
:
"
类jm_基础包分类01"
tree
:
"
.ant-tree"
playwright
:
"
page.locator('.ant-tree
.ant-tree-title').filter({
hasText:
/^
\\
s*类jm_基础包分类01
\\
s*$/
})"
tree_el_e7b1bb6a6d5fe59fbae7a180e58c85e58886e7b1bb3032_2
:
description
:
"
类jm_基础包分类02"
element_type
:
tree_title
section
:
"
main::main"
strategy
:
tree_node
value
:
"
类jm_基础包分类02"
tree
:
"
.ant-tree"
playwright
:
"
page.locator('.ant-tree
.ant-tree-title').filter({
hasText:
/^
\\
s*类jm_基础包分类02
\\
s*$/
})"
tree_node_e7b1bbe58fa3
:
description
:
"
类口腔科基础包分类1"
element_type
:
tree_title
section
:
"
main::main"
strategy
:
tree_node
value
:
"
类口腔科基础包分类1"
tree
:
"
.ant-tree"
playwright
:
"
page.locator('.ant-tree
.ant-tree-title').filter({
hasText:
/^
\\
s*类口腔科基础包分类1
\\
s*$/
})"
tree_node_e7b1bbe59fba
:
description
:
"
类基础包0613"
element_type
:
tree_title
section
:
"
main::main"
strategy
:
tree_node
value
:
"
类基础包0613"
tree
:
"
.ant-tree"
playwright
:
"
page.locator('.ant-tree
.ant-tree-title').filter({
hasText:
/^
\\
s*类基础包0613
\\
s*$/
})"
tree_el_e7b1bbe59fbae7a180e58c8531_2
:
description
:
"
类基础包1"
element_type
:
tree_title
section
:
"
main::main"
strategy
:
tree_node
value
:
"
类基础包1"
tree
:
"
.ant-tree"
playwright
:
"
page.locator('.ant-tree
.ant-tree-title').filter({
hasText:
/^
\\
s*类基础包1
\\
s*$/
})"
tree_node_e7b1bbe5a496
:
description
:
"
类外科手术"
element_type
:
tree_title
section
:
"
main::main"
strategy
:
tree_node
value
:
"
类外科手术"
tree
:
"
.ant-tree"
playwright
:
"
page.locator('.ant-tree
.ant-tree-title').filter({
hasText:
/^
\\
s*类外科手术
\\
s*$/
})"
tree_node_e7b1bbe5b091
:
description
:
"
类少"
element_type
:
tree_title
section
:
"
main::main"
strategy
:
tree_node
value
:
"
类少"
tree
:
"
.ant-tree"
playwright
:
"
page.locator('.ant-tree
.ant-tree-title').filter({
hasText:
/^
\\
s*类少
\\
s*$/
})"
tree_node_e7b1bbe6898b
:
description
:
"
类手术分类"
element_type
:
tree_title
section
:
"
main::main"
strategy
:
tree_node
value
:
"
类手术分类"
tree
:
"
.ant-tree"
playwright
:
"
page.locator('.ant-tree
.ant-tree-title').filter({
hasText:
/^
\\
s*类手术分类
\\
s*$/
})"
tree_node_e7b1bbe69588
:
description
:
"
类效期"
element_type
:
tree_title
section
:
"
main::main"
strategy
:
tree_node
value
:
"
类效期"
tree
:
"
.ant-tree"
playwright
:
"
page.locator('.ant-tree
.ant-tree-title').filter({
hasText:
/^
\\
s*类效期
\\
s*$/
})"
tree_node_e7b1bbe88386
:
description
:
"
类胆囊手术"
element_type
:
tree_title
section
:
"
main::main"
strategy
:
tree_node
value
:
"
类胆囊手术"
tree
:
"
.ant-tree"
playwright
:
"
page.locator('.ant-tree
.ant-tree-title').filter({
hasText:
/^
\\
s*类胆囊手术
\\
s*$/
})"
tree_node_e7b1bbe9ab98
:
description
:
"
类高值包"
element_type
:
tree_title
section
:
"
main::main"
strategy
:
tree_node
value
:
"
类高值包"
tree
:
"
.ant-tree"
playwright
:
"
page.locator('.ant-tree
.ant-tree-title').filter({
hasText:
/^
\\
s*类高值包
\\
s*$/
})"
tree_node_e7b1bb31
:
description
:
"
类1"
element_type
:
tree_title
section
:
"
main::main"
strategy
:
tree_node
value
:
"
类1"
tree
:
"
.ant-tree"
playwright
:
"
page.locator('.ant-tree
.ant-tree-title').filter({
hasText:
/^
\\
s*类1
\\
s*$/
})"
tree_node_e7b1bb33
:
description
:
"
类3"
element_type
:
tree_title
section
:
"
main::main"
strategy
:
tree_node
value
:
"
类3"
tree
:
"
.ant-tree"
playwright
:
"
page.locator('.ant-tree
.ant-tree-title').filter({
hasText:
/^
\\
s*类3
\\
s*$/
})"
tree_node_e7b1bb6a6d37
:
description
:
"
类jm73"
element_type
:
tree_title
section
:
"
main::main"
strategy
:
tree_node
value
:
"
类jm73"
tree
:
"
.ant-tree"
playwright
:
"
page.locator('.ant-tree
.ant-tree-title').filter({
hasText:
/^
\\
s*类jm73
\\
s*$/
})"
tree_node_e7b1bbe5bf83
:
description
:
"
类心内科手术"
element_type
:
tree_title
section
:
"
main::main"
strategy
:
tree_node
value
:
"
类心内科手术"
tree
:
"
.ant-tree"
playwright
:
"
page.locator('.ant-tree
.ant-tree-title').filter({
hasText:
/^
\\
s*类心内科手术
\\
s*$/
})"
tree_node_e7b1bbe9aaa8
:
description
:
"
类骨科手术"
element_type
:
tree_title
section
:
"
main::main"
strategy
:
tree_node
value
:
"
类骨科手术"
tree
:
"
.ant-tree"
playwright
:
"
page.locator('.ant-tree
.ant-tree-title').filter({
hasText:
/^
\\
s*类骨科手术
\\
s*$/
})"
productName
:
description
:
"
请输入"
element_type
:
text
section
:
"
main::main"
strategy
:
id
value
:
"
table_search_form_keyword"
playwright
:
"
page.locator('#table_search_form_keyword')"
specModel
:
description
:
"
请输入"
element_type
:
text
section
:
"
main::main"
strategy
:
id
value
:
"
table_search_form_goodsSpec"
playwright
:
"
page.locator('#table_search_form_goodsSpec')"
manufacturer
:
description
:
"
请输入"
element_type
:
text
section
:
"
main::main"
strategy
:
id
value
:
"
table_search_form_goodsMfrsName"
playwright
:
"
page.locator('#table_search_form_goodsMfrsName')"
searchBtn
:
description
:
"
查
询"
element_type
:
button
section
:
"
main::main"
strategy
:
role
role
:
button
name
:
"
查
询"
playwright
:
"
page.getByRole('button',
{
name:
'查
询'
})"
resetBtn
:
description
:
"
重
置"
element_type
:
button
section
:
"
main::main"
strategy
:
role
role
:
button
name
:
"
重
置"
playwright
:
"
page.getByRole('button',
{
name:
'重
置'
})"
expandFilterBtn
:
description
:
"
展开"
element_type
:
button
section
:
"
main::main"
strategy
:
role
role
:
button
name
:
"
展开"
playwright
:
"
page.getByRole('button',
{
name:
'展开'
})"
addProductBtn
:
description
:
"
添加产品"
element_type
:
button
section
:
"
main::main"
strategy
:
role
role
:
button
name
:
"
添加产品"
playwright
:
"
page.getByRole('button',
{
name:
'添加产品'
})"
editBtn
:
description
:
"
编辑"
element_type
:
button
section
:
"
main::main"
strategy
:
role
role
:
button
name
:
"
编辑"
playwright
:
"
page.getByRole('button',
{
name:
'编辑'
})"
removeBtn
:
description
:
"
移除"
element_type
:
button
section
:
"
main::main"
strategy
:
role
role
:
button
name
:
"
移除"
playwright
:
"
page.getByRole('button',
{
name:
'移除'
})"
# --- main::pagination ---
pagination_el_e585b133e69da1313530e69da12fe9a1b5
:
description
:
"
共
3
条150
条/页"
element_type
:
ul
section
:
"
main::pagination"
strategy
:
text
value
:
"
共
3
条150
条/页"
playwright
:
"
page.getByText('共
3
条150
条/页')"
pagination_prevPageBtn
:
description
:
"
上一页"
element_type
:
li
section
:
"
main::pagination"
strategy
:
text
value
:
"
上一页"
playwright
:
"
page.getByText('上一页')"
pagination_page_1
:
description
:
"
1"
element_type
:
pagination_item
section
:
"
main::pagination"
strategy
:
css
value
:
"
.ant-pagination-item-active"
playwright
:
"
page.locator('.ant-pagination-item-active')"
pagination_nextPageBtn
:
description
:
"
下一页"
element_type
:
li
section
:
"
main::pagination"
strategy
:
text
value
:
"
下一页"
playwright
:
"
page.getByText('下一页')"
pagination_pageSizeSelect
:
description
:
"
50
条/页"
element_type
:
select
section
:
"
main::pagination"
strategy
:
text
value
:
"
50
条/页"
playwright
:
"
page.getByText('50
条/页')"
# --- main::modal:新增基础包 ---
basePkgName
:
description
:
"
请输入"
element_type
:
text
section
:
"
main::modal:新增基础包"
strategy
:
id
value
:
"
form_item_pkgName"
playwright
:
"
page.locator('#form_item_pkgName')"
basePkgCategorySelect
:
description
:
"
请选择"
element_type
:
select
section
:
"
main::modal:新增基础包"
strategy
:
label_text
value
:
"
所属分类"
playwright
:
"
page.getByText('所属分类',
{
exact:
true
})"
basePkgCategory
:
description
:
"
所属分类"
element_type
:
search
section
:
"
main::modal:新增基础包"
strategy
:
id
value
:
"
form_item_kindId"
playwright
:
"
page.locator('#form_item_kindId')"
basePkgCode
:
description
:
"
请输入"
element_type
:
text
section
:
"
main::modal:新增基础包"
strategy
:
id
value
:
"
form_item_pkgCode"
playwright
:
"
page.locator('#form_item_pkgCode')"
remark
:
description
:
"
请输入"
element_type
:
textarea
section
:
"
main::modal:新增基础包"
strategy
:
id
value
:
"
form_item_remark"
playwright
:
"
page.locator('#form_item_remark')"
cancelBtn
:
description
:
"
取
消"
element_type
:
button
section
:
"
main::modal:新增基础包"
strategy
:
role
role
:
button
name
:
"
取
消"
playwright
:
"
page.getByRole('button',
{
name:
'取
消'
})"
confirmBtn
:
description
:
"
确
认"
element_type
:
button
section
:
"
main::modal:新增基础包"
strategy
:
role
role
:
button
name
:
"
确
认"
playwright
:
"
page.getByRole('button',
{
name:
'确
认'
})"
# --- main::modal:新增分类 ---
basePkgCategoryName
:
description
:
"
请输入"
element_type
:
text
section
:
"
main::modal:新增分类"
strategy
:
id
value
:
"
form_item_kindName"
playwright
:
"
page.locator('#form_item_kindName')"
locators/spd/surgery-oper-type.locator.yaml
0 → 100644
View file @
6a181bea
# Auto-generated from surgery-oper-type-elements.json
# Source: http://spdtest.cmic.com.cn:8080/spd/basic/operationSetting/typeMaintenance
# Scanned: 2026-10-20T08:47:41.945Z
# Page: 基础设置 > 手术套包设置 > 术种维护
# Note: filter dropdown was opened during scan
# Note: dialog/modal was opened during scan
page
:
surgery-oper-type
module
:
spd-basic
url
:
http://spdtest.cmic.com.cn:8080/spd/basic/operationSetting/typeMaintenance
locators
:
# --- main::main ---
menu_home
:
description
:
"
首页"
element_type
:
li
section
:
"
main::main"
strategy
:
role
role
:
menuitem
name
:
"
首页"
playwright
:
"
page.getByRole('menuitem',
{
name:
'首页'
})"
menu_basicSetting
:
description
:
"
基础设置"
element_type
:
li
section
:
"
main::main"
strategy
:
role
role
:
menuitem
name
:
"
基础设置"
playwright
:
"
page.getByRole('menuitem',
{
name:
'基础设置'
})"
menu_purchase
:
description
:
"
采购管理"
element_type
:
li
section
:
"
main::main"
strategy
:
role
role
:
menuitem
name
:
"
采购管理"
playwright
:
"
page.getByRole('menuitem',
{
name:
'采购管理'
})"
menu_opening
:
description
:
"
期初管理"
element_type
:
li
section
:
"
main::main"
strategy
:
role
role
:
menuitem
name
:
"
期初管理"
playwright
:
"
page.getByRole('menuitem',
{
name:
'期初管理'
})"
menu_centerStock
:
description
:
"
中心库管理"
element_type
:
li
section
:
"
main::main"
strategy
:
role
role
:
menuitem
name
:
"
中心库管理"
playwright
:
"
page.getByRole('menuitem',
{
name:
'中心库管理'
})"
menu_deptBusiness
:
description
:
"
科室业务管理"
element_type
:
li
section
:
"
main::main"
strategy
:
role
role
:
menuitem
name
:
"
科室业务管理"
playwright
:
"
page.getByRole('menuitem',
{
name:
'科室业务管理'
})"
menu_finance
:
description
:
"
财务管理"
element_type
:
li
section
:
"
main::main"
strategy
:
role
role
:
menuitem
name
:
"
财务管理"
playwright
:
"
page.getByRole('menuitem',
{
name:
'财务管理'
})"
menu_orthoVolume
:
description
:
"
骨科带量"
element_type
:
li
section
:
"
main::main"
strategy
:
role
role
:
menuitem
name
:
"
骨科带量"
playwright
:
"
page.getByRole('menuitem',
{
name:
'骨科带量'
})"
menu_general
:
description
:
"
综合管理"
element_type
:
li
section
:
"
main::main"
strategy
:
role
role
:
menuitem
name
:
"
综合管理"
playwright
:
"
page.getByRole('menuitem',
{
name:
'综合管理'
})"
menu_yangcai
:
description
:
"
阳采管理"
element_type
:
li
section
:
"
main::main"
strategy
:
role
role
:
menuitem
name
:
"
阳采管理"
playwright
:
"
page.getByRole('menuitem',
{
name:
'阳采管理'
})"
menu_processCenter
:
description
:
"
流程中心"
element_type
:
li
section
:
"
main::main"
strategy
:
role
role
:
menuitem
name
:
"
流程中心"
playwright
:
"
page.getByRole('menuitem',
{
name:
'流程中心'
})"
menu_logistics
:
description
:
"
后勤物资管理"
element_type
:
li
section
:
"
main::main"
strategy
:
role
role
:
menuitem
name
:
"
后勤物资管理"
playwright
:
"
page.getByRole('menuitem',
{
name:
'后勤物资管理'
})"
menu_statReport
:
description
:
"
统计报表"
element_type
:
li
section
:
"
main::main"
strategy
:
role
role
:
menuitem
name
:
"
统计报表"
playwright
:
"
page.getByRole('menuitem',
{
name:
'统计报表'
})"
menu_dataViz
:
description
:
"
数据可视化"
element_type
:
li
section
:
"
main::main"
strategy
:
role
role
:
menuitem
name
:
"
数据可视化"
playwright
:
"
page.getByRole('menuitem',
{
name:
'数据可视化'
})"
menu_basePkgMaintenance
:
description
:
"
基础包维护"
element_type
:
li
section
:
"
main::main"
strategy
:
role
role
:
menuitem
name
:
"
基础包维护"
playwright
:
"
page.getByRole('menuitem',
{
name:
'基础包维护'
})"
menu_operTypeMaintenance
:
description
:
"
术种维护"
element_type
:
li
section
:
"
main::main"
strategy
:
role
role
:
menuitem
name
:
"
术种维护"
playwright
:
"
page.getByRole('menuitem',
{
name:
'术种维护'
})"
menu_stdPkgMaintenance
:
description
:
"
标准套包维护"
element_type
:
li
section
:
"
main::main"
strategy
:
role
role
:
menuitem
name
:
"
标准套包维护"
playwright
:
"
page.getByRole('menuitem',
{
name:
'标准套包维护'
})"
operTypeMaintenance
:
description
:
"
术种维护"
element_type
:
tab
section
:
"
main::main"
strategy
:
text
value
:
"
术种维护"
playwright
:
"
page.getByText('术种维护')"
tab_operTypeMaintenance
:
description
:
"
术种维护"
element_type
:
div
section
:
"
main::main"
strategy
:
id
value
:
"
rc-tabs-0-tab-/basic/operationSetting/typeMaintenance"
playwright
:
"
page.locator('#rc-tabs-0-tab-/basic/operationSetting/typeMaintenance')"
addBtn
:
description
:
"
新增"
element_type
:
button
section
:
"
main::main"
strategy
:
role
role
:
button
name
:
"
新增"
playwright
:
"
page.getByRole('button',
{
name:
'新增'
})"
operTypeCategoryInput
:
description
:
"
请输入术种分类名称"
element_type
:
text
section
:
"
main::main"
strategy
:
placeholder
value
:
"
请输入术种分类名称"
playwright
:
"
page.getByPlaceholder('请输入术种分类名称')"
operationName
:
description
:
"
请输入"
element_type
:
text
section
:
"
main::main"
strategy
:
id
value
:
"
table_search_form_operationName"
playwright
:
"
page.locator('#table_search_form_operationName')"
diseaseName
:
description
:
"
请输入"
element_type
:
text
section
:
"
main::main"
strategy
:
id
value
:
"
table_search_form_disease"
playwright
:
"
page.locator('#table_search_form_disease')"
searchBtn
:
description
:
"
查
询"
element_type
:
button
section
:
"
main::main"
strategy
:
role
role
:
button
name
:
"
查
询"
playwright
:
"
page.getByRole('button',
{
name:
'查
询'
})"
resetBtn
:
description
:
"
重
置"
element_type
:
button
section
:
"
main::main"
strategy
:
role
role
:
button
name
:
"
重
置"
playwright
:
"
page.getByRole('button',
{
name:
'重
置'
})"
addOperTypeBtn
:
description
:
"
新增术种"
element_type
:
button
section
:
"
main::main"
strategy
:
role
role
:
button
name
:
"
新增术种"
playwright
:
"
page.getByRole('button',
{
name:
'新增术种'
})"
editBtn
:
description
:
"
编辑"
element_type
:
button
section
:
"
main::main"
strategy
:
role
role
:
button
name
:
"
编辑"
playwright
:
"
page.getByRole('button',
{
name:
'编辑'
})"
enableBtn
:
description
:
"
启用"
element_type
:
button
section
:
"
main::main"
strategy
:
role
role
:
button
name
:
"
启用"
playwright
:
"
page.getByRole('button',
{
name:
'启用'
})"
# --- main::pagination ---
pagination_el_e585b132e69da1313530e69da12fe9a1b5
:
description
:
"
共
2
条150
条/页"
element_type
:
ul
section
:
"
main::pagination"
strategy
:
text
value
:
"
共
2
条150
条/页"
playwright
:
"
page.getByText('共
2
条150
条/页')"
pagination_prevPageBtn
:
description
:
"
上一页"
element_type
:
li
section
:
"
main::pagination"
strategy
:
text
value
:
"
上一页"
playwright
:
"
page.getByText('上一页')"
pagination_page_1
:
description
:
"
1"
element_type
:
pagination_item
section
:
"
main::pagination"
strategy
:
css
value
:
"
.ant-pagination-item-active"
playwright
:
"
page.locator('.ant-pagination-item-active')"
pagination_nextPageBtn
:
description
:
"
下一页"
element_type
:
li
section
:
"
main::pagination"
strategy
:
text
value
:
"
下一页"
playwright
:
"
page.getByText('下一页')"
pagination_pageSizeSelect
:
description
:
"
50
条/页"
element_type
:
select
section
:
"
main::pagination"
strategy
:
text
value
:
"
50
条/页"
playwright
:
"
page.getByText('50
条/页')"
pagination_pageSizeSelect_2
:
description
:
"
50
条/页205010020
条/页50
条/页100
条/页200
条/页"
element_type
:
select
section
:
"
main::pagination"
strategy
:
text
value
:
"
50
条/页205010020
条/页50
条/页100
条/页200
条/页"
playwright
:
"
page.getByText('50
条/页205010020
条/页50
条/页100
条/页200
条/页')"
# --- main::modal:分类维护 ---
operTypeCategoryName
:
description
:
"
请输入"
element_type
:
text
section
:
"
main::modal:分类维护"
strategy
:
id
value
:
"
basic_kindName"
playwright
:
"
page.locator('#basic_kindName')"
cancelBtn
:
description
:
"
取
消"
element_type
:
button
section
:
"
main::modal:分类维护"
strategy
:
role
role
:
button
name
:
"
取
消"
playwright
:
"
page.getByRole('button',
{
name:
'取
消'
})"
saveBtn
:
description
:
"
保
存"
element_type
:
button
section
:
"
main::modal:分类维护"
strategy
:
role
role
:
button
name
:
"
保
存"
playwright
:
"
page.getByRole('button',
{
name:
'保
存'
})"
locators/spd/surgery-shared.locator.ts
0 → 100644
View file @
6a181bea
import
type
{
Locator
,
Page
}
from
'
@playwright/test
'
;
/**
* 基础设置 · 手术套包设置(基础包维护 / 术种维护 / 标准套包维护)。
* 定位来源:locators/spd/surgery-*.locator.yaml(由交互元素扫描提炼)。
* 三页同组页签 + 左树 + 右列表 + 分页 + 弹窗,共用类只放稳定定位。
*/
export
class
SurgerySharedLocators
{
readonly
menuBasic
:
Locator
;
readonly
surgerySubmenuTitle
:
Locator
;
readonly
leftTree
:
Locator
;
readonly
treeSearchInput
:
Locator
;
readonly
tableHeader
:
Locator
;
readonly
tableBody
:
Locator
;
readonly
empty
:
Locator
;
readonly
pagination
:
Locator
;
readonly
paginationTotal
:
Locator
;
readonly
paginationActive
:
Locator
;
readonly
paginationPrev
:
Locator
;
readonly
paginationNext
:
Locator
;
readonly
dialog
:
Locator
;
readonly
formError
:
Locator
;
constructor
(
protected
readonly
page
:
Page
)
{
this
.
menuBasic
=
page
.
getByRole
(
'
menuitem
'
,
{
name
:
'
基础设置
'
});
this
.
surgerySubmenuTitle
=
page
.
locator
(
'
.ant-menu-submenu-title
'
)
.
filter
({
hasText
:
/^
\s
*手术套包设置
\s
*$/
})
.
first
();
this
.
leftTree
=
page
.
locator
(
'
.ant-tree
'
).
first
();
this
.
treeSearchInput
=
page
.
locator
(
'
.ant-tree ~ * input, .ant-tree input
'
).
first
();
this
.
tableHeader
=
page
.
locator
(
'
.ant-table-thead th
'
);
this
.
tableBody
=
page
.
locator
(
'
.ant-table-tbody
'
);
this
.
empty
=
page
.
locator
(
'
.ant-empty, .ant-empty-description
'
).
first
();
this
.
pagination
=
page
.
locator
(
'
.ant-pagination
'
).
first
();
this
.
paginationTotal
=
page
.
locator
(
'
.ant-pagination-total-text
'
).
first
();
this
.
paginationActive
=
page
.
locator
(
'
.ant-pagination-item-active
'
).
first
();
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
.
formError
=
page
.
locator
(
'
.ant-form-item-explain-error, .ant-message-error, .ant-notification-notice
'
);
}
/** 侧栏叶子菜单(基础包维护/术种维护/标准套包维护,既有 role=menuitem 也有 .ant-menu-item)。 */
menuLeaf
(
name
:
string
):
Locator
{
const
pattern
=
new
RegExp
(
`^\\s*
${
name
}
\\s*$`
);
return
this
.
page
.
getByRole
(
'
menuitem
'
,
{
name
:
pattern
})
.
or
(
this
.
page
.
locator
(
'
.ant-menu-item
'
).
filter
({
hasText
:
pattern
}))
.
first
();
}
/** 同组页签(URL 型 rc-tabs 或文本 Tab 均覆盖)。 */
tab
(
name
:
string
):
Locator
{
const
pattern
=
new
RegExp
(
name
);
return
this
.
page
.
locator
(
'
.ant-tabs-tab
'
)
.
filter
({
hasText
:
pattern
})
.
first
()
.
or
(
this
.
page
.
getByRole
(
'
tab
'
,
{
name
:
pattern
}).
first
())
.
or
(
this
.
page
.
getByText
(
pattern
).
first
());
}
button
(
name
:
string
,
root
:
Locator
|
Page
=
this
.
page
):
Locator
{
const
compact
=
name
.
replace
(
/
\s
/g
,
''
);
const
pattern
=
new
RegExp
(
compact
.
split
(
''
).
join
(
'
\\
s*
'
));
return
root
.
getByRole
(
'
button
'
,
{
name
:
pattern
});
}
/** 树节点:按可见文本包含匹配。 */
treeNode
(
text
:
string
):
Locator
{
return
this
.
leftTree
.
locator
(
'
.ant-tree-node-content-wrapper
'
).
filter
({
hasText
:
text
}).
first
();
}
treeNodes
():
Locator
{
return
this
.
leftTree
.
locator
(
'
.ant-tree-node-content-wrapper
'
);
}
/** 弹窗内表单控件按 id 定位(CSV 明确给出 #form_item_xxx / #basic_kindName)。 */
byId
(
id
:
string
):
Locator
{
return
this
.
page
.
locator
(
id
.
startsWith
(
'
#
'
)
?
id
:
`#
${
id
}
`
).
first
();
}
/** 弹窗内确定类按钮(「确 认」「确 定」「保 存」「确定(N)」)。 */
confirmLikeButton
(
root
:
Locator
|
Page
=
this
.
dialog
):
Locator
{
return
root
.
getByRole
(
'
button
'
)
.
filter
({
hasText
:
/确
\s
*
[
认定
]
|保
\s
*存/
})
.
first
();
}
cancelLikeButton
(
root
:
Locator
|
Page
=
this
.
dialog
):
Locator
{
return
root
.
getByRole
(
'
button
'
,
{
name
:
/取
\s
*消/
}).
first
();
}
}
locators/spd/surgery-std-pkg.locator.yaml
0 → 100644
View file @
6a181bea
# Auto-generated from surgery-std-pkg-elements.json
# Source: http://spdtest.cmic.com.cn:8080/spd/basic/operationSetting/standardMaintenance
# Scanned: 2026-10-20T08:47:54.322Z
# Page: 基础设置 > 手术套包设置 > 标准套包维护
page
:
surgery-std-pkg
module
:
spd-basic
url
:
http://spdtest.cmic.com.cn:8080/spd/basic/operationSetting/standardMaintenance
locators
:
# --- main::main ---
menu_home
:
description
:
"
首页"
element_type
:
li
section
:
"
main::main"
strategy
:
role
role
:
menuitem
name
:
"
首页"
playwright
:
"
page.getByRole('menuitem',
{
name:
'首页'
})"
menu_basicSetting
:
description
:
"
基础设置"
element_type
:
li
section
:
"
main::main"
strategy
:
role
role
:
menuitem
name
:
"
基础设置"
playwright
:
"
page.getByRole('menuitem',
{
name:
'基础设置'
})"
menu_purchase
:
description
:
"
采购管理"
element_type
:
li
section
:
"
main::main"
strategy
:
role
role
:
menuitem
name
:
"
采购管理"
playwright
:
"
page.getByRole('menuitem',
{
name:
'采购管理'
})"
menu_opening
:
description
:
"
期初管理"
element_type
:
li
section
:
"
main::main"
strategy
:
role
role
:
menuitem
name
:
"
期初管理"
playwright
:
"
page.getByRole('menuitem',
{
name:
'期初管理'
})"
menu_centerStock
:
description
:
"
中心库管理"
element_type
:
li
section
:
"
main::main"
strategy
:
role
role
:
menuitem
name
:
"
中心库管理"
playwright
:
"
page.getByRole('menuitem',
{
name:
'中心库管理'
})"
menu_deptBusiness
:
description
:
"
科室业务管理"
element_type
:
li
section
:
"
main::main"
strategy
:
role
role
:
menuitem
name
:
"
科室业务管理"
playwright
:
"
page.getByRole('menuitem',
{
name:
'科室业务管理'
})"
menu_finance
:
description
:
"
财务管理"
element_type
:
li
section
:
"
main::main"
strategy
:
role
role
:
menuitem
name
:
"
财务管理"
playwright
:
"
page.getByRole('menuitem',
{
name:
'财务管理'
})"
menu_orthoVolume
:
description
:
"
骨科带量"
element_type
:
li
section
:
"
main::main"
strategy
:
role
role
:
menuitem
name
:
"
骨科带量"
playwright
:
"
page.getByRole('menuitem',
{
name:
'骨科带量'
})"
menu_general
:
description
:
"
综合管理"
element_type
:
li
section
:
"
main::main"
strategy
:
role
role
:
menuitem
name
:
"
综合管理"
playwright
:
"
page.getByRole('menuitem',
{
name:
'综合管理'
})"
menu_yangcai
:
description
:
"
阳采管理"
element_type
:
li
section
:
"
main::main"
strategy
:
role
role
:
menuitem
name
:
"
阳采管理"
playwright
:
"
page.getByRole('menuitem',
{
name:
'阳采管理'
})"
menu_processCenter
:
description
:
"
流程中心"
element_type
:
li
section
:
"
main::main"
strategy
:
role
role
:
menuitem
name
:
"
流程中心"
playwright
:
"
page.getByRole('menuitem',
{
name:
'流程中心'
})"
menu_logistics
:
description
:
"
后勤物资管理"
element_type
:
li
section
:
"
main::main"
strategy
:
role
role
:
menuitem
name
:
"
后勤物资管理"
playwright
:
"
page.getByRole('menuitem',
{
name:
'后勤物资管理'
})"
menu_statReport
:
description
:
"
统计报表"
element_type
:
li
section
:
"
main::main"
strategy
:
role
role
:
menuitem
name
:
"
统计报表"
playwright
:
"
page.getByRole('menuitem',
{
name:
'统计报表'
})"
menu_dataViz
:
description
:
"
数据可视化"
element_type
:
li
section
:
"
main::main"
strategy
:
role
role
:
menuitem
name
:
"
数据可视化"
playwright
:
"
page.getByRole('menuitem',
{
name:
'数据可视化'
})"
menu_basePkgMaintenance
:
description
:
"
基础包维护"
element_type
:
li
section
:
"
main::main"
strategy
:
role
role
:
menuitem
name
:
"
基础包维护"
playwright
:
"
page.getByRole('menuitem',
{
name:
'基础包维护'
})"
menu_operTypeMaintenance
:
description
:
"
术种维护"
element_type
:
li
section
:
"
main::main"
strategy
:
role
role
:
menuitem
name
:
"
术种维护"
playwright
:
"
page.getByRole('menuitem',
{
name:
'术种维护'
})"
menu_stdPkgMaintenance
:
description
:
"
标准套包维护"
element_type
:
li
section
:
"
main::main"
strategy
:
role
role
:
menuitem
name
:
"
标准套包维护"
playwright
:
"
page.getByRole('menuitem',
{
name:
'标准套包维护'
})"
stdPkgMaintenance
:
description
:
"
标准套包维护"
element_type
:
tab
section
:
"
main::main"
strategy
:
text
value
:
"
标准套包维护"
playwright
:
"
page.getByText('标准套包维护')"
tab_stdPkgMaintenance
:
description
:
"
标准套包维护"
element_type
:
div
section
:
"
main::main"
strategy
:
id
value
:
"
rc-tabs-0-tab-/basic/operationSetting/standardMaintenance"
playwright
:
"
page.locator('#rc-tabs-0-tab-/basic/operationSetting/standardMaintenance')"
addBtn
:
description
:
"
新
增"
element_type
:
button
section
:
"
main::main"
strategy
:
role
role
:
button
name
:
"
新
增"
playwright
:
"
page.getByRole('button',
{
name:
'新
增'
})"
stdPkgTreeSearchInput
:
description
:
"
请输入术种分类名称、术种名称、标准套包名称"
element_type
:
text
section
:
"
main::main"
strategy
:
placeholder
value
:
"
请输入术种分类名称、术种名称、标准套包名称"
playwright
:
"
page.getByPlaceholder('请输入术种分类名称、术种名称、标准套包名称')"
tree_node_e7b1bbe69caa
:
description
:
"
类未建分类(2)"
element_type
:
tree_title
section
:
"
main::main"
strategy
:
tree_node
value
:
"
类未建分类(2)"
tree
:
"
.ant-tree"
playwright
:
"
page.locator('.ant-tree
.ant-tree-title').filter({
hasText:
/^
\\
s*类未建分类(2)
\\
s*$/
})"
tree_node_e69caf313128
:
description
:
"
术11(4)"
element_type
:
tree_title
section
:
"
main::main"
strategy
:
tree_node
value
:
"
术11(4)"
tree
:
"
.ant-tree"
playwright
:
"
page.locator('.ant-tree
.ant-tree-title').filter({
hasText:
/^
\\
s*术11(4)
\\
s*$/
})"
tree_node_e58c857171
:
description
:
"
包qq"
element_type
:
tree_title
section
:
"
main::main"
strategy
:
tree_node
value
:
"
包qq"
tree
:
"
.ant-tree"
playwright
:
"
page.locator('.ant-tree
.ant-tree-title').filter({
hasText:
/^
\\
s*包qq
\\
s*$/
})"
tree_node_e58c857474
:
description
:
"
包tt"
element_type
:
tree_title
section
:
"
main::main"
strategy
:
tree_node
value
:
"
包tt"
tree
:
"
.ant-tree"
playwright
:
"
page.locator('.ant-tree
.ant-tree-title').filter({
hasText:
/^
\\
s*包tt
\\
s*$/
})"
tree_node_e58c85e695a3
:
description
:
"
包散货包"
element_type
:
tree_title
section
:
"
main::main"
strategy
:
tree_node
value
:
"
包散货包"
tree
:
"
.ant-tree"
playwright
:
"
page.locator('.ant-tree
.ant-tree-title').filter({
hasText:
/^
\\
s*包散货包
\\
s*$/
})"
tree_node_e58c85e6b7b7
:
description
:
"
包混包"
element_type
:
tree_title
section
:
"
main::main"
strategy
:
tree_node
value
:
"
包混包"
tree
:
"
.ant-tree"
playwright
:
"
page.locator('.ant-tree
.ant-tree-title').filter({
hasText:
/^
\\
s*包混包
\\
s*$/
})"
tree_node_e69caf313231
:
description
:
"
术1212(0)"
element_type
:
tree_title
section
:
"
main::main"
strategy
:
tree_node
value
:
"
术1212(0)"
tree
:
"
.ant-tree"
playwright
:
"
page.locator('.ant-tree
.ant-tree-title').filter({
hasText:
/^
\\
s*术1212(0)
\\
s*$/
})"
tree_node_e7b1bb313334
:
description
:
"
类134(2)"
element_type
:
tree_title
section
:
"
main::main"
strategy
:
tree_node
value
:
"
类134(2)"
tree
:
"
.ant-tree"
playwright
:
"
page.locator('.ant-tree
.ant-tree-title').filter({
hasText:
/^
\\
s*类134(2)
\\
s*$/
})"
tree_node_e7b1bb323032
:
description
:
"
类20240325(1)"
element_type
:
tree_title
section
:
"
main::main"
strategy
:
tree_node
value
:
"
类20240325(1)"
tree
:
"
.ant-tree"
playwright
:
"
page.locator('.ant-tree
.ant-tree-title').filter({
hasText:
/^
\\
s*类20240325(1)
\\
s*$/
})"
tree_el_e7b1bb3230323530353136283129_2
:
description
:
"
类20250516(1)"
element_type
:
tree_title
section
:
"
main::main"
strategy
:
tree_node
value
:
"
类20250516(1)"
tree
:
"
.ant-tree"
playwright
:
"
page.locator('.ant-tree
.ant-tree-title').filter({
hasText:
/^
\\
s*类20250516(1)
\\
s*$/
})"
tree_el_e7b1bb32303236283129_2
:
description
:
"
类2026(1)"
element_type
:
tree_title
section
:
"
main::main"
strategy
:
tree_node
value
:
"
类2026(1)"
tree
:
"
.ant-tree"
playwright
:
"
page.locator('.ant-tree
.ant-tree-title').filter({
hasText:
/^
\\
s*类2026(1)
\\
s*$/
})"
tree_node_e7b1bb323531
:
description
:
"
类2512回归(1)"
element_type
:
tree_title
section
:
"
main::main"
strategy
:
tree_node
value
:
"
类2512回归(1)"
tree
:
"
.ant-tree"
playwright
:
"
page.locator('.ant-tree
.ant-tree-title').filter({
hasText:
/^
\\
s*类2512回归(1)
\\
s*$/
})"
tree_node_e7b1bb414141
:
description
:
"
类AAAAA(1)"
element_type
:
tree_title
section
:
"
main::main"
strategy
:
tree_node
value
:
"
类AAAAA(1)"
tree
:
"
.ant-tree"
playwright
:
"
page.locator('.ant-tree
.ant-tree-title').filter({
hasText:
/^
\\
s*类AAAAA(1)
\\
s*$/
})"
tree_node_e7b1bb544553
:
description
:
"
类TEST(1)"
element_type
:
tree_title
section
:
"
main::main"
strategy
:
tree_node
value
:
"
类TEST(1)"
tree
:
"
.ant-tree"
playwright
:
"
page.locator('.ant-tree
.ant-tree-title').filter({
hasText:
/^
\\
s*类TEST(1)
\\
s*$/
})"
tree_node_e7b1bb6a6d37
:
description
:
"
类jm73(2)"
element_type
:
tree_title
section
:
"
main::main"
strategy
:
tree_node
value
:
"
类jm73(2)"
tree
:
"
.ant-tree"
playwright
:
"
page.locator('.ant-tree
.ant-tree-title').filter({
hasText:
/^
\\
s*类jm73(2)
\\
s*$/
})"
tree_node_e7b1bb6a6d5f
:
description
:
"
类jm_术种分类01(4)"
element_type
:
tree_title
section
:
"
main::main"
strategy
:
tree_node
value
:
"
类jm_术种分类01(4)"
tree
:
"
.ant-tree"
playwright
:
"
page.locator('.ant-tree
.ant-tree-title').filter({
hasText:
/^
\\
s*类jm_术种分类01(4)
\\
s*$/
})"
tree_node_e7b1bbe58fa3
:
description
:
"
类口腔内科手术(1)"
element_type
:
tree_title
section
:
"
main::main"
strategy
:
tree_node
value
:
"
类口腔内科手术(1)"
tree
:
"
.ant-tree"
playwright
:
"
page.locator('.ant-tree
.ant-tree-title').filter({
hasText:
/^
\\
s*类口腔内科手术(1)
\\
s*$/
})"
tree_el_e7b1bbe58fa3e88594e5a496e7a791e6898be69caf283329_2
:
description
:
"
类口腔外科手术(3)"
element_type
:
tree_title
section
:
"
main::main"
strategy
:
tree_node
value
:
"
类口腔外科手术(3)"
tree
:
"
.ant-tree"
playwright
:
"
page.locator('.ant-tree
.ant-tree-title').filter({
hasText:
/^
\\
s*类口腔外科手术(3)
\\
s*$/
})"
tree_node_e7b1bbe69caf
:
description
:
"
类术种0613(1)"
element_type
:
tree_title
section
:
"
main::main"
strategy
:
tree_node
value
:
"
类术种0613(1)"
tree
:
"
.ant-tree"
playwright
:
"
page.locator('.ant-tree
.ant-tree-title').filter({
hasText:
/^
\\
s*类术种0613(1)
\\
s*$/
})"
tree_node_e7b1bbe883b8
:
description
:
"
类胸外科(1)"
element_type
:
tree_title
section
:
"
main::main"
strategy
:
tree_node
value
:
"
类胸外科(1)"
tree
:
"
.ant-tree"
playwright
:
"
page.locator('.ant-tree
.ant-tree-title').filter({
hasText:
/^
\\
s*类胸外科(1)
\\
s*$/
})"
tree_node_e7b1bbe9aaa8
:
description
:
"
类骨外科(8)"
element_type
:
tree_title
section
:
"
main::main"
strategy
:
tree_node
value
:
"
类骨外科(8)"
tree
:
"
.ant-tree"
playwright
:
"
page.locator('.ant-tree
.ant-tree-title').filter({
hasText:
/^
\\
s*类骨外科(8)
\\
s*$/
})"
tree_el_e7b1bbe9aaa8e7a791283229_2
:
description
:
"
类骨科(2)"
element_type
:
tree_title
section
:
"
main::main"
strategy
:
tree_node
value
:
"
类骨科(2)"
tree
:
"
.ant-tree"
playwright
:
"
page.locator('.ant-tree
.ant-tree-title').filter({
hasText:
/^
\\
s*类骨科(2)
\\
s*$/
})"
productName
:
description
:
"
请输入"
element_type
:
text
section
:
"
main::main"
strategy
:
id
value
:
"
table_search_form_keyword"
playwright
:
"
page.locator('#table_search_form_keyword')"
specModel
:
description
:
"
请输入"
element_type
:
text
section
:
"
main::main"
strategy
:
id
value
:
"
table_search_form_goodsSpec"
playwright
:
"
page.locator('#table_search_form_goodsSpec')"
manufacturer
:
description
:
"
请输入"
element_type
:
text
section
:
"
main::main"
strategy
:
id
value
:
"
table_search_form_goodsMfrsName"
playwright
:
"
page.locator('#table_search_form_goodsMfrsName')"
searchBtn
:
description
:
"
查
询"
element_type
:
button
section
:
"
main::main"
strategy
:
role
role
:
button
name
:
"
查
询"
playwright
:
"
page.getByRole('button',
{
name:
'查
询'
})"
resetBtn
:
description
:
"
重
置"
element_type
:
button
section
:
"
main::main"
strategy
:
role
role
:
button
name
:
"
重
置"
playwright
:
"
page.getByRole('button',
{
name:
'重
置'
})"
expandFilterBtn
:
description
:
"
展开"
element_type
:
button
section
:
"
main::main"
strategy
:
role
role
:
button
name
:
"
展开"
playwright
:
"
page.getByRole('button',
{
name:
'展开'
})"
addBasePkgBtn
:
description
:
"
添加基础包"
element_type
:
button
section
:
"
main::main"
strategy
:
role
role
:
button
name
:
"
添加基础包"
playwright
:
"
page.getByRole('button',
{
name:
'添加基础包'
})"
addLoosePartBtn
:
description
:
"
添加散件"
element_type
:
button
section
:
"
main::main"
strategy
:
role
role
:
button
name
:
"
添加散件"
playwright
:
"
page.getByRole('button',
{
name:
'添加散件'
})"
productOverviewBtn
:
description
:
"
产品概览"
element_type
:
button
section
:
"
main::main"
strategy
:
role
role
:
button
name
:
"
产品概览"
playwright
:
"
page.getByRole('button',
{
name:
'产品概览'
})"
editBtn
:
description
:
"
编辑"
element_type
:
button
section
:
"
main::main"
strategy
:
role
role
:
button
name
:
"
编辑"
playwright
:
"
page.getByRole('button',
{
name:
'编辑'
})"
removeBtn
:
description
:
"
移除"
element_type
:
button
section
:
"
main::main"
strategy
:
role
role
:
button
name
:
"
移除"
playwright
:
"
page.getByRole('button',
{
name:
'移除'
})"
# --- main::modal:添加基础包 ---
addBasePkgSearchInput
:
description
:
"
请输入分类/基础包名称"
element_type
:
text
section
:
"
main::modal:添加基础包"
strategy
:
placeholder
value
:
"
请输入分类/基础包名称"
playwright
:
"
page.getByPlaceholder('请输入分类/基础包名称')"
tree_node_e7b1bb313231
:
description
:
"
类12121313"
element_type
:
tree_title
section
:
"
main::modal:添加基础包"
strategy
:
tree_node
value
:
"
类12121313"
tree
:
"
.ant-tree"
playwright
:
"
page.locator('.ant-tree
.ant-tree-title').filter({
hasText:
/^
\\
s*类12121313
\\
s*$/
})"
tree_node_e58c85415554
:
description
:
"
包AUTO-BASE-1792473862012-33"
element_type
:
tree_title
section
:
"
main::modal:添加基础包"
strategy
:
tree_node
value
:
"
包AUTO-BASE-1792473862012-33"
tree
:
"
.ant-tree"
playwright
:
"
page.locator('.ant-tree
.ant-tree-title').filter({
hasText:
/^
\\
s*包AUTO-BASE-1792473862012-33
\\
s*$/
})"
Input
:
description
:
"
1"
element_type
:
text
section
:
"
main::modal:添加基础包"
strategy
:
role
role
:
spinbutton
name
:
"
1"
playwright
:
"
page.getByRole('spinbutton',
{
name:
'1'
})"
tree_el_e58c854155544f2d424153452d313739323437333839313334382d313539_2
:
description
:
"
包AUTO-BASE-1792473891348-159"
element_type
:
tree_title
section
:
"
main::modal:添加基础包"
strategy
:
tree_node
value
:
"
包AUTO-BASE-1792473891348-159"
tree
:
"
.ant-tree"
playwright
:
"
page.locator('.ant-tree
.ant-tree-title').filter({
hasText:
/^
\\
s*包AUTO-BASE-1792473891348-159
\\
s*$/
})"
tree_el_e58c854155544f2d424153452d313739323437333933343839312d393337_2
:
description
:
"
包AUTO-BASE-1792473934891-937"
element_type
:
tree_title
section
:
"
main::modal:添加基础包"
strategy
:
tree_node
value
:
"
包AUTO-BASE-1792473934891-937"
tree
:
"
.ant-tree"
playwright
:
"
page.locator('.ant-tree
.ant-tree-title').filter({
hasText:
/^
\\
s*包AUTO-BASE-1792473934891-937
\\
s*$/
})"
tree_el_e7b1bb3230323430333234_2
:
description
:
"
类20240324"
element_type
:
tree_title
section
:
"
main::modal:添加基础包"
strategy
:
tree_node
value
:
"
类20240324"
tree
:
"
.ant-tree"
playwright
:
"
page.locator('.ant-tree
.ant-tree-title').filter({
hasText:
/^
\\
s*类20240324
\\
s*$/
})"
tree_el_e7b1bb3230323530353136_2
:
description
:
"
类20250516"
element_type
:
tree_title
section
:
"
main::modal:添加基础包"
strategy
:
tree_node
value
:
"
类20250516"
tree
:
"
.ant-tree"
playwright
:
"
page.locator('.ant-tree
.ant-tree-title').filter({
hasText:
/^
\\
s*类20250516
\\
s*$/
})"
tree_el_e7b1bb32303236e59b9ee5bd92e6b58be8af95_2
:
description
:
"
类2026回归测试"
element_type
:
tree_title
section
:
"
main::modal:添加基础包"
strategy
:
tree_node
value
:
"
类2026回归测试"
tree
:
"
.ant-tree"
playwright
:
"
page.locator('.ant-tree
.ant-tree-title').filter({
hasText:
/^
\\
s*类2026回归测试
\\
s*$/
})"
tree_el_e7b1bb32353132e59b9ee5bd92_2
:
description
:
"
类2512回归"
element_type
:
tree_title
section
:
"
main::modal:添加基础包"
strategy
:
tree_node
value
:
"
类2512回归"
tree
:
"
.ant-tree"
playwright
:
"
page.locator('.ant-tree
.ant-tree-title').filter({
hasText:
/^
\\
s*类2512回归
\\
s*$/
})"
tree_el_e7b1bb54455354_2
:
description
:
"
类TEST"
element_type
:
tree_title
section
:
"
main::modal:添加基础包"
strategy
:
tree_node
value
:
"
类TEST"
tree
:
"
.ant-tree"
playwright
:
"
page.locator('.ant-tree
.ant-tree-title').filter({
hasText:
/^
\\
s*类TEST
\\
s*$/
})"
tree_el_e7b1bb6a6d5fe59fbae7a180e58c85e58886e7b1bb3031_2
:
description
:
"
类jm_基础包分类01"
element_type
:
tree_title
section
:
"
main::modal:添加基础包"
strategy
:
tree_node
value
:
"
类jm_基础包分类01"
tree
:
"
.ant-tree"
playwright
:
"
page.locator('.ant-tree
.ant-tree-title').filter({
hasText:
/^
\\
s*类jm_基础包分类01
\\
s*$/
})"
tree_el_e7b1bb6a6d5fe59fbae7a180e58c85e58886e7b1bb3032_2
:
description
:
"
类jm_基础包分类02"
element_type
:
tree_title
section
:
"
main::modal:添加基础包"
strategy
:
tree_node
value
:
"
类jm_基础包分类02"
tree
:
"
.ant-tree"
playwright
:
"
page.locator('.ant-tree
.ant-tree-title').filter({
hasText:
/^
\\
s*类jm_基础包分类02
\\
s*$/
})"
tree_el_e7b1bbe58fa3e88594e7a791e59fbae7a180e58c85e58886e7b1bb31_2
:
description
:
"
类口腔科基础包分类1"
element_type
:
tree_title
section
:
"
main::modal:添加基础包"
strategy
:
tree_node
value
:
"
类口腔科基础包分类1"
tree
:
"
.ant-tree"
playwright
:
"
page.locator('.ant-tree
.ant-tree-title').filter({
hasText:
/^
\\
s*类口腔科基础包分类1
\\
s*$/
})"
tree_node_e7b1bbe59fba
:
description
:
"
类基础包0613"
element_type
:
tree_title
section
:
"
main::modal:添加基础包"
strategy
:
tree_node
value
:
"
类基础包0613"
tree
:
"
.ant-tree"
playwright
:
"
page.locator('.ant-tree
.ant-tree-title').filter({
hasText:
/^
\\
s*类基础包0613
\\
s*$/
})"
tree_node_e7b1bbe5a496
:
description
:
"
类外科手术"
element_type
:
tree_title
section
:
"
main::modal:添加基础包"
strategy
:
tree_node
value
:
"
类外科手术"
tree
:
"
.ant-tree"
playwright
:
"
page.locator('.ant-tree
.ant-tree-title').filter({
hasText:
/^
\\
s*类外科手术
\\
s*$/
})"
tree_node_e7b1bbe69588
:
description
:
"
类效期"
element_type
:
tree_title
section
:
"
main::modal:添加基础包"
strategy
:
tree_node
value
:
"
类效期"
tree
:
"
.ant-tree"
playwright
:
"
page.locator('.ant-tree
.ant-tree-title').filter({
hasText:
/^
\\
s*类效期
\\
s*$/
})"
tree_node_e7b1bbe88386
:
description
:
"
类胆囊手术"
element_type
:
tree_title
section
:
"
main::modal:添加基础包"
strategy
:
tree_node
value
:
"
类胆囊手术"
tree
:
"
.ant-tree"
playwright
:
"
page.locator('.ant-tree
.ant-tree-title').filter({
hasText:
/^
\\
s*类胆囊手术
\\
s*$/
})"
tree_node_e7b1bbe9ab98
:
description
:
"
类高值包"
element_type
:
tree_title
section
:
"
main::modal:添加基础包"
strategy
:
tree_node
value
:
"
类高值包"
tree
:
"
.ant-tree"
playwright
:
"
page.locator('.ant-tree
.ant-tree-title').filter({
hasText:
/^
\\
s*类高值包
\\
s*$/
})"
tree_el_e7b1bb6a6d3733_2
:
description
:
"
类jm73"
element_type
:
tree_title
section
:
"
main::modal:添加基础包"
strategy
:
tree_node
value
:
"
类jm73"
tree
:
"
.ant-tree"
playwright
:
"
page.locator('.ant-tree
.ant-tree-title').filter({
hasText:
/^
\\
s*类jm73
\\
s*$/
})"
cancelBtn
:
description
:
"
取
消"
element_type
:
button
section
:
"
main::modal:添加基础包"
strategy
:
role
role
:
button
name
:
"
取
消"
playwright
:
"
page.getByRole('button',
{
name:
'取
消'
})"
confirmBtn
:
description
:
"
确定(0)"
element_type
:
button
section
:
"
main::modal:添加基础包"
strategy
:
role
role
:
button
name
:
"
确定(0)"
playwright
:
"
page.getByRole('button',
{
name:
'确定(0)'
})"
Prev
1
2
3
4
5
6
7
…
11
Next
Write
Preview
Supports
Markdown
0%
Try again
or
attach a new file
.
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment