diff --git a/src/views/enterpriseLibrary/enterprise/components/child/BasicInfo.vue b/src/views/enterpriseLibrary/enterprise/components/child/BasicInfo.vue index cc223da..b26d6e3 100644 --- a/src/views/enterpriseLibrary/enterprise/components/child/BasicInfo.vue +++ b/src/views/enterpriseLibrary/enterprise/components/child/BasicInfo.vue @@ -123,7 +123,56 @@ export default { { required: true, message: '请选择注册日期', trigger: 'change' } ], businessTerm: [ - { required: true, message: '请输入营业期限', trigger: 'blur' } + { required: true, message: '请输入营业期限', trigger: 'blur' }, + { + validator: (rule, value, callback) => { + if (!value) { + callback(); + return; + } + const trimmedValue = value.trim(); + // 检查是否为"永久"或"长期" + if (trimmedValue === '永久' || trimmedValue === '长期') { + callback(); + return; + } + // 检查是否为日期格式 + // 支持格式:yyyy-MM-dd, yyyy/MM/dd, yyyy年MM月dd日, yyyy.MM.dd + const datePatterns = [ + /^\d{4}-\d{2}-\d{2}$/, // yyyy-MM-dd + /^\d{4}\/\d{2}\/\d{2}$/, // yyyy/MM/dd + /^\d{4}\.\d{2}\.\d{2}$/, // yyyy.MM.dd + /^\d{4}年\d{1,2}月\d{1,2}日$/, // yyyy年MM月dd日 + /^\d{4}-\d{1,2}-\d{1,2}$/, // yyyy-M-d + /^\d{4}\/\d{1,2}\/\d{1,2}$/ // yyyy/M/d + ]; + const isDate = datePatterns.some(pattern => pattern.test(trimmedValue)); + if (isDate) { + // 进一步验证日期是否有效 + let dateStr = trimmedValue; + // 转换中文日期格式为标准格式 + if (dateStr.includes('年')) { + dateStr = dateStr.replace(/年/g, '-').replace(/月/g, '-').replace(/日/g, ''); + } + dateStr = dateStr.replace(/\//g, '-').replace(/\./g, '-'); + const dateParts = dateStr.split('-'); + if (dateParts.length === 3) { + const year = parseInt(dateParts[0]); + const month = parseInt(dateParts[1]); + const day = parseInt(dateParts[2]); + const date = new Date(year, month - 1, day); + if (date.getFullYear() === year && + date.getMonth() === month - 1 && + date.getDate() === day) { + callback(); + return; + } + } + } + callback(new Error('营业期限只能输入"永久"、"长期"或有效的日期格式(如:2024-01-01)')); + }, + trigger: 'blur' + } ], residence: [ { required: true, message: '请输入住所', trigger: 'blur' } diff --git a/src/views/enterpriseLibrary/enterprise/components/child/LegalPerson.vue b/src/views/enterpriseLibrary/enterprise/components/child/LegalPerson.vue index 87d9d10..937d54c 100644 --- a/src/views/enterpriseLibrary/enterprise/components/child/LegalPerson.vue +++ b/src/views/enterpriseLibrary/enterprise/components/child/LegalPerson.vue @@ -125,7 +125,7 @@ export default { methods: { // 身份证号校验 validateIdCard(rule, value, callback) { - if (!validIdCard(value)) { + if (!validIdCard(value) && value) { callback(new Error('请输入合法的身份证号码')) } else { callback() @@ -133,7 +133,7 @@ export default { }, // 联系方式校验 validateMobile(rule, value, callback) { - if (!validMobile(value)) { + if (!validMobile(value) && value) { callback(new Error('请输入合法的联系方式')) } else { callback() diff --git a/src/views/enterpriseLibrary/enterprise/index.vue b/src/views/enterpriseLibrary/enterprise/index.vue index 2019783..c47ffb5 100644 --- a/src/views/enterpriseLibrary/enterprise/index.vue +++ b/src/views/enterpriseLibrary/enterprise/index.vue @@ -31,66 +31,68 @@ -