service.ts
10.1 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
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
import type { PromisePageResp, PageBaseParams } from '@feewee/h5app-common';
import { host, http } from '@feewee/h5app-common';
import type { DimensionEnum, MatchStatusEnum, QueryItemTypeEnum, QueryTypeEnum, SubTypeEnum, TypeEnum } from './entity';
export interface DetailResult {
// 申请id
applyId: number;
// 文件id
fid: string;
// 文件名称
fName: string;
// 文件大小,单位b
fSize: number;
// 品牌名称
brandName: string;
// 往来单位名称
contactUnits: string;
// 申报商家 id
applyDealerId: number;
// 申报商家名称
applyDealerName: string;
// 匹配结果的最早提报时间
beginTime: number;
// 匹配结果的最晚提报时间
endTime: number;
// 未复核单数
notReviewedCount: number;
// 未复核金额
notReviewedAmount: number;
// 超60天未复核单数
overtimeNotReviewedCount: number;
// 厂家审核金额
amount: number;
}
export interface ClaimBeforeData {
// 类型
type: DimensionEnum;
// 类型id
typeId: number;
// 类型名称
typeName: string;
// 系统单数
systemCount: number;
// 系统金额
systemAmount: number;
// 系统有,导入无单数
notExistsCount: number;
// 系统有,导入无金额
notExistsAmount: number;
// 本次导入 合计单数
total: number;
// 本次导入 合计金额
totalAmount: number;
// 本次导入 匹配一致单数
consistentCount: number;
// 本次导入 匹配一致金额
consistentAmount: number;
// 本次导入 匹配不一致单数
nonConsistentCount: number;
// 本次导入 匹配不一致金额
nonConsistentAmount: number;
// 本次导入,系统无,导入有单数
importNonSystemCount: number;
// 本次导入,系统无,导入有金额
importNonSystemAmount: number;
}
export interface ClaimAfterData {
// 类型id
typeId: number;
// 类型名称
typeName: string;
// 差异单数
nonConsistentCount: number;
// 差异金额
nonConsistentAmount: number;
// 系统金额
systemAmount: number;
// 厂家金额
factoryAmount: number;
}
export interface PunishData {
// 人员id
userId: number;
// 人员名称
userName: number;
// 提报单数
submitCount: number;
// 差异单数
nonConsistentCount: number;
// 差异金额
nonConsistentAmount: number;
// 差异金额占比
nonConsistentRate: number;
// 处罚金额
punishAmount: number;
// 处罚绩效得分率
punishRate: number;
}
export interface FactoryPunishOrRewardData {
// 合计金额
totalAmount: number;
//
items: FactoryPunishOrRewardItem[];
}
export interface FactoryPunishOrRewardItem {
// 厂家奖励/处罚id
id: number;
// 文件名称
fName: string;
// 文件id
fid: string;
// 兑现方式
cashType: number;
// 处罚类型
projectTypeName: string;
// 金额
amount: number;
// 是否门店分摊
apportion: boolean;
// 是否门店
shop: boolean;
// 是否人员
user: boolean;
}
export interface FactoryPunishOrRewardTypeDetail {
// 对象id
targetId: number;
// 对象名称
targetName: string;
// 金额
amount: number;
// 比例
proportion: number;
// 绩效得分率
scoringRate: number;
// 岗位名称
postName: string;
// 在职门店名称
shopName: string;
}
export interface ReviewListParams extends PageBaseParams {
applyId: number;
type: DimensionEnum | QueryTypeEnum.USER_PUNISH;
typeId: number;
queryType: QueryTypeEnum;
queryItemType: QueryItemTypeEnum;
keywords?: string;
}
export interface ReviewListResult {
// 导入数据id
importDataId: number;
// 索赔单号
claimNo: string;
// 索赔类型
claimType: number;
// 索赔类型名称
claimTypeName: string;
// 复核附件
fid: string;
// 厂家兑现金额
amount: number;
// 系统生成-总金额
totalFee: number;
// 系统生成-工时费
systemManHoursFee: number;
// 系统生成-材料费
systemPartFee: number;
// 系统生成与厂家差异金额
differenceAmount: number;
// 提报-总金额
submitAmount: number;
// 提报-工时费
submitManHoursFee: number;
// 提报-材料费
submitPartFee: number;
// 提报-与厂家差异金额
differenceSubmitAmount: number;
// 上传其他信息:json格式
importData: string;
// 提报人
claimer: string;
// 提报商家名称
submitDealerName: string;
// 提报时间
commitTime: number;
// VIN
vin: string;
// 车牌号
plateNo: string;
// 车辆
carName: string;
// 差异原因
differenceReasonId: number;
differenceReason: string;
// 是否已复核 1: 未填写差异原因,2: 已填写差异原因
reviewStatus: number;
}
export interface DetailListParams {
importDataNo: string; // 导入明细编号,同一文件一致
claimNo?: string; // 索赔单号
distributorName?: string; // 经销商
vin?: string;
claimType?: number; // 索赔类型
matchStatus?: MatchStatusEnum; // 匹配状态,1:匹配一致,2:无工单记录,3:匹配不一致
current?: number;
pageSize?: number;
}
export interface DetailListResult {
id: number; // 复核 id
createTime: number; // 创建时间
updateTime: number; // 更新时间
createBy: string; // 创建人
updateBy: string; // 更新人
groupId: number; // 集团id
importDataNo: string; // 导入明细编号,同一文件一致
reviewAmount: number; // 复核后金额
differenceReason: string; // 差异原因, 1.工时费,材料费差异:2.厂家拒绝:3.漏报:4.其他4s店支付:5.家直接打款到公司账户;6.同一工单分多次提报;7.多个工单一次提报(See: 索赔数据不一致原因)
differenceReasonName: string; // 差异原因名称
distributorName: string; // 经销商
claimNo: string; // 索赔单号
vin: string; // 车架号
claimType: string; // 索赔类型
manHoursFee: number; // 工时费
partFee: number; // 配件费
rescueFee: number; // 救援费
totalFee: number; // 总结算费用
remark: string; // 复核备注
fids: string; // 附件ids
matchStatus: number; // 匹配状态,1: 匹配一致,2: 匹配不一致,3: 无工单记录(See: 索赔匹配状
}
export interface ReviewDetailResult {
claimOrderReviewData: ReviewData; // 复核数据
claimOrders: ClaimOrder[]; // 索赔单信息
punishes: ReviewPunish[]; // 处罚信息
}
export interface ReviewData {
id: number; // 主键
createTime: number; // 创建时间
updateTime: number; // 更新时间
createBy: string; // 创建人
updateBy: string; // 更新人
groupId: number; // 集团id
importDataNo: string; // 导入明细编号,同一文件一致
reviewAmount: number; // 复核后金额
differenceReason: string; // 差异原因, 1.工时费,材料费差异;2.厂家拒绝;3.漏报;4.其他4s店支付;5.厂家直接打款到公司账户;6.同一工单分多次提报;7.多个工单一次提报(See: 索赔数据不一致原因)
differenceReasonName: string; // 差异原因名称
distributorName: string; // 经销商
claimNo: string; // 索赔单号
vin: string; // 车架号
claimType: number; // 索赔类型
manHoursFee: number; // 工时费
partFee: number; // 配件费
rescueFee: number; // 救援费
totalFee: number; // 总结算费用
remark: string; // 复核备注
fids: string; // 附件ids
matchStatus: number; // 匹配状态,1: 匹配一致,2: 匹配不一致,3: 无工单记录(See: 索赔匹配状态)
}
export interface ClaimOrder {
type: number; // 三包类型(1:首保 2: 三包件5: 市场行动)
claimUsername: number; // 索赔确认/提报员工姓名
claimSubmitAmount: number; // 提报金额
claimOrderId: number; // 索赔单id
orderNo: number; // 工单号
ownerName: number; // 车主姓名
carName: number; // 车辆名称
vin: number; // 车辆vin码
plateNo: number; // 车牌号
specCode: number; // 车型代码
receiverName: number; // 接车人姓名
judgeNames: number; // 故障判断员
}
export interface ReviewPunish {
id: number; // 复核id
createTime: number; // 创建时间
updateTime: number; // 更新时间
dataId: number; // 索赔复核导入数据id
punishUserId: number; // 处罚人员id
punishUsername: string; // 处罚人员
punishAmount: number; // 处罚金额
achievements: number; // 处罚绩效
punishId: number; // 绩效系统id
shopId: number;
shopName: string;
}
// 详情
export function detailApi(applyId: number): Promise<DetailResult> {
return http.get(`${host.cas}/erp/claim/review/apply/detail`, { applyId });
}
// 复核前数据
export function dataBeforeReviewApi(params: { applyId: number; type: DimensionEnum }): Promise<ClaimBeforeData[]> {
return http.get(`${host.cas}/erp/claim/review/apply/before/review`, params);
}
// 复核后数据
export function dataAfterReviewApi(params: { applyId: number; type: DimensionEnum }): Promise<ClaimAfterData[]> {
return http.get(`${host.cas}/erp/claim/review/apply/after/review`, params);
}
// 处罚信息
export function punishListApi(applyId: number): Promise<PunishData[]> {
return http.get(`${host.cas}/erp/claim/review/apply/punish/list`, { applyId });
}
// 厂家处罚/奖励信息 1:奖励 2:处罚
export function factoryPunishOrRewardListApi(params: { applyId: number; type: TypeEnum }): Promise<FactoryPunishOrRewardData> {
return http.get(`${host.cas}/erp/claim/review/apply/factory/info`, params);
}
// 厂家处罚/奖励类型详情 1:门店分摊,2:门店,3:人员
export function factoryPunishOrRewardTypeDetailApi(params: { id: number; type: SubTypeEnum }): Promise<FactoryPunishOrRewardTypeDetail[]> {
return http.get(`${host.cas}/erp/claim/review/apply/factory/info/detail`, params);
}
// 复核列表
export function reviewListApi(params: ReviewListParams): PromisePageResp<ReviewListResult> {
return http.get(`${host.cas}/erp/claim/review/apply/import/data/page`, params);
}
// 详情明细
export function detailListApi(params: DetailListParams): PromisePageResp<DetailListResult> {
return http.get(`${host.cas}/erp/claim/order/review/data/list`, params);
}
// 复核详情
export function reviewDetailApi(id: number): Promise<ReviewDetailResult> {
return http.get(`${host.cas}/erp/claim/order/review/data/${id}`);
}