feat(签署方式): 扩展为手写板/短信/Pad/公众号四种并集中口径

This commit is contained in:
yelan
2026-09-25 12:09:58 +08:00
parent bd89a4d31a
commit 8ec55e48c9
26 changed files with 1864 additions and 688 deletions
+70 -1
View File
@@ -79,6 +79,27 @@ const mockCampusOverviews: Record<WorkbenchCampus, MockCampusOverview> = {
method: 'sms',
updatedAt: '2026-08-27 09:40',
},
{
// Pad 移动端:待办里要四种方式都有样本,徽标配色才看得出区别
id: 'T0818004',
patientId: 'P202610003',
patientName: '赵某某',
documentName: '住院须知及告知书',
department: '消化内科',
status: 'pending',
method: 'ipad',
updatedAt: '2026-08-27 09:05',
},
{
id: 'T0818005',
patientId: 'P202610007',
patientName: '孙浩然',
documentName: '内镜检查知情同意书',
department: '普外科',
status: 'pending',
method: 'wx',
updatedAt: '2026-08-27 08:50',
},
],
ranking: [
{ id: 'doc-001', documentName: '住院患者知情同意书', department: '全院通用', baseCount: 58 },
@@ -137,6 +158,26 @@ const mockCampusOverviews: Record<WorkbenchCampus, MockCampusOverview> = {
method: 'sms',
updatedAt: '2026-08-27 08:30',
},
{
id: 'T0818012',
patientId: 'P202610003',
patientName: '赵某某',
documentName: '住院须知及告知书',
department: '消化内科',
status: 'pending',
method: 'ipad',
updatedAt: '2026-08-27 09:05',
},
{
id: 'T0818013',
patientId: 'P202610007',
patientName: '孙浩然',
documentName: '内镜检查知情同意书',
department: '普外科',
status: 'pending',
method: 'wx',
updatedAt: '2026-08-27 08:50',
},
],
ranking: [
{
@@ -215,6 +256,26 @@ const mockCampusOverviews: Record<WorkbenchCampus, MockCampusOverview> = {
method: 'pad',
updatedAt: '2026-08-27 08:05',
},
{
id: 'T0818024',
patientId: 'P202610003',
patientName: '赵某某',
documentName: '住院须知及告知书',
department: '消化内科',
status: 'pending',
method: 'ipad',
updatedAt: '2026-08-27 09:05',
},
{
id: 'T0818025',
patientId: 'P202610007',
patientName: '孙浩然',
documentName: '内镜检查知情同意书',
department: '普外科',
status: 'pending',
method: 'wx',
updatedAt: '2026-08-27 08:50',
},
],
ranking: [
{
@@ -281,8 +342,16 @@ function mapTodoStatus(status: BackendSigningTaskStatus): WorkbenchTodoStatus {
}
}
const METHOD_BY_BACKEND: Record<BackendSigningMethod, SigningMethod> = {
PAD: 'pad',
SMS: 'sms',
IPAD: 'ipad',
WX: 'wx',
}
function mapSigningMethod(method: BackendSigningMethod): SigningMethod {
return method === 'SMS' ? 'sms' : 'pad'
// 后端理论上只回这四个;未知取值按手写板兜底,避免整行渲染不出来
return METHOD_BY_BACKEND[method] ?? 'pad'
}
function mapWorkbenchOverview(dto: WorkbenchOverviewResponseDto): WorkbenchOverviewResponse {