import { defHttp } from '/@/utils/http/axios'; import { Modal } from 'ant-design-vue'; enum Api { list = '/sys/dataSource/list', save = '/sys/dataSource/add', edit = '/sys/dataSource/edit', get = '/sys/dataSource/queryById', delete = '/sys/dataSource/delete', testConnection = '/online/cgreport/api/testConnection', deleteBatch = '/sys/dataSource/deleteBatch', exportXlsUrl = 'sys/dataSource/exportXls', importExcelUrl = 'sys/dataSource/importExcel', } /** * 导出api */ export const getExportUrl = Api.exportXlsUrl; /** * 导入api */ export const getImportUrl = Api.importExcelUrl; /** * 查询数据源列表 * @param params */ export const getDataSourceList = (params) => { return defHttp.get({ url: Api.list, params }); }; /** * 保存或者更新数据源 * @param params */ export const saveOrUpdateDataSource = (params, isUpdate) => { let url = isUpdate ? Api.edit : Api.save; return defHttp.post({ url: url, params }); }; /** * 查询数据源详情 * @param params */ export const getDataSourceById = (params) => { return defHttp.get({ url: Api.get, params }); }; /** * 删除数据源 * @param params */ export const deleteDataSource = (params, handleSuccess) => { return defHttp.delete({ url: Api.delete, data: params }, { joinParamsToUrl: true }).then(() => { handleSuccess(); }); }; /** * 测试连接 * @param params */ export const testConnection = (params) => { return defHttp.post({ url: Api.testConnection, params }); }; /** * 批量删除数据源 * @param params */ export const batchDeleteDataSource = (params, handleSuccess) => { Modal.confirm({ title: '确认删除', content: '是否删除选中数据', okText: '确认', cancelText: '取消', onOk: () => { return defHttp.delete({ url: Api.deleteBatch, data: params }, { joinParamsToUrl: true }).then(() => { handleSuccess(); }); }, }); };