invoice.ts
2.94 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
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
import { request } from '../utils/request'
export interface InvoiceInfo {
invoiceId: number
invoiceNo: string
orderNo: string
deliveryNo: string
dealerCode: string
dealerName: string
totalAmount: number
invoiceDate: string
invoiceStatus: number
taxRate: number
dataSource: string
uploadTime?: string
createBy?: string
createTime?: string
updateBy?: string
updateTime?: string
invoiceItems?: InvoiceItemInfo[]
}
export interface InvoiceItemInfo {
itemId: number
invoiceId: number
invoiceNo: string
productCode: string
productName: string
productQty: number
unitPrice: number
itemAmount: number
taxRate: number
taxAmount: number
createBy?: string
createTime?: string
updateBy?: string
updateTime?: string
}
export interface InvoiceQueryReq {
invoiceNo?: string
orderNo?: string
deliveryNo?: string
dealerCode?: string
dealerName?: string
invoiceStatus?: number
dataSource?: string
invoiceStartDate?: string
invoiceEndDate?: string
pageNum: number
pageSize: number
}
export interface InvoiceAddReq {
invoiceNo: string
orderNo: string
deliveryNo: string
dealerCode: string
dealerName: string
totalAmount: number
invoiceDate: string
invoiceStatus?: number
taxRate: number
dataSource?: string
invoiceItems: InvoiceItemAddReq[]
}
export interface InvoiceUpdateReq {
invoiceId: number
invoiceNo: string
orderNo: string
deliveryNo: string
dealerCode: string
dealerName: string
totalAmount: number
invoiceDate: string
invoiceStatus?: number
taxRate: number
dataSource?: string
invoiceItems: InvoiceItemUpdateReq[]
}
export interface InvoiceItemAddReq {
productCode: string
productName: string
productQty: number
unitPrice: number
itemAmount: number
taxRate: number
taxAmount: number
}
export interface InvoiceItemUpdateReq {
itemId?: number
productCode: string
productName: string
productQty: number
unitPrice: number
itemAmount: number
taxRate: number
taxAmount: number
}
export const invoiceApi = {
getInvoiceList: (params: InvoiceQueryReq) => {
return request.get('/api/invoice/list', params)
},
getInvoiceDetail: (invoiceId: number) => {
return request.get(`/api/invoice/${invoiceId}`)
},
addInvoice: (data: InvoiceAddReq) => {
return request.post('/api/invoice', data)
},
updateInvoice: (data: InvoiceUpdateReq) => {
return request.post('/api/invoice/update', data)
},
deleteInvoice: (invoiceId: number) => {
return request.delete(`/api/invoice/${invoiceId}`)
},
batchDeleteInvoices: (invoiceIds: number[]) => {
return request.post('/api/invoice/batchDelete', invoiceIds)
},
updateInvoiceStatus: (invoiceId: number, invoiceStatus: number) => {
return request.post(`/api/invoice/${invoiceId}/invoiceStatus`, { invoiceStatus })
},
// 导出发票数据
exportInvoices: (params: InvoiceQueryReq) => {
return request.post('/api/invoice/export', params, { responseType: 'blob' })
}
}