import React, { useState, useEffect } from 'react' import { Form, Row, Col, Button, Modal } from 'antd' import LazyCascader from '@/components/LazyCascader' import { ProFormSelect, ProFormText, ProFormTextArea } from '@ant-design/pro-form' import { useDispatch, connect } from 'umi' import { ChangeCompMap } from '@/pages/Customer/Company/components/ChangeCompany' import { isNullOrUnDef } from '@/utils/is' import TelephoneFormItem from './TelephoneFormItem' import { validateEnum } from '@/pages/Customer/Company/components/AddCompany/CompanyFormItem' const AddClient = props => { const { visible, onCancel, reload, onConfirm, dataId, dataType, defaultValues, sourceList, ...resetModalProps } = props const [formRef] = Form.useForm() const layout = { layout: 'horizontal', labelCol: { flex: '100px' } } const [showDataItem, setShowDataItem] = useState(false) const [validStatusFtl, setValidStatusFtl] = useState('') const dispatch = useDispatch() useEffect(() => { if (visible && !sourceList?.length) { dispatch({ type: 'client/fetchSourceList' }) } }, [visible]) const handleChange = changedValues => { if (!changedValues) return if ('clientName' in changedValues) { if (!changedValues.clientName || changedValues.clientName?.length === 1) { formRef?.setFieldsValue({ niceName: '' }) return } const [lastName, ...firstName] = changedValues.clientName.split('') const newClientName = `${lastName}(${firstName.join('')})工:` formRef?.setFieldsValue({ niceName: newClientName }) } if ('qq' in changedValues) { if (!changedValues.qq) { formRef?.setFieldsValue({ email: '' }) return } formRef?.setFieldsValue({ email: `${changedValues.qq}@qq.com` }) } } const handleOnOk = () => { formRef ?.validateFields() .then(async values => { try { const success = await onConfirm(values) if (success) { !isNullOrUnDef(reload) && reload() formRef?.resetFields() setTimeout(() => { setValidStatusFtl('') onCancel() }, 80) } } catch (error) {} }) .catch(({ values }) => { if ('telephone' in values && !values.telephone) { setValidStatusFtl(validateEnum.Error) } }) } return ( document.getElementById('root')} footer={
{dataId ? ( ) : null}
}>
{showDataItem ?
) } export default connect(({ client }) => ({ sourceList: client.sourceList }))(AddClient)