import request from '@/config/axios'

// 机台 VO
export interface MachineComponentVO {
  id: number // 装备id
  name: string // 装备名称
  parentId: number // 父id
  sort: number // 显示顺序
  orgId: number // 组织机台ID
  serialCode: string // 装备SN号
  outgoingTime: Date // 出厂日期
  outgoingReport: string // 出厂报告
  position: string // 位置
  standard: string // 规格
  remark: string // 备注
  status: number // 状态
  componentType: number // 组织类型
  machineType: string // 机台类型
  maintainTime: number // 建议维保时间
  maintainType: string // 建议维保类型(按使用时间，距离上次维保时间)
  maintainTimeUnit: string // 建议维保时间单位
  trueMaintainTime: number // 实际维保时间
  trueMaintainTimeUnit: string // 实际维保时间单位
  trueMaintainTimeType: string // 实际维保类型
  lastMaitainTime: Date // 上次维保时间
}

// 机台 API
export const MachineComponentApi = {
  // 查询机台列表
  getMachineComponentList: async (params) => {
    return await request.get({ url: `/mes/machine-component/list`, params })
  },

  // 查询机台详情
  getMachineComponent: async (id: number) => {
    return await request.get({ url: `/mes/machine-component/get?id=` + id })
  },

  // 新增机台
  createMachineComponent: async (data: MachineComponentVO) => {
    return await request.post({ url: `/mes/machine-component/create`, data })
  },

  // 修改机台
  updateMachineComponent: async (data: MachineComponentVO) => {
    return await request.put({ url: `/mes/machine-component/update`, data })
  },

  // 删除机台
  deleteMachineComponent: async (id: number) => {
    return await request.delete({ url: `/mes/machine-component/delete?id=` + id })
  },

  // 导出机台 Excel
  exportMachineComponent: async (params) => {
    return await request.download({ url: `/mes/machine-component/export-excel`, params })
  },

  // 查询产线和机台列表
  getPipelineAndMachineList: async () => {
    return await request.get({ url: `/mes/machine-component/listPipelineAndMachine` })
  },
}
