import { http } from '@/http' const SYSTEM_BASE = '/system' /** * 工单管理 API * 与 web 端 module_system/ticket.ts 对齐(完整字段定义) */ export const TicketAPI = { getPage(params?: Record): Promise> { return http.Get(`${SYSTEM_BASE}/ticket/list`, params) }, getDetail(id: number): Promise { return http.Get(`${SYSTEM_BASE}/ticket/detail/${id}`) }, create(data: TicketForm): Promise { return http.Post(`${SYSTEM_BASE}/ticket/create`, data) }, update(id: number, data: Record): Promise { return http.Put(`${SYSTEM_BASE}/ticket/update/${id}`, data) }, remove(ids: number[]): Promise { return http.Delete(`${SYSTEM_BASE}/ticket/delete`, { ids: JSON.stringify(ids) }) }, batch(data: { ids: number[], status: number, assigned_id?: number }): Promise { return http.Put(`${SYSTEM_BASE}/ticket/batch`, data) }, exportTickets(params?: Record): Promise { return http.Post(`${SYSTEM_BASE}/ticket/export`, params) }, getComments(ticketId: number, params?: Record): Promise> { return http.Get(`${SYSTEM_BASE}/ticket/${ticketId}/comments`, params) }, createComment(ticketId: number, data: { content: string }): Promise { return http.Post(`${SYSTEM_BASE}/ticket/${ticketId}/comments`, data) }, } export interface TicketForm extends BaseFormType { title: string ticket_content?: string summary?: string ticket_type: string images?: string reply?: string assigned_id?: number status?: number description?: string } export interface TicketItem extends BaseType { title?: string ticket_content?: string summary?: string ticket_type?: string status?: string | number assigned_id?: number assigned_by?: CommonType images?: string reply?: string description?: string } export interface TicketComment extends BaseType { ticket_id?: number user_id?: number username?: string content?: string created_by_name?: string }