dealer.ts
3.96 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
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
import axios from 'axios'
// 创建axios实例
const api = axios.create({
baseURL: 'http://localhost:8083/api',
timeout: 10000
})
// 请求拦截器
api.interceptors.request.use(
(config) => {
const token = localStorage.getItem('token')
if (token) {
config.headers.Authorization = `Bearer ${token}`
}
return config
},
(error) => {
return Promise.reject(error)
}
)
// 响应拦截器
api.interceptors.response.use(
(response) => {
return response.data
},
(error) => {
if (error.response?.status === 401) {
localStorage.removeItem('token')
localStorage.removeItem('userInfo')
window.location.href = '/login'
}
return Promise.reject(error)
}
)
// 经销商信息接口
export interface DealerInfo {
dealerId: number
dealerCode: string
dealerName: string
creditCode: string
dealerLevel: number
region: string
contactPerson: string
contactPhone: string
cooperateStartDate: string
cooperateStatus: number
businessLicenseUrl: string
cooperationAgreementUrl: string
qualificationAuditStatus: number
auditOpinion: string
createTime: string
updateTime: string
}
// 经销商查询请求参数
export interface DealerQueryReq {
dealerCode?: string
dealerName?: string
creditCode?: string
dealerLevel?: number
region?: string
contactPerson?: string
contactPhone?: string
cooperateStatus?: number
qualificationAuditStatus?: number
pageNum: number
pageSize: number
}
// 经销商新增请求参数
export interface DealerAddReq {
dealerCode: string
dealerName: string
creditCode: string
dealerLevel: number
region: string
contactPerson?: string
contactPhone?: string
cooperateStartDate: string
cooperateStatus?: number
businessLicenseUrl?: string
cooperationAgreementUrl?: string
qualificationAuditStatus?: number
auditOpinion?: string
}
// 经销商修改请求参数
export interface DealerUpdateReq {
dealerId: number
dealerCode: string
dealerName: string
creditCode: string
dealerLevel: number
region: string
contactPerson?: string
contactPhone?: string
cooperateStartDate: string
cooperateStatus?: number
businessLicenseUrl?: string
cooperationAgreementUrl?: string
qualificationAuditStatus?: number
auditOpinion?: string
}
// 分页数据接口
export interface PageData<T> {
records: T[]
total: number
pageNum: number
pageSize: number
}
// API响应接口
export interface ApiResponse<T = any> {
code: number
message: string
data: T
}
// 经销商管理API
export const dealerApi = {
// 分页查询经销商列表
getDealerList: (params: DealerQueryReq) => {
return api.get<ApiResponse<PageData<DealerInfo>>>('/dealer/list', { params })
},
// 获取经销商详情
getDealerDetail: (dealerId: number) => {
return api.get<ApiResponse<DealerInfo>>(`/dealer/${dealerId}`)
},
// 新增经销商
addDealer: (data: DealerAddReq) => {
return api.post<ApiResponse>('/dealer', data)
},
// 修改经销商
updateDealer: (data: DealerUpdateReq) => {
return api.post<ApiResponse>('/dealer/update', data)
},
// 删除经销商
deleteDealer: (dealerId: number) => {
return api.delete<ApiResponse>(`/dealer/${dealerId}`)
},
// 批量删除经销商
batchDeleteDealer: (dealerIds: number[]) => {
return api.delete<ApiResponse>('/dealer/batch', { data: dealerIds })
},
// 修改经销商合作状态
updateCooperateStatus: (dealerId: number, cooperateStatus: number) => {
return api.post<ApiResponse>(`/dealer/${dealerId}/cooperateStatus/${cooperateStatus}`)
},
// 修改经销商资质审核状态
updateAuditStatus: (dealerId: number, qualificationAuditStatus: number, auditOpinion?: string) => {
return api.post<ApiResponse>(`/dealer/${dealerId}/auditStatus`, null, {
params: { qualificationAuditStatus, auditOpinion }
})
},
// 获取所有经销商(用于下拉选择)
getAllDealers: () => {
return api.get<ApiResponse<DealerInfo[]>>('/dealer/all')
}
}