InvoiceDetailImportModal.tsx 1.43 KB
import { RESPONSE_CODE } from '@/constants/enum';
import { postServiceInvoiceImportInvoiceDetails } from '@/services';
import { ModalForm, ProFormUploadDragger } from '@ant-design/pro-components';
import { Button, Form, message } from 'antd';

export default ({ recordId }) => {
  const [form] = Form.useForm();
  return (
    <ModalForm
      title="新建表单"
      trigger={<Button type="primary">导入明细</Button>}
      form={form}
      autoFocusFirstInput
      modalProps={{
        destroyOnClose: true,
        onCancel: () => console.log('run'),
      }}
      submitTimeout={2000}
      onFinish={async (values) => {
        const formData = new FormData();
        // console.log(fileList[0] as RcFile)
        // formData.append('file', fileList[0] as RcFile);
        formData.append('invoiceRecordId', recordId);
        formData.append('detailsExcel', values.detailsExcel[0].originFileObj);
        // You can use any AJAX library you like
        const res = await postServiceInvoiceImportInvoiceDetails({
          data: formData,
          headers: {
            'Content-Type':
              'multipart/form-data; boundary=----WebKitFormBoundarynl6gT1BKdPWIejNq',
          },
        });
        if (res.result === RESPONSE_CODE.SUCCESS) {
          message.success('导入成功');
          return true;
        }
      }}
    >
      <ProFormUploadDragger name="detailsExcel" label="导入明细表" />
    </ModalForm>
  );
};