@cloudbase/weda-ui 3.4.7 → 3.4.9-alpha.1024

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (376) hide show
  1. package/dist/configs/components/carousel.json +12 -2
  2. package/dist/configs/components/chart/bar.json +1 -1
  3. package/dist/configs/components/chart/line.js +1 -1
  4. package/dist/configs/components/chart/pie.json +1 -1
  5. package/dist/configs/components/chart/statisticsCard.json +1 -1
  6. package/dist/configs/components/common/form-input-required.js +176 -0
  7. package/dist/configs/components/container.js +1 -1
  8. package/dist/configs/components/customer-service.js +264 -0
  9. package/dist/configs/components/dataView.js +10 -66
  10. package/dist/configs/components/form/departTreeSelect.json +10 -0
  11. package/dist/configs/components/form-checkbox.js +260 -0
  12. package/dist/configs/components/form-date.js +267 -0
  13. package/dist/configs/components/form-depart-tree-select.js +239 -0
  14. package/dist/configs/components/form-email.js +257 -0
  15. package/dist/configs/components/form-image-uploader.js +325 -0
  16. package/dist/configs/components/form-input.js +478 -0
  17. package/dist/configs/components/form-location.js +328 -0
  18. package/dist/configs/components/form-multi-region.js +201 -0
  19. package/dist/configs/components/form-phone.js +249 -0
  20. package/dist/configs/components/form-radio.js +260 -0
  21. package/dist/configs/components/form-region.js +197 -0
  22. package/dist/configs/components/form-rich-text.js +211 -0
  23. package/dist/configs/components/form-select.js +367 -0
  24. package/dist/configs/components/form-switch.js +152 -0
  25. package/dist/configs/components/form-text-area.js +240 -0
  26. package/dist/configs/components/form-time.js +220 -0
  27. package/dist/configs/components/form-upload-file.js +268 -0
  28. package/dist/configs/components/form-url.js +258 -0
  29. package/dist/configs/components/form-user-tree-select.js +316 -0
  30. package/dist/configs/components/formdetail.json +8 -0
  31. package/dist/configs/components/grid/col.js +6 -0
  32. package/dist/configs/components/listView.js +34 -92
  33. package/dist/configs/components/modal.js +2 -1
  34. package/dist/configs/components/navigationBar.json +1 -1
  35. package/dist/configs/components/pagelayout.json +1 -1
  36. package/dist/configs/components/qr_code.js +117 -0
  37. package/dist/configs/components/repeater.js +3 -2
  38. package/dist/configs/components/scrollVeiw.json +3 -1
  39. package/dist/configs/components/table.json +14 -4
  40. package/dist/configs/components/tabs.js +1 -1
  41. package/dist/configs/components/wd-bubble.js +2 -2
  42. package/dist/configs/components/wd-button.js +3 -3
  43. package/dist/configs/components/wd-divider.js +3 -3
  44. package/dist/configs/components/wd-form-detail.js +229 -0
  45. package/dist/configs/components/wd-form.js +394 -0
  46. package/dist/configs/components/wd-icon.js +2 -2
  47. package/dist/configs/components/wd-image.js +5 -0
  48. package/dist/configs/components/wd-link.js +3 -3
  49. package/dist/configs/components/wd-table.js +1110 -24
  50. package/dist/configs/components/wd-text.js +4 -3
  51. package/dist/configs/components/web-view.js +152 -0
  52. package/dist/configs/components/wedaVideo.json +4 -2
  53. package/dist/configs/components/wxOpenApi/share.js +1 -0
  54. package/dist/configs/index.js +48 -0
  55. package/dist/configs/type-utils/index.js +0 -1
  56. package/dist/docs/common/componentList.js +8 -37
  57. package/dist/docs/common/components/classes-view.js +2 -32
  58. package/dist/docs/common/components/event-view.js +2 -43
  59. package/dist/docs/common/components/json-schema-view.js +4 -8
  60. package/dist/docs/common/components/methods-view.js +2 -30
  61. package/dist/docs/common/components/properties-view.js +7 -43
  62. package/dist/docs/common/tableView.js +18 -94
  63. package/dist/enum/index.js +53 -0
  64. package/dist/setupTests.js +4 -0
  65. package/dist/style/index.scss +1 -1
  66. package/dist/web/actions/showModal/index.js +15 -21
  67. package/dist/web/components/button/index.css +1 -0
  68. package/dist/web/components/button/index.js +3 -6
  69. package/dist/web/components/calendar/index.js +19 -45
  70. package/dist/web/components/carousel/index.js +35 -45
  71. package/dist/web/components/chart/bar/index.js +6 -7
  72. package/dist/web/components/chart/bar/index.old.js +3 -2
  73. package/dist/web/components/chart/common/Chart.js +3 -2
  74. package/dist/web/components/chart/common/chart-custom-connector.js +3 -7
  75. package/dist/web/components/chart/line/index.js +6 -7
  76. package/dist/web/components/chart/line/index.old.js +3 -2
  77. package/dist/web/components/chart/pie/index.js +6 -7
  78. package/dist/web/components/chart/pie/index.old.js +3 -2
  79. package/dist/web/components/chart/statisticsCard/index.js +3 -9
  80. package/dist/web/components/common/error-boundary.js +13 -15
  81. package/dist/web/components/common/form-item-wrapper.js +4 -0
  82. package/dist/web/components/common/use-loop-render-detect.js +2 -2
  83. package/dist/web/components/container/index.js +2 -2
  84. package/dist/web/components/customer-service/convert-legacy-props.js +14 -0
  85. package/dist/web/components/customer-service/customer-service.js +13 -0
  86. package/dist/web/components/customer-service/index.js +3 -0
  87. package/dist/web/components/dataView/index.js +5 -1
  88. package/dist/web/components/drawer/index.js +2 -3
  89. package/dist/web/components/flow/common/components/container.js +12 -0
  90. package/dist/web/components/flow/common/components/index.js +2 -0
  91. package/dist/web/components/flow/common/components/text/index.js +62 -0
  92. package/dist/web/components/flow/common/constants.js +14 -0
  93. package/dist/web/components/flow/common/hooks/index.js +2 -0
  94. package/dist/web/components/flow/common/hooks/useCommonFlowData/flow-get.js +83 -0
  95. package/dist/web/components/flow/common/hooks/useCommonFlowData/index.js +67 -0
  96. package/dist/web/components/flow/common/hooks/useCommonFlowData/preview-data.js +45 -0
  97. package/dist/web/components/flow/common/hooks/useCommonFlowData/request-hub.js +125 -0
  98. package/dist/web/components/flow/common/hooks/useCommonFlowData/types.js +1 -0
  99. package/dist/web/components/flow/common/hooks/useElementMediaQuery.js +23 -0
  100. package/dist/web/components/flow/common/hooks/useFlowConfig.js +44 -0
  101. package/dist/web/components/flow/common/hooks/useFlowFormLoad.js +64 -0
  102. package/dist/web/components/flow/common/hooks/useFlowPageType.js +49 -0
  103. package/dist/web/components/flow/common/index.js +6 -0
  104. package/dist/web/components/flow/common/request.js +47 -0
  105. package/dist/web/components/flow/common/types.js +1 -0
  106. package/dist/web/components/flow/common/utils.js +15 -0
  107. package/dist/web/components/flow/modules/basic/Basic.js +14 -22
  108. package/dist/web/components/flow/modules/basic/BasicMobile.js +12 -30
  109. package/dist/web/components/flow/modules/basic/index.js +19 -11
  110. package/dist/web/components/flow/modules/basic/status-text.js +37 -0
  111. package/dist/web/components/flow/modules/basic/utils.js +17 -8
  112. package/dist/web/components/flow/modules/chart/Chart.js +22 -41
  113. package/dist/web/components/flow/modules/chart/index.js +9 -4
  114. package/dist/web/components/flow/modules/chart/utils.js +111 -0
  115. package/dist/web/components/flow/modules/combination/index.js +4 -6
  116. package/dist/web/components/flow/modules/layout/index.css +2 -2
  117. package/dist/web/components/flow/modules/layout/index.js +11 -15
  118. package/dist/web/components/flow/modules/operations/components/button/index.js +2 -4
  119. package/dist/web/components/flow/modules/operations/components/popup/index.js +11 -15
  120. package/dist/web/components/flow/modules/operations/components/user-select/index.js +4 -5
  121. package/dist/web/components/flow/modules/operations/config/approval-form-config.js +8 -9
  122. package/dist/web/components/flow/modules/operations/config/control-config.js +38 -33
  123. package/dist/web/components/flow/modules/operations/control.js +21 -15
  124. package/dist/web/components/flow/modules/operations/controls-items/add-assignee-btn.js +8 -8
  125. package/dist/web/components/flow/modules/operations/controls-items/apply-cc-btn.js +2 -2
  126. package/dist/web/components/flow/modules/operations/controls-items/approval-drawer/comment/index.js +3 -6
  127. package/dist/web/components/flow/modules/operations/controls-items/approval-drawer/drawer-form/index.js +25 -32
  128. package/dist/web/components/flow/modules/operations/controls-items/approval-drawer/field/index.js +2 -6
  129. package/dist/web/components/flow/modules/operations/controls-items/approval-drawer/index.js +15 -7
  130. package/dist/web/components/flow/modules/operations/controls-items/approval-drawer/style.css +1 -0
  131. package/dist/web/components/flow/modules/operations/controls-items/cancel-apply-btn.js +2 -2
  132. package/dist/web/components/flow/modules/operations/controls-items/check-list-popup/index.js +2 -4
  133. package/dist/web/components/flow/modules/operations/controls-items/flow-task-info-modal/index.js +20 -0
  134. package/dist/web/components/flow/modules/operations/controls-items/flow-task-info-modal/view-model.js +119 -0
  135. package/dist/web/components/flow/modules/operations/controls-items/initiation-btn.js +6 -3
  136. package/dist/web/components/flow/modules/operations/controls-items/revoke-modal/index.js +13 -22
  137. package/dist/web/components/flow/modules/operations/controls-items/roll-back-modal.js +18 -26
  138. package/dist/web/components/flow/modules/operations/view-model.js +95 -70
  139. package/dist/web/components/flow/process/components/comment-text/index.js +24 -0
  140. package/dist/web/components/flow/process/components/comment-text/style.css +33 -0
  141. package/dist/web/components/flow/process/components/descriptions/index.js +19 -0
  142. package/dist/web/components/flow/process/components/descriptions/style.css +31 -0
  143. package/dist/web/components/flow/process/components/index.js +4 -0
  144. package/dist/web/components/flow/process/components/timeline/index.js +13 -0
  145. package/dist/web/components/flow/process/components/timeline/style.css +75 -0
  146. package/dist/web/components/flow/process/constants.js +46 -0
  147. package/dist/web/components/flow/process/index.js +2 -0
  148. package/dist/web/components/flow/process/process.js +113 -0
  149. package/dist/web/components/flow/process/style.css +17 -0
  150. package/dist/web/components/flow/process/types.js +1 -0
  151. package/dist/web/components/flow/process/view-model.js +135 -0
  152. package/dist/web/components/form/checkbox/index.js +18 -19
  153. package/dist/web/components/form/enumSelect/MultipleSelect.js +4 -5
  154. package/dist/web/components/form/enumSelect/NormalSelect.js +4 -5
  155. package/dist/web/components/form/enumSelect/SelectContainer.js +2 -2
  156. package/dist/web/components/form/form/index.js +8 -14
  157. package/dist/web/components/form/formcell/index.js +12 -18
  158. package/dist/web/components/form/input/index.js +17 -16
  159. package/dist/web/components/form/location/common/mapChoose.js +37 -69
  160. package/dist/web/components/form/location/common/mapView.js +2 -1
  161. package/dist/web/components/form/location/common/selectModal.js +3 -7
  162. package/dist/web/components/form/location/components/LocationH5/location.h5.js +22 -34
  163. package/dist/web/components/form/location/components/LocationPC/Header.js +6 -15
  164. package/dist/web/components/form/location/components/LocationPC/location.PC.js +13 -15
  165. package/dist/web/components/form/location/index.js +5 -7
  166. package/dist/web/components/form/radio/index.js +8 -12
  167. package/dist/web/components/form/renderDecorator.js +3 -2
  168. package/dist/web/components/form/select/allTimePicker/calendar.js +27 -28
  169. package/dist/web/components/form/select/allTimePicker/index.js +66 -91
  170. package/dist/web/components/form/select/dropdown-select/h5.js +30 -53
  171. package/dist/web/components/form/select/dropdown-select/index.js +3 -2
  172. package/dist/web/components/form/select/dropdown-select/pc.js +27 -29
  173. package/dist/web/components/form/select/dropdown-select/ui.js +4 -8
  174. package/dist/web/components/form/select/h5.js +8 -6
  175. package/dist/web/components/form/select/index.js +19 -20
  176. package/dist/web/components/form/select/region/index.js +2 -2
  177. package/dist/web/components/form/select/request.js +1 -1
  178. package/dist/web/components/form/select/status/allEmpty.js +2 -2
  179. package/dist/web/components/form/select/status/empty.js +3 -2
  180. package/dist/web/components/form/select/status/loading.js +3 -4
  181. package/dist/web/components/form/select/status/retry.js +3 -4
  182. package/dist/web/components/form/select/year.js +16 -31
  183. package/dist/web/components/form/switch/index.js +11 -15
  184. package/dist/web/components/form/textarea/index.js +5 -10
  185. package/dist/web/components/form/tips/index.js +2 -2
  186. package/dist/web/components/form/uploader/index.js +5 -4
  187. package/dist/web/components/form/uploader/uploader.h5.js +29 -54
  188. package/dist/web/components/form/uploader/uploader.pc.js +18 -44
  189. package/dist/web/components/form/uploaderFile/index.js +4 -5
  190. package/dist/web/components/form/uploaderFile/uploadFile.h5.js +58 -104
  191. package/dist/web/components/form/uploaderFile/uploadFile.pc.js +42 -69
  192. package/dist/web/components/form/userOrgSelect/common/fetch-data-service.js +474 -46
  193. package/dist/web/components/form/userOrgSelect/common/utils.js +269 -0
  194. package/dist/web/components/form/userOrgSelect/component/depart-breadcrumb.js +5 -10
  195. package/dist/web/components/form/userOrgSelect/component/depart-select/depart-select-pc.js +10 -18
  196. package/dist/web/components/form/userOrgSelect/component/depart-select/departTreeSelect.h5.js +177 -0
  197. package/dist/web/components/form/userOrgSelect/component/depart-select/index.js +56 -41
  198. package/dist/web/components/form/userOrgSelect/component/depart-select/org-modal-pc.js +38 -35
  199. package/dist/web/components/form/userOrgSelect/component/error-tips.js +4 -4
  200. package/dist/web/components/form/userOrgSelect/component/index.css +52 -0
  201. package/dist/web/components/form/userOrgSelect/component/input-tags.js +4 -18
  202. package/dist/web/components/form/userOrgSelect/component/modal-search-h5.js +11 -19
  203. package/dist/web/components/form/userOrgSelect/component/modal-search.js +2 -5
  204. package/dist/web/components/form/userOrgSelect/component/modal-select-h5.js +127 -50
  205. package/dist/web/components/form/userOrgSelect/component/org-tree-h5.js +7 -13
  206. package/dist/web/components/form/userOrgSelect/component/org-tree.js +42 -18
  207. package/dist/web/components/form/userOrgSelect/component/selected-list-h5.js +23 -40
  208. package/dist/web/components/form/userOrgSelect/component/selected-list.js +8 -5
  209. package/dist/web/components/form/userOrgSelect/component/user-org-list.js +35 -35
  210. package/dist/web/components/form/userOrgSelect/component/user-select-h5/index.js +43 -26
  211. package/dist/web/components/form/userOrgSelect/component/user-select-h5/user-list-h5.js +36 -50
  212. package/dist/web/components/form/userOrgSelect/component/user-select-h5/user-select-h5.js +9 -11
  213. package/dist/web/components/form/userOrgSelect/component/user-select-pc/error-tips.js +4 -4
  214. package/dist/web/components/form/userOrgSelect/component/user-select-pc/model-user-list.js +59 -21
  215. package/dist/web/components/form/userOrgSelect/component/user-select-pc/user-model.js +28 -33
  216. package/dist/web/components/form/userOrgSelect/component/user-select-pc/user-select-pc.js +10 -8
  217. package/dist/web/components/form/userOrgSelect/component/userOrgSelect.css +15 -1
  218. package/dist/web/components/form/userOrgSelect/hooks/use-depart-data.js +113 -5
  219. package/dist/web/components/form-checkbox/index.js +36 -0
  220. package/dist/web/components/form-date/index.js +52 -0
  221. package/dist/web/components/form-depart-tree-select/index.js +22 -0
  222. package/dist/web/components/form-email/index.js +31 -0
  223. package/dist/web/components/form-image-uploader/index.js +50 -0
  224. package/dist/web/components/form-input/index.js +25 -0
  225. package/dist/web/components/form-input-hooks/index.js +281 -0
  226. package/dist/web/components/form-input-hooks/validator.js +124 -0
  227. package/dist/web/components/form-location/index.js +24 -0
  228. package/dist/web/components/form-multi-region/index.js +22 -0
  229. package/dist/web/components/form-phone/index.js +32 -0
  230. package/dist/web/components/form-radio/index.js +38 -0
  231. package/dist/web/components/form-region/index.js +24 -0
  232. package/dist/web/components/form-rich-text/index.js +22 -0
  233. package/dist/web/components/form-select/index.js +21 -0
  234. package/dist/web/components/form-switch/index.js +22 -0
  235. package/dist/web/components/form-text-area/index.js +22 -0
  236. package/dist/web/components/form-time/index.js +22 -0
  237. package/dist/web/components/form-upload-file/index.js +47 -0
  238. package/dist/web/components/form-url/index.js +31 -0
  239. package/dist/web/components/form-user-tree-select/index.js +24 -0
  240. package/dist/web/components/formdetail/index.css +213 -3
  241. package/dist/web/components/formdetail/index.js +156 -30
  242. package/dist/web/components/graphicCard/index.js +13 -25
  243. package/dist/web/components/grid/col.js +3 -2
  244. package/dist/web/components/grid/grid.js +4 -3
  245. package/dist/web/components/grid/row.js +3 -2
  246. package/dist/web/components/image/image.js +52 -57
  247. package/dist/web/components/image/index.js +2 -2
  248. package/dist/web/components/index.js +45 -3
  249. package/dist/web/components/link/index.js +3 -5
  250. package/dist/web/components/listView/index.js +29 -49
  251. package/dist/web/components/lottery/index.js +123 -143
  252. package/dist/web/components/modal/h5.css +3 -0
  253. package/dist/web/components/modal/index.js +3 -2
  254. package/dist/web/components/modal/modal.h5.js +8 -14
  255. package/dist/web/components/modal/modal.pc.js +5 -7
  256. package/dist/web/components/navLayout/index.js +13 -20
  257. package/dist/web/components/navigationBar/common.js +12 -14
  258. package/dist/web/components/navigationBar/h5Menu.js +18 -37
  259. package/dist/web/components/navigationBar/horizontalMenu.js +33 -50
  260. package/dist/web/components/navigationBar/index.css +2 -1
  261. package/dist/web/components/navigationBar/index.js +5 -10
  262. package/dist/web/components/navigationBar/verticalMenu.js +11 -13
  263. package/dist/web/components/pageLayout/PageContent/index.js +7 -14
  264. package/dist/web/components/pageLayout/index.css +10 -0
  265. package/dist/web/components/pageLayout/index.js +7 -12
  266. package/dist/web/components/phone/index.js +2 -4
  267. package/dist/web/components/phoneCode/index.js +2 -4
  268. package/dist/web/components/picker/datePicker.js +2 -2
  269. package/dist/web/components/picker/picker.js +2 -2
  270. package/dist/web/components/picker/timePicker.js +2 -2
  271. package/dist/web/components/qrcode/index.js +3 -0
  272. package/dist/web/components/qrcode/qr-code.js +26 -0
  273. package/dist/web/components/repeater/index.js +2 -2
  274. package/dist/web/components/repeater-item/index.js +2 -2
  275. package/dist/web/components/richText/index.js +74 -93
  276. package/dist/web/components/richTextView/index.js +3 -3
  277. package/dist/web/components/scrollView/index.js +4 -3
  278. package/dist/web/components/share/index.js +2 -4
  279. package/dist/web/components/slot/index.js +2 -2
  280. package/dist/web/components/statusContent/index.css +39 -0
  281. package/dist/web/components/statusContent/index.js +9 -0
  282. package/dist/web/components/swiper/index.js +45 -48
  283. package/dist/web/components/table/BaseTable.js +141 -189
  284. package/dist/web/components/table/ExportFileModalByApi/index.js +29 -60
  285. package/dist/web/components/table/FieldRender.js +47 -51
  286. package/dist/web/components/table/FilterFields.js +45 -71
  287. package/dist/web/components/table/Form/Enum.js +4 -4
  288. package/dist/web/components/table/Form/Location.js +9 -9
  289. package/dist/web/components/table/ImportFileModal/index.css +261 -0
  290. package/dist/web/components/table/ImportFileModal/index.js +47 -107
  291. package/dist/web/components/table/ImportFileModal/validate.js +9 -9
  292. package/dist/web/components/table/ImportFileModalByApi/index.css +35 -3
  293. package/dist/web/components/table/ImportFileModalByApi/index.js +96 -113
  294. package/dist/web/components/table/ImportFileModalByApi/uploadCSVFile.js +23 -47
  295. package/dist/web/components/table/InOrOutRecordModeal.js +26 -47
  296. package/dist/web/components/table/QuoteModal.js +3 -5
  297. package/dist/web/components/table/SelectableBlock/index.js +23 -27
  298. package/dist/web/components/table/UserDepartment/ViewCell.js +3 -3
  299. package/dist/web/components/table/UserDepartment/utils.js +4 -4
  300. package/dist/web/components/table/baseTable.css +0 -10
  301. package/dist/web/components/table/index.js +3 -5
  302. package/dist/web/components/tabs/index.js +5 -6
  303. package/dist/web/components/tabs/tabs.h5.js +12 -14
  304. package/dist/web/components/tabs/tabs.pc.js +5 -5
  305. package/dist/web/components/text/index.js +3 -2
  306. package/dist/web/components/uploaderFileView/index.js +4 -3
  307. package/dist/web/components/uploaderView/index.js +12 -16
  308. package/dist/web/components/userInfo/index.js +2 -4
  309. package/dist/web/components/wd-bubble/wd-bubble.js +10 -11
  310. package/dist/web/components/wd-button/wd-button.js +24 -8
  311. package/dist/web/components/wd-config-provider/wd-config-provider.js +3 -2
  312. package/dist/web/components/wd-divider/wd-divider.js +3 -2
  313. package/dist/web/components/wd-form/hooks/use-auth-value.js +43 -0
  314. package/dist/web/components/wd-form/hooks/use-remote-value.js +79 -0
  315. package/dist/web/components/wd-form/index.js +368 -0
  316. package/dist/web/components/wd-icon/wd-icon.js +3 -2
  317. package/dist/web/components/wd-image/image.js +98 -96
  318. package/dist/web/components/wd-image/index.js +4 -3
  319. package/dist/web/components/wd-link/wd-link.js +4 -8
  320. package/dist/web/components/wd-table/components/ExportFileModalByApi/ExportFileModalByApi.js +7 -0
  321. package/dist/web/components/wd-table/components/ExportFileModalByApi/index.css +9 -0
  322. package/dist/web/components/wd-table/components/ExportFileModalByApi/index.js +74 -0
  323. package/dist/web/components/wd-table/components/FieldRender/Form/Enum.js +56 -0
  324. package/dist/web/components/wd-table/components/FieldRender/Form/Location.css +11 -0
  325. package/dist/web/components/wd-table/components/FieldRender/Form/Location.js +127 -0
  326. package/dist/web/components/wd-table/components/FieldRender/ImagePreview.js +8 -0
  327. package/dist/web/components/wd-table/components/FieldRender/QuoteModal.js +17 -0
  328. package/dist/web/components/wd-table/components/FieldRender/UserDepartment/ViewCell.js +11 -0
  329. package/dist/web/components/wd-table/components/FieldRender/UserDepartment/utils.js +82 -0
  330. package/dist/web/components/wd-table/components/FieldRender/UserDepartment/viewCell.css +11 -0
  331. package/dist/web/components/wd-table/components/FieldRender/index.js +691 -0
  332. package/dist/web/components/wd-table/components/FilterFieldsPanel/Fields.js +82 -0
  333. package/dist/web/components/wd-table/components/FilterFieldsPanel/FilterFieldItem.js +86 -0
  334. package/dist/web/components/wd-table/components/FilterFieldsPanel/InputAdornment.js +9 -0
  335. package/dist/web/components/wd-table/components/FilterFieldsPanel/SelectSearch.js +44 -0
  336. package/dist/web/components/wd-table/components/FilterFieldsPanel/filterFieldsGenerate.js +113 -0
  337. package/dist/web/components/wd-table/components/FilterFieldsPanel/index.js +169 -0
  338. package/dist/web/components/wd-table/components/ImportFileModalByApi/index.js +44 -0
  339. package/dist/web/components/wd-table/components/InOrOutRecordModal.js +14 -0
  340. package/dist/web/components/wd-table/components/Pagination/index.js +11 -0
  341. package/dist/web/components/wd-table/components/SearchBox/index.js +45 -0
  342. package/dist/web/components/wd-table/components/Table/index.js +172 -0
  343. package/dist/web/components/wd-table/components/Table/util.js +63 -0
  344. package/dist/web/components/wd-table/components/ToolBar/index.js +34 -0
  345. package/dist/web/components/wd-table/components/deleteModal.js +40 -0
  346. package/dist/web/components/wd-table/components/index.js +10 -0
  347. package/dist/web/components/wd-table/hooks/useAuthFields.js +13 -0
  348. package/dist/web/components/wd-table/hooks/useChooseList.js +72 -0
  349. package/dist/web/components/wd-table/hooks/useDataSource.js +5 -0
  350. package/dist/web/components/wd-table/hooks/useQueryParams.js +41 -0
  351. package/dist/web/components/wd-table/hooks/useTableData.js +48 -0
  352. package/dist/web/components/wd-table/hooks/useViewFields.js +20 -0
  353. package/dist/web/components/wd-table/mock/index.js +202 -0
  354. package/dist/web/components/wd-table/utils/index.js +307 -0
  355. package/dist/web/components/wd-table/wd-table.js +453 -21
  356. package/dist/web/components/wd-text/wd-text.js +15 -14
  357. package/dist/web/components/web-view/index.css +5 -0
  358. package/dist/web/components/web-view/index.js +3 -0
  359. package/dist/web/components/web-view/web-view.js +61 -0
  360. package/dist/web/components/wedaVideo/index.js +2 -5
  361. package/dist/web/utils/constant.js +1 -0
  362. package/dist/web/utils/getModelParams.js +32 -0
  363. package/dist/web/utils/hooks/CreatePortal.js +3 -2
  364. package/dist/web/utils/hooks/EnumHoc.js +3 -2
  365. package/dist/web/utils/hooks/globalConnect.js +2 -3
  366. package/dist/web/utils/hooks/use-cloud-id-temp-url.js +6 -11
  367. package/dist/web/utils/hooks/useDataSource.js +22 -0
  368. package/dist/web/utils/loading-fallback.js +2 -2
  369. package/dist/web/utils/platform.js +21 -0
  370. package/dist/web/utils/tcb.js +0 -13
  371. package/dist/web/utils/tool.js +14 -0
  372. package/dist/web/utils/widget-api/index.js +39 -7
  373. package/package.json +33 -25
  374. package/dist/web/components/emptyContent/index.css +0 -26
  375. package/dist/web/components/flow/components/FlowModuleText/index.css +0 -4
  376. package/dist/web/components/flow/modules/process/index.css +0 -194
