index.ts 2.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114
  1. import request from '@/utils/request';
  2. import { ProcessDefinitionQuery, ProcessDefinitionVO, definitionXmlVO } from '@/api/workflow/processDefinition/types';
  3. import { AxiosPromise } from 'axios';
  4. /**
  5. * 获取流程定义列表
  6. * @param query 流程实例id
  7. * @returns
  8. */
  9. export const listProcessDefinition = (query: ProcessDefinitionQuery): AxiosPromise<ProcessDefinitionVO[]> => {
  10. return request({
  11. url: `/workflow/processDefinition/list`,
  12. method: 'get',
  13. params: query
  14. });
  15. };
  16. /**
  17. * 按照流程定义key获取流程定义
  18. * @param processInstanceId 流程实例id
  19. * @returns
  20. */
  21. export const getListByKey = (key: string) => {
  22. return request({
  23. url: `/workflow/processDefinition/getListByKey/${key}`,
  24. method: 'get'
  25. });
  26. };
  27. /**
  28. * 通过流程定义id获取流程图
  29. */
  30. export const definitionImage = (processDefinitionId: string): AxiosPromise<any> => {
  31. return request({
  32. url: `/workflow/processDefinition/definitionImage/${processDefinitionId}` + '?t' + Math.random(),
  33. method: 'get'
  34. });
  35. };
  36. /**
  37. * 通过流程定义id获取xml
  38. * @param processDefinitionId 流程定义id
  39. * @returns
  40. */
  41. export const definitionXml = (processDefinitionId: string): AxiosPromise<definitionXmlVO> => {
  42. return request({
  43. url: `/workflow/processDefinition/definitionXml/${processDefinitionId}`,
  44. method: 'get'
  45. });
  46. };
  47. /**
  48. * 删除流程定义
  49. * @param deploymentId 部署id
  50. * @param processDefinitionId 流程定义id
  51. * @returns
  52. */
  53. export const deleteProcessDefinition = (deploymentId: string | string[], processDefinitionId: string | string[]) => {
  54. return request({
  55. url: `/workflow/processDefinition/${deploymentId}/${processDefinitionId}`,
  56. method: 'delete'
  57. });
  58. };
  59. /**
  60. * 挂起/激活
  61. * @param processDefinitionId 流程定义id
  62. * @returns
  63. */
  64. export const updateDefinitionState = (processDefinitionId: string) => {
  65. return request({
  66. url: `/workflow/processDefinition/updateDefinitionState/${processDefinitionId}`,
  67. method: 'put'
  68. });
  69. };
  70. /**
  71. * 流程定义转换为模型
  72. * @param processDefinitionId 流程定义id
  73. * @returns
  74. */
  75. export const convertToModel = (processDefinitionId: string) => {
  76. return request({
  77. url: `/workflow/processDefinition/convertToModel/${processDefinitionId}`,
  78. method: 'put'
  79. });
  80. };
  81. /**
  82. * 通过zip或xml部署流程定义
  83. * @returns
  84. */
  85. export function deployProcessFile(data: any) {
  86. return request({
  87. url: '/workflow/processDefinition/deployByFile',
  88. method: 'post',
  89. data: data,
  90. headers: {
  91. repeatSubmit: false
  92. }
  93. });
  94. }
  95. /**
  96. * 迁移流程
  97. * @param currentProcessDefinitionId
  98. * @param fromProcessDefinitionId
  99. * @returns
  100. */
  101. export const migrationDefinition = (currentProcessDefinitionId: string, fromProcessDefinitionId: string) => {
  102. return request({
  103. url: `/workflow/processDefinition/migrationDefinition/${currentProcessDefinitionId}/${fromProcessDefinitionId}`,
  104. method: 'put'
  105. });
  106. };