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 dc50881a1..3ef285d68 100755 --- a/openhis-ui-vue3/src/views/doctorstation/components/examination/examinationApplication.vue +++ b/openhis-ui-vue3/src/views/doctorstation/components/examination/examinationApplication.vue @@ -1362,8 +1362,9 @@ async function handleMethodSelect(checked, method, cat) { existingItem.isPackage = true; existingItem.packageId = method.packageId; existingItem.packageName = method.packageName || existingItem.packageName; // #428修复: 确保 packageName 同步 + existingItem.expanded = true; // #428修复: 有套餐时默认展开,展示套餐明细 // 预加载套餐明细 - loadPackageDetailsForItem(existingItem); + await loadPackageDetailsForItem(existingItem); } updateMethodDisplay(); return; @@ -1399,9 +1400,10 @@ async function handleMethodSelect(checked, method, cat) { }; selectedItems.value.push(newItem); - // 如果是套餐,预加载套餐明细 + // 如果是套餐,预加载套餐明细并默认展开 if (newItem.isPackage && newItem.packageId) { - loadPackageDetailsForItem(newItem); + newItem.expanded = true; + await loadPackageDetailsForItem(newItem); } // 自动回填执行科室 @@ -1523,7 +1525,10 @@ async function handleItemSelect(checked, item, cat) { // Bug #384修复 + #426修复: 展开/收起项目卡片 async function toggleItemExpand(item) { item.expanded = !item.expanded; - if (item.expanded && (item.isPackage || item.packageName) && (!item.packageDetails || item.packageDetails.length === 0) && !item.packageDetailsLoading) { + const carrier = getPackageCarrier(item); + const hasDetails = Array.isArray(item.packageDetailsDisplay) && item.packageDetailsDisplay.length > 0 + || Array.isArray(carrier?.packageDetails) && carrier.packageDetails.length > 0; + if (item.expanded && (item.isPackage || item.packageName) && !hasDetails && !item.packageDetailsLoading) { await loadPackageDetailsForItem(item); } if (item.expanded && shouldShowPackageBody(item)) {