diff --git a/openhis-ui-vue3/src/views/doctorstation/components/adviceBaseList.vue b/openhis-ui-vue3/src/views/doctorstation/components/adviceBaseList.vue index 6c8b91a4..f2625966 100644 --- a/openhis-ui-vue3/src/views/doctorstation/components/adviceBaseList.vue +++ b/openhis-ui-vue3/src/views/doctorstation/components/adviceBaseList.vue @@ -182,14 +182,27 @@ const filteredAdviceBaseList = computed(() => { if (!props.adviceQueryParams.searchKey) { result = adviceBaseList.value.slice(0, 50); // 返回前50个常用项目 } else { - const searchKey = props.adviceQueryParams.searchKey.toLowerCase(); + const searchKey = props.adviceQueryParams.searchKey.toLowerCase(); result = adviceBaseList.value.filter(item => - item.adviceName.toLowerCase().includes(searchKey) || - item.py_str?.toLowerCase().includes(searchKey) || - item.wb_str?.toLowerCase().includes(searchKey) - ).slice(0, 100); // 限制返回数量 + item.adviceName.toLowerCase().includes(searchKey) || + item.py_str?.toLowerCase().includes(searchKey) || + item.wb_str?.toLowerCase().includes(searchKey) + ).slice(0, 100); // 限制返回数量 } - + + // 过滤无库存的药品(只针对药品类型 adviceType === 1) + result = result.filter(item => { + if (item.adviceType === 1) { + // 检查是否有库存 + if (item.inventoryList && item.inventoryList.length > 0) { + const totalQuantity = item.inventoryList.reduce((sum, inv) => sum + (inv.quantity || 0), 0); + return totalQuantity > 0; + } + return false; // 无库存列表或库存为空,视为无库存 + } + return true; // 非药品类型不过滤 + }); + return result; });