From ac4341ea6b66ae02427d39d35f41d42d78b2eb2e Mon Sep 17 00:00:00 2001 From: Junjie <fallin.jie@qq.com> Date: 星期五, 14 二月 2025 10:08:32 +0800 Subject: [PATCH] # --- zy-asrs-flow/src/pages/system/user/components/edit.jsx | 173 +++++++++++++++++++++------------------------------------ 1 files changed, 63 insertions(+), 110 deletions(-) diff --git a/zy-asrs-flow/src/pages/system/user/components/edit.jsx b/zy-asrs-flow/src/pages/system/user/components/edit.jsx index 257eaad..c5d0cff 100644 --- a/zy-asrs-flow/src/pages/system/user/components/edit.jsx +++ b/zy-asrs-flow/src/pages/system/user/components/edit.jsx @@ -4,20 +4,25 @@ ProFormDigit, ProFormText, ProFormSelect, - ProFormDateTimePicker + ProFormTreeSelect, + ProFormTextArea, + ProFormRadio } from '@ant-design/pro-components'; +import { FormattedMessage, useIntl } from '@umijs/max'; import { Form, Modal } from 'antd'; import moment from 'moment'; import Http from '@/utils/http'; const Edit = (props) => { + const intl = useIntl(); const [form] = Form.useForm(); const { } = props; useEffect(() => { form.resetFields(); form.setFieldsValue({ - ...props.values + ...props.values, + roleIds: props.values.userRoleIds }) }, [form, props]) @@ -36,7 +41,11 @@ return ( <> <Modal - title="Edit" + title={ + Object.keys(props.values).length > 0 + ? intl.formatMessage({ id: 'page.edit', defaultMessage: '缂栬緫' }) + : intl.formatMessage({ id: 'page.add', defaultMessage: '娣诲姞' }) + } width={640} forceRender destroyOnClose @@ -57,46 +66,37 @@ hidden={true} /> <ProForm.Group> - <ProFormText - name="username" - label="璐﹀彿" + <ProFormTreeSelect + name="deptId" + label="鎵�灞為儴闂�" + params={props.treeData} + request={async () => { + return props.treeData; + }} colProps={{ md: 12, xl: 12 }} - placeholder="璇疯緭鍏�" - rules={[{ required: true, message: "璐﹀彿涓嶈兘涓虹┖锛�" }]} + fieldProps={{ + treeDefaultExpandedKeys: [0] + }} + rules={[{ required: true }]} /> <ProFormText - name="password" - label="瀵嗙爜" + name="username" + label="鐧诲綍璐﹀彿" colProps={{ md: 12, xl: 12 }} - placeholder="璇疯緭鍏�" + rules={[{ required: true }]} /> </ProForm.Group> <ProForm.Group> <ProFormText name="nickname" - label="鏄电О" + label="鍚嶇О" colProps={{ md: 12, xl: 12 }} - placeholder="璇疯緭鍏�" - /> - <ProFormText - name="avatar" - label="澶村儚" - colProps={{ md: 12, xl: 12 }} - placeholder="璇疯緭鍏�" - /> - </ProForm.Group> - <ProForm.Group> - <ProFormText - name="code" - label="宸ュ彿" - colProps={{ md: 12, xl: 12 }} - placeholder="璇疯緭鍏�" + rules={[{ required: true }]} /> <ProFormSelect name="sex" label="鎬у埆" colProps={{ md: 12, xl: 12 }} - placeholder="璇烽�夋嫨" options={[ { label: '鏈煡', value: 0 }, { label: '鐢�', value: 1 }, @@ -110,37 +110,31 @@ label="鎵嬫満鍙�" colProps={{ md: 12, xl: 12 }} placeholder="璇疯緭鍏�" + rules={[ + { + pattern: /^1[3456789]\d{9}$/, + message: '璇疯緭鍏ユ纭殑鎵嬫満鍙风爜!', + }, + { + required: false, + message: '鎵嬫満鍙风爜涓嶈兘涓虹┖!', + }, + ]} + /> <ProFormText name="email" label="閭" colProps={{ md: 12, xl: 12 }} - placeholder="璇疯緭鍏�" - /> - </ProForm.Group> - <ProForm.Group> - <ProFormSelect - name="emailVerified" - label="閭楠岃瘉" - colProps={{ md: 12, xl: 12 }} - placeholder="璇烽�夋嫨" - options={[ - { label: '鍚�', value: 0 }, - { label: '鏄�', value: 1 }, + rules={[ + { + type: 'email', + message: '璇疯緭鍏ユ纭殑閭鍦板潃!', + }, + { + required: false, + }, ]} - /> - <ProFormSelect - name="deptId" - label="鎵�灞為儴闂�" - colProps={{ md: 12, xl: 12 }} - fieldProps={{ precision: 0 }} - placeholder="璇烽�夋嫨" - showSearch - debounceTime={300} - request={async ({ keyWords }) => { - const resp = await Http.doPostForm('api/dept/query', { condition: keyWords }); - return resp.data; - }} /> </ProForm.Group> <ProForm.Group> @@ -148,86 +142,45 @@ name="realName" label="鐪熷疄濮撳悕" colProps={{ md: 12, xl: 12 }} - placeholder="璇疯緭鍏�" /> <ProFormText name="idCard" label="韬唤璇佸彿" colProps={{ md: 12, xl: 12 }} - placeholder="璇疯緭鍏�" /> </ProForm.Group> <ProForm.Group> - <ProFormText - name="birthday" - label="鍑虹敓鏃ユ湡" - colProps={{ md: 12, xl: 12 }} - placeholder="璇疯緭鍏�" - /> - <ProFormText - name="introduction" - label="涓汉绠�浠�" - colProps={{ md: 12, xl: 12 }} - placeholder="璇疯緭鍏�" - /> - </ProForm.Group> - <ProForm.Group> - <ProFormSelect + <ProFormRadio.Group name="status" label="鐘舵��" colProps={{ md: 12, xl: 12 }} - placeholder="璇烽�夋嫨" options={[ { label: '姝e父', value: 1 }, { label: '绂佺敤', value: 0 }, ]} + rules={[ + { + required: true, + }, + ]} /> - <ProFormDateTimePicker - name="createTime" - label="娣诲姞鏃堕棿" - colProps={{ md: 12, xl: 12 }} - placeholder="璇烽�夋嫨" - transform={(value) => moment(value).toISOString()} - /> - </ProForm.Group> - <ProForm.Group> <ProFormSelect - name="createBy" - label="娣诲姞浜哄憳" + name="roleIds" + mode="multiple" + label="瑙掕壊" colProps={{ md: 12, xl: 12 }} - fieldProps={{ precision: 0 }} - placeholder="璇烽�夋嫨" - showSearch - debounceTime={300} + rules={[{ required: true, type: 'array', message: '瑙掕壊涓嶈兘涓虹┖!' }]} request={async ({ keyWords }) => { - const resp = await Http.doPostForm('api/user/query', { condition: keyWords }); - return resp.data; - }} - /> - <ProFormDateTimePicker - name="updateTime" - label="淇敼鏃堕棿" - colProps={{ md: 12, xl: 12 }} - placeholder="璇烽�夋嫨" - transform={(value) => moment(value).toISOString()} - /> - </ProForm.Group> - <ProForm.Group> - <ProFormSelect - name="updateBy" - label="淇敼浜哄憳" - colProps={{ md: 12, xl: 12 }} - fieldProps={{ precision: 0 }} - placeholder="璇烽�夋嫨" - showSearch - debounceTime={300} - request={async ({ keyWords }) => { - const resp = await Http.doPostForm('api/user/query', { condition: keyWords }); + const resp = await Http.doPostForm('api/role/query', { condition: keyWords }); return resp.data; }} /> </ProForm.Group> - + <ProFormTextArea + name="memo" + label="澶囨敞" + colProps={{ md: 24, xl: 24 }} + /> </ProForm> </Modal> </> -- Gitblit v1.9.1