InvoiceModal.tsx 1016 Bytes
import Invoice from '@/pages/Invoice/components/Invoice';
import { ModalForm } from '@ant-design/pro-components';
import { Form, message } from 'antd';
import { useEffect } from 'react';

const waitTime = (time: number = 100) => {
  return new Promise((resolve) => {
    setTimeout(() => {
      resolve(true);
    }, time);
  });
};

export default ({ recordId }) => {
  const [form] = Form.useForm();
  useEffect(() => {
    console.log('recordId', recordId);
  }, []);
  return (
    <ModalForm
      title="预览发票"
      trigger={<a type="primary">预览</a>}
      width={1200}
      form={form}
      autoFocusFirstInput
      modalProps={{
        destroyOnClose: true,
        onCancel: () => console.log('run'),
      }}
      submitTimeout={2000}
      onFinish={async (values) => {
        await waitTime(2000);
        console.log(values.name);
        message.success('提交成功');
        return true;
      }}
    >
      <hr />
      <Invoice recordId={recordId} />
    </ModalForm>
  );
};