This commit is contained in:
guochunsi
2026-01-09 18:46:41 +08:00
parent bacf93c33e
commit 4b46d3cc0d
40 changed files with 1977 additions and 939 deletions

View File

@@ -5,6 +5,7 @@
ref="formRef"
:model="dataForm"
:rules="formRules"
:validate-on-rule-change="false"
label-width="120px"
>
<el-form-item label="毕业时间" prop="graduateTime">
@@ -198,14 +199,14 @@ const needDegreeImg = computed(() => {
return true
})
// 动态验证规则
// 验证规则
const formRules = computed(() => {
const rules: any = {
graduateTime: [
{ required: true, message: '请选择毕业时间', trigger: 'change' }
{ required: true, message: '请选择毕业时间', trigger: 'blur' }
],
type: [
{ required: true, message: '请选择教育类型', trigger: 'change' }
{ required: true, message: '请选择教育类型', trigger: 'blur' }
],
graduateSchool: [
{ required: true, message: '请输入毕业学校', trigger: 'blur' }
@@ -222,14 +223,14 @@ const formRules = computed(() => {
// 只有当需要学历证书时才添加验证规则
if (needQualificationImg.value) {
rules.qualificationImg = [
{ required: true, message: '请上传学历证书', trigger: 'change' }
{ required: true, message: '请上传学历证书', trigger: 'blur' }
]
}
// 只有当需要学位证书时才添加验证规则
if (needDegreeImg.value) {
rules.degreeImg = [
{ required: true, message: '请上传学位证书', trigger: 'change' }
{ required: true, message: '请上传学位证书', trigger: 'blur' }
]
}
@@ -299,6 +300,11 @@ const handleQualificationChange = () => {
dataForm.qualificationImg = ''
fileList.value = []
formRef.value?.clearValidate('qualificationImg')
} else {
// 如果需要学历证书,延迟清除验证(等字段显示后)
nextTick(() => {
formRef.value?.clearValidate('qualificationImg')
})
}
}
@@ -309,6 +315,11 @@ const handleDegreeChange = () => {
dataForm.degreeImg = ''
fileListB.value = []
formRef.value?.clearValidate('degreeImg')
} else {
// 如果需要学位证书,延迟清除验证(等字段显示后)
nextTick(() => {
formRef.value?.clearValidate('degreeImg')
})
}
}
@@ -395,6 +406,9 @@ const openDialog = async (row?: any) => {
await nextTick()
showForm.value = true
dialogVisible.value = true
// 对话框打开后,清除所有验证错误,避免立即显示验证提示
await nextTick()
formRef.value?.clearValidate()
}
// 提交表单