datasource.api.ts 1.9 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283
  1. import { defHttp } from '/@/utils/http/axios';
  2. import { Modal } from 'ant-design-vue';
  3. enum Api {
  4. list = '/sys/dataSource/list',
  5. save = '/sys/dataSource/add',
  6. edit = '/sys/dataSource/edit',
  7. get = '/sys/dataSource/queryById',
  8. delete = '/sys/dataSource/delete',
  9. testConnection = '/online/cgreport/api/testConnection',
  10. deleteBatch = '/sys/dataSource/deleteBatch',
  11. exportXlsUrl = 'sys/dataSource/exportXls',
  12. importExcelUrl = 'sys/dataSource/importExcel',
  13. }
  14. /**
  15. * 导出api
  16. */
  17. export const getExportUrl = Api.exportXlsUrl;
  18. /**
  19. * 导入api
  20. */
  21. export const getImportUrl = Api.importExcelUrl;
  22. /**
  23. * 查询数据源列表
  24. * @param params
  25. */
  26. export const getDataSourceList = (params) => {
  27. return defHttp.get({ url: Api.list, params });
  28. };
  29. /**
  30. * 保存或者更新数据源
  31. * @param params
  32. */
  33. export const saveOrUpdateDataSource = (params, isUpdate) => {
  34. let url = isUpdate ? Api.edit : Api.save;
  35. return defHttp.post({ url: url, params });
  36. };
  37. /**
  38. * 查询数据源详情
  39. * @param params
  40. */
  41. export const getDataSourceById = (params) => {
  42. return defHttp.get({ url: Api.get, params });
  43. };
  44. /**
  45. * 删除数据源
  46. * @param params
  47. */
  48. export const deleteDataSource = (params, handleSuccess) => {
  49. return defHttp.delete({ url: Api.delete, data: params }, { joinParamsToUrl: true }).then(() => {
  50. handleSuccess();
  51. });
  52. };
  53. /**
  54. * 测试连接
  55. * @param params
  56. */
  57. export const testConnection = (params) => {
  58. return defHttp.post({ url: Api.testConnection, params });
  59. };
  60. /**
  61. * 批量删除数据源
  62. * @param params
  63. */
  64. export const batchDeleteDataSource = (params, handleSuccess) => {
  65. Modal.confirm({
  66. title: '确认删除',
  67. content: '是否删除选中数据',
  68. okText: '确认',
  69. cancelText: '取消',
  70. onOk: () => {
  71. return defHttp.delete({ url: Api.deleteBatch, data: params }, { joinParamsToUrl: true }).then(() => {
  72. handleSuccess();
  73. });
  74. },
  75. });
  76. };