import {
  AccountParams,
  responsesmodel,
  getPageList_ParamsModel,
  getPageListModel,
  stateModel,
  GetFormModel,
  formModuleModel,
  SysDataItemLoadModel,
} from './model/formModuleModel';
import { defHttp } from '@/utils/http/axios';

enum Api {
  // 获取分页列表
  Get_GetPageList = '/api/FormModule/GetPageList',
  // 更新状态
  Post_UpdateModuleState = '/api/FormModule/UpdateModuleState',
  // 删除实体数据（表单发布模板id）
  Post_DeleteForm = '/api/FormModule/DeleteForm',
  // 根据主键获取实体数据(编辑时使用)
  Get_GetForm = '/api/FormModule/GetForm',
  // 新增实体数据
  Post_AddForm = '/api/FormModule/AddForm',
  // 编辑实体数据
  Post_UpdateForm = '/api/FormModule/UpdateForm',
  // 获取字典分类列表
  Get_SysDataItemLoad = '/api/SysDataItem/Load',
  // 判断数据表字段重复
  Get_ExistFiled = '/api/FormModule/ExistFiled',
}

// 获取分页列表
export function fun_GetPageList(params: getPageList_ParamsModel) {
  return defHttp.get<getPageListModel>({
    url: Api.Get_GetPageList,
    params,
  });
}

// 更新状态
export function fun_UpdateModuleState(params: stateModel) {
  return defHttp.post<responsesmodel>({
    url: Api.Post_UpdateModuleState + '?id=' + params.id + '&state=' + params.state,
  });
}

// 删除实体数据（表单发布模板id）
export function fun_DeleteForm(params: AccountParams) {
  return defHttp.post<responsesmodel>({
    url: Api.Post_DeleteForm + '?keyValue=' + params.id,
  });
}

// 根据主键获取实体数据(编辑时使用)
export function fun_GetForm(params) {
  return defHttp.get<GetFormModel>({
    url: Api.Get_GetForm,
    params,
  });
}

// 新增实体数据
export function Post_AddForm(params: formModuleModel) {
  return defHttp.post<responsesmodel>({
    url: Api.Post_AddForm,
    params,
  });
}
// 编辑实体数据
export function Post_UpdateForm(params: formModuleModel) {
  return defHttp.post<responsesmodel>({
    url: Api.Post_UpdateForm + '?id=' + params.formModuleEntity.id,
    params,
  });
}

// 获取字典分类列表
export function Get_SysDataItemLoad() {
  return defHttp.get<SysDataItemLoadModel>({
    url: Api.Get_SysDataItemLoad,
  });
}

// 判断数据表字段重复
export function Get_Get_ExistFiled(params) {
  return defHttp.get<responsesmodel>({
    url: Api.Get_ExistFiled,
    params,
  });
}
