| @@ -33,6 +33,10 @@ export type JobFormProps = { | |||||
| const JobForm: React.FC<JobFormProps> = (props) => { | const JobForm: React.FC<JobFormProps> = (props) => { | ||||
| const [form] = Form.useForm(); | const [form] = Form.useForm(); | ||||
| const { jobGroupOptions, statusOptions } = props; | const { jobGroupOptions, statusOptions } = props; | ||||
| const formLayout = { | |||||
| labelCol: { span: 5 }, | |||||
| wrapperCol: { span: 19 }, | |||||
| }; | |||||
| useEffect(() => { | useEffect(() => { | ||||
| form.resetFields(); | form.resetFields(); | ||||
| @@ -44,7 +48,7 @@ const JobForm: React.FC<JobFormProps> = (props) => { | |||||
| cronExpression: props.values.cronExpression, | cronExpression: props.values.cronExpression, | ||||
| misfirePolicy: props.values.misfirePolicy, | misfirePolicy: props.values.misfirePolicy, | ||||
| concurrent: props.values.concurrent, | concurrent: props.values.concurrent, | ||||
| status: props.values.status, | |||||
| status: props.values.status ?? Object.keys(statusOptions)[0], | |||||
| createBy: props.values.createBy, | createBy: props.values.createBy, | ||||
| createTime: props.values.createTime, | createTime: props.values.createTime, | ||||
| updateBy: props.values.updateBy, | updateBy: props.values.updateBy, | ||||
| @@ -67,7 +71,7 @@ const JobForm: React.FC<JobFormProps> = (props) => { | |||||
| return ( | return ( | ||||
| <KFModal | <KFModal | ||||
| width={640} | |||||
| width={680} | |||||
| title={intl.formatMessage({ | title={intl.formatMessage({ | ||||
| id: 'monitor.job.title', | id: 'monitor.job.title', | ||||
| defaultMessage: '编辑定时任务调度', | defaultMessage: '编辑定时任务调度', | ||||
| @@ -84,6 +88,8 @@ const JobForm: React.FC<JobFormProps> = (props) => { | |||||
| submitter={false} | submitter={false} | ||||
| layout="horizontal" | layout="horizontal" | ||||
| onFinish={handleFinish} | onFinish={handleFinish} | ||||
| {...formLayout} | |||||
| size="large" | |||||
| > | > | ||||
| <ProFormDigit | <ProFormDigit | ||||
| name="jobId" | name="jobId" | ||||
| @@ -24,8 +24,16 @@ export type DeptFormProps = { | |||||
| const DeptForm: React.FC<DeptFormProps> = (props) => { | const DeptForm: React.FC<DeptFormProps> = (props) => { | ||||
| const [form] = Form.useForm(); | const [form] = Form.useForm(); | ||||
| const { statusOptions, deptTree } = props; | const { statusOptions, deptTree } = props; | ||||
| const formLayout = { | |||||
| labelCol: { span: 8 }, | |||||
| wrapperCol: { span: 16 }, | |||||
| }; | |||||
| const formItemLayout = { | |||||
| labelCol: { span: 4 }, | |||||
| wrapperCol: { span: 20 }, | |||||
| }; | |||||
| useEffect(() => { | useEffect(() => { | ||||
| form.resetFields(); | form.resetFields(); | ||||
| @@ -34,11 +42,11 @@ const DeptForm: React.FC<DeptFormProps> = (props) => { | |||||
| parentId: props.values.parentId, | parentId: props.values.parentId, | ||||
| ancestors: props.values.ancestors, | ancestors: props.values.ancestors, | ||||
| deptName: props.values.deptName, | deptName: props.values.deptName, | ||||
| orderNum: props.values.orderNum, | |||||
| orderNum: props.values.orderNum ?? 1, | |||||
| leader: props.values.leader, | leader: props.values.leader, | ||||
| phone: props.values.phone, | phone: props.values.phone, | ||||
| email: props.values.email, | email: props.values.email, | ||||
| status: props.values.status, | |||||
| status: props.values.status ?? Object.keys(statusOptions)[0], | |||||
| delFlag: props.values.delFlag, | delFlag: props.values.delFlag, | ||||
| createBy: props.values.createBy, | createBy: props.values.createBy, | ||||
| createTime: props.values.createTime, | createTime: props.values.createTime, | ||||
| @@ -60,7 +68,7 @@ const DeptForm: React.FC<DeptFormProps> = (props) => { | |||||
| return ( | return ( | ||||
| <KFModal | <KFModal | ||||
| width={640} | |||||
| width={680} | |||||
| title={intl.formatMessage({ | title={intl.formatMessage({ | ||||
| id: 'system.dept.title', | id: 'system.dept.title', | ||||
| defaultMessage: '编辑部门', | defaultMessage: '编辑部门', | ||||
| @@ -77,6 +85,8 @@ const DeptForm: React.FC<DeptFormProps> = (props) => { | |||||
| submitter={false} | submitter={false} | ||||
| layout="horizontal" | layout="horizontal" | ||||
| onFinish={handleFinish} | onFinish={handleFinish} | ||||
| {...formLayout} | |||||
| size="large" | |||||
| > | > | ||||
| <ProFormDigit | <ProFormDigit | ||||
| name="deptId" | name="deptId" | ||||
| @@ -104,6 +114,7 @@ const DeptForm: React.FC<DeptFormProps> = (props) => { | |||||
| request={async () => { | request={async () => { | ||||
| return deptTree; | return deptTree; | ||||
| }} | }} | ||||
| {...formItemLayout} | |||||
| placeholder="请选择上级部门" | placeholder="请选择上级部门" | ||||
| rules={[ | rules={[ | ||||
| { | { | ||||
| @@ -185,6 +196,15 @@ const DeptForm: React.FC<DeptFormProps> = (props) => { | |||||
| required: false, | required: false, | ||||
| message: <FormattedMessage id="请输入邮箱!" defaultMessage="请输入邮箱!" />, | message: <FormattedMessage id="请输入邮箱!" defaultMessage="请输入邮箱!" />, | ||||
| }, | }, | ||||
| { | |||||
| type: 'email', | |||||
| message: ( | |||||
| <FormattedMessage | |||||
| id="请输入正确的邮箱格式!" | |||||
| defaultMessage="请输入正确的邮箱格式!" | |||||
| /> | |||||
| ), | |||||
| }, | |||||
| ]} | ]} | ||||
| /> | /> | ||||
| <ProFormRadio.Group | <ProFormRadio.Group | ||||
| @@ -22,8 +22,11 @@ export type DictTypeFormProps = { | |||||
| const DictTypeForm: React.FC<DictTypeFormProps> = (props) => { | const DictTypeForm: React.FC<DictTypeFormProps> = (props) => { | ||||
| const [form] = Form.useForm(); | const [form] = Form.useForm(); | ||||
| const { statusOptions } = props; | const { statusOptions } = props; | ||||
| const formLayout = { | |||||
| labelCol: { span: 4 }, | |||||
| wrapperCol: { span: 20 }, | |||||
| }; | |||||
| useEffect(() => { | useEffect(() => { | ||||
| form.resetFields(); | form.resetFields(); | ||||
| @@ -31,7 +34,7 @@ const DictTypeForm: React.FC<DictTypeFormProps> = (props) => { | |||||
| dictId: props.values.dictId, | dictId: props.values.dictId, | ||||
| dictName: props.values.dictName, | dictName: props.values.dictName, | ||||
| dictType: props.values.dictType, | dictType: props.values.dictType, | ||||
| status: props.values.status, | |||||
| status: props.values.status ?? Object.keys(statusOptions)[0], | |||||
| createBy: props.values.createBy, | createBy: props.values.createBy, | ||||
| createTime: props.values.createTime, | createTime: props.values.createTime, | ||||
| updateBy: props.values.updateBy, | updateBy: props.values.updateBy, | ||||
| @@ -53,7 +56,7 @@ const DictTypeForm: React.FC<DictTypeFormProps> = (props) => { | |||||
| return ( | return ( | ||||
| <KFModal | <KFModal | ||||
| width={640} | |||||
| width={680} | |||||
| title={intl.formatMessage({ | title={intl.formatMessage({ | ||||
| id: 'system.dict.title', | id: 'system.dict.title', | ||||
| defaultMessage: '编辑字典类型', | defaultMessage: '编辑字典类型', | ||||
| @@ -70,6 +73,8 @@ const DictTypeForm: React.FC<DictTypeFormProps> = (props) => { | |||||
| submitter={false} | submitter={false} | ||||
| layout="horizontal" | layout="horizontal" | ||||
| onFinish={handleFinish} | onFinish={handleFinish} | ||||
| {...formLayout} | |||||
| size="large" | |||||
| > | > | ||||
| <ProFormDigit | <ProFormDigit | ||||
| name="dictId" | name="dictId" | ||||
| @@ -22,8 +22,11 @@ export type PostFormProps = { | |||||
| const PostForm: React.FC<PostFormProps> = (props) => { | const PostForm: React.FC<PostFormProps> = (props) => { | ||||
| const [form] = Form.useForm(); | const [form] = Form.useForm(); | ||||
| const { statusOptions } = props; | const { statusOptions } = props; | ||||
| const formLayout = { | |||||
| labelCol: { span: 4 }, | |||||
| wrapperCol: { span: 20 }, | |||||
| }; | |||||
| useEffect(() => { | useEffect(() => { | ||||
| form.resetFields(); | form.resetFields(); | ||||
| @@ -31,8 +34,8 @@ const PostForm: React.FC<PostFormProps> = (props) => { | |||||
| postId: props.values.postId, | postId: props.values.postId, | ||||
| postCode: props.values.postCode, | postCode: props.values.postCode, | ||||
| postName: props.values.postName, | postName: props.values.postName, | ||||
| postSort: props.values.postSort, | |||||
| status: props.values.status, | |||||
| postSort: props.values.postSort ?? 1, | |||||
| status: props.values.status ?? Object.keys(statusOptions)[0], | |||||
| createBy: props.values.createBy, | createBy: props.values.createBy, | ||||
| createTime: props.values.createTime, | createTime: props.values.createTime, | ||||
| updateBy: props.values.updateBy, | updateBy: props.values.updateBy, | ||||
| @@ -54,7 +57,7 @@ const PostForm: React.FC<PostFormProps> = (props) => { | |||||
| return ( | return ( | ||||
| <KFModal | <KFModal | ||||
| width={640} | |||||
| width={680} | |||||
| title={intl.formatMessage({ | title={intl.formatMessage({ | ||||
| id: 'system.post.title', | id: 'system.post.title', | ||||
| defaultMessage: '编辑岗位信息', | defaultMessage: '编辑岗位信息', | ||||
| @@ -71,6 +74,8 @@ const PostForm: React.FC<PostFormProps> = (props) => { | |||||
| submitter={false} | submitter={false} | ||||
| layout="horizontal" | layout="horizontal" | ||||
| onFinish={handleFinish} | onFinish={handleFinish} | ||||
| {...formLayout} | |||||
| size="large" | |||||
| > | > | ||||
| <ProFormDigit | <ProFormDigit | ||||
| name="postId" | name="postId" | ||||
| @@ -29,17 +29,22 @@ const RoleForm: React.FC<RoleFormProps> = (props) => { | |||||
| const [menuIds, setMenuIds] = useState<string[]>([]); | const [menuIds, setMenuIds] = useState<string[]>([]); | ||||
| const { statusOptions } = props; | const { statusOptions } = props; | ||||
| const formLayout = { | |||||
| labelCol: { span: 4 }, | |||||
| wrapperCol: { span: 20 }, | |||||
| }; | |||||
| useEffect(() => { | useEffect(() => { | ||||
| form.resetFields(); | form.resetFields(); | ||||
| form.setFieldsValue({ | form.setFieldsValue({ | ||||
| roleId: props.values.roleId, | roleId: props.values.roleId, | ||||
| roleName: props.values.roleName, | roleName: props.values.roleName, | ||||
| roleKey: props.values.roleKey, | roleKey: props.values.roleKey, | ||||
| roleSort: props.values.roleSort, | |||||
| roleSort: props.values.roleSort ?? 1, | |||||
| dataScope: props.values.dataScope, | dataScope: props.values.dataScope, | ||||
| menuCheckStrictly: props.values.menuCheckStrictly, | menuCheckStrictly: props.values.menuCheckStrictly, | ||||
| deptCheckStrictly: props.values.deptCheckStrictly, | deptCheckStrictly: props.values.deptCheckStrictly, | ||||
| status: props.values.status, | |||||
| status: props.values.status ?? Object.keys(statusOptions)[0], | |||||
| delFlag: props.values.delFlag, | delFlag: props.values.delFlag, | ||||
| createBy: props.values.createBy, | createBy: props.values.createBy, | ||||
| createTime: props.values.createTime, | createTime: props.values.createTime, | ||||
| @@ -62,7 +67,7 @@ const RoleForm: React.FC<RoleFormProps> = (props) => { | |||||
| return ( | return ( | ||||
| <KFModal | <KFModal | ||||
| width={640} | |||||
| width={680} | |||||
| title={intl.formatMessage({ | title={intl.formatMessage({ | ||||
| id: 'system.role.title', | id: 'system.role.title', | ||||
| defaultMessage: '编辑角色信息', | defaultMessage: '编辑角色信息', | ||||
| @@ -79,6 +84,8 @@ const RoleForm: React.FC<RoleFormProps> = (props) => { | |||||
| layout="horizontal" | layout="horizontal" | ||||
| submitter={false} | submitter={false} | ||||
| onFinish={handleFinish} | onFinish={handleFinish} | ||||
| {...formLayout} | |||||
| size="large" | |||||
| > | > | ||||
| <ProFormDigit | <ProFormDigit | ||||
| name="roleId" | name="roleId" | ||||
| @@ -142,9 +149,6 @@ const RoleForm: React.FC<RoleFormProps> = (props) => { | |||||
| message: <FormattedMessage id="请输入显示顺序!" defaultMessage="请输入显示顺序!" />, | message: <FormattedMessage id="请输入显示顺序!" defaultMessage="请输入显示顺序!" />, | ||||
| }, | }, | ||||
| ]} | ]} | ||||
| fieldProps={{ | |||||
| defaultValue: 1, | |||||
| }} | |||||
| /> | /> | ||||
| <ProFormRadio.Group | <ProFormRadio.Group | ||||
| valueEnum={statusOptions} | valueEnum={statusOptions} | ||||
| @@ -160,9 +164,6 @@ const RoleForm: React.FC<RoleFormProps> = (props) => { | |||||
| message: <FormattedMessage id="请输入角色状态!" defaultMessage="请输入角色状态!" />, | message: <FormattedMessage id="请输入角色状态!" defaultMessage="请输入角色状态!" />, | ||||
| }, | }, | ||||
| ]} | ]} | ||||
| fieldProps={{ | |||||
| defaultValue: '0', | |||||
| }} | |||||
| /> | /> | ||||
| <ProForm.Item | <ProForm.Item | ||||
| name="menuIds" | name="menuIds" | ||||
| @@ -170,6 +171,7 @@ const RoleForm: React.FC<RoleFormProps> = (props) => { | |||||
| id: 'system.role.auth', | id: 'system.role.auth', | ||||
| defaultMessage: '菜单权限', | defaultMessage: '菜单权限', | ||||
| })} | })} | ||||
| style={{ width: '100%' }} | |||||
| > | > | ||||
| <Tree | <Tree | ||||
| checkable={true} | checkable={true} | ||||
| @@ -18,19 +18,17 @@ export type TreeProps = { | |||||
| const DeptTree: React.FC<TreeProps> = (props) => { | const DeptTree: React.FC<TreeProps> = (props) => { | ||||
| const [treeData, setTreeData] = useState<any>([]); | const [treeData, setTreeData] = useState<any>([]); | ||||
| const [expandedKeys, setExpandedKeys] = useState<React.Key[]>([]); | const [expandedKeys, setExpandedKeys] = useState<React.Key[]>([]); | ||||
| const [autoExpandParent, setAutoExpandParent] = useState<boolean>(true); | |||||
| const [selectedKeys, setSelectedKeys] = useState<React.Key[]>([]); | |||||
| const fetchDeptList = async () => { | const fetchDeptList = async () => { | ||||
| const hide = message.loading('正在查询'); | const hide = message.loading('正在查询'); | ||||
| try { | try { | ||||
| await getDeptTree({}).then((res: any) => { | |||||
| const exKeys = []; | |||||
| exKeys.push('1'); | |||||
| setTreeData(res); | |||||
| exKeys.push(res[0].children[0].id); | |||||
| setExpandedKeys(exKeys); | |||||
| props.onSelect(res[0].children[0]); | |||||
| }); | |||||
| const res = await getDeptTree({}); | |||||
| const treeData = res.map((item: any) => ({ ...item, key: item.id })); | |||||
| setTreeData(treeData); | |||||
| props.onSelect(treeData[0]); | |||||
| setExpandedKeys([treeData[0].key]); | |||||
| setSelectedKeys([treeData[0].key]); | |||||
| hide(); | hide(); | ||||
| return true; | return true; | ||||
| } catch (error) { | } catch (error) { | ||||
| @@ -44,12 +42,12 @@ const DeptTree: React.FC<TreeProps> = (props) => { | |||||
| }, []); | }, []); | ||||
| const onSelect = (keys: React.Key[], info: any) => { | const onSelect = (keys: React.Key[], info: any) => { | ||||
| setSelectedKeys(keys); | |||||
| props.onSelect(info.node); | props.onSelect(info.node); | ||||
| }; | }; | ||||
| const onExpand = (expandedKeysValue: React.Key[]) => { | |||||
| setExpandedKeys(expandedKeysValue); | |||||
| setAutoExpandParent(false); | |||||
| const onExpand = (keys: React.Key[]) => { | |||||
| setExpandedKeys(keys); | |||||
| }; | }; | ||||
| return ( | return ( | ||||
| @@ -58,7 +56,7 @@ const DeptTree: React.FC<TreeProps> = (props) => { | |||||
| defaultExpandAll | defaultExpandAll | ||||
| onExpand={onExpand} | onExpand={onExpand} | ||||
| expandedKeys={expandedKeys} | expandedKeys={expandedKeys} | ||||
| autoExpandParent={autoExpandParent} | |||||
| selectedKeys={selectedKeys} | |||||
| onSelect={onSelect} | onSelect={onSelect} | ||||
| treeData={treeData} | treeData={treeData} | ||||
| /> | /> | ||||
| @@ -34,6 +34,15 @@ const UserForm: React.FC<UserFormProps> = (props) => { | |||||
| const userId = Form.useWatch('userId', form); | const userId = Form.useWatch('userId', form); | ||||
| const { sexOptions, statusOptions } = props; | const { sexOptions, statusOptions } = props; | ||||
| const { roles, posts, depts } = props; | const { roles, posts, depts } = props; | ||||
| const formLayout = { | |||||
| labelCol: { span: 8 }, | |||||
| wrapperCol: { span: 16 }, | |||||
| }; | |||||
| const formItemLayout = { | |||||
| labelCol: { span: 4 }, | |||||
| wrapperCol: { span: 20 }, | |||||
| }; | |||||
| useEffect(() => { | useEffect(() => { | ||||
| form.resetFields(); | form.resetFields(); | ||||
| @@ -42,13 +51,13 @@ const UserForm: React.FC<UserFormProps> = (props) => { | |||||
| deptId: props.values.deptId, | deptId: props.values.deptId, | ||||
| postIds: props.postIds, | postIds: props.postIds, | ||||
| roleIds: props.roleIds, | roleIds: props.roleIds, | ||||
| userName: props.values.userName, | |||||
| userName: props.values.userName ?? '', | |||||
| nickName: props.values.nickName, | nickName: props.values.nickName, | ||||
| email: props.values.email, | email: props.values.email, | ||||
| phonenumber: props.values.phonenumber, | phonenumber: props.values.phonenumber, | ||||
| sex: props.values.sex, | |||||
| sex: props.values.sex || '0', | |||||
| avatar: props.values.avatar, | avatar: props.values.avatar, | ||||
| status: props.values.status, | |||||
| status: props.values.status || Object.keys(statusOptions)[0], | |||||
| delFlag: props.values.delFlag, | delFlag: props.values.delFlag, | ||||
| loginIp: props.values.loginIp, | loginIp: props.values.loginIp, | ||||
| loginDate: props.values.loginDate, | loginDate: props.values.loginDate, | ||||
| @@ -69,7 +78,7 @@ const UserForm: React.FC<UserFormProps> = (props) => { | |||||
| return ( | return ( | ||||
| <KFModal | <KFModal | ||||
| width={640} | |||||
| width={680} | |||||
| title={intl.formatMessage({ | title={intl.formatMessage({ | ||||
| id: 'system.user.title', | id: 'system.user.title', | ||||
| defaultMessage: '编辑用户信息', | defaultMessage: '编辑用户信息', | ||||
| @@ -85,6 +94,10 @@ const UserForm: React.FC<UserFormProps> = (props) => { | |||||
| layout="horizontal" | layout="horizontal" | ||||
| submitter={false} | submitter={false} | ||||
| onFinish={handleFinish} | onFinish={handleFinish} | ||||
| {...formLayout} | |||||
| size="large" | |||||
| labelAlign="right" | |||||
| autoComplete="off" | |||||
| > | > | ||||
| <ProFormText | <ProFormText | ||||
| name="nickName" | name="nickName" | ||||
| @@ -132,6 +145,15 @@ const UserForm: React.FC<UserFormProps> = (props) => { | |||||
| required: false, | required: false, | ||||
| message: <FormattedMessage id="请输入手机号码!" defaultMessage="请输入手机号码!" />, | message: <FormattedMessage id="请输入手机号码!" defaultMessage="请输入手机号码!" />, | ||||
| }, | }, | ||||
| { | |||||
| pattern: /^1[3|4|5|6|7|8|9][0-9]\d{8}$/, | |||||
| message: ( | |||||
| <FormattedMessage | |||||
| id="请输入正确的手机号码!" | |||||
| defaultMessage="请输入正确的手机号码!" | |||||
| /> | |||||
| ), | |||||
| }, | |||||
| ]} | ]} | ||||
| /> | /> | ||||
| <ProFormText | <ProFormText | ||||
| @@ -147,6 +169,15 @@ const UserForm: React.FC<UserFormProps> = (props) => { | |||||
| required: false, | required: false, | ||||
| message: <FormattedMessage id="请输入用户邮箱!" defaultMessage="请输入用户邮箱!" />, | message: <FormattedMessage id="请输入用户邮箱!" defaultMessage="请输入用户邮箱!" />, | ||||
| }, | }, | ||||
| { | |||||
| type: 'email', | |||||
| message: ( | |||||
| <FormattedMessage | |||||
| id="请输入正确的邮箱地址!" | |||||
| defaultMessage="请输入正确的邮箱地址!" | |||||
| /> | |||||
| ), | |||||
| }, | |||||
| ]} | ]} | ||||
| /> | /> | ||||
| <ProFormText | <ProFormText | ||||
| @@ -158,6 +189,9 @@ const UserForm: React.FC<UserFormProps> = (props) => { | |||||
| hidden={userId} | hidden={userId} | ||||
| placeholder="请输入用户账号" | placeholder="请输入用户账号" | ||||
| colProps={{ md: 12, xl: 12 }} | colProps={{ md: 12, xl: 12 }} | ||||
| fieldProps={{ | |||||
| autoComplete: 'off', | |||||
| }} | |||||
| rules={[ | rules={[ | ||||
| { | { | ||||
| required: true, | required: true, | ||||
| @@ -173,6 +207,10 @@ const UserForm: React.FC<UserFormProps> = (props) => { | |||||
| hidden={userId} | hidden={userId} | ||||
| placeholder="请输入密码" | placeholder="请输入密码" | ||||
| colProps={{ md: 12, xl: 12 }} | colProps={{ md: 12, xl: 12 }} | ||||
| fieldProps={{ | |||||
| autoComplete: 'new-password', | |||||
| }} | |||||
| allowClear | |||||
| rules={[ | rules={[ | ||||
| { | { | ||||
| required: false, | required: false, | ||||
| @@ -187,7 +225,6 @@ const UserForm: React.FC<UserFormProps> = (props) => { | |||||
| id: 'system.user.sex', | id: 'system.user.sex', | ||||
| defaultMessage: '用户性别', | defaultMessage: '用户性别', | ||||
| })} | })} | ||||
| initialValue={'0'} | |||||
| placeholder="请输入用户性别" | placeholder="请输入用户性别" | ||||
| colProps={{ md: 12, xl: 12 }} | colProps={{ md: 12, xl: 12 }} | ||||
| rules={[ | rules={[ | ||||
| @@ -204,7 +241,6 @@ const UserForm: React.FC<UserFormProps> = (props) => { | |||||
| id: 'system.user.status', | id: 'system.user.status', | ||||
| defaultMessage: '帐号状态', | defaultMessage: '帐号状态', | ||||
| })} | })} | ||||
| initialValue={'0'} | |||||
| placeholder="请输入帐号状态" | placeholder="请输入帐号状态" | ||||
| colProps={{ md: 12, xl: 12 }} | colProps={{ md: 12, xl: 12 }} | ||||
| rules={[ | rules={[ | ||||
| @@ -246,6 +282,7 @@ const UserForm: React.FC<UserFormProps> = (props) => { | |||||
| })} | })} | ||||
| placeholder="请输入备注" | placeholder="请输入备注" | ||||
| colProps={{ md: 24, xl: 24 }} | colProps={{ md: 24, xl: 24 }} | ||||
| {...formItemLayout} | |||||
| rules={[ | rules={[ | ||||
| { | { | ||||
| required: false, | required: false, | ||||
| @@ -429,6 +429,8 @@ const UserTableList: React.FC = () => { | |||||
| ); | ); | ||||
| } | } | ||||
| setCurrentRow(undefined); | setCurrentRow(undefined); | ||||
| setPostIds([]); | |||||
| setRoleIds([]); | |||||
| setModalVisible(true); | setModalVisible(true); | ||||
| }} | }} | ||||
| > | > | ||||