GuDingZiChan/frontend/src/api/maintenance.ts
2026-03-10 16:19:47 +08:00

66 lines
1.8 KiB
TypeScript

import request from './index'
export interface MaintenanceRecord {
id: number
equipment_id: number
equipment_code: string
issue_description: string
repair_vendor?: string
estimated_cost: number
actual_cost?: number
start_date: string
expected_end_date?: string
actual_end_date?: string
status: 'in_progress' | 'completed' | 'cancelled'
repair_result?: string
created_by: number
equipment?: {
equipment_name: string
equipment_type: string
}
creator?: { id: number; name: string; username: string }
}
export interface CreateMaintenanceParams {
equipment_id: number
issue_description: string
repair_vendor?: string
estimated_cost: number
expected_end_date?: string
}
// 创建维修记录
export const createMaintenance = (data: CreateMaintenanceParams) => {
return request.post('/maintenance', data)
}
// 获取维修记录列表
export const getMaintenanceList = (params: { page?: number; pageSize?: number; status?: string; keyword?: string; equipment_id?: number }) => {
return request.get('/maintenance/list', { params })
}
// 获取维修记录详情
export const getMaintenanceDetail = (id: number) => {
return request.get(`/maintenance/${id}`)
}
// 更新维修记录
export const updateMaintenance = (id: number, data: Partial<CreateMaintenanceParams>) => {
return request.put(`/maintenance/${id}`, data)
}
// 完成维修
export const completeMaintenance = (id: number, data: { actual_cost?: number; repair_result?: string }) => {
return request.put(`/maintenance/${id}/complete`, data)
}
// 取消维修
export const cancelMaintenance = (id: number, data: { reason?: string }) => {
return request.put(`/maintenance/${id}/cancel`, data)
}
// 获取资产维修历史
export const getEquipmentMaintenanceHistory = (equipmentId: number) => {
return request.get(`/maintenance/equipment/${equipmentId}/history`)
}