This commit is contained in:
guochunsi
2026-01-07 16:17:49 +08:00
parent e1cb334fbf
commit 9490c6670c
21 changed files with 642 additions and 603 deletions

View File

@@ -149,6 +149,9 @@ const formRules = {
certificateNumber: [
{ required: true, message: '请输入证书编号', trigger: 'blur' },
{ pattern: /^[A-Za-z0-9]+$/, message: '证书编号只能包含英文和数字', trigger: 'blur' }
],
evidence: [
{ required: true, message: '请上传证明材料', trigger: 'change' }
]
}
@@ -216,6 +219,8 @@ const materiaUploadSuccess = (response: any) => {
}
// 统一使用 evidence 字段存储证明材料URL与后端API一致
dataForm.evidence = response.data.url
// 上传成功后清除该字段的验证错误
formRef.value?.clearValidate('evidence')
}
// 打开对话框
@@ -275,12 +280,6 @@ const openDialog = async (row?: any) => {
const dialogSubmit = async () => {
if (!formRef.value) return
// 验证证明材料是否上传
if (!dataForm.evidence) {
message.warning("请上传证明材料")
return
}
await formRef.value.validate(async (valid: boolean) => {
if (valid) {
submitLoading.value = true
@@ -293,7 +292,7 @@ const dialogSubmit = async () => {
inOfficeDate: dataForm.inOfficeDate,
certificateNumber: dataForm.certificateNumber,
evidence: dataForm.evidence,
state: '0' // 待审核
state: '' // 待审核
}
// 编辑时需要传递 id

View File

@@ -201,15 +201,13 @@
@size-change="sizeChangeHandle"
/>
<!-- 材料预览对话框 -->
<el-dialog v-model="dialogVisible" title="职称材料" append-to-body width="90%">
<auth-img
v-for="src in imgUrl"
:key="src.title"
:authSrc="src.url"
style="height:1000px;"
/>
</el-dialog>
<!-- 材料预览图片直接显示PDF 在组件内部 dialog 中显示 -->
<auth-img
v-for="src in imgUrl"
:key="src.title"
:authSrc="src.url"
dialog-title="职称材料"
/>
<!-- 子组件 -->
<MultiDialog ref="multiDialogRef" @getList="getDataList" :page="state.pagination" :nowRow="null" />
@@ -283,7 +281,6 @@ const search = reactive({
})
// 材料预览
const dialogVisible = ref(false)
const imgUrl = ref<Array<{ title: string; url: string }>>([])
// 导出加载状态
@@ -328,9 +325,6 @@ const handlePreview = (list: string[]) => {
url: v
})
})
nextTick(() => {
dialogVisible.value = true
})
})
}