liu
昨天 5a322d24b59c4b70c08e792f21162be0f05d0199
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
import type { PageParam, PageResult } from '@vben/request';
 
import { requestClient } from '#/api/request';
 
export namespace AftersalesProblemApi {
  /** 售后问题 */
  export interface Problem {
    id?: number;
    no?: string;
    title?: string;
    sourceTicketId?: number;
    sourceTicketNo?: string;
    customerId?: number;
    customerName?: string;
    itemId?: number;
    itemCode?: string;
    itemName?: string;
    batchId?: number;
    batchCode?: string;
    issueType?: number;
    issueCategory?: string;
    severityLevel?: number;
    description?: string;
    /** 根因分类: 1-设计 2-物料 3-工艺 4-装配 5-运输 6-包装 7-使用 8-软件 9-其他 */
    rootCauseCategory?: number;
    rootCause?: string;
    solution?: string;
    /** 状态: 0-草稿 1-已发布 2-已停用 */
    status?: number;
    ownerUserId?: number;
    ownerUserName?: string;
    publishTime?: string;
    remark?: string;
    creator?: string;
    createTime?: string;
    updater?: string;
    updateTime?: string;
    /** 附件 blobId 列表(保存时传入) */
    blobIds?: number[];
    /** 附件列表(详情返回) */
    attachmentList?: { id: number; name?: string; url?: string }[];
  }
}
 
/** 新增售后问题(草稿) */
export function createProblem(data: AftersalesProblemApi.Problem) {
  return requestClient.post<number>('/aftersales/problem/create', data);
}
 
/** 更新售后问题(仅草稿) */
export function updateProblem(data: AftersalesProblemApi.Problem) {
  return requestClient.put<boolean>('/aftersales/problem/update', data);
}
 
/** 删除售后问题(仅草稿) */
export function deleteProblem(id: number) {
  return requestClient.delete<boolean>('/aftersales/problem/delete', {
    params: { id },
  });
}
 
/** 获取售后问题详情 */
export function getProblem(id: number) {
  return requestClient.get<AftersalesProblemApi.Problem>(
    `/aftersales/problem/get?id=${id}`,
  );
}
 
/** 分页查询售后问题 */
export function getProblemPage(params: PageParam) {
  return requestClient.get<PageResult<AftersalesProblemApi.Problem>>(
    '/aftersales/problem/page',
    { params },
  );
}
 
/** 发布问题(草稿/停用 -> 已发布) */
export function publishProblem(id: number) {
  return requestClient.put<boolean>('/aftersales/problem/publish', null, {
    params: { id },
  });
}
 
/** 停用问题(已发布 -> 停用) */
export function disableProblem(id: number) {
  return requestClient.put<boolean>('/aftersales/problem/disable', null, {
    params: { id },
  });
}
 
/** 参考检索(新工单受理,只返回已发布) */
export function referenceProblem(params: {
  itemId?: number;
  issueCategory?: string;
  issueType?: number;
  rootCauseCategory?: number;
  keyword?: string;
}) {
  return requestClient.get<AftersalesProblemApi.Problem[]>(
    '/aftersales/problem/reference',
    { params },
  );
}