ManualInvoicingModal.tsx
2.75 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
import { RESPONSE_CODE } from '@/constants/enum';
import UploadC from '@/pages/Invoice/InvoiceRecord/components/UploadSingleImg';
import {
postOrderErpOrderStagesUpload,
postServiceInvoiceDealInvoicingResult,
} from '@/services';
import {
ModalForm,
ProFormDatePicker,
ProFormText,
} from '@ant-design/pro-components';
import { Col, Form, Row, message } from 'antd';
import { RcFile } from 'antd/es/upload';
import { useEffect } from 'react';
export default ({ record }) => {
useEffect(() => {
console.log('invoicing');
}, []);
const [form] = Form.useForm();
return (
<ModalForm
title="手动开票"
trigger={<a type="primary">手动开票</a>}
width={600}
layout={'horizontal'}
form={form}
autoFocusFirstInput
modalProps={{
destroyOnClose: true,
onCancel: () => console.log('run'),
}}
submitTimeout={2000}
onFinish={async (values) => {
const res = await postServiceInvoiceDealInvoicingResult({
data: {
...values,
isSuccess: true,
invoiceRecordId: record.id,
manual: true,
},
});
if (res.result === RESPONSE_CODE.SUCCESS) {
message.success('开票成功');
return true;
} else {
message.error('开票失败');
}
}}
>
<ProFormText
rules={[{ required: true, message: '此项为必填项' }]}
width={'md'}
name="invoiceNumber"
label="发票号码"
/>
<ProFormDatePicker
rules={[{ required: true, message: '此项为必填项' }]}
fieldProps={{
format: 'YYYY-MM-DD',
}}
name="invoicingDate"
label="开票日期"
/>
<ProFormText
rules={[{ required: true, message: '发票必须上传' }]}
hidden
name="url"
label="發票地址"
/>
<Row>
<Col span={4}>上传发票</Col>
<Col span={20}>
<UploadC
onFilesChange={async (newFileList) => {
if (newFileList.length > 0) {
const formData = new FormData();
formData.append('file', newFileList[0].originFileObj as RcFile);
const res = await postOrderErpOrderStagesUpload({
data: formData,
headers: {
'Content-Type':
'multipart/form-data; boundary=----WebKitFormBoundarynl6gT1BKdPWIejNq',
},
});
const url = res.data;
form.setFieldValue('url', url);
} else {
form.setFieldValue('url', null);
}
}}
></UploadC>
</Col>
</Row>
</ModalForm>
);
};