diff --git a/src/views/basic/pharmacy/components/pharmacyModal.vue b/src/views/basic/pharmacy/components/pharmacyModal.vue index a6b5dc9..09bc229 100644 --- a/src/views/basic/pharmacy/components/pharmacyModal.vue +++ b/src/views/basic/pharmacy/components/pharmacyModal.vue @@ -7,7 +7,7 @@ :ok-text="'保存'" :cancel-text="'取消'" :footer="mode !== 'detail'" - @ok="handleSubmit" + :on-before-ok="handleBeforeOk" @cancel="handleCancel" > { } }; -// 提交表单 -const handleSubmit = async () => { - if (!formRef.value) return; +// 提交表单前校验与处理 +const handleBeforeOk = async () => { + if (!formRef.value) return false; const errors = await formRef.value.validate(); if (errors) { + Message.warning('请检查并完善表单必填项'); return false; } @@ -387,13 +388,16 @@ const handleSubmit = async () => { if (res.code === 200) { Message.success(mode.value === 'add' ? '添加药房成功' : '修改药房成功'); - visible.value = false; emit('success'); + return true; } else { Message.error(res.message || '操作失败'); + return false; } } catch (error) { console.error('提交药房表单异常:', error); + Message.error('提交药房表单出现异常'); + return false; } finally { submitLoading.value = false; }