@cloudbase/weda-ui 3.4.2 → 3.4.4

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 (537) hide show
  1. package/dist/configs/components/auth.json +2 -1
  2. package/dist/configs/components/button.js +240 -0
  3. package/dist/configs/components/calendar.json +4 -2
  4. package/dist/configs/components/carousel.json +2 -1
  5. package/dist/configs/components/chart/bar.json +7 -2
  6. package/dist/configs/components/chart/line.js +872 -0
  7. package/dist/configs/components/chart/pie.json +7 -2
  8. package/dist/configs/components/chart/statisticsCard.json +3 -2
  9. package/dist/configs/components/container.js +64 -0
  10. package/dist/configs/components/dataView.js +507 -0
  11. package/dist/configs/components/drawer.json +2 -1
  12. package/dist/configs/components/flow/flow.json +26 -0
  13. package/dist/configs/components/flow/flowbasic.json +122 -0
  14. package/dist/configs/components/flow/flowchart.json +22 -0
  15. package/dist/configs/components/flow/flowcontrol.json +66 -0
  16. package/dist/configs/components/flow/flowlayout.json +31 -0
  17. package/dist/configs/components/flow/flowprocess.json +122 -0
  18. package/dist/configs/components/form/checkbox.json +2 -1
  19. package/dist/configs/components/form/departTreeSelect.json +2 -1
  20. package/dist/configs/components/form/form.json +2 -1
  21. package/dist/configs/components/form/input.json +2 -1
  22. package/dist/configs/components/form/location.json +4 -2
  23. package/dist/configs/components/form/radio.json +2 -1
  24. package/dist/configs/components/form/richText.json +2 -1
  25. package/dist/configs/components/form/select.json +6 -1
  26. package/dist/configs/components/form/switch.json +2 -1
  27. package/dist/configs/components/form/textarea.json +2 -1
  28. package/dist/configs/components/form/tips.json +2 -1
  29. package/dist/configs/components/form/uploader.json +2 -1
  30. package/dist/configs/components/form/uploaderFile.json +2 -1
  31. package/dist/configs/components/form/userTreeSelect.json +57 -1
  32. package/dist/configs/components/formdetail.json +16 -4
  33. package/dist/configs/components/graphicCard.json +2 -1
  34. package/dist/configs/components/grid/col.js +125 -0
  35. package/dist/configs/components/grid/grid.js +131 -0
  36. package/dist/configs/components/grid/row.js +143 -0
  37. package/dist/configs/components/image.js +205 -0
  38. package/dist/configs/components/link.js +78 -0
  39. package/dist/configs/components/listView.js +988 -0
  40. package/dist/configs/components/lottery.json +6 -2
  41. package/dist/configs/components/modal.js +72 -0
  42. package/dist/configs/components/navLayout.json +3 -2
  43. package/dist/configs/components/navigationBar.json +12 -3
  44. package/dist/configs/components/pagelayout.json +31 -0
  45. package/dist/configs/components/repeater-item.json +17 -0
  46. package/dist/configs/components/repeater.js +125 -0
  47. package/dist/configs/components/richtextview.json +4 -3
  48. package/dist/configs/components/scrollVeiw.json +5 -3
  49. package/dist/configs/components/slot.json +2 -1
  50. package/dist/configs/components/swiper.json +3 -2
  51. package/dist/configs/components/table.json +777 -0
  52. package/dist/configs/components/tabs.js +120 -0
  53. package/dist/configs/components/text.js +120 -0
  54. package/dist/configs/components/wd-bubble.js +204 -0
  55. package/dist/configs/components/wd-button.js +417 -0
  56. package/dist/configs/components/wd-divider.js +89 -0
  57. package/dist/configs/components/wd-icon.js +126 -0
  58. package/dist/configs/components/wd-image.js +164 -0
  59. package/dist/configs/components/wd-link.js +234 -0
  60. package/dist/configs/components/wd-table.js +59 -0
  61. package/dist/configs/components/wd-text.js +142 -0
  62. package/dist/configs/components/wedaVideo.json +7 -2
  63. package/dist/configs/components/wxOpenApi/phone.js +126 -0
  64. package/dist/configs/components/wxOpenApi/phoneCode.js +117 -0
  65. package/dist/configs/components/wxOpenApi/share.js +164 -0
  66. package/dist/configs/components/wxOpenApi/userInfo.js +168 -0
  67. package/dist/configs/index.js +63 -14
  68. package/dist/configs/type-utils/index.js +92 -0
  69. package/dist/docs/common/componentList.js +144 -0
  70. package/dist/docs/common/components/classes-view.js +34 -0
  71. package/dist/docs/common/components/event-view.js +46 -0
  72. package/dist/docs/common/components/json-schema-view.js +18 -0
  73. package/dist/docs/common/components/methods-view.js +32 -0
  74. package/dist/docs/common/components/properties-view.js +45 -0
  75. package/dist/docs/common/format.js +60 -35
  76. package/dist/docs/common/helper.js +1 -0
  77. package/dist/docs/common/tableView.js +61 -50
  78. package/dist/enum/index.js +521 -0
  79. package/dist/index.js +1 -1
  80. package/dist/style/index.scss +1 -0
  81. package/dist/web/actions/showMessage/index.css +0 -3
  82. package/dist/web/actions/showMessage/index.js +1 -1
  83. package/dist/web/actions/showModal/index.css +0 -3
  84. package/dist/web/components/button/index.css +2 -5
  85. package/dist/web/components/button/index.js +4 -4
  86. package/dist/web/components/calendar/index.css +29 -32
  87. package/dist/web/components/calendar/index.js +37 -35
  88. package/dist/web/components/carousel/index.css +11 -14
  89. package/dist/web/components/carousel/index.js +13 -6
  90. package/dist/web/components/chart/common/core/eChartBar.js +10 -2
  91. package/dist/web/components/chart/common/core/eChartLine.js +16 -8
  92. package/dist/web/components/chart/common/core/eChartPie.js +2 -1
  93. package/dist/web/components/chart/statisticsCard/index.css +12 -15
  94. package/dist/web/components/chart/statisticsCard/index.js +6 -1
  95. package/dist/web/components/dataView/index.js +3 -3
  96. package/dist/web/components/emptyContent/index.css +26 -0
  97. package/dist/web/components/emptyContent/index.js +46 -0
  98. package/dist/web/components/flow/components/FlowModuleText/Content.js +6 -0
  99. package/dist/web/components/flow/components/FlowModuleText/Title.js +16 -0
  100. package/dist/web/components/flow/components/FlowModuleText/index.css +4 -0
  101. package/dist/web/components/flow/components/FlowModuleText/index.js +7 -0
  102. package/dist/web/components/flow/components/FlowModuleText/utils.js +34 -0
  103. package/dist/web/components/flow/components/FlowStatusText/index.js +37 -0
  104. package/dist/web/components/flow/components/FlowUserSelect/index.css +116 -0
  105. package/dist/web/components/flow/components/FlowUserSelect/index.js +115 -0
  106. package/dist/web/components/flow/components/HighLightComment/index.js +31 -0
  107. package/dist/web/components/flow/components/HighlightTextarea/index.css +42 -0
  108. package/dist/web/components/flow/components/HighlightTextarea/index.js +131 -0
  109. package/dist/web/components/flow/components/UserSelectModel/UserSelect.js +74 -0
  110. package/dist/web/components/flow/components/UserSelectModel/UserSelectMobile.css +8 -0
  111. package/dist/web/components/flow/components/UserSelectModel/UserSelectMobile.js +86 -0
  112. package/dist/web/components/flow/components/UserSelectModel/index.js +18 -0
  113. package/dist/web/components/flow/components/WedaUserTransfer/index.css +3 -0
  114. package/dist/web/components/flow/components/WedaUserTransfer/index.js +162 -0
  115. package/dist/web/components/flow/components/index.js +7 -0
  116. package/dist/web/components/flow/constants/index.js +65 -0
  117. package/dist/web/components/flow/frame/getCommonFlowData.js +80 -0
  118. package/dist/web/components/flow/frame/hooks/index.js +2 -0
  119. package/dist/web/components/flow/frame/hooks/useCommonFlowRequest.js +148 -0
  120. package/dist/web/components/flow/frame/hooks/useElementMediaQuery.js +15 -0
  121. package/dist/web/components/flow/frame/index.js +75 -0
  122. package/dist/web/components/flow/frame/types.js +271 -0
  123. package/dist/web/components/flow/frame/utils.js +90 -0
  124. package/dist/web/components/flow/modules/basic/Basic.css +16 -0
  125. package/dist/web/components/flow/modules/basic/Basic.js +48 -0
  126. package/dist/web/components/flow/modules/basic/BasicMobile.css +29 -0
  127. package/dist/web/components/flow/modules/basic/BasicMobile.js +41 -0
  128. package/dist/web/components/flow/modules/basic/index.js +13 -0
  129. package/dist/web/components/flow/modules/basic/utils.js +20 -0
  130. package/dist/web/components/flow/modules/chart/Chart.js +302 -0
  131. package/dist/web/components/flow/modules/chart/constants.js +28 -0
  132. package/dist/web/components/flow/modules/chart/index.css +87 -0
  133. package/dist/web/components/flow/modules/chart/index.js +5 -0
  134. package/dist/web/components/flow/modules/chart/isString.js +5 -0
  135. package/dist/web/components/flow/modules/combination/index.js +21 -0
  136. package/dist/web/components/flow/modules/control/ApprovalDrawer.css +144 -0
  137. package/dist/web/components/flow/modules/control/ApprovalDrawer.js +178 -0
  138. package/dist/web/components/flow/modules/control/ApprovalPopup.css +115 -0
  139. package/dist/web/components/flow/modules/control/ApprovalPopup.js +241 -0
  140. package/dist/web/components/flow/modules/control/Control.css +29 -0
  141. package/dist/web/components/flow/modules/control/Control.js +93 -0
  142. package/dist/web/components/flow/modules/control/ControlMobile.css +69 -0
  143. package/dist/web/components/flow/modules/control/ControlMobile.js +133 -0
  144. package/dist/web/components/flow/modules/control/FlowTaskInfoModal.css +3 -0
  145. package/dist/web/components/flow/modules/control/FlowTaskInfoModal.js +31 -0
  146. package/dist/web/components/flow/modules/control/constants/index.js +35 -0
  147. package/dist/web/components/flow/modules/control/index.js +15 -0
  148. package/dist/web/components/flow/modules/control/provider/index.js +17 -0
  149. package/dist/web/components/flow/modules/control/provider/useControlModel.js +256 -0
  150. package/dist/web/components/flow/modules/control/provider/useMobileModel.js +86 -0
  151. package/dist/web/components/flow/modules/control/provider/useRevokeAndBackHook.js +82 -0
  152. package/dist/web/components/flow/modules/control/utils/ControlModelUtils.js +57 -0
  153. package/dist/web/components/flow/modules/control/utils/index.js +2 -0
  154. package/dist/web/components/flow/modules/layout/index.css +6 -0
  155. package/dist/web/components/flow/modules/layout/index.js +22 -0
  156. package/dist/web/components/flow/modules/process/Process.js +73 -0
  157. package/dist/web/components/flow/modules/process/ProcessMobile.js +81 -0
  158. package/dist/web/components/flow/modules/process/index.css +194 -0
  159. package/dist/web/components/flow/modules/process/index.js +14 -0
  160. package/dist/web/components/flow/modules/process/utils/index.js +32 -0
  161. package/dist/web/components/flow/services/flow.js +111 -0
  162. package/dist/web/components/flow/services/ideData/chart.js +88 -0
  163. package/dist/web/components/flow/services/ideData/index.js +5 -0
  164. package/dist/web/components/flow/services/ideData/instance.js +23 -0
  165. package/dist/web/components/flow/services/ideData/pageDetail.js +41 -0
  166. package/dist/web/components/flow/services/ideData/process.js +27 -0
  167. package/dist/web/components/flow/services/index.js +2 -0
  168. package/dist/web/components/flow/services/user.js +23 -0
  169. package/dist/web/components/flow/services/utils.js +28 -0
  170. package/dist/web/components/form/enumSelect/NormalSelect.js +1 -1
  171. package/dist/web/components/form/form/index.css +2 -5
  172. package/dist/web/components/form/form/index.js +52 -7
  173. package/dist/web/components/form/formcell/index.css +29 -17
  174. package/dist/web/components/form/input/index.css +10 -8
  175. package/dist/web/components/form/input/index.js +12 -1
  176. package/dist/web/components/form/location/common/mapChoose.css +88 -91
  177. package/dist/web/components/form/location/common/selectModal.css +10 -13
  178. package/dist/web/components/form/location/components/LocationH5/index.css +17 -20
  179. package/dist/web/components/form/location/components/LocationH5/location.h5.js +2 -3
  180. package/dist/web/components/form/location/components/LocationH5/location.module.css +0 -3
  181. package/dist/web/components/form/location/components/LocationPC/index.css +10 -13
  182. package/dist/web/components/form/location/components/LocationPC/location.PC.js +2 -3
  183. package/dist/web/components/form/location/index.css +0 -3
  184. package/dist/web/components/form/radio/index.css +0 -3
  185. package/dist/web/components/form/select/allTimePicker/calendar.css +15 -18
  186. package/dist/web/components/form/select/allTimePicker/dataUtils.js +10 -0
  187. package/dist/web/components/form/select/allTimePicker/index.css +53 -27
  188. package/dist/web/components/form/select/allTimePicker/index.js +36 -27
  189. package/dist/web/components/form/select/dropdown-select/h5.js +141 -0
  190. package/dist/web/components/form/select/dropdown-select/index.css +159 -0
  191. package/dist/web/components/form/select/dropdown-select/index.js +206 -0
  192. package/dist/web/components/form/select/dropdown-select/pc.js +113 -0
  193. package/dist/web/components/form/select/dropdown-select/ui.js +45 -40
  194. package/dist/web/components/form/select/h5.js +16 -6
  195. package/dist/web/components/form/select/index.css +17 -6
  196. package/dist/web/components/form/select/index.js +7 -9
  197. package/dist/web/components/form/select/request.js +106 -0
  198. package/dist/web/components/form/select/status/allEmpty.js +5 -0
  199. package/dist/web/components/form/select/status/empty.js +18 -0
  200. package/dist/web/components/form/select/status/index.css +63 -0
  201. package/dist/web/components/form/select/status/index.js +7 -0
  202. package/dist/web/components/form/select/status/loading.js +20 -0
  203. package/dist/web/components/form/select/status/propsType.js +1 -0
  204. package/dist/web/components/form/select/status/retry.js +20 -0
  205. package/dist/web/components/form/switch/index.js +1 -1
  206. package/dist/web/components/form/switch/switch.module.css +0 -3
  207. package/dist/web/components/form/textarea/index.css +1 -4
  208. package/dist/web/components/form/textarea/index.js +1 -1
  209. package/dist/web/components/form/tips/index.css +11 -2
  210. package/dist/web/components/form/uploader/index.css +14 -17
  211. package/dist/web/components/form/uploader/uploader.h5.js +4 -4
  212. package/dist/web/components/form/uploader/uploader.pc.js +1 -1
  213. package/dist/web/components/form/uploaderFile/index.css +61 -64
  214. package/dist/web/components/form/uploaderFile/uploadFile.h5.js +1 -1
  215. package/dist/web/components/form/uploaderFile/uploadFile.pc.js +1 -1
  216. package/dist/web/components/form/userOrgSelect/common/fetch-data-service.js +276 -0
  217. package/dist/web/components/form/userOrgSelect/common/types.js +1 -0
  218. package/dist/web/components/form/userOrgSelect/common/utils.js +103 -0
  219. package/dist/web/components/form/userOrgSelect/component/depart-breadcrumb.js +15 -0
  220. package/dist/web/components/form/userOrgSelect/component/depart-select/depart-select-pc.js +63 -0
  221. package/dist/web/components/form/userOrgSelect/component/depart-select/index.js +96 -0
  222. package/dist/web/components/form/userOrgSelect/component/depart-select/org-modal-pc.js +69 -0
  223. package/dist/web/components/form/userOrgSelect/component/error-tips.js +11 -0
  224. package/dist/web/components/form/userOrgSelect/component/index.css +323 -0
  225. package/dist/web/components/form/userOrgSelect/component/input-tags.js +21 -0
  226. package/dist/web/components/form/userOrgSelect/component/modal-search-h5.js +25 -0
  227. package/dist/web/components/form/userOrgSelect/component/modal-search.js +11 -0
  228. package/dist/web/components/form/userOrgSelect/component/modal-select-h5.js +201 -0
  229. package/dist/web/components/form/userOrgSelect/component/org-tree-h5.js +19 -0
  230. package/dist/web/components/form/userOrgSelect/component/org-tree.js +33 -0
  231. package/dist/web/components/form/userOrgSelect/component/selected-list-h5.js +44 -0
  232. package/dist/web/components/form/userOrgSelect/component/selected-list.js +15 -0
  233. package/dist/web/components/form/userOrgSelect/component/user-org-list.js +55 -0
  234. package/dist/web/components/form/userOrgSelect/component/user-select-h5/index.js +151 -0
  235. package/dist/web/components/form/userOrgSelect/component/user-select-h5/user-list-h5.js +107 -0
  236. package/dist/web/components/form/userOrgSelect/component/user-select-h5/user-select-h5.js +50 -0
  237. package/dist/web/components/form/userOrgSelect/component/user-select-pc/error-tips.js +11 -0
  238. package/dist/web/components/form/userOrgSelect/component/user-select-pc/model-user-list.js +99 -0
  239. package/dist/web/components/form/userOrgSelect/component/user-select-pc/org-tree.js +10 -0
  240. package/dist/web/components/form/userOrgSelect/component/user-select-pc/user-model.js +75 -0
  241. package/dist/web/components/form/userOrgSelect/component/user-select-pc/user-select-pc.js +65 -0
  242. package/dist/web/components/form/userOrgSelect/component/userOrgSelect.css +1160 -0
  243. package/dist/web/components/form/userOrgSelect/departTreeSelect/departTreeSelect.h5.js +54 -87
  244. package/dist/web/components/form/userOrgSelect/hooks/use-depart-data.js +88 -0
  245. package/dist/web/components/form/userOrgSelect/hooks/use-views-data.js +48 -0
  246. package/dist/web/components/formdetail/index.css +34 -31
  247. package/dist/web/components/formdetail/index.js +12 -3
  248. package/dist/web/components/graphicCard/index.css +15 -18
  249. package/dist/web/components/grid/_utils.css +67 -0
  250. package/dist/web/components/grid/col.js +33 -0
  251. package/dist/web/components/grid/grid.css +1185 -0
  252. package/dist/web/components/grid/grid.js +19 -0
  253. package/dist/web/components/grid/row.js +14 -0
  254. package/dist/web/components/image/image.js +9 -1
  255. package/dist/web/components/image/index.css +2 -5
  256. package/dist/web/components/image/index.js +1 -1
  257. package/dist/web/components/index.js +33 -2
  258. package/dist/web/components/link/index.css +0 -3
  259. package/dist/web/components/listView/index.css +26 -20
  260. package/dist/web/components/listView/index.js +234 -81
  261. package/dist/web/components/lottery/index.css +72 -75
  262. package/dist/web/components/modal/h5.css +19 -21
  263. package/dist/web/components/modal/modal.h5.js +12 -11
  264. package/dist/web/components/modal/modal.pc.js +1 -1
  265. package/dist/web/components/navLayout/index.css +14 -139
  266. package/dist/web/components/navigationBar/common.js +5 -4
  267. package/dist/web/components/navigationBar/h5Menu.js +12 -10
  268. package/dist/web/components/navigationBar/horizontalMenu.js +42 -35
  269. package/dist/web/components/navigationBar/index.css +131 -86
  270. package/dist/web/components/navigationBar/index.js +6 -4
  271. package/dist/web/components/navigationBar/verticalMenu.js +13 -9
  272. package/dist/web/components/pageLayout/PageContent/index.css +25 -0
  273. package/dist/web/components/pageLayout/PageContent/index.js +81 -0
  274. package/dist/web/components/pageLayout/index.css +4 -0
  275. package/dist/web/components/pageLayout/index.js +22 -0
  276. package/dist/web/components/phoneCode/index.js +1 -0
  277. package/dist/web/components/repeater/index.js +17 -0
  278. package/dist/web/components/repeater-item/index.js +9 -0
  279. package/dist/web/components/richText/index.css +8 -7
  280. package/dist/web/components/richText/index.js +6 -4
  281. package/dist/web/components/richText/richtext.module.css +2 -5
  282. package/dist/web/components/richTextView/index.css +7 -10
  283. package/dist/web/components/swiper/index.css +10 -13
  284. package/dist/web/components/swiper/index.js +19 -5
  285. package/dist/web/components/table/BaseTable.js +1240 -0
  286. package/dist/web/components/table/ExportFileModalByApi/index.css +9 -0
  287. package/dist/web/components/table/ExportFileModalByApi/index.js +150 -0
  288. package/dist/web/components/table/FieldRender.js +629 -0
  289. package/dist/web/components/table/FilterFields.js +518 -0
  290. package/dist/web/components/table/Form/Enum.js +56 -0
  291. package/dist/web/components/table/Form/Location.css +11 -0
  292. package/dist/web/components/table/Form/Location.js +126 -0
  293. package/dist/web/components/table/ImportFileModal/csvTemplate.json +606 -0
  294. package/dist/web/components/table/ImportFileModal/index.js +310 -0
  295. package/dist/web/components/table/ImportFileModal/submitFormatter.js +32 -0
  296. package/dist/web/components/table/ImportFileModal/validate.js +127 -0
  297. package/dist/web/components/table/ImportFileModalByApi/index.css +130 -0
  298. package/dist/web/components/table/ImportFileModalByApi/index.js +321 -0
  299. package/dist/web/components/table/ImportFileModalByApi/uploadCSVFile.js +115 -0
  300. package/dist/web/components/table/InOrOutRecordModeal.js +139 -0
  301. package/dist/web/components/table/QuoteModal.js +16 -0
  302. package/dist/web/components/table/SelectableBlock/index.css +0 -0
  303. package/dist/web/components/table/SelectableBlock/index.js +81 -0
  304. package/dist/web/components/table/UserDepartment/ViewCell.js +11 -0
  305. package/dist/web/components/table/UserDepartment/utils.js +80 -0
  306. package/dist/web/components/table/UserDepartment/viewCell.css +11 -0
  307. package/dist/web/components/table/baseTable.css +579 -0
  308. package/dist/web/components/table/hooks/useImportingStatus.js +69 -0
  309. package/dist/web/components/table/hooks/useInOutFieldsRecords.js +23 -0
  310. package/dist/web/components/table/index.css +336 -0
  311. package/dist/web/components/table/index.js +111 -0
  312. package/dist/web/components/tabs/index.css +19 -18
  313. package/dist/web/components/tabs/tabs.h5.js +8 -17
  314. package/dist/web/components/tabs/tabs.pc.js +1 -1
  315. package/dist/web/components/text/index.css +7 -9
  316. package/dist/web/components/text/index.js +2 -2
  317. package/dist/web/components/uploaderFileView/index.css +0 -3
  318. package/dist/web/components/uploaderFileView/index.js +6 -5
  319. package/dist/web/components/uploaderView/index.css +5 -8
  320. package/dist/web/components/wd-bubble/index.js +3 -0
  321. package/dist/web/components/wd-bubble/wd-bubble.js +17 -0
  322. package/dist/web/components/wd-button/convert-legacy-props.js +14 -0
  323. package/dist/web/components/wd-button/index.js +3 -0
  324. package/dist/web/components/wd-button/wd-button.js +89 -0
  325. package/dist/web/components/wd-config-provider/index.js +1 -0
  326. package/dist/web/components/wd-config-provider/wd-config-context.js +5 -0
  327. package/dist/web/components/wd-config-provider/wd-config-provider.js +12 -0
  328. package/dist/web/components/wd-divider/index.js +3 -0
  329. package/dist/web/components/wd-divider/wd-divider.js +29 -0
  330. package/dist/web/components/wd-icon/convert-legacy-props.js +14 -0
  331. package/dist/web/components/wd-icon/index.js +3 -0
  332. package/dist/web/components/wd-icon/wd-icon.js +63 -0
  333. package/dist/web/components/wd-image/image.js +171 -0
  334. package/dist/web/components/wd-image/index.js +82 -0
  335. package/dist/web/components/wd-link/index.js +3 -0
  336. package/dist/web/components/wd-link/wd-link.js +105 -0
  337. package/dist/web/components/wd-table/index.js +3 -0
  338. package/dist/web/components/wd-table/wd-table.js +24 -0
  339. package/dist/web/components/wd-text/convert-legacy-props.js +14 -0
  340. package/dist/web/components/wd-text/index.js +3 -0
  341. package/dist/web/components/wd-text/wd-text.js +91 -0
  342. package/dist/web/components/wedaVideo/index.css +2 -5
  343. package/dist/web/components/wedaVideo/index.js +9 -7
  344. package/dist/web/index.js +1 -0
  345. package/dist/web/utils/config-context/index.js +1 -0
  346. package/dist/web/utils/config-context/use-config.js +9 -0
  347. package/dist/web/utils/constant.js +95 -1
  348. package/dist/web/utils/datasource.js +369 -0
  349. package/dist/web/utils/date.js +137 -0
  350. package/dist/web/utils/file.js +190 -0
  351. package/dist/web/utils/getPageQuery.js +16 -0
  352. package/dist/web/utils/hooks/CreatePortal.js +6 -0
  353. package/dist/web/utils/hooks/EnumHoc.js +81 -0
  354. package/dist/web/utils/hooks/context.js +28 -0
  355. package/dist/web/utils/hooks/globalConnect.js +26 -0
  356. package/dist/web/utils/{use-cloud-id-temp-url.js → hooks/use-cloud-id-temp-url.js} +2 -2
  357. package/dist/web/utils/{useSetState.js → hooks/useSetState.js} +0 -0
  358. package/dist/web/utils/{useSyncValue.js → hooks/useSyncValue.js} +0 -0
  359. package/dist/web/utils/platform.js +137 -28
  360. package/dist/web/utils/pollingInterface.js +61 -0
  361. package/dist/web/utils/tcb.js +46 -8
  362. package/dist/web/utils/tool.js +109 -0
  363. package/dist/web/utils/widget-api/index.js +18 -0
  364. package/dist/web/weda-ui.css +128 -4
  365. package/package.json +59 -29
  366. package/dist/configs/components/button.json +0 -239
  367. package/dist/configs/components/chart/line.json +0 -881
  368. package/dist/configs/components/container.json +0 -64
  369. package/dist/configs/components/dataView.json +0 -290
  370. package/dist/configs/components/image.json +0 -190
  371. package/dist/configs/components/link.json +0 -82
  372. package/dist/configs/components/listView.json +0 -483
  373. package/dist/configs/components/modal.json +0 -73
  374. package/dist/configs/components/tabs.json +0 -122
  375. package/dist/configs/components/text.json +0 -112
  376. package/dist/configs/components/wxOpenApi/phone.json +0 -127
  377. package/dist/configs/components/wxOpenApi/phoneCode.json +0 -109
  378. package/dist/configs/components/wxOpenApi/share.json +0 -161
  379. package/dist/configs/components/wxOpenApi/userInfo.json +0 -168
  380. package/dist/configs/index.d.ts +0 -105
  381. package/dist/docs/common/format.d.ts +0 -13
  382. package/dist/docs/common/tableView.d.ts +0 -30
  383. package/dist/index.d.ts +0 -2
  384. package/dist/setupTests.d.ts +0 -2
  385. package/dist/web/actions/index.d.ts +0 -3
  386. package/dist/web/actions/showMessage/index.d.ts +0 -17
  387. package/dist/web/actions/showModal/index.d.ts +0 -4
  388. package/dist/web/actions/showToast/index.d.ts +0 -1
  389. package/dist/web/components/button/index.d.ts +0 -33
  390. package/dist/web/components/calendar/index.d.ts +0 -19
  391. package/dist/web/components/calendar/util.d.ts +0 -13
  392. package/dist/web/components/carousel/index.d.ts +0 -41
  393. package/dist/web/components/chart/bar/index.d.ts +0 -3
  394. package/dist/web/components/chart/bar/index.old.d.ts +0 -40
  395. package/dist/web/components/chart/common/Chart.d.ts +0 -9
  396. package/dist/web/components/chart/common/chart-custom-connector.d.ts +0 -6
  397. package/dist/web/components/chart/common/chart-error.d.ts +0 -2
  398. package/dist/web/components/chart/common/config/bar.d.ts +0 -48
  399. package/dist/web/components/chart/common/config/global.d.ts +0 -13
  400. package/dist/web/components/chart/common/config/line.d.ts +0 -46
  401. package/dist/web/components/chart/common/config/pie.d.ts +0 -29
  402. package/dist/web/components/chart/common/core/eChartBar.d.ts +0 -66
  403. package/dist/web/components/chart/common/core/eChartBase.d.ts +0 -127
  404. package/dist/web/components/chart/common/core/eChartLine.d.ts +0 -60
  405. package/dist/web/components/chart/common/core/eChartPie.d.ts +0 -48
  406. package/dist/web/components/chart/common/core/type.d.ts +0 -35
  407. package/dist/web/components/chart/common/data-transform.d.ts +0 -8
  408. package/dist/web/components/chart/common/echarts.d.ts +0 -5
  409. package/dist/web/components/chart/common/useChart.d.ts +0 -8
  410. package/dist/web/components/chart/line/index.d.ts +0 -3
  411. package/dist/web/components/chart/line/index.old.d.ts +0 -38
  412. package/dist/web/components/chart/pie/index.d.ts +0 -3
  413. package/dist/web/components/chart/pie/index.old.d.ts +0 -27
  414. package/dist/web/components/chart/statisticsCard/index.d.ts +0 -85
  415. package/dist/web/components/chart/statisticsCard/interface.d.ts +0 -13
  416. package/dist/web/components/common/error-boundary.d.ts +0 -5
  417. package/dist/web/components/common/portal.d.ts +0 -7
  418. package/dist/web/components/common/use-loop-render-detect.d.ts +0 -11
  419. package/dist/web/components/container/index.d.ts +0 -6
  420. package/dist/web/components/dataView/index.d.ts +0 -6
  421. package/dist/web/components/dataView/interface.d.ts +0 -5
  422. package/dist/web/components/drawer/index.d.ts +0 -13
  423. package/dist/web/components/form/checkbox/index.d.ts +0 -13
  424. package/dist/web/components/form/enumSelect/MultipleSelect.d.ts +0 -78
  425. package/dist/web/components/form/enumSelect/NormalSelect.d.ts +0 -83
  426. package/dist/web/components/form/enumSelect/SelectContainer.d.ts +0 -16
  427. package/dist/web/components/form/enumSelect/index.d.ts +0 -82
  428. package/dist/web/components/form/enumSelect/props/defaultProps.d.ts +0 -34
  429. package/dist/web/components/form/enumSelect/props/propsTypes.d.ts +0 -39
  430. package/dist/web/components/form/form/index.d.ts +0 -32
  431. package/dist/web/components/form/formcell/index.d.ts +0 -8
  432. package/dist/web/components/form/input/index.d.ts +0 -14
  433. package/dist/web/components/form/location/common/mapChoose.d.ts +0 -15
  434. package/dist/web/components/form/location/common/mapView.d.ts +0 -19
  435. package/dist/web/components/form/location/common/propsConfig.d.ts +0 -59
  436. package/dist/web/components/form/location/common/selectModal.d.ts +0 -21
  437. package/dist/web/components/form/location/common/useLocationInfo.d.ts +0 -36
  438. package/dist/web/components/form/location/components/LocationH5/location.h5.d.ts +0 -8
  439. package/dist/web/components/form/location/components/LocationPC/Header.d.ts +0 -12
  440. package/dist/web/components/form/location/components/LocationPC/location.PC.d.ts +0 -8
  441. package/dist/web/components/form/location/constants.d.ts +0 -2
  442. package/dist/web/components/form/location/index.d.ts +0 -1
  443. package/dist/web/components/form/radio/index.d.ts +0 -11
  444. package/dist/web/components/form/renderDecorator.d.ts +0 -6
  445. package/dist/web/components/form/select/allTimePicker/calendar.d.ts +0 -13
  446. package/dist/web/components/form/select/allTimePicker/dataUtils.d.ts +0 -24
  447. package/dist/web/components/form/select/allTimePicker/index.d.ts +0 -14
  448. package/dist/web/components/form/select/dropdown-select/ui.d.ts +0 -15
  449. package/dist/web/components/form/select/h5.d.ts +0 -16
  450. package/dist/web/components/form/select/index.d.ts +0 -66
  451. package/dist/web/components/form/select/region/index.d.ts +0 -6
  452. package/dist/web/components/form/select/time.d.ts +0 -9
  453. package/dist/web/components/form/select/use-options.d.ts +0 -26
  454. package/dist/web/components/form/select/use-options.js +0 -103
  455. package/dist/web/components/form/select/year.d.ts +0 -7
  456. package/dist/web/components/form/switch/index.d.ts +0 -6
  457. package/dist/web/components/form/textarea/index.d.ts +0 -12
  458. package/dist/web/components/form/tips/index.d.ts +0 -8
  459. package/dist/web/components/form/uploader/index.d.ts +0 -3
  460. package/dist/web/components/form/uploader/uploader.h5.d.ts +0 -20
  461. package/dist/web/components/form/uploader/uploader.pc.d.ts +0 -30
  462. package/dist/web/components/form/uploaderFile/index.d.ts +0 -4
  463. package/dist/web/components/form/uploaderFile/uploadFile.h5.d.ts +0 -23
  464. package/dist/web/components/form/uploaderFile/uploadFile.pc.d.ts +0 -35
  465. package/dist/web/components/form/userOrgSelect/comTool.d.ts +0 -8
  466. package/dist/web/components/form/userOrgSelect/comTool.js +0 -102
  467. package/dist/web/components/form/userOrgSelect/departTreeSelect/departTreeSelect.h5.d.ts +0 -19
  468. package/dist/web/components/form/userOrgSelect/departTreeSelect/departTreeSelect.pc.d.ts +0 -4
  469. package/dist/web/components/form/userOrgSelect/departTreeSelect/departTreeSelect.pc.js +0 -155
  470. package/dist/web/components/form/userOrgSelect/departTreeSelect/index.d.ts +0 -2
  471. package/dist/web/components/form/userOrgSelect/departTreeSelect/index.js +0 -17
  472. package/dist/web/components/form/userOrgSelect/getUserService.d.ts +0 -11
  473. package/dist/web/components/form/userOrgSelect/getUserService.js +0 -160
  474. package/dist/web/components/form/userOrgSelect/index.d.ts +0 -2
  475. package/dist/web/components/form/userOrgSelect/index.js +0 -17
  476. package/dist/web/components/form/userOrgSelect/userOrgSelect.css +0 -824
  477. package/dist/web/components/form/userOrgSelect/userTreeSelect.h5.d.ts +0 -27
  478. package/dist/web/components/form/userOrgSelect/userTreeSelect.h5.js +0 -278
  479. package/dist/web/components/form/userOrgSelect/userTreeSelect.pc.d.ts +0 -9
  480. package/dist/web/components/form/userOrgSelect/userTreeSelect.pc.js +0 -273
  481. package/dist/web/components/form/userOrgSelect/utils.d.ts +0 -37
  482. package/dist/web/components/form/userOrgSelect/utils.js +0 -95
  483. package/dist/web/components/formdetail/index.d.ts +0 -31
  484. package/dist/web/components/graphicCard/index.d.ts +0 -47
  485. package/dist/web/components/image/image.d.ts +0 -9
  486. package/dist/web/components/image/index.d.ts +0 -13
  487. package/dist/web/components/index.d.ts +0 -50
  488. package/dist/web/components/link/index.d.ts +0 -24
  489. package/dist/web/components/listView/index.d.ts +0 -7
  490. package/dist/web/components/listView/interface.d.ts +0 -127
  491. package/dist/web/components/lottery/index.d.ts +0 -22
  492. package/dist/web/components/lottery/lotteryUtil.d.ts +0 -23
  493. package/dist/web/components/modal/index.d.ts +0 -17
  494. package/dist/web/components/modal/modal.h5.d.ts +0 -4
  495. package/dist/web/components/modal/modal.pc.d.ts +0 -3
  496. package/dist/web/components/navLayout/index.d.ts +0 -65
  497. package/dist/web/components/navigationBar/common.d.ts +0 -15
  498. package/dist/web/components/navigationBar/h5Menu.d.ts +0 -14
  499. package/dist/web/components/navigationBar/horizontalMenu.d.ts +0 -12
  500. package/dist/web/components/navigationBar/index.d.ts +0 -13
  501. package/dist/web/components/navigationBar/verticalMenu.d.ts +0 -13
  502. package/dist/web/components/phone/index.d.ts +0 -18
  503. package/dist/web/components/phoneCode/index.d.ts +0 -18
  504. package/dist/web/components/picker/datePicker.d.ts +0 -10
  505. package/dist/web/components/picker/picker.d.ts +0 -6
  506. package/dist/web/components/picker/timePicker.d.ts +0 -7
  507. package/dist/web/components/richText/const.d.ts +0 -1
  508. package/dist/web/components/richText/index.d.ts +0 -50
  509. package/dist/web/components/richTextView/index.d.ts +0 -7
  510. package/dist/web/components/scrollView/index.d.ts +0 -25
  511. package/dist/web/components/share/index.d.ts +0 -34
  512. package/dist/web/components/slot/index.d.ts +0 -6
  513. package/dist/web/components/swiper/index.d.ts +0 -24
  514. package/dist/web/components/tabs/index.d.ts +0 -13
  515. package/dist/web/components/tabs/tabs.h5.d.ts +0 -4
  516. package/dist/web/components/tabs/tabs.pc.d.ts +0 -3
  517. package/dist/web/components/text/index.d.ts +0 -15
  518. package/dist/web/components/uploaderFileView/index.d.ts +0 -10
  519. package/dist/web/components/uploaderView/index.d.ts +0 -17
  520. package/dist/web/components/userInfo/index.d.ts +0 -26
  521. package/dist/web/components/wedaVideo/index.d.ts +0 -17
  522. package/dist/web/index.d.ts +0 -8
  523. package/dist/web/utils/classnames.d.ts +0 -2
  524. package/dist/web/utils/console.d.ts +0 -3
  525. package/dist/web/utils/constant.d.ts +0 -23
  526. package/dist/web/utils/debounce.d.ts +0 -2
  527. package/dist/web/utils/getLocalCounter.d.ts +0 -1
  528. package/dist/web/utils/isObjectEqual.d.ts +0 -2
  529. package/dist/web/utils/loading-fallback.d.ts +0 -2
  530. package/dist/web/utils/lodash.d.ts +0 -1
  531. package/dist/web/utils/platform.d.ts +0 -28
  532. package/dist/web/utils/tcb.d.ts +0 -33
  533. package/dist/web/utils/tmap.d.ts +0 -3
  534. package/dist/web/utils/use-cloud-id-temp-url.d.ts +0 -1
  535. package/dist/web/utils/useSetState.d.ts +0 -1
  536. package/dist/web/utils/useSyncValue.d.ts +0 -4
  537. package/dist/web/utils/weui.d.ts +0 -1
