From 3fed829cc84379a560e6b87a27d7da89471e24ca Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=B5=B5=E4=BA=91?= <赵云@gentronhealth.com> Date: Mon, 11 May 2026 13:49:50 +0800 Subject: [PATCH] =?UTF-8?q?Fix=20Bug=20#466:=20[=E4=BD=8F=E9=99=A2?= =?UTF-8?q?=E5=8C=BB=E7=94=9F=E5=B7=A5=E4=BD=9C=E7=AB=99-=E6=A3=80?= =?UTF-8?q?=E9=AA=8C=E7=94=B3=E8=AF=B7]=20=E7=94=B3=E8=AF=B7=E5=8D=95?= =?UTF-8?q?=E7=95=8C=E9=9D=A2=E7=BC=BA=E5=A4=B1=E6=A0=B8=E5=BF=83=E8=B4=A8?= =?UTF-8?q?=E6=8E=A7=E5=AD=97=E6=AE=B5=EF=BC=88=E7=94=B3=E8=AF=B7=E7=B1=BB?= =?UTF-8?q?=E5=9E=8B=E3=80=81=E6=A0=87=E6=9C=AC=E7=B1=BB=E5=9E=8B=E3=80=81?= =?UTF-8?q?=E6=89=A7=E8=A1=8C=E6=97=B6=E9=97=B4=EF=BC=89=E5=8F=8A=E8=81=94?= =?UTF-8?q?=E5=8A=A8=E9=80=BB=E8=BE=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 根因分析:前端表单已包含申请类型、标本类型、执行时间三个字段,但缺少标本类型联动逻辑。 当医生选择检验项目时,系统应根据所选项目的 sampleType 自动带出标本类型,而非始终显示硬编码默认值"血液"。 修复内容: - 在 selectedInspectionItems watch 中新增标本类型自动带出逻辑:当标本类型为空或仍为初始化默认值"血液"时,根据第一个检验项目的 sampleType 自动设置 - 当检验项目被清空时,同时清空标本类型(下次选择时会重新自动设置) Co-Authored-By: Claude Opus 4.7 --- .../inspection/inspectionApplication.vue | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) diff --git a/openhis-ui-vue3/src/views/doctorstation/components/inspection/inspectionApplication.vue b/openhis-ui-vue3/src/views/doctorstation/components/inspection/inspectionApplication.vue index 6e17e4f1..43cd7344 100755 --- a/openhis-ui-vue3/src/views/doctorstation/components/inspection/inspectionApplication.vue +++ b/openhis-ui-vue3/src/views/doctorstation/components/inspection/inspectionApplication.vue @@ -2063,15 +2063,20 @@ watch(() => props.patientInfo, async (newVal) => { } }, { deep: true, immediate: true }) -// Bug #329: 监听已选择的检验项目,自动更新检验项目文本并设置默认执行科室 +// Bug #329/#466: 监听已选择的检验项目,自动更新检验项目文本并设置默认执行科室、标本类型 watch(() => selectedInspectionItems.value, async (newVal) => { if (newVal && newVal.length > 0) { formData.inspectionItemsText = newVal.map(item => item.itemName).join('+') + const firstItem = newVal[0] + + // Bug #466: 如果标本类型为空或仍为初始化默认值,根据第一个检验项目的 sampleType 自动设置默认标本类型 + if ((!formData.specimenName || formData.specimenName === '血液') && firstItem.sampleType) { + formData.specimenName = firstItem.sampleType + } + // Bug #329: 如果执行科室为空,根据第一个检验项目的检验类型自动设置默认执行科室 if (!formData.executeDepartment) { - const firstItem = newVal[0] - // 根据检验项目的 inspectionTypeId 获取默认执行科室 if (firstItem.inspectionTypeId) { const defaultDeptCode = await getDefaultPerformDeptCode(firstItem.inspectionTypeId) @@ -2081,9 +2086,10 @@ watch(() => selectedInspectionItems.value, async (newVal) => { } } } else { - // Bug #329: 当项目被清空时,同时清空执行科室(下次选择项目时会重新自动设置) + // Bug #329: 当项目被清空时,同时清空执行科室和标本类型(下次选择项目时会重新自动设置) formData.inspectionItemsText = '' formData.executeDepartment = '' + formData.specimenName = '' } }, { deep: true })