import { defHttp } from '@jdlinker/func'; import { Modal } from 'ant-design-vue'; enum Api { list = '/online/cgform/head/list', deleteRecord = '/online/cgform/head/delete', removeRecord = '/online/cgform/head/removeRecord', deleteBatch = '/online/cgform/head/deleteBatch', save = '/online/cgform/head/add', edit = '/online/cgform/head/edit', queryTables = '/online/cgform/head/queryTables', transTables = '/online/cgform/head/transTables', indexList = '/online/cgform/index/listByHeadId', saveAll = '/online/cgform/api/addAll', editAll = '/online/cgform/api/editAll', codeGenerate = '/online/cgform/api/codeGenerate', doDbSynch = '/online/cgform/api/doDbSynch' } /** * 列表接口 * @param params */ export const list = (params) => defHttp.get({ url: Api.list, params }); /** * 删除 */ export const deleteRecord = (params, handleSuccess) => { return defHttp.delete({ url: Api.deleteRecord, params }, { joinParamsToUrl: true }).then(() => { handleSuccess(); }); }; /** * 移除 */ export const removeRecord = (params, handleSuccess) => { return defHttp.delete({ url: Api.removeRecord, params }, { joinParamsToUrl: true }).then(() => { handleSuccess(); }); }; /** * 批量删除 * @param params * @param handleSuccess */ export const batchDelete = (params, handleSuccess) => { Modal.confirm({ title: '删除', iconType: 'warning', content: '移除只会删除表单配置;\n' + '删除则会删除对应的数据库表以及子表。\n' + '请确认您的操作…', okText: '移除', cancelText: '删除', onOk: () => { params.flag = 0; return defHttp.delete({ url: Api.deleteBatch, data: params }, { joinParamsToUrl: true }).then(() => { handleSuccess(); }); }, onCancel() { params.flag = 1; return defHttp.delete({ url: Api.deleteBatch, data: params }, { joinParamsToUrl: true }).then(() => { handleSuccess(); }); } }); }; /** * 保存或者更新用户 * @param params * @param isUpdate */ export const saveOrUpdate = (params, isUpdate) => { const url = isUpdate ? Api.edit : Api.save; return defHttp.post({ url: url, params }); }; export const saveOrUpdateAll = (params, isUpdate) => { const url = isUpdate ? Api.editAll : Api.saveAll; return defHttp.post({ url: url, params }); }; /** * 数据库列表 */ export const queryTables = () => defHttp.get({ url: Api.queryTables }, { isTransformResponse: false }); export const transTables = (params) => { const url = Api.transTables + '/' + params; return defHttp.post({ url: url }, { isTransformResponse: false }); }; export const indexList = (params) => defHttp.get({ url: Api.indexList, params }); /** * 生成代码 */ export const codeGenerate = (params, handleSuccess) => { return defHttp.post({ url: Api.codeGenerate, params }, { joinParamsToUrl: true }).then(() => { handleSuccess(); }); }; /** * 同步数据库 */ export const doDbSynch = (params, handleSuccess) => { const url = Api.doDbSynch + '/' + params.code + '/' + params.synMethod; return defHttp.post({ url: url, data: params }, { joinParamsToUrl: true }).then(() => { handleSuccess(); }); }; // 预览生成代码 export const previewCodegen = (id: any) => { return defHttp.get({ url: `/infra/codegen/preview?tableId=${id}` }); };