import React, { useState } from 'react'; import { Form, Input } from 'antd'; import UserRelation from './userRelation'; import { EyeInvisibleOutlined, EyeTwoTone } from '@ant-design/icons'; import { encryptPasswordSha1 } from '../../../../utils/password'; export default function Render(props) { const { name, isNew, nickname, password, relations, oakFullpath, entity, entityId, setPasswordConfirm, passwordRequire, } = props.data; const { t, update } = props.methods; const [password2, setPassword2] = useState(''); const [validateHelp, setValidateHelp] = useState(''); const [validateHelp1, setValidateHelp1] = useState(''); const [validateStatus, setValidateStatus] = useState(''); return (<>
<> { const strValue = e.target.value; update({ name: strValue, }); }} value={name} placeholder={t('placeholder.name')}/> {!isNew ? ( <> ) : (<> { if (!value && !password2) { setValidateHelp1(''); setValidateStatus(''); return; } if (value.length < 8) { setValidateHelp1('密码最短长度为8位'); setValidateStatus('error'); return; } else { if (password2) { setValidateHelp(value === password2 ? '' : '两次输入的密码不一致,请检查'); setValidateStatus(value === password2 ? 'success' : 'error'); } else { setValidateHelp('请再次确认密码'); setValidateStatus('error'); } } }, }, ]} hasFeedback validateStatus={validateStatus}> { const strValue = e.target.value; update({ password: strValue, }); setPasswordConfirm(password2 || strValue ? password2 === strValue : true); }} iconRender={(visible) => visible ? () : ()} placeholder={t('placeholder.password')}/> { if (!value && !password) { setValidateHelp(''); setValidateStatus(''); return; } if (password.length < 8) { return; } setValidateHelp(value === password ? '' : '两次输入的密码不一致,请检查'); setValidateStatus(value === password ? 'success' : 'error'); }, }, ]} validateTrigger="onChange" help={validateHelp} validateStatus={validateStatus} hasFeedback> { const strValue = e.target.value; setPassword2(strValue); if (password === strValue) { update({ passwordSha1: encryptPasswordSha1(password), }); } setPasswordConfirm(password || strValue ? password === strValue : true); }} iconRender={(visible) => visible ? () : ()} placeholder={'请再次输入密码'}/> )} ); }