diff --git a/packages/config/date.vue b/packages/config/date.vue index af7804dce0e8152af97bb6ba64ce56a3b54e2502..36d31f9ae4cf923814e335829d9b9b8c3e9d7509 100644 --- a/packages/config/date.vue +++ b/packages/config/date.vue @@ -69,6 +69,10 @@ let checkAge = (rule, value, callback) => { if (!value) { return callback(new Error("请选择出生日期")) } + let sex = sessionStorage.getItem("addSex") + if (!sex) { + return + } let birthday = new Date(value.replace(/-/g, "/")) let d = new Date() let age = @@ -78,11 +82,19 @@ let checkAge = (rule, value, callback) => { (d.getMonth() == birthday.getMonth() && d.getDate() < birthday.getDate()) ? 1 : 0) - console.log(age) - if (age < 40 || age > 80) { - callback(new Error("年龄不符合筛查条件")) + console.log(sex) + if (sex == 1) { + if (age < 40 || age > 79) { + callback(new Error("年龄不符合筛查条件")) + } else { + callback() + } } else { - callback() + if (age < 50 || age > 79) { + callback(new Error("年龄不符合筛查条件")) + } else { + callback() + } } } export default { diff --git a/src/components/FormComponents/CustomForm/FormContent.vue b/src/components/FormComponents/CustomForm/FormContent.vue index 58a127369e0d94e73d4c20144cfbd2b6b5ffde55..365d7535d2679b1d9582f1427be694de6b78fc67 100644 --- a/src/components/FormComponents/CustomForm/FormContent.vue +++ b/src/components/FormComponents/CustomForm/FormContent.vue @@ -119,6 +119,7 @@ :columns="columns.column || columns.children.column" :group="options.group" @formChange="formChange" + @validateForm="validateForm" > @@ -186,6 +187,9 @@ export default { this.$refs.formSelf[i].age = "" } }, + validateForm() { + this.$emit("validateForm") + }, handleChange(key, val) { if (this.form.hasOwnProperty(key)) this.form[key] = val }, diff --git a/src/components/FormComponents/CustomForm/FormItemSelf.vue b/src/components/FormComponents/CustomForm/FormItemSelf.vue index a34dffcee1b4b3a81c58465e00b3054d446f911f..e8355468ae00128b04dabadfbbf9a88fd9fcfd2a 100644 --- a/src/components/FormComponents/CustomForm/FormItemSelf.vue +++ b/src/components/FormComponents/CustomForm/FormItemSelf.vue @@ -955,6 +955,10 @@ export default { if (this.item.prop == "birthday") { this.getAge() } + if (this.item.prop == "sex") { + sessionStorage.setItem("addSex", this.form.sex) + this.$emit("validateForm") + } // 该操作判断是否符合筛查条件 this.$emit("formChange") // ['is_one_year','is_subtotal_history','is_ppi','is_symptom','is_subtotal_history','is_disease','is_tumour'] diff --git a/src/components/FormComponents/CustomForm/index.vue b/src/components/FormComponents/CustomForm/index.vue index ad66535793df5ce8d58d031145472647778a1a57..d11d959242e3954079e11bddb3b2f314ae47fdfe 100644 --- a/src/components/FormComponents/CustomForm/index.vue +++ b/src/components/FormComponents/CustomForm/index.vue @@ -18,6 +18,7 @@ :columns="{ column: options.column }" :options="options" :is-show-important="isShowImportant" + @validateForm="validateForm" > @@ -203,6 +206,14 @@ export default { } }, methods: { + validateForm() { + // console.log(88845) + if (this.form.birthday) { + this.$refs.form.validateField("birthday", (valid) => { + console.log(valid) + }) + } + }, clearAge() { // 去除年龄文本 for (let i = 0; i < this.$refs.formContent.length; i++) {