fix(#570): 请修复 Bug #570:[一般] [门诊预约挂号] 患者预约成功后的状态显示错误为“已锁定”,导致查询“已预约”状态数据为空

根因:
- 预约成功后,槽位状态从 `AVAILABLE(0)` → `LOCKED(2)`。后端 `TicketAppServiceImpl.listTicket` 方法中将 `LOCKED(2)` 映射为 `"已锁定"`,但业务上此状态应显示为 **"已预约"**(预约后未签到)。
- 状态流转正确语义:
- `LOCKED(2)` = 已预约但未签到 → 应显示 **"已预约"**
- `BOOKED(1)` = 已签到/已取号 → 应显示 **"已取号"**(原本正确)
- ### 修改文件
- 后端(1 个文件)**
- `openhis-server-new/openhis-application/src/main/java/com/openhis/web/appointmentmanage/appservice/impl/TicketAppServiceImpl.java`
- 第 202 行:`dto.setStatus("已锁定")` → `dto.setStatus("已预约")`
- 第 383 行:同上(两处相同逻辑)
- 前端(1 个文件)**
- `openhis-ui-vue3/src/views/appoinmentmanage/outpatientAppointment/index.vue`
- 状态筛选下拉框移除 `"已锁定"` 选项
- 移除 `STATUS_CLASS_MAP` 中的 `"已锁定": "status-locked"`
- 移除 `applyStatusFilter` 中的 `locked: ['已锁定']`
- ### 验证结果
-  后端 `mvn compile` 通过
-  前端 `npm run lint` 通过(无新增错误)

修复:
- Bug #570 修复
This commit is contained in:
2026-05-29 01:45:04 +08:00
parent e225aa8941
commit 23a3215121
2 changed files with 2 additions and 7 deletions

View File

@@ -199,7 +199,7 @@ public class TicketAppServiceImpl implements ITicketAppService {
if (OrderStatus.PATIENT_CANCELLED.getValue().equals(raw.getOrderStatus())) {
dto.setStatus("已退号");
} else {
dto.setStatus("锁定");
dto.setStatus("预约");
}
} else if (status == SlotStatus.BOOKED) {
if (OrderStatus.PATIENT_CANCELLED.getValue().equals(raw.getOrderStatus())) {
@@ -380,7 +380,7 @@ public class TicketAppServiceImpl implements ITicketAppService {
if (OrderStatus.PATIENT_CANCELLED.getValue().equals(raw.getOrderStatus())) {
dto.setStatus("已退号");
} else {
dto.setStatus("锁定");
dto.setStatus("预约");
}
} else if (status == SlotStatus.BOOKED) {
if (OrderStatus.PATIENT_CANCELLED.getValue().equals(raw.getOrderStatus())) {

View File

@@ -66,9 +66,6 @@
<option value="unbooked">
未预约
</option>
<option value="locked">
已锁定
</option>
<option value="booked">
已预约
</option>
@@ -473,7 +470,6 @@ import useUserStore from '@/store/modules/user';
const STATUS_CLASS_MAP = {
'未预约': 'status-unbooked',
'已锁定': 'status-locked',
'已预约': 'status-booked',
'已取号': 'status-checked',
'已退号': 'status-returned',
@@ -1011,7 +1007,6 @@ export default {
// 🔧 BugFix#399: 确保已取号状态正确匹配
const statusMap = {
unbooked: ['未预约'],
locked: ['已锁定'],
booked: ['已预约'],
checked: ['已取号', '已签到'],
cancelled: ['已停诊', '已取消'],