@lingxiteam/ebe-utils 0.5.1 → 0.5.2

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 (371) hide show
  1. package/lib/pcpublic/src/components/pcfactory/src/StdUpload/assets/closeIcon.png +0 -0
  2. package/lib/pcpublic/src/components/pcfactory/src/StdUpload/assets/fileName.png +0 -0
  3. package/lib/pcpublic/src/components/pcfactory/src/StdUpload/assets/img.png +0 -0
  4. package/lib/pcpublic/src/components/pcfactory/src/Table/hooks/useFormatCell.ts +279 -0
  5. package/lib/pcpublic/src/components/pcfactory/src/utils/Empty/customLocale.tsx +6 -0
  6. package/lib/public/src/components/ExpBusiObjModal/index.less +28 -0
  7. package/lib/public/src/components/ExpBusiObjModal/index.tsx +315 -0
  8. package/lib/public/src/components/ImportBusiObjModal/index.tsx +5 -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/useTool.ts +428 -0
  370. package/package.json +2 -2
  371. /package/lib/public/src/utils/functors/{dateAdd.ts → DATEADD.ts} +0 -0
@@ -0,0 +1,756 @@
1
+ import { LingxiForwardRef } from '@lingxiteam/types';
2
+ import { DatePicker as AntdDatePicker } from 'antd';
3
+ import { Rule } from 'antd/lib/form';
4
+ import moment, { Moment } from 'moment';
5
+ import React, { forwardRef, useEffect, useMemo, useState } from 'react';
6
+ import {
7
+ FormFields,
8
+ getFieldsProps,
9
+ useCommonImperativeHandle,
10
+ } from '../utils';
11
+ import { initMomentLocale } from '../utils/common';
12
+ import { useLocale } from '../utils/hooks/useLocale';
13
+ import { renderDatePicker } from '../utils/renderReadOnly';
14
+
15
+ export interface FormDatePickerProps {
16
+ value?: any;
17
+ onChange?: any;
18
+ pickerType?: any;
19
+ valueFormat?: any;
20
+ timeMode?: any;
21
+ showTime?: any;
22
+ format?: any;
23
+ defaultValue?: any;
24
+ placeholder?: string | string[];
25
+ disabledDate?: (v: Moment) => void;
26
+ disabledTime?: (v: Moment) => void;
27
+ }
28
+
29
+ export interface DatePickerProps {
30
+ value?: any;
31
+ visible?: any;
32
+ onChange?: any;
33
+ onValueRelease?: any;
34
+ getCompPropMapState?: any;
35
+ compId?: any;
36
+ hidden?: any;
37
+ name?: any;
38
+ fieldName?: any;
39
+ required?: any;
40
+ regexp?: any;
41
+ message?: any;
42
+ label?: any;
43
+ labelCol?: any;
44
+ wrapperCol?: any;
45
+ selfSpan?: any;
46
+ colSpan?: any;
47
+ defaultValue?: any;
48
+ isCurrent?: any;
49
+ pickerType?: any;
50
+ format?: any;
51
+ validateStatus?: any;
52
+ help?: any;
53
+ style?: React.CSSProperties;
54
+ showTime?: string;
55
+ showWrapperContainer: boolean;
56
+ wrapperContainer: any;
57
+ titleTip?: any;
58
+ tipIcon?: any;
59
+ tipLocation?: any;
60
+ tipContent?: any;
61
+ tipPlacement?: any;
62
+ limitRange?: any;
63
+ customExpression?: any;
64
+ customTip?: any;
65
+ startTime?: any;
66
+ endTime?: any;
67
+ colon?: boolean;
68
+ isFormChild?: boolean | undefined;
69
+ readOnly: boolean;
70
+ separator?: any;
71
+ rules?: any[];
72
+ tipSize?: string; // 文字提示
73
+ tipWidth?: string; // 提示自定义的宽度
74
+ tipHeight?: string; // 提示自定义的高度
75
+ valueFormat?: string; // 日期取值格式
76
+ timeMode?: string;
77
+ }
78
+
79
+ export interface WrapperDatePickerProps {
80
+ children: React.ReactElement;
81
+ }
82
+
83
+ // 标准格式对应值
84
+ const STANDARD_FORMAT: Record<string, string> = {
85
+ date: 'YYYY-MM-DD',
86
+ time: 'YYYY-MM-DD HH:mm:ss',
87
+ month: 'YYYY-MM',
88
+ year: 'YYYY',
89
+ };
90
+
91
+ const parseFormats = [
92
+ 'YYYY年MM月DD日 HH:mm:ss',
93
+ 'YYYY/MM/DD HH:mm:ss',
94
+ 'YYYY-MM-DD HH:mm:ss',
95
+ 'YYYYMMDD HH:mm:ss',
96
+ 'YYYY-MM-DD',
97
+ 'YYYY/MM/DD',
98
+ 'YYYY年MM月DD日',
99
+ 'YYYYMMDD',
100
+ 'DD/MM/YYYY',
101
+ 'MM/DD/YYYY',
102
+ 'DD.MM.YYYY',
103
+ 'MM/YYYY',
104
+ 'MM.YYYY',
105
+ 'DD/MM/YYYY HH:mm:ss',
106
+ 'DD.MM.YYYY HH:mm:ss',
107
+ ];
108
+
109
+ const parseDateFromFormat = (
110
+ val: string | Moment,
111
+ format: string | string[],
112
+ ): Moment | null => {
113
+ // 日期格式严格按照(取值+展示)格式转换,转换失败后再使用内置格式(标准)转换
114
+ const date = moment(val, format, true)?.isValid()
115
+ ? moment(val, format)
116
+ : moment(val);
117
+ return date.isValid() ? date : null;
118
+ };
119
+
120
+ const DATEPICKER_WRAPPER_CLASSNAME = 'ued-datePicker-wrap';
121
+ const WrapperDatePicker: React.FC<WrapperDatePickerProps> = ({ children }) =>
122
+ React.cloneElement(children, {
123
+ className: `${DATEPICKER_WRAPPER_CLASSNAME} ${
124
+ children.props.className || ''
125
+ }`,
126
+ });
127
+ const { RangePicker } = AntdDatePicker;
128
+ const FormDatePicker: React.FC<FormDatePickerProps> = forwardRef(
129
+ (props, ref) => {
130
+ const {
131
+ value,
132
+ onChange,
133
+ pickerType,
134
+ format,
135
+ valueFormat,
136
+ timeMode,
137
+ showTime,
138
+ placeholder,
139
+ ...restProps
140
+ } = props;
141
+ const [time, setTime] = useState<any>();
142
+ useEffect(() => {
143
+ let v;
144
+ if (pickerType === 'RangePicker') {
145
+ // return Array.isArray(value) ? value.map(c => (moment(c, moment.ISO_8601)._isValid ? moment(c, moment.ISO_8601) : null)) : undefined;
146
+ v = Array.isArray(value)
147
+ ? value.map((c) => parseDateFromFormat(c, [format, valueFormat]))
148
+ : undefined;
149
+ // 时间控件初始化取值顺序 value--> defaultValue
150
+ if (Array.isArray(value)) {
151
+ v = value.map((c) => parseDateFromFormat(c, [format, valueFormat]));
152
+ } else {
153
+ v = Array.isArray(restProps.defaultValue)
154
+ ? restProps.defaultValue.map((c) =>
155
+ parseDateFromFormat(c, [format, valueFormat]),
156
+ )
157
+ : undefined;
158
+ }
159
+ } else {
160
+ let _value;
161
+ if (value) {
162
+ _value = parseDateFromFormat(value, [format, valueFormat]);
163
+ } else {
164
+ _value = restProps.defaultValue
165
+ ? parseDateFromFormat(restProps.defaultValue, [format, valueFormat])
166
+ : undefined;
167
+ }
168
+ // const _value = value ? moment(value, format).format("YYYY-MM-DD HH:mm:ss") : undefined;
169
+ // eslint-disable-next-line no-nested-ternary
170
+ v = _value
171
+ ? parseDateFromFormat(_value, [format, valueFormat])
172
+ : undefined;
173
+ }
174
+ setTime(v);
175
+ }, [value, format, valueFormat]);
176
+ const CompPicker =
177
+ pickerType === 'RangePicker' ? RangePicker : (AntdDatePicker as any);
178
+
179
+ initMomentLocale();
180
+
181
+ const [mode, thisShowTime, picker] = useMemo(() => {
182
+ let _mode = 'date'; // eslint-disable-line no-underscore-dangle
183
+ let _showTime = false; // eslint-disable-line no-underscore-dangle
184
+ let _timeMode; // eslint-disable-line no-underscore-dangle
185
+ let _picker;
186
+ if (timeMode) {
187
+ _showTime = showTime ?? timeMode === 'time';
188
+ _timeMode = timeMode === 'time' ? 'date' : timeMode;
189
+ _mode =
190
+ pickerType === 'RangePicker' ? [_timeMode, _timeMode] : _timeMode;
191
+ _picker = _timeMode;
192
+ }
193
+ // 为不影响时间控件使用,当mode为date时,即默认值时,不特意添加mode属性
194
+ return [
195
+ _timeMode === 'date' ? {} : { mode: _mode },
196
+ _showTime,
197
+ ['year', 'month'].includes(_picker) ? { picker: _picker } : {},
198
+ ];
199
+ }, [pickerType, timeMode, showTime]);
200
+
201
+ const [open, setOpen] = useState(false);
202
+
203
+ return (
204
+ <CompPicker
205
+ {...restProps}
206
+ format={format}
207
+ placeholder={
208
+ pickerType === 'RangePicker' ? undefined : placeholder ?? ''
209
+ }
210
+ value={time}
211
+ open={open}
212
+ // {...mode} mode为year/month时onChange无法触发获取到值,需走onPanelChange。但是month/year切换日历面板时也会走onPanelChange导致open为false。
213
+ {...picker} // 改用picker正常选中走onChange方法,面板切换走onPanelChange。
214
+ showTime={thisShowTime}
215
+ onChange={(e: any, dateStr: any) => {
216
+ // mode === 'date'
217
+ let str = null;
218
+ if (e) {
219
+ if (pickerType === 'RangePicker') {
220
+ str = e.map((m: any) => m.format(valueFormat));
221
+ } else {
222
+ str = e.format(valueFormat);
223
+ }
224
+ }
225
+ setTime(e);
226
+ if (onChange) {
227
+ onChange(str);
228
+ }
229
+ }}
230
+ // 切换日历面板不需要改变当前值,故屏蔽该逻辑
231
+ // onPanelChange={(e: any, _mode: any) => {
232
+ // // mode !== 'date'
233
+ // let str = null;
234
+ // if (e) {
235
+ // if (pickerType === 'RangePicker') {
236
+ // // 对于RangePicker,如果只选择其中一边,另一边是null,要做容错
237
+ // str = e.map((m: any) => m && m.format(valueFormat)).sort();
238
+ // } else {
239
+ // str = e.format(valueFormat);
240
+ // }
241
+ // }
242
+ // setTime(e);
243
+ // // if (Object.keys(mode).length !== 0) {
244
+ // // setOpen(false);
245
+ // // }
246
+ // // setOpen(false);
247
+ // if (onChange) {
248
+ // onChange(str);
249
+ // }
250
+ // }}
251
+ onOpenChange={(status: boolean) => {
252
+ setOpen(status);
253
+ // 当时间范围为选择年、月时,偶尔会出现组件渲染限制条件失效情况(开始时间未限制小于结束时间),故手动排序
254
+ if (
255
+ !status &&
256
+ pickerType === 'RangePicker' &&
257
+ mode.mode &&
258
+ Array.isArray(time) &&
259
+ (time as []).length > 0
260
+ ) {
261
+ const diff = moment(time[1]).diff(
262
+ moment(time[0]),
263
+ `${mode.mode[0]}s` as moment.unitOfTime.Diff,
264
+ );
265
+ if (diff < 0) {
266
+ setTime([time[1], time[0]]);
267
+ }
268
+ }
269
+ }}
270
+ />
271
+ );
272
+ },
273
+ );
274
+
275
+ const DatePicker = LingxiForwardRef<any, DatePickerProps>((props, ref) => {
276
+ const {
277
+ // eslint-disable-next-line @typescript-eslint/no-unused-vars
278
+ visible = true,
279
+ onChange,
280
+ onValueRelease,
281
+ getCompPropMapState,
282
+ compId,
283
+ hidden,
284
+ name,
285
+ fieldName: rawFieldName,
286
+ regexp,
287
+ message,
288
+ label,
289
+ labelCol,
290
+ wrapperCol,
291
+ selfSpan,
292
+ colSpan,
293
+ defaultValue: newDefaultValue,
294
+ isCurrent: newIsCurrent,
295
+ pickerType,
296
+ format,
297
+ validateStatus,
298
+ help,
299
+ showWrapperContainer,
300
+ wrapperContainer: WrapperContainer,
301
+ titleTip,
302
+ tipIcon,
303
+ tipLocation,
304
+ tipContent,
305
+ tipPlacement,
306
+ limitRange,
307
+ customExpression,
308
+ customTip,
309
+ startTime,
310
+ endTime,
311
+ isFormChild,
312
+ tipSize,
313
+ tipWidth,
314
+ tipHeight,
315
+ getEngineApis,
316
+ value: originValue,
317
+ valueFormat,
318
+ ...restProps
319
+ } = props;
320
+
321
+ const { onlySyncValue } = getEngineApis() || {};
322
+
323
+ const { getLocale, lang } = useLocale(getEngineApis?.() || {});
324
+
325
+ // 展示格式
326
+ const _format = useMemo(() => {
327
+ let newFormat = format;
328
+ if (!format) {
329
+ newFormat = restProps.showTime ? 'YYYY-MM-DD HH:mm:ss' : 'YYYY-MM-DD';
330
+ }
331
+ if (typeof lang === 'string' && !['zh-CN', 'zh-HK'].includes(lang)) {
332
+ let temFormatter = newFormat?.replace(/年|月/g, '/');
333
+ temFormatter = temFormatter?.replace(/日/g, '');
334
+ newFormat = temFormatter;
335
+ }
336
+ return newFormat;
337
+ }, [restProps.showTime, lang]);
338
+
339
+ // 取值格式
340
+ const finalValueFormat: any = useMemo(() => {
341
+ if (valueFormat === 'standard') {
342
+ const mode = restProps.showTime ? 'time' : restProps.timeMode;
343
+ return STANDARD_FORMAT[mode || 'date'] || _format;
344
+ }
345
+ return _format;
346
+ }, [_format, valueFormat, restProps.showTime, restProps.timeMode]);
347
+
348
+ // 这里做数据转化,编辑器校验及旧数据兼容
349
+ const defaultValue = useMemo(() => {
350
+ if (pickerType === 'RangePicker') {
351
+ return Array.isArray(props.defaultValue) ? props.defaultValue : undefined;
352
+ }
353
+ return props.defaultValue
354
+ ? parseDateFromFormat(props.defaultValue, [
355
+ finalValueFormat,
356
+ _format,
357
+ ])?.format(finalValueFormat)
358
+ : undefined;
359
+ }, [props.defaultValue, finalValueFormat]);
360
+
361
+ // onValueRelease等设值 出去的值转为string,而非 moment
362
+ const handleValue = (val: any) => {
363
+ if (!val) {
364
+ return val;
365
+ }
366
+ if (Array.isArray(val)) {
367
+ // 注意这里val里的元素可能不是moment对象而是null
368
+ // _i:moment对象的内置变量,当这个moment对象是使用format解析出来的时候,会用_i存储原始字符串值
369
+ return val.map((v) => (v?.isValid?.() ? v._i : v));
370
+ }
371
+ return val?.isValid?.() ? val._i : val; // eslint-disable-line no-underscore-dangle
372
+ };
373
+
374
+ const handleFormValue = (_val: any) => {
375
+ if (_val !== undefined) {
376
+ let formattedval;
377
+ // string 转 moment 为了 format 数据
378
+ if (pickerType === 'RangePicker') {
379
+ formattedval = Array.isArray(_val)
380
+ ? // @ts-ignore
381
+ _val.map((c) =>
382
+ parseDateFromFormat(c, [finalValueFormat, _format])?.format(
383
+ finalValueFormat,
384
+ ),
385
+ )
386
+ : undefined;
387
+ } else {
388
+ // @ts-ignore
389
+ formattedval = parseDateFromFormat(_val, [
390
+ finalValueFormat,
391
+ _format,
392
+ ])?.format(finalValueFormat); // eslint-disable-line no-underscore-dangle
393
+ }
394
+
395
+ // moment 转 string 为了取值正常
396
+ formattedval = handleValue(formattedval || _val);
397
+ return formattedval;
398
+ }
399
+ return undefined;
400
+ };
401
+ const {
402
+ formFieldsRef,
403
+ required,
404
+ readOnly,
405
+ disabled,
406
+ finalRules: temRules,
407
+ } = useCommonImperativeHandle(ref, props, {
408
+ clearValue() {
409
+ if (pickerType === 'RangePicker') {
410
+ onlySyncValue(undefined);
411
+ } else {
412
+ onlySyncValue('');
413
+ }
414
+ },
415
+ get value() {
416
+ return handleFormValue(props?.value);
417
+ },
418
+ });
419
+
420
+ const finalRules = useMemo(() => {
421
+ const rules: Rule[] = [];
422
+ const rangeCheckValidator = (_: any, val: any, callback?: Function) => {
423
+ // callback: Antd 3.x 风格的回调API,调用一下作为结果。对于Antd3来讲,这个callback必须调用
424
+ switch (limitRange) {
425
+ case 'afterToday':
426
+ if (moment(val) < moment(new Date().setHours(0, 0, 0, 0))) {
427
+ if (callback) {
428
+ callback(
429
+ customTip || getLocale('DatePicker.afterToday', { name }),
430
+ );
431
+ }
432
+ return Promise.reject(
433
+ new Error(
434
+ customTip || getLocale('DatePicker.afterToday', { name }),
435
+ ),
436
+ );
437
+ }
438
+ break;
439
+ case 'beforeToday':
440
+ if (
441
+ moment(val) >
442
+ moment(new Date().setHours(0, 0, 0, 0) + 24 * 60 * 60 * 1000 - 1)
443
+ ) {
444
+ if (callback) {
445
+ callback(
446
+ customTip || getLocale('DatePicker.afterToday', { name }),
447
+ );
448
+ }
449
+ return Promise.reject(
450
+ new Error(
451
+ customTip || getLocale('DatePicker.afterToday', { name }),
452
+ ),
453
+ );
454
+ }
455
+ break;
456
+ case 'period':
457
+ if (startTime && endTime && moment(startTime) <= moment(endTime)) {
458
+ if (
459
+ moment(val) < moment(startTime) ||
460
+ moment(val) > moment(endTime)
461
+ ) {
462
+ if (callback) {
463
+ callback(
464
+ customTip ||
465
+ getLocale('DatePicker.period', {
466
+ startTime,
467
+ endTime,
468
+ name,
469
+ }),
470
+ );
471
+ }
472
+ return Promise.reject(
473
+ new Error(
474
+ customTip ||
475
+ getLocale('DatePicker.period', {
476
+ startTime,
477
+ endTime,
478
+ name,
479
+ }),
480
+ ),
481
+ );
482
+ }
483
+ }
484
+ if (startTime && moment(val) < moment(startTime)) {
485
+ if (callback) {
486
+ callback(
487
+ customTip || getLocale('DatePicker.after', { name, startTime }),
488
+ );
489
+ }
490
+ return Promise.reject(
491
+ new Error(
492
+ customTip || getLocale('DatePicker.after', { name, startTime }),
493
+ ),
494
+ );
495
+ }
496
+ if (endTime && moment(val) > moment(endTime)) {
497
+ if (callback) {
498
+ callback(
499
+ customTip || getLocale('DatePicker.before', { name, endTime }),
500
+ );
501
+ }
502
+ return Promise.reject(
503
+ new Error(
504
+ customTip || getLocale('DatePicker.before', { name, endTime }),
505
+ ),
506
+ );
507
+ }
508
+ break;
509
+ default:
510
+ }
511
+ // if (callback) {
512
+ // callback();
513
+ // }
514
+ return Promise.resolve();
515
+ };
516
+ rules.push({ validator: rangeCheckValidator });
517
+ if (Array.isArray(temRules) && temRules.length > 0) {
518
+ rules.push(...(temRules || []));
519
+ }
520
+ return rules;
521
+ }, [
522
+ temRules,
523
+ required,
524
+ name,
525
+ customTip,
526
+ endTime,
527
+ startTime,
528
+ limitRange,
529
+ lang,
530
+ ]);
531
+
532
+ const value = useMemo(() => {
533
+ return handleFormValue(originValue);
534
+ }, [originValue, finalValueFormat]);
535
+
536
+ return (
537
+ <FormFields
538
+ {...getFieldsProps(props)}
539
+ readOnly={readOnly}
540
+ disabled={disabled}
541
+ required={required}
542
+ ref={formFieldsRef}
543
+ render={(val) => {
544
+ if (val !== undefined) {
545
+ return renderDatePicker(
546
+ Array.isArray(val)
547
+ ? val.map((v) =>
548
+ parseDateFromFormat(v, [finalValueFormat, _format])?.format(
549
+ _format,
550
+ ),
551
+ )
552
+ : (parseDateFromFormat(val, [finalValueFormat, _format])?.format(
553
+ _format,
554
+ ) as any),
555
+ props.separator,
556
+ );
557
+ }
558
+ return '--';
559
+ }}
560
+ wrapperClassName={DATEPICKER_WRAPPER_CLASSNAME}
561
+ rules={finalRules}
562
+ value={value}
563
+ defaultValue={defaultValue}
564
+ handleFormValue={handleFormValue}
565
+ >
566
+ <FormDatePicker
567
+ disabledDate={(current) => {
568
+ const checkLimitList = ['afterToday', 'beforeToday', 'period'];
569
+ if (!checkLimitList.includes(limitRange)) return false;
570
+ let myStart = startTime;
571
+ let myEnd = endTime;
572
+ if (limitRange === 'afterToday') {
573
+ myStart = moment().format('YYYY-MM-DD');
574
+ myEnd = undefined;
575
+ return current?.format('YYYY-MM-DD') < myStart;
576
+ }
577
+ if (limitRange === 'beforeToday') {
578
+ myStart = undefined;
579
+ myEnd = moment().format('YYYY-MM-DD');
580
+ return current?.format('YYYY-MM-DD') > myEnd;
581
+ }
582
+ const _format = 'YYYY-MM-DD';
583
+ // 将所有时间格式统一,进行比较
584
+ const currentDate = current?.format(_format);
585
+ const startTimeDate = parseDateFromFormat(
586
+ myStart,
587
+ parseFormats,
588
+ )?.format(_format);
589
+ const endTimeDate = parseDateFromFormat(myEnd, parseFormats)?.format(
590
+ _format,
591
+ );
592
+ return (
593
+ moment(currentDate) < moment(startTimeDate) ||
594
+ moment(currentDate) > moment(endTimeDate)
595
+ );
596
+ }}
597
+ disabledTime={(current) => {
598
+ const checkLimitList = ['afterToday', 'beforeToday', 'period'];
599
+ if (!checkLimitList.includes(limitRange)) return undefined;
600
+ const _format = 'YYYY-MM-DD HH:mm:ss';
601
+ const _formaDay = 'YYYY-MM-DD';
602
+ let myStart = startTime;
603
+ let myEnd = endTime;
604
+ if (limitRange === 'afterToday') {
605
+ myStart = moment().format('YYYY-MM-DD');
606
+ myEnd = undefined;
607
+ }
608
+ if (limitRange === 'beforeToday') {
609
+ myStart = undefined;
610
+ myEnd = moment().format('YYYY-MM-DD');
611
+ }
612
+ // 将所有时间格式统一,进行比较
613
+ // 获取时分秒数据
614
+ const startTimeDate = parseDateFromFormat(
615
+ myStart,
616
+ parseFormats,
617
+ )?.format(_format);
618
+ const endTimeDate = parseDateFromFormat(myEnd, parseFormats)?.format(
619
+ _format,
620
+ );
621
+ // 获取日期
622
+ const currentTimeDay = current?.format(_formaDay);
623
+ const startTimeDay = moment(myStart, parseFormats, true)?.format(
624
+ _formaDay,
625
+ );
626
+ const endTimeDay = moment(myEnd, parseFormats, true)?.format(
627
+ _formaDay,
628
+ );
629
+
630
+ const startDate = new Date(startTimeDate!);
631
+ const endDate = new Date(endTimeDate!);
632
+ const currentDate = new Date(current?.format(_format));
633
+ // 获取开始时间和结束时间的小时、分钟和秒钟
634
+ const startHour = startDate.getHours();
635
+ const startMinute = startDate.getMinutes();
636
+ const startSecond = startDate.getSeconds();
637
+ const endHour = endDate.getHours();
638
+ const endMinute = endDate.getMinutes();
639
+ const endSecond = endDate.getSeconds();
640
+
641
+ const currentHour = currentDate?.getHours();
642
+ const currentMinute = currentDate?.getMinutes();
643
+
644
+ // eslint-disable-next-line eqeqeq
645
+ if (startTimeDay == currentTimeDay) {
646
+ // 如果当前小时大于开始小时
647
+ if (currentHour > startHour) {
648
+ return {
649
+ disabledHours: () =>
650
+ startHour ? [...Array(startHour).keys()] : [], // 如果当前日期和startTime相同,禁止选择startTime之前的小时
651
+ disabledMinutes: () => [],
652
+ disabledSeconds: () => [],
653
+ };
654
+ // 如果当前小时等于开始小时,且当前分钟大于开始分钟
655
+ }
656
+ if (currentHour === startHour) {
657
+ if (currentMinute > startMinute) {
658
+ return {
659
+ disabledHours: () =>
660
+ startHour ? [...Array(startHour).keys()] : [], // 如果当前日期和startTime相同,禁止选择startTime之前的小时
661
+ disabledMinutes: () =>
662
+ startMinute ? [...Array(startMinute).keys()] : [], // 如果当前日期和startTime相同,禁止选择startTime之前的分钟
663
+ disabledSeconds: () => [],
664
+ };
665
+ }
666
+ }
667
+ // 否则就按照开始时间的小时、分钟、秒钟来禁用
668
+ return {
669
+ disabledHours: () =>
670
+ startHour ? [...Array(startHour).keys()] : [], // 如果当前日期和startTime相同,禁止选择startTime之前的小时
671
+ disabledMinutes: () =>
672
+ startMinute ? [...Array(startMinute).keys()] : [], // 如果当前日期和startTime相同,禁止选择startTime之前的分钟
673
+ disabledSeconds: () =>
674
+ startSecond ? [...Array(startSecond).keys()] : [], // 如果当前日期和startTime相同,禁止选择startTime之前的秒钟
675
+ };
676
+ }
677
+ // eslint-disable-next-line eqeqeq
678
+ if (endTimeDay == currentTimeDay) {
679
+ // 当前小时小于结束小时
680
+ if (currentHour < endHour) {
681
+ return {
682
+ disabledHours: () =>
683
+ endHour
684
+ ? [...Array(24 - endHour - 1).keys()].map(
685
+ (h) => h + endHour + 1,
686
+ )
687
+ : [], // 如果当前日期和endTime相同,禁止选择endTime之后的小时
688
+ disabledMinutes: () => [],
689
+ disabledSeconds: () => [],
690
+ };
691
+ // 当当前小时等于结束小时,且当前分钟小于结束分钟
692
+ }
693
+ if (currentHour === endHour) {
694
+ if (currentMinute < endMinute) {
695
+ return {
696
+ disabledHours: () =>
697
+ endHour
698
+ ? [...Array(24 - endHour - 1).keys()].map(
699
+ (h) => h + endHour + 1,
700
+ )
701
+ : [], // 如果当前日期和endTime相同,禁止选择endTime之后的小时
702
+ disabledMinutes: () =>
703
+ endMinute
704
+ ? [...Array(60 - endMinute - 1).keys()].map(
705
+ (m) => m + endMinute + 1,
706
+ )
707
+ : [], // 如果当前日期和endTime相同,禁止选择endTime之后的分钟
708
+ disabledSeconds: () => [],
709
+ };
710
+ }
711
+ }
712
+ return {
713
+ disabledHours: () =>
714
+ endHour
715
+ ? [...Array(24 - endHour - 1).keys()].map(
716
+ (h) => h + endHour + 1,
717
+ )
718
+ : [], // 如果当前日期和endTime相同,禁止选择endTime之后的小时
719
+ disabledMinutes: () =>
720
+ endMinute
721
+ ? [...Array(60 - endMinute - 1).keys()].map(
722
+ (m) => m + endMinute + 1,
723
+ )
724
+ : [], // 如果当前日期和endTime相同,禁止选择endTime之后的分钟
725
+ disabledSeconds: () =>
726
+ endSecond
727
+ ? [...Array(60 - endSecond - 1).keys()].map(
728
+ (s) => s + endSecond + 1,
729
+ )
730
+ : [], // 如果当前日期和endTime相同,禁止选择endTime之后的秒钟
731
+ };
732
+ }
733
+ return undefined;
734
+ }}
735
+ {...restProps}
736
+ pickerType={pickerType}
737
+ valueFormat={finalValueFormat}
738
+ format={_format}
739
+ onChange={(e: any) => {
740
+ if (onChange) {
741
+ const arr = [e];
742
+ if (pickerType === 'RangePicker' && Array.isArray(e)) {
743
+ arr.push(e[0]);
744
+ arr.push(e[1]);
745
+ }
746
+ onChange(...arr);
747
+ }
748
+ }}
749
+ />
750
+ </FormFields>
751
+ );
752
+ // {checkResult ? null : <div className="noFormTip">{checkTip}</div>}
753
+ });
754
+
755
+ export default DatePicker;
756
+ export { DATEPICKER_WRAPPER_CLASSNAME, WrapperDatePicker };