66 lines
1.8 KiB
TypeScript
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`)
|
|
}
|