diff --git a/packages/config/date.vue b/packages/config/date.vue index 95e2f37c2b6df9b35bf5b8e32e613028c2d585de..d2a821586e9379495f0d493648bf004d233912bc 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 cc7540b51e942044555748fc918ff24da8a66341..2c9937467f726077039d413d5f64885c300bbe41 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 4fe236bb13f6f9dbb7a496cbcf7d2ae163c07f51..8bf8889d13ef31d5888d40406f78e568e7f7e7b0 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 09bc33ff955a54a4c5e393bdf1b4568392a7a094..d0e463c8c528bc192ccd323a94dae05f8be1f537 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 dddb692c3fd870903993cb5166e990e588565c4f..4c02d4cfe95d22b87c0eb0cd1340e816926123ce 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 64ad360dabc728a1ff94901a52c881ba5a2b741e..9543b252834d18ab160f88a8d1db524481ef55bc 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 f51aebb848ef7729766dfac2b62083bc3873ba92..7d5713d4eb953bf591c1d176ea65c4ba12f781a4 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 c31be39e96a73ba62cc077e3eb1c0f4461006b7b..17a532734307d4a76a1d42790ea771253c1c1abd 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 f05ec07f92be67ccf157514a6f09e30ca237398e..9135293bab2b4c68649f3ef9a97e8fd1b813d7e0 100644 --- a/src/views/screening/components/FormTab.vue +++ b/src/views/screening/components/FormTab.vue @@ -63,6 +63,7 @@