feat(documents): 接入文档库真实接口

This commit is contained in:
xy
2026-09-17 18:46:09 +08:00
parent 81530b5dd6
commit 8b1cbee16f
8 changed files with 136 additions and 59 deletions
@@ -19,6 +19,7 @@ const props = defineProps<{
template: DocumentTemplate | null
campuses: CampusRecord[]
departments: DepartmentRecord[]
isMock: boolean
}>()
const emit = defineEmits<{
@@ -52,7 +53,7 @@ const form = reactive<TemplateEditorForm>({
campusId: props.campuses[0]?.id ?? '',
departmentId: '',
category: '知情同意书',
versionNo: 'v1.0.0',
versionNo: 'v1',
contentHtml: '',
})
@@ -80,7 +81,7 @@ watch(
campusId: template?.campusId ?? props.campuses[0]?.id ?? '',
departmentId: template?.departmentId ?? '',
category: template?.category ?? '知情同意书',
versionNo: template?.version ?? 'v1.0.0',
versionNo: template?.version ?? 'v1',
contentHtml: template?.contentHtml ?? '',
})
valueHtml.value = template?.contentHtml || '<p><br></p>'
@@ -224,11 +225,21 @@ function save() {
</label>
<label class="meta-field">
<span>文书编号</span>
<input v-model="form.templateCode" type="text" placeholder="如 TPL-XXX-001" />
<input
v-model="form.templateCode"
type="text"
placeholder="如 TPL-XXX-001"
:disabled="Boolean(template)"
:title="template ? '文书编号创建后不可修改' : undefined"
/>
</label>
<label class="meta-field">
<span>所属院区</span>
<select v-model="form.campusId" @change="handleCampusChange">
<select
v-model="form.campusId"
:disabled="Boolean(template)"
@change="handleCampusChange"
>
<option v-for="campus in campuses" :key="campus.id" :value="campus.id">
{{ campus.name }}
</option>
@@ -236,7 +247,7 @@ function save() {
</label>
<label class="meta-field">
<span>所属科室</span>
<select v-model="form.departmentId">
<select v-model="form.departmentId" :disabled="Boolean(template)">
<option value="">全院通用</option>
<option
v-for="department in availableDepartments"
@@ -253,7 +264,8 @@ function save() {
</label>
<label class="meta-field">
<span>版本号</span>
<input v-model="form.versionNo" type="text" />
<input v-if="isMock" v-model="form.versionNo" type="text" />
<span v-else class="auto-version">由系统按 vN 自动生成</span>
</label>
</div>