Blame view

src/pages/order3/SaleTask/api.ts 6.04 KB
32942bc1   Shinner   增加零售任务分配菜单静态页面
1
2
  import { http } from "@/typing/http";
  import request from "@/utils/request";
11ea8143   Shinner   调试零售任务分配接口
3
  import { FVM_HOST, ORDER3_HOST } from "@/utils/host";
32942bc1   Shinner   增加零售任务分配菜单静态页面
4
  
32942bc1   Shinner   增加零售任务分配菜单静态页面
5
6
7
8
9
10
11
12
13
14
15
16
17
  type PromiseResp<T> = http.PromiseResp<T>;
  
  export interface GetSaleTaskApiReq {
    taskDate?: number;
    shopName?: string;
  }
  
  export interface GetSaleTaskApiRes {
    id: number;
    totalTaskCount: number;
    shopTaskList: ShopTaskItem[];
    year: number;
    month: number;
df7d79e7   Shinner   调试零售任务分配接口
18
19
    canModified: boolean; // 是否可以编辑
    revoke: boolean; // 是否可以撤销
32942bc1   Shinner   增加零售任务分配菜单静态页面
20
21
    newEnergyTaskCount: number;
    fuelVehicleTaskCount: number;
a21e5b52   Shinner   增加零售任务分配菜单静态页面
22
    clueDealTaskCount: number;
11ea8143   Shinner   调试零售任务分配接口
23
24
25
    approvalNumber: string;
    tackCarTaskCount: number;
    testDriveTaskCount: number;
eb77f47f   Shinner   增加表单交互
26
27
    seriesTaskCount: number;
    vehicleGrossProfitTask: number;
d8aedefd   Shinner   单个门店支持分配到门店和顾问
28
    totalGrossProfitTask: number;
11ea8143   Shinner   调试零售任务分配接口
29
30
31
  }
  
  export interface SeriesTaskItem {
eb77f47f   Shinner   增加表单交互
32
33
    brandId: number;
    brandName: string;
11ea8143   Shinner   调试零售任务分配接口
34
35
    seriesId: number;
    seriesName: string;
eb77f47f   Shinner   增加表单交互
36
    newEnergy: boolean;
11ea8143   Shinner   调试零售任务分配接口
37
    taskCount: number;
a1e7edf3   Shinner   调试零售任务分配接口
38
    id?: number;
11ea8143   Shinner   调试零售任务分配接口
39
40
41
  }
  
  export interface StaffTaskItem {
a1e7edf3   Shinner   调试零售任务分配接口
42
    id?: number;
11ea8143   Shinner   调试零售任务分配接口
43
44
45
46
47
48
49
50
51
52
53
    staffId: number;
    staffName: string;
    taskCount: number;
    clueDealTaskCount: number;
    regularMonth: number;
    addedValueTask: number;
    seriesTaskList: SeriesTaskItem[];
    newEnergyTaskCount: number;
    fuelVehicleTaskCount: number;
    tackCarTaskCount: number;
    testDriveTaskCount: number;
eb77f47f   Shinner   增加表单交互
54
55
    seriesTaskCount: number;
    vehicleGrossProfitTask: number;
32942bc1   Shinner   增加零售任务分配菜单静态页面
56
57
58
  }
  
  export interface ShopTaskItem {
a1e7edf3   Shinner   调试零售任务分配接口
59
    id?: number;
32942bc1   Shinner   增加零售任务分配菜单静态页面
60
61
62
63
64
    shopId: number;
    shopName: string;
    taskCount: number;
    clueDealTaskCount: number;
    clueDealTaskRate: number;
11ea8143   Shinner   调试零售任务分配接口
65
    staffTaskList: StaffTaskItem[];
32942bc1   Shinner   增加零售任务分配菜单静态页面
66
    addedValueTask: number;
11ea8143   Shinner   调试零售任务分配接口
67
    seriesTaskList: SeriesTaskItem[];
32942bc1   Shinner   增加零售任务分配菜单静态页面
68
69
    newEnergyTaskCount: number;
    fuelVehicleTaskCount: number;
11ea8143   Shinner   调试零售任务分配接口
70
71
    tackCarTaskCount: number;
    testDriveTaskCount: number;
eb77f47f   Shinner   增加表单交互
72
73
    seriesTaskCount: number;
    vehicleGrossProfitTask: number;
df7d79e7   Shinner   调试零售任务分配接口
74
    taskId?: number;
d8aedefd   Shinner   单个门店支持分配到门店和顾问
75
76
    orderTaskApplyId?: number;
    orderShopTaskId?: number;
32942bc1   Shinner   增加零售任务分配菜单静态页面
77
78
79
80
81
82
  }
  
  /** 月度零售任务列表 */
  export function getSaleTaskApi(
    params: GetSaleTaskApiReq
  ): PromiseResp<GetSaleTaskApiRes> {
a21e5b52   Shinner   增加零售任务分配菜单静态页面
83
    return request.get(`${ORDER3_HOST}/erp/sales/task/detail`, { params });
32942bc1   Shinner   增加零售任务分配菜单静态页面
84
85
  }
  
