@cloudbase/weda-ui 3.4.8 → 3.4.9

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 (391) hide show
  1. package/README.md +65 -30
  2. package/dist/configs/components/carousel.json +12 -2
  3. package/dist/configs/components/chart/bar.json +2 -2
  4. package/dist/configs/components/chart/line.js +2 -2
  5. package/dist/configs/components/chart/pie.json +2 -2
  6. package/dist/configs/components/chart/statisticsCard.json +1 -1
  7. package/dist/configs/components/common/form-input-required.js +176 -0
  8. package/dist/configs/components/container.js +1 -1
  9. package/dist/configs/components/customer-service.js +262 -0
  10. package/dist/configs/components/dataView.js +10 -66
  11. package/dist/configs/components/flowgraph.json +22 -0
  12. package/dist/configs/components/form/departTreeSelect.json +10 -0
  13. package/dist/configs/components/form-checkbox.js +261 -0
  14. package/dist/configs/components/form-date.js +268 -0
  15. package/dist/configs/components/form-depart-tree-select.js +237 -0
  16. package/dist/configs/components/form-email.js +258 -0
  17. package/dist/configs/components/form-image-uploader.js +326 -0
  18. package/dist/configs/components/form-input.js +477 -0
  19. package/dist/configs/components/form-location.js +328 -0
  20. package/dist/configs/components/form-multi-region.js +202 -0
  21. package/dist/configs/components/form-phone.js +250 -0
  22. package/dist/configs/components/form-radio.js +261 -0
  23. package/dist/configs/components/form-region.js +198 -0
  24. package/dist/configs/components/form-rich-text.js +212 -0
  25. package/dist/configs/components/form-select.js +368 -0
  26. package/dist/configs/components/form-switch.js +153 -0
  27. package/dist/configs/components/form-text-area.js +241 -0
  28. package/dist/configs/components/form-time.js +221 -0
  29. package/dist/configs/components/form-upload-file.js +269 -0
  30. package/dist/configs/components/form-url.js +259 -0
  31. package/dist/configs/components/form-user-tree-select.js +315 -0
  32. package/dist/configs/components/formdetail.json +8 -0
  33. package/dist/configs/components/grid/col.js +6 -0
  34. package/dist/configs/components/listView.js +34 -92
  35. package/dist/configs/components/modal.js +2 -3
  36. package/dist/configs/components/navigationBar.json +2 -4
  37. package/dist/configs/components/pagelayout.json +1 -1
  38. package/dist/configs/components/qr_code.js +117 -0
  39. package/dist/configs/components/repeater.js +3 -2
  40. package/dist/configs/components/scrollVeiw.json +3 -1
  41. package/dist/configs/components/table.json +14 -4
  42. package/dist/configs/components/tabs.js +1 -1
  43. package/dist/configs/components/wd-bubble.js +2 -2
  44. package/dist/configs/components/wd-button.js +5 -5
  45. package/dist/configs/components/wd-divider.js +3 -3
  46. package/dist/configs/components/wd-form-detail.js +229 -0
  47. package/dist/configs/components/wd-form.js +394 -0
  48. package/dist/configs/components/wd-icon.js +4 -4
  49. package/dist/configs/components/wd-image.js +5 -0
  50. package/dist/configs/components/wd-link.js +5 -5
  51. package/dist/configs/components/wd-table.js +1110 -24
  52. package/dist/configs/components/wd-text.js +4 -3
  53. package/dist/configs/components/web-view.js +152 -0
  54. package/dist/configs/components/wedaVideo.json +4 -2
  55. package/dist/configs/components/wxOpenApi/share.js +1 -0
  56. package/dist/configs/index.js +50 -0
  57. package/dist/configs/type-utils/index.js +0 -1
  58. package/dist/docs/common/componentList.js +8 -37
  59. package/dist/docs/common/components/classes-view.js +2 -32
  60. package/dist/docs/common/components/event-view.js +2 -43
  61. package/dist/docs/common/components/json-schema-view.js +4 -8
  62. package/dist/docs/common/components/methods-view.js +2 -30
  63. package/dist/docs/common/components/properties-view.js +4 -43
  64. package/dist/docs/common/tableView.js +15 -94
  65. package/dist/enum/index.js +53 -0
  66. package/dist/setupTests.js +4 -0
  67. package/dist/style/index.scss +1 -1
  68. package/dist/web/actions/showModal/index.js +15 -21
  69. package/dist/web/components/button/index.css +1 -0
  70. package/dist/web/components/button/index.js +3 -6
  71. package/dist/web/components/calendar/index.js +19 -45
  72. package/dist/web/components/carousel/index.js +35 -45
  73. package/dist/web/components/chart/bar/index.js +6 -7
  74. package/dist/web/components/chart/bar/index.old.js +3 -2
  75. package/dist/web/components/chart/common/Chart.js +3 -2
  76. package/dist/web/components/chart/common/chart-custom-connector.js +3 -7
  77. package/dist/web/components/chart/common/core/eChartLine.js +12 -1
  78. package/dist/web/components/chart/common/data-transform.js +13 -9
  79. package/dist/web/components/chart/line/index.js +6 -7
  80. package/dist/web/components/chart/line/index.old.js +5 -3
  81. package/dist/web/components/chart/pie/index.js +6 -7
  82. package/dist/web/components/chart/pie/index.old.js +3 -2
  83. package/dist/web/components/chart/statisticsCard/index.js +3 -9
  84. package/dist/web/components/common/error-boundary.js +13 -15
  85. package/dist/web/components/common/form-item-wrapper.js +4 -0
  86. package/dist/web/components/common/use-loop-render-detect.js +2 -2
  87. package/dist/web/components/container/index.js +2 -2
  88. package/dist/web/components/customer-service/convert-legacy-props.js +14 -0
  89. package/dist/web/components/customer-service/customer-service.js +13 -0
  90. package/dist/web/components/customer-service/index.js +3 -0
  91. package/dist/web/components/dataView/index.js +5 -1
  92. package/dist/web/components/drawer/index.js +2 -3
  93. package/dist/web/components/flow/common/components/container.js +12 -0
  94. package/dist/web/components/flow/common/components/index.js +2 -0
  95. package/dist/web/components/flow/common/components/text/index.js +62 -0
  96. package/dist/web/components/flow/common/constants.js +14 -0
  97. package/dist/web/components/flow/common/hooks/index.js +2 -0
  98. package/dist/web/components/flow/common/hooks/useCommonFlowData/flow-get.js +83 -0
  99. package/dist/web/components/flow/common/hooks/useCommonFlowData/index.js +67 -0
  100. package/dist/web/components/flow/common/hooks/useCommonFlowData/preview-data.js +45 -0
  101. package/dist/web/components/flow/common/hooks/useCommonFlowData/request-hub.js +125 -0
  102. package/dist/web/components/flow/common/hooks/useCommonFlowData/types.js +1 -0
  103. package/dist/web/components/flow/common/hooks/useElementMediaQuery.js +23 -0
  104. package/dist/web/components/flow/common/hooks/useFlowConfig.js +44 -0
  105. package/dist/web/components/flow/common/hooks/useFlowFormLoad.js +64 -0
  106. package/dist/web/components/flow/common/hooks/useFlowPageType.js +49 -0
  107. package/dist/web/components/flow/common/index.js +6 -0
  108. package/dist/web/components/flow/common/request.js +47 -0
  109. package/dist/web/components/flow/common/types.js +1 -0
  110. package/dist/web/components/flow/common/utils.js +15 -0
  111. package/dist/web/components/flow/modules/basic/Basic.js +14 -22
  112. package/dist/web/components/flow/modules/basic/BasicMobile.js +12 -30
  113. package/dist/web/components/flow/modules/basic/index.js +19 -11
  114. package/dist/web/components/flow/modules/basic/status-text.js +37 -0
  115. package/dist/web/components/flow/modules/basic/utils.js +17 -8
  116. package/dist/web/components/flow/modules/chart/Chart.js +22 -41
  117. package/dist/web/components/flow/modules/chart/index.js +49 -5
  118. package/dist/web/components/flow/modules/chart/preview-data.js +88 -0
  119. package/dist/web/components/flow/modules/chart/utils.js +111 -0
  120. package/dist/web/components/flow/modules/combination/index.js +4 -6
  121. package/dist/web/components/flow/modules/layout/index.css +2 -2
  122. package/dist/web/components/flow/modules/layout/index.js +11 -15
  123. package/dist/web/components/flow/modules/operations/components/button/index.js +2 -4
  124. package/dist/web/components/flow/modules/operations/components/popup/index.js +11 -15
  125. package/dist/web/components/flow/modules/operations/components/user-select/index.js +4 -5
  126. package/dist/web/components/flow/modules/operations/config/approval-form-config.js +8 -9
  127. package/dist/web/components/flow/modules/operations/config/control-config.js +38 -33
  128. package/dist/web/components/flow/modules/operations/control.js +21 -15
  129. package/dist/web/components/flow/modules/operations/controls-items/add-assignee-btn.js +8 -8
  130. package/dist/web/components/flow/modules/operations/controls-items/apply-cc-btn.js +2 -2
  131. package/dist/web/components/flow/modules/operations/controls-items/approval-drawer/comment/index.js +3 -6
  132. package/dist/web/components/flow/modules/operations/controls-items/approval-drawer/drawer-form/index.js +25 -32
  133. package/dist/web/components/flow/modules/operations/controls-items/approval-drawer/field/index.js +2 -6
  134. package/dist/web/components/flow/modules/operations/controls-items/approval-drawer/index.js +15 -7
  135. package/dist/web/components/flow/modules/operations/controls-items/approval-drawer/style.css +1 -0
  136. package/dist/web/components/flow/modules/operations/controls-items/cancel-apply-btn.js +2 -2
  137. package/dist/web/components/flow/modules/operations/controls-items/check-list-popup/index.js +2 -4
  138. package/dist/web/components/flow/modules/operations/controls-items/flow-task-info-modal/index.js +20 -0
  139. package/dist/web/components/flow/modules/operations/controls-items/flow-task-info-modal/view-model.js +119 -0
  140. package/dist/web/components/flow/modules/operations/controls-items/initiation-btn.js +6 -3
  141. package/dist/web/components/flow/modules/operations/controls-items/revoke-modal/index.js +13 -22
  142. package/dist/web/components/flow/modules/operations/controls-items/roll-back-modal.js +18 -26
  143. package/dist/web/components/flow/modules/operations/view-model.js +95 -70
  144. package/dist/web/components/flow/process/components/comment-text/index.js +24 -0
  145. package/dist/web/components/flow/process/components/comment-text/style.css +33 -0
  146. package/dist/web/components/flow/process/components/descriptions/index.js +19 -0
  147. package/dist/web/components/flow/process/components/descriptions/style.css +31 -0
  148. package/dist/web/components/flow/process/components/index.js +4 -0
  149. package/dist/web/components/flow/process/components/timeline/index.js +13 -0
  150. package/dist/web/components/flow/process/components/timeline/style.css +75 -0
  151. package/dist/web/components/flow/process/constants.js +46 -0
  152. package/dist/web/components/flow/process/index.js +2 -0
  153. package/dist/web/components/flow/process/process.js +113 -0
  154. package/dist/web/components/flow/process/style.css +17 -0
  155. package/dist/web/components/flow/process/types.js +1 -0
  156. package/dist/web/components/flow/process/view-model.js +135 -0
  157. package/dist/web/components/flow-graph/constants.js +28 -0
  158. package/dist/web/components/flow-graph/graph.js +267 -0
  159. package/dist/web/components/flow-graph/index.js +2 -0
  160. package/dist/web/components/flow-graph/style.css +109 -0
  161. package/dist/web/components/flow-graph/types.js +1 -0
  162. package/dist/web/components/form/checkbox/index.js +18 -19
  163. package/dist/web/components/form/enumSelect/MultipleSelect.js +4 -5
  164. package/dist/web/components/form/enumSelect/NormalSelect.js +4 -5
  165. package/dist/web/components/form/enumSelect/SelectContainer.js +2 -2
  166. package/dist/web/components/form/form/index.js +8 -14
  167. package/dist/web/components/form/formcell/index.js +12 -18
  168. package/dist/web/components/form/input/index.js +17 -16
  169. package/dist/web/components/form/location/common/mapChoose.js +37 -69
  170. package/dist/web/components/form/location/common/mapView.js +2 -1
  171. package/dist/web/components/form/location/common/selectModal.js +3 -7
  172. package/dist/web/components/form/location/components/LocationH5/location.h5.js +22 -34
  173. package/dist/web/components/form/location/components/LocationPC/Header.js +6 -15
  174. package/dist/web/components/form/location/components/LocationPC/location.PC.js +13 -15
  175. package/dist/web/components/form/location/index.js +5 -7
  176. package/dist/web/components/form/radio/index.js +8 -12
  177. package/dist/web/components/form/renderDecorator.js +3 -2
  178. package/dist/web/components/form/select/allTimePicker/calendar.js +27 -28
  179. package/dist/web/components/form/select/allTimePicker/index.js +66 -91
  180. package/dist/web/components/form/select/dropdown-select/h5.js +30 -53
  181. package/dist/web/components/form/select/dropdown-select/index.css +4 -0
  182. package/dist/web/components/form/select/dropdown-select/index.js +7 -3
  183. package/dist/web/components/form/select/dropdown-select/pc.js +27 -29
  184. package/dist/web/components/form/select/dropdown-select/ui.js +4 -8
  185. package/dist/web/components/form/select/h5.js +8 -6
  186. package/dist/web/components/form/select/index.js +19 -20
  187. package/dist/web/components/form/select/region/index.js +2 -2
  188. package/dist/web/components/form/select/request.js +10 -10
  189. package/dist/web/components/form/select/status/allEmpty.js +2 -2
  190. package/dist/web/components/form/select/status/empty.js +3 -2
  191. package/dist/web/components/form/select/status/loading.js +3 -4
  192. package/dist/web/components/form/select/status/retry.js +3 -4
  193. package/dist/web/components/form/select/year.js +16 -31
  194. package/dist/web/components/form/switch/index.js +11 -15
  195. package/dist/web/components/form/textarea/index.js +5 -10
  196. package/dist/web/components/form/tips/index.js +2 -2
  197. package/dist/web/components/form/uploader/index.js +5 -4
  198. package/dist/web/components/form/uploader/uploader.h5.js +29 -54
  199. package/dist/web/components/form/uploader/uploader.pc.js +18 -44
  200. package/dist/web/components/form/uploaderFile/index.js +4 -5
  201. package/dist/web/components/form/uploaderFile/uploadFile.h5.js +58 -104
  202. package/dist/web/components/form/uploaderFile/uploadFile.pc.js +42 -69
  203. package/dist/web/components/form/userOrgSelect/common/fetch-data-service.js +44 -62
  204. package/dist/web/components/form/userOrgSelect/common/utils.js +225 -0
  205. package/dist/web/components/form/userOrgSelect/component/OrgPaths.js +12 -0
  206. package/dist/web/components/form/userOrgSelect/component/depart-breadcrumb.js +5 -10
  207. package/dist/web/components/form/userOrgSelect/component/depart-select/depart-select-pc.js +9 -19
  208. package/dist/web/components/form/userOrgSelect/component/depart-select/departTreeSelect.h5.js +156 -0
  209. package/dist/web/components/form/userOrgSelect/component/depart-select/index.js +58 -21
  210. package/dist/web/components/form/userOrgSelect/component/depart-select/org-modal-pc.js +29 -35
  211. package/dist/web/components/form/userOrgSelect/component/error-tips.js +4 -4
  212. package/dist/web/components/form/userOrgSelect/component/index.css +52 -0
  213. package/dist/web/components/form/userOrgSelect/component/input-tags.js +4 -18
  214. package/dist/web/components/form/userOrgSelect/component/modal-search-h5.js +11 -19
  215. package/dist/web/components/form/userOrgSelect/component/modal-search.js +2 -5
  216. package/dist/web/components/form/userOrgSelect/component/modal-select-h5.js +49 -35
  217. package/dist/web/components/form/userOrgSelect/component/org-tree-h5.js +7 -13
  218. package/dist/web/components/form/userOrgSelect/component/org-tree.js +26 -18
  219. package/dist/web/components/form/userOrgSelect/component/selected-list-h5.js +23 -40
  220. package/dist/web/components/form/userOrgSelect/component/selected-list.js +8 -5
  221. package/dist/web/components/form/userOrgSelect/component/user-org-list.js +35 -35
  222. package/dist/web/components/form/userOrgSelect/component/user-select-h5/index.js +30 -4
  223. package/dist/web/components/form/userOrgSelect/component/user-select-h5/user-list-h5.js +36 -50
  224. package/dist/web/components/form/userOrgSelect/component/user-select-h5/user-select-h5.js +9 -11
  225. package/dist/web/components/form/userOrgSelect/component/user-select-pc/error-tips.js +4 -4
  226. package/dist/web/components/form/userOrgSelect/component/user-select-pc/model-user-list.js +24 -17
  227. package/dist/web/components/form/userOrgSelect/component/user-select-pc/org-tree.js +2 -2
  228. package/dist/web/components/form/userOrgSelect/component/user-select-pc/user-model.js +12 -30
  229. package/dist/web/components/form/userOrgSelect/component/user-select-pc/user-select-pc.js +8 -8
  230. package/dist/web/components/form/userOrgSelect/component/userOrgSelect.css +20 -2
  231. package/dist/web/components/form/userOrgSelect/departTreeSelect/departTreeSelect.h5.js +68 -158
  232. package/dist/web/components/form/userOrgSelect/hooks/use-depart-data.js +4 -2
  233. package/dist/web/components/form-checkbox/index.js +36 -0
  234. package/dist/web/components/form-date/index.js +52 -0
  235. package/dist/web/components/form-depart-tree-select/index.js +22 -0
  236. package/dist/web/components/form-email/index.js +31 -0
  237. package/dist/web/components/form-image-uploader/index.js +50 -0
  238. package/dist/web/components/form-input/index.js +25 -0
  239. package/dist/web/components/form-input-hooks/index.js +284 -0
  240. package/dist/web/components/form-input-hooks/validator.js +124 -0
  241. package/dist/web/components/form-location/index.js +24 -0
  242. package/dist/web/components/form-multi-region/index.js +22 -0
  243. package/dist/web/components/form-phone/index.js +32 -0
  244. package/dist/web/components/form-radio/index.js +38 -0
  245. package/dist/web/components/form-region/index.js +24 -0
  246. package/dist/web/components/form-rich-text/index.js +22 -0
  247. package/dist/web/components/form-select/index.js +21 -0
  248. package/dist/web/components/form-switch/index.js +22 -0
  249. package/dist/web/components/form-text-area/index.js +22 -0
  250. package/dist/web/components/form-time/index.js +22 -0
  251. package/dist/web/components/form-upload-file/index.js +47 -0
  252. package/dist/web/components/form-url/index.js +31 -0
  253. package/dist/web/components/form-user-tree-select/index.js +24 -0
  254. package/dist/web/components/formdetail/index.css +213 -3
  255. package/dist/web/components/formdetail/index.js +156 -30
  256. package/dist/web/components/graphicCard/index.js +13 -25
  257. package/dist/web/components/grid/col.js +3 -2
  258. package/dist/web/components/grid/grid.js +4 -3
  259. package/dist/web/components/grid/row.js +3 -2
  260. package/dist/web/components/image/image.js +52 -57
  261. package/dist/web/components/image/index.js +2 -2
  262. package/dist/web/components/index.js +46 -3
  263. package/dist/web/components/link/index.js +3 -5
  264. package/dist/web/components/listView/index.js +29 -49
  265. package/dist/web/components/lottery/index.js +123 -143
  266. package/dist/web/components/modal/h5.css +3 -0
  267. package/dist/web/components/modal/index.js +3 -2
  268. package/dist/web/components/modal/modal.h5.js +8 -14
  269. package/dist/web/components/modal/modal.pc.js +5 -7
  270. package/dist/web/components/navLayout/index.js +13 -20
  271. package/dist/web/components/navigationBar/common.js +12 -14
  272. package/dist/web/components/navigationBar/h5Menu.js +18 -37
  273. package/dist/web/components/navigationBar/horizontalMenu.js +33 -50
  274. package/dist/web/components/navigationBar/index.css +2 -1
  275. package/dist/web/components/navigationBar/index.js +5 -10
  276. package/dist/web/components/navigationBar/verticalMenu.js +11 -13
  277. package/dist/web/components/pageLayout/PageContent/index.js +7 -14
  278. package/dist/web/components/pageLayout/index.css +10 -0
  279. package/dist/web/components/pageLayout/index.js +7 -12
  280. package/dist/web/components/phone/index.js +2 -4
  281. package/dist/web/components/phoneCode/index.js +2 -4
  282. package/dist/web/components/picker/datePicker.js +2 -2
  283. package/dist/web/components/picker/picker.js +2 -2
  284. package/dist/web/components/picker/timePicker.js +2 -2
  285. package/dist/web/components/qrcode/index.js +3 -0
  286. package/dist/web/components/qrcode/qr-code.js +26 -0
  287. package/dist/web/components/repeater/index.js +2 -2
  288. package/dist/web/components/repeater-item/index.js +2 -2
  289. package/dist/web/components/richText/index.js +74 -93
  290. package/dist/web/components/richTextView/index.js +3 -3
  291. package/dist/web/components/scrollView/index.js +4 -3
  292. package/dist/web/components/share/index.js +2 -4
  293. package/dist/web/components/slot/index.js +2 -2
  294. package/dist/web/components/statusContent/index.css +39 -0
  295. package/dist/web/components/statusContent/index.js +9 -0
  296. package/dist/web/components/swiper/index.js +44 -48
  297. package/dist/web/components/table/BaseTable.js +142 -190
  298. package/dist/web/components/table/ExportFileModalByApi/index.js +29 -60
  299. package/dist/web/components/table/FieldRender.js +47 -51
  300. package/dist/web/components/table/FilterFields.js +45 -71
  301. package/dist/web/components/table/Form/Enum.js +4 -4
  302. package/dist/web/components/table/Form/Location.js +9 -9
  303. package/dist/web/components/table/ImportFileModal/index.css +261 -0
  304. package/dist/web/components/table/ImportFileModal/index.js +47 -107
  305. package/dist/web/components/table/ImportFileModal/validate.js +9 -9
  306. package/dist/web/components/table/ImportFileModalByApi/index.css +35 -3
  307. package/dist/web/components/table/ImportFileModalByApi/index.js +96 -113
  308. package/dist/web/components/table/ImportFileModalByApi/uploadCSVFile.js +23 -47
  309. package/dist/web/components/table/InOrOutRecordModeal.js +26 -47
  310. package/dist/web/components/table/QuoteModal.js +3 -5
  311. package/dist/web/components/table/SelectableBlock/index.js +23 -27
  312. package/dist/web/components/table/UserDepartment/ViewCell.js +3 -3
  313. package/dist/web/components/table/UserDepartment/utils.js +4 -4
  314. package/dist/web/components/table/baseTable.css +0 -10
  315. package/dist/web/components/table/index.js +3 -5
  316. package/dist/web/components/tabs/index.js +5 -6
  317. package/dist/web/components/tabs/tabs.h5.js +12 -14
  318. package/dist/web/components/tabs/tabs.pc.js +15 -14
  319. package/dist/web/components/text/index.js +3 -2
  320. package/dist/web/components/uploaderFileView/index.js +4 -3
  321. package/dist/web/components/uploaderView/index.js +12 -16
  322. package/dist/web/components/userInfo/index.js +2 -4
  323. package/dist/web/components/wd-bubble/wd-bubble.js +10 -11
  324. package/dist/web/components/wd-button/wd-button.js +24 -8
  325. package/dist/web/components/wd-config-provider/wd-config-provider.js +3 -2
  326. package/dist/web/components/wd-divider/wd-divider.js +3 -2
  327. package/dist/web/components/wd-form/hooks/use-auth-value.js +43 -0
  328. package/dist/web/components/wd-form/hooks/use-remote-value.js +79 -0
  329. package/dist/web/components/wd-form/index.js +382 -0
  330. package/dist/web/components/wd-icon/wd-icon.js +3 -2
  331. package/dist/web/components/wd-image/image.js +98 -96
  332. package/dist/web/components/wd-image/index.js +4 -3
  333. package/dist/web/components/wd-link/wd-link.js +4 -8
  334. package/dist/web/components/wd-table/components/ExportFileModalByApi/ExportFileModalByApi.js +7 -0
  335. package/dist/web/components/wd-table/components/ExportFileModalByApi/index.css +9 -0
  336. package/dist/web/components/wd-table/components/ExportFileModalByApi/index.js +74 -0
  337. package/dist/web/components/wd-table/components/FieldRender/Form/Enum.js +56 -0
  338. package/dist/web/components/wd-table/components/FieldRender/Form/Location.css +11 -0
  339. package/dist/web/components/wd-table/components/FieldRender/Form/Location.js +127 -0
  340. package/dist/web/components/wd-table/components/FieldRender/ImagePreview.js +8 -0
  341. package/dist/web/components/wd-table/components/FieldRender/QuoteModal.js +17 -0
  342. package/dist/web/components/wd-table/components/FieldRender/UserDepartment/ViewCell.js +11 -0
  343. package/dist/web/components/wd-table/components/FieldRender/UserDepartment/utils.js +82 -0
  344. package/dist/web/components/wd-table/components/FieldRender/UserDepartment/viewCell.css +11 -0
  345. package/dist/web/components/wd-table/components/FieldRender/index.js +702 -0
  346. package/dist/web/components/wd-table/components/FilterFieldsPanel/Fields.js +82 -0
  347. package/dist/web/components/wd-table/components/FilterFieldsPanel/FilterFieldItem.js +86 -0
  348. package/dist/web/components/wd-table/components/FilterFieldsPanel/InputAdornment.js +9 -0
  349. package/dist/web/components/wd-table/components/FilterFieldsPanel/SelectSearch.js +44 -0
  350. package/dist/web/components/wd-table/components/FilterFieldsPanel/filterFieldsGenerate.js +113 -0
  351. package/dist/web/components/wd-table/components/FilterFieldsPanel/index.js +169 -0
  352. package/dist/web/components/wd-table/components/ImportFileModalByApi/index.js +44 -0
  353. package/dist/web/components/wd-table/components/InOrOutRecordModal.js +14 -0
  354. package/dist/web/components/wd-table/components/Pagination/index.js +11 -0
  355. package/dist/web/components/wd-table/components/SearchBox/index.js +45 -0
  356. package/dist/web/components/wd-table/components/Table/index.js +172 -0
  357. package/dist/web/components/wd-table/components/Table/util.js +63 -0
  358. package/dist/web/components/wd-table/components/ToolBar/index.js +34 -0
  359. package/dist/web/components/wd-table/components/deleteModal.js +40 -0
  360. package/dist/web/components/wd-table/components/index.js +10 -0
  361. package/dist/web/components/wd-table/hooks/useAuthFields.js +13 -0
  362. package/dist/web/components/wd-table/hooks/useChooseList.js +70 -0
  363. package/dist/web/components/wd-table/hooks/useDataSource.js +5 -0
  364. package/dist/web/components/wd-table/hooks/useQueryParams.js +41 -0
  365. package/dist/web/components/wd-table/hooks/useTableData.js +42 -0
  366. package/dist/web/components/wd-table/hooks/useViewFields.js +20 -0
  367. package/dist/web/components/wd-table/mock/index.js +202 -0
  368. package/dist/web/components/wd-table/utils/index.js +326 -0
  369. package/dist/web/components/wd-table/wd-table.js +459 -21
  370. package/dist/web/components/wd-text/wd-text.js +15 -14
  371. package/dist/web/components/web-view/index.css +5 -0
  372. package/dist/web/components/web-view/index.js +3 -0
  373. package/dist/web/components/web-view/web-view.js +61 -0
  374. package/dist/web/components/wedaVideo/index.js +2 -5
  375. package/dist/web/utils/constant.js +1 -0
  376. package/dist/web/utils/datasource.js +3 -1
  377. package/dist/web/utils/getModelParams.js +32 -0
  378. package/dist/web/utils/hooks/CreatePortal.js +3 -2
  379. package/dist/web/utils/hooks/EnumHoc.js +3 -2
  380. package/dist/web/utils/hooks/globalConnect.js +2 -3
  381. package/dist/web/utils/hooks/use-cloud-id-temp-url.js +6 -6
  382. package/dist/web/utils/hooks/useDataSource.js +22 -0
  383. package/dist/web/utils/loading-fallback.js +2 -2
  384. package/dist/web/utils/platform.js +21 -0
  385. package/dist/web/utils/tcb.js +0 -13
  386. package/dist/web/utils/tool.js +14 -0
  387. package/dist/web/utils/widget-api/index.js +39 -7
  388. package/package.json +32 -25
  389. package/dist/web/components/emptyContent/index.css +0 -26
  390. package/dist/web/components/flow/components/FlowModuleText/index.css +0 -4
  391. package/dist/web/components/flow/modules/process/index.css +0 -194
