import request from '@/config/axios'

// 设备信息库 VO
export interface DeviceInfoVO {
  id: number // 主键ID
  deviceName: string // 设备名称
  deviceCategory: string // 设备分类
  purchasePlace: string // 采购地方
  supplier: string // 采购供应商
  contactInfo: string // 联系方式
  purchasePrice: number // 采购价格
  productParams: string // 产品参数
  productElements: string // 产品要素
  usedParts: string // 使用部件
  picUrl: string // 图片URL
  remark: string // 备注信息
  createTime: Date // 创建时间
}

// 设备信息库 API
export const DeviceInfoApi = {
  // 查询设备信息库分页
  getDeviceInfoPage: async (params: any) => {
    return await request.get({ url: `/iot/device-info/page`, params })
  },

  // 查询设备信息库详情
  getDeviceInfo: async (id: number) => {
    return await request.get({ url: `/iot/device-info/get?id=` + id })
  },

  // 新增设备信息库
  createDeviceInfo: async (data: DeviceInfoVO) => {
    return await request.post({ url: `/iot/device-info/create`, data })
  },

  // 修改设备信息库
  updateDeviceInfo: async (data: DeviceInfoVO) => {
    return await request.put({ url: `/iot/device-info/update`, data })
  },

  // 删除设备信息库
  deleteDeviceInfo: async (id: number) => {
    return await request.delete({ url: `/iot/device-info/delete?id=` + id })
  },

  // 批量删除设备信息库
  deleteDeviceInfoList: async (ids: number[]) => {
    return await request.delete({ url: `/iot/device-info/delete-list`, params: { ids: ids.join(',') } })
  },

  // 导出设备信息库 Excel
  exportDeviceInfoExcel: async (params: any) => {
    return await request.download({ url: `/iot/device-info/export-excel`, params })
  },

  // 获取导入模板
  importDeviceInfoTemplate: async () => {
    return await request.download({ url: `/iot/device-info/get-import-template` })
  }
}
