import request from '@/config/axios'

// 设备维修工单 VO
export interface RepairOrderVO {
  id: number // 主键ID
  deviceId: number // 报修设备
  reportId: number // 报修人
  reportTime: Date // 报修时间
  reportDeptId: number // 报修部门
  reportPhone: string // 联系方式
  faultLevel: number // 紧急程度
  faultSceneId: number // 故障类型
  faultPics: string // 故障图片
  faultContent: string // 故障说明
  faultSource: number // 故障来源
  state: number // 状态
  repairType: number // 维修方式
  dispatchId: number // 派单人
  dispatchTime: Date // 派单时间
  teamId: string // 班组id
  teamStaffIds: string // 班组成员ID，逗号分隔
  teamStaffNames: string // 班组成员名称，逗号分隔
  takeId: number // 接单人
  takeDept: number // 接单人部门
  takeTime: Date // 接单时间
  repairCompanyName: string // 维修供应商
  repairExpectedCost: number // 维修预计费用
  repairCostDept: number // 费用承担部门
  repairStartTime: Date // 维修开始时间
  repairEndTime: Date // 维修结束时间
  repairHours: number // 实际用时
  repairResult: number // 维修结果
  inspectorId: number // 验收人ID
  inspectionTime: Date // 验收时间
}

// 设备维修工单 API
export const RepairOrderApi = {
  // 查询设备维修工单分页
  getRepairOrderPage: async (params: any) => {
    return await request.get({ url: `/device/repair-order/page`, params })
  },

  // 查询设备维修工单详情
  getRepairOrder: async (id: number) => {
    return await request.get({ url: `/device/repair-order/get?id=` + id })
  },

  // 新增设备维修工单
  createRepairOrder: async (data: RepairOrderVO) => {
    return await request.post({ url: `/device/repair-order/create`, data })
  },

  // 修改设备维修工单
  updateRepairOrder: async (data: RepairOrderVO) => {
    return await request.put({ url: `/device/repair-order/update`, data })
  },

  // 修改设备维修工单
  updateTeam: async (data: RepairOrderVO) => {
    return await request.put({ url: `/device/repair-order/updateTeam`, data })
  },
  // 修改设备维修工单
  updateTake: async (data: RepairOrderVO) => {
    return await request.put({ url: `/device/repair-order/updateTake`, data })
  },
  // 修改设备维修工单
  updateInspection: async (data: RepairOrderVO) => {
    return await request.put({ url: `/device/repair-order/updateInspection`, data })
  },

  // 删除设备维修工单
  deleteRepairOrder: async (id: number) => {
    return await request.delete({ url: `/device/repair-order/delete?id=` + id })
  },

  // 导出设备维修工单 Excel
  exportRepairOrder: async (params) => {
    return await request.download({ url: `/device/repair-order/export-excel`, params })
  },
  // 提交任务审核
  submitAudit: async (id: number) => {
    return await request.put({url: `/device/repair-order/submit-audit?id=${id}`})
  },
  getRepairOrderByProcessId: async (processInstanceId: string) => {
    return await request.get({url: `/device/repair-order/getRepairOrderByProcessId?processInstanceId=` + processInstanceId})
  },
}