11ea8143   Shinner   调试零售任务分配接口
86
  export interface GetShopSaleTaskReq {
75f10597   Shinner   回刷页面
87
88
    shopId?: number;
    taskDate?: number;
11ea8143   Shinner   调试零售任务分配接口
89
90
91
92
93
94
95
96
97
98
  }
  
  /** 门店零售任务详情 */
  export function getShopSaleTask(
    params: GetShopSaleTaskReq
  ): PromiseResp<ShopTaskItem> {
    return request.get(`${ORDER3_HOST}/erp/sales/task/detail/one`, { params });
  }
  
  /** 保存门店零售任务 */
a1e7edf3   Shinner   调试零售任务分配接口
99
  export function saveShopSaleTask(params: ShopTaskItem): PromiseResp<boolean> {
1aa6dd0a   Shinner   调试零售任务分配接口
100
    return request.post(`${ORDER3_HOST}/erp/sales/task/manual/assign`, params);
11ea8143   Shinner   调试零售任务分配接口
101
102
  }
  
32942bc1   Shinner   增加零售任务分配菜单静态页面
103
  /** 撤销审批零售任务 */
11ea8143   Shinner   调试零售任务分配接口
104
  export function cancelSaleTask(params: { id: number }): PromiseResp<boolean> {
aeeb3492   Shinner   增加预览任务功能
105
106
107
    return request.post(`${ORDER3_HOST}/erp/sales/task/cancel/approve`, params, {
      contentType: "form-urlencoded",
    });
a21e5b52   Shinner   增加零售任务分配菜单静态页面
108
109
110
  }
  
  /** 提交审批零售任务 */
11ea8143   Shinner   调试零售任务分配接口
111
  export function submitSaleTask(params: { id: number }): PromiseResp<boolean> {
a21e5b52   Shinner   增加零售任务分配菜单静态页面
112
    return request.post(`${ORDER3_HOST}/erp/sales/task/submit`, params);
32942bc1   Shinner   增加零售任务分配菜单静态页面
113
  }
11ea8143   Shinner   调试零售任务分配接口
114
  
bdad4eb5   Shinner   调试自动分配接口
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
  export interface AutoAssignItem {
    shopId: number;
    taskCount: number;
    newEnergyTaskCount: number;
    fuelVehicleTaskCount: number;
    tackCarTaskCount: number;
  }
  
  export interface AutoAssignSaleTaskReq {
    id: number;
    assignTask: boolean;
    shopTaskList: AutoAssignItem[];
  }
  
  /** 自动分配零售任务 */
a60f9f4a   Shinner   调试批量设置接口
130
131
132
  export function autoAssignSaleTask(
    params: AutoAssignSaleTaskReq
  ): PromiseResp<boolean> {
bdad4eb5   Shinner   调试自动分配接口
133
134
135
    return request.post(`${ORDER3_HOST}/erp/sales/task/auto/assign`, params);
  }
  
