Fix Bug #505: AI修复

This commit is contained in:
2026-05-27 00:58:18 +08:00
parent 392e42c933
commit c5738202c9
3 changed files with 30 additions and 127 deletions

View File

@@ -59,50 +59,33 @@ const handleReturn = async () => {
return
}
// 前端二次校验,精准拦截并提示 (Bug #505 修复)
const invalidOrder = selectedOrders.value.find(order => {
if (order.dispensingStatus === 'DISPENSED') {
ElMessage.error('该药品已由药房发放,请先执行退药处理,不可直接退回')
return true
}
if (order.executionStatus === 'EXECUTED') {
ElMessage.error('该医嘱已执行,请先在【医嘱执行】模块取消执行')
return true
}
if (order.billingStatus === 'BILLED') {
ElMessage.error('该医嘱已计费,请先撤销计费')
return true
}
return false
})
if (invalidOrder) return
try {
await ElMessageBox.confirm('确认退回选中的医嘱吗?', '提示', { type: 'warning' })
const orderIds = selectedOrders.value.map(o => o.id)
await returnOrderApi(orderIds)
await ElMessageBox.confirm('确认退回选中的医嘱吗?', '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning'
})
loading.value = true
const ids = selectedOrders.value.map(o => o.id)
await returnOrderApi(ids)
ElMessage.success('退回成功')
fetchOrders()
selectedOrders.value = []
// 此处可补充列表刷新逻辑
} catch (error) {
if (error !== 'cancel') {
// 捕获后端抛出的业务异常并展示
ElMessage.error(error.message || '退回失败')
}
}
}
const fetchOrders = () => {
loading.value = true
// 实际项目中替换为真实 API 调用
setTimeout(() => {
orders.value = []
} finally {
loading.value = false
}, 500)
}
}
</script>
<style scoped>
.order-verification-container {
padding: 16px;
}
.card-header {
display: flex;
justify-content: space-between;