From 9c3b4d5b46a1be42c76f8da7a4e6d38c064fc363 Mon Sep 17 00:00:00 2001 From: miaojiale <1123971748@qq.com> Date: Mon, 5 Jun 2023 17:57:20 +0800 Subject: [PATCH] =?UTF-8?q?=E5=A2=9E=E5=8A=A0=E5=B9=B4=E9=BE=84=E5=AD=97?= =?UTF-8?q?=E6=AE=B5=EF=BC=8C=E6=B7=BB=E5=8A=A0=E5=B7=B2=E5=A2=9E=E5=8A=A0?= =?UTF-8?q?=E8=B0=83=E6=9F=A5=E6=97=B6=E9=97=B4=EF=BC=8C=E9=A1=BB=E6=A3=80?= =?UTF-8?q?=E9=AA=8C=E5=85=B6=E4=BB=96=E9=9C=80=E8=A6=81=E7=9A=84=E6=83=85?= =?UTF-8?q?=E5=86=B5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- packages/config/date.vue | 10 +++-- .../FormComponents/CustomForm/FormContent.vue | 37 ++++++++++--------- .../CustomForm/FormItemSelf.vue | 32 ++++++++++++---- .../FormComponents/CustomForm/index.vue | 9 +++-- src/store/modules/table.js | 5 +++ .../components/DialogConfigForms.vue | 1 + src/views/screening/DraftBox.vue | 1 + src/views/screening/ScreeningAdd.vue | 11 +++++- .../screening/components/ConfigForms.vue | 5 ++- src/views/screening/components/FormTab.vue | 1 + src/views/screening/index.vue | 1 + 11 files changed, 77 insertions(+), 36 deletions(-) diff --git a/packages/config/date.vue b/packages/config/date.vue index 95e2f37..d2a8215 100644 --- a/packages/config/date.vue +++ b/packages/config/date.vue @@ -67,14 +67,16 @@ diff --git a/src/components/FormComponents/CustomForm/FormItemSelf.vue b/src/components/FormComponents/CustomForm/FormItemSelf.vue index cc7540b..2c99374 100644 --- a/src/components/FormComponents/CustomForm/FormItemSelf.vue +++ b/src/components/FormComponents/CustomForm/FormItemSelf.vue @@ -327,7 +327,7 @@ @change="handleChange" > {{ age + (age ? "岁" : "") }} @@ -449,6 +449,7 @@ * @description 自定义单组件 */ import { getMedicalunionList } from "@/api/medicalunion-management" +import { mapGetters } from "vuex" import ElUploadSelf from "@/components/Upload" import FormItemText from "./FormItemText" import DialogToothBit from "./DialogToothBit" @@ -480,6 +481,7 @@ export default { }, }, props: { + activeName: {}, item: { type: Object, }, @@ -496,7 +498,7 @@ export default { }, data() { return { - age: "", + // age: "", pickerOptions, rangeOptions, unionList: [], @@ -504,6 +506,9 @@ export default { } }, computed: { + ...mapGetters({ + age: ["table/age"], + }), getVwForm() { return this.vwForm() }, @@ -555,6 +560,7 @@ export default { }, mounted() { this.showFormItem() + console.log(this.activeName) }, beforeDestroy() { this.$watch( @@ -710,10 +716,10 @@ export default { }, // 根据生日设置年龄回显 getAge() { - if (this.form.birthday) { + if (this.form.birthday && this.form.survey_time) { var birthday = new Date(this.form.birthday.replace(/-/g, "/")) - var d = new Date() - var age = + let d = new Date(this.form.survey_time.replace(/-/g, "/")) + let age = d.getFullYear() - birthday.getFullYear() - (d.getMonth() < birthday.getMonth() || @@ -721,11 +727,15 @@ export default { d.getDate() < birthday.getDate()) ? 1 : 0) - this.age = age + "" + this.$store.commit("table/setAge", age) + this.form.age = this.age + console.log(this.form.age, "---", age) } else { - this.age = "" + let age = "" + this.$store.commit("table/setAge", age) + this.form.age = this.age + console.log(this.form.age, "---", age) } - this.form.age = this.age }, // 获取prop prop 以{}包裹 getProp(value) { @@ -957,6 +967,12 @@ export default { this.handleAlgorithm() // !设置年龄 if (this.item.prop == "birthday") { + sessionStorage.setItem("birthday", this.form.birthday) + this.getAge() + } + // ?survey_time 调查时间 + if (this.item.prop == "survey_time") { + sessionStorage.setItem("survey_time", this.form.survey_time) this.getAge() } if (this.item.prop == "sex") { diff --git a/src/components/FormComponents/CustomForm/index.vue b/src/components/FormComponents/CustomForm/index.vue index 4fe236b..8bf8889 100644 --- a/src/components/FormComponents/CustomForm/index.vue +++ b/src/components/FormComponents/CustomForm/index.vue @@ -34,6 +34,7 @@ :form="form" :columns="g" :options="options" + :active-name="activeName" :is-show-important="isShowImportant" @validateForm="validateForm" > @@ -60,6 +61,7 @@ ref="formContent" :form="form" :columns="g" + :active-name="activeName" :options="options" :is-show-important="isShowImportant" @showError="showError" @@ -138,6 +140,7 @@ export default { return {} }, }, + activeName: {}, size: { type: String, default: "small" }, formStyle: { type: Object }, formEdit: { @@ -164,7 +167,7 @@ export default { data() { return { collapseNames: [], - activeName: "0", + // activeName: "0", loading: false, isShowImportant: false, form: {}, @@ -209,7 +212,7 @@ export default { methods: { validateForm() { // console.log(88845) - if (this.form.birthday) { + if (this.form.birthday && this.form.survey_time) { this.$refs.form.validateField("birthday", (valid) => { console.log(valid) }) @@ -245,7 +248,7 @@ export default { if (next >= tabsLen) next = 0 this.activeName = String(next) this.$emit("scrollTop") - console.log(this.activeName) + // console.log(this.activeName) }, imFieldChange(val = false) { diff --git a/src/store/modules/table.js b/src/store/modules/table.js index 09bc33f..d0e463c 100644 --- a/src/store/modules/table.js +++ b/src/store/modules/table.js @@ -2,11 +2,13 @@ const state = { fontSize: localStorage.getItem("fontSize") || 14, selectedIndex: sessionStorage.getItem("selectedIndex") || "", refreshFlag: 0, + age: "", } const getters = { fontSize: (state) => state.fontSize, selectedIndex: (state) => state.selectedIndex, refreshFlag: (state) => state.refreshFlag, + age: (state) => state.age, } const mutations = { setFontSize(state, fontSize) { @@ -23,6 +25,9 @@ const mutations = { setRefreshFlag(state, refreshFlag) { state.refreshFlag = refreshFlag }, + setAge(state, age) { + state.age = age + }, } const actions = {} export default { diff --git a/src/views/followupentry/components/DialogConfigForms.vue b/src/views/followupentry/components/DialogConfigForms.vue index dddb692..4c02d4c 100644 --- a/src/views/followupentry/components/DialogConfigForms.vue +++ b/src/views/followupentry/components/DialogConfigForms.vue @@ -82,6 +82,7 @@ export default { let data = { birthday: v.form.birthday, sex: v.form.sex, + survey_time: v.form.survey_time, } sessionStorage.setItem("index1Data", JSON.stringify(data)) } diff --git a/src/views/screening/DraftBox.vue b/src/views/screening/DraftBox.vue index 64ad360..9543b25 100644 --- a/src/views/screening/DraftBox.vue +++ b/src/views/screening/DraftBox.vue @@ -202,6 +202,7 @@ export default { let data = { birthday: v.form.birthday, sex: v.form.sex, + survey_time: v.form.survey_time, } sessionStorage.setItem("index1Data", JSON.stringify(data)) } diff --git a/src/views/screening/ScreeningAdd.vue b/src/views/screening/ScreeningAdd.vue index f51aebb..7d5713d 100644 --- a/src/views/screening/ScreeningAdd.vue +++ b/src/views/screening/ScreeningAdd.vue @@ -18,7 +18,12 @@ export default { data() { return {} }, - created() {}, + created() { + sessionStorage.removeItem("survey_time") + sessionStorage.removeItem("birthday") + sessionStorage.removeItem("addSex") + this.$store.commit("table/setAge", "") + }, methods: { // 处理部分逻辑 addMethods(v) { @@ -27,11 +32,15 @@ export default { let data = { birthday: v.form.birthday, sex: v.form.sex, + survey_time: v.form.survey_time, } sessionStorage.setItem("index1Data", JSON.stringify(data)) } }, }, + // beforeRouteEnter(to, from, next) { + // next() + // }, } diff --git a/src/views/screening/components/ConfigForms.vue b/src/views/screening/components/ConfigForms.vue index c31be39..17a5327 100644 --- a/src/views/screening/components/ConfigForms.vue +++ b/src/views/screening/components/ConfigForms.vue @@ -244,9 +244,9 @@ export default { this.$nextTick(() => { let index1Data = sessionStorage.getItem("index1Data") if (index1Data) { - let { birthday, sex } = JSON.parse(index1Data) + let { birthday, sex, survey_time } = JSON.parse(index1Data) let date = new Date(String(birthday).replace(/-/g, "/")) - let d = new Date() + let d = new Date(survey_time.replace(/-/g, "/")) let age = d.getFullYear() - date.getFullYear() - @@ -259,6 +259,7 @@ export default { birthday, age, sex, + survey_time, } } }) diff --git a/src/views/screening/components/FormTab.vue b/src/views/screening/components/FormTab.vue index f05ec07..9135293 100644 --- a/src/views/screening/components/FormTab.vue +++ b/src/views/screening/components/FormTab.vue @@ -63,6 +63,7 @@