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