feat(signing): 前端生成签署后 PDF 原型

This commit is contained in:
yelan
2026-09-16 17:24:02 +08:00
parent 2279f7a624
commit 51ec0f393d
6 changed files with 487 additions and 1 deletions
@@ -1,4 +1,6 @@
<script setup lang="ts">
import { ref } from 'vue'
import type {
SigningAnswers,
SigningArtifact,
@@ -33,6 +35,15 @@ const emit = defineEmits<{
selectionChange: [items: string[]]
fieldChange: [answers: SigningAnswers, progress: SigningFieldProgress]
}>()
const documentRef = ref<InstanceType<typeof SigningDocumentInteractive> | null>(null)
/** 供父级「导出 PDF」使用:转发到实际渲染文书的那一层 */
function getDocumentElement() {
return documentRef.value?.getDocumentElement() ?? null
}
defineExpose({ getDocumentElement })
</script>
<template>
@@ -150,6 +161,7 @@ const emit = defineEmits<{
<!-- 任务创建时固化了文书 HTML 的走交互化渲染;老任务回退到静态纸样预览 -->
<SigningDocumentInteractive
v-if="task.documentContentHtml"
ref="documentRef"
:task="task"
:interactive="allowLocalSigning && task.status !== 'signed' && task.status !== 'void'"
@selection-change="emit('selectionChange', $event)"