@lingxiteam/ebe-utils 0.5.6 → 0.5.8

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 (372) hide show
  1. package/lib/pcpublic/src/components/pcfactory/src/DynamicTabs/TabPage.tsx +5 -1
  2. package/lib/pcpublic/src/components/pcfactory/src/StdUpload/assets/closeIcon.png +0 -0
  3. package/lib/pcpublic/src/components/pcfactory/src/StdUpload/assets/fileName.png +0 -0
  4. package/lib/pcpublic/src/components/pcfactory/src/StdUpload/assets/img.png +0 -0
  5. package/lib/pcpublic/src/components/pcfactory/src/Table/hooks/useFormatCell.ts +279 -0
  6. package/lib/pcpublic/src/components/pcfactory/src/utils/Empty/customLocale.tsx +6 -0
  7. package/lib/public/src/components/ExpBusiObjModal/index.less +28 -0
  8. package/lib/public/src/components/ExpBusiObjModal/index.tsx +315 -0
  9. package/lib/public/src/components/PreviewFile/index.less +200 -0
  10. package/lib/public/src/components/PreviewFile/index.tsx +787 -0
  11. package/lib/public/src/components/PreviewFile/utils.ts +90 -0
  12. package/lib/public/src/components/common/PreviewFile/index.less +200 -0
  13. package/lib/public/src/components/common/PreviewFile/index.tsx +787 -0
  14. package/lib/public/src/components/common/PreviewFile/utils.ts +90 -0
  15. package/lib/public/src/components/pcfactory/src/Alert/index.tsx +22 -0
  16. package/lib/public/src/components/pcfactory/src/Animation/index.tsx +186 -0
  17. package/lib/public/src/components/pcfactory/src/Animation/useAnimation.ts +270 -0
  18. package/lib/public/src/components/pcfactory/src/Animation/useBackgroundStyle.ts +74 -0
  19. package/lib/public/src/components/pcfactory/src/Audio/index.tsx +240 -0
  20. package/lib/public/src/components/pcfactory/src/BarChart/index.tsx +3 -0
  21. package/lib/public/src/components/pcfactory/src/Button/index.tsx +151 -0
  22. package/lib/public/src/components/pcfactory/src/Card/index.tsx +201 -0
  23. package/lib/public/src/components/pcfactory/src/Card/useExtendBtn.tsx +195 -0
  24. package/lib/public/src/components/pcfactory/src/Cascader/index.tsx +398 -0
  25. package/lib/public/src/components/pcfactory/src/ChartBar/index.tsx +15 -0
  26. package/lib/public/src/components/pcfactory/src/ChartBar/loader.tsx +12 -0
  27. package/lib/public/src/components/pcfactory/src/ChartLine/ChartLine.tsx +48 -0
  28. package/lib/public/src/components/pcfactory/src/ChartLine/PropsType.ts +88 -0
  29. package/lib/public/src/components/pcfactory/src/ChartLine/index.tsx +15 -0
  30. package/lib/public/src/components/pcfactory/src/ChartLine/loader.tsx +12 -0
  31. package/lib/public/src/components/pcfactory/src/Checkbox/index.tsx +144 -0
  32. package/lib/public/src/components/pcfactory/src/CheckboxGroup/index.tsx +319 -0
  33. package/lib/public/src/components/pcfactory/src/Collapse/index.tsx +195 -0
  34. package/lib/public/src/components/pcfactory/src/CollapsePanel/index.tsx +186 -0
  35. package/lib/public/src/components/pcfactory/src/Condition/index.tsx +22 -0
  36. package/lib/public/src/components/pcfactory/src/DatePicker/index.tsx +756 -0
  37. package/lib/public/src/components/pcfactory/src/Description/index.tsx +447 -0
  38. package/lib/public/src/components/pcfactory/src/Description/utils/getLabelSizeMode.ts +40 -0
  39. package/lib/public/src/components/pcfactory/src/Divider/components/CenterLineDivider/index.tsx +190 -0
  40. package/lib/public/src/components/pcfactory/src/Divider/components/CenterTabDivider/index.tsx +77 -0
  41. package/lib/public/src/components/pcfactory/src/Divider/components/LeftCardDivider/index.tsx +87 -0
  42. package/lib/public/src/components/pcfactory/src/Divider/components/LeftLineDivider/index.tsx +106 -0
  43. package/lib/public/src/components/pcfactory/src/Divider/components/LeftTabDivider/index.tsx +60 -0
  44. package/lib/public/src/components/pcfactory/src/Divider/components/LeftTopDivider/index.tsx +55 -0
  45. package/lib/public/src/components/pcfactory/src/Divider/components/LxDashed/index.module.less +10 -0
  46. package/lib/public/src/components/pcfactory/src/Divider/components/LxDashed/index.tsx +143 -0
  47. package/lib/public/src/components/pcfactory/src/Divider/components/LxSolid/index.module.less +10 -0
  48. package/lib/public/src/components/pcfactory/src/Divider/components/LxSolid/index.tsx +126 -0
  49. package/lib/public/src/components/pcfactory/src/Divider/index.tsx +210 -0
  50. package/lib/public/src/components/pcfactory/src/Dropdown/index.tsx +385 -0
  51. package/lib/public/src/components/pcfactory/src/DynamicTabs/PropsType.ts +31 -0
  52. package/lib/public/src/components/pcfactory/src/DynamicTabs/TabPage.tsx +63 -0
  53. package/lib/public/src/components/pcfactory/src/DynamicTabs/index.tsx +214 -0
  54. package/lib/public/src/components/pcfactory/src/Form/Form.tsx +600 -0
  55. package/lib/public/src/components/pcfactory/src/Form/WrapperForm.ts +14 -0
  56. package/lib/public/src/components/pcfactory/src/Form/index.tsx +15 -0
  57. package/lib/public/src/components/pcfactory/src/Form/useFormStatus.ts +47 -0
  58. package/lib/public/src/components/pcfactory/src/Form/useMonitor.ts +40 -0
  59. package/lib/public/src/components/pcfactory/src/FormGroup/TitleComp.tsx +107 -0
  60. package/lib/public/src/components/pcfactory/src/FormGroup/index.tsx +181 -0
  61. package/lib/public/src/components/pcfactory/src/FreeLayout/index.tsx +151 -0
  62. package/lib/public/src/components/pcfactory/src/Gantt/Gantt.tsx +460 -0
  63. package/lib/public/src/components/pcfactory/src/Gantt/const.ts +122 -0
  64. package/lib/public/src/components/pcfactory/src/Gantt/index.tsx +16 -0
  65. package/lib/public/src/components/pcfactory/src/Gantt/loader.tsx +12 -0
  66. package/lib/public/src/components/pcfactory/src/GridView/GridView.tsx +435 -0
  67. package/lib/public/src/components/pcfactory/src/GridView/index.tsx +24 -0
  68. package/lib/public/src/components/pcfactory/src/GridView/loader.tsx +12 -0
  69. package/lib/public/src/components/pcfactory/src/HorizontalView/index.tsx +32 -0
  70. package/lib/public/src/components/pcfactory/src/Icon/IconED/index.tsx +42 -0
  71. package/lib/public/src/components/pcfactory/src/Icon/PropsType.ts +57 -0
  72. package/lib/public/src/components/pcfactory/src/Icon/hooks/index.tsx +300 -0
  73. package/lib/public/src/components/pcfactory/src/Icon/index.tsx +69 -0
  74. package/lib/public/src/components/pcfactory/src/IconFont/index.tsx +24 -0
  75. package/lib/public/src/components/pcfactory/src/Img/BasicImage/index.tsx +90 -0
  76. package/lib/public/src/components/pcfactory/src/Img/assets/placeholder.png +0 -0
  77. package/lib/public/src/components/pcfactory/src/Img/index.tsx +91 -0
  78. package/lib/public/src/components/pcfactory/src/Input/index.tsx +425 -0
  79. package/lib/public/src/components/pcfactory/src/InputNumber/index.tsx +263 -0
  80. package/lib/public/src/components/pcfactory/src/LXPieChart/LXPieChart.tsx +23 -0
  81. package/lib/public/src/components/pcfactory/src/LXPieChart/PropsType.ts +11 -0
  82. package/lib/public/src/components/pcfactory/src/LXPieChart/index.less +6 -0
  83. package/lib/public/src/components/pcfactory/src/LXPieChart/index.tsx +15 -0
  84. package/lib/public/src/components/pcfactory/src/LXPieChart/loader.tsx +12 -0
  85. package/lib/public/src/components/pcfactory/src/LXRadarChart/LXRadarChat.tsx +25 -0
  86. package/lib/public/src/components/pcfactory/src/LXRadarChart/PropsType.ts +9 -0
  87. package/lib/public/src/components/pcfactory/src/LXRadarChart/index.less +7 -0
  88. package/lib/public/src/components/pcfactory/src/LXRadarChart/index.tsx +17 -0
  89. package/lib/public/src/components/pcfactory/src/LXRadarChart/loader.tsx +12 -0
  90. package/lib/public/src/components/pcfactory/src/Layout/index.tsx +130 -0
  91. package/lib/public/src/components/pcfactory/src/Layout/utils.ts +48 -0
  92. package/lib/public/src/components/pcfactory/src/LineChart/index.tsx +3 -0
  93. package/lib/public/src/components/pcfactory/src/Link/index.tsx +117 -0
  94. package/lib/public/src/components/pcfactory/src/LoopList/index.tsx +551 -0
  95. package/lib/public/src/components/pcfactory/src/Menu/index.tsx +422 -0
  96. package/lib/public/src/components/pcfactory/src/ModalSelect/BaseModalSelect.tsx +95 -0
  97. package/lib/public/src/components/pcfactory/src/ModalSelect/index.tsx +453 -0
  98. package/lib/public/src/components/pcfactory/src/MultipleSelect/index.tsx +3 -0
  99. package/lib/public/src/components/pcfactory/src/Pagination/index.tsx +104 -0
  100. package/lib/public/src/components/pcfactory/src/Password/index.tsx +88 -0
  101. package/lib/public/src/components/pcfactory/src/PictureVerifyCode/assets/placeholder.png +0 -0
  102. package/lib/public/src/components/pcfactory/src/PictureVerifyCode/index.tsx +76 -0
  103. package/lib/public/src/components/pcfactory/src/PieChart/index.tsx +3 -0
  104. package/lib/public/src/components/pcfactory/src/Progress/index.tsx +155 -0
  105. package/lib/public/src/components/pcfactory/src/QRCode/const.ts +5 -0
  106. package/lib/public/src/components/pcfactory/src/QRCode/index.tsx +146 -0
  107. package/lib/public/src/components/pcfactory/src/QuillEditor/QuillEditor.tsx +197 -0
  108. package/lib/public/src/components/pcfactory/src/QuillEditor/index.tsx +37 -0
  109. package/lib/public/src/components/pcfactory/src/QuillEditor/loader.ts +12 -0
  110. package/lib/public/src/components/pcfactory/src/RadarChart/RadarChartHook.ts +449 -0
  111. package/lib/public/src/components/pcfactory/src/RadarChart/RadarChartType.ts +39 -0
  112. package/lib/public/src/components/pcfactory/src/RadarChart/RadarECharts.tsx +86 -0
  113. package/lib/public/src/components/pcfactory/src/RadarChart/index.tsx +16 -0
  114. package/lib/public/src/components/pcfactory/src/RadarChart/loader.tsx +12 -0
  115. package/lib/public/src/components/pcfactory/src/RadarChart/radarDefaultConfig.js +55 -0
  116. package/lib/public/src/components/pcfactory/src/Radio/index.tsx +260 -0
  117. package/lib/public/src/components/pcfactory/src/RangePicker/index.tsx +3 -0
  118. package/lib/public/src/components/pcfactory/src/Rate/index.tsx +187 -0
  119. package/lib/public/src/components/pcfactory/src/ReactECharts/PropsType.ts +37 -0
  120. package/lib/public/src/components/pcfactory/src/ReactECharts/ReactECharts.tsx +672 -0
  121. package/lib/public/src/components/pcfactory/src/ReactECharts/index.tsx +26 -0
  122. package/lib/public/src/components/pcfactory/src/ReactECharts/loader.tsx +12 -0
  123. package/lib/public/src/components/pcfactory/src/RemoteComponent/components/FishRender.tsx +31 -0
  124. package/lib/public/src/components/pcfactory/src/RemoteComponent/components/ReactRender.tsx +55 -0
  125. package/lib/public/src/components/pcfactory/src/RemoteComponent/components/VueRender.tsx +32 -0
  126. package/lib/public/src/components/pcfactory/src/RemoteComponent/constant.ts +9 -0
  127. package/lib/public/src/components/pcfactory/src/RemoteComponent/index.tsx +82 -0
  128. package/lib/public/src/components/pcfactory/src/RemoteComponent/remote-component.config.ts +12 -0
  129. package/lib/public/src/components/pcfactory/src/Result/index.tsx +27 -0
  130. package/lib/public/src/components/pcfactory/src/RichTextEditor/LcdpUeditorMain.tsx +105 -0
  131. package/lib/public/src/components/pcfactory/src/RichTextEditor/RichTextEditor.tsx +234 -0
  132. package/lib/public/src/components/pcfactory/src/RichTextEditor/RichTextEditorMain.tsx +41 -0
  133. package/lib/public/src/components/pcfactory/src/RichTextEditor/index.tsx +33 -0
  134. package/lib/public/src/components/pcfactory/src/RichTextEditor/loader.ts +12 -0
  135. package/lib/public/src/components/pcfactory/src/Row/Row.tsx +66 -0
  136. package/lib/public/src/components/pcfactory/src/Row/index.tsx +9 -0
  137. package/lib/public/src/components/pcfactory/src/Row/loader.tsx +12 -0
  138. package/lib/public/src/components/pcfactory/src/Select/index.tsx +628 -0
  139. package/lib/public/src/components/pcfactory/src/Select/selectUtils.ts +257 -0
  140. package/lib/public/src/components/pcfactory/src/Slider/index.tsx +351 -0
  141. package/lib/public/src/components/pcfactory/src/StdUpload/DownloadProgress/DownloadProgress.tsx +27 -0
  142. package/lib/public/src/components/pcfactory/src/StdUpload/DownloadProgress/index.ts +3 -0
  143. package/lib/public/src/components/pcfactory/src/StdUpload/UploadItem.tsx +257 -0
  144. package/lib/public/src/components/pcfactory/src/StdUpload/assets/default.png +0 -0
  145. package/lib/public/src/components/pcfactory/src/StdUpload/assets/js.png +0 -0
  146. package/lib/public/src/components/pcfactory/src/StdUpload/assets/pdf.png +0 -0
  147. package/lib/public/src/components/pcfactory/src/StdUpload/assets/ppt.png +0 -0
  148. package/lib/public/src/components/pcfactory/src/StdUpload/assets/txt.png +0 -0
  149. package/lib/public/src/components/pcfactory/src/StdUpload/assets/word.png +0 -0
  150. package/lib/public/src/components/pcfactory/src/StdUpload/assets/xls.png +0 -0
  151. package/lib/public/src/components/pcfactory/src/StdUpload/assets/zip.png +0 -0
  152. package/lib/public/src/components/pcfactory/src/StdUpload/index.tsx +1050 -0
  153. package/lib/public/src/components/pcfactory/src/StdUpload/uploadItem.less +64 -0
  154. package/lib/public/src/components/pcfactory/src/Steps/constant/checkcircle.tsx +29 -0
  155. package/lib/public/src/components/pcfactory/src/Steps/constant/index.ts +2 -0
  156. package/lib/public/src/components/pcfactory/src/Steps/constant/vector.tsx +13 -0
  157. package/lib/public/src/components/pcfactory/src/Steps/index.tsx +343 -0
  158. package/lib/public/src/components/pcfactory/src/SuperSelect/ComSelect.tsx +538 -0
  159. package/lib/public/src/components/pcfactory/src/SuperSelect/index.tsx +127 -0
  160. package/lib/public/src/components/pcfactory/src/SuperSelect/loader.tsx +12 -0
  161. package/lib/public/src/components/pcfactory/src/Swiper/index.tsx +184 -0
  162. package/lib/public/src/components/pcfactory/src/Switch/index.tsx +219 -0
  163. package/lib/public/src/components/pcfactory/src/TabPane/index.tsx +145 -0
  164. package/lib/public/src/components/pcfactory/src/Table/BodyCell/index.tsx +278 -0
  165. package/lib/public/src/components/pcfactory/src/Table/EditComponent/index.tsx +554 -0
  166. package/lib/public/src/components/pcfactory/src/Table/FormatCell/GhostTag/index.tsx +34 -0
  167. package/lib/public/src/components/pcfactory/src/Table/FormatCell/Hyperlink/index.tsx +26 -0
  168. package/lib/public/src/components/pcfactory/src/Table/FormatCell/PointTag/index.tsx +41 -0
  169. package/lib/public/src/components/pcfactory/src/Table/FormatCell/PureColourFill/index.tsx +32 -0
  170. package/lib/public/src/components/pcfactory/src/Table/FormatCell/PureFadeColourTag/index.tsx +34 -0
  171. package/lib/public/src/components/pcfactory/src/Table/FormatCell/index.tsx +227 -0
  172. package/lib/public/src/components/pcfactory/src/Table/HeaderCell/HeaderCellTitle/index.tsx +63 -0
  173. package/lib/public/src/components/pcfactory/src/Table/HeaderCell/index.tsx +32 -0
  174. package/lib/public/src/components/pcfactory/src/Table/TableHead/index.tsx +501 -0
  175. package/lib/public/src/components/pcfactory/src/Table/TableSummaryRow/index.tsx +46 -0
  176. package/lib/public/src/components/pcfactory/src/Table/constant.ts +73 -0
  177. package/lib/public/src/components/pcfactory/src/Table/hooks/index.ts +32 -0
  178. package/lib/public/src/components/pcfactory/src/Table/hooks/useCMDActions.ts +325 -0
  179. package/lib/public/src/components/pcfactory/src/Table/hooks/useCheckStrict.ts +176 -0
  180. package/lib/public/src/components/pcfactory/src/Table/hooks/useColumns.tsx +1851 -0
  181. package/lib/public/src/components/pcfactory/src/Table/hooks/useCommon.ts +39 -0
  182. package/lib/public/src/components/pcfactory/src/Table/hooks/useDataSource.ts +201 -0
  183. package/lib/public/src/components/pcfactory/src/Table/hooks/useExpandable.tsx +324 -0
  184. package/lib/public/src/components/pcfactory/src/Table/hooks/useFilter.tsx +274 -0
  185. package/lib/public/src/components/pcfactory/src/Table/hooks/useFormatCell.ts +309 -0
  186. package/lib/public/src/components/pcfactory/src/Table/hooks/usePagination.ts +104 -0
  187. package/lib/public/src/components/pcfactory/src/Table/hooks/useRowEdit.ts +302 -0
  188. package/lib/public/src/components/pcfactory/src/Table/hooks/useRowMerge.ts +93 -0
  189. package/lib/public/src/components/pcfactory/src/Table/hooks/useScroll.ts +120 -0
  190. package/lib/public/src/components/pcfactory/src/Table/hooks/useSelection.ts +467 -0
  191. package/lib/public/src/components/pcfactory/src/Table/hooks/useSort.ts +39 -0
  192. package/lib/public/src/components/pcfactory/src/Table/hooks/useSummaryCol.ts +191 -0
  193. package/lib/public/src/components/pcfactory/src/Table/index.tsx +525 -0
  194. package/lib/public/src/components/pcfactory/src/Table/utils/SequenceId.ts +104 -0
  195. package/lib/public/src/components/pcfactory/src/Table/utils/index.ts +442 -0
  196. package/lib/public/src/components/pcfactory/src/Tabs/index.tsx +209 -0
  197. package/lib/public/src/components/pcfactory/src/Tag/index.tsx +39 -0
  198. package/lib/public/src/components/pcfactory/src/Text/index.tsx +191 -0
  199. package/lib/public/src/components/pcfactory/src/TextArea/ForIETextArea.tsx +96 -0
  200. package/lib/public/src/components/pcfactory/src/TextArea/index.tsx +255 -0
  201. package/lib/public/src/components/pcfactory/src/TimePicker/index.tsx +3 -0
  202. package/lib/public/src/components/pcfactory/src/TlrView/index.tsx +3 -0
  203. package/lib/public/src/components/pcfactory/src/TooltipView/PropsType.ts +22 -0
  204. package/lib/public/src/components/pcfactory/src/TooltipView/TooltipViewED/index.tsx +10 -0
  205. package/lib/public/src/components/pcfactory/src/TooltipView/hooks/index.tsx +90 -0
  206. package/lib/public/src/components/pcfactory/src/TooltipView/index.tsx +13 -0
  207. package/lib/public/src/components/pcfactory/src/Transfer/index.tsx +753 -0
  208. package/lib/public/src/components/pcfactory/src/Tree/TreeNodeMenu/index.tsx +102 -0
  209. package/lib/public/src/components/pcfactory/src/Tree/index.tsx +1303 -0
  210. package/lib/public/src/components/pcfactory/src/TreeSelect/index.tsx +639 -0
  211. package/lib/public/src/components/pcfactory/src/TreeTable/hooks/index.ts +4 -0
  212. package/lib/public/src/components/pcfactory/src/TreeTable/hooks/useCMDAction.ts +82 -0
  213. package/lib/public/src/components/pcfactory/src/TreeTable/hooks/useExpandable.tsx +61 -0
  214. package/lib/public/src/components/pcfactory/src/TreeTable/index.tsx +273 -0
  215. package/lib/public/src/components/pcfactory/src/Upload/Upload.tsx +740 -0
  216. package/lib/public/src/components/pcfactory/src/Upload/index.tsx +29 -0
  217. package/lib/public/src/components/pcfactory/src/Upload/loader.tsx +13 -0
  218. package/lib/public/src/components/pcfactory/src/VerificationCode/assets/placeholder.png +0 -0
  219. package/lib/public/src/components/pcfactory/src/VerificationCode/index.tsx +297 -0
  220. package/lib/public/src/components/pcfactory/src/VerticalView/index.tsx +25 -0
  221. package/lib/public/src/components/pcfactory/src/VideoPlayer/index.tsx +159 -0
  222. package/lib/public/src/components/pcfactory/src/View/index.tsx +150 -0
  223. package/lib/public/src/components/pcfactory/src/View/useBackgroundStyle.ts +75 -0
  224. package/lib/public/src/components/pcfactory/src/VirtualGroup/index.tsx +16 -0
  225. package/lib/public/src/components/pcfactory/src/Webview/index.tsx +104 -0
  226. package/lib/public/src/components/pcfactory/src/index.component.ts +253 -0
  227. package/lib/public/src/components/pcfactory/src/styles/common.less +107 -0
  228. package/lib/public/src/components/pcfactory/src/styles/compatible.less +976 -0
  229. package/lib/public/src/components/pcfactory/src/styles/components/Alert.less +25 -0
  230. package/lib/public/src/components/pcfactory/src/styles/components/Audio.less +198 -0
  231. package/lib/public/src/components/pcfactory/src/styles/components/Button.less +32 -0
  232. package/lib/public/src/components/pcfactory/src/styles/components/Card.less +155 -0
  233. package/lib/public/src/components/pcfactory/src/styles/components/Cascader.less +54 -0
  234. package/lib/public/src/components/pcfactory/src/styles/components/Checkbox.less +7 -0
  235. package/lib/public/src/components/pcfactory/src/styles/components/Collapse.less +214 -0
  236. package/lib/public/src/components/pcfactory/src/styles/components/DatePicker.less +22 -0
  237. package/lib/public/src/components/pcfactory/src/styles/components/Description.less +64 -0
  238. package/lib/public/src/components/pcfactory/src/styles/components/Divider.less +530 -0
  239. package/lib/public/src/components/pcfactory/src/styles/components/Drawer.less +54 -0
  240. package/lib/public/src/components/pcfactory/src/styles/components/Dropdown.less +11 -0
  241. package/lib/public/src/components/pcfactory/src/styles/components/DynamicDataContainer.less +16 -0
  242. package/lib/public/src/components/pcfactory/src/styles/components/DynamicTabs.less +254 -0
  243. package/lib/public/src/components/pcfactory/src/styles/components/Form.less +265 -0
  244. package/lib/public/src/components/pcfactory/src/styles/components/FormGroup.less +111 -0
  245. package/lib/public/src/components/pcfactory/src/styles/components/Gantt.less +139 -0
  246. package/lib/public/src/components/pcfactory/src/styles/components/GridView.less +62 -0
  247. package/lib/public/src/components/pcfactory/src/styles/components/Icon.less +20 -0
  248. package/lib/public/src/components/pcfactory/src/styles/components/Input.less +164 -0
  249. package/lib/public/src/components/pcfactory/src/styles/components/InputNumber.less +124 -0
  250. package/lib/public/src/components/pcfactory/src/styles/components/InputPassword.less +3 -0
  251. package/lib/public/src/components/pcfactory/src/styles/components/Link.less +4 -0
  252. package/lib/public/src/components/pcfactory/src/styles/components/LoopList.less +67 -0
  253. package/lib/public/src/components/pcfactory/src/styles/components/Menu.less +54 -0
  254. package/lib/public/src/components/pcfactory/src/styles/components/ModalSelect.less +42 -0
  255. package/lib/public/src/components/pcfactory/src/styles/components/Popconfirm.less +7 -0
  256. package/lib/public/src/components/pcfactory/src/styles/components/Progress.less +57 -0
  257. package/lib/public/src/components/pcfactory/src/styles/components/QuillEditor.less +15 -0
  258. package/lib/public/src/components/pcfactory/src/styles/components/Radio.less +7 -0
  259. package/lib/public/src/components/pcfactory/src/styles/components/Rate.less +16 -0
  260. package/lib/public/src/components/pcfactory/src/styles/components/Result.less +26 -0
  261. package/lib/public/src/components/pcfactory/src/styles/components/Select.less +146 -0
  262. package/lib/public/src/components/pcfactory/src/styles/components/Slider.less +78 -0
  263. package/lib/public/src/components/pcfactory/src/styles/components/StdUpload.less +225 -0
  264. package/lib/public/src/components/pcfactory/src/styles/components/Step.less +91 -0
  265. package/lib/public/src/components/pcfactory/src/styles/components/SuperSelect.less +83 -0
  266. package/lib/public/src/components/pcfactory/src/styles/components/Swiper.less +106 -0
  267. package/lib/public/src/components/pcfactory/src/styles/components/Switch.less +49 -0
  268. package/lib/public/src/components/pcfactory/src/styles/components/Table.less +1229 -0
  269. package/lib/public/src/components/pcfactory/src/styles/components/Tabs.less +291 -0
  270. package/lib/public/src/components/pcfactory/src/styles/components/Tag.less +107 -0
  271. package/lib/public/src/components/pcfactory/src/styles/components/TextArea.less +12 -0
  272. package/lib/public/src/components/pcfactory/src/styles/components/TooltipView.less +43 -0
  273. package/lib/public/src/components/pcfactory/src/styles/components/Transfer.less +155 -0
  274. package/lib/public/src/components/pcfactory/src/styles/components/Tree.less +329 -0
  275. package/lib/public/src/components/pcfactory/src/styles/components/TreeSelect.less +65 -0
  276. package/lib/public/src/components/pcfactory/src/styles/components/Upload.less +26 -0
  277. package/lib/public/src/components/pcfactory/src/styles/components/VerificationCode.less +162 -0
  278. package/lib/public/src/components/pcfactory/src/styles/components/Webview.less +31 -0
  279. package/lib/public/src/components/pcfactory/src/styles/index.less +10 -0
  280. package/lib/public/src/components/pcfactory/src/styles/index.ued.less +65 -0
  281. package/lib/public/src/components/pcfactory/src/styles/theme/variables/antdVariables.less +84 -0
  282. package/lib/public/src/components/pcfactory/src/styles/theme/variables/common.less +9 -0
  283. package/lib/public/src/components/pcfactory/src/styles/theme/variables/customVariables.less +35 -0
  284. package/lib/public/src/components/pcfactory/src/styles/theme/variables/index.less +2 -0
  285. package/lib/public/src/components/pcfactory/src/utils/ChannelContainer.tsx +150 -0
  286. package/lib/public/src/components/pcfactory/src/utils/ChildRender.ts +103 -0
  287. package/lib/public/src/components/pcfactory/src/utils/CustomModule.tsx +134 -0
  288. package/lib/public/src/components/pcfactory/src/utils/DummyFormContext.ts +136 -0
  289. package/lib/public/src/components/pcfactory/src/utils/Empty/customLocale.tsx +6 -0
  290. package/lib/public/src/components/pcfactory/src/utils/Empty/empty.tsx +37 -0
  291. package/lib/public/src/components/pcfactory/src/utils/LoaderHelper.tsx +29 -0
  292. package/lib/public/src/components/pcfactory/src/utils/PropsType.ts +21 -0
  293. package/lib/public/src/components/pcfactory/src/utils/WithSyncValue.ts +218 -0
  294. package/lib/public/src/components/pcfactory/src/utils/ahooks/index.ts +22 -0
  295. package/lib/public/src/components/pcfactory/src/utils/ahooks/useCreation.ts +23 -0
  296. package/lib/public/src/components/pcfactory/src/utils/ahooks/useDeepCompareEffect.ts +27 -0
  297. package/lib/public/src/components/pcfactory/src/utils/ahooks/useMap.ts +46 -0
  298. package/lib/public/src/components/pcfactory/src/utils/ahooks/useMemoizedFn.ts +27 -0
  299. package/lib/public/src/components/pcfactory/src/utils/ahooks/usePrevious.ts +19 -0
  300. package/lib/public/src/components/pcfactory/src/utils/ahooks/useSafeState.ts +26 -0
  301. package/lib/public/src/components/pcfactory/src/utils/ahooks/useSetState.ts +26 -0
  302. package/lib/public/src/components/pcfactory/src/utils/ahooks/useUnmountedRef.ts +14 -0
  303. package/lib/public/src/components/pcfactory/src/utils/ahooks/useUpdate.ts +9 -0
  304. package/lib/public/src/components/pcfactory/src/utils/ahooks/useUpdateEffect.ts +16 -0
  305. package/lib/public/src/components/pcfactory/src/utils/basicStatusTransfer.ts +32 -0
  306. package/lib/public/src/components/pcfactory/src/utils/common.ts +367 -0
  307. package/lib/public/src/components/pcfactory/src/utils/dynamicUtils/DynamicContext.tsx +106 -0
  308. package/lib/public/src/components/pcfactory/src/utils/formUtils/FormContext.tsx +131 -0
  309. package/lib/public/src/components/pcfactory/src/utils/formUtils/FormFields.tsx +646 -0
  310. package/lib/public/src/components/pcfactory/src/utils/formUtils/WrapperContainer.tsx +123 -0
  311. package/lib/public/src/components/pcfactory/src/utils/formUtils/cmdHelper.ts +411 -0
  312. package/lib/public/src/components/pcfactory/src/utils/formUtils/common.ts +28 -0
  313. package/lib/public/src/components/pcfactory/src/utils/getExportDefaultObj.ts +11 -0
  314. package/lib/public/src/components/pcfactory/src/utils/hooks/useCommonImperativeHandle.ts +140 -0
  315. package/lib/public/src/components/pcfactory/src/utils/hooks/useDataMask.ts +83 -0
  316. package/lib/public/src/components/pcfactory/src/utils/hooks/useDoubleClick.ts +63 -0
  317. package/lib/public/src/components/pcfactory/src/utils/hooks/useFuncExpExecute.ts +86 -0
  318. package/lib/public/src/components/pcfactory/src/utils/hooks/useGetStaticAttrData.ts +41 -0
  319. package/lib/public/src/components/pcfactory/src/utils/hooks/useHiddenStyle.ts +43 -0
  320. package/lib/public/src/components/pcfactory/src/utils/hooks/useInitReactQuill.ts +90 -0
  321. package/lib/public/src/components/pcfactory/src/utils/hooks/useListenState.ts +26 -0
  322. package/lib/public/src/components/pcfactory/src/utils/hooks/useLocale.ts +129 -0
  323. package/lib/public/src/components/pcfactory/src/utils/hooks/usePrintMode.tsx +80 -0
  324. package/lib/public/src/components/pcfactory/src/utils/hooks/useRules.ts +89 -0
  325. package/lib/public/src/components/pcfactory/src/utils/hooks/useTestHelper.ts +26 -0
  326. package/lib/public/src/components/pcfactory/src/utils/hooks/useToggleBoolean.ts +33 -0
  327. package/lib/public/src/components/pcfactory/src/utils/index.ts +19 -0
  328. package/lib/public/src/components/pcfactory/src/utils/polyfill.js +305 -0
  329. package/lib/public/src/components/pcfactory/src/utils/renderReadOnly.tsx +105 -0
  330. package/lib/public/src/components/pcfactory/src/variables.ts +2 -0
  331. package/lib/public/src/components/pcfactory/typings.d.ts +27 -0
  332. package/lib/public/src/hooks/useGenerateContext.ts +73 -0
  333. package/lib/public/src/styles/common.less +41 -0
  334. package/lib/public/src/styles/index.less +4 -0
  335. package/lib/public/src/styles/index.ts +1 -0
  336. package/lib/public/src/styles/theme/variables.less +130 -0
  337. package/lib/public/src/utils/LcdpSpin/index.less +13 -0
  338. package/lib/public/src/utils/LcdpSpin/index.tsx +12 -0
  339. package/lib/public/src/utils/ModalManager/Drawer/index.less +30 -0
  340. package/lib/public/src/utils/ModalManager/Drawer/index.tsx +109 -0
  341. package/lib/public/src/utils/ModalManager/Modal/index.less +7 -0
  342. package/lib/public/src/utils/ModalManager/Modal/index.tsx +96 -0
  343. package/lib/public/src/utils/ModalManager/index.tsx +278 -0
  344. package/lib/public/src/utils/Security/encipher/des.ts +52 -0
  345. package/lib/public/src/utils/customFuncMapping.ts +107 -0
  346. package/lib/public/src/utils/formUtils.ts +458 -0
  347. package/lib/public/src/utils/i18n/i18n.ts +15 -0
  348. package/lib/public/src/utils/i18n/index.ts +7 -0
  349. package/lib/public/src/utils/i18n/locale/app/en_US.ts +77 -0
  350. package/lib/public/src/utils/i18n/locale/app/index.ts +9 -0
  351. package/lib/public/src/utils/i18n/locale/app/otherLocale.ts +2 -0
  352. package/lib/public/src/utils/i18n/locale/app/zh_CN.ts +65 -0
  353. package/lib/public/src/utils/i18n/locale/app/zh_HK.ts +66 -0
  354. package/lib/public/src/utils/i18n/locale/base/en_US.ts +449 -0
  355. package/lib/public/src/utils/i18n/locale/base/index.ts +5 -0
  356. package/lib/public/src/utils/i18n/locale/base/zh_CN.ts +413 -0
  357. package/lib/public/src/utils/i18n/locale/base/zh_HK.ts +411 -0
  358. package/lib/public/src/utils/i18n/locale/pc/en_US.ts +131 -0
  359. package/lib/public/src/utils/i18n/locale/pc/index.ts +9 -0
  360. package/lib/public/src/utils/i18n/locale/pc/otherLocale.ts +2 -0
  361. package/lib/public/src/utils/i18n/locale/pc/zh_CN.ts +105 -0
  362. package/lib/public/src/utils/i18n/locale/pc/zh_HK.ts +105 -0
  363. package/lib/public/src/utils/i18n/localeMonitor.ts +71 -0
  364. package/lib/public/src/utils/i18n/locales.ts +30 -0
  365. package/lib/public/src/utils/i18n/replaceMessage.ts +29 -0
  366. package/lib/public/src/utils/i18n/types.ts +2 -0
  367. package/lib/public/src/utils/i18n/useLocale.ts +129 -0
  368. package/lib/public/src/utils/messageApi.ts +93 -0
  369. package/lib/public/src/utils/service/commonFetch.ts +1 -1
  370. package/lib/public/src/utils/useTool.ts +428 -0
  371. package/package.json +2 -2
  372. /package/lib/public/src/utils/functors/{dateAdd.ts → DATEADD.ts} +0 -0
