import request from '@/config/axios'

// 列表查询字段 VO
export interface FieldVO {
  id: number // 自增主键
  gridId: number // 菜单编码
  gridCode: string // grid编码
  fieldKey: string // 字段标识
  fieldName: string // 字段名称
  fieldShowName: string // 字段显示名称
  fieldType: string // 字段类型：字典grid_field_type
  fieldTypeIcon: string // 字段类型图标
  promptValue: string // 文本框提示词
  defaultValue: string // 默认值
  sortOrder: number // 排序序号
  showFlag: boolean // 是否显示：0-显示  1-不显示
  fieldWidth: string // 所占宽度
  enabled: number // 状态
  remark: string // 备注说明
  itemId: number // 来源ItemID
  version: number // 版本
}

// 列表查询字段 API
export const FieldApi = {
  // 查询列表查询字段分页
  getFieldPage: async (params: any) => {
    return await request.get({ url: `/grid/field/page`, params })
  },

  // 查询列表查询字段详情
  getField: async (data: any) => {
    return await request.post({ url: `/grid/field/get`, data })
  },

  // 新增列表查询字段
  createField: async (data: FieldVO) => {
    return await request.post({ url: `/grid/field/create`, data })
  },

  // 修改列表查询字段
  updateField: async (data: FieldVO) => {
    return await request.put({ url: `/grid/field/update`, data })
  },

  // 删除列表查询字段
  deleteField: async (id: number) => {
    return await request.delete({ url: `/grid/field/delete?id=` + id })
  },
  // 批量删除${subTable.classComment}
  deleteFieldList: async (ids: number[]) => {
    return await request.delete({ url: `/grid/field/delete-list?ids=` + ids })
  },

  // 导出列表查询字段 Excel
  exportField: async (params) => {
    return await request.download({ url: `/grid/field/export-excel`, params })
  }
}
