feat(sign): 补齐医护端与患者端签署流程
This commit is contained in:
@@ -98,6 +98,7 @@ export interface SignFieldElement {
|
||||
fieldOptions: string[]
|
||||
fieldMulti?: boolean
|
||||
fieldRisk?: string
|
||||
fieldPdfPosition?: SigningFieldDef['pdfPosition']
|
||||
/** void 元素也要有一个空文本子节点,否则 Slate 会认为结构非法 */
|
||||
children: [{ text: '' }]
|
||||
}
|
||||
@@ -118,6 +119,7 @@ function buildSignFieldProps(field: SigningFieldDef): Omit<SignFieldElement, 'ty
|
||||
fieldOptions: [...field.options],
|
||||
fieldMulti: field.multi,
|
||||
fieldRisk: field.risk,
|
||||
fieldPdfPosition: field.pdfPosition ? { ...field.pdfPosition } : undefined,
|
||||
}
|
||||
}
|
||||
|
||||
@@ -205,6 +207,7 @@ export function readFieldFromSignFieldNode(elem: SignFieldElement): SigningField
|
||||
options: [...elem.fieldOptions],
|
||||
...(elem.fieldMulti === undefined ? {} : { multi: elem.fieldMulti }),
|
||||
...(elem.fieldRisk ? { risk: elem.fieldRisk } : {}),
|
||||
...(elem.fieldPdfPosition ? { pdfPosition: { ...elem.fieldPdfPosition } } : {}),
|
||||
}
|
||||
}
|
||||
|
||||
@@ -232,11 +235,7 @@ function isSelected(editor: IDomEditor, elemNode: unknown): boolean {
|
||||
* 编辑器内渲染:一个只靠属性展示的胶囊。
|
||||
* 不渲染 children,也不放文本节点,理由见文件头的 ③。
|
||||
*/
|
||||
function renderSignField(
|
||||
elemNode: unknown,
|
||||
_children: VNode[] | null,
|
||||
editor: IDomEditor,
|
||||
): VNode {
|
||||
function renderSignField(elemNode: unknown, _children: VNode[] | null, editor: IDomEditor): VNode {
|
||||
const elem = elemNode as SignFieldElement
|
||||
const kindLabel = SIGNING_FIELD_KIND_LABELS[elem.fieldKind] ?? '文本'
|
||||
const selected = isSelected(editor, elemNode)
|
||||
|
||||
Reference in New Issue
Block a user