task.js 4.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203
  1. import request from '@/utils/request';
  2. import store from '@/store';
  3. import Vue from 'vue';
  4. export async function getTodoTaskPage(query) {
  5. const res = await request({
  6. url: '/bpm/task/todo-page',
  7. method: 'get',
  8. params: query
  9. });
  10. if (res.data.code == 0) {
  11. if (store.state.user.menus?.length) {
  12. for (const p of store.state.user.menus) {
  13. if (p.path === '/todo') {
  14. store.dispatch('user/setMenuBadge', {
  15. path: '/todo',
  16. value: res.data.data.count || 0,
  17. color: 'danger'
  18. });
  19. break;
  20. }
  21. }
  22. } else {
  23. const unwatch = Vue.prototype.$watch(
  24. '$store.state.user.menus',
  25. () => {
  26. if (store.state.user.menus?.length) {
  27. for (const p of store.state.user.menus) {
  28. if (p.path === '/todo') {
  29. store.dispatch('user/setMenuBadge', {
  30. path: '/todo',
  31. value: res.data.data.count || 0,
  32. color: 'danger'
  33. });
  34. break;
  35. }
  36. }
  37. unwatch();
  38. }
  39. },
  40. {
  41. immediate: true
  42. }
  43. );
  44. }
  45. return res.data.data;
  46. }
  47. return Promise.reject(new Error(res.data.message));
  48. }
  49. export async function getDoneTaskPage(query) {
  50. const res = await request({
  51. url: '/bpm/task/done-page',
  52. method: 'get',
  53. params: query
  54. });
  55. if (res.data.code == 0) {
  56. return res.data.data;
  57. }
  58. return Promise.reject(new Error(res.data.message));
  59. }
  60. export function completeTask(data) {
  61. return request({
  62. url: '/bpm/task/complete',
  63. method: 'PUT',
  64. data: data
  65. });
  66. }
  67. export async function approveTask(data) {
  68. const res = await request({
  69. url: '/bpm/task/approve',
  70. method: 'PUT',
  71. data: data
  72. });
  73. if (res.data.code == 0) {
  74. return res.data.data;
  75. }
  76. return Promise.reject(new Error(res.data.message));
  77. }
  78. export function rejectTask(data) {
  79. return request({
  80. url: '/bpm/task/reject',
  81. method: 'PUT',
  82. data: data
  83. });
  84. }
  85. export function backTask(data) {
  86. return request({
  87. url: '/bpm/task/back',
  88. method: 'PUT',
  89. data: data
  90. });
  91. }
  92. export function updateTaskAssignee(data) {
  93. return request({
  94. url: '/bpm/task/update-assignee',
  95. method: 'PUT',
  96. data: data
  97. });
  98. }
  99. export async function getTaskListByProcessInstanceId(processInstanceId) {
  100. const res = await request({
  101. url:
  102. '/bpm/task/list-by-process-instance-id?processInstanceId=' +
  103. processInstanceId,
  104. method: 'get'
  105. });
  106. if (res.data.code == 0) {
  107. return res.data.data;
  108. }
  109. return Promise.reject(new Error(res.data.message));
  110. }
  111. export function getReturnList(taskId) {
  112. return request({
  113. url: '/bpm/task/return-list?taskId=' + taskId,
  114. method: 'get'
  115. });
  116. }
  117. export function returnTask(data) {
  118. return request({
  119. url: '/bpm/task/return',
  120. method: 'PUT',
  121. data: data
  122. });
  123. }
  124. export function delegateTask(data) {
  125. return request({
  126. url: '/bpm/task/delegate',
  127. method: 'PUT',
  128. data: data
  129. });
  130. }
  131. export function approveTaskWithVariables(data) {
  132. return request({
  133. url: '/bpm/task/approveTaskWithVariables',
  134. method: 'PUT',
  135. data: data
  136. });
  137. }
  138. export function approveTaskWithVariablesOther(data) {
  139. return request({
  140. url: '/bpm/inwarehouse/assign',
  141. method: 'post',
  142. data: data
  143. });
  144. }
  145. export function outApproveNotPass(data) {
  146. return request({
  147. url: '/bpm/outApprove/notPass',
  148. method: 'PUT',
  149. data: data
  150. });
  151. }
  152. export function outinApproveNotPass(data) {
  153. return request({
  154. url: '/bpm/outinApprove/notPass',
  155. method: 'PUT',
  156. data: data
  157. });
  158. }
  159. // 我的消息分页
  160. export async function notifyMessagePageAPI(data) {
  161. const res = await request({
  162. url: `/sys/notifymessage/page`,
  163. method: 'post',
  164. data: data
  165. });
  166. if (res.data.code == 0) {
  167. return res.data.data;
  168. }
  169. return Promise.reject(new Error(res.data.message));
  170. }
  171. /**
  172. * 更新已读-指定消息ID
  173. */
  174. export async function updateNotifyMessageReadByIdAPI(data) {
  175. const res = await request({
  176. url: `/sys/notifymessage/updateNotifyMessageRead`,
  177. method: 'post',
  178. data: data
  179. });
  180. if (res.data.code == 0) {
  181. return res.data.data;
  182. }
  183. return Promise.reject(new Error(res.data.message));
  184. }