import React, { useState } from 'react'; import { API, isMobile, showError, showSuccess } from '../../helpers'; import { Button, Input, SideSheet, Space, Spin, Typography, Card, Tag } from '@douyinfe/semi-ui'; import { IconUser, IconSave, IconClose, IconKey, IconUserAdd, IconEdit, } from '@douyinfe/semi-icons'; import { useTranslation } from 'react-i18next'; const { Text, Title } = Typography; const AddUser = (props) => { const { t } = useTranslation(); const originInputs = { username: '', display_name: '', password: '', remark: '', }; const [inputs, setInputs] = useState(originInputs); const [loading, setLoading] = useState(false); const { username, display_name, password, remark } = inputs; const handleInputChange = (name, value) => { setInputs((inputs) => ({ ...inputs, [name]: value })); }; const submit = async () => { setLoading(true); if (inputs.username === '' || inputs.password === '') { setLoading(false); showError(t('用户名和密码不能为空!')); return; } const res = await API.post(`/api/user/`, inputs); const { success, message } = res.data; if (success) { showSuccess(t('用户账户创建成功!')); setInputs(originInputs); props.refresh(); props.handleClose(); } else { showError(message); } setLoading(false); }; const handleCancel = () => { props.handleClose(); }; return ( <> {t('新建')} {t('添加用户')} } headerStyle={{ borderBottom: '1px solid var(--semi-color-border)', padding: '24px' }} bodyStyle={{ backgroundColor: 'var(--semi-color-bg-0)', padding: '0' }} visible={props.visible} width={isMobile() ? '100%' : 600} footer={
} closeIcon={null} onCancel={() => handleCancel()} >
{t('用户信息')}
{t('创建新用户账户')}
{t('用户名')} handleInputChange('username', value)} value={username} autoComplete="off" size="large" className="!rounded-lg" prefix={} showClear required />
{t('显示名称')} handleInputChange('display_name', value)} value={display_name} autoComplete="off" size="large" className="!rounded-lg" prefix={} showClear />
{t('密码')} handleInputChange('password', value)} value={password} autoComplete="off" size="large" className="!rounded-lg" prefix={} required />
{t('备注')} handleInputChange('remark', value)} value={remark} autoComplete="off" size="large" className="!rounded-lg" prefix={} showClear />
); }; export default AddUser;