FinancialEditDrawer.tsx 2.05 KB
// import { PlusOutlined } from '@ant-design/icons';
import { RESPONSE_CODE } from '@/constants/enum';
import { postServiceOrderNoNeedInvoicingEdit } from '@/services';
import { DrawerForm, ProFormDatePicker } from '@ant-design/pro-components';
import { Form, message } from 'antd';

export default ({ subOrders, setVisible, onClose }) => {
  const subOrderIds = subOrders?.map((subOrder) => {
    return subOrder?.id;
  });
  const [form] = Form.useForm<{
    collectMoneyTime: string;
    subIds: [];
    financialReceiptIssuanceTime: string;
  }>();
  return (
    <DrawerForm<{
      collectMoneyTime: string;
      financialReceiptIssuanceTime: string;
      subIds: [];
    }>
      open
      title="收款时间"
      resize={{
        onResize() {
          console.log('resize!');
        },
        maxWidth: window.innerWidth * 0.8,
        minWidth: 400,
      }}
      initialValues={subOrders[0]}
      form={form}
      autoFocusFirstInput
      drawerProps={{
        destroyOnClose: true,
      }}
      submitTimeout={2000}
      onFinish={async () => {
        let res = await postServiceOrderNoNeedInvoicingEdit({
          data: {
            subIds: subOrderIds,
            collectMoneyTime: form.getFieldValue('collectMoneyTime'),
            financialReceiptIssuanceTime: form.getFieldValue(
              'financialReceiptIssuanceTime',
            ),
          },
        });
        if (res.result === RESPONSE_CODE.SUCCESS) {
          message.success(res.message);
          onClose();
        }
      }}
      onOpenChange={(val) => {
        return !val && setVisible(val);
      }}
    >
      <ProFormDatePicker
        key="financialReceiptIssuanceTime"
        width="lg"
        name="financialReceiptIssuanceTime"
        rules={[{ required: true, message: '收据时间必填' }]}
        label="开收据时间"
      />
      <ProFormDatePicker
        key="collectMoneyTime"
        width="lg"
        name="collectMoneyTime"
        label="收款时间"
        rules={[{ required: true, message: '收款时间必填' }]}
      />
    </DrawerForm>
  );
};