From 21d83817675a0dbbcd47854076830886ad3686b8 Mon Sep 17 00:00:00 2001 From: miaojiale <1123971748@qq.com> Date: Fri, 5 May 2023 09:38:09 +0800 Subject: [PATCH] =?UTF-8?q?=E5=85=A5=E9=80=89=E6=A0=87=E5=87=86=E5=A2=9E?= =?UTF-8?q?=E5=8A=A0=E6=A0=A1=E9=AA=8C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- packages/config/date.vue | 20 +++++++++++++++---- .../FormComponents/CustomForm/FormContent.vue | 4 ++++ .../CustomForm/FormItemSelf.vue | 4 ++++ .../FormComponents/CustomForm/index.vue | 11 ++++++++++ 4 files changed, 35 insertions(+), 4 deletions(-) diff --git a/packages/config/date.vue b/packages/config/date.vue index af7804d..36d31f9 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 58a1273..365d753 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 a34dffc..e835546 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 ad66535..d11d959 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++) { -- 2.22.0