From f37e9b444bf82cea83dba24318a3ff29667e0a8c Mon Sep 17 00:00:00 2001 From: zhaoying Date: Wed, 22 Apr 2026 11:37:25 +0800 Subject: [PATCH] refactor(web): tablePageLayout replace --- web/src/views/MemberManagement/index.tsx | 38 +++++++++--------------- web/src/views/UserManagement/index.tsx | 15 ++++------ 2 files changed, 20 insertions(+), 33 deletions(-) diff --git a/web/src/views/MemberManagement/index.tsx b/web/src/views/MemberManagement/index.tsx index b9b392ff..6f17a9bb 100644 --- a/web/src/views/MemberManagement/index.tsx +++ b/web/src/views/MemberManagement/index.tsx @@ -10,7 +10,7 @@ */ import React, { useRef } from 'react'; -import { App, Button, Space, Flex } from 'antd'; +import { Button, Space } from 'antd'; import { useTranslation } from 'react-i18next'; import type { ColumnsType } from 'antd/es/table'; @@ -20,13 +20,15 @@ import type { Member, MemberModalRef } from './types' import Tag from '@/components/Tag'; import Table, { type TableRef } from '@/components/Table' import { formatDateTime } from '@/utils/format'; +import TablePageLayout from '@/components/TablePageLayout'; +import useDeleteConfirm from '@/hooks/useDeleteConfirm'; /** * Member management main component */ const MemberManagement: React.FC = () => { const { t } = useTranslation(); - const { message, modal } = App.useApp(); + const deleteConfirm = useDeleteConfirm(); const memberFormRef = useRef(null); const tableRef = useRef(null); @@ -43,20 +45,11 @@ const MemberManagement: React.FC = () => { } /** Delete member with confirmation */ - const handleDelete = async (member: Member) => { - modal.confirm({ - title: t('common.confirmDeleteDesc', { name: member.username }), - okText: t('common.delete'), - cancelText: t('common.cancel'), - okType: 'danger', - onOk: () => { - deleteMember(member.id) - .then(() => { - message.success(t('common.deleteSuccess')); - refreshTable(); - }) - } - }) + const handleDelete = (member: Member) => { + deleteConfirm({ + name: member.username, + onOk: () => deleteMember(member.id).then(refreshTable), + }); }; /** Table column configuration */ @@ -105,13 +98,10 @@ const MemberManagement: React.FC = () => { ]; return ( -
- -
{t('member.memberList')}
- -
+ handleEdit()}>+ {t('member.createMember')}} + > ref={tableRef} apiUrl={memberListUrl} @@ -125,7 +115,7 @@ const MemberManagement: React.FC = () => { ref={memberFormRef} refreshTable={refreshTable} /> -
+ ); }; diff --git a/web/src/views/UserManagement/index.tsx b/web/src/views/UserManagement/index.tsx index ed09994f..de693dbb 100644 --- a/web/src/views/UserManagement/index.tsx +++ b/web/src/views/UserManagement/index.tsx @@ -21,6 +21,7 @@ import StatusTag from '@/components/StatusTag' import { deleteUser, enableUser, getUserListUrl } from '@/api/user' import ResetPasswordModal from './components/ResetPasswordModal' import { formatDateTime } from '@/utils/format'; +import TablePageLayout from '@/components/TablePageLayout'; const UserManagement: React.FC = () => { const { t } = useTranslation(); @@ -142,14 +143,10 @@ const UserManagement: React.FC = () => { ]; return ( -
- -
{t('user.userList')}
- -
- + + {t('user.createUser')}} + > ref={tableRef} apiUrl={getUserListUrl} @@ -169,7 +166,7 @@ const UserManagement: React.FC = () => { -
+ ); };