diff --git a/src/views/recruit/recruitstudentsignup/detaiform.vue b/src/views/recruit/recruitstudentsignup/detaiform.vue index 475515c..fdfa97b 100644 --- a/src/views/recruit/recruitstudentsignup/detaiform.vue +++ b/src/views/recruit/recruitstudentsignup/detaiform.vue @@ -39,7 +39,7 @@ - + {{ item.label }} @@ -55,7 +55,7 @@ - + ([]) const type = ref(null) const isShow = ref(false) const isEdit = ref(false) +// 性别是否必填(证件类型不是身份证时必填) +const isGenderRequired = computed(() => dataForm.idCardType !== '0') // 户口性质 const residenceTypeList = ref([]) const schoolCodeList = ref([]) @@ -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 = ""