@@ -1,4 +1,5 @@
1
- import React, { useState } from 'react';
1
+ import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { useState } from 'react';
2
3
  import { message } from 'tea-component';
3
4
  import { FlowButton } from '../../components';
4
5
  import { DrawerForm } from './drawer-form';
@@ -7,11 +8,20 @@ import './style.css';
7
8
  * 审批类型弹窗 可用于同意、拒绝、处理、转办 这几个操作
8
9
  */
9
10
  export function ApprovalDrawer(props) {
10
- const { isH5 } = props.flowFrameCommonProps.flowLocalProps;
11
+ const { isH5 } = props.flowModulesProps;
11
12
  const [submitLoading, setSubmitLoading] = useState(false);
12
13
  const [visible, setVisible] = useState(false);
13
- const onOpenDrawerForm = () => setVisible(true);
14
- const onCloseDrawerForm = () => setVisible(false);
14
+ const onOpenDrawerForm = async () => {
15
+ const result = await props.flowControlModel.getApprovalFormData();
16
+ // 获取表单数据成功之后再显示审批抽屉
17
+ if (result) {
18
+ setVisible(true);
19
+ }
20
+ };
21
+ const onCloseDrawerForm = () => {
22
+ props.flowControlModel.clearFormData();
23
+ setVisible(false);
24
+ };
15
25
  const onDrawerFormSubmit = (formValues) => {
16
26
  let values = {};
17
27
  Object.keys(formValues).forEach((key) => {
@@ -41,7 +51,5 @@ export function ApprovalDrawer(props) {
41
51
  },
42
52
  });
43
53
  };
44
- return (React.createElement(React.Fragment, null,
45
- React.createElement(FlowButton, { ...props.buttonProps, buttonIcon: props.buttonIcon, id: props.id, onClick: onOpenDrawerForm }, props.label),
46
- React.createElement(DrawerForm, { visible: visible, formInfo: props.approvalFormInfo, submit: onDrawerFormSubmit, isH5: isH5, submitLoading: submitLoading, onClose: onCloseDrawerForm })));
54
+ return (_jsxs(_Fragment, { children: [_jsx(FlowButton, { ...props.buttonProps, buttonIcon: props.buttonIcon, id: props.id, onClick: onOpenDrawerForm, children: props.label }), _jsx(DrawerForm, { visible: visible, formInfo: props.approvalFormInfo, submit: onDrawerFormSubmit, isH5: isH5, submitLoading: submitLoading, onClose: onCloseDrawerForm })] }));
47
55
  }
