invoice.ts
2.81 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
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`, null, {
params: { invoiceStatus }
})
}
}