import request from "@/utils/request.js"; /** * 获取工单列表 * @param {Object} params 查询参数 * @returns {Promise} */ export function getTickerList(count, page, status, orderBy, order, userId, keyword) { const params = { count, page } if (status !== undefined && status !== '') params.status = status if (orderBy) params.orderBy = orderBy if (order) params.order = order if (userId) params.user_id = userId if (keyword) params.keyword = keyword console.log('工单列表请求参数:', params) // 调试日志 return request.get('/api/v1/admin/work_order/list', params) } // 待处理 export function getPendingTicketList(count, page) { return getTickerList(count,page,0) } // 进行中 export function getProcessingTicketList(count, page) { return getTickerList(count,page,1) } //已回复 export function getRepliedTicketList(count, page) { return getTickerList(count,page,2) } // 已解决 export function getCompletedTicketList(count, page) { return getTickerList(count,page,3) } // 获取工单详情 export function getTicketDetail(work_id) { return request.get('/api/v1/admin/work_order/detail', { work_id }) } // 回复工单 export function replyTicket(work_id, content, files) { return request.post('/api/v1/admin/work_order/reply', { work_id, content, files }) } // 关闭工单 export function closeTicket(work_id) { return request.post('/api/v1/admin/work_order/close', { work_id }) } export function getFile(file_id) { return request.get('/api/v1/tool/file/down', { file_id }) } // 获取用户头像 export function getUserAvatar(user_id) { // TODO: 实现获取用户头像的逻辑 return `https://avatar.example.com/${user_id}` } // 获取文件图片 export async function getFileImage(file_id) { let resp = await getFile(file_id) console.log(resp.data.content) return resp.data.content } // 解析多个文件ID为图片URL数组 export async function parseFilesToImages(files) { if (!files || files === '') return [] const fileIds = files.split(',') return await Promise.all(fileIds.map(async (id) => await getFileImage(id.trim()))) } /**获取工单数量 */ export function getTicketCount() { return request.get('/api/v1/admin/work_order/count') } /**修改工单信息 */ export function updateTicketInfo(data) { return request.post('/api/v1/admin/work_order/update', data,{ headers:{ 'Content-Type':'multipart/form-data' } }) } /**添加工单类型 */ export function addTicketType(data) { return request.post('/api/v1/admin/work_order/add_type', data,{ headers:{ 'Content-Type':'multipart/form-data' } }) } /**修改工单类型 */ export function updateTicketType(data) { return request.post('/api/v1/admin/work_order/update_type', data,{ headers:{ 'Content-Type':'multipart/form-data' } }) } /**删除工单类型 */ export function deleteTicketType(data) { return request.delete('/api/v1/admin/work_order/delete_type', data,{ headers:{ 'Content-Type':'multipart/form-data' } }) } /**获取工单类型列表 */ export function getTicketTypeList(data) { return request.get('/api/v1/admin/work_order/type_list', data) } /**修改工单回复信息 */ export function updateTicketReplayInfo(data){ return request.post('/api/v1/admin/work_order/update_reply',data,{ headers:{ 'Content-Type':'multipart/form-data' } }) }