import request from '@/config/axios'

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

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

  // 查询表单字段详情
  getFormField: async (id: number) => {
    return await request.get({ url: `/grid/form-field/get?id=` + id })
  },

  // 查询表单字段详情
  getFormFieldByGridId: async (gridId: number) => {
    return await request.get({ url: `/grid/form-field/get-by-grid-id?gridId=` + gridId })
  },

  // 新增表单字段
  submitFormField: async (data: any) => {
    return await request.post({ url: `/grid/form-field/submitFormField`, data })
  },

  // 修改表单字段
  updateFormField: async (data: FormFieldVO) => {
    return await request.put({ url: `/grid/form-field/update`, data })
  },

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

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

  // 删除验证
  deleteFormFieldValidate: async (id: number) => {
    return await request.get({ url: `/grid/form-field/get-validate?id=` + id })
  }
}
