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

血脂异常专病随访修改

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