a60f9f4a   Shinner   调试批量设置接口
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
  interface BatchSetSaleTaskItem {
    shopIdList: number[];
    taskAims: number;
  }
  
  export interface BatchSetSaleTaskReq {
    grossProfitTaskList?: BatchSetSaleTaskItem[];
    tackCarTaskList?: BatchSetSaleTaskItem[];
    testDriveTaskList?: BatchSetSaleTaskItem[];
    assignTask: boolean;
    orderTaskApplyId: number;
  }
  
  /** 批量设置零售任务 */
  export function batchSetSaleTask(
    params: BatchSetSaleTaskReq
  ): PromiseResp<boolean> {
    return request.post(`${ORDER3_HOST}/erp/sales/task/batch/shop/set`, params);
  }
  
d8aedefd   Shinner   单个门店支持分配到门店和顾问
156
157
158
159
160
161
162
  /** 自动分配单个门店的零售任务 */
  export function autoAssignOneShop(
    params: ShopTaskItem
  ): PromiseResp<boolean> {
    return request.post(`${ORDER3_HOST}/erp/sales/task/auto/assign/shop`, params);
  }
  
a1e7edf3   Shinner   调试零售任务分配接口
163
164
165
166
167
168
169
  export interface BrandItem {
    id: number;
    initial: string;
    name: string;
    thumbnail: string;
  }
  
11ea8143   Shinner   调试零售任务分配接口
170
  /** 门店下面品牌列表 */
a1e7edf3   Shinner   调试零售任务分配接口
171
172
173
174
175
176
177
178
179
180
181
182
183
  export function getBrands(params: {
    shopId: number;
  }): PromiseResp<BrandItem[]> {
    return request.get(`${FVM_HOST}/erp/putaway/vehicle/support/brand`, {
      params,
    });
  }
  
  export interface SeriesItem {
    id: number;
    name: string;
    newEnergy: boolean;
    thumbnail: string;
11ea8143   Shinner   调试零售任务分配接口
184
185
186
  }
  
  /** 门店某品牌下车系列表 */
a1e7edf3   Shinner   调试零售任务分配接口
187
188
189
190
191
192
193
  export function getSeries(params: {
    shopId: number;
    brandId: number;
  }): PromiseResp<SeriesItem[]> {
    return request.get(`${FVM_HOST}/erp/putaway/vehicle/support/series`, {
      params,
    });
11ea8143   Shinner   调试零售任务分配接口
194
  }
aeeb3492   Shinner   增加预览任务功能
195
196
197
198
199
200
201
  
  export interface PreviewTaskReq {
    shopId?: number;
    firstManageId?: number;
    secondManageId?: number;
    thirdManageId?: number;
    taskId?: number;
604e7e51   Shinner   预览任务增加门店和顾问搜索
202
203
    orderTaskApprovalType?: number;
    id?: number;
aeeb3492   Shinner   增加预览任务功能
204
    token?: string;
604e7e51   Shinner   预览任务增加门店和顾问搜索
205
    keywords?: string;
aeeb3492   Shinner   增加预览任务功能
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
  }
  
  export interface TaskListItem {
    id: number;
    dataId: number;
    dataName: string;
    beforeTaskCount: number;
    afterTaskCount: number;
    beforeClueDealTaskCount: number;
    afterClueDealTaskCount: number;
    beforeNewEnergyTaskCount: number;
    afterNewEnergyTaskCount: number;
    beforeFuelVehicleTaskCount: number;
    afterFuelVehicleTaskCount: number;
    beforeTackCarTaskCount: number;
    afterTackCarTaskCount: number;
    beforeTestDriveTaskCount: number;
    afterTestDriveTaskCount: number;
    taskCountModified: boolean;
    clueDealTaskCountModified: boolean;
    newEnergyTaskCountModified: boolean;
    fuelVehicleTaskCountModified: boolean;
    tackCarTaskCountModified: boolean;
    testDriveTaskCountModified: boolean;
    seriesTaskCount: number;
    newEnergy: boolean;
  }
  
  export interface PreviewTaskRes {
    year: number;
    month: number;
    remark: string;
    attachmentList: string[];
    taskList: TaskListItem[];
  }
  
  /** 预览任务 */
bdad4eb5   Shinner   调试自动分配接口
243
244
245
  export function previewTask(
    params: PreviewTaskReq
  ): PromiseResp<PreviewTaskRes> {
aeeb3492   Shinner   增加预览任务功能
246
247
248
249
    return request.get(`${ORDER3_HOST}/erp/sales/task/approve/info`, {
      params,
    });
  }