From 3e09ba52253d9b0c6007ba5b9b377d2938462f84 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=9D=8E=E7=90=A6?= Date: Sat, 11 Jul 2026 17:35:33 +0800 Subject: [PATCH] =?UTF-8?q?1.=20=E4=B8=9A=E5=8A=A1=E5=91=98=E6=9F=A5?= =?UTF-8?q?=E7=9C=8B=E7=BB=B4=E5=BA=A6=E5=A2=9E=E5=8A=A0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../doctor-input/components/AuditModal.vue | 41 +++++++++++-------- 1 file changed, 23 insertions(+), 18 deletions(-) diff --git a/apps/web-antd/src/views/system/doctor-input/components/AuditModal.vue b/apps/web-antd/src/views/system/doctor-input/components/AuditModal.vue index 10192ed1..d4071d09 100644 --- a/apps/web-antd/src/views/system/doctor-input/components/AuditModal.vue +++ b/apps/web-antd/src/views/system/doctor-input/components/AuditModal.vue @@ -7,20 +7,16 @@ import { message, Radio, RadioGroup, Textarea } from 'ant-design-vue'; import { auditDoctorInput } from '../api'; -const [ModalComponent, modalApi] = useVbenModal({ - fullscreenButton: false, - draggable: true, - onCancel() { - modalApi.close(); - }, -}); - const auditStatus = ref(1); const auditRemark = ref(''); const currentRow = ref(null); const gridApi = ref(null); const loading = ref(false); +/** + * 提交医生预填审核结果 + * 通过 onConfirm 注册,与 Vben Modal 确认按钮对接 + */ const handleAudit = async () => { if (!currentRow.value) { message.error('数据错误'); @@ -28,6 +24,7 @@ const handleAudit = async () => { } loading.value = true; + modalApi.setState({ confirmLoading: true }); try { await auditDoctorInput({ id: currentRow.value.id, @@ -44,18 +41,27 @@ const handleAudit = async () => { message.error('审核失败,请稍后重试'); } finally { loading.value = false; + modalApi.setState({ confirmLoading: false }); } }; -modalApi.onOpenChange = (isOpen: boolean) => { - if (isOpen) { - const { values, gridApi: api } = modalApi.getData>(); - currentRow.value = values; - gridApi.value = api; - auditStatus.value = 1; - auditRemark.value = ''; - } -}; +const [ModalComponent, modalApi] = useVbenModal({ + fullscreenButton: false, + draggable: true, + onCancel() { + modalApi.close(); + }, + onConfirm: handleAudit, + onOpenChange(isOpen: boolean) { + if (isOpen) { + const { values, gridApi: api } = modalApi.getData>(); + currentRow.value = values; + gridApi.value = api; + auditStatus.value = 1; + auditRemark.value = ''; + } + }, +});