index.ts 3.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115
  1. import request from '@/config/axios'
  2. import { ProcessDefinitionVO } from '@/api/bpm/model'
  3. import { NodeType, CandidateStrategy } from '@/components/SimpleProcessDesignerV2/src/consts'
  4. export type Task = {
  5. id: string
  6. name: string
  7. }
  8. export type ProcessInstanceVO = {
  9. id: number
  10. name: string
  11. processDefinitionId: string
  12. category: string
  13. result: number
  14. tasks: Task[]
  15. fields: string[]
  16. status: number
  17. remark: string
  18. businessKey: string
  19. createTime: string
  20. endTime: string
  21. processDefinition?: ProcessDefinitionVO
  22. }
  23. // 用户信息
  24. export type User = {
  25. id: number
  26. nickname: string
  27. avatar: string
  28. }
  29. // 审批任务信息
  30. export type ApprovalTaskInfo = {
  31. id: number
  32. ownerUser: User
  33. assigneeUser: User
  34. status: number
  35. reason: string
  36. signPicUrl: string
  37. }
  38. // 审批节点信息
  39. export type ApprovalNodeInfo = {
  40. id: number
  41. name: string
  42. nodeType: NodeType
  43. candidateStrategy?: CandidateStrategy
  44. status: number
  45. startTime?: Date
  46. endTime?: Date
  47. processInstanceId?: string
  48. candidateUsers?: User[]
  49. tasks: ApprovalTaskInfo[]
  50. }
  51. export const getProcessInstanceMyPage = async (params: any) => {
  52. return await request.get({ url: '/bpm/process-instance/my-page', params })
  53. }
  54. export const getProcessInstanceManagerPage = async (params: any) => {
  55. return await request.get({ url: '/bpm/process-instance/manager-page', params })
  56. }
  57. export const createProcessInstance = async (data) => {
  58. return await request.post({ url: '/bpm/process-instance/create', data: data })
  59. }
  60. export const cancelProcessInstanceByStartUser = async (id: number, reason: string) => {
  61. const data = {
  62. id: id,
  63. reason: reason
  64. }
  65. return await request.delete({ url: '/bpm/process-instance/cancel-by-start-user', data: data })
  66. }
  67. export const cancelProcessInstanceByAdmin = async (id: number, reason: string) => {
  68. const data = {
  69. id: id,
  70. reason: reason
  71. }
  72. return await request.delete({ url: '/bpm/process-instance/cancel-by-admin', data: data })
  73. }
  74. export const getProcessInstance = async (id: string) => {
  75. return await request.get({ url: '/bpm/process-instance/get?id=' + id })
  76. }
  77. export const getProcessInstanceCopyPage = async (params: any) => {
  78. return await request.get({ url: '/bpm/process-instance/copy/page', params })
  79. }
  80. // 获取审批详情
  81. export const getApprovalDetail = async (params: any) => {
  82. return await request.get({ url: '/bpm/process-instance/get-approval-detail', params })
  83. }
  84. // 获取下一个执行的流程节点
  85. export const getNextApprovalNodes = async (params: any) => {
  86. return await request.get({ url: '/bpm/process-instance/get-next-approval-nodes', params })
  87. }
  88. // 获取表单字段权限
  89. export const getFormFieldsPermission = async (params: any) => {
  90. return await request.get({ url: '/bpm/process-instance/get-form-fields-permission', params })
  91. }
  92. // 获取流程实例的 BPMN 模型视图
  93. export const getProcessInstanceBpmnModelView = async (id: string) => {
  94. return await request.get({ url: '/bpm/process-instance/get-bpmn-model-view?id=' + id })
  95. }
  96. // 获取流程实例打印数据
  97. export const getProcessInstancePrintData = async (id: string) => {
  98. return await request.get({ url: '/bpm/process-instance/get-print-data?processInstanceId=' + id })
  99. }