@@ -2,6 +2,7 @@
2
2
  width: 500px !important;
3
3
  top: 0 !important;
4
4
  background-color: #fff;
5
+ z-index: 1001 !important;
5
6
  }
6
7
 
7
8
  .weda-flow-approval-drawer .wedatea2td-form {
@@ -1,11 +1,11 @@
1
- import React from 'react';
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
2
  import { getPageQuery } from '../../../../../utils/getPageQuery';
3
3
  import { FlowButton } from '../components';
4
4
  /**
5
5
  * 取消申请
6
6
  */
7
7
  export function CancelApplyBtn(props) {
8
- return (React.createElement(FlowButton, { ...props.buttonProps, buttonIcon: props.buttonIcon, id: props.id, onClick: navigateToFlowCenter }, props.label));
8
+ return (_jsx(FlowButton, { ...props.buttonProps, buttonIcon: props.buttonIcon, id: props.id, onClick: navigateToFlowCenter, children: props.label }));
9
9
  }
10
10
  /** 返回流程中心 */
11
11
  function navigateToFlowCenter() {
@@ -1,11 +1,9 @@
1
- import React from 'react';
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
2
  import { Button } from 'tea-component';
3
3
  import { FlowPopup } from '../../components';
4
4
  import './style.css';
5
5
  /** 单双选弹窗(Popup)容器 */
6
6
  export function FlowCheckListPopup(props) {
7
7
  const { confirmButtonProps, confirmButtonText = '确认', ...restProps } = props;
8
- return (React.createElement(FlowPopup, { position: "bottom", closeable: true, className: "weda-flow-checklist-popup", closeContentPosition: "top-left", closeContent: "\u53D6\u6D88", ...restProps },
9
- React.createElement("div", { className: "weda-flow-checklist-body" }, props.children || null),
10
- React.createElement(Button, { type: "link", className: "weda-flow-checklist-confirm", ...confirmButtonProps }, confirmButtonText)));
8
+ return (_jsxs(FlowPopup, { position: "bottom", closeable: true, className: "weda-flow-checklist-popup", closeContentPosition: "top-left", closeContent: "\u53D6\u6D88", ...restProps, children: [_jsx("div", { className: "weda-flow-checklist-body", children: props.children || null }), _jsx(Button, { type: "link", className: "weda-flow-checklist-confirm", ...confirmButtonProps, children: confirmButtonText })] }));
11
9
  }
@@ -0,0 +1,20 @@
1
+ import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
2
+ import { Modal, SelectMultiple, Button, Form, Checkbox } from 'tea-component';
3
+ import { FlowCheckListPopup } from '../check-list-popup';
4
+ import { useFlowTaskInfoModel } from './view-model';
5
+ /**
6
+ * 选择下一节点审批人弹窗
7
+ */
8
+ export const FlowTaskInfoModal = (props) => {
9
+ const { isH5, visible, assigneeOptions, selectedAssignees, setSelectedAssignees, onSubmitTaskIds, } = useFlowTaskInfoModel(props);
10
+ const renderModal = () => {
11
+ return (_jsxs(Modal, { visible: visible, caption: props.label, onClose: () => onSubmitTaskIds(), size: "auto", children: [_jsx(Modal.Body, { children: _jsx(Form, { style: { marginBottom: '5px' }, children: _jsx(Form.Item, { label: "\u9009\u62E9\u5904\u7406\u4EBA", children: _jsx(SelectMultiple, { searchable: true, matchButtonWidth: true, appearance: "button", size: "full", style: { width: 300 }, staging: false, options: assigneeOptions, value: selectedAssignees, onChange: (value) => setSelectedAssignees(value) }) }) }) }), _jsxs(Modal.Footer, { children: [_jsx(Button, { type: "primary", onClick: () => onSubmitTaskIds(false), disabled: !selectedAssignees.length, children: "\u786E\u5B9A" }), _jsx(Button, { type: "weak", onClick: () => onSubmitTaskIds(), children: "\u53D6\u6D88" })] })] }));
12
+ };
13
+ const renderPopup = () => {
14
+ return (_jsx(FlowCheckListPopup, { visible: visible, onClose: () => onSubmitTaskIds(), title: props.label, overlayStyle: { zIndex: 998 }, height: 550, confirmButtonProps: {
15
+ disabled: !selectedAssignees.length,
16
+ onClick: () => onSubmitTaskIds(false),
17
+ }, children: _jsx(Checkbox.Group, { value: selectedAssignees, onChange: (value) => setSelectedAssignees(value), layout: "column", children: assigneeOptions.map((option) => (_jsx(Checkbox, { name: option.value, children: option.text }, option.value))) }) }));
18
+ };
19
+ return _jsxs(_Fragment, { children: [" ", isH5 ? renderPopup() : renderModal()] });
20
+ };
@@ -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
+ }