fix(document): 去掉签署态的系统页眉,患者信息改由正文占位符承载

This commit is contained in:
yelan
2026-09-30 11:43:25 +08:00
parent 1d271ef1bd
commit 3a330bcf69
11 changed files with 47 additions and 230 deletions
+2 -36
View File
@@ -250,40 +250,6 @@ export const SIGNING_FIELD_PRESETS: SigningFieldDef[] = [
{ id: 'doctor', label: '医师签名', kind: 'signature', required: false, options: [] },
]
/**
* 固定页眉的一项。
* valueWidthEm 是取值下划线的宽度(em):页眉要在一行内放下四项,
* 按内容长度分配比统一宽度更省地方——性别、年龄只有一个字/两位数字,
* 用和「住院号/门诊号」一样的长度就会把整行挤到换行。
*/
export interface SigningHeaderField {
/** 字段键,与 SIGNING_FIELD_PRESETS 对应 */
id: string
label: string
valueWidthEm: number
}
/**
* 文书固定页眉。
*
* 页眉不由模板正文承载,也不给操作人员编辑:内容全部来自 HIS,
* 签署时按字段键自动填充,正式 PDF 由服务端按页重复同一份页眉。
* 字段键复用 SIGNING_FIELD_PRESETS,取值映射与正文共用一套,不会出现两处口径。
*
* 因为页眉是系统渲染的只读展示(不挂 data-sign-field),
* 它既不会出现在"填写项"统计里,也不会被写进签署证据——
* 患者信息以任务快照为准,页眉只是把快照展示出来。
*
* 宽度预算:A4 版心约 680px,四项标签合计约 250px、项间距约 54px,
* 取值下划线合计控制在约 290px 以内,留出余量保证一行放得下。
*/
export const SIGNING_DOCUMENT_HEADER: SigningHeaderField[] = [
{ id: 'patient', label: '患者姓名', valueWidthEm: 5.5 },
{ id: 'sex', label: '性别', valueWidthEm: 2.8 },
{ id: 'age', label: '年龄', valueWidthEm: 3.2 },
{ id: 'visit', label: '住院号/门诊号', valueWidthEm: 9 },
]
/**
* 同一字段在不同文书里的常见写法。
* 各科室历史文书用词不统一(患者签名 / 患方签名 / 患者(或家属)签名),
@@ -376,8 +342,8 @@ export function buildGenericTextToken(label: string = GENERIC_TEXT_FIELD_LABEL):
*
* sequence 是**同名占位符在本文书里的第几次出现**(从 1 开始),只有自定义文本项用得上:
*
* - 目录里的字段按 id 去重,同名共用一份取值是刻意的——页眉的患者姓名、每页的签名位
* 反复出现,取值只能是同一个;
* - 目录里的字段按 id 去重,同名共用一份取值是刻意的——每页都出现的签名位、
* 正文里反复提到的患者姓名,取值只能是同一个;
* - 自定义文本项没有取值来源,两个 {文本框} 是两处要填的内容,共用一个值才是错的。
* 而占位符是纯文本,正文里只有文字可依据,所以用"第几次出现"给它们各自编号:
* 第 1 个 custom:文本框,第 2 个 custom:文本框#2……位置就是它们的身份。