fix(#569): 请修复 Bug #569:[一般] [住院护士站-医嘱管理] 各业务节点状态名称与《药品医嘱状态映射表》不一致,存在严重歧义
根因: - 后端 `requestStatus_enumText` 返回旧枚举值(如"已发送""已完成"),前端部分组件直接使用原始枚举文本而未做名称映射,导致界面显示与标准映射表不一致。 - ### 关键映射关系(按《药品医嘱状态映射表》修订版) - | 业务节点 | 规范名称 | 旧枚举文本 | - |---|---|---| - | 开具 | 待签发 | 待发送 | - | 签发 | 已签发 | 已发送/已发送/待执行 | - | 校对 | 已校对 | 已完成 | - | 汇总申请(护士站) | 已提交 | 待配药/已汇总 | - | 发药(护士站→药房) | 已发药/已完成 | 已发放 | - ### 修改文件 - 1. `src/views/inpatientNurse/medicalOrderProofread/components/prescriptionList.vue`** 修复: - 将 `STATUS_DISPLAY_BY_TAB`(基于页签过滤条件的显示)替换为行级别的状态映射 - 新增 `REQUEST_STATUS_DISPLAY`:按 `row.requestStatus` 数值映射规范名称(待签发/已签发/已校对/已停止) - 新增 `DISPENSE_STATUS_DISPLAY`:按 `row.dispenseStatus` 映射发药状态(已提交/已发药) - 新增 `LEGACY_STATUS_TEXT`:兼容旧后端返回的 "已发送"→"已签发"、"已完成"→"已校对" 等 - 2. `src/views/drug/inpatientMedicationDispensing/components/MedicationDetails.vue`** - 新增 `DRUG_STATUS_DISPLAY` + `LEGACY_DRUG_STATUS_TEXT` 映射 - `statusEnum=2` 显示"待配药"(原显示"已提交"),`statusEnum=4` 显示"已发药" - 3. `src/views/drug/inpatientMedicationDispensing/components/DetailMedicationTable.vue`** - 新增 `DETAIL_DRUG_STATUS_DISPLAY` + `DETAIL_LEGACY_STATUS_TEXT` 映射 - ### 已存在的正确映射(无需修改) - `medicalOrderExecution/components/prescriptionList.vue` — 已有完整映射 - `drugDistribution/components/summaryMedicineList.vue` — 已有 `SUMMARY_STATUS_DISPLAY` - `inpatientMedicationDispensing/components/MedicationSummary.vue` — 已有 `SUMMARY_STATUS_DISPLAY` - ### 验证 - ✅ ESLint 检查通过(无新增错误) - ✅ `vite build` 编译成功
This commit is contained in:
@@ -208,7 +208,7 @@
|
||||
>
|
||||
<template #default="scope">
|
||||
<el-tag :type="tagType(scope.row.statusEnum)">
|
||||
{{ scope.row.statusEnum_enumText }}
|
||||
{{ formatDrugStatusText(scope.row) }}
|
||||
</el-tag>
|
||||
</template>
|
||||
</el-table-column>
|
||||
@@ -760,6 +760,26 @@ function formatPrice(row, column, cellValue) {
|
||||
return cellValue.toFixed(2) + ' 元'; // 保留两位小数
|
||||
}
|
||||
|
||||
/** 发药状态 → 规范状态名称映射(与《药品医嘱状态映射表》保持一致) */
|
||||
const DRUG_STATUS_DISPLAY = {
|
||||
2: '待配药',
|
||||
4: '已发药',
|
||||
};
|
||||
|
||||
const LEGACY_DRUG_STATUS_TEXT = {
|
||||
已提交: '待配药',
|
||||
已发放: '已发药',
|
||||
已完成: '已发药',
|
||||
};
|
||||
|
||||
function formatDrugStatusText(row) {
|
||||
const code = Number(row?.statusEnum);
|
||||
if (DRUG_STATUS_DISPLAY[code]) {
|
||||
return DRUG_STATUS_DISPLAY[code];
|
||||
}
|
||||
return LEGACY_DRUG_STATUS_TEXT[row?.statusEnum_enumText] || row?.statusEnum_enumText || '-';
|
||||
}
|
||||
|
||||
function tagType(statusEnum) {
|
||||
if (statusEnum == 2 || statusEnum == 2) {
|
||||
return 'primary';
|
||||
|
||||
Reference in New Issue
Block a user