From b20fdb26e9d1d091fd7864de1edcc639e9da01b8 Mon Sep 17 00:00:00 2001
From: luxiaotao1123 <t1341870251@163.com>
Date: 星期三, 16 十月 2024 15:04:14 +0800
Subject: [PATCH] #
---
zy-acs-flow/src/page/user/UserCreate.jsx | 90 ++++++++++++++++++++++++++++----------------
1 files changed, 57 insertions(+), 33 deletions(-)
diff --git a/zy-acs-flow/src/page/user/UserCreate.jsx b/zy-acs-flow/src/page/user/UserCreate.jsx
index 04e888d..5a129ed 100644
--- a/zy-acs-flow/src/page/user/UserCreate.jsx
+++ b/zy-acs-flow/src/page/user/UserCreate.jsx
@@ -13,10 +13,11 @@
AutocompleteInput,
Toolbar,
required,
- useDataProvider,
+ PasswordInput,
useNotify,
Form,
useCreateController,
+ email,
} from 'react-admin';
import {
Dialog,
@@ -31,6 +32,7 @@
import StatusSelectInput from "../components/StatusSelectInput";
import MemoInput from "../components/MemoInput";
import TreeSelectInput from "../components/TreeSelectInput";
+import RolesSelect from './RolesSelect'
const UserCreate = (props) => {
const { open, setOpen } = props;
@@ -49,8 +51,8 @@
notify('common.response.success');
};
- const handleError = async (data) => {
- notify('common.response.fail');
+ const handleError = async (error) => {
+ notify(error.message || 'common.response.fail', { type: 'error', messageArgs: { _: error.message } });
};
return (
@@ -70,7 +72,29 @@
disableRestoreFocus
maxWidth="md" // 'xs' | 'sm' | 'md' | 'lg' | 'xl'
>
- <Form>
+ <Form validate={values => {
+ const errors = {};
+ if (!values.username) {
+ errors.username = 'ra.validation.required';
+ }
+ if (!values.nickname) {
+ errors.nickname = 'ra.validation.required';
+ }
+ if (!values.roleIds) {
+ errors.roleIds = 'ra.validation.required';
+ }
+ if (!values.email) {
+ } else {
+ const error = email()(values.email);
+ if (error) {
+ errors.email = error;
+ }
+ }
+ if (values.password && values.password !== values.confirmPassword) {
+ errors.confirmPassword = 'validate.pwdMisMatch';
+ }
+ return errors;
+ }}>
<DialogTitle id="form-dialog-title" sx={{
position: 'sticky',
top: 0,
@@ -102,10 +126,28 @@
/>
</Grid>
<Grid item xs={6} display="flex" gap={1}>
- <TextInput
- label="table.field.user.code"
- source="code"
- parse={v => v}
+ <TreeSelectInput
+ resource="dept"
+ label="table.field.user.deptId"
+ source="deptId"
+ />
+ </Grid>
+ <Grid item xs={6} display="flex" gap={1}>
+ <RolesSelect
+ label="table.field.user.role"
+ source="roleIds"
+ />
+ </Grid>
+ <Grid item xs={6} display="flex" gap={1}>
+ <PasswordInput
+ label="table.field.user.password"
+ source="password"
+ />
+ </Grid>
+ <Grid item xs={6} display="flex" gap={1}>
+ <PasswordInput
+ label="table.field.user.confirmPwd"
+ source="confirmPassword"
/>
</Grid>
<Grid item xs={6} display="flex" gap={1}>
@@ -117,6 +159,13 @@
{ id: 1, name: '鐢�' },
{ id: 2, name: '濂�' },
]}
+ />
+ </Grid>
+ <Grid item xs={6} display="flex" gap={1}>
+ <TextInput
+ label="table.field.user.code"
+ source="code"
+ parse={v => v}
/>
</Grid>
<Grid item xs={6} display="flex" gap={1}>
@@ -134,13 +183,6 @@
/>
</Grid>
<Grid item xs={6} display="flex" gap={1}>
- <TreeSelectInput
- resource="dept"
- label="table.field.user.deptId"
- source="deptId"
- />
- </Grid>
- <Grid item xs={6} display="flex" gap={1}>
<TextInput
label="table.field.user.realName"
source="realName"
@@ -153,24 +195,6 @@
source="idCard"
parse={v => v}
/>
- </Grid>
- <Grid item xs={6} display="flex" gap={1}>
- <TextInput
- label="table.field.user.birthday"
- source="birthday"
- parse={v => v}
- />
- </Grid>
- <Grid item xs={6} display="flex" gap={1}>
- <TextInput
- label="table.field.user.introduction"
- source="introduction"
- parse={v => v}
- />
- </Grid>
-
- <Grid item xs={6} display="flex" gap={1}>
- <StatusSelectInput />
</Grid>
<Grid item xs={12} display="flex" gap={1}>
<Stack direction="column" spacing={1} width={'100%'}>
--
Gitblit v1.9.1