@@ -0,0 +1,119 @@
1
+ import { useRef, useEffect, useState } from 'react';
2
+ import { flowRequest } from '../../../../common';
3
+ /**
4
+ * 下一节点审批人model
5
+ */
6
+ export function useFlowTaskInfoModel(params) {
7
+ const { isH5 } = params.flowModulesProps;
8
+ const { onAfterFinishFlowAction } = params.flowControlModel;
9
+ /** 弹框是否可见 */
10
+ const [visible, setVisible] = useState(false);
11
+ /** 审批人列表 */
12
+ const [assigneeOptions, setAssigneeOptions] = useState([]);
13
+ /** 审批人 - 任务 映射对象 */
14
+ const assigneeTasksMapRef = useRef({});
15
+ /** 集合任务id */
16
+ const taskIdRef = useRef([]);
17
+ /** 已选审批人数组 */
18
+ const [selectedAssignees, setSelectedAssignees] = useState([]);
19
+ const timer = useRef(null);
20
+ useEffect(() => {
21
+ return () => {
22
+ cleanTiming();
23
+ };
24
+ }, []);
25
+ useEffect(() => {
26
+ if (params.flowControlModel.triggerFlowTaskInfo) {
27
+ /** 获取下一节点审批人触发信息 */
28
+ const { toBeSubmittedFlowTaskInfo } = params.flowControlModel.triggerFlowTaskInfo || {};
29
+ /** 转化下一节点审批人触发信息 */
30
+ const { assigneeTasksMap, assigneeOptions, taskIds } = transFlowTaskInfo(toBeSubmittedFlowTaskInfo);
31
+ setVisible(true);
32
+ setAssigneeOptions(assigneeOptions);
33
+ assigneeTasksMapRef.current = assigneeTasksMap;
34
+ taskIdRef.current = taskIds;
35
+ timingSubmit();
36
+ }
37
+ // eslint-disable-next-line react-hooks/exhaustive-deps
38
+ }, [params.flowControlModel.triggerFlowTaskInfo]);
39
+ const cleanTiming = () => {
40
+ clearTimeout(timer.current);
41
+ };
42
+ /** 审批人列表提交 */
43
+ const submitFlowTaskList = async (flowTaskIds) => {
44
+ const result = await flowRequest({
45
+ action: 'SubmitFlowTaskList',
46
+ data: { flowTaskIds },
47
+ });
48
+ if (result === null || result === void 0 ? void 0 : result.status) {
49
+ setVisible(false);
50
+ setSelectedAssignees([]);
51
+ cleanTiming();
52
+ // 执行完成后自定义动作
53
+ onAfterFinishFlowAction(params.actionKey, params.afterAction);
54
+ }
55
+ };
56
+ /** 定时提交 */
57
+ const timingSubmit = () => {
58
+ // eslint-disable-next-line rulesdir/no-timer
59
+ timer.current = setTimeout(() => {
60
+ submitFlowTaskList();
61
+ }, 600000);
62
+ };
63
+ /** 提交按钮动作 */
64
+ const onSubmitTaskIds = (isCancel = true) => {
65
+ const selectedTaskIds = getSelectAssigneeTask(assigneeTasksMapRef.current, selectedAssignees);
66
+ const taskIds = isCancel ? taskIdRef.current : selectedTaskIds;
67
+ submitFlowTaskList(taskIds);
68
+ };
69
+ return {
70
+ isH5,
71
+ visible,
72
+ assigneeOptions,
73
+ selectedAssignees,
74
+ setSelectedAssignees,
75
+ onSubmitTaskIds,
76
+ };
77
+ }
78
+ /**
79
+ * 转换下一节点审批人任务信息。
80
+ */
81
+ function transFlowTaskInfo(flowTaskInfoList) {
82
+ return flowTaskInfoList.reduce((result, infoItem) => {
83
+ const { assignee, assigneeName, waitFlowTaskId } = infoItem;
84
+ // 设置选择列表options
85
+ if (!result.assigneeOptions.some((option) => option.value === assignee)) {
86
+ result.assigneeOptions.push({
87
+ text: assigneeName,
88
+ value: assignee,
89
+ });
90
+ }
91
+ /**
92
+ * 设置审批人 与 任务id 映射
93
+ * 一个审批人可能会因为并行网关的原因 会有多个任务id。也就是 并行网关下可能会存在两条及以上的审批线路,每个线路都可能会有同一个审批人进行审批
94
+ * 到时候选审批人的时候把这个人对应的所有任务id都传给后端
95
+ */
96
+ if (!result.assigneeTasksMap[assignee]) {
97
+ result.assigneeTasksMap[assignee] = [];
98
+ }
99
+ result.assigneeTasksMap[assignee].push(waitFlowTaskId);
100
+ // 添加任务id到任务id列表
101
+ result.taskIds.push(waitFlowTaskId);
102
+ return result;
103
+ }, {
104
+ /** 审批人 与 任务id 映射 */
105
+ assigneeTasksMap: {},
106
+ /** 审批人可选项 */
107
+ assigneeOptions: [],
108
+ /** 任务id集合 */
109
+ taskIds: [],
110
+ });
111
+ }
112
+ /** 获取已选审批人对应的任务 */
113
+ function getSelectAssigneeTask(flowTaskInfoMap, selectedAssignees) {
114
+ return selectedAssignees.reduce((result, assignee) => {
115
+ const assigneeTask = flowTaskInfoMap[assignee];
116
+ result.push(...assigneeTask);
117
+ return result;
118
+ }, []);
119
+ }
@@ -1,4 +1,4 @@
1
- import React from 'react';
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
2
  import { message } from 'tea-component';
