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

export default () => {
  const [form] = Form.useForm();
  const [messageApi, contextHolder] = message.useMessage();
  return (
    <>
      <ModalForm
        title="导入重量、体积"
        trigger={<Button type="primary">导入重量、体积</Button>}
        form={form}
        autoFocusFirstInput
        modalProps={{
          destroyOnClose: true,
        }}
        submitTimeout={2000}
        onFinish={async (values) => {
          console.log(values);
          const formData = new FormData();
          formData.append('file', values.express[0].originFileObj);
          messageApi.open({
            type: 'loading',
            content: '正在导入...',
            duration: 0,
          });
          const res = await postOrderImportImportWeightAndVolume({
            data: formData,
            headers: {
              'Content-Type':
                'multipart/form-data; boundary=----WebKitFormBoundarynl6gT1BKdPWIejNq',
            },
          });
          if (res.result === RESPONSE_CODE.SUCCESS) {
            return true;
          } else {
            message.error('导入失败');
          }
          messageApi.destroy();
        }}
      >
        <ProFormUploadDragger max={1} label="上传快递单" name="express" />
      </ModalForm>
      {contextHolder}
    </>
  );
};