689 [住院管理-住院发退药] 发药汇总单界面布局被挤压、发放状态文案不符及右侧详情联动无数据

This commit is contained in:
wangjian963
2026-06-25 11:59:39 +08:00
parent b9ae2b877a
commit 6ffa47bf5e
2 changed files with 23 additions and 24 deletions

View File

@@ -78,9 +78,9 @@ public class MedicineSummaryAppServiceImpl implements IMedicineSummaryAppService
.map(notPerformedReason -> new DispenseInitDto.NotPerformedReasonOption(notPerformedReason.getValue(),
notPerformedReason.getInfo()))
.collect(Collectors.toList());
// 发药状态(汇总单:待配药→已提交,已发放→已发药)
// 发药状态(汇总单:汇总申请→待发药,发药→已发药)
List<DispenseStatusOption> 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 "已发药";

View File

@@ -2,7 +2,7 @@
<div class="med-summary-container">
<div
class="summary-card"
style="width: 40%; height: 80vh"
style="width: 44%; height: 80vh"
>
<div class="summary-card-header">
{{ '汇总单' }}
@@ -92,7 +92,7 @@
field="busNo"
title="单据号"
align="center"
min-width="90"
min-width="130"
show-overflow="title"
/>
<vxe-column
@@ -244,31 +244,21 @@ import {getFromSummaryDetails, getFromSummaryInit, getFromSummaryList, totalSend
const { proxy } = getCurrentInstance();
/** 发药汇总单状态展示(汇总申请→已提交,发药→已发药) */
/** 发药汇总单状态展示(汇总申请→待发药(2),发药→已发药(4) */
const SUMMARY_STATUS_DISPLAY = {
11: '已执行',
18: '已提交',
2: '待发药',
4: '已发药',
};
const LEGACY_SUMMARY_STATUS_TEXT = {
待配药: '已提交',
已发放: '已发药',
};
function formatSummaryStatusText(row) {
const code = Number(row?.statusEnum);
if (SUMMARY_STATUS_DISPLAY[code]) {
return SUMMARY_STATUS_DISPLAY[code];
}
return LEGACY_SUMMARY_STATUS_TEXT[row?.statusEnum_enumText] || row?.statusEnum_enumText || '-';
return SUMMARY_STATUS_DISPLAY[code] || row?.statusEnum_enumText || '-';
}
/** 状态标签颜色 */
const STATUS_TAG_TYPE_MAP = {
2: 'warning', // 待药 - 橙色
2: 'warning', // 待药 - 橙色
4: 'success', // 已发药 - 绿色
11: 'info', // 已执行 - 灰色
18: '', // 已提交 - 蓝色(默认)
};
function getStatusTagType(row) {
return STATUS_TAG_TYPE_MAP[Number(row?.statusEnum)] || 'info';
@@ -277,7 +267,7 @@ function getStatusTagType(row) {
function mapSummaryStatusOptions(options = []) {
return options.map((item) => ({
...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;
});
}