@@ -0,0 +1,629 @@
1
+ import React, { useMemo } from 'react';
2
+ import { useMediaQuery } from '@react-hookz/web';
3
+ import { Text, Modal, Table, Form } from 'tea-component';
4
+ import { formatTimeByType } from '../../utils/date';
5
+ import { safeJsonParse, isValueEmpty } from '../../utils/tool';
6
+ import Location, { locationProperties } from './Form/Location';
7
+ import { EnumView, formatEnum } from './Form/Enum';
8
+ import { ErrorBoundary } from 'react-error-boundary';
9
+ import UploaderView from '../uploaderView';
10
+ import RichTextView from '../richTextView';
11
+ import UploaderFileView from '../uploaderFileView';
12
+ import { ViewCell } from './UserDepartment/ViewCell';
13
+ import { QuoteModal } from './QuoteModal';
14
+ import { TABLE_SLOT_PREFIX } from '../../utils/constant';
15
+ const MODAL_SIZE = 'auto';
16
+ // 文字提示框包裹组件
17
+ const TextWrap = (props) => {
18
+ const { showTip, children, width, title: rawTitle } = props;
19
+ const title = rawTitle || children;
20
+ const rest = showTip
21
+ ? { title, overflow: true, style: { width } }
22
+ : { title };
23
+ return React.createElement(Text, { ...rest }, children);
24
+ };
25
+ /**
26
+ * 根据类型获取展示字段组件的 render 方法,用于表格/详情中的值转换
27
+ * extra: { modelType: 'list' | 'detail' | 'update' | 'create', showTip: boolean }
28
+ * 表格中的字符串/枚举数组,详情中的字符串数组会截断并showTip
29
+ */
30
+ export function getFieldRender(field = {}, extra = {}) {
31
+ var _a;
32
+ const { type, format, items, properties, title } = field;
33
+ const { modelType, showTip = true } = extra;
34
+ const width = getFieldWidth(field);
35
+ const textProps = { showTip, width };
36
+ // 枚举-旧,新版 TODO
37
+ if ((_a = field['x-enumObj']) === null || _a === void 0 ? void 0 : _a.length) {
38
+ const XEnumObj = (val) => {
39
+ if (!val)
40
+ return '-';
41
+ const item = field['x-enumObj'].find((item) => (item === null || item === void 0 ? void 0 : item.value) === val);
42
+ return React.createElement(TextWrap, { ...textProps }, (item === null || item === void 0 ? void 0 : item.label) || '-');
43
+ };
44
+ return XEnumObj;
45
+ }
46
+ // render 方法
47
+ const FieldRender = (val) => {
48
+ if (isValueEmpty(val) || (type === 'array' && !(val === null || val === void 0 ? void 0 : val.length))) {
49
+ return '-';
50
+ }
51
+ // fieldValue 值转换,如布尔/时间/枚举等
52
+ let fieldValue = val;
53
+ // 图片 render 方法
54
+ const xImageRender = (val) => (React.createElement("div", { className: `${modelType === 'table' ? 'table-data-item-value' : ''}` },
55
+ React.createElement(UploaderView, { isEmptyPlace: false, srcList: val, height: 60, width: 60, gutter: 6 })));
56
+ // 地理位置 Render方法
57
+ const xLocationRender = (val, modelType, isInArray = false) => {
58
+ var _a;
59
+ if (isInArray) {
60
+ const value = val === null || val === void 0 ? void 0 : val.reduce((prev, curr) => {
61
+ const { address, longitude, latitude } = formatLocationData(curr).meta;
62
+ prev.push({
63
+ address,
64
+ longitude,
65
+ latitude,
66
+ });
67
+ return prev;
68
+ }, []);
69
+ const locationField = {
70
+ ...field,
71
+ items: {
72
+ ...items,
73
+ properties: locationProperties,
74
+ },
75
+ };
76
+ return (React.createElement(ArrayComponent, { value: value, modelType: modelType, field: locationField, items: items }));
77
+ }
78
+ if (modelType === 'table') {
79
+ const content = (_a = formatLocationData(val)) === null || _a === void 0 ? void 0 : _a.flatContent;
80
+ return React.createElement(TextWrap, { ...textProps }, content);
81
+ }
82
+ else {
83
+ return React.createElement(Location, { readonly: true, value: val });
84
+ }
85
+ };
86
+ if (type === 'string') {
87
+ if (format === 'x-rtf') {
88
+ // 富文本
89
+ const showRichText = (val) => {
90
+ const modal = Modal.show({
91
+ className: 'e-rich-text-view-modal',
92
+ caption: '内容展示',
93
+ size: MODAL_SIZE,
94
+ onClose: () => modal.destroy(),
95
+ children: React.createElement(RichTextView, { value: val }),
96
+ });
97
+ };
98
+ fieldValue = JSON.stringify(val);
99
+ return modelType === 'detail' ? (React.createElement(RichTextView, { value: fieldValue })) : (React.createElement("a", { onClick: () => showRichText(fieldValue) }, "\u8BE6\u60C5"));
100
+ }
101
+ else if (format === 'x-image') {
102
+ // 图片
103
+ return xImageRender(fieldValue);
104
+ }
105
+ else if (format === 'x-file') {
106
+ // 文件
107
+ return (React.createElement(UploaderFileView, { value: fieldValue, single: (extra === null || extra === void 0 ? void 0 : extra.modelType) !== 'detail' }));
108
+ }
109
+ else if (isShowOrgsView(field, modelType)) {
110
+ return (React.createElement(ViewCell, { data: fieldValue, showType: modelType,
111
+ // type={field['x-parent']?.parentDataSourceName === 'sys_department' ? 'org' : 'user'}
112
+ relation: extra === null || extra === void 0 ? void 0 : extra.relation }));
113
+ }
114
+ else if (format === 'x-enum') {
115
+ // 枚举(新)
116
+ return (React.createElement(TextWrap, { ...textProps, title: val },
117
+ React.createElement(EnumView, { field: field, values: val })));
118
+ }
119
+ else if (format === 'url') {
120
+ // 网址
121
+ return (React.createElement("a", { target: "_blank", href: fieldValue, rel: "noreferrer" },
122
+ React.createElement(TextWrap, { ...textProps }, fieldValue)));
123
+ }
124
+ else {
125
+ return React.createElement(TextWrap, { ...textProps }, fieldValue);
126
+ }
127
+ }
128
+ else if (type === 'number') {
129
+ fieldValue = formatNumber(val, field);
130
+ return React.createElement(TextWrap, null, fieldValue);
131
+ }
132
+ else if (type === 'boolean') {
133
+ fieldValue = formatBoolean(val);
134
+ return React.createElement(TextWrap, null, fieldValue);
135
+ }
136
+ else if (type === 'object') {
137
+ const objectRender = ({ value, modelType, fields }) => {
138
+ if (typeof val === 'object') {
139
+ return (React.createElement(DataItemView, { value: value, modelType: modelType, fields: fields }));
140
+ }
141
+ return React.createElement(TextWrap, { ...textProps }, value);
142
+ };
143
+ fieldValue = safeJsonParse(val);
144
+ if ((field === null || field === void 0 ? void 0 : field.format) === 'x-location') {
145
+ return xLocationRender(fieldValue, modelType);
146
+ }
147
+ else if (modelType === 'detail') {
148
+ return objectRender({
149
+ value: fieldValue,
150
+ modelType: 'detail',
151
+ fields: properties,
152
+ });
153
+ }
154
+ else {
155
+ return (React.createElement(QuoteModal, { className: "e-object-view-modal", caption: title, size: "90%" }, objectRender({
156
+ value: val,
157
+ modelType: { modelType },
158
+ fields: properties,
159
+ })));
160
+ }
161
+ }
162
+ else if (type === 'array') {
163
+ if (field.name === '_departmentList' &&
164
+ ['table', 'detail'].includes(modelType)) {
165
+ return React.createElement(TextWrap, { ...textProps }, val || '-');
166
+ }
167
+ if (format === 'x-enum') {
168
+ // 枚举(新)
169
+ return (React.createElement(TextWrap, { ...textProps, title: val },
170
+ React.createElement(EnumView, { field: field, values: val })));
171
+ }
172
+ else if ((items === null || items === void 0 ? void 0 : items.format) === 'x-location') {
173
+ // 地理位置
174
+ return xLocationRender(fieldValue, modelType, true);
175
+ }
176
+ else if ((items === null || items === void 0 ? void 0 : items.format) === 'x-image') {
177
+ // 图片数组
178
+ return xImageRender(fieldValue);
179
+ }
180
+ else if ((items === null || items === void 0 ? void 0 : items.format) === 'x-file' && (extra === null || extra === void 0 ? void 0 : extra.modelType) === 'detail') {
181
+ // 文件数组,在详情页和表格页展示不同
182
+ return React.createElement(UploaderFileView, { value: fieldValue, single: false });
183
+ }
184
+ else {
185
+ fieldValue = safeJsonParse(val);
186
+ return (React.createElement(ArrayComponent, { value: fieldValue, field: field, modelType: modelType, items: items }));
187
+ }
188
+ }
189
+ return React.createElement("span", null, JSON.stringify(fieldValue));
190
+ };
191
+ return FieldRender;
192
+ }
193
+ /**
194
+ * object类型,展示表单组件
195
+ */
196
+ export const DataItemView = ({ fields, modelType, value }) => {
197
+ const isH5 = useMediaQuery('(max-width: 1024px)');
198
+ return (React.createElement(Form, { readonly: true, className: isH5 ? 'tea-form--vertical' : '' }, Object.entries(fields).map(([key, field]) => {
199
+ const fieldRender = getFieldRender(field, {
200
+ showTip: false,
201
+ modelType,
202
+ });
203
+ return (React.createElement(Form.Item, { label: field.title, key: key },
204
+ React.createElement(Form.Text, null, fieldRender(value === null || value === void 0 ? void 0 : value[(field === null || field === void 0 ? void 0 : field.name) || key]))));
205
+ })));
206
+ };
207
+ /**
208
+ * object,展示表格组件
209
+ */
210
+ export const DataTableView = ({ fields, value }) => {
211
+ const columns = useMemo(() => {
212
+ const rawFields = Object.entries(fields.properties).map(([name, field]) => Object.assign({}, field, { name }));
213
+ const rawFieldsSort = rawFields.sort((a, b) => a['x-index'] - b['x-index']);
214
+ const baseColumns = getColumns(rawFieldsSort);
215
+ return baseColumns;
216
+ }, [fields]);
217
+ return (React.createElement(Table, { bordered: "all", recordKey: "_id", records: [].concat(value), columns: columns }));
218
+ };
219
+ /**
220
+ * array类型,展示组件
221
+ */
222
+ const ArrayComponent = ({ items, modelType, value, field }) => {
223
+ const isH5 = useMediaQuery('(max-width: 1024px)');
224
+ // PC端 数组嵌套子对象时,显示为表格
225
+ if (items.type === 'object' && !isH5) {
226
+ if (modelType === 'detail') {
227
+ return React.createElement(DataTableView, { value: value, fields: field.items });
228
+ }
229
+ return (React.createElement(QuoteModal, { className: "e-array-view-modal", caption: field.title, size: MODAL_SIZE },
230
+ React.createElement(DataTableView, { value: value, fields: field.items })));
231
+ }
232
+ // H5端或不为嵌套对象时,循环渲染字段
233
+ return (React.createElement("div", null, Array.isArray(value) &&
234
+ (value === null || value === void 0 ? void 0 : value.map((item, index) => {
235
+ const itemRender = getFieldRender(items, { modelType });
236
+ return (React.createElement("div", { className: "field-array-item", key: index }, itemRender(item)));
237
+ }))));
238
+ };
239
+ /**
240
+ * 转换数字类型
241
+ */
242
+ export const formatNumber = (value, field) => {
243
+ let newValue = value;
244
+ try {
245
+ if (['date', 'time', 'datetime'].includes(field === null || field === void 0 ? void 0 : field.format) &&
246
+ typeof value === 'number') {
247
+ newValue = formatTimeByType(field === null || field === void 0 ? void 0 : field.format, value, field);
248
+ }
249
+ else {
250
+ newValue = formatNumberFix(value, field, true);
251
+ }
252
+ }
253
+ catch (e) { }
254
+ return newValue;
255
+ };
256
+ /**
257
+ * 转换布尔值类型
258
+ */
259
+ export const formatBoolean = (value) => {
260
+ let newValue = value;
261
+ try {
262
+ if (typeof value === 'boolean') {
263
+ newValue = value ? '是' : '否';
264
+ }
265
+ else {
266
+ newValue = value;
267
+ }
268
+ }
269
+ catch (e) { }
270
+ return newValue;
271
+ };
272
+ /**
273
+ * 地理位置格式服务端数据转换
274
+ * @param {*} location
275
+ * @returns
276
+ */
277
+ export const formatLocationData = (location) => {
278
+ const { address, geopoint } = location || {};
279
+ const [longitude, latitude] = (geopoint === null || geopoint === void 0 ? void 0 : geopoint.coordinates) || [];
280
+ const content = address ? `${address}(${latitude},${longitude})` : '-';
281
+ return {
282
+ meta: { address, longitude, latitude },
283
+ flatContent: content,
284
+ };
285
+ };
286
+ /**
287
+ * 数字类型-有小数点时补齐0
288
+ * 值不为数字时原值返回,补齐 0 时返回 string,否则返回 number
289
+ */
290
+ export const formatNumberFix = (val, field, setZero = false) => {
291
+ const num = parseFloat(`${val}`);
292
+ if (isNaN(num)) {
293
+ return val;
294
+ }
295
+ if (typeof (field === null || field === void 0 ? void 0 : field.numberCount) === 'number') {
296
+ const numFix = num.toFixed(field === null || field === void 0 ? void 0 : field.numberCount);
297
+ return setZero ? numFix : parseFloat(numFix);
298
+ }
299
+ return num;
300
+ };
301
+ /**
302
+ * 根据 fields 信息生成 column
303
+ * h5 和 pc 部分参数不同
304
+ */
305
+ export const getColumns = (fields, isH5) => fields.map((item) => formatFieldToColumn(item, isH5));
306
+ /**
307
+ * 根据 field 属性,生成 column 配置
308
+ * https://git.woa.com/QBase/lcap/common-application-specs/blob/master/types/platform/datasource.ts
309
+ */
310
+ export const formatFieldToColumn = (field, isH5) => {
311
+ const { name, title } = field;
312
+ // 计算列宽度,略大于计算宽度
313
+ const width = getFieldWidth(field) + 10;
314
+ // 处理渲染错误
315
+ const render = (record) => {
316
+ const extra = isH5
317
+ ? { modelType: 'table-h5', showTip: false, relation: record[`@${name}`] }
318
+ : { modelType: 'table', relation: record[`@${name}`] };
319
+ const value = getFieldValue(name, record);
320
+ const component = getFieldRender(field, extra)(value);
321
+ return (React.createElement(ErrorBoundary, { FallbackComponent: () => React.createElement("span", { className: "" }, "\u274C \u6570\u636E\u5F02\u5E38") }, component));
322
+ };
323
+ return { width, render, key: name, header: title, align: 'left', fixed: '' };
324
+ };
325
+ // 计算 field 占据的宽度
326
+ export const getFieldWidth = (field) => {
327
+ var _a;
328
+ const TypeFormatWidthMap = {
329
+ string: {
330
+ default: 150,
331
+ 'x-image': 100,
332
+ 'x-file': 150,
333
+ },
334
+ number: {
335
+ datetime: 200,
336
+ date: 150,
337
+ default: 150,
338
+ },
339
+ boolean: {
340
+ default: 100,
341
+ },
342
+ object: {
343
+ default: 60,
344
+ },
345
+ array: {
346
+ default: 120,
347
+ 'x-image': 230,
348
+ 'x-file': 150,
349
+ },
350
+ };
351
+ const { title = '', type = '', format = '', items } = field;
352
+ // 按名称列宽度
353
+ const nameWidth = title.length * 25;
354
+ // 按类型列宽度
355
+ const typeWidth = ((_a = TypeFormatWidthMap === null || TypeFormatWidthMap === void 0 ? void 0 : TypeFormatWidthMap[type]) === null || _a === void 0 ? void 0 : _a[format || (items === null || items === void 0 ? void 0 : items.format) || 'default']) || 0;
356
+ // 最终宽度
357
+ const width = typeWidth
358
+ ? Math.max(nameWidth, typeWidth)
359
+ : Math.max(nameWidth, 120);
360
+ return width;
361
+ };
362
+ /**
363
+ * https://tcloud-dev.oa.com/document/product/1505/58791?!preview&!document=1
364
+ * @param {[String]} processHold [占有: object, 存在, 被有一个流程拥有, 置灰]
365
+ * @param {[String]} lock [锁定: 没有那个字段 空字符串, 有值就锁定, 置灰]
366
+ */
367
+ export const isProcessHoldOrLocked = (processHold, lock) => {
368
+ let isProcessHold = false;
369
+ if (processHold && typeof processHold === 'object') {
370
+ const keys = Object.keys(processHold);
371
+ if (keys === null || keys === void 0 ? void 0 : keys.length) {
372
+ isProcessHold = true;
373
+ }
374
+ }
375
+ return isProcessHold || !!lock;
376
+ };
377
+ export const isShowOrgsView = (field, modelType) => {
378
+ var _a;
379
+ const { format } = field;
380
+ return (format === 'father-son' &&
381
+ !field['x-system'] &&
382
+ ['sys_department', 'sys_user'].includes((_a = field['x-parent']) === null || _a === void 0 ? void 0 : _a.parentDataSourceName) &&
383
+ ['table', 'detail', 'table-h5'].includes(modelType));
384
+ };
385
+ /**
386
+ * 导出数据格式转换
387
+ * 目前 number/boolean/x-enum/x-location 会被转换
388
+ */
389
+ export const formatDataToExport = (datas, fields, enumOptions = {}) => {
390
+ var _a, _b, _c, _d, _e, _f;
391
+ if (isValueEmpty(datas) || isValueEmpty(fields)) {
392
+ return datas;
393
+ }
394
+ // 数组
395
+ if (Array.isArray(datas)) {
396
+ return datas.map((item) => formatDataToExport(item, fields));
397
+ }
398
+ // 对象
399
+ if (typeof datas === 'object') {
400
+ const newDatas = {};
401
+ for (const field of fields) {
402
+ const key = field === null || field === void 0 ? void 0 : field.name;
403
+ const zhTitle = (field === null || field === void 0 ? void 0 : field.title) || key;
404
+ const data = datas[key];
405
+ if ((_a = field['x-enumObj']) === null || _a === void 0 ? void 0 : _a.length) {
406
+ // 枚举-旧
407
+ const item = field['x-enumObj'].find((item) => (item === null || item === void 0 ? void 0 : item.value) === data);
408
+ newDatas[zhTitle] = (item === null || item === void 0 ? void 0 : item.label) || (item === null || item === void 0 ? void 0 : item.value);
409
+ }
410
+ else {
411
+ switch (field === null || field === void 0 ? void 0 : field.type) {
412
+ case 'string':
413
+ newDatas[zhTitle] = data;
414
+ if ((field === null || field === void 0 ? void 0 : field.format) === 'x-enum') {
415
+ newDatas[zhTitle] = formatEnum(data, field, enumOptions);
416
+ }
417
+ break;
418
+ case 'number':
419
+ newDatas[zhTitle] = formatNumber(data, field);
420
+ break;
421
+ case 'boolean':
422
+ newDatas[zhTitle] = formatBoolean(data);
423
+ break;
424
+ case 'object':
425
+ if ((field === null || field === void 0 ? void 0 : field.format) === 'x-location') {
426
+ newDatas[zhTitle] = (_b = formatLocationData(data)) === null || _b === void 0 ? void 0 : _b.flatContent;
427
+ }
428
+ else {
429
+ newDatas[zhTitle] = formatDataToExport(data, Object.values((field === null || field === void 0 ? void 0 : field.properties) || {}));
430
+ }
431
+ break;
432
+ case 'array':
433
+ if (((_c = field === null || field === void 0 ? void 0 : field.items) === null || _c === void 0 ? void 0 : _c.type) === 'object') {
434
+ newDatas[zhTitle] = formatDataToExport([].concat(data), Object.values(((_d = field === null || field === void 0 ? void 0 : field.items) === null || _d === void 0 ? void 0 : _d.properties) || {}));
435
+ }
436
+ else if (((_e = field === null || field === void 0 ? void 0 : field.items) === null || _e === void 0 ? void 0 : _e.type) === 'number') {
437
+ newDatas[zhTitle] = []
438
+ .concat(data)
439
+ .map((d) => formatNumber(d, field === null || field === void 0 ? void 0 : field.items));
440
+ }
441
+ else if (((_f = field === null || field === void 0 ? void 0 : field.items) === null || _f === void 0 ? void 0 : _f.type) === 'boolean') {
442
+ newDatas[zhTitle] = [].concat(data).map((d) => formatBoolean(d));
443
+ }
444
+ else if ((field === null || field === void 0 ? void 0 : field.format) === 'x-enum') {
445
+ newDatas[zhTitle] = formatEnum(data, field, enumOptions);
446
+ }
447
+ else if (field.name === '_departmentList') {
448
+ newDatas[zhTitle] = getFieldValue('_departmentList', datas);
449
+ }
450
+ else {
451
+ newDatas[zhTitle] = data;
452
+ }
453
+ break;
454
+ default:
455
+ newDatas[zhTitle] = data;
456
+ }
457
+ }
458
+ }
459
+ return newDatas;
460
+ }
461
+ return datas;
462
+ };
463
+ /**
464
+ * 导出数据为xlsx库接受的格式
465
+ * [[title1, title2], [value1, value2], [value1, value2]]
466
+ */
467
+ export const formatDataToXlsx = (datas, fields, enumOptions = {}) => {
468
+ const getCellValue = (data, field) => {
469
+ const key = field === null || field === void 0 ? void 0 : field.name;
470
+ const value = data === null || data === void 0 ? void 0 : data[key];
471
+ if (value === undefined)
472
+ return value;
473
+ const dataProcessed = formatDataToExport(data, [{ ...field, title: key }], enumOptions);
474
+ let valueProcessed = dataProcessed[key];
475
+ if (field.type === 'object') {
476
+ // 对象字段,展示成 json 格式
477
+ valueProcessed = JSON.stringify(valueProcessed);
478
+ valueProcessed = valueProcessed === '{}' ? undefined : valueProcessed;
479
+ }
480
+ else if (field.type === 'array') {
481
+ // 数组字段,以;隔开,元素展示成 json 格式
482
+ valueProcessed = []
483
+ .concat(valueProcessed)
484
+ .map((d) => (typeof d === 'object' ? JSON.stringify(d) : d))
485
+ .join(';');
486
+ valueProcessed = valueProcessed === '' ? undefined : valueProcessed;
487
+ }
488
+ // 值数字格式转为字符串
489
+ if (typeof valueProcessed === 'number') {
490
+ valueProcessed = `${valueProcessed}`;
491
+ }
492
+ return valueProcessed;
493
+ };
494
+ if (isValueEmpty(datas) || isValueEmpty(fields))
495
+ return [[]];
496
+ const head = fields.map((field) => field === null || field === void 0 ? void 0 : field.title);
497
+ const rows = datas.map((data) => {
498
+ const row = fields.map((field) => getCellValue(data, field));
499
+ return row;
500
+ });
501
+ return [].concat([head], rows);
502
+ };
503
+ /**
504
+ * 生成搜索配置
505
+ * 1、过滤不支持搜索的字段,时间字段不支持
506
+ * 2、生成配置
507
+ * 3、枚举/数字需要特殊处理
508
+ */
509
+ export const getSearchAttributes = (fields) => fields
510
+ .filter((field) => {
511
+ // 不支持搜索的类型
512
+ if (field.type === 'array' || field.type === 'object')
513
+ return false;
514
+ if (['time', 'date', 'datetime'].includes(field.format))
515
+ return false;
516
+ if (field['x-parent'])
517
+ return false;
518
+ return true;
519
+ })
520
+ .map((field) => {
521
+ var _a;
522
+ const inputTypes = ['string', 'number'];
523
+ const config = {
524
+ fieldType: field.type,
525
+ format: field.format,
526
+ type: (inputTypes === null || inputTypes === void 0 ? void 0 : inputTypes.includes(field.type)) ? 'input' : 'single',
527
+ key: field.name,
528
+ name: field.title,
529
+ };
530
+ if (field.type === 'boolean') {
531
+ config.type = 'single';
532
+ config.values = [
533
+ { key: true, name: '是' },
534
+ { key: false, name: '否' },
535
+ ];
536
+ }
537
+ // 枚举-旧,新版TODO
538
+ if ((_a = field['x-enumObj']) === null || _a === void 0 ? void 0 : _a.length) {
539
+ config.values = field['x-enumObj'].map((enumItem) => ({
540
+ key: enumItem === null || enumItem === void 0 ? void 0 : enumItem.value,
541
+ name: enumItem === null || enumItem === void 0 ? void 0 : enumItem.label,
542
+ }));
543
+ config.type = 'single';
544
+ config.format = 'x-enum';
545
+ }
546
+ return config;
547
+ });
548
+ export const getFieldValue = (name, record) => {
549
+ var _a;
550
+ if (name === '_departmentList')
551
+ return (((_a = record === null || record === void 0 ? void 0 : record['##SHOW']) === null || _a === void 0 ? void 0 : _a._departmentList) || []).join(',');
552
+ return record[name];
553
+ };
554
+ export const slotRender = (slot, props = {}) => typeof slot === 'function' ? slot(props) : slot;
555
+ /**
556
+ * 根据列管理,过滤表格列信息
557
+ * columns: { key, header, width, align, render,fixed }[] Tea Table 的列
558
+ * columnSets: { key, header, width, align, genre,fixed }[] 模型表格列管理属性,过滤 key 为空
559
+ * slots: object 模型表格作用域插槽
560
+ * isH5: 判断自定义插槽列能否展示,目前是正常展示
561
+ */
562
+ export const filterCustomColumns = ({ columns, columnSets, slots }) => {
563
+ if (!Array.isArray(columnSets))
564
+ return columns;
565
+ const columnsMap = columns.reduce((acc, item) => {
566
+ acc[item.key] = item;
567
+ return acc;
568
+ }, {});
569
+ return columnSets
570
+ .filter((item1) => (item1 === null || item1 === void 0 ? void 0 : item1.key) && columnsMap[item1.key])
571
+ .map((item2) => {
572
+ const { key, header, genre, fixed } = item2;
573
+ // 拿到自定义列属性值
574
+ const customColumn = { ...columnsMap[key], key, header, fixed };
575
+ if (genre === 'slot') {
576
+ // 拿到列对应的插槽
577
+ const slot = slots[`${TABLE_SLOT_PREFIX}${key}`];
578
+ customColumn.render = (record, rowKey, recordIndex, column, columnIndex) => slotRender(slot, {
579
+ record,
580
+ rowKey,
581
+ recordIndex,
582
+ column,
583
+ columnIndex,
584
+ });
585
+ }
586
+ return customColumn;
587
+ });
588
+ };
589
+ /**
590
+ * 过滤字段列表
591
+ * 导出/搜索框,不展示自定义列
592
+ */
593
+ export const filterCustomFields = ({ fields, columnSets, isFilterGenre = false, }) => {
594
+ if (!Array.isArray(fields))
595
+ return [];
596
+ if (!Array.isArray(columnSets))
597
+ return fields;
598
+ const fieldsMap = Object.fromEntries(fields.map((item) => [item.name, item]));
599
+ return columnSets
600
+ .filter((item1) => (item1 === null || item1 === void 0 ? void 0 : item1.key) &&
601
+ fieldsMap[item1.key] &&
602
+ ((item1 === null || item1 === void 0 ? void 0 : item1.genre) !== 'slot' || isFilterGenre))
603
+ .map((item2) => ({ ...fieldsMap[item2.key], title: item2.header }));
604
+ };
605
+ /**
606
+ * 列管理加入冻结属性
607
+ */
608
+ export const getFixedColumnSets = ({ fixedFront = '', fixedEnd = '', columnSets, }) => {
609
+ if (!Array.isArray(columnSets))
610
+ return columnSets;
611
+ const fixedFrontIndex = columnSets.findIndex((item) => (item === null || item === void 0 ? void 0 : item.key) && item.key.length > 0 && item.key === fixedFront);
612
+ const fixedEndIndex = columnSets.findIndex((item) => (item === null || item === void 0 ? void 0 : item.key) && item.key.length > 0 && item.key === fixedEnd);
613
+ return Array.isArray(columnSets)
614
+ ? columnSets.map((item, index) => {
615
+ // 当冻结尾列在冻结前列之后时,冻结尾列属性才生效
616
+ if (fixedEndIndex >= 0 &&
617
+ fixedEndIndex > fixedFrontIndex &&
618
+ index >= fixedEndIndex) {
619
+ return { ...item, fixed: 'right' };
620
+ }
621
+ else if (fixedFrontIndex >= 0 && index <= fixedFrontIndex) {
622
+ return { ...item, fixed: 'left' };
623
+ }
624
+ else {
625
+ return { ...item, fixed: '' };
626
+ }
627
+ })
628
+ : [];
629
+ };