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:
@@ -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());
|
||||
}
|
||||
}
|
||||
|
||||
// 处理医生姓名查询(支持模糊查询)
|
||||
|
||||
@@ -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;
|
||||
|
||||
Reference in New Issue
Block a user