diff --git a/openhis-ui-vue3/src/views/doctorstation/components/examination/examinationApplication.vue b/openhis-ui-vue3/src/views/doctorstation/components/examination/examinationApplication.vue index 2422c4930..62e688825 100755 --- a/openhis-ui-vue3/src/views/doctorstation/components/examination/examinationApplication.vue +++ b/openhis-ui-vue3/src/views/doctorstation/components/examination/examinationApplication.vue @@ -1008,12 +1008,15 @@ function handleRowClick(row) { selectedItems.value = []; activeDetailTab.value = 'applyForm'; request({ url: `/exam/apply/${row.applyNo}`, method: 'get' }).then(async res => { - const d = res.data || res; - if (d.data) Object.assign(form, d.data); - if (d.items && Array.isArray(d.items)) { + const resp = res.data || res; + // 保存 items 在顶层响应中,避免后面 d.data 赋值后丢失 + const rawItems = resp.items; + const d = resp.data || resp; + if (d) Object.assign(form, d); + if (rawItems && Array.isArray(rawItems)) { try { // 为每个项目加载检查方法 - const itemsWithMethods = await Promise.all(d.items.map(async m => { + const itemsWithMethods = await Promise.all(rawItems.map(async m => { const item = { id: m.itemCode, name: m.itemName, price: m.itemFee || 0, quantity: 1,