import { ERROR_CODE, GENDER_OPTIONS, PRIOPRITY_OPTIONS, USER_TYPE_OPTIONS, } from '@/constants/constants'; import { addUser, editUser, getUserById } from '@/services/userList'; import { Button, DatePicker, Form, Input, message, Modal, Radio, Select, TreeSelect, } from 'antd'; import React, { useEffect } from 'react'; interface UserEditModalProps { // visible: boolean; orgTreeData: User.OrganizationNode[]; onCancel: () => void; onOk: (values?: any) => void; confirmLoading?: boolean; currentUserInfo?: User.UserModalBaseNode; selectedOrg?: number; } const UserEditModal: React.FC = ({ orgTreeData, onCancel, onOk, confirmLoading = false, currentUserInfo, }) => { const { recordData, visible, selectedOrg } = currentUserInfo || {}; const { id } = recordData || {}; const [form] = Form.useForm(); useEffect(() => { if (id) { getUserById({ id }).then((res) => { const { data } = res; form.setFieldsValue(data); }); } else { const initialValues = { user_group_id: selectedOrg ? selectedOrg : null, status: 1, }; form.setFieldsValue(initialValues); } }, [visible, form, recordData, selectedOrg]); const handleOk = async () => { const values = await form.validateFields(); try { const params = { ...values }; if (id) { params.id = id; } const result: any = id ? await editUser(params) : await addUser(params); const { code } = result || {}; if (code === ERROR_CODE) { onOk(); } else { message.error('保存失败'); } } catch (error) { message.error('请检查表单字段'); } }; const validateMessages = { required: '${label} is required!', types: { email: '${label} is not a valid email!', number: '${label} is not a valid number!', }, number: { range: '${label} must be between ${min} and ${max}', }, }; // Password validation rule const passwordValidator = (_: any, value: string) => { if (!value) { return Promise.reject('请输入新密码'); } if (value.length < 6) { return Promise.reject('密码长度至少6位'); } const hasNumber = /\d/.test(value); const hasLetter = /[a-zA-Z]/.test(value); // const hasSpecialChar = /[!@#$%^&*()_+\-=\[\]{};':"\\|,.<>\/?]/.test(value); if (!hasNumber) { return Promise.reject('密码必须包含数字'); } if (!hasLetter) { return Promise.reject('密码必须包含字母'); } // if (!hasSpecialChar) { // return Promise.reject('密码必须包含特殊字符'); // } return Promise.resolve(); }; return ( // // // // } >
启用 禁用 {/* 电话号码 */} {/* 邮箱 */}
); }; export default UserEditModal;