FormCont.vue 5 KB
<template>
    <div>
        <HypertensionForm
            v-if="diseaseInfo.diseaseType === 1"
            :diseaseInfo="diseaseInfo"
            ref="hypertensionForm">
        </HypertensionForm>
        <DiabetesForm
            v-if="diseaseInfo.diseaseType === 2"
            :diseaseInfo="diseaseInfo"
            ref="diabetesForm">
        </DiabetesForm>
        <CoronaryHeartDiseaseForm
            v-if="diseaseInfo.diseaseType === 3"
            :diseaseInfo="diseaseInfo"
            ref="coronaryHeartDiseaseForm">
        </CoronaryHeartDiseaseForm>
        <StrokeForm v-if="diseaseInfo.diseaseType === 4" ref="strokeForm"></StrokeForm>
        <CopdForm v-if="diseaseInfo.diseaseType === 5" ref="copdForm"></CopdForm>
        <ChronicKidneyDiseaseForm v-if="diseaseInfo.diseaseType === 6" ref="chronicKidneyDiseaseForm"></ChronicKidneyDiseaseForm>
        <DyslipidemiaForm v-if="diseaseInfo.diseaseType === 7" ref="dyslipidemiaForm"></DyslipidemiaForm>
    </div>
</template>
<script>
import HypertensionForm from './components/HypertensionForm.vue'
import DiabetesForm from './components/DiabetesForm.vue'
import CoronaryHeartDiseaseForm from './components/CoronaryHeartDiseaseForm.vue'
import StrokeForm from './components/StrokeForm.vue'
import CopdForm from './components/CopdForm.vue'
import ChronicKidneyDiseaseForm from './components/ChronicKidneyDiseaseForm.vue'
import DyslipidemiaForm from './components/DyslipidemiaForm.vue'
import { addHypertensionForm, addDiabetesForm, addCoronaryHeartDiseaseForm, addStrokeForm, addCopdForm, addChronicKidneyDiseaseForm, addDyslipidemiaForm } from '@/api/doctor/separateFU'
export default {
    components: { HypertensionForm, DiabetesForm, CoronaryHeartDiseaseForm, StrokeForm, CopdForm, ChronicKidneyDiseaseForm, DyslipidemiaForm },
    props: {
        baseInfo: {
            type: Object,
            default: () => {}
        },
        diseaseInfo: {
            type: Object,
            default: () => {}
        }
    },
    data() {
        return {
            // diseaseType: 2
        }
    },
    computed: {
        residentInfoId() {
            return this.$route.query.residentInfoId
        },
        serveType() {
            if (this.diseaseInfo.diseaseType === 1 || this.diseaseInfo.diseaseType === 2) {
                return this.diseaseInfo.serveType
            } else {
                return 3
            }
        }
    },
    methods: {
        async submit() {
            let form = {
                // 本次随访情况-默认在访
                visitSituation: 1,
                // 随访类型(高血压和糖尿病分为常规和新增,其余病种不区分)
                serveType: this.serveType,
                // 居民档案信息
                residentsRecord: this.baseInfo,
                // 居民id
                residentInfoId: this.residentInfoId,
                // 病种
                diseaseType: this.diseaseInfo.diseaseType,
                // 数据来源(2为慢综app)
                source: 2
            }
            if (this.diseaseInfo.diseaseType === 1) {
                const hypertensionForm = await this.$refs.hypertensionForm.submit()
                return await addHypertensionForm({
                    ...form,
                    ...hypertensionForm
                }, true)
            } else if (this.diseaseInfo.diseaseType === 2) {
                const diabetesForm = await this.$refs.diabetesForm.submit()
                return await addDiabetesForm({
                    ...form,
                    ...diabetesForm
                }, true)
            } else if (this.diseaseInfo.diseaseType === 3) {
                const coronaryHeartDiseaseForm = await this.$refs.coronaryHeartDiseaseForm.submit()
                return await addCoronaryHeartDiseaseForm({
                    ...form,
                    ...coronaryHeartDiseaseForm
                }, true)
            } else if (this.diseaseInfo.diseaseType === 4) {
                const strokeForm = await this.$refs.strokeForm.submit()
                return await addStrokeForm({
                    ...form,
                    ...strokeForm
                }, true)
            } else if (this.diseaseInfo.diseaseType === 5) {
                const copdForm = await this.$refs.copdForm.submit()
                return await addCopdForm({
                    ...form,
                    ...copdForm
                }, true)
            } else if (this.diseaseInfo.diseaseType === 6) {
                const chronicKidneyDiseaseForm = await this.$refs.chronicKidneyDiseaseForm.submit()
                return await addChronicKidneyDiseaseForm({
                    ...form,
                    ...chronicKidneyDiseaseForm
                }, true)
            } else if (this.diseaseInfo.diseaseType === 7) {
                const dyslipidemiaForm = await this.$refs.dyslipidemiaForm.submit()
                return await addDyslipidemiaForm({
                    ...form,
                    ...dyslipidemiaForm
                }, true)
            }
        }
    }
}
</script>