From 67552c14af94389ac3d6b838cc25618d2884320c Mon Sep 17 00:00:00 2001 From: jialin Date: Thu, 9 Oct 2025 11:05:16 +0800 Subject: [PATCH] style: user activation --- src/pages/users/components/add-modal.tsx | 6 ++-- src/pages/users/config/types.ts | 21 +++++------ src/pages/users/index.tsx | 46 ++++++++++++++++++++---- 3 files changed, 51 insertions(+), 22 deletions(-) diff --git a/src/pages/users/components/add-modal.tsx b/src/pages/users/components/add-modal.tsx index fc1df8ce..5ed4af22 100644 --- a/src/pages/users/components/add-modal.tsx +++ b/src/pages/users/components/add-modal.tsx @@ -1,8 +1,8 @@ import ModalFooter from '@/components/modal-footer'; import ScrollerModal from '@/components/scroller-modal'; -import SealCheckbox from '@/components/seal-form/seal-checkbox'; import SealInput from '@/components/seal-form/seal-input'; import SealSelect from '@/components/seal-form/seal-select'; +import SealSwitch from '@/components/seal-form/seal-switch'; import { PageAction, PasswordReg } from '@/config'; import { PageActionType } from '@/config/types'; import { UserOutlined, UserSwitchOutlined } from '@ant-design/icons'; @@ -36,7 +36,7 @@ const AddModal: React.FC = ({ form.setFieldsValue({ ...data, is_admin: data?.is_admin ? UserRoles.ADMIN : UserRoles.USER, - is_active: data?.is_active !== undefined ? data.is_active : true + is_active: !!data?.is_active }); } else if (action === PageAction.CREATE && open) { form.setFieldsValue({ @@ -125,7 +125,7 @@ const AddModal: React.FC = ({ rules={[{ required: false }]} valuePropName="checked" > - { message.success(intl.formatMessage({ id: 'common.message.success' })); } catch (error) { setOpenAddModal(false); + message.error(intl.formatMessage({ id: 'common.message.fail' })); } }; @@ -128,6 +139,22 @@ const Users: React.FC = () => { } }; + const handleActiveChange = async (checked: boolean, row: ListItem) => { + try { + await updateUser({ + data: { + ...row, + is_active: checked, + id: row?.id + } + }); + handleSearch(); + message.success(intl.formatMessage({ id: 'common.message.success' })); + } catch (error) { + message.error(intl.formatMessage({ id: 'common.message.fail' })); + } + }; + const renderEmpty = (type?: string) => { if (type !== 'Table') return; if ( @@ -304,11 +331,18 @@ const Users: React.FC = () => { }} render={(text, record: ListItem) => { return ( - - {record.is_active - ? intl.formatMessage({ id: 'users.status.active' }) - : intl.formatMessage({ id: 'users.status.inactive' })} - + <> + + {intl.formatMessage({ + id: record.is_active + ? 'users.status.active' + : 'users.status.inactive' + })} + + ); }} />