invoice.ts
2.22 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 { request } from '../utils/request'
// 发票相关类型定义
export interface InvoiceInfo {
invoiceId: number
orderId: number
orderNo: string
dealerCode: string
dealerName: string
invoiceDate: string
totalAmount: number
invoiceStatus: number
invoiceNo?: string
createBy?: string
createTime?: string
updateBy?: string
updateTime?: string
invoiceItems?: InvoiceItemInfo[]
}
export interface InvoiceItemInfo {
itemId?: number
invoiceId?: number
productCode: string
productName: string
productQty: number
unitPrice: number
totalPrice: number
createBy?: string
createTime?: string
}
export interface InvoiceQueryReq {
pageNum?: number
pageSize?: number
orderNo?: string
dealerCode?: string
dealerName?: string
invoiceStartDate?: string
invoiceEndDate?: string
invoiceStatus?: number
}
export interface InvoiceAddReq {
orderId: number
invoiceDate: string
invoiceNo?: string
invoiceItems: Omit<InvoiceItemInfo, 'itemId' | 'invoiceId' | 'createBy' | 'createTime'>[]
}
export interface InvoiceUpdateReq {
invoiceId: number
invoiceDate?: string
invoiceStatus?: number
invoiceNo?: string
invoiceItems?: Omit<InvoiceItemInfo, 'itemId' | 'invoiceId' | 'createBy' | 'createTime'>[]
}
// 发票API接口
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/add', data)
},
// 更新发票
updateInvoice: (data: InvoiceUpdateReq) => {
return request.post('/api/invoice/update', data)
},
// 删除发票
deleteInvoice: (invoiceId: number) => {
return request.delete(`/api/invoice/${invoiceId}`)
},
// 批量删除发票
batchDeleteInvoice: (invoiceIds: number[]) => {
return request.post('/api/invoice/batchDelete', invoiceIds)
},
// 导出发票数据
exportInvoice: (params: InvoiceQueryReq) => {
return request.get('/api/invoice/export', { params, responseType: 'blob' })
}
}
export default invoiceApi