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 d6bf27a3c..a995be998 100755 --- a/openhis-ui-vue3/src/views/doctorstation/components/examination/examinationApplication.vue +++ b/openhis-ui-vue3/src/views/doctorstation/components/examination/examinationApplication.vue @@ -924,7 +924,8 @@ async function loadCategoryList() { categoryName: t.name, // “检查类型管理”里配置的执行科室(图三) performDeptName: t.department || '', - items: [] + items: [], + methods: [] // #428修复: 初始化 methods 数组,确保 Vue 响应式追踪 }); } const unclassified = []; @@ -1267,6 +1268,7 @@ async function handleMethodSelect(checked, method, cat) { if (method.packageId) { existingItem.isPackage = true; existingItem.packageId = method.packageId; + existingItem.packageName = method.packageName || existingItem.packageName; // #428修复: 确保 packageName 同步 // 预加载套餐明细 loadPackageDetailsForItem(existingItem); } @@ -1294,12 +1296,13 @@ async function handleMethodSelect(checked, method, cat) { checkType: cat.typeName, nationalCode: targetItem.nationalCode || '', checked: true, - methods: [method], + methods: cat.methods || [method], // #428修复: 复制分类下全部方法,允许用户切换 selectedMethod: method, expanded: false, - // 从方法中获取套餐信息(优先级高于项目本身的 packageName) + // 从方法或项目中获取套餐信息 isPackage: !!method.packageId || !!targetItem.packageName, - packageId: method.packageId || targetItem.packageId || null + packageId: method.packageId || targetItem.packageId || null, + packageName: method.packageName || targetItem.packageName || null // #428修复: 复制 packageName,确保套餐明细可加载 }; selectedItems.value.push(newItem);