fix(mobile): 修复患者详情数据提取 - 兼容多种API返回格式

This commit is contained in:
2026-06-20 16:02:21 +08:00
parent 7907415fb5
commit 8fd2a10950

View File

@@ -83,16 +83,28 @@ onMounted(async () => {
const id = route.params.id
const encounterId = route.query.encounterId
try {
const [pRes, oRes, vRes, aRes] = await Promise.allSettled([
nursingApi.getPatientInfo(id),
encounterId ? nursingApi.getOrders(encounterId) : Promise.resolve({ data: [] }),
nursingApi.getVitalSigns(id),
encounterId ? nursingApi.getAssessments(encounterId) : Promise.resolve({ data: [] })
])
if (pRes.status === 'fulfilled') patient.value = pRes.value?.data || {}
if (oRes.status === 'fulfilled') orders.value = oRes.value?.data?.records || oRes.value?.data || []
if (vRes.status === 'fulfilled') vitals.value = vRes.value?.data?.records || vRes.value?.data || []
if (aRes.status === 'fulfilled') assessments.value = aRes.value?.data?.records || aRes.value?.data || []
const pRes = await nursingApi.getPatientInfo(id)
if (pRes?.code === 200 && pRes.data) {
const d = pRes.data
patient.value = {
patientName: d.patientName || d.name || d.patient?.name || '',
bedNo: d.bedNo || d.locationName || d.patient?.bedNo || '',
gender: d.gender || d.patient?.gender || '',
age: d.age || d.patient?.age || '',
primaryDiagnosisName: d.primaryDiagnosisName || d.diagnosis || d.patient?.diagnosis || '',
encounterId: d.encounterId || encounterId || ''
}
}
if (encounterId) {
const [oRes, vRes, aRes] = await Promise.allSettled([
nursingApi.getOrders(encounterId),
nursingApi.getVitalSigns(id),
nursingApi.getAssessments(encounterId)
])
if (oRes.status === 'fulfilled') orders.value = oRes.value?.data?.records || oRes.value?.data || []
if (vRes.status === 'fulfilled') vitals.value = vRes.value?.data?.records || vRes.value?.data || []
if (aRes.status === 'fulfilled') assessments.value = aRes.value?.data?.records || aRes.value?.data || []
}
} catch (e) { console.error('加载失败:', e) }
})