| | |
| | | remark?: string; |
| | | } |
| | | |
| | | /** 工单流转记录 */ |
| | | export interface FlowRecord { |
| | | id?: number; |
| | | ticketId?: number; |
| | | action?: string; |
| | | actionName?: string; |
| | | fromStatus?: number; |
| | | fromStatusName?: string; |
| | | toStatus?: number; |
| | | toStatusName?: string; |
| | | content?: string; |
| | | operatorId?: number; |
| | | operatorName?: string; |
| | | createTime?: string; |
| | | } |
| | | |
| | | /** 售后工单 */ |
| | | export interface Ticket { |
| | | id?: number; |
| | |
| | | issueType?: number; |
| | | issueCategory?: string; |
| | | issueDescription?: string; |
| | | /** 客户诉求反馈描述 */ |
| | | feedbackDescription?: string; |
| | | /** 客户诉求附件 blobId 列表(保存时传入) */ |
| | | feedbackBlobIds?: number[]; |
| | | /** 客户诉求附件列表(详情时返回) */ |
| | | feedbackAttachmentList?: { id: number; name?: string; url?: string }[]; |
| | | /** 处理结果描述 */ |
| | | resultDescription?: string; |
| | | /** 处理结果附件 blobId 列表(保存时传入) */ |
| | | resultBlobIds?: number[]; |
| | | /** 处理结果附件列表(详情时返回) */ |
| | | resultAttachmentList?: { id: number; name?: string; url?: string }[]; |
| | | severityLevel?: number; |
| | | status?: number; |
| | | ownerUserId?: number; |
| | |
| | | updateTime?: string; |
| | | /** 附件 blobId 列表(保存时传入) */ |
| | | blobIds?: number[]; |
| | | /** 附件列表(详情时返回) */ |
| | | /** 通用附件列表(历史数据) */ |
| | | attachmentList?: { id: number; name?: string; url?: string }[]; |
| | | /** 流转记录列表(详情时返回,按时间正序) */ |
| | | flowList?: FlowRecord[]; |
| | | items?: TicketItem[]; |
| | | } |
| | | } |
| | |
| | | '/aftersales/ticket/page', |
| | | { params }, |
| | | ); |
| | | } |
| | | |
| | | /** 分配处理人 */ |
| | | export function assignTicket(id: number, handlerUserId: number) { |
| | | return requestClient.post<boolean>('/aftersales/ticket/assign', null, { |
| | | params: { id, handlerUserId }, |
| | | }); |
| | | } |
| | | |
| | | /** 问题判定 */ |