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 @@