From 7adb3b3ea4445701dbcefd05ff4f4affd33e052e Mon Sep 17 00:00:00 2001 From: yangkexiang <1677036288@qq.com> Date: Tue, 19 May 2026 11:00:45 +0800 Subject: [PATCH] =?UTF-8?q?bug542=E3=80=90=E7=97=85=E5=8C=BA=E6=8A=A4?= =?UTF-8?q?=E5=A3=AB=E7=AB=99-=E4=BD=8F=E9=99=A2=E8=AE=B0=E8=B4=A6?= =?UTF-8?q?=E3=80=91=E2=80=9C=E8=A1=A5=E8=B4=B9=E2=80=9D=E7=95=8C=E9=9D=A2?= =?UTF-8?q?=E9=80=89=E6=8B=A9=E2=80=9C=E8=80=97=E6=9D=90=E2=80=9D=E7=B1=BB?= =?UTF-8?q?=E5=9E=8B=E6=97=B6=EF=BC=8C=E5=8D=B3=E4=BD=BF=E5=90=8E=E5=8F=B0?= =?UTF-8?q?=E5=B7=B2=E9=85=8D=E7=BD=AE=E7=A7=91=E5=AE=A4=E6=9D=83=E9=99=90?= =?UTF-8?q?=EF=BC=8C=E4=BB=8D=E6=A3=80=E7=B4=A2=E4=B8=8D=E5=88=B0=E4=BB=BB?= =?UTF-8?q?=E4=BD=95=E8=80=97=E6=9D=90=E6=95=B0=E6=8D=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../InpatientBilling/components/FeeDialog.vue | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) 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 e084a5b8..4ed00635 100755 --- a/openhis-ui-vue3/src/views/inpatientNurse/InpatientBilling/components/FeeDialog.vue +++ b/openhis-ui-vue3/src/views/inpatientNurse/InpatientBilling/components/FeeDialog.vue @@ -348,7 +348,8 @@ const adviceTypeList = computed(() => { return val === 3 || val === 4; }).map(item => ({ label: item.label, - value: parseInt(item.value) + // drord_doctor_type 中耗材是 4,但 /advice-base-info 后端耗材类型是 2 + value: parseInt(item.value) === 4 ? 2 : parseInt(item.value) })); return [...filtered, { label: '全部', value: '' }]; } @@ -483,8 +484,9 @@ watch( (visible) => { if (visible) { executeTime.value = formatDateStr(new Date(), 'YYYY-MM-DD HH:mm:ss'); - // 弹窗打开时重新加载科室和位置选项,确保数据最新 + // 弹窗打开时按当前患者科室重新加载,避免复用上一次患者/登录科室的结果 loadDepartmentOptions(); + getAdviceBaseInfos(); getDiseaseInitLoc(16); } else { resetData(); @@ -565,6 +567,8 @@ function getAdviceBaseInfos() { queryParams.value.adviceTypes = [1, 2, 3]; } queryParams.value.organizationId = orgId.value; + queryParams.value.adviceTypes = normalizeAdviceTypesForQuery(adviceType.value); + queryParams.value.organizationId = props.patientInfo.organizationId || orgId.value; queryParams.value.pricingFlag = 1; // 划价标记 getAdviceBaseInfo(queryParams.value) .then((res) => { @@ -620,6 +624,12 @@ function getItemType_Text(type) { const map = { 2: '耗材', 3: '诊疗' }; return map[type] || '其他'; } +function normalizeAdviceTypesForQuery(type) { + if (type === '' || type === undefined || type === null) { + return '2,3'; + } + return Number(type) === 4 ? 2 : type; +} function getUnitCodeOptions(row) { const unitCodes = []; // 大单位:优先用 code,code 缺失时用字典文本兜底