Commit 1e0bbeeb authored by songrui's avatar songrui

Merge branch 'chronic-dev' of http://gitlab.yiboshi.com/nightkis1995/frontend-h5 into chronic-dev

parents 9380b987 30124112
...@@ -4,11 +4,27 @@ import { fetchBase } from '@/api/doctor/doctorFetch' ...@@ -4,11 +4,27 @@ import { fetchBase } from '@/api/doctor/doctorFetch'
export function addHypertensionForm(params) { export function addHypertensionForm(params) {
return fetchBase({ url: `/chronic-admin/v1/chronic-visit-hypertension/save`, body: params, loading: true }) return fetchBase({ url: `/chronic-admin/v1/chronic-visit-hypertension/save`, body: params, loading: true })
} }
// 修改高血压随访
export function updateHypertensionForm(params) {
return fetchBase({ url: `/chronic-admin/v1/chronic-visit-hypertension/update`, body: params, loading: true })
}
// 主键查询高血压随访信息
export function getHypertensionForm(params) {
return fetchBase({ url: `/chronic-admin/v1/chronic-visit-hypertension/record`, body: params, loading: true })
}
// 新增糖尿病随访 // 新增糖尿病随访
export function addDiabetesForm(params) { export function addDiabetesForm(params) {
return fetchBase({ url: `/chronic-admin/v1/chronic-visit-diabetes/save`, body: params, loading: true }) return fetchBase({ url: `/chronic-admin/v1/chronic-visit-diabetes/save`, body: params, loading: true })
} }
// 修改糖尿病随访
export function updateDiabetesForm(params) {
return fetchBase({ url: `/chronic-admin/v1/chronic-visit-diabetes/update`, body: params, loading: true })
}
// 主键查询糖尿病随访信息
export function getDiabetesForm(params) {
return fetchBase({ url: `/chronic-admin/v1/chronic-visit-diabetes/record`, body: params, loading: true })
}
// 新增冠心病随访 // 新增冠心病随访
export function addCoronaryHeartDiseaseForm(params) { export function addCoronaryHeartDiseaseForm(params) {
......
...@@ -146,8 +146,9 @@ export default { ...@@ -146,8 +146,9 @@ export default {
if (this.diseaseInfo.diseaseType === 2) return this.store.getDict('CP00074') if (this.diseaseInfo.diseaseType === 2) return this.store.getDict('CP00074')
} }
}, },
created() { async created() {
this.getCode() // this.inspectList = await this.getCode()
// this.dataProcess()
}, },
methods: { methods: {
auxiliaryConfirm() { auxiliaryConfirm() {
...@@ -174,11 +175,13 @@ export default { ...@@ -174,11 +175,13 @@ export default {
}, },
getCode() { getCode() {
return new Promise((resolve, reject) => {
getInspectCode(1).then(res => { getInspectCode(1).then(res => {
// this.inspectList = res.data // 删除肾功能下的尿素氮,只保留血肌酐
let list = res.data.filter(item => !(item.insType === 4 && item.itemCode === 'BUN')) let array = res.data.filter(item => !(item.insType === 4 && item.itemCode === 'BUN'))
this.inspectList = [ let list = []
...list, list = [
...array,
{ {
configType: 2, configType: 2,
insType: 99, insType: 99,
...@@ -196,7 +199,8 @@ export default { ...@@ -196,7 +199,8 @@ export default {
itemType: 1 itemType: 1
} }
] ]
console.log(666, this.inspectList) resolve(list)
})
}) })
}, },
setSelectOption(item, itemType) { setSelectOption(item, itemType) {
...@@ -245,6 +249,47 @@ export default { ...@@ -245,6 +249,47 @@ export default {
return '' return ''
} }
return `${item.itemName}(${item.itemCode}) : ` return `${item.itemName}(${item.itemCode}) : `
},
dataProcess() {
let { inspectList = [], auxiliaryExamination = [] } = this.form
let list = []
inspectList.forEach(x => {
this.inspectList.forEach(y => {
if (x.insType === y.insType && x.itemCode === y.itemCode) {
if (y.insType === 99) {
y.itemValue = parseInt(x.itemValue)
} else {
y.itemValue = x.itemValue
}
y.abnormalSituation = x.abnormalSituation
y.img = x.img
y.picturesList = x.picturesList
list.push(y)
}
})
})
let array = []
auxiliaryExamination.forEach(x => {
const items = list.filter(e => e.insType === x)
if (items.length > 0) {
array.push({
insType: items[0].insType,
insName: items[0].insName,
items: [...items]
})
}
})
this.viewData = array
}
},
watch: {
'form.inspectList': {
async handler() {
this.inspectList = await this.getCode()
this.dataProcess()
},
immediate: true
} }
} }
} }
......
...@@ -197,6 +197,7 @@ export default { ...@@ -197,6 +197,7 @@ export default {
'form.medicateCase': { 'form.medicateCase': {
handler() { handler() {
this.medicateCase = JSON.parse(this.form.medicateCase) this.medicateCase = JSON.parse(this.form.medicateCase)
console.log(123, this.medicateCase)
} }
} }
} }
......
...@@ -5,7 +5,7 @@ ...@@ -5,7 +5,7 @@
v-model="form.diseaseTypeName" v-model="form.diseaseTypeName"
isLink isLink
readonly readonly
:disabled="$route.query.id" :disabled="$route.query.id ? true : false"
placeholder="请选择" placeholder="请选择"
:rules="rules.diseaseTypeName" :rules="rules.diseaseTypeName"
@click="showDiseaseType = true" @click="showDiseaseType = true"
......
...@@ -52,7 +52,7 @@ import StrokeForm from './components/StrokeForm.vue' ...@@ -52,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, updateDyslipidemiaForm } from '@/api/doctor/separateFU' import { addHypertensionForm, updateHypertensionForm, addDiabetesForm, updateDiabetesForm, 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: {
...@@ -101,13 +101,15 @@ export default { ...@@ -101,13 +101,15 @@ export default {
let { id } = this.$route.query let { id } = this.$route.query
if (this.diseaseInfo.diseaseType === 1) { if (this.diseaseInfo.diseaseType === 1) {
const hypertensionForm = await this.$refs.hypertensionForm.submit() const hypertensionForm = await this.$refs.hypertensionForm.submit()
return await addHypertensionForm({ let fun = id ? updateHypertensionForm : addHypertensionForm
return await fun({
...form, ...form,
...hypertensionForm ...hypertensionForm
}, true) }, true)
} else if (this.diseaseInfo.diseaseType === 2) { } else if (this.diseaseInfo.diseaseType === 2) {
const diabetesForm = await this.$refs.diabetesForm.submit() const diabetesForm = await this.$refs.diabetesForm.submit()
return await addDiabetesForm({ let fun = id ? updateDiabetesForm : addDiabetesForm
return await fun({
...form, ...form,
...diabetesForm ...diabetesForm
}, true) }, true)
......
...@@ -636,71 +636,6 @@ ...@@ -636,71 +636,6 @@
</van-field> </van-field>
</div> </div>
<!-- <div class="bg-fa mt-2">
<div class="label-title" required style="color: #262626; font-size: 14px; line-height: 24px">请您确认患者目前服用的降压药、降脂或抗血小板药,在下表中修改或增加,并记录上次随访以来服用的降压药物的依从性</div>
<div style="background-color: #FFF; padding: 8px; border-radius: 10px">
<van-field
label="药物名称"
v-model="form.drinkOther"
placeholder="0~3000,整数"
class="form-input"
label-width="72px"
label-class="label-mr"
>
</van-field>
<van-field
label="剂量"
v-model="form.drinkOther"
placeholder="0~3000,整数"
class="form-input mt-2"
label-width="36px"
label-class="label-mr"
>
</van-field>
<van-field
label="频次"
v-model="form.drinkOther"
placeholder="0~3000,整数"
class="form-input mt-2"
label-width="36px"
label-class="label-mr"
>
</van-field>
<van-field
label="用法"
v-model="form.drinkOther"
placeholder="0~3000,整数"
class="form-input mt-2"
label-width="36px"
label-class="label-mr"
>
</van-field>
<van-field
label="服药依从性"
v-model="form.drinkOther"
placeholder="0~3000,整数"
class="form-input mt-2"
label-width="84px"
label-class="label-mr"
>
</van-field>
<van-field
label="不依从原因"
v-model="form.drinkOther"
placeholder="0~3000,整数"
class="form-input mt-2"
label-width="84px"
label-class="label-mr"
>
</van-field>
</div>
</div> -->
<!-- 药物不良反应 --> <!-- 药物不良反应 -->
<div class="label-title mt-2" required>药物不良反应</div> <div class="label-title mt-2" required>药物不良反应</div>
<van-field :rules="rules.drugsAdverse" style="padding: 0"> <van-field :rules="rules.drugsAdverse" style="padding: 0">
...@@ -783,6 +718,10 @@ ...@@ -783,6 +718,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">
...@@ -853,14 +792,12 @@ ...@@ -853,14 +792,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
...@@ -955,6 +892,7 @@ ...@@ -955,6 +892,7 @@
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 { getHypertensionForm } 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'
...@@ -963,8 +901,10 @@ import DocOffice from '@/doctor/components/docOffice/DocOffice.vue' ...@@ -963,8 +901,10 @@ 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 Inspect from '../../components/Inspect.vue' import Inspect from '../../components/Inspect.vue'
import TreatmentPlan from '../../components/TreatmentPlan.vue'
import dayjs from 'dayjs'
export default { export default {
components: { CheckBtn, BloodPressurePanel, BloodPressureBt, DocImageUpload, DocUnit, DocOffice, DocOfficeDoctor, Inspect }, components: { CheckBtn, BloodPressurePanel, BloodPressureBt, DocImageUpload, DocUnit, DocOffice, DocOfficeDoctor, Inspect, TreatmentPlan },
inject: ['pressureObj'], inject: ['pressureObj'],
props: { props: {
diseaseInfo: { diseaseInfo: {
...@@ -1318,8 +1258,13 @@ export default { ...@@ -1318,8 +1258,13 @@ export default {
showVisitDoctor: false showVisitDoctor: false
} }
}, },
computed: {
authInfo() {
return this.store.authInfo
}
},
created() { created() {
this.getInfo()
}, },
methods: { methods: {
checkboxReject, checkboxReject,
...@@ -1397,7 +1342,8 @@ export default { ...@@ -1397,7 +1342,8 @@ export default {
const form = fetchDataHandle(this.form, { const form = fetchDataHandle(this.form, {
symptom: 'arrToStr', symptom: 'arrToStr',
currentDiagnosis: 'arrToStr' currentDiagnosis: 'arrToStr',
auxiliaryExamination: 'arrToStr'
}) })
resolve({ resolve({
...@@ -1408,6 +1354,39 @@ export default { ...@@ -1408,6 +1354,39 @@ export default {
}) })
}) })
},
getInfo() {
let { id } = this.$route.query
if (id) {
getHypertensionForm({ id }).then(res => {
const form = fetchDataHandle(res.data, {
symptom: 'strToArrNum',
currentDiagnosis: 'strToArrNum',
auxiliaryExamination: '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
// this.insulinDosage = this.store.getDict('CP00123')
// console.log(this.insulinDosage)
}
} }
}, },
watch: { watch: {
......
...@@ -576,9 +576,9 @@ export default { ...@@ -576,9 +576,9 @@ export default {
{ title: '详细地址', key: 'permanentAddress' } { title: '详细地址', key: 'permanentAddress' }
], ],
columnsOrg: [ columnsOrg: [
{ title: '随访单位', key: 'screenUnitName' }, { title: '随访单位', key: 'visitUnitName' },
{ title: '随访科室', key: 'screenOfficeName' }, { title: '随访科室', key: 'visitOfficeName' },
{ title: '随访医生', key: 'screenDoctorName' } { title: '随访医生', key: 'visitDoctorName' }
], ],
highRiskList: [] highRiskList: []
} }
......
...@@ -217,11 +217,13 @@ export default { ...@@ -217,11 +217,13 @@ export default {
if (!params.id) { if (!params.id) {
saveHighSpecificVisit(params).then(res => { saveHighSpecificVisit(params).then(res => {
this.$message.success('新增成功') this.$message.success('新增成功')
this.store.onRefreshMark()
this.toNext(4) this.toNext(4)
}) })
} else { } else {
updateHighSpecificVisit(params).then(res => { updateHighSpecificVisit(params).then(res => {
this.$message.success('修改成功') this.$message.success('修改成功')
this.store.onRefreshMark()
this.toNext(4) this.toNext(4)
}) })
} }
......
...@@ -212,11 +212,13 @@ export default { ...@@ -212,11 +212,13 @@ export default {
if (!params.id) { if (!params.id) {
saveSecondScreening(params).then(res => { saveSecondScreening(params).then(res => {
this.$message.success('新增成功') this.$message.success('新增成功')
this.store.onRefreshMark()
this.toNext(4) this.toNext(4)
}) })
} else { } else {
updateSecondScreening(params).then(res => { updateSecondScreening(params).then(res => {
this.$message.success('修改成功') this.$message.success('修改成功')
this.store.onRefreshMark()
this.toNext(4) this.toNext(4)
}) })
} }
......
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