import request from '@/config/axios'

// 设备维修 VO
export interface WorkOrdersVO {
  id: number // 主键ID
  deviceId: number // 设备ID
  orderNumber: string // 维修单号
  reporterName: string // 报修人姓名
  reporterPhone: string // 报修人手机号
  reportTime: Date // 报修时间
  faultType: string // 故障类型
  faultLevel: string // 故障等级
  faultDescription: string // 故障描述
  attachmentUrls: string // 报修附件
  reportSource: string // 来源
  sourceOrderNumber: string // 来源单号
  state: number // 工单状态
  faultReason: string // 故障原因
  plannedMaintenanceTime: Date // 计划维修时间
  assigneeName: string // 处理人姓名
  assigneePhone: string // 处理人手机
  actualStartTime: Date // 实际开始时间
  actualEndTime: Date // 实际完成时间
  maintenanceType: string // 维修方式
  maintenanceCategory: string // 维修工种
  assigneeContent: string // 处理内容
  preventiveMeasures: string // 预防措施
  difficultyLevel: string // 难易度
  assigneeUrls: string // 维修附件
  shutdownStartTime: Date // 停机开始时间
  shutdownEndTime: Date // 停机结束时间
  inspectorName: string // 验收人姓名
  inspectionTime: Date // 验收时间
}

// 设备维修 API
export const WorkOrdersApi = {
  // 查询设备维修分页
  getWorkOrdersPage: async (params: any) => {
    return await request.get({ url: `/device/work-orders/page`, params })
  },

  // 查询设备维修详情
  getWorkOrders: async (id: number) => {
    return await request.get({ url: `/device/work-orders/get?id=` + id })
  },

  // 新增设备维修
  createWorkOrders: async (data: WorkOrdersVO) => {
    return await request.post({ url: `/device/work-orders/create`, data })
  },

  // 修改设备维修
  updateWorkOrders: async (data: WorkOrdersVO) => {
    return await request.put({ url: `/device/work-orders/update`, data })
  },

  // 删除设备维修
  deleteWorkOrders: async (id: number) => {
    return await request.delete({ url: `/device/work-orders/delete?id=` + id })
  },

  // 导出设备维修 Excel
  exportWorkOrders: async (params) => {
    return await request.download({ url: `/device/work-orders/export-excel`, params })
  },
}
