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 | 121 ++++++++++++++++++++++++++-------------- 1 files changed, 78 insertions(+), 43 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 cf44e7d..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,41 +66,42 @@ hidden={true} /> <ProForm.Group> - <ProFormSelect + <ProFormTreeSelect 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; + params={props.treeData} + request={async () => { + return props.treeData; }} - /> - <ProFormText - name="nickname" - label="鍚嶇О" colProps={{ md: 12, xl: 12 }} - placeholder="璇疯緭鍏�" - rules={[{ required: true, message: "鍚嶇О涓嶈兘涓虹┖锛�" }]} + fieldProps={{ + treeDefaultExpandedKeys: [0] + }} + rules={[{ required: true }]} /> - - </ProForm.Group> - <ProForm.Group> <ProFormText name="username" label="鐧诲綍璐﹀彿" colProps={{ md: 12, xl: 12 }} - placeholder="璇疯緭鍏�" - rules={[{ required: true, message: "鐧诲綍璐﹀彿涓嶈兘涓虹┖锛�" }]} + rules={[{ required: true }]} /> + </ProForm.Group> + <ProForm.Group> <ProFormText - name="password" - label="鐧诲綍瀵嗙爜" + name="nickname" + label="鍚嶇О" colProps={{ md: 12, xl: 12 }} - placeholder="璇疯緭鍏�" + rules={[{ required: true }]} + /> + <ProFormSelect + name="sex" + label="鎬у埆" + colProps={{ md: 12, xl: 12 }} + options={[ + { label: '鏈煡', value: 0 }, + { label: '鐢�', value: 1 }, + { label: '濂�', value: 2 }, + ]} /> </ProForm.Group> <ProForm.Group> @@ -100,12 +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="璇疯緭鍏�" + rules={[ + { + type: 'email', + message: '璇疯緭鍏ユ纭殑閭鍦板潃!', + }, + { + required: false, + }, + ]} /> </ProForm.Group> <ProForm.Group> @@ -113,39 +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> - <ProFormSelect - name="sex" - label="鎬у埆" - colProps={{ md: 12, xl: 12 }} - placeholder="璇烽�夋嫨" - options={[ - { label: '鏈煡', value: 0 }, - { label: '鐢�', value: 1 }, - { label: '濂�', value: 2 }, - ]} - /> - <ProFormSelect + <ProFormRadio.Group name="status" label="鐘舵��" colProps={{ md: 12, xl: 12 }} - placeholder="璇烽�夋嫨" options={[ { label: '姝e父', value: 1 }, { label: '绂佺敤', value: 0 }, ]} + rules={[ + { + required: true, + }, + ]} + /> + <ProFormSelect + name="roleIds" + mode="multiple" + label="瑙掕壊" + colProps={{ md: 12, xl: 12 }} + rules={[{ required: true, type: 'array', message: '瑙掕壊涓嶈兘涓虹┖!' }]} + request={async ({ 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