From 7f70cb15d035f0c233b9e62b9e43aa985317c908 Mon Sep 17 00:00:00 2001 From: luxiaotao1123 <t1341870251@163.com> Date: 星期一, 04 十一月 2024 10:22:45 +0800 Subject: [PATCH] # --- zy-acs-flow/src/page/user/UserEdit.jsx | 58 ++++++++++++++++++++++++++++++++++++---------------------- 1 files changed, 36 insertions(+), 22 deletions(-) diff --git a/zy-acs-flow/src/page/user/UserEdit.jsx b/zy-acs-flow/src/page/user/UserEdit.jsx index c42b04f..b5b48b1 100644 --- a/zy-acs-flow/src/page/user/UserEdit.jsx +++ b/zy-acs-flow/src/page/user/UserEdit.jsx @@ -20,8 +20,9 @@ useRecordContext, DeleteButton, PasswordInput, + email, } from 'react-admin'; -import { useWatch, useFormContext } from "react-hook-form"; +import { useFormContext } from 'react-hook-form'; import { Stack, Grid, Box, Typography } from '@mui/material'; import * as Common from '@/utils/common'; import { EDIT_MODE } from '@/config/setting'; @@ -33,13 +34,45 @@ import TreeSelectInput from "../components/TreeSelectInput"; const FormToolbar = () => { - const { getValues } = useFormContext(); + const { setValue, getValues } = useFormContext(); return ( <Toolbar sx={{ justifyContent: 'space-between' }}> <SaveButton /> <DeleteButton mutationMode="optimistic" /> </Toolbar> + ) +} + +const PasswordInputContainer = () => { + const translate = useTranslate(); + const { setValue } = useFormContext(); + const record = useRecordContext(); + + useEffect(() => { + setTimeout(() => { + if (record && record.password) { + setValue('password', ''); + } + }, 200) + }, [setValue, record]); + + return ( + <> + <Typography variant="h6" gutterBottom> + {translate('common.edit.title.changePwd')} + </Typography> + <Stack direction='row' gap={2}> + <PasswordInput + label="table.field.user.password" + source="password" + /> + <PasswordInput + label="table.field.user.confirmPwd" + source="confirmPassword" + /> + </Stack> + </> ) } @@ -53,7 +86,6 @@ warnWhenUnsavedChanges toolbar={<FormToolbar />} mode="onTouched" - defaultValues={{}} validate={(values) => { const errors = {}; if (!values.username) { @@ -72,14 +104,9 @@ errors.email = error; } } - if (!values.password) { - errors.password = 'ra.validation.required'; - } if (values.password && values.password !== values.confirmPassword) { errors.confirmPassword = 'validate.pwdMisMatch'; } - console.log(values); - return errors; }} > @@ -155,20 +182,7 @@ parse={v => v} /> </Stack> - <Typography variant="h6" gutterBottom> - {translate('common.edit.title.changePwd')} - </Typography> - <Stack direction='row' gap={2}> - <PasswordInput - label="table.field.user.password" - source="password" - /> - <PasswordInput - label="table.field.user.confirmPwd" - source="confirmPassword" - value={record?.password} - /> - </Stack> + <PasswordInputContainer /> </Grid> <Grid item xs={12} md={4}> <Typography variant="h6" gutterBottom> -- Gitblit v1.9.1