Fix Bug #547: 根因+修复方案摘要

This commit is contained in:
2026-05-20 10:12:38 +08:00
3 changed files with 59 additions and 0 deletions

View File

@@ -1818,11 +1818,22 @@ function handleQuoteBilling() {
temporaryBillingMedicines.value = []
temporaryAdvices.value = []
<<<<<<< HEAD
// 🔧 修复 Bug #445: 只保留药品类型adviceType=1过滤掉耗材(2)和诊疗项目(3/6)
// 同时过滤掉已有 requestId 的项目(已生成医嘱的不需要再次显示在"待生成"列表中)
// 先提取已签发项目(statusEnum=2)填充已生成列表
const activeItems = res.data.filter(item => {
if (item.encounterId !== temporaryPatientInfo.value.visitId) return false;
=======
// 🔧 修复 Bug #444: 统一过滤逻辑,与 handleMedicalAdvice 保持一致
// 1. 使用 Number() + snake_case 回退,避免类型转换导致过滤失效
// 2. 增加关键词二次过滤,排除手术/检查/诊疗等非药品项目
const filteredItems = res.data.filter(item => {
// 匹配 encounterId
if (item.encounterId !== temporaryPatientInfo.value.visitId) return false;
// 只保留药品类型adviceType=1过滤掉耗材(2)和诊疗项目(3/6)
// 🔧 修复 Bug #444: 使用 Number() 显式转换,增加 snake_case 回退
>>>>>>> origin/guanyu
const at = Number(item.adviceType ?? item.advice_type);
if (at !== 1 && at !== 2) return false;
if (item.statusEnum !== 2) return false;