import request from '@/config/axios'
import { CriticalComponentVO } from '@/api/mes/criticalComponent'
import { ProductVO } from '@/api/erp/product/product'
import { MoldVO } from '@/api/erp/mold'
// 设备类型 VO
export interface DeviceLedgerVO {
  id: number // id
  deviceCode: string // 设备编号
  deviceName: string // 设备名称
  deviceStatus: number // 设备状态 (0-正常, 1-停用, 2-维修, 3-报废)
  deviceBrand: string // 设备品牌
  deviceModel: string // 设备型号
  deviceSpec: string // 设备规格
  deviceType: string | number // 设备类型
  deviceTypeName?: string // 设备类型名称
  supplier: string // 供应商
  workshop: string // 所属车间
  systemOrg: string // 所属系统组织
  deviceLocation: string // 设备位置
  useDept?: string // 使用部门
  deviceManager: string // 设备负责人
  productionDate: string | number | Date // 设备生产日期
  factoryEntryDate: string | number | Date // 设备入厂日期
  deviceRemark: string // 设备备注
  remark: string // 备注
  fileUrl?: string // 附件下载
  componentId?: string // 关键件，ids集合
  componentList?: CriticalComponentVO[]
  beijianId?: string // 备件，ids集合
  beijianList?: ProductVO[]
  moldId?: string // 模具，ids集合
  moldList?: MoldVO[]
  inspectionList?: any[]
  maintainList?: any[]
  creator?: string // 创建人
  creatorName?: string
  createTime?: string | number | Date
  updateTime?: string | number | Date
  sort: number // 排序
}

// 设备类型 API
export const DeviceLedgerApi = {
  // 查询设备类型分页
  getDeviceLedgerPage: async (params: any) => {
    return await request.get({ url: `/mes/device-ledger/page`, params })
  },

  getDeviceLedgerList: async () => {
    return await request.get({ url: `/mes/device-ledger/list` })
  },

  getDeviceLedgerListByNoUsed: async () => {
    return await request.get({ url: `/mes/device-ledger/noUsedlist` })
  },

  getDeviceLedgerList2ByNoUsed: async (id: number) => {
    return await request.get({ url: `/mes/device-ledger/noUsedlist2?id=` + id })
  },

  // 查询设备类型详情
  getDeviceLedger: async (id: number) => {
    return await request.get({ url: `/mes/device-ledger/get?id=` + id })
  },

  // 新增设备类型
  createDeviceLedger: async (data: DeviceLedgerVO) => {
    return await request.post({ url: `/mes/device-ledger/create`, data })
  },

  // 修改设备类型
  updateDeviceLedger: async (data: DeviceLedgerVO) => {
    return await request.put({ url: `/mes/device-ledger/update`, data })
  },

  // 删除设备类型
  deleteDeviceLedger: async (ids: string) => {
    return await request.delete({ url: `/mes/device-ledger/delete?ids=` + ids })
  },

  // 导出设备类型 Excel
  exportDeviceLedger: async (params) => {
    return await request.download({ url: `/mes/device-ledger/export-excel`, params })
  },
  exportSpareBased: async (params) => {
    return await request.download({ url: `/mes/device-ledger/export-spare-based`, params })
  },

    exportMold: async (params) => {
    return await request.download({ url: `/mes/device-ledger/export-mold`, params })
  }
}
