diff --git a/healthlink-his-server/healthlink-his-application/src/main/java/com/healthlink/his/web/inhospitalnursestation/appservice/impl/MedicineSummaryAppServiceImpl.java b/healthlink-his-server/healthlink-his-application/src/main/java/com/healthlink/his/web/inhospitalnursestation/appservice/impl/MedicineSummaryAppServiceImpl.java index ee41695af..036753d4a 100755 --- a/healthlink-his-server/healthlink-his-application/src/main/java/com/healthlink/his/web/inhospitalnursestation/appservice/impl/MedicineSummaryAppServiceImpl.java +++ b/healthlink-his-server/healthlink-his-application/src/main/java/com/healthlink/his/web/inhospitalnursestation/appservice/impl/MedicineSummaryAppServiceImpl.java @@ -78,9 +78,9 @@ public class MedicineSummaryAppServiceImpl implements IMedicineSummaryAppService .map(notPerformedReason -> new DispenseInitDto.NotPerformedReasonOption(notPerformedReason.getValue(), notPerformedReason.getInfo())) .collect(Collectors.toList()); - // 发药状态(汇总单:待配药→已提交,已发放→已发药) + // 发药状态(汇总单:汇总申请→待发药,发药→已发药) List dispenseStatusOptions = new ArrayList<>(); - dispenseStatusOptions.add(new DispenseStatusOption(DispenseStatus.PREPARATION.getValue(), "已提交")); + dispenseStatusOptions.add(new DispenseStatusOption(DispenseStatus.PREPARATION.getValue(), "待发药")); dispenseStatusOptions.add(new DispenseStatusOption(DispenseStatus.COMPLETED.getValue(), "已发药")); initDto.setNotPerformedReasonOptions(notPerformedReasonOptions).setDispenseStatusOptions(dispenseStatusOptions); @@ -309,11 +309,11 @@ public class MedicineSummaryAppServiceImpl implements IMedicineSummaryAppService } /** - * 汇总发药单状态展示文案(药品医嘱状态映射表:汇总申请→已提交,发药→已发药) + * 汇总发药单状态展示文案(药品医嘱状态映射表:汇总申请→待发药,发药→已发药) */ private String getSummaryFormStatusText(Integer statusEnum) { - if (DispenseStatus.EXECUTED.getValue().equals(statusEnum)) { - return "已提交"; + if (DispenseStatus.PREPARATION.getValue().equals(statusEnum)) { + return "待发药"; } if (DispenseStatus.COMPLETED.getValue().equals(statusEnum)) { return "已发药"; diff --git a/healthlink-his-ui/src/views/drug/inpatientMedicationDispensing/components/MedicationSummary.vue b/healthlink-his-ui/src/views/drug/inpatientMedicationDispensing/components/MedicationSummary.vue index f4f618ae2..8e967cc2d 100755 --- a/healthlink-his-ui/src/views/drug/inpatientMedicationDispensing/components/MedicationSummary.vue +++ b/healthlink-his-ui/src/views/drug/inpatientMedicationDispensing/components/MedicationSummary.vue @@ -2,7 +2,7 @@
{{ '汇总单' }} @@ -92,7 +92,7 @@ field="busNo" title="单据号" align="center" - min-width="90" + min-width="130" show-overflow="title" /> ({ ...item, - label: SUMMARY_STATUS_DISPLAY[item.value] ?? LEGACY_SUMMARY_STATUS_TEXT[item.label] ?? item.label, + label: SUMMARY_STATUS_DISPLAY[item.value] ?? item.label, })); } @@ -317,7 +307,9 @@ function getSummaryList() { queryParams.value.applyTimeSTime = queryParams.value.applyTime[0] + ' 00:00:00'; queryParams.value.applyTimeETime = queryParams.value.applyTime[1] + ' 23:59:59'; getFromSummaryList(queryParams.value).then((res) => { - summaryList.value = res.data.records; + summaryList.value = res.data.records || []; + }).catch(() => { + summaryList.value = []; }); } @@ -335,9 +327,16 @@ function resetQuery() { function getDetails(params) { // cell-click 事件参数是 { row, column, $event, ... } 对象,需安全提取行数据 const row = params.row || params; + if (!row?.busNo) { + summaryDetailsData.value = []; + return; + } loading.value = true; getFromSummaryDetails({ summaryNo: row.busNo }).then((res) => { - summaryDetailsData.value = res.data; + summaryDetailsData.value = res.data || []; + }).catch(() => { + summaryDetailsData.value = []; + }).finally(() => { loading.value = false; }); } diff --git a/healthlink-his-ui/src/views/inHospitalManagement/charge/register/components/accomplishList.vue b/healthlink-his-ui/src/views/inHospitalManagement/charge/register/components/accomplishList.vue index 5833ca228..3c23c5c9f 100755 --- a/healthlink-his-ui/src/views/inHospitalManagement/charge/register/components/accomplishList.vue +++ b/healthlink-his-ui/src/views/inHospitalManagement/charge/register/components/accomplishList.vue @@ -5,7 +5,7 @@ @@ -425,14 +425,35 @@ const handlePrintCertificate = async () => { }; getContract(); -// 获取入院科室列表 +// 获取入院科室列表(仅住院科室:classEnum 包含 "2") function loadOrgList() { getOrgList().then((res) => { - orgList.value = res.data || []; + const records = res.data?.records || []; + orgList.value = records.filter( + (record) => record.typeEnum === 2 && checkClassEnumValue(record.classEnum, 2) + ); }); } +// 判断科室分类是否包含指定值(支持逗号分隔的多选值,如 "1,2") +function checkClassEnumValue(classEnum, targetValue) { + if (!classEnum) return false; + if (typeof classEnum === 'string' && classEnum.includes(',')) { + const values = classEnum.split(',').map(v => v.trim()); + return values.some(v => v == targetValue); + } + return classEnum == targetValue; +} + onMounted(() => { + // 默认检索近一周时间段 + const endDate = new Date(); + const startDate = new Date(); + startDate.setDate(startDate.getDate() - 7); + dateRange.value = [ + formatDateStr(startDate) + ' 00:00:00', + formatDateStr(endDate) + ' 23:59:59', + ]; getList(); loadOrgList(); }); @@ -465,7 +486,14 @@ function resetQuery() { startTime: '', endTime: '', }; - dateRange.value = []; + // 重置为默认近一周时间段 + const endDate = new Date(); + const startDate = new Date(); + startDate.setDate(startDate.getDate() - 7); + dateRange.value = [ + formatDateStr(startDate) + ' 00:00:00', + formatDateStr(endDate) + ' 23:59:59', + ]; getList(); } @@ -491,6 +519,14 @@ const priceTypeDic = (contractNo) => { return findObj?.contractName; }; +/** 格式化日期为 YYYY-MM-DD */ +function formatDateStr(date) { + const year = date.getFullYear(); + const month = String(date.getMonth() + 1).padStart(2, '0'); + const day = String(date.getDate()).padStart(2, '0'); + return `${year}-${month}-${day}`; +} + const getList = () => { // 设置按申请时间排序 queryParams.value.sortField = 'requestTime';