@@ -0,0 +1,740 @@
1
+ import { InboxOutlined, PlusOutlined, UploadOutlined } from '@ant-design/icons';
2
+ import { LingxiForwardRef } from '@lingxiteam/types';
3
+ import { Button, message, Modal, Radio, Upload } from 'antd';
4
+ import type { UploadProps } from 'antd/lib/upload';
5
+ import React, { forwardRef, useEffect, useMemo, useRef, useState } from 'react';
6
+ import DownloadProgress from '../StdUpload/DownloadProgress';
7
+ import { FormFields, getFieldsProps } from '../utils';
8
+ import { createRandomStr, getAfterString } from '../utils/common';
9
+ import { useLocale } from '../utils/hooks/useLocale';
10
+ import renderReadOnly from '../utils/renderReadOnly';
11
+
12
+ const { Dragger } = Upload;
13
+
14
+ const UPLOAD_WRAPPER_CLASSNAME = 'ued-upload-wrap';
15
+
16
+ interface FormUploadProps {
17
+ onChange: (list?: any) => void;
18
+ onFinishUpload?: (file: any) => void;
19
+ onListenDownloading?: (file: File) => void;
20
+ onFileNameClick?: (file: any) => void;
21
+ draggable?: boolean;
22
+ acceptExtension?: UploadProps['accept'];
23
+ value?: any;
24
+ disabled?: boolean;
25
+ readOnly?: boolean;
26
+ precheckService?: any;
27
+ numberLimit?: number;
28
+ downloadable?: boolean;
29
+ fileNameEncode?: boolean;
30
+ isWatermark?: boolean;
31
+ optionalFile?: boolean;
32
+ // accept?: any;
33
+ action?: string;
34
+ getSimpleFileList?: any;
35
+ singleFileMode?: boolean;
36
+ uploadTimeout?: number;
37
+ appId: string;
38
+ pageId: string;
39
+ showUploadList?: any;
40
+ columns?: any;
41
+ acceptType?: any;
42
+ getEngineApis?: any;
43
+ }
44
+
45
+ const FormUpload: React.FC<FormUploadProps> = forwardRef((props, ref) => {
46
+ const {
47
+ onChange,
48
+ onFinishUpload,
49
+ onListenDownloading,
50
+ onFileNameClick,
51
+ children,
52
+ draggable,
53
+ // accept,
54
+ acceptExtension,
55
+ getSimpleFileList,
56
+ value,
57
+ disabled,
58
+ readOnly,
59
+ singleFileMode,
60
+ precheckService,
61
+ numberLimit = 0,
62
+ downloadable = true,
63
+ fileNameEncode = false,
64
+ isWatermark = false,
65
+ optionalFile = false,
66
+ appId,
67
+ uploadTimeout = 30000,
68
+ columns,
69
+ acceptType,
70
+ getEngineApis,
71
+ ...restProps
72
+ } = props;
73
+
74
+ const engineApis = getEngineApis?.() || {};
75
+ const { getLocale } = useLocale(engineApis);
76
+
77
+ const { api = '' } = columns || {};
78
+ const [action, setAction] = useState<any>(api);
79
+ useEffect(() => {
80
+ if (api) {
81
+ setAction(api);
82
+ } else {
83
+ (async () => {
84
+ setAction(engineApis?.service?.uploadSingleFile);
85
+ })();
86
+ }
87
+ }, [api]);
88
+
89
+ const defaultShowUploadList = {
90
+ showRemoveIcon: true,
91
+ showDownloadIcon: downloadable,
92
+ };
93
+
94
+ const [fileList, setFileList] = useState<any[]>([]);
95
+ const [showUploadList, setShowUploadList] = useState<any>(
96
+ props.showUploadList === false ? false : defaultShowUploadList,
97
+ ); // showUploadList 默认为null
98
+ const [forbidden] = useState(null);
99
+ const [storeArr, setStoreArr] = useState<any[]>([]);
100
+ const [optionalVisible, setOptionalVisible] = useState<boolean>(false);
101
+ const [okLoading, setOkLoading] = useState<boolean>(false);
102
+ const [downloadWay, setdDownloadWay] = useState<string>('1');
103
+ const [curFile, setCurFile] = useState<any>();
104
+ const [downloadProVisible, setDownloadProVisible] = useState<any>({});
105
+ const progressRef = useRef<any>({});
106
+ const handleRemoveCallback = useRef<any>();
107
+
108
+ const handleRemove = async (file: { uid: any }, isRefresh?: any) => {
109
+ if (singleFileMode || isRefresh) {
110
+ const restFileList = fileList.filter((f) => f.uid !== file.uid);
111
+ setFileList(restFileList);
112
+ if (singleFileMode) {
113
+ restFileList.length === 0 ? onChange(null) : onChange(restFileList);
114
+ }
115
+ }
116
+ };
117
+ handleRemoveCallback.current = handleRemove;
118
+
119
+ const previewFile = async (fileId: any) => {
120
+ if (typeof engineApis?.BannerModal?.open === 'function') {
121
+ let fileIndex: number = 0;
122
+ const fileData = fileList?.map((f, i) => {
123
+ const { response } = f;
124
+ const { resultObject } = response || {};
125
+ if (resultObject?.fileId === fileId) {
126
+ fileIndex = i;
127
+ }
128
+ return {
129
+ appId,
130
+ fileId: resultObject?.fileId,
131
+ pageId: props.pageId,
132
+ downloadClick: handleDownload,
133
+ showDownLoad: !!showUploadList?.showDownloadIcon,
134
+ showDelete: !!showUploadList?.showRemoveIcon,
135
+ deleteClick: (f: any) => {
136
+ // 避免因闭包问题导致上传列表删除被旧fileList数据覆盖
137
+ if (typeof handleRemoveCallback?.current === 'function') {
138
+ handleRemoveCallback?.current(f, true);
139
+ }
140
+ },
141
+ file: {
142
+ ...f,
143
+ ...resultObject,
144
+ },
145
+ };
146
+ });
147
+ engineApis.BannerModal.open({
148
+ fileIndex,
149
+ fileList: fileData,
150
+ });
151
+ } else if (typeof engineApis?.previewFile === 'function') {
152
+ try {
153
+ engineApis.previewFile({ fileId });
154
+ } catch (e) {
155
+ console.error(e);
156
+ }
157
+ }
158
+ };
159
+
160
+ // 文件名为全路径时,拆分出实际文件名
161
+ const handleFileName = (_fileName: string) =>
162
+ _fileName ? _fileName.split('\\').pop() : _fileName;
163
+
164
+ useEffect(() => {
165
+ if (
166
+ value &&
167
+ value !== '[]' &&
168
+ value !== '[null]' &&
169
+ value !== '[{}]' &&
170
+ value !== undefined
171
+ ) {
172
+ try {
173
+ let fileName = null;
174
+ if (
175
+ singleFileMode &&
176
+ value &&
177
+ Number(value).toString() !== 'NaN' &&
178
+ !storeArr.includes(`${value}`)
179
+ ) {
180
+ engineApis?.service
181
+ ?.qryDownloadFileInfo({ fileId: value })
182
+ .then((res: any) => {
183
+ setStoreArr([...storeArr, `${value}`]);
184
+ fileName = res?.fileName;
185
+ const singleList = [
186
+ {
187
+ response: {
188
+ resultObject: {
189
+ fileId: value,
190
+ fileName,
191
+ },
192
+ },
193
+ uid: value,
194
+ name: handleFileName(fileName),
195
+ status: value ? 'done' : 'stop',
196
+ url: engineApis?.service?.getAppFileUrlById(value),
197
+ },
198
+ ];
199
+ downloadable
200
+ ? setFileList(singleList)
201
+ : setFileList(
202
+ singleList.map((f) => {
203
+ const { response, uid, name, status } = f;
204
+ return {
205
+ response,
206
+ uid,
207
+ name,
208
+ status,
209
+ };
210
+ }),
211
+ );
212
+ });
213
+ } else {
214
+ let list = [];
215
+ // value 绑定的内容,是个数组的情况,数据兼容
216
+ if (Array.isArray(value)) {
217
+ list = [...value];
218
+ } else {
219
+ list = JSON.parse(value);
220
+ }
221
+ if (list && Array.isArray(list) && list.length > 0 && list[0]) {
222
+ let isDone = true;
223
+ const newFileList = list.map((li) => {
224
+ if (!li) {
225
+ isDone = false;
226
+ return false;
227
+ }
228
+ return {
229
+ response: {
230
+ resultObject: {
231
+ fileId: li?.fileId,
232
+ fileName: handleFileName(li?.fileName),
233
+ },
234
+ },
235
+ uid: li?.fileId,
236
+ name: handleFileName(li?.fileName),
237
+ status: li?.fileId ? 'done' : 'stop',
238
+ url: engineApis?.service?.getAppFileUrlById(li?.fileId),
239
+ };
240
+ });
241
+ if (isDone) {
242
+ downloadable
243
+ ? setFileList(newFileList)
244
+ : setFileList(
245
+ newFileList.map((f: any) => {
246
+ const { response, uid, name, status } = f;
247
+ return {
248
+ response,
249
+ uid,
250
+ name,
251
+ status,
252
+ };
253
+ }),
254
+ );
255
+ }
256
+ }
257
+ }
258
+ } catch (e) {
259
+ console.error(e);
260
+ }
261
+ }
262
+ }, [value]);
263
+
264
+ useEffect(() => {
265
+ const { length } = fileList;
266
+ if (numberLimit > 0 && length >= numberLimit) {
267
+ fileList.length = numberLimit;
268
+ }
269
+ const simpleFileList = JSON.stringify(
270
+ (fileList || []).map((f: any) => {
271
+ if (f.response) {
272
+ return {
273
+ fileId: f.response?.resultObject?.fileId,
274
+ fileName: f.response?.resultObject?.fileName,
275
+ };
276
+ }
277
+ return undefined;
278
+ }),
279
+ );
280
+ if (getSimpleFileList) {
281
+ getSimpleFileList(simpleFileList);
282
+ }
283
+ if (singleFileMode) {
284
+ if (Array.isArray(fileList) && fileList.length > 0) {
285
+ if (
286
+ fileList[0].response &&
287
+ fileList[0].response.resultMsg === 'success'
288
+ ) {
289
+ const { resultObject } = fileList[0].response;
290
+ const { fileId } = resultObject;
291
+ // onChange(parseInt(fileId, 10));
292
+ onChange(fileId);
293
+ }
294
+ }
295
+ } else {
296
+ onChange(simpleFileList);
297
+ }
298
+ }, [fileList]);
299
+
300
+ const handleOnChange = (e: any) => {
301
+ try {
302
+ const files = e.fileList.map((f: any, index: number) => {
303
+ if (f.response) {
304
+ const { resultObject, resultCode } = f.response;
305
+ const fileId = resultObject?.fileId || -index;
306
+ const { status } = f;
307
+ if (onFinishUpload) {
308
+ onFinishUpload(resultObject);
309
+ }
310
+ return {
311
+ ...f,
312
+ ...resultObject,
313
+ name: handleFileName(f.name),
314
+ status: +resultCode === -1 ? 'error' : status,
315
+ url: engineApis?.service?.getAppFileUrlById(fileId),
316
+ };
317
+ }
318
+ return f;
319
+ });
320
+ downloadable
321
+ ? setFileList(files)
322
+ : setFileList(
323
+ files.map((f: any) => {
324
+ const { response, uid, name, status } = f;
325
+ return {
326
+ response,
327
+ uid,
328
+ name,
329
+ status,
330
+ };
331
+ }),
332
+ );
333
+
334
+ if (files[0] && files[0].status !== 'uploading') {
335
+ const { resultCode, resultMsg } = files[0].response || {};
336
+ if (+resultCode === -1 && resultMsg) {
337
+ message.error(resultMsg);
338
+ }
339
+ }
340
+ } catch (error) {
341
+ console.error(error);
342
+ }
343
+ };
344
+
345
+ const handlePreview = async (file: any) => {
346
+ const { fileId, uid } = file;
347
+ previewFile(fileId || uid);
348
+ if (onFileNameClick) {
349
+ onFileNameClick(file);
350
+ }
351
+ };
352
+
353
+ const getDownloadName = (suffix: any, file: any) => {
354
+ const suf = suffix || getAfterString(file.name, '.') || '';
355
+ return fileNameEncode
356
+ ? `${createRandomStr(20).toUpperCase()}.${suf}`
357
+ : file.name.replace(/\.\w+$/, `.${suf}`);
358
+ };
359
+
360
+ // 支持图片、pdf直接下载
361
+ const downloadFile = async (file: any) => {
362
+ if (onListenDownloading) {
363
+ const res = await onListenDownloading(file);
364
+ if (String(res) === 'false') {
365
+ return;
366
+ }
367
+ }
368
+ let downUrl = file.url;
369
+ try {
370
+ // 如果有field 优先通过field拼接
371
+ if (file.fileId) {
372
+ const addWaterMark =
373
+ isWatermark && (!optionalFile || downloadWay === '2');
374
+ downUrl = engineApis?.service?.getAppFileUrlById({
375
+ addWaterMark,
376
+ fileId: file.fileId,
377
+ });
378
+ }
379
+ } catch (error) {
380
+ console.error(error);
381
+ }
382
+ if (window.XMLHttpRequest) {
383
+ setDownloadProVisible({ ...downloadProVisible, [file.fileId]: true });
384
+ const xhr = new XMLHttpRequest(); // ActiveXObject只存在于IE7及以下,无需兼容
385
+ xhr.timeout = uploadTimeout; // 设置超时时间(秒)
386
+ xhr.open('GET', downUrl, true);
387
+ xhr.responseType = 'blob'; // 设置接受类型
388
+ xhr.setRequestHeader('Content-Type', 'application/json'); // 设置请求头参数
389
+ // xhr.setRequestHeader('X-B-TARGET-ID', props.pageId);
390
+ // xhr.setRequestHeader('X-B-AUTH', '1');
391
+ // xhr.setRequestHeader('APP-ID', appId);
392
+ xhr.onload = () => {
393
+ const data = xhr.response; // 获取响应体数据
394
+ // @ts-ignore
395
+ const suffix = getAfterString(
396
+ xhr.getResponseHeader('Content-Disposition'),
397
+ '.',
398
+ );
399
+ const a = document.createElement('a');
400
+ document.body.appendChild(a);
401
+ a.href = window.URL.createObjectURL(data); // 获取blob地址
402
+ a.download = getDownloadName(suffix, file);
403
+ a.click();
404
+ document.body.removeChild(a);
405
+ setDownloadProVisible({ ...downloadProVisible, [file.fileId]: false });
406
+ };
407
+ // 下载进度条
408
+ xhr.onprogress = (event: any) => {
409
+ if (event.lengthComputable) {
410
+ progressRef.current?.[file.fileId]?.setPercent(
411
+ Math.round((event.loaded * 100) / event.total),
412
+ );
413
+ }
414
+ };
415
+ xhr.ontimeout = () => {
416
+ setDownloadProVisible({ ...downloadProVisible, [file.fileId]: false });
417
+ xhr.abort(); // 取消请求
418
+ };
419
+ xhr.send();
420
+ xhr.onerror = () => {
421
+ setDownloadProVisible({ ...downloadProVisible, [file.fileId]: false });
422
+ };
423
+ }
424
+ };
425
+
426
+ const handleDownload = async (file: any) => {
427
+ if (downloadProVisible[file.fileId]) {
428
+ message.warn(getLocale?.('Upload.download'));
429
+ return;
430
+ }
431
+ if (isWatermark && optionalFile) {
432
+ // 支持选择源文件下载or加水印下载
433
+ setCurFile(file);
434
+ setOptionalVisible(true);
435
+ } else {
436
+ downloadFile(file);
437
+ }
438
+ };
439
+
440
+ const onDownloadWayCancel = () => {
441
+ setdDownloadWay('1');
442
+ setOptionalVisible(false);
443
+ };
444
+
445
+ const onDownloadWayOk = () => {
446
+ setOkLoading(true);
447
+ try {
448
+ downloadFile(curFile);
449
+ } finally {
450
+ onDownloadWayCancel();
451
+ setOkLoading(false);
452
+ }
453
+ };
454
+
455
+ const handleBeforeUpload = async (file: any, _fileList: any) => {
456
+ if (precheckService) {
457
+ const res = await fetch(action, {
458
+ method: 'POST',
459
+ headers: {
460
+ 'Content-Type': 'multipart/form-data',
461
+ 'APP-ID': appId,
462
+ 'X-B-AUTH': '1',
463
+ 'X-B-TARGET-ID': props.pageId,
464
+ },
465
+ }).then((response) => response.json());
466
+ if (res.resultCode === '-1' || res.resultCode === -1) {
467
+ setShowUploadList(false);
468
+ return false;
469
+ }
470
+ }
471
+ if (!action) {
472
+ message.warn(getLocale?.('Upload.actionStrict'));
473
+ return false;
474
+ }
475
+ if (numberLimit) {
476
+ const { length } = fileList;
477
+ if (length >= numberLimit) {
478
+ message.warn(
479
+ getLocale?.('Upload.fileLimit', {
480
+ num: singleFileMode ? 1 : numberLimit,
481
+ }),
482
+ );
483
+ return false;
484
+ }
485
+ if (singleFileMode && length > 0) {
486
+ message.warn(getLocale?.('Upload.singleStrict'));
487
+ return false;
488
+ }
489
+ }
490
+ return true;
491
+ };
492
+ const accept = acceptType?.join(',') || '';
493
+ const commonConfig: any = {
494
+ disabled: forbidden || disabled || readOnly,
495
+ action,
496
+ accept: acceptExtension || accept,
497
+ // eslint-disable-next-line @typescript-eslint/no-shadow
498
+ beforeUpload: (file: any, fileList: any) =>
499
+ handleBeforeUpload(file, fileList),
500
+ fileList,
501
+ onRemove: (file: { uid: any }) => handleRemove(file),
502
+ onChange: (e: any) => handleOnChange(e),
503
+ showUploadList: {
504
+ ...showUploadList,
505
+ downloadIcon: (file: any) => {
506
+ if (downloadProVisible[file.fileId]) {
507
+ return (
508
+ <DownloadProgress
509
+ ref={(r: any) => {
510
+ progressRef.current[file.fileId] = r;
511
+ }}
512
+ />
513
+ );
514
+ }
515
+ return null;
516
+ },
517
+ },
518
+ onPreview: (file: any) => handlePreview(file),
519
+ onDownload: (file: any) => handleDownload(file),
520
+ headers: {
521
+ 'X-B-TARGET-ID': props.pageId,
522
+ 'X-B-AUTH': 1,
523
+ 'APP-ID': appId,
524
+ },
525
+ withCredentials: true,
526
+ };
527
+
528
+ if (readOnly && fileList.length <= 0) {
529
+ return renderReadOnly('--');
530
+ }
531
+
532
+ return (
533
+ <>
534
+ {draggable ? (
535
+ <Dragger {...restProps} {...commonConfig}>
536
+ <p className="ant-upload-drag-icon">
537
+ <InboxOutlined rev="" />
538
+ </p>
539
+ <p className="ant-upload-text">
540
+ {getLocale?.('Upload.uploadPlaceholder')}
541
+ </p>
542
+ </Dragger>
543
+ ) : (
544
+ <div
545
+ className={
546
+ disabled || readOnly ? `${UPLOAD_WRAPPER_CLASSNAME}-hidden` : ''
547
+ }
548
+ >
549
+ <Upload {...restProps} {...commonConfig}>
550
+ {children}
551
+ </Upload>
552
+ </div>
553
+ )}
554
+ <Modal
555
+ title={getLocale?.('Upload.downloadType')}
556
+ visible={optionalVisible}
557
+ width={420}
558
+ onCancel={onDownloadWayCancel}
559
+ footer={
560
+ <Button type="primary" onClick={onDownloadWayOk} loading={okLoading}>
561
+ {getLocale?.('Upload.downloadText')}
562
+ </Button>
563
+ }
564
+ >
565
+ <Radio.Group
566
+ onChange={(e) => setdDownloadWay(e.target.value)}
567
+ value={downloadWay}
568
+ >
569
+ <Radio value="1">{getLocale?.('Upload.origin')}</Radio>
570
+ <Radio value="2">{getLocale?.('Upload.waterMark')}</Radio>
571
+ </Radio.Group>
572
+ </Modal>
573
+ </>
574
+ );
575
+ });
576
+
577
+ export interface MyUploadProps {
578
+ value?: any;
579
+ visible?: boolean;
580
+ onChange?: (e: any) => void;
581
+ onValueRelease?: (value: any) => void;
582
+ getCompPropMapState?: (id: string, type: string) => any;
583
+ compId?: string;
584
+ name?: string;
585
+ fieldName: string;
586
+ hidden?: boolean;
587
+ regexp?: any;
588
+ message?: any;
589
+ label?: any;
590
+ labelCol?: any;
591
+ wrapperCol?: any;
592
+ uploadText?: any;
593
+ selfSpan?: number;
594
+ colSpan?: number;
595
+ style?: React.CSSProperties;
596
+ fileName?: string;
597
+ action?: string;
598
+ multiple?: boolean;
599
+ listType?: string;
600
+ singleFileMode?: boolean;
601
+ showWrapperContainer: boolean;
602
+ wrapperContainer: any;
603
+ colon?: boolean;
604
+ isFormChild?: boolean | undefined;
605
+ uploadProps: any; // 懒加载入参
606
+ formFieldsRef: any; // 懒加载入参
607
+ disabled: boolean; // 懒加载入参
608
+ readOnly: boolean; // 懒加载入参
609
+ required: boolean; // 懒加载入参
610
+ }
611
+
612
+ const MyUpload = LingxiForwardRef<any, MyUploadProps>((props, ref) => {
613
+ const {
614
+ value,
615
+ // eslint-disable-next-line @typescript-eslint/no-unused-vars
616
+ visible = true,
617
+ onChange,
618
+ onValueRelease,
619
+ getCompPropMapState,
620
+ compId,
621
+ name,
622
+ fieldName,
623
+ regexp,
624
+ label,
625
+ labelCol,
626
+ wrapperCol,
627
+ uploadText,
628
+ hidden,
629
+ selfSpan,
630
+ colSpan,
631
+ fileName,
632
+ action,
633
+ multiple,
634
+ listType,
635
+ showWrapperContainer,
636
+ wrapperContainer: WrapperContainer,
637
+ isFormChild,
638
+ uploadProps,
639
+ formFieldsRef,
640
+ disabled,
641
+ readOnly,
642
+ required,
643
+ ...restProps
644
+ } = props;
645
+ // const customStyle = restProps.style || {};
646
+ // const {
647
+ // margin: customMargin,
648
+ // display: customDisplay,
649
+ // visibility: customVisibility,
650
+ // } = customStyle;
651
+ const engineApis = props?.getEngineApis?.() || {};
652
+ const { getLocale } = useLocale(engineApis);
653
+
654
+ // const [uploadProps, setUploadProps] = useState<MyUploadProps['uploadProps']>();
655
+
656
+ // const { formFieldsRef, disabled, readOnly, required } = useCommonImperativeHandle(ref, props, {
657
+ // setUploadProps: (_props: any) => {
658
+ // setUploadProps(_props);
659
+ // }
660
+ // });
661
+
662
+ const extraProps = useMemo(() => {
663
+ const { method, ...data } = uploadProps || {};
664
+ const extra: any = {
665
+ name: fileName,
666
+ method,
667
+ data,
668
+ };
669
+ if (action) {
670
+ extra.action = action;
671
+ }
672
+ return extra;
673
+ }, [fileName, uploadProps, action]);
674
+
675
+ const finalRules = useMemo(() => {
676
+ const rules = [{ required, message: getLocale?.('notEmpty', { name }) }];
677
+ return rules;
678
+ }, [required]);
679
+
680
+ return (
681
+ <FormFields
682
+ {...getFieldsProps(props)}
683
+ ref={formFieldsRef}
684
+ disabled={disabled}
685
+ required={required}
686
+ readOnly={readOnly}
687
+ rules={finalRules}
688
+ ignoreReadOnlyFlag
689
+ handleFormValue={(val) => {
690
+ if (val !== undefined) {
691
+ return props?.singleFileMode ? val : val || [];
692
+ }
693
+ return undefined;
694
+ }}
695
+ >
696
+ <FormUpload
697
+ {...restProps}
698
+ {...extraProps}
699
+ value={value}
700
+ appId={props.$$componentItem.appId}
701
+ pageId={props.$$componentItem.pageId}
702
+ getSimpleFileList={(v: string) => {
703
+ // if (props.singleFileMode) {
704
+ // if (v) {
705
+ // const arr = JSON.parse(v) || [];
706
+ // if (arr.length > 0 && arr[0]) {
707
+ // // eslint-disable-next-line radix
708
+ // if (form?.setFieldsValue) {
709
+ // // form.setFieldsValue({ [fieldName]: parseInt(arr[0].fileId, 10) });
710
+ // form.setFieldsValue({ [fieldName]: arr[0].fileId });
711
+ // }
712
+ // }
713
+ // }
714
+ // } else if (form?.setFieldsValue) {
715
+ // form.setFieldsValue({ [fieldName]: v });
716
+ // }
717
+ }}
718
+ onChange={(e) => {
719
+ if (onChange) {
720
+ onChange(e);
721
+ }
722
+ }}
723
+ >
724
+ {listType === 'picture-card' ? (
725
+ <div>
726
+ <PlusOutlined rev="" />
727
+ <div>{uploadText}</div>
728
+ </div>
729
+ ) : (
730
+ <Button>
731
+ <UploadOutlined rev="" />
732
+ {uploadText}
733
+ </Button>
734
+ )}
735
+ </FormUpload>
736
+ </FormFields>
737
+ );
738
+ });
739
+
740
+ export default MyUpload;