fix: Bug #395 疾病报告卡添加撤销审核功能 | Bug #398/#399 门诊预约已预约和已取号记录不应被时间过滤
This commit is contained in:
@@ -739,9 +739,15 @@ export default {
|
|||||||
status: record.statusEnum_enumText || record.status
|
status: record.statusEnum_enumText || record.status
|
||||||
}));
|
}));
|
||||||
|
|
||||||
// 先进行时间过滤(过滤掉已过期的号源)
|
// 🔧 BugFix#398/#399: 时间过滤仅对"未预约"号源生效
|
||||||
|
// 已预约、已取号、已退号等状态的记录不应因时间过期被过滤
|
||||||
const currentTime = new Date().getTime();
|
const currentTime = new Date().getTime();
|
||||||
const timeFilteredRecords = mappedRecords.filter(ticket => {
|
const timeFilteredRecords = mappedRecords.filter(ticket => {
|
||||||
|
// 非未预约状态的记录不过滤时间
|
||||||
|
if (ticket.status && ticket.status !== '未预约') {
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
// 未预约号源:过滤已过期的
|
||||||
const ticketTime = new Date(ticket.dateTime).getTime();
|
const ticketTime = new Date(ticket.dateTime).getTime();
|
||||||
return ticketTime > currentTime;
|
return ticketTime > currentTime;
|
||||||
});
|
});
|
||||||
@@ -765,10 +771,11 @@ export default {
|
|||||||
if (!this.selectedStatus || this.selectedStatus === 'all') {
|
if (!this.selectedStatus || this.selectedStatus === 'all') {
|
||||||
return records;
|
return records;
|
||||||
}
|
}
|
||||||
|
// 🔧 BugFix#399: 确保已取号状态正确匹配
|
||||||
const statusMap = {
|
const statusMap = {
|
||||||
unbooked: ['未预约'],
|
unbooked: ['未预约'],
|
||||||
booked: ['已预约'],
|
booked: ['已预约'],
|
||||||
checked: ['已取号'],
|
checked: ['已取号', '已签到'],
|
||||||
cancelled: ['已停诊', '已取消'],
|
cancelled: ['已停诊', '已取消'],
|
||||||
returned: ['已退号']
|
returned: ['已退号']
|
||||||
};
|
};
|
||||||
|
|||||||
@@ -205,6 +205,14 @@
|
|||||||
>
|
>
|
||||||
审核
|
审核
|
||||||
</el-button>
|
</el-button>
|
||||||
|
<el-button
|
||||||
|
v-if="row.status === 2"
|
||||||
|
type="warning"
|
||||||
|
link
|
||||||
|
@click="handleRevokeAudit(row)"
|
||||||
|
>
|
||||||
|
撤销审核
|
||||||
|
</el-button>
|
||||||
<el-button
|
<el-button
|
||||||
type="info"
|
type="info"
|
||||||
link
|
link
|
||||||
@@ -825,6 +833,39 @@ function handleView(row) {
|
|||||||
loadCardDetail(row.cardNo);
|
loadCardDetail(row.cardNo);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// 撤销审核
|
||||||
|
async function handleRevokeAudit(row) {
|
||||||
|
try {
|
||||||
|
await ElMessageBox.confirm(
|
||||||
|
'确定要撤销此报卡的审核吗?',
|
||||||
|
'确认撤销',
|
||||||
|
{
|
||||||
|
confirmButtonText: '确定',
|
||||||
|
cancelButtonText: '取消',
|
||||||
|
type: 'warning',
|
||||||
|
}
|
||||||
|
);
|
||||||
|
|
||||||
|
const res = await returnInfectiousCard({
|
||||||
|
cardNo: row.cardNo,
|
||||||
|
returnReason: '撤销审核'
|
||||||
|
});
|
||||||
|
|
||||||
|
if (res.code === 200) {
|
||||||
|
ElMessage.success('撤销审核成功');
|
||||||
|
loadTableData();
|
||||||
|
loadStats();
|
||||||
|
} else {
|
||||||
|
ElMessage.error(res.msg || '撤销审核失败');
|
||||||
|
}
|
||||||
|
} catch (err) {
|
||||||
|
if (err !== 'cancel') {
|
||||||
|
ElMessage.error('撤销审核失败');
|
||||||
|
console.error(err);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
// 加载卡片详情
|
// 加载卡片详情
|
||||||
async function loadCardDetail(cardNo) {
|
async function loadCardDetail(cardNo) {
|
||||||
drawerLoading.value = true;
|
drawerLoading.value = true;
|
||||||
|
|||||||
Reference in New Issue
Block a user