|
@@ -1,144 +0,0 @@
|
|
|
-import { useRequest } from 'umi'
|
|
|
-import { useRef, useEffect } from 'react'
|
|
|
-import ProForm, { ProFormText } from '@ant-design/pro-form'
|
|
|
-import { Col, message, Modal, Row } from 'antd'
|
|
|
-import type { FormInstance } from 'antd'
|
|
|
-import { addInstitution, updateInstitution } from '@/services/api/institution'
|
|
|
-
|
|
|
-export enum ModalType {
|
|
|
- ADD = 0,
|
|
|
- UPDATE = 1
|
|
|
-}
|
|
|
-
|
|
|
-type CompanyModalProps = {
|
|
|
- visible: boolean
|
|
|
- setVisible: (visible: boolean) => void
|
|
|
- type: ModalType
|
|
|
- defaultFormData?: API.InstitutionListItem
|
|
|
- pTypeList: API.ProjectTypeList
|
|
|
- reload: () => void
|
|
|
-}
|
|
|
-const CompanyModal: React.FC<CompanyModalProps> = ({
|
|
|
- visible,
|
|
|
- setVisible,
|
|
|
- type,
|
|
|
- defaultFormData,
|
|
|
- // pTypeList,
|
|
|
- reload
|
|
|
-}) => {
|
|
|
- const layout = {
|
|
|
- layout: 'horizontal',
|
|
|
- labelCol: { flex: '100px' }
|
|
|
- }
|
|
|
- const ref = useRef<FormInstance>(null)
|
|
|
- useEffect(() => {
|
|
|
- defaultFormData && ref.current?.setFieldsValue({ ...defaultFormData })
|
|
|
- }, [defaultFormData])
|
|
|
- const { run: tryUpdateInstitution } = useRequest(updateInstitution, {
|
|
|
- manual: true,
|
|
|
- onSuccess: () => {
|
|
|
- message.success('更新成功')
|
|
|
- }
|
|
|
- })
|
|
|
- const { run: tryAddInstitution } = useRequest(addInstitution, {
|
|
|
- manual: true,
|
|
|
- onSuccess: () => {
|
|
|
- message.success('创建成功')
|
|
|
- }
|
|
|
- })
|
|
|
-
|
|
|
- const handleOnFinish = () => {
|
|
|
- ref.current?.validateFields().then(async values => {
|
|
|
- try {
|
|
|
- // 执行表单提交
|
|
|
- if (type === ModalType.ADD) {
|
|
|
- console.log('111')
|
|
|
-
|
|
|
- await tryAddInstitution(values)
|
|
|
- } else {
|
|
|
- await tryUpdateInstitution(values)
|
|
|
- }
|
|
|
- setVisible(false)
|
|
|
- reload()
|
|
|
- ref.current?.resetFields()
|
|
|
- } catch (error) {
|
|
|
- message.error(error)
|
|
|
- }
|
|
|
- })
|
|
|
- }
|
|
|
- return (
|
|
|
- <Modal
|
|
|
- width="35vw"
|
|
|
- visible={visible}
|
|
|
- onCancel={() => {
|
|
|
- ref.current?.resetFields()
|
|
|
- setVisible(false)
|
|
|
- }}
|
|
|
- title={type === ModalType.ADD ? '新增企事业单位' : '编辑企事业单位'}
|
|
|
- onOk={() => handleOnFinish()}>
|
|
|
- <ProForm formRef={ref} submitter={{ render: false }} {...layout}>
|
|
|
- {type === ModalType.UPDATE ? <ProFormText name="ID" hidden /> : null}
|
|
|
- <ProFormText
|
|
|
- name="name"
|
|
|
- label="项目名称"
|
|
|
- rules={[{ required: true, message: '请输入项目名称' }]}
|
|
|
- />
|
|
|
- <Row>
|
|
|
- <Col span={12}>
|
|
|
- <ProFormText
|
|
|
- name="acronym"
|
|
|
- label="简称"
|
|
|
- rules={[{ required: true, message: '请输入简称' }]}
|
|
|
- />
|
|
|
- <ProFormText
|
|
|
- name="organizationCode"
|
|
|
- label="组织架构代码"
|
|
|
- rules={[{ required: true, message: '请输入组织架构代码' }]}
|
|
|
- />
|
|
|
-
|
|
|
- <ProFormText
|
|
|
- name="bank"
|
|
|
- label="银行"
|
|
|
- rules={[{ required: true, message: '请输入银行' }]}
|
|
|
- />
|
|
|
- <ProFormText
|
|
|
- name="phone"
|
|
|
- label="手机"
|
|
|
- rules={[{ required: true, message: '请输入手机' }]}
|
|
|
- />
|
|
|
- </Col>
|
|
|
- <Col span={12}>
|
|
|
- <ProFormText
|
|
|
- name="enterpriseCode"
|
|
|
- label="企业代码"
|
|
|
- rules={[{ required: true, message: '请输入企业代码' }]}
|
|
|
- />
|
|
|
- <ProFormText
|
|
|
- name="idCard"
|
|
|
- label="身份证号码"
|
|
|
- rules={[{ required: true, message: '请输入身份证号码' }]}
|
|
|
- />
|
|
|
- <ProFormText
|
|
|
- name="bankAccount"
|
|
|
- label="银行账号"
|
|
|
- rules={[{ required: true, message: '请输入银行账号' }]}
|
|
|
- />
|
|
|
- <ProFormText
|
|
|
- name="legalPerson"
|
|
|
- label="法人代表"
|
|
|
- rules={[{ required: true, message: '请输入法人代表' }]}
|
|
|
- />
|
|
|
- </Col>
|
|
|
- </Row>
|
|
|
- <ProFormText name="fax" label="传真" rules={[{ required: true, message: '请输入传真' }]} />
|
|
|
- <ProFormText
|
|
|
- name="address"
|
|
|
- label="地址"
|
|
|
- rules={[{ required: true, message: '请输入地址' }]}
|
|
|
- />
|
|
|
- </ProForm>
|
|
|
- </Modal>
|
|
|
- )
|
|
|
-}
|
|
|
-
|
|
|
-export default CompanyModal
|