From 76c623ba1ddc21ff1ae93eddcacbba22c90ee1fd Mon Sep 17 00:00:00 2001 From: wangjian963 <15215920+aprilry@user.noreply.gitee.com> Date: Mon, 1 Jun 2026 14:15:59 +0800 Subject: [PATCH] =?UTF-8?q?467=20[=E4=BD=8F=E9=99=A2=E5=8C=BB=E7=94=9F?= =?UTF-8?q?=E5=B7=A5=E4=BD=9C=E7=AB=99-=E6=A3=80=E9=AA=8C=E7=94=B3?= =?UTF-8?q?=E8=AF=B7]=20=E5=88=97=E8=A1=A8=E6=98=BE=E7=A4=BA=E4=BF=A1?= =?UTF-8?q?=E6=81=AF=E4=B8=8D=E8=A7=84=E8=8C=83=EF=BC=9A=E6=A0=87=E9=A2=98?= =?UTF-8?q?=E6=9C=AF=E8=AF=AD=E9=94=99=E8=AF=AF=E4=B8=94=E5=8D=95=E6=8D=AE?= =?UTF-8?q?=E5=90=8D=E7=A7=B0=E6=9C=AA=E5=B1=95=E7=A4=BA=E5=85=B7=E4=BD=93?= =?UTF-8?q?=E6=A3=80=E9=AA=8C=E9=A1=B9=E7=9B=AE=20466=20[=E4=BD=8F?= =?UTF-8?q?=E9=99=A2=E5=8C=BB=E7=94=9F=E5=B7=A5=E4=BD=9C=E7=AB=99-?= =?UTF-8?q?=E6=A3=80=E9=AA=8C=E7=94=B3=E8=AF=B7]=20=E7=94=B3=E8=AF=B7?= =?UTF-8?q?=E5=8D=95=E7=95=8C=E9=9D=A2=E7=BC=BA=E5=A4=B1=E6=A0=B8=E5=BF=83?= =?UTF-8?q?=E8=B4=A8=E6=8E=A7=E5=AD=97=E6=AE=B5=EF=BC=88=E7=94=B3=E8=AF=B7?= =?UTF-8?q?=E7=B1=BB=E5=9E=8B=E3=80=81=E6=A0=87=E6=9C=AC=E7=B1=BB=E5=9E=8B?= =?UTF-8?q?=E3=80=81=E6=89=A7=E8=A1=8C=E6=97=B6=E9=97=B4=EF=BC=89=E5=8F=8A?= =?UTF-8?q?=E8=81=94=E5=8A=A8=E9=80=BB=E8=BE=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../web/doctorstation/dto/SurgeryItemDto.java | 3 + .../impl/RequestFormManageAppServiceImpl.java | 11 +- .../DoctorStationAdviceAppMapper.xml | 3 +- .../openhis/common/enums/AssignSeqEnum.java | 4 + .../applicationShow/testApplication.vue | 37 ++- .../applicationFormBottomBtn.vue | 2 - .../order/applicationForm/laboratoryTests.vue | 212 +++++++++++++----- 7 files changed, 205 insertions(+), 67 deletions(-) diff --git a/openhis-server-new/openhis-application/src/main/java/com/openhis/web/doctorstation/dto/SurgeryItemDto.java b/openhis-server-new/openhis-application/src/main/java/com/openhis/web/doctorstation/dto/SurgeryItemDto.java index 9615e09c8..ce34d39ce 100644 --- a/openhis-server-new/openhis-application/src/main/java/com/openhis/web/doctorstation/dto/SurgeryItemDto.java +++ b/openhis-server-new/openhis-application/src/main/java/com/openhis/web/doctorstation/dto/SurgeryItemDto.java @@ -42,4 +42,7 @@ public class SurgeryItemDto { /** 单位编码字典文本(前端用于显示单位) */ private String unitCodeDictText; + + /** 所需标本编码(来自诊疗目录配置,对应字典 specimen_code 的 dictValue) */ + private String specimenCode; } diff --git a/openhis-server-new/openhis-application/src/main/java/com/openhis/web/regdoctorstation/appservice/impl/RequestFormManageAppServiceImpl.java b/openhis-server-new/openhis-application/src/main/java/com/openhis/web/regdoctorstation/appservice/impl/RequestFormManageAppServiceImpl.java index eb7841ebc..c7cae9852 100755 --- a/openhis-server-new/openhis-application/src/main/java/com/openhis/web/regdoctorstation/appservice/impl/RequestFormManageAppServiceImpl.java +++ b/openhis-server-new/openhis-application/src/main/java/com/openhis/web/regdoctorstation/appservice/impl/RequestFormManageAppServiceImpl.java @@ -157,9 +157,14 @@ public class RequestFormManageAppServiceImpl implements IRequestFormManageAppSer } else { // 根据申请单类型生成不同前缀的单号 String dateStr = new java.text.SimpleDateFormat("yyMMdd").format(new Date()); - AssignSeqEnum seqEnum = ActivityDefCategory.PROCEDURE.getCode().equals(typeCode) - ? AssignSeqEnum.SURGERY_APPLY_NO - : AssignSeqEnum.CHECK_APPLY_NO; + AssignSeqEnum seqEnum; + if (ActivityDefCategory.PROCEDURE.getCode().equals(typeCode)) { + seqEnum = AssignSeqEnum.SURGERY_APPLY_NO; + } else if (ActivityDefCategory.PROOF.getCode().equals(typeCode)) { + seqEnum = AssignSeqEnum.LAB_APPLY_NO; + } else { + seqEnum = AssignSeqEnum.CHECK_APPLY_NO; + } int seq = assignSeqUtil.getSeqNoByDay(seqEnum.getPrefix()); prescriptionNo = seqEnum.getPrefix() + dateStr + String.format("%05d", seq); } diff --git a/openhis-server-new/openhis-application/src/main/resources/mapper/doctorstation/DoctorStationAdviceAppMapper.xml b/openhis-server-new/openhis-application/src/main/resources/mapper/doctorstation/DoctorStationAdviceAppMapper.xml index 5bc8fe5b8..45758572c 100755 --- a/openhis-server-new/openhis-application/src/main/resources/mapper/doctorstation/DoctorStationAdviceAppMapper.xml +++ b/openhis-server-new/openhis-application/src/main/resources/mapper/doctorstation/DoctorStationAdviceAppMapper.xml @@ -920,7 +920,8 @@ t2.ID AS charge_item_definition_id, t2.price AS price, t1.permitted_unit_code AS unit_code, - t1.permitted_unit_code AS unit_code_dict_text + t1.permitted_unit_code AS unit_code_dict_text, + t1.specimen_code AS specimen_code FROM wor_activity_definition t1 LEFT JOIN adm_charge_item_definition t2 ON t2.instance_id = t1.ID diff --git a/openhis-server-new/openhis-common/src/main/java/com/openhis/common/enums/AssignSeqEnum.java b/openhis-server-new/openhis-common/src/main/java/com/openhis/common/enums/AssignSeqEnum.java index 568ef6708..5f1ba97e1 100755 --- a/openhis-server-new/openhis-common/src/main/java/com/openhis/common/enums/AssignSeqEnum.java +++ b/openhis-server-new/openhis-common/src/main/java/com/openhis/common/enums/AssignSeqEnum.java @@ -278,6 +278,10 @@ public enum AssignSeqEnum { * 手术申请单号(住院) */ SURGERY_APPLY_NO("73", "手术申请单号", "SSZ"), + /** + * 检验申请单号(住院) + */ + LAB_APPLY_NO("74", "检验申请单号", "JYZ"), /** * b 病历文书 */ diff --git a/openhis-ui-vue3/src/views/inpatientDoctor/home/components/applicationShow/testApplication.vue b/openhis-ui-vue3/src/views/inpatientDoctor/home/components/applicationShow/testApplication.vue index c820e673e..25ff2e77e 100755 --- a/openhis-ui-vue3/src/views/inpatientDoctor/home/components/applicationShow/testApplication.vue +++ b/openhis-ui-vue3/src/views/inpatientDoctor/home/components/applicationShow/testApplication.vue @@ -130,7 +130,13 @@ width="140" > { if (!descJson) return '-'; try { const obj = JSON.parse(descJson); - // specimenName 或 sampleType 字段 - return obj.specimenName || obj.sampleType || '-'; + // 优先取标签字段(新格式),其次取码值字段,兼容旧数据 sampleType + return obj.specimenNameLabel || obj.specimenName || obj.sampleType || '-'; } catch (e) { console.error('解析 descJson 失败:', e); return '-'; @@ -649,8 +655,8 @@ const parseSpecimenType = (descJson) => { /** * 根据申请单详情构建申请单名称 - * 单一项目:显示项目名称+数量 - * 多个项目:显示首个项目名称+数量+"等X项" + * 单一项目:直接显示项目全名(不拼接数量) + * 多个项目:显示"项目1 + 项目2 等n项"缩略格式 */ const buildApplicationName = (row) => { const details = row.requestFormDetailList; @@ -658,11 +664,24 @@ const buildApplicationName = (row) => { return row.name || '-'; } if (details.length === 1) { - const item = details[0]; - return `${item.adviceName}${item.quantity || ''}`; + // 单一项目:直接显示项目全名 + return details[0].adviceName || row.name || '-'; } - const first = details[0]; - return `${first.adviceName}${first.quantity || ''}等${details.length}项`; + // 多个项目:首项 + 第二项 + 等n项 + const names = details.map((d) => d.adviceName).filter(Boolean); + if (names.length === 0) return row.name || '-'; + const first = names[0]; + const second = names.length > 1 ? ` + ${names[1]}` : ''; + return `${first}${second} 等${details.length}项`; +}; + +/** + * 获取申请单完整项目名称列表(用于 tooltip 展示) + */ +const buildFullName = (row) => { + const details = row.requestFormDetailList; + if (!details || details.length === 0) return row.name || '-'; + return details.map((d) => d.adviceName).filter(Boolean).join(' + ') || row.name || '-'; }; const isFieldMatched = (key) => { diff --git a/openhis-ui-vue3/src/views/inpatientDoctor/home/components/order/applicationForm/applicationFormBottomBtn.vue b/openhis-ui-vue3/src/views/inpatientDoctor/home/components/order/applicationForm/applicationFormBottomBtn.vue index de8b4990c..bdeb9d810 100755 --- a/openhis-ui-vue3/src/views/inpatientDoctor/home/components/order/applicationForm/applicationFormBottomBtn.vue +++ b/openhis-ui-vue3/src/views/inpatientDoctor/home/components/order/applicationForm/applicationFormBottomBtn.vue @@ -147,8 +147,6 @@ onBeforeMount(() => {}); onMounted(() => {}); const applicationFormNameRef = ref(); const submitApplicationForm = () => { - console.log(applicationFormNameRef.value); - if (applicationFormNameRef.value?.submit) { applicationFormNameRef.value.submit(); } diff --git a/openhis-ui-vue3/src/views/inpatientDoctor/home/components/order/applicationForm/laboratoryTests.vue b/openhis-ui-vue3/src/views/inpatientDoctor/home/components/order/applicationForm/laboratoryTests.vue index 2c261b134..52bdfdd50 100755 --- a/openhis-ui-vue3/src/views/inpatientDoctor/home/components/order/applicationForm/laboratoryTests.vue +++ b/openhis-ui-vue3/src/views/inpatientDoctor/home/components/order/applicationForm/laboratoryTests.vue @@ -31,9 +31,10 @@ 共 {{ totalCount }} 项
@@ -182,44 +183,10 @@ style="width: 100%" > - - - - - - - - - @@ -247,11 +214,12 @@