From 552c4e68689a3d2c675b4a741b622adf7cf78b67 Mon Sep 17 00:00:00 2001 From: guanyu Date: Tue, 19 May 2026 00:05:22 +0800 Subject: [PATCH] =?UTF-8?q?Fix=20Bug=20#444:=20=E5=BC=95=E7=94=A8=E8=AE=A1?= =?UTF-8?q?=E8=B4=B9=E6=97=B6"=E5=B7=B2=E5=BC=95=E7=94=A8=E8=AE=A1?= =?UTF-8?q?=E8=B4=B9=E8=8D=AF=E5=93=81"=E5=88=97=E8=A1=A8=E6=B7=B7?= =?UTF-8?q?=E5=85=A5=E9=9D=9E=E8=8D=AF=E5=93=81=E9=A1=B9=E7=9B=AE=20?= =?UTF-8?q?=E2=80=94=20handleQuoteBilling=20=E8=BF=87=E6=BB=A4=E9=80=BB?= =?UTF-8?q?=E8=BE=91=E4=BB=85=E7=94=A8=20item.adviceType=20!=3D=3D=201=20?= =?UTF-8?q?=E4=B8=A5=E6=A0=BC=E7=9B=B8=E7=AD=89=E5=88=A4=E6=96=AD=E4=B8=94?= =?UTF-8?q?=E7=BC=BA=E5=B0=91=E4=BA=8C=E6=AC=A1=E5=85=B3=E9=94=AE=E8=AF=8D?= =?UTF-8?q?=E8=BF=87=E6=BB=A4=EF=BC=8C=E5=AF=BC=E8=87=B4=E5=90=8E=E7=AB=AF?= =?UTF-8?q?=E9=94=99=E8=AF=AF=E6=A0=87=E6=B3=A8=20adviceType=3D1=20?= =?UTF-8?q?=E7=9A=84=E6=89=8B=E6=9C=AF/=E6=A3=80=E6=9F=A5=E9=A1=B9?= =?UTF-8?q?=E7=9B=AE=E8=A2=AB=E6=94=BE=E8=A1=8C=EF=BC=9B=E5=B7=B2=E5=AF=B9?= =?UTF-8?q?=E9=BD=90=20handleMedicalAdvice=20=E7=9A=84=E5=8F=8C=E9=87=8D?= =?UTF-8?q?=E8=BF=87=E6=BB=A4=E7=AD=96=E7=95=A5=EF=BC=88Number()=20?= =?UTF-8?q?=E7=B1=BB=E5=9E=8B=E8=BD=AC=E6=8D=A2=20+=20snake=5Fcase=20?= =?UTF-8?q?=E5=9B=9E=E9=80=80=20+=20=E5=85=B3=E9=94=AE=E8=AF=8D=E6=8E=92?= =?UTF-8?q?=E9=99=A4=EF=BC=89?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-Authored-By: Claude Opus 4.7 --- openhis-ui-vue3/src/views/surgicalschedule/index.vue | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/openhis-ui-vue3/src/views/surgicalschedule/index.vue b/openhis-ui-vue3/src/views/surgicalschedule/index.vue index cd275c40..b7d39750 100755 --- a/openhis-ui-vue3/src/views/surgicalschedule/index.vue +++ b/openhis-ui-vue3/src/views/surgicalschedule/index.vue @@ -1886,16 +1886,21 @@ function handleQuoteBilling() { temporaryBillingMedicines.value = [] temporaryAdvices.value = [] - // 🔧 修复 Bug #445: 只保留药品类型(adviceType=1),过滤掉耗材(2)和诊疗项目(3) + // 🔧 修复 Bug #445: 只保留药品类型(adviceType=1),过滤掉耗材(2)和诊疗项目(3/6) // 同时过滤掉已有 requestId 的项目(已生成医嘱的不需要再次显示在"待生成"列表中) const filteredItems = res.data.filter(item => { // 匹配 encounterId if (item.encounterId !== temporaryPatientInfo.value.visitId) return false; - // 只保留药品类型(adviceType=1),过滤掉耗材(2)和诊疗项目(3) - if (item.adviceType !== 1) return false; + // 只保留药品类型(adviceType=1),过滤掉耗材(2)和诊疗项目(3/6) + // 🔧 修复 Bug #444: 使用 Number() 显式转换 + snake_case 回退,避免字符串 "1" 匹配失败 + const at = Number(item.adviceType ?? item.advice_type); + if (at !== 1) return false; // 过滤掉名称为空的项目 const medicineName = item.adviceName || item.advice_name; if (!medicineName || medicineName.trim() === '') return false; + // 🔧 修复 Bug #444: 二次过滤,排除名称中包含手术/检查/诊疗关键词的非药品项目 + const excludedKeywords = ['术', '超声', '多普勒', '检查', '检验', '彩超', 'X线', 'CT', 'MRI', '扫描', '造影']; + if (excludedKeywords.some(kw => medicineName.includes(kw))) return false; // 🔧 修复 Bug #445: 过滤掉已生成医嘱的项目(已有 requestId) if (item.requestId) return false; return true;