import StrengthMeter from '@/components/StrengthMeter' import { userStore } from '@/store/mobx' import { iUserInfo } from '@/types/setting' import consts from '@/utils/consts' import { Button, Form, Input, Modal, Select } from 'antd' import { observer } from 'mobx-react' import React, { useEffect, useState } from 'react' import { apiAccountDelete } from '../api' import styles from '../index.module.scss' import PswModal from './PswModal' const { Option } = Select export interface iUserModal { visible: boolean loading: boolean userInfo: iUserInfo onCreate: (values: any) => void onCancel: () => void initData: () => void } const UserModal: React.FC = ({ visible, loading, onCreate, onCancel, userInfo, initData }) => { const [ form ] = Form.useForm() const [ delLoading, setDelLoading ] = useState(false) const [ showPswModal, setShowPswModal ] = useState(false) useEffect(() => { if (visible) { form.resetFields() userInfo.id ? form.setFieldsValue(userInfo) : form.resetFields() if (!userStore.groupList.length) { userStore.getGroupList() } } }, [ visible ]) const delBtnHandler = async () => { setDelLoading(true) const { code = -1 } = await apiAccountDelete(userInfo.id) if (code === consts.RET_CODE.SUCCESS) { onCancel() initData() } setDelLoading(false) } return ( <> { userInfo.id && !userInfo.jlAuth? <> : '' } } >
{ userInfo.id ? : '' } { !userInfo.id ? ({ validator(_, value) { if (value) { if (/(?=.*[0-9])(?=.*[a-zA-Z]).{6,30}/.test(value)) { return Promise.resolve() } return Promise.reject('密码必须带有字母与数字的组合且大于6位') } return Promise.resolve() } }) ]}> : '' } ({ validator(_, value) { if (value) { if(/^(?:(?:\+|00)86)?1[3-9]\d{9}$/.test(value)) { return Promise.resolve() } return Promise.reject('请输入正确的手机号码') } return Promise.resolve() } }) ]}> ({ validator(_, value) { if (value) { if(/^(?:(?:\d{3}-)?\d{8}|^(?:\d{4}-)?\d{7,8})(?:-\d+)?$/.test(value)) { return Promise.resolve() } return Promise.reject('请输入正确的座机号码') } return Promise.resolve() } }) ]}>
setShowPswModal(false)} userInfo={userInfo} /> ) } export default observer(UserModal)