import { DeleteRequestModel, GetRequestModel, ParamsItemType, PostRequestModel, PutRequestModel, QueryObjectType } from '../../http/request-model' import { PageModel } from '../../http/result-model' import { getDefaultConfig } from '../../http/config/custom-config' export type FormType = Required<{ columnName: string columnValue: ParamsItemType }>[] /** * 构建itemList * @param query */ const buildItemList = (query?: QueryObjectType) => { return query ? Object.keys(query).map(key => ({ columnName: key, columnValue: query[key] })) : [] } export default { /** * 分页查询信息 * @param query */ page: (query: QueryObjectType) => { return new PostRequestModel>(`/dynamicFormTableRecord/page/${query['tableId']}`, { ...query, itemList: buildItemList(query) }).request() }, /** * 根据id获取数据信息 * @param tableId * @param id */ getById: (tableId: string, id: string) => new GetRequestModel(`/dynamicFormTableRecord/${tableId}/${id}`).request(), /** * 添加数据 * @param tableId * @param list */ add: (tableId: string, list: FormType) => new PostRequestModel(`/dynamicFormTableRecord/${tableId}/`, { itemList: list }).request(), /** * 添加数据 * @param tableId * @param id * @param list */ update: (tableId: string, id: string, list: FormType) => new PutRequestModel(`/dynamicFormTableRecord/${tableId}/`, { id, itemList: list }).request(), /** * 删除记录信息 * @param tableId * @param id */ delete: (tableId: string, id: string) => new DeleteRequestModel(`/dynamicFormTableRecord/${tableId}/${id}`).request(), /** * 批量删除记录信息 * @param tableId * @param ids */ deleteBatch: (tableId: string, ids: string[]) => new DeleteRequestModel(`/dynamicFormTableRecord/deleteBatch/${tableId}`, ids).request(), /** * 查询某个动态表的下拉列表 * @param tableId * @param field */ listBySelectField: (tableId: string, field: string) => { // 设置自定义的config const defaultConfig = getDefaultConfig<{ [key: string]: string }>() defaultConfig.contentType = 'application/x-www-form-urlencoded' return new GetRequestModel<{ [key: string]: string }>(`/dynamicFormTableRecord/selectField/${tableId}`, { field }, defaultConfig).request() }, /** * 下载导入模板 * @param tableId */ downloadImportTemplate: (tableId: string) => new GetRequestModel(`/dynamicFormTableRecord/getImportTemplate/${tableId}`).request(), /** * 导出数据 * @param tableId * @param query */ exportData: (tableId: string, query?: QueryObjectType) => { return new PostRequestModel(`/dynamicFormTableRecord/export/${tableId}`, { ...query, itemList: buildItemList(query) }).request() } }