From 32d68a00f504d2a8c66d1d2f989cbf19ef86bf46 Mon Sep 17 00:00:00 2001 From: miaojiale <1123971748@qq.com> Date: Tue, 6 Jun 2023 10:43:32 +0800 Subject: [PATCH] =?UTF-8?q?=E8=87=AA=E6=B5=8B=E4=BF=AE=E5=A4=8Dbug?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../CustomForm/FormItemSelf.vue | 6 +- .../CustomForm/FormItemText.vue | 4 +- ...45\207\206JSON\346\225\260\346\215\256.js" | 191 ++++++++++++++++-- src/views/screening/DraftBox.vue | 3 + .../screening/components/ConfigForms.vue | 8 + src/views/screening/components/FormTab.vue | 32 +-- src/views/screening/index.vue | 22 +- 7 files changed, 228 insertions(+), 38 deletions(-) diff --git a/src/components/FormComponents/CustomForm/FormItemSelf.vue b/src/components/FormComponents/CustomForm/FormItemSelf.vue index 2c99374..0bcd1f4 100644 --- a/src/components/FormComponents/CustomForm/FormItemSelf.vue +++ b/src/components/FormComponents/CustomForm/FormItemSelf.vue @@ -327,7 +327,11 @@ @change="handleChange" > {{ age + (age ? "岁" : "") }} diff --git a/src/components/FormComponents/CustomForm/FormItemText.vue b/src/components/FormComponents/CustomForm/FormItemText.vue index 0dcb263..203e640 100644 --- a/src/components/FormComponents/CustomForm/FormItemText.vue +++ b/src/components/FormComponents/CustomForm/FormItemText.vue @@ -27,9 +27,9 @@ {{ handleUnionName(form[item.prop]) }} - + {{ form[item.prop] | getItemText(item.dicData, item.type) }} diff --git "a/src/components/FormComponents/CustomForm/\347\255\233\346\237\245\345\205\245\351\200\211\346\216\222\351\231\244\346\240\207\345\207\206JSON\346\225\260\346\215\256.js" "b/src/components/FormComponents/CustomForm/\347\255\233\346\237\245\345\205\245\351\200\211\346\216\222\351\231\244\346\240\207\345\207\206JSON\346\225\260\346\215\256.js" index 9f2296b..1178397 100644 --- "a/src/components/FormComponents/CustomForm/\347\255\233\346\237\245\345\205\245\351\200\211\346\216\222\351\231\244\346\240\207\345\207\206JSON\346\225\260\346\215\256.js" +++ "b/src/components/FormComponents/CustomForm/\347\255\233\346\237\245\345\205\245\351\200\211\346\216\222\351\231\244\346\240\207\345\207\206JSON\346\225\260\346\215\256.js" @@ -22,13 +22,13 @@ formJson = { labelWidth: 8, column: [ { - type: "input", + type: "select", display: true, importantField: false, styles: {}, autoRequired: 0, personalRequired: 0, - label: "医联体编号", + label: "医联体", prop: "union_id", fieldType: "varchar", fieldLength: "127", @@ -39,12 +39,18 @@ formJson = { cType: "", subfield: false, span: 24, - width: 12, + width: 24, required: true, rules: [{ required: true, message: "医联体编号必须填写" }], xs: 24, sm: 24, md: 24, + cascaderItem: [], + filterable: true, + clearable: true, + dicType: "", + props: { label: "label", value: "value" }, + dicData: [], }, { type: "input", @@ -62,8 +68,10 @@ formJson = { cType: "", subfield: false, span: 24, - width: 12, - rules: [{ required: true, message: "筛查点编号必须填写" }], + width: 24, + rules: [ + { required: true, message: "筛查点编号必须填写", trigger: "blur" }, + ], required: true, xs: 24, sm: 24, @@ -79,6 +87,110 @@ formJson = { display: true, labelWidth: 8, column: [ + { + type: "radio", + display: true, + importantField: false, + styles: {}, + autoRequired: 0, + personalRequired: 0, + prop: "sex", + dicData: [ + { + label: "女", + value: "2", + id: "1595351964546281474", + parentId: "", + }, + { + label: "男", + value: "1", + id: "1595351940139626497", + parentId: "", + }, + ], + dynamicshSet: [], + dicType: "d-sex", + props: { label: "label", value: "value" }, + label: "性别", + fieldType: "varchar", + fieldLength: "20", + tableName: "患者信息", + tableCode: "gas_patient_info", + tableId: "1595347991491833857", + notFilter: false, + cType: "", + subfield: false, + required: true, + rules: [{ required: true, message: "请选择性别" }], + xs: 24, + sm: 24, + md: 24, + span: 24, + width: 24, + }, + { + type: "date", + display: true, + importantField: false, + styles: {}, + format: "yyyy-MM-dd", + valueFormat: "yyyy-MM-dd", + prop: "survey_time", + dicType: "", + label: "调查时间", + fieldType: "datetime", + tableName: "问卷调查", + tableCode: "gas_question", + tableId: "1597462007689347074", + notFilter: false, + cType: "", + subfield: false, + span: 24, + rules: [ + { required: true, message: "调查时间必须填写" }, + { + validator: function checkAge(rule, value, callback) { + if (!value) { + return callback(new Error("请选择出生日期")) + } + var sex = sessionStorage.getItem("addSex") + var survey_time = sessionStorage.getItem("survey_time") + var birthday = sessionStorage.getItem("birthday") + if (!sex || !survey_time || !birthday) { + return + } + birthday = new Date(birthday.replace(/-/g, "/")) + var d = new Date(survey_time.replace(/-/g, "/")) + var age = + d.getFullYear() - + birthday.getFullYear() - + (d.getMonth() < birthday.getMonth() || + (d.getMonth() == birthday.getMonth() && + d.getDate() < birthday.getDate()) + ? 1 + : 0) + console.log(sex) + if (sex == 1) { + if (age < 40 || age > 79) { + callback(new Error("年龄不符合筛查条件")) + } else { + callback() + } + } else { + if (age < 50 || age > 79) { + callback(new Error("年龄不符合筛查条件")) + } else { + callback() + } + } + }, + trigger: "change", + }, + ], + required: true, + pattern: "checkAge", + }, { type: "date", display: true, @@ -98,9 +210,9 @@ formJson = { cType: "", subfield: false, autoRequired: 0, - personalRequired: 1, + personalRequired: 0, span: 24, - width: 12, + width: 24, required: true, rules: [ { required: true, message: "出生日期必须填写" }, @@ -109,8 +221,14 @@ formJson = { if (!value) { return callback(new Error("请选择出生日期")) } - var birthday = new Date(value.replace(/-/g)) - var d = new Date() + var sex = sessionStorage.getItem("addSex") + var survey_time = sessionStorage.getItem("survey_time") + var birthday = sessionStorage.getItem("birthday") + if (!sex || !survey_time || !birthday) { + return + } + birthday = new Date(birthday.replace(/-/g, "/")) + var d = new Date(survey_time.replace(/-/g, "/")) var age = d.getFullYear() - birthday.getFullYear() - @@ -119,11 +237,19 @@ formJson = { 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() + } } }, trigger: "change", @@ -135,6 +261,22 @@ formJson = { sm: 24, md: 24, }, + { + type: "input", + display: false, + importantField: false, + styles: {}, + prop: "age", + label: "年龄", + fieldType: "int", + fieldLength: "11", + tableName: "患者信息", + tableCode: "gas_patient_info", + tableId: "1595347991491833857", + notFilter: false, + cType: "", + subfield: false, + }, { type: "radio", display: true, @@ -170,7 +312,7 @@ formJson = { cType: "", subfield: false, span: 24, - width: 12, + width: 24, required: true, rules: [{ required: true, message: "请选择知情同意" }], }, @@ -224,6 +366,9 @@ formJson = { xs: 24, sm: 24, md: 24, + rules: [{ required: true, message: "请选择" }], + required: true, + pattern: "请选择", }, { type: "radio", @@ -266,6 +411,9 @@ formJson = { lg: 24, autoRequired: 0, personalRequired: 0, + rules: [{ required: true, message: "请选择" }], + required: true, + pattern: "请选择", }, { type: "radio", @@ -307,6 +455,9 @@ formJson = { sm: 24, md: 24, lg: 24, + rules: [{ required: true, message: "请选择" }], + required: true, + pattern: "请选择", }, { type: "radio", @@ -348,6 +499,9 @@ formJson = { sm: 24, md: 24, lg: 24, + rules: [{ required: true, message: "请选择" }], + required: true, + pattern: "请选择", }, { type: "radio", @@ -389,6 +543,9 @@ formJson = { sm: 24, md: 24, lg: 24, + rules: [{ required: true, message: "请选择" }], + required: true, + pattern: "请选择", }, { type: "radio", @@ -429,6 +586,9 @@ formJson = { sm: 24, md: 24, lg: 24, + rules: [{ required: true, message: "请选择" }], + required: true, + pattern: "请选择", }, { type: "radio", @@ -469,6 +629,9 @@ formJson = { sm: 24, md: 24, lg: 24, + rules: [{ required: true, message: "请选择" }], + required: true, + pattern: "请选择", }, ], }, diff --git a/src/views/screening/DraftBox.vue b/src/views/screening/DraftBox.vue index 9543b25..177b762 100644 --- a/src/views/screening/DraftBox.vue +++ b/src/views/screening/DraftBox.vue @@ -209,6 +209,9 @@ export default { }, handleAdd({ patientId, name }, index, disabled = false) { sessionStorage.removeItem("index1Data") + sessionStorage.removeItem("survey_time") + sessionStorage.removeItem("birthday") + this.$store.commit("table/setAge", "") this.disabled = disabled this.patientId = patientId || null this.name = name diff --git a/src/views/screening/components/ConfigForms.vue b/src/views/screening/components/ConfigForms.vue index 17a5327..aef0767 100644 --- a/src/views/screening/components/ConfigForms.vue +++ b/src/views/screening/components/ConfigForms.vue @@ -337,6 +337,10 @@ export default { this.addPatient(data, done, cb, () => { this.$refs.showDialog.dialogVisible = true this.loading = false + sessionStorage.removeItem("birthday") + sessionStorage.removeItem("addSex") + sessionStorage.removeItem("survey_time") + this.$store.commit("table/setAge", "") }) }, onPrev(done) { @@ -375,6 +379,10 @@ export default { }, continueSubmit() { sessionStorage.removeItem("index1Data") + sessionStorage.removeItem("birthday") + sessionStorage.removeItem("addSex") + sessionStorage.removeItem("survey_time") + this.$store.commit("table/setAge", "") this.activeName = "index0" // 清空表单 // for (let i = 0; i < this.$refs.formTabs.length; i++) { diff --git a/src/views/screening/components/FormTab.vue b/src/views/screening/components/FormTab.vue index 76d0c45..6b4e192 100644 --- a/src/views/screening/components/FormTab.vue +++ b/src/views/screening/components/FormTab.vue @@ -418,10 +418,10 @@ export default { formRecordId: this.formData.formRecordId, }) .then((res) => { + this.formatData(res) sessionStorage.setItem("addSex", res.data.data.sex) sessionStorage.setItem("birthday", res.data.data.birthday) sessionStorage.setItem("survey_time", res.data.data.survey_time) - this.formatData(res) }) .finally(() => { this.loading = false @@ -440,19 +440,23 @@ export default { form["YZZKJC"] = JSON.parse(form["YZZKJC"]) } console.log("form形成", form, this.formData) - if (form.birthday) { - let birthday = new Date(form.birthday.replace(/-/g, "/")) - let date = new Date() - let age = - date.getFullYear() - - birthday.getFullYear() - - (date.getMonth() < birthday.getMonth() || - (date.getMonth() == birthday.getMonth() && - date.getDate() < birthday.getDate()) - ? 1 - : 0) - form.age = age - } + // if (form.survey_time && sessionStorage.getItem("survey_time")) { + // let survey_time = sessionStorage.getItem("survey_time") + // form.survey_time = survey_time + // } + // if (form.birthday) { + // let birthday = new Date(form.birthday.replace(/-/g, "/")) + // let date = new Date(form.survey_time.replace(/-/g, "/")) + // let age = + // date.getFullYear() - + // birthday.getFullYear() - + // (date.getMonth() < birthday.getMonth() || + // (date.getMonth() == birthday.getMonth() && + // date.getDate() < birthday.getDate()) + // ? 1 + // : 0) + // form.age = age + // } if (!cache) { this.formData.formEdit = form } diff --git a/src/views/screening/index.vue b/src/views/screening/index.vue index 382103e..52d13b6 100644 --- a/src/views/screening/index.vue +++ b/src/views/screening/index.vue @@ -317,6 +317,9 @@ export default { tabDisabled = true ) { sessionStorage.removeItem("index1Data") + sessionStorage.removeItem("survey_time") + sessionStorage.removeItem("birthday") + this.$store.commit("table/setAge", "") this.disabled = disabled this.tabDisabled = tabDisabled this.patientId = patientId || null @@ -361,9 +364,11 @@ export default { this.handleSearch(form) }, handleSearch(form) { - this.$router.push({ - query: {}, - }) + if (this.$route.query.checkStatus) { + this.$router.push({ + query: {}, + }) + } this.listLoading = true const params = Object.assign(this.cacheForm, form) const data = {} @@ -440,14 +445,17 @@ export default { // if (this.$route.path == "/screening/index") { // this.tabDisabled = false // } + console.log(this.$route.query.patientId) if (this.$route.query.patientId) { let patientId = this.$route.query.patientId + this.patientId = patientId // this.$nextTick(() => { - this.disabled = true - this.tabDisabled = false - this.patientId = patientId || null - this.isDetail = true + this.handleView({ + patientId: patientId, + name: "", + }) // }) + console.log("有数据啊") } }, mounted() { -- 2.22.0