Commit 5923c8c9 authored by 芮自成's avatar 芮自成

血脂异常专病随访修改

parent 1bd41aeb
......@@ -66,6 +66,14 @@ export function getChronicKidneyDiseaseForm(params) {
export function addDyslipidemiaForm(params) {
return fetchBase({ url: `/chronic-admin/v1/chronic-visit-dyslipemia/save`, body: params, loading: true })
}
// 修改血脂异常随访
export function updateDyslipidemiaForm(params) {
return fetchBase({ url: `/chronic-admin/v1/chronic-visit-dyslipemia/update`, body: params, loading: true })
}
// 主键查询血脂异常随访信息
export function getDyslipidemiaForm(params) {
return fetchBase({ url: `/chronic-admin/v1/chronic-visit-dyslipemia/record`, body: params, loading: true })
}
// 查询专病随访详情
......
......@@ -37,7 +37,11 @@
ref="chronicKidneyDiseaseForm">
</ChronicKidneyDiseaseForm>
<!-- 血脂异常 -->
<DyslipidemiaForm v-if="diseaseInfo.diseaseType === 7" ref="dyslipidemiaForm"></DyslipidemiaForm>
<DyslipidemiaForm
v-if="diseaseInfo.diseaseType === 7"
:diseaseInfo="diseaseInfo"
ref="dyslipidemiaForm">
</DyslipidemiaForm>
</div>
</template>
<script>
......@@ -48,7 +52,7 @@ 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, updateCoronaryHeartDiseaseForm, addStrokeForm, updateStrokeForm, addCopdForm, updateCopdForm, addChronicKidneyDiseaseForm, updateChronicKidneyDiseaseForm, addDyslipidemiaForm } from '@/api/doctor/separateFU'
import { addHypertensionForm, addDiabetesForm, 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: {
......@@ -137,7 +141,8 @@ export default {
}, true)
} else if (this.diseaseInfo.diseaseType === 7) {
const dyslipidemiaForm = await this.$refs.dyslipidemiaForm.submit()
return await addDyslipidemiaForm({
let fun = id ? updateDyslipidemiaForm : addDyslipidemiaForm
return await fun({
...form,
...dyslipidemiaForm
}, true)
......
......@@ -742,14 +742,12 @@
<!-- 现场随访照片 -->
<div class="label-title mt-2">现场随访照片</div>
<DocImageUpload
description="最多支持上传8个文件,支持上传图片或PDF文件,图片支持上传jpg、png、jpeg格式,文件大小请勿超过10M。"
lengthMessage="抱歉,最多可上传8个文件。"
:imageData="[]"
:imageData="form.visitImageList"
@change="(ids, option) => form.visitImage = ids"
:maxLength="8"
/>
<!-- 下次随访日期 -->
<div class="label-title" required>下次随访日期</div>
<div class="label-title mt-2" required>下次随访日期</div>
<van-field
v-model="form.nextVisitDate"
isLink
......
......@@ -564,6 +564,10 @@
</van-radio-group>
</template>
</van-field>
<!-- 辅助检查 -->
<InspectV2 ref="inspectRef" :diseaseInfo="diseaseInfo" :form="form"></InspectV2>
<!-- 服药依从性 -->
<div class="label-title mt-2" required>服药依从性</div>
<van-field :rules="rules.medicationCompliance" style="padding: 0">
......@@ -667,6 +671,10 @@
</div>
</div>
</van-popup>
<!-- 治疗方案 -->
<TreatmentPlan ref="treatmentPlan" :form="form"></TreatmentPlan>
<!-- 转诊 -->
<div class="label-title mt-2" required>转诊</div>
<van-field :rules="rules.isReferral" style="padding: 0">
......@@ -737,14 +745,12 @@
<!-- 现场随访照片 -->
<div class="label-title mt-2">现场随访照片</div>
<DocImageUpload
description="最多支持上传8个文件,支持上传图片或PDF文件,图片支持上传jpg、png、jpeg格式,文件大小请勿超过10M。"
lengthMessage="抱歉,最多可上传8个文件。"
:imageData="[]"
:imageData="form.visitImageList"
@change="(ids, option) => form.visitImage = ids"
:maxLength="8"
/>
<!-- 下次随访日期 -->
<div class="label-title" required>下次随访日期</div>
<div class="label-title mt-2" required>下次随访日期</div>
<van-field
v-model="form.nextVisitDate"
isLink
......@@ -839,15 +845,25 @@
import { useStore } from '@/doctor/store'
import CheckBtn from '@/doctor/components/checkBtn/CheckBtn.vue'
import { checkboxReject, calculateBMI, fetchDataHandle } from '@/utils/common'
import { getDyslipidemiaForm } from '@/api/doctor/separateFU'
import BloodPressurePanel from '@/doctor/components/bloodPressure/BloodPressurePanel.vue'
import BloodPressureBt from '@/doctor/components/bloodPressure/BloodPressureBt.vue'
import DocImageUpload from '@/doctor/components/docImageUpload/DocImageUpload.vue'
import DocUnit from '@/doctor/components/docUnit/DocUnit.vue'
import DocOffice from '@/doctor/components/docOffice/DocOffice.vue'
import DocOfficeDoctor from '@/doctor/components/docOfficeDoctor/DocOfficeDoctor.vue'
import InspectV2 from '../../components/InspectV2.vue'
import TreatmentPlan from '../../components/TreatmentPlan.vue'
export default {
components: { CheckBtn, BloodPressurePanel, BloodPressureBt, DocImageUpload, DocUnit, DocOffice, DocOfficeDoctor },
components: { CheckBtn, BloodPressurePanel, BloodPressureBt, DocImageUpload, DocUnit, DocOffice, DocOfficeDoctor, InspectV2, TreatmentPlan },
inject: ['pressureObj'],
props: {
diseaseInfo: {
type: Object,
default: () => {}
}
},
data() {
return {
store: useStore(),
......@@ -1154,6 +1170,9 @@ export default {
showVisitDoctor: false
}
},
created() {
this.getInfo()
},
methods: {
checkboxReject,
calculateBMI,
......@@ -1194,6 +1213,8 @@ export default {
},
referralUnitChange(option = {}) {
this.form.referralUnitName = option.unitName
this.form.referralOfficeId = undefined
this.form.referralOfficeName = undefined
},
referralOfficeChange(option = {}) {
this.form.referralOfficeName = option.officeName
......@@ -1208,23 +1229,67 @@ export default {
},
visitUnitChange(option = {}) {
this.form.visitUnitName = option.unitName
this.form.visitOfficeId = undefined
this.form.visitOfficeName = undefined
this.form.visitDoctorId = undefined
this.form.visitDoctorName = undefined
},
visitOfficeChange(option = {}) {
this.form.visitOfficeName = option.officeName
this.form.visitDoctorId = undefined
this.form.visitDoctorName = undefined
},
submit() {
return new Promise((resolve, reject) => {
this.$refs.form.validate().then(() => {
this.$refs.form.validate().then(async () => {
// 辅助检查
const inspectList = await this.$refs.inspectRef.submit()
// 治疗方案
const medicateCase = await this.$refs.treatmentPlan.submit()
const form = fetchDataHandle(this.form, {
symptom: 'arrToStr',
currentDiagnosis: 'arrToStr'
})
resolve(form)
resolve({
...form,
inspectList: inspectList,
medicateCase: JSON.stringify(medicateCase)
})
}).catch(e => {
})
})
},
getInfo() {
let { id } = this.$route.query
if (id) {
getDyslipidemiaForm({ id }).then(res => {
const form = fetchDataHandle(res.data, {
symptom: 'strToArrNum',
currentDiagnosis: 'strToArrNum'
})
this.form = form
// 下次随访日期
this.form._nextVisitDate = this.form.nextVisitDate.split('-')
// 随访日期
this.form._visitDate = this.form.visitDate.split('-')
})
} else {
// 随访日期
this.form.visitDate = dayjs().format('YYYY-MM-DD')
// 随访单位
this.form.visitUnitId = this.authInfo.unitId
this.form.visitUnitName = this.authInfo.unitName
// 随访科室
this.form.visitOfficeId = this.authInfo.officeId
this.form.visitOfficeName = this.authInfo.officeName
// 随访医生
this.form.visitDoctorId = this.authInfo.relationId
this.form.visitDoctorName = this.authInfo.nickName
}
}
},
watch: {
......
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