(null);
+ const [form] = Form.useForm();
+
+ const columns = [
+ {
+ title: intl.get('用户名'),
+ dataIndex: 'username',
+ key: 'username',
+ },
+ {
+ title: intl.get('角色'),
+ dataIndex: 'role',
+ key: 'role',
+ render: (role: number) => (
+
+ {role === 0 ? intl.get('管理员') : intl.get('普通用户')}
+
+ ),
+ },
+ {
+ title: intl.get('状态'),
+ dataIndex: 'status',
+ key: 'status',
+ render: (status: number) => (
+
+ {status === 0 ? intl.get('启用') : intl.get('禁用')}
+
+ ),
+ },
+ {
+ title: intl.get('创建时间'),
+ dataIndex: 'createdAt',
+ key: 'createdAt',
+ render: (text: string) => text ? new Date(text).toLocaleString() : '-',
+ },
+ {
+ title: intl.get('操作'),
+ key: 'action',
+ render: (_: any, record: User) => (
+
+ }
+ onClick={() => handleEdit(record)}
+ >
+ {intl.get('编辑')}
+
+ }
+ onClick={() => handleDelete([record.id])}
+ >
+ {intl.get('删除')}
+
+
+ ),
+ },
+ ];
+
+ const fetchUsers = async () => {
+ setLoading(true);
+ try {
+ const { code, data } = await request.get(
+ `${config.apiPrefix}user-management`
+ );
+ if (code === 200) {
+ setUsers(data);
+ }
+ } catch (error) {
+ message.error('Failed to fetch users');
+ } finally {
+ setLoading(false);
+ }
+ };
+
+ useEffect(() => {
+ fetchUsers();
+ }, []);
+
+ const handleAdd = () => {
+ setEditingUser(null);
+ form.resetFields();
+ setIsModalVisible(true);
+ };
+
+ const handleEdit = (record: User) => {
+ setEditingUser(record);
+ form.setFieldsValue({
+ username: record.username,
+ role: record.role,
+ status: record.status,
+ });
+ setIsModalVisible(true);
+ };
+
+ const handleDelete = (ids: number[]) => {
+ Modal.confirm({
+ title: intl.get('确认删除'),
+ content: intl.get('确认删除选中的用户吗'),
+ onOk: async () => {
+ try {
+ const { code, message: msg } = await request.delete(
+ `${config.apiPrefix}user-management`,
+ { data: ids }
+ );
+ if (code === 200) {
+ message.success(msg || intl.get('删除成功'));
+ fetchUsers();
+ } else {
+ message.error(msg || intl.get('删除失败'));
+ }
+ } catch (error: any) {
+ message.error(error.message || intl.get('删除失败'));
+ }
+ },
+ });
+ };
+
+ const handleSubmit = async () => {
+ try {
+ const values = await form.validateFields();
+
+ if (editingUser) {
+ // Update user
+ const { code, message: msg } = await request.put(
+ `${config.apiPrefix}user-management`,
+ { ...values, id: editingUser.id }
+ );
+ if (code === 200) {
+ message.success(msg || intl.get('更新成功'));
+ setIsModalVisible(false);
+ fetchUsers();
+ } else {
+ message.error(msg || intl.get('更新失败'));
+ }
+ } else {
+ // Create user
+ const { code, message: msg } = await request.post(
+ `${config.apiPrefix}user-management`,
+ values
+ );
+ if (code === 200) {
+ message.success(msg || intl.get('创建成功'));
+ setIsModalVisible(false);
+ fetchUsers();
+ } else {
+ message.error(msg || intl.get('创建失败'));
+ }
+ }
+ } catch (error: any) {
+ message.error(error.message || intl.get('操作失败'));
+ }
+ };
+
+ return (
+ <>
+
+ }
+ onClick={handleAdd}
+ >
+ {intl.get('新增用户')}
+
+
+
+ setIsModalVisible(false)}
+ >
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ >
+ );
+};
+
+export default UserManagement;