diff --git a/openhis-ui-vue3/src/views/inpatientNurse/InpatientBilling/components/FeeDialog.vue b/openhis-ui-vue3/src/views/inpatientNurse/InpatientBilling/components/FeeDialog.vue index ba654b9c0..8cba9430f 100755 --- a/openhis-ui-vue3/src/views/inpatientNurse/InpatientBilling/components/FeeDialog.vue +++ b/openhis-ui-vue3/src/views/inpatientNurse/InpatientBilling/components/FeeDialog.vue @@ -771,15 +771,32 @@ function openGroupSetDialog() { function loadGroupSets() { groupSetLoading.value = true; - getOrderGroup({ organizationId: orgId.value }) + const params = { organizationId: orgId.value }; + // 传递搜索关键字,后端 /group-package-for-order 虽不直接支持 searchKey, + // 但保持参数传递以便后续扩展 + if (groupSetSearchText.value && groupSetSearchText.value.trim()) { + params.searchKey = groupSetSearchText.value.trim(); + } + getOrderGroup(params) .then((res) => { const data = res?.data || {}; + let rawList = []; if (groupSetRange.value === 1) { - groupSetList.value = data.personalList || []; + rawList = data.personalList || []; } else if (groupSetRange.value === 2) { - groupSetList.value = data.organizationList || []; + rawList = data.organizationList || []; } else { - groupSetList.value = data.hospitalList || []; + rawList = data.hospitalList || []; + } + // 客户端过滤:根据搜索关键字过滤组套名称 + const keyword = groupSetSearchText.value?.trim()?.toLowerCase(); + if (keyword) { + groupSetList.value = rawList.filter(item => { + const name = (item.name || item.Name || '').toLowerCase(); + return name.includes(keyword); + }); + } else { + groupSetList.value = rawList; } }) .catch(() => {