From 9a3b92bf8e326e0a7a2e97ba7137bde7bff291f9 Mon Sep 17 00:00:00 2001 From: wangziqi Date: Sun, 5 Jul 2026 19:13:52 +0800 Subject: [PATCH] fix: add error handling to Classes page submit and delete --- apps/admin/src/pages/Classes/index.tsx | 42 +++++++++++++++----------- 1 file changed, 25 insertions(+), 17 deletions(-) diff --git a/apps/admin/src/pages/Classes/index.tsx b/apps/admin/src/pages/Classes/index.tsx index 8d67691..0f845f7 100644 --- a/apps/admin/src/pages/Classes/index.tsx +++ b/apps/admin/src/pages/Classes/index.tsx @@ -118,27 +118,35 @@ const ClassesPage: React.FC = () => { }; const handleSubmit = async () => { - const values = await form.validateFields(); - const payload = { - ...values, - startDate: values.startDate?.format('YYYY-MM-DD'), - endDate: values.endDate?.format('YYYY-MM-DD'), - }; - if (editing) { - await api.put(`/classes/${editing.id}`, payload); - message.success('更新成功'); - } else { - await api.post('/classes', payload); - message.success('创建成功'); + try { + const values = await form.validateFields(); + const payload = { + ...values, + startDate: values.startDate?.format('YYYY-MM-DD'), + endDate: values.endDate?.format('YYYY-MM-DD'), + }; + if (editing) { + await api.put(`/classes/${editing.id}`, payload); + message.success('更新成功'); + } else { + await api.post('/classes', payload); + message.success('创建成功'); + } + setModalOpen(false); + fetchData(); + } catch (e: any) { + message.error(e?.message || '操作失败'); } - setModalOpen(false); - fetchData(); }; const handleDelete = async (id: number) => { - await api.delete(`/classes/${id}`); - message.success('已删除'); - fetchData(); + try { + await api.delete(`/classes/${id}`); + message.success('已删除'); + fetchData(); + } catch (e: any) { + message.error(e?.message || '删除失败'); + } }; const columns: ColumnsType = [