This commit is contained in:
guochunsi
2026-01-22 10:43:49 +08:00
parent 790b22a7fc
commit 109ae6ddd2

View File

@@ -39,7 +39,7 @@
</el-col>
<el-col :span="6">
<el-form-item label="证件类型" prop="idCardType">
<el-radio-group v-model="dataForm.idCardType" :disabled="!isEdit">
<el-radio-group v-model="dataForm.idCardType" :disabled="!isEdit" @change="handleIdCardTypeChange">
<el-radio v-for="item in idCardTypeList" :key="item.value" :label="item.value">{{ item.label }}</el-radio>
</el-radio-group>
</el-form-item>
@@ -55,7 +55,7 @@
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item label="性别" prop="gender">
<el-form-item label="性别" prop="gender" :required="isGenderRequired">
<el-select v-model="dataForm.gender" class="w-full" :disabled="!isEdit || dataForm.idCardType=='0'" >
<el-option
v-for="item in sexy"
@@ -698,6 +698,8 @@ const imgList = ref<string[]>([])
const type = ref<number | null>(null)
const isShow = ref(false)
const isEdit = ref(false)
// 性别是否必填(证件类型不是身份证时必填)
const isGenderRequired = computed(() => dataForm.idCardType !== '0')
// 户口性质
const residenceTypeList = ref<any[]>([])
const schoolCodeList = ref<any[]>([])
@@ -808,7 +810,19 @@ const dataRule = {
{required: true, message: '姓名不能为空', trigger: 'change'}
],
gender: [
{required: true, message: '性别不能为空', trigger: 'change'}
{
validator: (rule: any, value: any, callback: any) => {
// 如果证件类型是身份证,性别可以不填(后台会根据身份证号自动获取)
if (dataForm.idCardType === '0') {
callback()
} else if (!value) {
callback(new Error('性别不能为空'))
} else {
callback()
}
},
trigger: 'change'
}
],
nationality: [
{required: true, message: '民族不能为空', trigger: 'change'}
@@ -1068,6 +1082,14 @@ const init = (id: string | null, typeParam: number) => {
})
}
// 证件类型变化处理
const handleIdCardTypeChange = () => {
// 如果选择身份证,清空性别字段(后台会根据身份证号自动获取)
if (dataForm.idCardType === '0') {
dataForm.gender = ''
}
}
const changeEducation = () => {
// 清空拟报专业 录取专业 学费和代办费
dataForm.wishMajorOne = ""