3
3
  import { FlowButton } from '../components';
4
4
  /**
@@ -6,9 +6,12 @@ import { FlowButton } from '../components';
6
6
  */
7
7
  export function InitiationBtn(props) {
8
8
  const { flowControlModel } = props;
9
- const onClick = () => {
9
+ const onClick = async () => {
10
10
  var _a;
11
11
  const ccUserIds = (_a = flowControlModel.applyCcUser) === null || _a === void 0 ? void 0 : _a.join();
12
+ const result = await flowControlModel.getApprovalFormData();
13
+ if (!result)
14
+ return;
12
15
  flowControlModel.completeTask({
13
16
  actionKey: props.actionKey,
14
17
  buttonAction: props.buttonAction,
@@ -21,5 +24,5 @@ export function InitiationBtn(props) {
21
24
  },
22
25
  });
23
26
  };
24
- return (React.createElement(FlowButton, { ...props.buttonProps, buttonIcon: props.buttonIcon, id: props.id, onClick: onClick }, props.label));
27
+ return (_jsx(FlowButton, { ...props.buttonProps, buttonIcon: props.buttonIcon, id: props.id, onClick: onClick, children: props.label }));
25
28
  }
@@ -1,11 +1,13 @@
1
- import React, { useState } from 'react';
1
+ import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
2
+ import { useState } from 'react';
2
3
  import { Button, Modal, message } from 'tea-component';
4
+ import { flowRequest } from '../../../../common';
3
5
  import { FlowPopup, FlowButton } from '../../components';
4
6
  import './style.css';
7
+ /** 撤回弹窗组件 */
5
8
  export function RevokeModal(props) {
6
- const { flowFrameCommonProps, flowControlModel } = props;
7
- const { flowRequest, isH5, currentPageType } = flowFrameCommonProps.flowLocalProps;
8
- const { flowDetail } = flowFrameCommonProps.commonFlowData;
9
+ const { flowModulesProps, flowControlModel } = props;
10
+ const { isH5, currentPageType, processInstance } = flowModulesProps;
9
11
  const { onAfterFinishFlowAction } = flowControlModel;
10
12
  const [visible, setVisible] = useState(false);
11
13
  const onOpen = () => setVisible(true);
@@ -15,11 +17,11 @@ export function RevokeModal(props) {
15
17
  const result = await flowRequest({
16
18
  action: 'Revoke',
17
19
  data: {
18
- flowCode: flowDetail.flowCode,
19
- appVersion: flowDetail.flowVersion,
20
- instanceId: flowDetail.instanceId,
20
+ flowCode: processInstance.flowCode,
21
+ appVersion: processInstance.flowVersion,
22
+ instanceId: processInstance.instanceId,
21
23
  revokeType: currentPageType === 'CREATE' ? 2 : 1,
22
- taskId: currentPageType === 'DONE' ? flowDetail.taskId : undefined,
24
+ taskId: currentPageType === 'DONE' ? processInstance.taskId : undefined,
23
25
  },
24
26
  });
25
27
  if (result) {
@@ -30,21 +32,10 @@ export function RevokeModal(props) {
30
32
  }
31
33
  };
32
34
  const renderModal = () => {
33
- return (React.createElement(Modal, { visible: visible, caption: "\u64A4\u9500\u6D41\u7A0B\u63D0\u9192", onClose: onClose },
34
- React.createElement(Modal.Body, null, "\u6D41\u7A0B\u6B63\u5728\u8FDB\u884C\u4E2D\uFF0C\u786E\u8BA4\u64A4\u9500\u6B64\u6D41\u7A0B\uFF1F"),
35
- React.createElement(Modal.Footer, null,
36
- React.createElement(Button, { type: "primary", onClick: revoke }, "\u786E\u5B9A"),
37
- React.createElement(Button, { type: "weak", onClick: onClose }, "\u53D6\u6D88"))));
35
+ return (_jsxs(Modal, { visible: visible, caption: "\u64A4\u9500\u6D41\u7A0B\u63D0\u9192", onClose: onClose, children: [_jsx(Modal.Body, { children: "\u6D41\u7A0B\u6B63\u5728\u8FDB\u884C\u4E2D\uFF0C\u786E\u8BA4\u64A4\u9500\u6B64\u6D41\u7A0B\uFF1F" }), _jsxs(Modal.Footer, { children: [_jsx(Button, { type: "primary", onClick: revoke, children: "\u786E\u5B9A" }), _jsx(Button, { type: "weak", onClick: onClose, children: "\u53D6\u6D88" })] })] }));
38
36
  };
39
37
  const renderPopup = () => {
40
- return (React.createElement(FlowPopup, { visible: visible, onClose: onClose, title: "\u64A4\u9500\u6D41\u7A0B\u63D0\u9192", overlayStyle: { zIndex: 998 }, width: "80%", className: "weda-flow-revoke-popup" },
41
- React.createElement("div", { className: "weda-flow-revoke-tip" },
42
- React.createElement("div", { className: "weda-flow-revoke-content" }, "\u6D41\u7A0B\u6B63\u5728\u8FDB\u884C\u4E2D\uFF0C\u786E\u8BA4\u64A4\u9500\u6B64\u6D41\u7A0B\uFF1F"),
43
- React.createElement("div", { className: "weda-flow-revoke-confirm" },
44
- React.createElement(Button, { type: "text", onClick: onClose }, "\u53D6\u6D88"),
45
- React.createElement(Button, { type: "link", onClick: revoke }, "\u786E\u8BA4")))));
38
+ return (_jsx(FlowPopup, { visible: visible, onClose: onClose, title: "\u64A4\u9500\u6D41\u7A0B\u63D0\u9192", overlayStyle: { zIndex: 998 }, width: "80%", className: "weda-flow-revoke-popup", children: _jsxs("div", { className: "weda-flow-revoke-tip", children: [_jsx("div", { className: "weda-flow-revoke-content", children: "\u6D41\u7A0B\u6B63\u5728\u8FDB\u884C\u4E2D\uFF0C\u786E\u8BA4\u64A4\u9500\u6B64\u6D41\u7A0B\uFF1F" }), _jsxs("div", { className: "weda-flow-revoke-confirm", children: [_jsx(Button, { type: "text", onClick: onClose, children: "\u53D6\u6D88" }), _jsx(Button, { type: "link", onClick: revoke, children: "\u786E\u8BA4" })] })] }) }));
46
39
  };
47
- return (React.createElement(React.Fragment, null,
48
- React.createElement(FlowButton, { ...props.buttonProps, buttonIcon: props.buttonIcon, id: props.id, onClick: onOpen }, props.label),
49
- isH5 ? renderPopup() : renderModal()));
40
+ return (_jsxs(_Fragment, { children: [_jsx(FlowButton, { ...props.buttonProps, buttonIcon: props.buttonIcon, id: props.id, onClick: onOpen, children: props.label }), isH5 ? renderPopup() : renderModal()] }));
50
41
  }
@@ -1,35 +1,26 @@
1
- import React, { useEffect, useState } from 'react';
1
+ import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
2
+ import { useEffect, useState } from 'react';
2
3
  import { Button, Modal, Select, Form, Radio, message } from 'tea-component';
4
+ import { flowRequest } from '../../../common';
3
5
  import { FlowCheckListPopup } from './check-list-popup';
4
6
  /** 回退弹窗 */
5
7
  export function RollbackModal(props) {
6
8
  const { visible, isH5, preElementList, selectedNodeId, setSelectedNodeId, onOpen, onClose, rollBack, } = useRollbackModel(props);
7
9
  const renderModal = () => {
8
- return (React.createElement(Modal, { visible: visible, caption: '流程回退', onClose: onClose },
9
- React.createElement(Modal.Body, null,
10
- React.createElement(Form, null,
11
- React.createElement(Form.Item, { label: '选择回退节点' },
12
- React.createElement(Select, { size: "full", appearance: "button", matchButtonWidth: true, options: preElementList, value: selectedNodeId, onChange: (value) => setSelectedNodeId(value), style: { width: 200 } })))),
13
- React.createElement(Modal.Footer, null,
14
- React.createElement(Button, { type: "primary", disabled: (preElementList === null || preElementList === void 0 ? void 0 : preElementList.length) === 0 || !selectedNodeId, onClick: rollBack }, "\u786E\u5B9A"),
15
- React.createElement(Button, { type: "weak", onClick: onClose }, "\u53D6\u6D88"))));
10
+ return (_jsxs(Modal, { visible: visible, caption: '流程回退', onClose: onClose, children: [_jsx(Modal.Body, { children: _jsx(Form, { children: _jsx(Form.Item, { label: '选择回退节点', children: _jsx(Select, { size: "full", appearance: "button", matchButtonWidth: true, options: preElementList, value: selectedNodeId, onChange: (value) => setSelectedNodeId(value), style: { width: 200 } }) }) }) }), _jsxs(Modal.Footer, { children: [_jsx(Button, { type: "primary", disabled: (preElementList === null || preElementList === void 0 ? void 0 : preElementList.length) === 0 || !selectedNodeId, onClick: rollBack, children: "\u786E\u5B9A" }), _jsx(Button, { type: "weak", onClick: onClose, children: "\u53D6\u6D88" })] })] }));
16
11
  };
17
12
  const renderPopup = () => {
18
- return (React.createElement(FlowCheckListPopup, { visible: visible, onClose: onClose, title: "\u8BF7\u9009\u62E9\u56DE\u9000\u8282\u70B9", overlayStyle: { zIndex: 998 }, height: 550, confirmButtonProps: {
13
+ return (_jsx(FlowCheckListPopup, { visible: visible, onClose: onClose, title: "\u8BF7\u9009\u62E9\u56DE\u9000\u8282\u70B9", overlayStyle: { zIndex: 998 }, height: 550, confirmButtonProps: {
19
14
  onClick: rollBack,
20
15
  disabled: (preElementList === null || preElementList === void 0 ? void 0 : preElementList.length) === 0 || !selectedNodeId,
21
- } },
22
- React.createElement(Radio.Group, { value: selectedNodeId, onChange: (value) => setSelectedNodeId(value), layout: "column" }, preElementList.map((ele) => (React.createElement(Radio, { name: ele.value, key: ele.value }, ele.text))))));
16
+ }, children: _jsx(Radio.Group, { value: selectedNodeId, onChange: (value) => setSelectedNodeId(value), layout: "column", children: preElementList.map((ele) => (_jsx(Radio, { name: ele.value, children: ele.text }, ele.value))) }) }));
23
17
  };
24
- return (React.createElement(React.Fragment, null,
25
- React.createElement(Button, { ...props.buttonProps, id: props.id, onClick: onOpen }, props.label),
26
- isH5 ? renderPopup() : renderModal()));
18
+ return (_jsxs(_Fragment, { children: [_jsx(Button, { ...props.buttonProps, id: props.id, onClick: onOpen, children: props.label }), isH5 ? renderPopup() : renderModal()] }));
27
19
  }
28
20
  /** 回退model */
29
21
  function useRollbackModel(params) {
30
- const { flowFrameCommonProps, flowControlModel } = params;
31
- const { flowRequest, isH5 } = flowFrameCommonProps.flowLocalProps;
32
- const { flowDetail } = flowFrameCommonProps.commonFlowData;
22
+ const { flowModulesProps, flowControlModel } = params;
23
+ const { isH5, processInstance } = flowModulesProps;
33
24
  const { onAfterFinishFlowAction } = flowControlModel;
34
25
  const [visible, setVisible] = useState(false);
35
26
  /** 可回退节点列表 */
@@ -46,9 +37,10 @@ function useRollbackModel(params) {
46
37
  const result = await flowRequest({
47
38
  action: 'GetPreElementList',
48
39
  data: {
49
- flowCode: flowDetail.flowCode,
50
- appVersion: flowDetail.flowVersion,
51
- instanceId: flowDetail.instanceId,
40
+ flowCode: processInstance.flowCode,
41
+ appVersion: processInstance.flowVersion,
42
+ instanceId: processInstance.instanceId,
43
+ nodeId: processInstance.currentNodeId,
52
44
  },
53
45
  });
54
46
  if (result === null || result === void 0 ? void 0 : result.data) {
@@ -74,11 +66,11 @@ function useRollbackModel(params) {
74
66
  const result = await flowRequest({
75
67
  action: 'RollBack',
76
68
  data: {
77
- flowCode: flowDetail.flowCode,
78
- appVersion: flowDetail.flowVersion,
79
- instanceId: flowDetail.instanceId,
80
- taskId: flowDetail.taskId,
81
- nodeId: flowDetail.currentNodeId,
69
+ flowCode: processInstance.flowCode,
70
+ appVersion: processInstance.flowVersion,
71
+ instanceId: processInstance.instanceId,
72
+ taskId: processInstance.taskId,
73
+ nodeId: processInstance.currentNodeId,
82
74
  sourceType: 1,
83
75
  targetNodeId: selectedNodeId,
84
76
  targetActTaskId: (_a = preElementList.find((item) => item.value === selectedNodeId)) === null || _a === void 0 ? void 0 : _a.actTaskId,
@@ -1,14 +1,11 @@
1
- import { useState } from 'react';
2
- import { PAGE_TYPE } from '../../constants';
3
- import { CommonFlowDataUtils, } from '../../frame';
1
+ import { useState, useRef } from 'react';
2
+ import { PAGE_TYPE, isInIde, flowRequest, } from '../../common';
4
3
  import { FLOW_CONTROL_ACTION_KEY, } from './config';
5
4
  /** 流程控制主model, 包含一些公共状态或方法 */
6
5
  export function useFlowControlModel(params) {
7
6
  //#region model入参
8
- const { commonFlowData, flowLocalProps, ide, reload, setFormType } = params;
9
- const { flowDetail, pageInfo } = commonFlowData;
10
- const { flowRequest, isWedaIde } = flowLocalProps;
11
- const { events } = ide || {};
7
+ const { processInstance, approvalPageDetail, wedaPlatformProps, updatePageType, reloadCommonFlowData, updateFlowFormType, } = params;
8
+ const { events } = wedaPlatformProps || {};
12
9
  //#endregion
13
10
  //#region hook
14
11
  /** 提交申请时的抄送列表 */
@@ -17,85 +14,57 @@ export function useFlowControlModel(params) {
17
14
  const [hasGoBack, setHasGoBack] = useState(false);
18
15
  /** 触发下一节点审批人操作 */
19
16
  const [triggerFlowTaskInfo, setTriggerFlowTaskInfo] = useState(null);
17
+ const { formDataRef, ...restFormDateModel } = useFormData(params);
20
18
  //#endregion
21
19
  //#region 流程操作请求
22
20
  /** 提交申请、保存草稿、同意、拒绝、处理、转办 时 调用此请求 */
23
- const completeTask = (value) => {
21
+ const completeTask = async (value) => {
22
+ var _a, _b, _c;
24
23
  if (!value.buttonAction)
25
24
  return;
26
- getFormData(async (formDataMap) => {
27
- var _a, _b, _c;
28
- const params = {
29
- buttonAction: value.buttonAction,
30
- flowCode: flowDetail.flowCode,
31
- instanceId: flowDetail.instanceId,
32
- nodeId: flowDetail.currentNodeId,
33
- taskId: flowDetail.taskId,
34
- appVersion: flowDetail.flowVersion,
35
- appCode: flowDetail === null || flowDetail === void 0 ? void 0 : flowDetail.startAppCode,
36
- variableInfos: translateVariableInfos(formDataMap, pageInfo),
37
- ...(value.data || {}),
38
- };
39
- (_a = value === null || value === void 0 ? void 0 : value.setLoadingState) === null || _a === void 0 ? void 0 : _a.call(value, true);
40
- const result = await flowRequest({ action: 'CompleteTask', data: params }, { upperCaseIgnoreKeys: ['variableInfos'] });
41
- (_b = value === null || value === void 0 ? void 0 : value.setLoadingState) === null || _b === void 0 ? void 0 : _b.call(value, false);
42
- if (result) {
43
- (_c = value === null || value === void 0 ? void 0 : value.successCallback) === null || _c === void 0 ? void 0 : _c.call(value);
44
- if (result === null || result === void 0 ? void 0 : result.toBeSubmittedFlowTaskFlag) {
45
- setTriggerFlowTaskInfo(result);
46
- }
47
- else {
48
- // 执行完成后自定义动作
49
- onAfterFinishFlowAction(value.actionKey, value.afterAction);
50
- }
25
+ const params = {
26
+ buttonAction: value.buttonAction,
27
+ flowCode: processInstance.flowCode,
28
+ instanceId: processInstance.instanceId,
29
+ nodeId: processInstance.currentNodeId,
30
+ taskId: processInstance.taskId,
31
+ appVersion: processInstance.flowVersion,
32
+ appCode: processInstance === null || processInstance === void 0 ? void 0 : processInstance.startAppCode,
33
+ variableInfos: translateVariableInfos(formDataRef.current, approvalPageDetail),
34
+ ...(value.data || {}),
35
+ };
36
+ (_a = value === null || value === void 0 ? void 0 : value.setLoadingState) === null || _a === void 0 ? void 0 : _a.call(value, true);
37
+ const result = await flowRequest({ action: 'CompleteTask', data: params }, { upperCaseIgnoreKeys: ['variableInfos'] });
38
+ (_b = value === null || value === void 0 ? void 0 : value.setLoadingState) === null || _b === void 0 ? void 0 : _b.call(value, false);
39
+ // 请求成功后清空审批表单详情数据缓存
40
+ restFormDateModel.clearFormData();
41
+ if (result) {
42
+ (_c = value === null || value === void 0 ? void 0 : value.successCallback) === null || _c === void 0 ? void 0 : _c.call(value);
43
+ if (result === null || result === void 0 ? void 0 : result.toBeSubmittedFlowTaskFlag) {
44
+ setTriggerFlowTaskInfo(result);
51
45
  }
52
- });
46
+ else {
47
+ // 执行完成后自定义动作
48
+ onAfterFinishFlowAction(value.actionKey, value.afterAction);
49
+ }
50
+ }
53
51
  };
54
52
  //#endregion
55
53
  //#region 辅助方法
56
- /** 获取审批申请表单数据 */
57
- const getFormData = (callback) => {
58
- var _a;
59
- if (isWedaIde) {
60
- return;
61
- }
62
- (_a = events === null || events === void 0 ? void 0 : events.tap) === null || _a === void 0 ? void 0 : _a.call(events, {
63
- onGetFormData: (formDataMap) => {
64
- if (Object.values(formDataMap).some((item) => item === undefined)) {
65
- return;
66
- }
67
- callback === null || callback === void 0 ? void 0 : callback(formDataMap);
68
- },
69
- }, {
70
- originEvent: null,
71
- });
72
- };
73
54
  /** 完成流程动作后的事件 */
74
55
  function onAfterFinishFlowAction(currentActionKey, afterAction) {
75
56
  const customizeFinishAction = events === null || events === void 0 ? void 0 : events[afterAction];
76
57
  if (customizeFinishAction) {
77
- // 当前动作不是加签的话,需要切换URL参数
78
- if (currentActionKey !== FLOW_CONTROL_ACTION_KEY.ADD_ASSIGNEE) {
79
- // 默认切换页面类型为【我已处理】
80
- let newPageType = PAGE_TYPE.DONE;
81
- // 提交后需要切换页面类型为【我发起的】
82
- if (currentActionKey === FLOW_CONTROL_ACTION_KEY.SUBMIT) {
83
- newPageType = PAGE_TYPE.CREATE;
84
- }
85
- // 保存草稿后切换页面类型为【草稿箱】
86
- if (currentActionKey === FLOW_CONTROL_ACTION_KEY.SAVE_DRAFT) {
87
- newPageType = PAGE_TYPE.DRAFT;
88
- }
89
- CommonFlowDataUtils.updateUrlSearch({ pageType: newPageType });
90
- }
58
+ const newPageType = getNewPageType(currentActionKey);
59
+ updatePageType(newPageType);
91
60
  // 操作类型不是回退的情况才reload数据 回退之后当前流程被销毁 故回退之后不刷新数据
92
61
  if (currentActionKey === FLOW_CONTROL_ACTION_KEY.ROLL_BACK) {
93
62
  setHasGoBack(true);
94
- setFormType('read');
63
+ updateFlowFormType('read');
95
64
  }
96
65
  else {
97
66
  // 重新加载数据
98
- reload();
67
+ reloadCommonFlowData(newPageType);
99
68
  }
100
69
  // 执行自定义事件
101
70
  customizeFinishAction === null || customizeFinishAction === void 0 ? void 0 : customizeFinishAction();
@@ -109,13 +78,52 @@ export function useFlowControlModel(params) {
109
78
  setApplyCcUser,
110
79
  completeTask,
111
80
  onAfterFinishFlowAction,
81
+ ...restFormDateModel,
82
+ };
83
+ }
84
+ /** 处理审批内容表单详情的hook */
85
+ function useFormData(params) {
86
+ const { events } = (params === null || params === void 0 ? void 0 : params.wedaPlatformProps) || {};
87
+ // 审批表单详情数据缓存
88
+ const formDataRef = useRef(null);
89
+ /**
90
+ * 获取审批表单详情数据缓存
91
+ * @returns 返回表单内的数据,返回null说明在ide中或者是表单校验失败
92
+ */
93
+ const getApprovalFormData = () => {
94
+ return new Promise((resolve) => {
95
+ var _a;
96
+ if (isInIde()) {
97
+ resolve(null);
98
+ }
99
+ (_a = events === null || events === void 0 ? void 0 : events.tap) === null || _a === void 0 ? void 0 : _a.call(events, {
100
+ onGetFormData: (formDataMap) => {
101
+ if (Object.values(formDataMap).some((item) => item === undefined)) {
102
+ resolve(null);
103
+ }
104
+ formDataRef.current = formDataMap;
105
+ resolve(formDataMap);
106
+ },
107
+ }, {
108
+ originEvent: null,
109
+ });
110
+ });
111
+ };
112
+ /** 清空审批表单详情数据缓存 */
113
+ const clearFormData = () => {
114
+ formDataRef.current = null;
115
+ };
116
+ return {
117
+ formDataRef,
118
+ getApprovalFormData,
119
+ clearFormData,
112
120
  };
113
121
  }
114
122
  /** 涉及提交申请表单时,转换variableInfos */
115
- function translateVariableInfos(currentFormData, pageInfo) {
123
+ function translateVariableInfos(currentFormData, approvalPageDetail) {
116
124
  var _a;
117
- const outEntityCodes = (pageInfo === null || pageInfo === void 0 ? void 0 : pageInfo.outEntityCodes) || [];
118
- const originObjectMap = ((_a = pageInfo === null || pageInfo === void 0 ? void 0 : pageInfo.variableInfos) === null || _a === void 0 ? void 0 : _a.objectMap) || [];
125
+ const outEntityCodes = (approvalPageDetail === null || approvalPageDetail === void 0 ? void 0 : approvalPageDetail.outEntityCodes) || [];
126
+ const originObjectMap = ((_a = approvalPageDetail === null || approvalPageDetail === void 0 ? void 0 : approvalPageDetail.variableInfos) === null || _a === void 0 ? void 0 : _a.objectMap) || [];
119
127
  return outEntityCodes === null || outEntityCodes === void 0 ? void 0 : outEntityCodes.map((item) => {
120
128
  const originVariableInfo = originObjectMap === null || originObjectMap === void 0 ? void 0 : originObjectMap.find((info) => (info === null || info === void 0 ? void 0 : info.entityCode) === (item === null || item === void 0 ? void 0 : item.entityCode));
121
129
  const { recordId, fieldValueMap } = originVariableInfo || {};
@@ -135,3 +143,20 @@ function translateVariableInfos(currentFormData, pageInfo) {
135
143
  return variableInfo;
136
144
  });
137
145
  }
146
+ /** 获取新页面类型 */
147
+ function getNewPageType(currentActionKey) {
148
+ // 当前是加签的话不进行更新PageType操作
149
+ if (currentActionKey === FLOW_CONTROL_ACTION_KEY.ADD_ASSIGNEE)
150
+ return null;
151
+ // 当前动作不是加签的话,需要切换URL参数 默认切换页面类型为【我已处理】
152
+ let newPageType = PAGE_TYPE.DONE;
153
+ // 提交后需要切换页面类型为【我发起的】
154
+ if (currentActionKey === FLOW_CONTROL_ACTION_KEY.SUBMIT) {
155
+ newPageType = PAGE_TYPE.CREATE;
156
+ }
157
+ // 保存草稿后切换页面类型为【草稿箱】
158
+ if (currentActionKey === FLOW_CONTROL_ACTION_KEY.SAVE_DRAFT) {
159
+ newPageType = PAGE_TYPE.DRAFT;
160
+ }
161
+ return newPageType;
162
+ }
@@ -0,0 +1,24 @@
1
+ import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
2
+ import './style.css';
3
+ /** 评论内容文本标签 */
4
+ export function CommentText(props) {
5
+ const { comment = '', highlightPositionList = [], arrowDirection = 'top', } = props;
6
+ // 高亮位置数组为空说明没有@用户信息,只有返回评论内容
7
+ if (!highlightPositionList.length)
8
+ return (_jsx(CommentPanel, { arrowDirection: arrowDirection, children: comment }));
9
+ let startIndex = 0;
10
+ let commentDom = '';
11
+ // 变量高亮位置数组 拼接dom
12
+ for (const [start, end] of highlightPositionList) {
13
+ const atUserName = comment === null || comment === void 0 ? void 0 : comment.substring(start + 1, end);
14
+ commentDom = (_jsxs(_Fragment, { children: [commentDom, _jsxs(_Fragment, { children: [comment === null || comment === void 0 ? void 0 : comment.substring(startIndex, start), _jsxs("span", { style: { color: '#0052d9' }, children: ["@", atUserName] })] })] }));
15
+ startIndex = end;
16
+ }
17
+ if (startIndex < (comment === null || comment === void 0 ? void 0 : comment.length)) {
18
+ commentDom = (_jsxs(_Fragment, { children: [commentDom, comment.substring(startIndex, comment.length)] }));
19
+ }
20
+ return (_jsx(CommentPanel, { arrowDirection: arrowDirection, children: commentDom }));
21
+ }
22
+ function CommentPanel(props) {
23
+ return (_jsx("div", { className: `weda-process-comment arrow-${props.arrowDirection}`, children: _jsx("span", { className: "weda-process-comment-content", children: props.children }) }));
24
+ }
@@ -0,0 +1,33 @@
1
+ .weda-process-comment {
2
+ max-width: 768px;
3
+ display: inline-block;
4
+ background: rgb(243, 243, 243);
5
+ padding: 5px 12px;
6
+ border-radius: 3px;
7
+ position: relative;
8
+ }
9
+
10
+ .weda-process-comment::before {
11
+ content: ' ';
12
+ position: absolute;
13
+ width: 10px;
14
+ height: 10px;
15
+ display: inline-block;
16
+ background: rgb(243, 243, 243);
17
+ transform: rotate(45deg);
18
+ }
19
+
20
+ .arrow-top::before {
21
+ top: -3px;
22
+ left: 25px;
23
+ }
24
+
25
+ .arrow-left::before {
26
+ top: 6px;
27
+ left: -2px;
28
+ }
29
+
30
+ .weda-process-comment-content {
31
+ width: 100%;
32
+ display: inline-block;
33
+ }
@@ -0,0 +1,19 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import './style.css';
3
+ /** 描述列表 成组展示多个只读字段 */
4
+ export function Descriptions(props) {
5
+ const { items } = props;
6
+ const renderDescriptionItem = (description) => {
7
+ const { label, children } = description;
8
+ return (_jsxs("div", { className: "weda-process-descriptions-item", style: description.layout === 'vertical'
9
+ ? { flexDirection: 'column' }
10
+ : { alignItems: 'center' }, children: [_jsx("span", { className: "weda-process-descriptions-item-key", children: label }), _jsx("span", { className: "weda-process-descriptions-item-value", children: children })] }));
11
+ };
12
+ if (!(items === null || items === void 0 ? void 0 : items.length))
13
+ return null;
14
+ return (_jsx("div", { className: "weda-process-descriptions", children: items.map((item) => renderDescriptionItem(item)) }));
15
+ }
16
+ Descriptions.defaultProps = {
17
+ label: '',
18
+ layout: 'horizontal',
19
+ };
@@ -0,0 +1,31 @@
1
+ .weda-process-descriptions {
2
+ display: flex;
3
+ flex-direction: column;
4
+ gap: 6px;
5
+ }
6
+
7
+ .weda-process-descriptions-item {
8
+ display: flex;
9
+ gap: 4px;
10
+ }
11
+
12
+ .weda-process-descriptions-item-key {
13
+ color: rgba(0, 0, 0, 0.45);
14
+ font-weight: 400;
15
+ font-size: 12px;
16
+ text-align: start;
17
+ word-break: keep-all;
18
+ }
19
+ .weda-process-descriptions-item-key::after {
20
+ content: ':';
21
+ position: relative;
22
+ top: -0.5px;
23
+ margin-inline: 2px 8px;
24
+ }
25
+
26
+ .weda-process-descriptions-item-value {
27
+ color: rgba(0, 0, 0, 0.78);
28
+ font-size: 12px;
29
+ word-break: break-word;
30
+ overflow-wrap: break-word;
31
+ }
@@ -0,0 +1,4 @@
1
+ import { CommentText } from './comment-text';
2
+ import { Descriptions } from './descriptions';
3
+ import { Timeline } from './timeline';
4
+ export { CommentText, Descriptions, Timeline };
@@ -0,0 +1,13 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import './style.css';
3
+ /** 审批历史时间轴组件 */
4
+ export function Timeline(props) {
5
+ const { items = [], titleAlign = 'flex-start', className = '', style = {}, } = props;
6
+ const renderPrefix = (index, dataLength, color) => {
7
+ return (_jsxs("div", { className: "weda-process-timeline-prefix", children: [_jsx("div", { className: `weda-process-timeline-dot ${color}` }), _jsx("div", { className: `weda-process-timeline-line ${index === dataLength - 1 ? 'weda-process-timeline-line-hidden' : ''}` })] }));
8
+ };
9
+ const renderContent = (item) => {
10
+ return (_jsxs("div", { className: "weda-process-timeline-content", children: [_jsxs("div", { className: "weda-process-timeline-header", style: { justifyContent: titleAlign }, children: [_jsx("div", { className: "weda-process-timeline-title", children: item.title }), _jsx("div", { className: "weda-process-timeline-extra", children: item.extra || null })] }), _jsx("div", { children: item.content || null }), _jsx("div", { className: "weda-process-timeline-label", children: item.label })] }));
11
+ };
12
+ return (_jsx("ul", { className: `weda-process-timeline ${className}`, style: style, children: items.map((item, index) => (_jsxs("li", { className: "weda-process-timeline-item", children: [renderPrefix(index, items === null || items === void 0 ? void 0 : items.length, item.dotColor), renderContent(item)] }, `${index}_flow_tl_item`))) }));
13
+ }