index.ts 3.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170
  1. import request from '@/utils/request';
  2. import { FlowDefinitionQuery, definitionXmlVO, FlowDefinitionForm, FlowDefinitionVo } from '@/api/workflow/definition/types';
  3. import { AxiosPromise } from 'axios';
  4. /**
  5. * 获取流程定义列表
  6. * @param query 流程实例id
  7. * @returns
  8. */
  9. export const listDefinition = (query: FlowDefinitionQuery): AxiosPromise<FlowDefinitionVo[]> => {
  10. return request({
  11. url: `/workflow/definition/list`,
  12. method: 'get',
  13. params: query
  14. });
  15. };
  16. /**
  17. * 查询未发布的流程定义列表
  18. * @param query 流程实例id
  19. * @returns
  20. */
  21. export const unPublishList = (query: FlowDefinitionQuery): AxiosPromise<FlowDefinitionVo[]> => {
  22. return request({
  23. url: `/workflow/definition/unPublishList`,
  24. method: 'get',
  25. params: query
  26. });
  27. };
  28. /**
  29. * 通过流程定义id获取xml
  30. * @param definitionId 流程定义id
  31. * @returns
  32. */
  33. export const definitionXml = (definitionId: string): AxiosPromise<definitionXmlVO> => {
  34. return request({
  35. url: `/workflow/definition/definitionXml/${definitionId}`,
  36. method: 'get'
  37. });
  38. };
  39. /**
  40. * 删除流程定义
  41. * @param id 流程定义id
  42. * @returns
  43. */
  44. export const deleteDefinition = (id: string | string[]) => {
  45. return request({
  46. url: `/workflow/definition/${id}`,
  47. method: 'delete'
  48. });
  49. };
  50. /**
  51. * 挂起/激活
  52. * @param definitionId 流程定义id
  53. * @param activityStatus 状态
  54. * @returns
  55. */
  56. export const active = (definitionId: string, activityStatus: boolean) => {
  57. return request({
  58. url: `/workflow/definition/active/${definitionId}`,
  59. method: 'put',
  60. params: {
  61. active: activityStatus
  62. }
  63. });
  64. };
  65. /**
  66. * 通过zip或xml部署流程定义
  67. * @returns
  68. */
  69. export function importDef(data: any) {
  70. return request({
  71. url: '/workflow/definition/importDef',
  72. method: 'post',
  73. data: data,
  74. headers: {
  75. repeatSubmit: false
  76. }
  77. });
  78. }
  79. /**
  80. * 发布流程定义
  81. * @param id 流程定义id
  82. * @returns
  83. */
  84. export const publish = (id: string) => {
  85. return request({
  86. url: `/workflow/definition/publish/${id}`,
  87. method: 'put'
  88. });
  89. };
  90. /**
  91. * 取消发布流程定义
  92. * @param id 流程定义id
  93. * @returns
  94. */
  95. export const unPublish = (id: string) => {
  96. return request({
  97. url: `/workflow/definition/unPublish/${id}`,
  98. method: 'put'
  99. });
  100. };
  101. /**
  102. * 获取流程定义xml字符串
  103. * @param id 流程定义id
  104. * @returns
  105. */
  106. export const xmlString = (id: string) => {
  107. return request({
  108. url: `/workflow/definition/xmlString/${id}`,
  109. method: 'get'
  110. });
  111. };
  112. /**
  113. * 新增
  114. * @param data 参数
  115. * @returns
  116. */
  117. export const add = (data: FlowDefinitionForm) => {
  118. return request({
  119. url: `/workflow/definition`,
  120. method: 'post',
  121. data: data
  122. });
  123. };
  124. /**
  125. * 修改
  126. * @param data 参数
  127. * @returns
  128. */
  129. export const edit = (data: FlowDefinitionForm) => {
  130. return request({
  131. url: `/workflow/definition`,
  132. method: 'put',
  133. data: data
  134. });
  135. };
  136. /**
  137. * 查询详情
  138. * @param id 参数
  139. * @returns
  140. */
  141. export const getInfo = (id: number | string) => {
  142. return request({
  143. url: `/workflow/definition/${id}`,
  144. method: 'get'
  145. });
  146. };
  147. /**
  148. * 复制流程定义
  149. * @param id 流程定义id
  150. * @returns
  151. */
  152. export const copy = (id: string) => {
  153. return request({
  154. url: `/workflow/definition/copy/${id}`,
  155. method: 'post'
  156. });
  157. };