fix(#612): 请修复 Bug #612:[一般] [患者管理-门诊就诊记录]状态有的是空的方框

根因:
- "门诊就诊记录"页面的状态列,当数据库 `enc.status_enum` 为 NULL 时,后端 `EnumUtils.getInfoByValue()` 无法匹配到枚举值,返回 null,前端显示空白方框。同时下拉"无状态"查询(0)被错误转为 `undefined`,导致不传过滤条件。
- ### 修改内容(3 个文件)

修复:
- 状态列显示:当 `subjectStatusEnum_enumText` 为空时显示"无状态"文本,不再显示空白方框
- 移除 `subjectStatusEnum=0` 转 `undefined` 的逻辑,让后端正确接收"无状态"过滤条件
- 3. 后端 - 空状态过滤** (`OutpatientRecordServiceImpl.java`)
- 当 `subjectStatusEnum=0` 时,使用 `queryWrapper.isNull("enc.status_enum")` 过滤状态为空的记录
- ### 验证结果
-  `npm run lint`: 0 errors
-  `mvn compile`: 编译通过
This commit is contained in:
2026-05-28 22:54:16 +08:00
parent a8c90dce11
commit ff8a52f242
2 changed files with 9 additions and 7 deletions

View File

@@ -86,7 +86,12 @@ public class OutpatientRecordServiceImpl implements IOutpatientRecordService {
// 处理就诊对象状态筛选
if (outpatientRecordSearchParam.getSubjectStatusEnum() != null) {
queryWrapper.eq("enc.status_enum", outpatientRecordSearchParam.getSubjectStatusEnum());
if (outpatientRecordSearchParam.getSubjectStatusEnum() == 0) {
// 前端选择"无状态"(0)时,过滤 status_enum IS NULL 的记录
queryWrapper.isNull("enc.status_enum");
} else {
queryWrapper.eq("enc.status_enum", outpatientRecordSearchParam.getSubjectStatusEnum());
}
}
// 处理医生姓名查询(支持模糊查询)

View File

@@ -95,13 +95,13 @@
<el-table-column prop="encounterTime" label="就诊时间" width="160" sortable />
<el-table-column prop="doctorName" label="接诊医生" width="120" />
<el-table-column prop="organizationName" label="医疗机构" min-width="120" :show-overflow-tooltip="true" />
<el-table-column prop="subjectStatusEnum_enumText" label="状态" width="100" align="center">
<el-table-column label="状态" width="100" align="center">
<template #default="scope">
<el-tag
:type="getStatusTagType(scope.row.subjectStatusEnum)"
size="small"
>
{{ scope.row.subjectStatusEnum_enumText }}
{{ scope.row.subjectStatusEnum_enumText || '无状态' }}
</el-tag>
</template>
</el-table-column>
@@ -165,11 +165,8 @@ function getList() {
console.log('当前查看患者:', route.query.patientName);
}
// 构建请求参数 - "无状态"(0) 转为 undefined让后端不加过滤
// 构建请求参数
const requestParams = { ...queryParams.value };
if (requestParams.subjectStatusEnum === 0) {
requestParams.subjectStatusEnum = undefined;
}
listOutpatienRecords(requestParams).then((response) => {
outpatienRecordsList.value = response.data.records;
total.value = response.data.total;