Commit 9c3b4d5b authored by miaojiale's avatar miaojiale

增加年龄字段,添加已增加调查时间,须检验其他需要的情况

parent 45bb256e
...@@ -67,14 +67,16 @@ ...@@ -67,14 +67,16 @@
<script> <script>
let checkAge = (rule, value, callback) => { let checkAge = (rule, value, callback) => {
if (!value) { if (!value) {
return callback(new Error("请选择出生日期")) return callback(new Error(""))
} }
let sex = sessionStorage.getItem("addSex") let sex = sessionStorage.getItem("addSex")
if (!sex) { let survey_time = sessionStorage.getItem("survey_time")
let birthday = sessionStorage.getItem("birthday")
if (!sex || !survey_time || !birthday) {
return return
} }
let birthday = new Date(value.replace(/-/g, "/")) birthday = new Date(birthday.replace(/-/g, "/"))
let d = new Date() let d = new Date(survey_time.replace(/-/g, "/"))
let age = let age =
d.getFullYear() - d.getFullYear() -
birthday.getFullYear() - birthday.getFullYear() -
......
<template> <template>
<el-row <el-row :gutter="options.gutter" class="form-content">
:gutter="options.gutter" <template
class="form-content" v-for="(item, columnIndex) in columns.column || columns.children.column"
> >
<template v-for="(item, columnIndex) in columns.column || columns.children.column">
<div <div
v-if="item.type === 'dynamic'" v-if="item.type === 'dynamic'"
v-show="item.display" v-show="item.display"
...@@ -96,10 +95,7 @@ ...@@ -96,10 +95,7 @@
:md="item.md || 24" :md="item.md || 24"
:lg="item.span || 12" :lg="item.span || 12"
> >
<div <div class="form_title" :style="item.styles">
class="form_title"
:style="item.styles"
>
<span>{{ item.value }}</span> <span>{{ item.value }}</span>
</div> </div>
</el-col> </el-col>
...@@ -122,6 +118,7 @@ ...@@ -122,6 +118,7 @@
:item="item" :item="item"
:columns="columns.column || columns.children.column" :columns="columns.column || columns.children.column"
:group="options.group" :group="options.group"
:active-name="activeName"
@formChange="formChange" @formChange="formChange"
@validateForm="validateForm" @validateForm="validateForm"
@validUpload="validUpload" @validUpload="validUpload"
...@@ -145,6 +142,7 @@ export default { ...@@ -145,6 +142,7 @@ export default {
components: { FormItemSelf, FormDynamic, DentalTabForm, DentalTabTjForm }, components: { FormItemSelf, FormDynamic, DentalTabForm, DentalTabTjForm },
props: { props: {
activeName: { type: String },
form: { form: {
type: Object, type: Object,
default: () => { default: () => {
...@@ -171,38 +169,38 @@ export default { ...@@ -171,38 +169,38 @@ export default {
default: false, default: false,
}, },
}, },
data () { data() {
return {} return {}
}, },
computed: { computed: {
isShowIm () { isShowIm() {
return function (val) { return function (val) {
return !this.isShowImportant ? true : val return !this.isShowImportant ? true : val
} }
}, },
paddingLeft () { paddingLeft() {
const columns = this.columns const columns = this.columns
return columns.labelWidth ? `${columns.labelWidth}px` : "" return columns.labelWidth ? `${columns.labelWidth}px` : ""
}, },
}, },
methods: { methods: {
clearAge () { clearAge() {
for (let i = 0; i < this.$refs.formSelf.length; i++) { for (let i = 0; i < this.$refs.formSelf.length; i++) {
this.$refs.formSelf[i].age = "" this.$refs.formSelf[i].age = ""
} }
}, },
validateForm () { validateForm() {
this.$emit("validateForm") this.$emit("validateForm")
}, },
validUpload (prop) { validUpload(prop) {
this.$emit("validUpload", prop) this.$emit("validUpload", prop)
}, },
handleChange (key, val) { handleChange(key, val) {
if (this.form.hasOwnProperty(key)) this.form[key] = val if (this.form.hasOwnProperty(key)) this.form[key] = val
}, },
// 切换不符合筛查条件的显示 // 切换不符合筛查条件的显示
formChange () { formChange() {
// 入选,排除标准,一个填写是就不符合筛查条件 // 入选,排除标准,一个填写是就不符合筛查条件
let arr = [ let arr = [
"is_one_year", "is_one_year",
...@@ -211,7 +209,7 @@ export default { ...@@ -211,7 +209,7 @@ export default {
"is_symptom", "is_symptom",
"is_disease", "is_disease",
"is_tumour", "is_tumour",
"is_Incomplete" "is_Incomplete",
] ]
let flag = 0 let flag = 0
for (let i = 0; i < arr.length; i++) { for (let i = 0; i < arr.length; i++) {
...@@ -229,6 +227,9 @@ export default { ...@@ -229,6 +227,9 @@ export default {
} }
}, },
}, },
mounted() {
// console.log(this.activeName)
},
} }
</script> </script>
......
...@@ -327,7 +327,7 @@ ...@@ -327,7 +327,7 @@
@change="handleChange" @change="handleChange"
></el-date-picker> ></el-date-picker>
<span <span
v-if="item.prop == 'birthday'" v-if="item.prop == 'birthday' && activeName == 'index0'"
style="margin-left: 12px" style="margin-left: 12px"
>{{ age + (age ? "岁" : "") }}</span >{{ age + (age ? "岁" : "") }}</span
> >
...@@ -449,6 +449,7 @@ ...@@ -449,6 +449,7 @@
* @description 自定义单组件 * @description 自定义单组件
*/ */
import { getMedicalunionList } from "@/api/medicalunion-management" import { getMedicalunionList } from "@/api/medicalunion-management"
import { mapGetters } from "vuex"
import ElUploadSelf from "@/components/Upload" import ElUploadSelf from "@/components/Upload"
import FormItemText from "./FormItemText" import FormItemText from "./FormItemText"
import DialogToothBit from "./DialogToothBit" import DialogToothBit from "./DialogToothBit"
...@@ -480,6 +481,7 @@ export default { ...@@ -480,6 +481,7 @@ export default {
}, },
}, },
props: { props: {
activeName: {},
item: { item: {
type: Object, type: Object,
}, },
...@@ -496,7 +498,7 @@ export default { ...@@ -496,7 +498,7 @@ export default {
}, },
data() { data() {
return { return {
age: "", // age: "",
pickerOptions, pickerOptions,
rangeOptions, rangeOptions,
unionList: [], unionList: [],
...@@ -504,6 +506,9 @@ export default { ...@@ -504,6 +506,9 @@ export default {
} }
}, },
computed: { computed: {
...mapGetters({
age: ["table/age"],
}),
getVwForm() { getVwForm() {
return this.vwForm() return this.vwForm()
}, },
...@@ -555,6 +560,7 @@ export default { ...@@ -555,6 +560,7 @@ export default {
}, },
mounted() { mounted() {
this.showFormItem() this.showFormItem()
console.log(this.activeName)
}, },
beforeDestroy() { beforeDestroy() {
this.$watch( this.$watch(
...@@ -710,10 +716,10 @@ export default { ...@@ -710,10 +716,10 @@ export default {
}, },
// 根据生日设置年龄回显 // 根据生日设置年龄回显
getAge() { getAge() {
if (this.form.birthday) { if (this.form.birthday && this.form.survey_time) {
var birthday = new Date(this.form.birthday.replace(/-/g, "/")) var birthday = new Date(this.form.birthday.replace(/-/g, "/"))
var d = new Date() let d = new Date(this.form.survey_time.replace(/-/g, "/"))
var age = let age =
d.getFullYear() - d.getFullYear() -
birthday.getFullYear() - birthday.getFullYear() -
(d.getMonth() < birthday.getMonth() || (d.getMonth() < birthday.getMonth() ||
...@@ -721,11 +727,15 @@ export default { ...@@ -721,11 +727,15 @@ export default {
d.getDate() < birthday.getDate()) d.getDate() < birthday.getDate())
? 1 ? 1
: 0) : 0)
this.age = age + "" this.$store.commit("table/setAge", age)
this.form.age = this.age
console.log(this.form.age, "---", age)
} else { } 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 以{}包裹 // 获取prop prop 以{}包裹
getProp(value) { getProp(value) {
...@@ -957,6 +967,12 @@ export default { ...@@ -957,6 +967,12 @@ export default {
this.handleAlgorithm() this.handleAlgorithm()
// !设置年龄 // !设置年龄
if (this.item.prop == "birthday") { 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() this.getAge()
} }
if (this.item.prop == "sex") { if (this.item.prop == "sex") {
......
...@@ -34,6 +34,7 @@ ...@@ -34,6 +34,7 @@
:form="form" :form="form"
:columns="g" :columns="g"
:options="options" :options="options"
:active-name="activeName"
:is-show-important="isShowImportant" :is-show-important="isShowImportant"
@validateForm="validateForm" @validateForm="validateForm"
></form-content> ></form-content>
...@@ -60,6 +61,7 @@ ...@@ -60,6 +61,7 @@
ref="formContent" ref="formContent"
:form="form" :form="form"
:columns="g" :columns="g"
:active-name="activeName"
:options="options" :options="options"
:is-show-important="isShowImportant" :is-show-important="isShowImportant"
@showError="showError" @showError="showError"
...@@ -138,6 +140,7 @@ export default { ...@@ -138,6 +140,7 @@ export default {
return {} return {}
}, },
}, },
activeName: {},
size: { type: String, default: "small" }, size: { type: String, default: "small" },
formStyle: { type: Object }, formStyle: { type: Object },
formEdit: { formEdit: {
...@@ -164,7 +167,7 @@ export default { ...@@ -164,7 +167,7 @@ export default {
data() { data() {
return { return {
collapseNames: [], collapseNames: [],
activeName: "0", // activeName: "0",
loading: false, loading: false,
isShowImportant: false, isShowImportant: false,
form: {}, form: {},
...@@ -209,7 +212,7 @@ export default { ...@@ -209,7 +212,7 @@ export default {
methods: { methods: {
validateForm() { validateForm() {
// console.log(88845) // console.log(88845)
if (this.form.birthday) { if (this.form.birthday && this.form.survey_time) {
this.$refs.form.validateField("birthday", (valid) => { this.$refs.form.validateField("birthday", (valid) => {
console.log(valid) console.log(valid)
}) })
...@@ -245,7 +248,7 @@ export default { ...@@ -245,7 +248,7 @@ export default {
if (next >= tabsLen) next = 0 if (next >= tabsLen) next = 0
this.activeName = String(next) this.activeName = String(next)
this.$emit("scrollTop") this.$emit("scrollTop")
console.log(this.activeName) // console.log(this.activeName)
}, },
imFieldChange(val = false) { imFieldChange(val = false) {
......
...@@ -2,11 +2,13 @@ const state = { ...@@ -2,11 +2,13 @@ const state = {
fontSize: localStorage.getItem("fontSize") || 14, fontSize: localStorage.getItem("fontSize") || 14,
selectedIndex: sessionStorage.getItem("selectedIndex") || "", selectedIndex: sessionStorage.getItem("selectedIndex") || "",
refreshFlag: 0, refreshFlag: 0,
age: "",
} }
const getters = { const getters = {
fontSize: (state) => state.fontSize, fontSize: (state) => state.fontSize,
selectedIndex: (state) => state.selectedIndex, selectedIndex: (state) => state.selectedIndex,
refreshFlag: (state) => state.refreshFlag, refreshFlag: (state) => state.refreshFlag,
age: (state) => state.age,
} }
const mutations = { const mutations = {
setFontSize(state, fontSize) { setFontSize(state, fontSize) {
...@@ -23,6 +25,9 @@ const mutations = { ...@@ -23,6 +25,9 @@ const mutations = {
setRefreshFlag(state, refreshFlag) { setRefreshFlag(state, refreshFlag) {
state.refreshFlag = refreshFlag state.refreshFlag = refreshFlag
}, },
setAge(state, age) {
state.age = age
},
} }
const actions = {} const actions = {}
export default { export default {
......
...@@ -82,6 +82,7 @@ export default { ...@@ -82,6 +82,7 @@ export default {
let data = { let data = {
birthday: v.form.birthday, birthday: v.form.birthday,
sex: v.form.sex, sex: v.form.sex,
survey_time: v.form.survey_time,
} }
sessionStorage.setItem("index1Data", JSON.stringify(data)) sessionStorage.setItem("index1Data", JSON.stringify(data))
} }
......
...@@ -202,6 +202,7 @@ export default { ...@@ -202,6 +202,7 @@ export default {
let data = { let data = {
birthday: v.form.birthday, birthday: v.form.birthday,
sex: v.form.sex, sex: v.form.sex,
survey_time: v.form.survey_time,
} }
sessionStorage.setItem("index1Data", JSON.stringify(data)) sessionStorage.setItem("index1Data", JSON.stringify(data))
} }
......
...@@ -18,7 +18,12 @@ export default { ...@@ -18,7 +18,12 @@ export default {
data() { data() {
return {} return {}
}, },
created() {}, created() {
sessionStorage.removeItem("survey_time")
sessionStorage.removeItem("birthday")
sessionStorage.removeItem("addSex")
this.$store.commit("table/setAge", "")
},
methods: { methods: {
// 处理部分逻辑 // 处理部分逻辑
addMethods(v) { addMethods(v) {
...@@ -27,11 +32,15 @@ export default { ...@@ -27,11 +32,15 @@ export default {
let data = { let data = {
birthday: v.form.birthday, birthday: v.form.birthday,
sex: v.form.sex, sex: v.form.sex,
survey_time: v.form.survey_time,
} }
sessionStorage.setItem("index1Data", JSON.stringify(data)) sessionStorage.setItem("index1Data", JSON.stringify(data))
} }
}, },
}, },
// beforeRouteEnter(to, from, next) {
// next()
// },
} }
</script> </script>
......
...@@ -244,9 +244,9 @@ export default { ...@@ -244,9 +244,9 @@ export default {
this.$nextTick(() => { this.$nextTick(() => {
let index1Data = sessionStorage.getItem("index1Data") let index1Data = sessionStorage.getItem("index1Data")
if (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 date = new Date(String(birthday).replace(/-/g, "/"))
let d = new Date() let d = new Date(survey_time.replace(/-/g, "/"))
let age = let age =
d.getFullYear() - d.getFullYear() -
date.getFullYear() - date.getFullYear() -
...@@ -259,6 +259,7 @@ export default { ...@@ -259,6 +259,7 @@ export default {
birthday, birthday,
age, age,
sex, sex,
survey_time,
} }
} }
}) })
......
...@@ -63,6 +63,7 @@ ...@@ -63,6 +63,7 @@
<custom-form <custom-form
ref="form" ref="form"
:options="widgetFormPreview" :options="widgetFormPreview"
:active-name="activeName"
:form-edit="formData.formEdit" :form-edit="formData.formEdit"
@scrollTop="scrollTop" @scrollTop="scrollTop"
@handleConfirm="handleConfirm" @handleConfirm="handleConfirm"
......
...@@ -298,6 +298,7 @@ export default { ...@@ -298,6 +298,7 @@ export default {
let data = { let data = {
birthday: v.form.birthday, birthday: v.form.birthday,
sex: v.form.sex, sex: v.form.sex,
survey_time: v.form.survey_time,
} }
sessionStorage.setItem("index1Data", JSON.stringify(data)) sessionStorage.setItem("index1Data", JSON.stringify(data))
} }
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment