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 @@