FormCont.vue 6.53 KB
<template>
    <div>
        <!-- 高血压 -->
        <HypertensionForm
            v-if="diseaseInfo.diseaseType === 1"
            :diseaseInfo="diseaseInfo"
            :diseaseTypes="diseaseTypes"
            ref="hypertensionForm">
        </HypertensionForm>
        <!-- 糖尿病 -->
        <DiabetesForm
            v-if="diseaseInfo.diseaseType === 2"
            :diseaseInfo="diseaseInfo"
            :diseaseTypes="diseaseTypes"
            ref="diabetesForm">
        </DiabetesForm>
        <!-- 冠心病 -->
        <CoronaryHeartDiseaseForm
            v-if="diseaseInfo.diseaseType === 3"
            :diseaseInfo="diseaseInfo"
            :diseaseTypes="diseaseTypes"
            ref="coronaryHeartDiseaseForm">
        </CoronaryHeartDiseaseForm>
        <!-- 脑卒中 -->
        <StrokeForm
            v-if="diseaseInfo.diseaseType === 4"
            :diseaseInfo="diseaseInfo"
            :diseaseTypes="diseaseTypes"
            ref="strokeForm">
        </StrokeForm>
        <!-- 慢阻肺 -->
        <CopdForm
            v-if="diseaseInfo.diseaseType === 5"
            :diseaseInfo="diseaseInfo"
            :diseaseTypes="diseaseTypes"
            ref="copdForm">
        </CopdForm>
        <!-- 慢性肾脏病 -->
        <ChronicKidneyDiseaseForm
            v-if="diseaseInfo.diseaseType === 6"
            :diseaseInfo="diseaseInfo"
            :diseaseTypes="diseaseTypes"
            ref="chronicKidneyDiseaseForm">
        </ChronicKidneyDiseaseForm>
        <!-- 血脂异常 -->
        <DyslipidemiaForm
            v-if="diseaseInfo.diseaseType === 7"
            :diseaseInfo="diseaseInfo"
            :diseaseTypes="diseaseTypes"
            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, updateHypertensionForm, addDiabetesForm, updateDiabetesForm, addCoronaryHeartDiseaseForm, updateCoronaryHeartDiseaseForm, addStrokeForm, updateStrokeForm, addCopdForm, updateCopdForm, addChronicKidneyDiseaseForm, updateChronicKidneyDiseaseForm, addDyslipidemiaForm, updateDyslipidemiaForm } 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
            }
        },
        diseaseTypes() {
            return this.baseInfo.diseaseTypes
        }
    },
    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
            }
            let { id } = this.$route.query
            if (this.diseaseInfo.diseaseType === 1) {
                const hypertensionForm = await this.$refs.hypertensionForm.submit()
                // console.log(666, hypertensionForm)
                // return true
                let fun = id ? updateHypertensionForm : addHypertensionForm
                return await fun({
                    ...hypertensionForm,
                    ...form
                }, true)
            } else if (this.diseaseInfo.diseaseType === 2) {
                const diabetesForm = await this.$refs.diabetesForm.submit()
                let fun = id ? updateDiabetesForm : addDiabetesForm
                return await fun({
                    ...diabetesForm,
                    ...form
                }, true)
            } else if (this.diseaseInfo.diseaseType === 3) {
                const coronaryHeartDiseaseForm = await this.$refs.coronaryHeartDiseaseForm.submit()
                let fun = id ? updateCoronaryHeartDiseaseForm : addCoronaryHeartDiseaseForm
                return await fun({
                    ...coronaryHeartDiseaseForm,
                    ...form
                }, true)
            } else if (this.diseaseInfo.diseaseType === 4) {
                const strokeForm = await this.$refs.strokeForm.submit()
                let fun = id ? updateStrokeForm : addStrokeForm
                return await fun({
                    ...strokeForm,
                    ...form
                }, true)
            } else if (this.diseaseInfo.diseaseType === 5) {
                const copdForm = await this.$refs.copdForm.submit()
                let fun = id ? updateCopdForm : addCopdForm
                return await fun({
                    ...copdForm,
                    ...form
                }, true)
            } else if (this.diseaseInfo.diseaseType === 6) {
                const chronicKidneyDiseaseForm = await this.$refs.chronicKidneyDiseaseForm.submit()
                let fun = id ? updateChronicKidneyDiseaseForm : addChronicKidneyDiseaseForm
                return await fun({
                    ...chronicKidneyDiseaseForm,
                    ...form
                }, true)
            } else if (this.diseaseInfo.diseaseType === 7) {
                const dyslipidemiaForm = await this.$refs.dyslipidemiaForm.submit()
                let fun = id ? updateDyslipidemiaForm : addDyslipidemiaForm
                return await fun({
                    ...dyslipidemiaForm,
                    ...form
                }, true)
            }
        }
    }
}
</script>