taskOrder.ts 4.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187
  1. import { EquipmentType } from '@/utils/dictMap'
  2. import {
  3. getTaskConfirmList,
  4. getTaskEquipmentList,
  5. getCheckerEquipmentDetailById,
  6. confirmTaskOrder,
  7. confirmTaskClaim,
  8. cancelClaim,
  9. } from '@/api/task'
  10. import {
  11. getPipeTaskConfirmPage,
  12. getPipeTaskEquipmentList,
  13. getPipeCheckerEquipmentDetailById,
  14. confirmPipeTaskOrder,
  15. confirmPipeEquipmentClaim,
  16. cancelPipeEquipmentClaim,
  17. } from '@/api/pipe/pipeTaskOrder'
  18. import {
  19. getBoilerTaskConfirmPage,
  20. getBoilerTaskEquipmentList,
  21. getBoilerCheckerEquipmentDetailById,
  22. confirmBoilerTaskOrder,
  23. confirmBoilerEquipmentClaim,
  24. cancelBoilerEquipmentClaim,
  25. getBoilerTaskItemListByOrderId,
  26. } from '@/api/boiler/boilerTaskOrder'
  27. type Adapter = {
  28. inputAdapter: (data: any) => any
  29. reqFunction: (params: any) => any
  30. outputAdapter: (data: any) => any
  31. }
  32. export enum TaskOrderFuncName {
  33. ConfirmList,
  34. TaskEquipList,
  35. CheckEquipTaskList,
  36. TaskConfirm,
  37. TaskOrderzTaskItemList,
  38. EquipmentConfirmClaim,
  39. EquipmentCancelClaim,
  40. }
  41. // 接口注册表(按接口、设备类型调用对应接口)
  42. const map = {
  43. [TaskOrderFuncName.ConfirmList]: {
  44. [EquipmentType.BOILER]: {
  45. inputAdapter: null,
  46. reqFunction: getBoilerTaskConfirmPage,
  47. outputAdapter: null,
  48. },
  49. [EquipmentType.PIPE]: {
  50. inputAdapter: null,
  51. reqFunction: getPipeTaskConfirmPage,
  52. outputAdapter: null,
  53. },
  54. [EquipmentType.CONTAINER]: {
  55. inputAdapter: null,
  56. reqFunction: getTaskConfirmList,
  57. outputAdapter: null,
  58. },
  59. },
  60. [TaskOrderFuncName.TaskEquipList]: {
  61. [EquipmentType.BOILER]: {
  62. inputAdapter: null,
  63. reqFunction: getBoilerTaskEquipmentList,
  64. outputAdapter: null,
  65. },
  66. [EquipmentType.PIPE]: {
  67. inputAdapter: null,
  68. reqFunction: getPipeTaskEquipmentList,
  69. outputAdapter: null,
  70. },
  71. [EquipmentType.CONTAINER]: {
  72. inputAdapter: null,
  73. reqFunction: getTaskEquipmentList,
  74. outputAdapter: null,
  75. },
  76. },
  77. [TaskOrderFuncName.CheckEquipTaskList]: {
  78. [EquipmentType.BOILER]: {
  79. inputAdapter: null,
  80. reqFunction: getBoilerCheckerEquipmentDetailById,
  81. outputAdapter: null,
  82. },
  83. [EquipmentType.PIPE]: {
  84. inputAdapter: null,
  85. reqFunction: getPipeCheckerEquipmentDetailById,
  86. outputAdapter: null,
  87. },
  88. [EquipmentType.CONTAINER]: {
  89. inputAdapter: null,
  90. reqFunction: getCheckerEquipmentDetailById,
  91. outputAdapter: null,
  92. },
  93. },
  94. [TaskOrderFuncName.TaskConfirm]: {
  95. [EquipmentType.BOILER]: {
  96. inputAdapter: null,
  97. reqFunction: confirmBoilerTaskOrder,
  98. outputAdapter: null,
  99. },
  100. [EquipmentType.PIPE]: {
  101. inputAdapter: null,
  102. reqFunction: confirmPipeTaskOrder,
  103. outputAdapter: null,
  104. },
  105. [EquipmentType.CONTAINER]: {
  106. inputAdapter: null,
  107. reqFunction: confirmTaskOrder,
  108. outputAdapter: null,
  109. },
  110. },
  111. [TaskOrderFuncName.EquipmentConfirmClaim]: {
  112. [EquipmentType.BOILER]: {
  113. inputAdapter: null,
  114. reqFunction: confirmBoilerEquipmentClaim,
  115. outputAdapter: null,
  116. },
  117. [EquipmentType.PIPE]: {
  118. inputAdapter: null,
  119. reqFunction: confirmPipeEquipmentClaim,
  120. outputAdapter: null,
  121. },
  122. [EquipmentType.CONTAINER]: {
  123. inputAdapter: null,
  124. reqFunction: confirmTaskClaim,
  125. outputAdapter: null,
  126. },
  127. },
  128. [TaskOrderFuncName.EquipmentCancelClaim]: {
  129. [EquipmentType.BOILER]: {
  130. inputAdapter: null,
  131. reqFunction: cancelBoilerEquipmentClaim,
  132. outputAdapter: null,
  133. },
  134. [EquipmentType.PIPE]: {
  135. inputAdapter: null,
  136. reqFunction: cancelPipeEquipmentClaim,
  137. outputAdapter: null,
  138. },
  139. [EquipmentType.CONTAINER]: {
  140. inputAdapter: null,
  141. reqFunction: cancelClaim,
  142. outputAdapter: null,
  143. },
  144. },
  145. [TaskOrderFuncName.TaskOrderzTaskItemList]: {
  146. [EquipmentType.BOILER]: {
  147. inputAdapter: null,
  148. reqFunction: getBoilerTaskItemListByOrderId,
  149. outputAdapter: null,
  150. },
  151. [EquipmentType.PIPE]: {
  152. inputAdapter: null,
  153. reqFunction: getBoilerTaskItemListByOrderId,
  154. outputAdapter: null,
  155. },
  156. [EquipmentType.CONTAINER]: {
  157. inputAdapter: null,
  158. reqFunction: getBoilerTaskItemListByOrderId,
  159. outputAdapter: null,
  160. },
  161. },
  162. }
  163. export const requestFunc = (funcName: TaskOrderFuncName, equipType: EquipmentType, params: any) => {
  164. const funMap = map[funcName]
  165. const adapter = funMap[equipType]
  166. console.log('adapter.....', adapter)
  167. // 1. input adapter
  168. let reqParams = params
  169. if (adapter.inputAdapter != null) {
  170. reqParams = adapter.inputAdapter(params)
  171. }
  172. if (adapter.reqFunction == null) {
  173. throw new Error('api for send is not exists')
  174. }
  175. // 2. send req
  176. const respData = adapter.reqFunction(params)
  177. // 3. output adapter
  178. let adaptedRespData = respData
  179. if (adapter.outputAdapter != null) {
  180. adaptedRespData = adaptedRespData = adapter.outputAdapter(respData)
  181. }
  182. return adaptedRespData
  183. }