Fix Bug #505: AI修复
This commit is contained in:
@@ -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;
|
||||
|
||||
Reference in New Issue
Block a user