综合办公系统
選択できるのは25トピックまでです。 トピックは、先頭が英数字で、英数字とダッシュ('-')を使用した35文字以内のものにしてください。

deleteResource.js 3.8KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185
  1. /*
  2. * @Author: ysh
  3. * @Date: 2024-06-13 17:07:59
  4. * @LastEditors: Please set LastEditors
  5. * @LastEditTime: 2025-03-28 15:17:32
  6. */
  7. import request from '@/utils/request'
  8. const apiEndpoints = [
  9. {
  10. procDefName: '承接合同评审',
  11. apiUrl: [
  12. '/oa/contract/:id',
  13. '/oa/contractWork/:id',
  14. '/oa/contractComment/:id',
  15. '/oa/contractMeeting/:id',
  16. '/oa/contractPayment/:id',
  17. '/oa/projectContract/:id',
  18. '/oa/contractSubcontract/contractIds/:id',
  19. ]
  20. },
  21. {
  22. procDefName: '分包合同评审',
  23. apiUrl: [
  24. '/oa/subContract/:id',
  25. '/oa/contractWork/:id',
  26. '/oa/contractComment/:id',
  27. '/oa/contractMeeting/:id',
  28. '/oa/contractPayment/:id',
  29. '/oa/projectSubcontract/:id',
  30. '/oa/contractSubcontract/:id',
  31. ]
  32. },
  33. {
  34. procDefName: '用车审批',
  35. apiUrl: [
  36. '/oa/carApproval/:id',
  37. ]
  38. },
  39. {
  40. procDefName: '设备审批',
  41. apiUrl: [
  42. '/oa/deviceApproval/:id',
  43. ]
  44. },
  45. {
  46. procDefName: '项目流转',
  47. apiUrl: [
  48. '/oa/project/:id',
  49. '/oa/projectWork/:id',
  50. '/oa/projectContract/delete/:id'
  51. ]
  52. },
  53. {
  54. procDefName: '项目结算',
  55. apiUrl: [
  56. '/oa/settle/:id',
  57. '/oa/settleSummary/:id',
  58. '/oa/settleWork/:id',
  59. ]
  60. },
  61. {
  62. procDefName: '借款审批',
  63. apiUrl: [
  64. '/oa/borrow/:id',
  65. '/oa/borrowDetail/:id',
  66. ]
  67. },
  68. {
  69. procDefName: '项目变更',
  70. apiUrl: [
  71. '/oa/projectChange/:id',
  72. ]
  73. },
  74. {
  75. procDefName: '成果归档',
  76. apiUrl: [
  77. '/oa/archive/:id',
  78. ]
  79. },
  80. {
  81. procDefName: '其他结算',
  82. apiUrl: [
  83. '/oa/settle/:id',
  84. '/oa/settleSummary/:id',
  85. '/oa/settleWork/:id',
  86. ]
  87. },
  88. {
  89. procDefName: '品牌项目支付',
  90. apiUrl: [
  91. '/oa/brand/:id',
  92. '/oa/brandPayment/:id'
  93. ]
  94. },
  95. {
  96. procDefName: '工作填报',
  97. apiUrl: [
  98. '/oa/declare/:id'
  99. ]
  100. },
  101. {
  102. procDefName: '采购审批',
  103. apiUrl: [
  104. '/oa/procureApproval/:id',
  105. '/oa/procurePlan/:id'
  106. ]
  107. },
  108. {
  109. procDefName: '项目委外',
  110. apiUrl: [
  111. '/oa/outsource/:id',
  112. '/oa/outsourceWork/:id'
  113. ]
  114. },
  115. {
  116. procDefName: '绩效审批',
  117. apiUrl: [
  118. '/oa/performance/:id',
  119. '/oa/wage/batch/:id'
  120. ]
  121. },
  122. {
  123. procDefName: '项目预算',
  124. apiUrl: [
  125. '/oa/budget/:id',
  126. '/oa/budgetSettle/:id',
  127. '/oa/budgetCar/:id',
  128. '/oa/budgetDevice/:id',
  129. '/oa/budgetStaff/:id',
  130. ]
  131. },
  132. {
  133. procDefName: '技术方案',
  134. apiUrl: [
  135. '/oa/technical/:id',
  136. ]
  137. },
  138. {
  139. procDefName: '技术交底',
  140. apiUrl: [
  141. '/oa/technicalPlan/:id',
  142. ]
  143. },
  144. {
  145. procDefName: '安全交底',
  146. apiUrl: [
  147. '/oa/safe/:id',
  148. ]
  149. },
  150. {
  151. procDefName: '参培审核',
  152. apiUrl: [
  153. '/oa/trainApproval/:id',
  154. ]
  155. },
  156. ]
  157. // 编写一个方法来处理删除请求,并同时发送所有API请求
  158. export async function deleteResources(procDefName, id) {
  159. // 查找对应的API端点
  160. const endpoint = apiEndpoints.find(endpoint => endpoint.procDefName === procDefName);
  161. if (!endpoint) {
  162. throw new Error(`No API endpoints found for process definition: ${procDefName}`);
  163. }
  164. // 构建所有请求的Promise数组
  165. const deletePromises = endpoint.apiUrl.map(apiUrl => {
  166. // 替换URL中的:id占位符
  167. const url = apiUrl.replace(':id', id);
  168. // 发送DELETE请求并返回Promise
  169. return request({
  170. url: url,
  171. method: 'delete'
  172. })
  173. });
  174. // 等待所有请求完成
  175. try {
  176. return await Promise.all(deletePromises);
  177. console.log('删除完成!');
  178. } catch (error) {
  179. console.error('One or more deletion requests failed:', error);
  180. }
  181. }