@cloudbase/weda-ui 3.2.0 → 3.3.0

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 (356) hide show
  1. package/dist/cypress/support/commands.d.ts +1 -0
  2. package/dist/cypress/support/commands.js +40 -0
  3. package/dist/cypress/support/e2e.d.ts +24 -0
  4. package/dist/cypress/support/e2e.js +22 -0
  5. package/dist/src/configs/actions/showModal.json +48 -0
  6. package/dist/src/configs/actions/showToast.json +41 -0
  7. package/dist/src/configs/components/auth.json +16 -0
  8. package/dist/src/configs/components/button.json +239 -0
  9. package/dist/src/configs/components/calendar.json +81 -0
  10. package/dist/src/configs/components/carousel.json +292 -0
  11. package/dist/src/configs/components/chart/bar.json +962 -0
  12. package/dist/src/configs/components/chart/line.json +878 -0
  13. package/dist/src/configs/components/chart/pie.json +685 -0
  14. package/dist/src/configs/components/chart/statisticsCard.json +376 -0
  15. package/dist/src/configs/components/container.json +50 -0
  16. package/dist/src/configs/components/dataView.json +247 -0
  17. package/dist/src/configs/components/drawer.json +115 -0
  18. package/dist/src/configs/components/form/checkbox.json +179 -0
  19. package/dist/src/configs/components/form/departTreeSelect.json +124 -0
  20. package/dist/src/configs/components/form/form.json +73 -0
  21. package/dist/src/configs/components/form/input.json +154 -0
  22. package/dist/src/configs/components/form/location.json +216 -0
  23. package/dist/src/configs/components/form/radio.json +203 -0
  24. package/dist/src/configs/components/form/richText.json +133 -0
  25. package/dist/src/configs/components/form/select.json +449 -0
  26. package/dist/src/configs/components/form/switch.json +58 -0
  27. package/dist/src/configs/components/form/textarea.json +116 -0
  28. package/dist/src/configs/components/form/tips.json +34 -0
  29. package/dist/src/configs/components/form/uploader.json +171 -0
  30. package/dist/src/configs/components/form/uploaderFile.json +158 -0
  31. package/dist/src/configs/components/form/userTreeSelect.json +128 -0
  32. package/dist/src/configs/components/formdetail.json +105 -0
  33. package/dist/src/configs/components/graphicCard.json +413 -0
  34. package/dist/src/configs/components/image.json +187 -0
  35. package/dist/src/configs/components/link.json +79 -0
  36. package/dist/src/configs/components/listView.json +378 -0
  37. package/dist/src/configs/components/lottery.json +163 -0
  38. package/dist/src/configs/components/modal.json +72 -0
  39. package/dist/src/configs/components/navLayout.json +368 -0
  40. package/dist/src/configs/components/navigationBar.json +62 -0
  41. package/dist/src/configs/components/richtextview.json +26 -0
  42. package/dist/src/configs/components/scrollVeiw.json +253 -0
  43. package/dist/src/configs/components/slot.json +17 -0
  44. package/dist/src/configs/components/swiper.json +90 -0
  45. package/dist/src/configs/components/tabs.json +122 -0
  46. package/dist/src/configs/components/text.json +95 -0
  47. package/dist/src/configs/components/wedaVideo.json +89 -0
  48. package/dist/src/configs/components/wxOpenApi/phone.json +127 -0
  49. package/dist/src/configs/components/wxOpenApi/phoneCode.json +109 -0
  50. package/dist/src/configs/components/wxOpenApi/share.json +160 -0
  51. package/dist/src/configs/components/wxOpenApi/userInfo.json +156 -0
  52. package/dist/src/configs/index.d.ts +103 -0
  53. package/dist/src/configs/index.js +111 -0
  54. package/dist/src/docs/common/format.d.ts +13 -0
  55. package/dist/src/docs/common/format.js +122 -0
  56. package/dist/src/docs/common/tableView.d.ts +30 -0
  57. package/dist/src/docs/common/tableView.js +156 -0
  58. package/dist/src/index.d.ts +2 -0
  59. package/dist/src/index.js +3 -0
  60. package/dist/src/setupTests.d.ts +2 -0
  61. package/dist/src/setupTests.js +19 -0
  62. package/dist/src/web/actions/index.d.ts +2 -0
  63. package/dist/src/web/actions/index.js +2 -0
  64. package/dist/src/web/actions/showModal/index.d.ts +4 -0
  65. package/dist/src/web/actions/showModal/index.js +66 -0
  66. package/dist/src/web/actions/showToast/index.d.ts +1 -0
  67. package/dist/src/web/actions/showToast/index.js +3 -0
  68. package/dist/src/web/components/button/index.d.ts +32 -0
  69. package/dist/src/web/components/button/index.js +48 -0
  70. package/dist/src/web/components/calendar/index.d.ts +19 -0
  71. package/dist/src/web/components/calendar/index.js +191 -0
  72. package/dist/src/web/components/calendar/util.d.ts +13 -0
  73. package/dist/src/web/components/calendar/util.js +74 -0
  74. package/dist/src/web/components/carousel/index.d.ts +41 -0
  75. package/dist/src/web/components/carousel/index.js +244 -0
  76. package/dist/src/web/components/chart/bar/index.d.ts +3 -0
  77. package/dist/src/web/components/chart/bar/index.js +45 -0
  78. package/dist/src/web/components/chart/bar/index.old.d.ts +40 -0
  79. package/dist/src/web/components/chart/bar/index.old.js +56 -0
  80. package/dist/src/web/components/chart/common/Chart.d.ts +10 -0
  81. package/dist/src/web/components/chart/common/Chart.js +31 -0
  82. package/dist/src/web/components/chart/common/chart-custom-connector.d.ts +6 -0
  83. package/dist/src/web/components/chart/common/chart-custom-connector.js +35 -0
  84. package/dist/src/web/components/chart/common/chart-error.d.ts +2 -0
  85. package/dist/src/web/components/chart/common/chart-error.js +2 -0
  86. package/dist/src/web/components/chart/common/config/bar.d.ts +48 -0
  87. package/dist/src/web/components/chart/common/config/bar.js +49 -0
  88. package/dist/src/web/components/chart/common/config/global.d.ts +13 -0
  89. package/dist/src/web/components/chart/common/config/global.js +16 -0
  90. package/dist/src/web/components/chart/common/config/line.d.ts +46 -0
  91. package/dist/src/web/components/chart/common/config/line.js +49 -0
  92. package/dist/src/web/components/chart/common/config/pie.d.ts +29 -0
  93. package/dist/src/web/components/chart/common/config/pie.js +36 -0
  94. package/dist/src/web/components/chart/common/core/eChartBar.d.ts +66 -0
  95. package/dist/src/web/components/chart/common/core/eChartBar.js +201 -0
  96. package/dist/src/web/components/chart/common/core/eChartBase.d.ts +127 -0
  97. package/dist/src/web/components/chart/common/core/eChartBase.js +394 -0
  98. package/dist/src/web/components/chart/common/core/eChartLine.d.ts +60 -0
  99. package/dist/src/web/components/chart/common/core/eChartLine.js +173 -0
  100. package/dist/src/web/components/chart/common/core/eChartPie.d.ts +48 -0
  101. package/dist/src/web/components/chart/common/core/eChartPie.js +135 -0
  102. package/dist/src/web/components/chart/common/core/type.d.ts +35 -0
  103. package/dist/src/web/components/chart/common/core/type.js +9 -0
  104. package/dist/src/web/components/chart/common/data-transform.d.ts +6 -0
  105. package/dist/src/web/components/chart/common/data-transform.js +248 -0
  106. package/dist/src/web/components/chart/common/echarts.d.ts +5 -0
  107. package/dist/src/web/components/chart/common/echarts.js +24 -0
  108. package/dist/src/web/components/chart/common/error-boundary.d.ts +5 -0
  109. package/dist/src/web/components/chart/common/error-boundary.js +26 -0
  110. package/dist/src/web/components/chart/common/useChart.d.ts +8 -0
  111. package/dist/src/web/components/chart/common/useChart.js +72 -0
  112. package/dist/src/web/components/chart/line/index.d.ts +3 -0
  113. package/dist/src/web/components/chart/line/index.js +42 -0
  114. package/dist/src/web/components/chart/line/index.old.d.ts +38 -0
  115. package/dist/src/web/components/chart/line/index.old.js +53 -0
  116. package/dist/src/web/components/chart/pie/index.d.ts +3 -0
  117. package/dist/src/web/components/chart/pie/index.js +42 -0
  118. package/dist/src/web/components/chart/pie/index.old.d.ts +27 -0
  119. package/dist/src/web/components/chart/pie/index.old.js +40 -0
  120. package/dist/src/web/components/chart/statisticsCard/index.d.ts +85 -0
  121. package/dist/src/web/components/chart/statisticsCard/index.js +203 -0
  122. package/dist/src/web/components/chart/statisticsCard/interface.d.ts +13 -0
  123. package/dist/src/web/components/chart/statisticsCard/interface.js +1 -0
  124. package/dist/src/web/components/common/error-boundary.d.ts +5 -0
  125. package/dist/src/web/components/common/error-boundary.js +33 -0
  126. package/dist/src/web/components/common/portal.d.ts +7 -0
  127. package/dist/src/web/components/common/portal.js +14 -0
  128. package/dist/src/web/components/common/use-loop-render-detect.d.ts +11 -0
  129. package/dist/src/web/components/common/use-loop-render-detect.js +124 -0
  130. package/dist/src/web/components/container/index.d.ts +6 -0
  131. package/dist/src/web/components/container/index.js +6 -0
  132. package/dist/src/web/components/dataView/index.d.ts +6 -0
  133. package/dist/src/web/components/dataView/index.js +8 -0
  134. package/dist/src/web/components/dataView/interface.d.ts +5 -0
  135. package/dist/src/web/components/dataView/interface.js +1 -0
  136. package/dist/src/web/components/drawer/index.d.ts +13 -0
  137. package/dist/src/web/components/drawer/index.js +12 -0
  138. package/dist/src/web/components/form/checkbox/index.d.ts +13 -0
  139. package/dist/src/web/components/form/checkbox/index.js +167 -0
  140. package/dist/src/web/components/form/enumSelect/MultipleSelect.d.ts +78 -0
  141. package/dist/src/web/components/form/enumSelect/MultipleSelect.js +52 -0
  142. package/dist/src/web/components/form/enumSelect/NormalSelect.d.ts +83 -0
  143. package/dist/src/web/components/form/enumSelect/NormalSelect.js +52 -0
  144. package/dist/src/web/components/form/enumSelect/SelectContainer.d.ts +16 -0
  145. package/dist/src/web/components/form/enumSelect/SelectContainer.js +30 -0
  146. package/dist/src/web/components/form/enumSelect/index.d.ts +82 -0
  147. package/dist/src/web/components/form/enumSelect/index.js +6 -0
  148. package/dist/src/web/components/form/enumSelect/props/defaultProps.d.ts +34 -0
  149. package/dist/src/web/components/form/enumSelect/props/defaultProps.js +40 -0
  150. package/dist/src/web/components/form/enumSelect/props/propsTypes.d.ts +39 -0
  151. package/dist/src/web/components/form/enumSelect/props/propsTypes.js +47 -0
  152. package/dist/src/web/components/form/form/index.d.ts +32 -0
  153. package/dist/src/web/components/form/form/index.js +150 -0
  154. package/dist/src/web/components/form/formcell/index.d.ts +8 -0
  155. package/dist/src/web/components/form/formcell/index.js +40 -0
  156. package/dist/src/web/components/form/input/index.d.ts +14 -0
  157. package/dist/src/web/components/form/input/index.js +94 -0
  158. package/dist/src/web/components/form/location/common/mapChoose.d.ts +15 -0
  159. package/dist/src/web/components/form/location/common/mapChoose.js +496 -0
  160. package/dist/src/web/components/form/location/common/mapView.d.ts +19 -0
  161. package/dist/src/web/components/form/location/common/mapView.js +175 -0
  162. package/dist/src/web/components/form/location/common/propsConfig.d.ts +59 -0
  163. package/dist/src/web/components/form/location/common/propsConfig.js +50 -0
  164. package/dist/src/web/components/form/location/common/selectModal.d.ts +21 -0
  165. package/dist/src/web/components/form/location/common/selectModal.js +44 -0
  166. package/dist/src/web/components/form/location/common/tmap.d.ts +3 -0
  167. package/dist/src/web/components/form/location/common/tmap.js +21 -0
  168. package/dist/src/web/components/form/location/common/useLocationInfo.d.ts +36 -0
  169. package/dist/src/web/components/form/location/common/useLocationInfo.js +105 -0
  170. package/dist/src/web/components/form/location/components/LocationH5/location.h5.d.ts +8 -0
  171. package/dist/src/web/components/form/location/components/LocationH5/location.h5.js +328 -0
  172. package/dist/src/web/components/form/location/components/LocationPC/Header.d.ts +12 -0
  173. package/dist/src/web/components/form/location/components/LocationPC/Header.js +43 -0
  174. package/dist/src/web/components/form/location/components/LocationPC/location.PC.d.ts +8 -0
  175. package/dist/src/web/components/form/location/components/LocationPC/location.PC.js +228 -0
  176. package/dist/src/web/components/form/location/constants.d.ts +2 -0
  177. package/dist/src/web/components/form/location/constants.js +3 -0
  178. package/dist/src/web/components/form/location/index.d.ts +1 -0
  179. package/dist/src/web/components/form/location/index.js +24 -0
  180. package/dist/src/web/components/form/radio/index.d.ts +11 -0
  181. package/dist/src/web/components/form/radio/index.js +115 -0
  182. package/dist/src/web/components/form/renderDecorator.d.ts +6 -0
  183. package/dist/src/web/components/form/renderDecorator.js +20 -0
  184. package/dist/src/web/components/form/select/allTimePicker/calendar.d.ts +13 -0
  185. package/dist/src/web/components/form/select/allTimePicker/calendar.js +104 -0
  186. package/dist/src/web/components/form/select/allTimePicker/dataUtils.d.ts +24 -0
  187. package/dist/src/web/components/form/select/allTimePicker/dataUtils.js +265 -0
  188. package/dist/src/web/components/form/select/allTimePicker/index.d.ts +14 -0
  189. package/dist/src/web/components/form/select/allTimePicker/index.js +944 -0
  190. package/dist/src/web/components/form/select/dropdown-select/ui.d.ts +15 -0
  191. package/dist/src/web/components/form/select/dropdown-select/ui.js +55 -0
  192. package/dist/src/web/components/form/select/h5.d.ts +16 -0
  193. package/dist/src/web/components/form/select/h5.js +466 -0
  194. package/dist/src/web/components/form/select/index.d.ts +66 -0
  195. package/dist/src/web/components/form/select/index.js +255 -0
  196. package/dist/src/web/components/form/select/region/index.d.ts +6 -0
  197. package/dist/src/web/components/form/select/region/index.js +147 -0
  198. package/dist/src/web/components/form/select/time.d.ts +9 -0
  199. package/dist/src/web/components/form/select/time.js +146 -0
  200. package/dist/src/web/components/form/select/use-options.d.ts +26 -0
  201. package/dist/src/web/components/form/select/use-options.js +103 -0
  202. package/dist/src/web/components/form/select/year.d.ts +7 -0
  203. package/dist/src/web/components/form/select/year.js +72 -0
  204. package/dist/src/web/components/form/switch/index.d.ts +6 -0
  205. package/dist/src/web/components/form/switch/index.js +58 -0
  206. package/dist/src/web/components/form/textarea/index.d.ts +12 -0
  207. package/dist/src/web/components/form/textarea/index.js +66 -0
  208. package/dist/src/web/components/form/tips/index.d.ts +8 -0
  209. package/dist/src/web/components/form/tips/index.js +17 -0
  210. package/dist/src/web/components/form/uploader/index.d.ts +3 -0
  211. package/dist/src/web/components/form/uploader/index.js +42 -0
  212. package/dist/src/web/components/form/uploader/uploader.h5.d.ts +20 -0
  213. package/dist/src/web/components/form/uploader/uploader.h5.js +199 -0
  214. package/dist/src/web/components/form/uploader/uploader.pc.d.ts +29 -0
  215. package/dist/src/web/components/form/uploader/uploader.pc.js +208 -0
  216. package/dist/src/web/components/form/uploaderFile/index.d.ts +4 -0
  217. package/dist/src/web/components/form/uploaderFile/index.js +19 -0
  218. package/dist/src/web/components/form/uploaderFile/uploadFile.h5.d.ts +23 -0
  219. package/dist/src/web/components/form/uploaderFile/uploadFile.h5.js +330 -0
  220. package/dist/src/web/components/form/uploaderFile/uploadFile.pc.d.ts +24 -0
  221. package/dist/src/web/components/form/uploaderFile/uploadFile.pc.js +302 -0
  222. package/dist/src/web/components/form/userOrgSelect/comTool.d.ts +8 -0
  223. package/dist/src/web/components/form/userOrgSelect/comTool.js +101 -0
  224. package/dist/src/web/components/form/userOrgSelect/departTreeSelect/departTreeSelect.h5.d.ts +19 -0
  225. package/dist/src/web/components/form/userOrgSelect/departTreeSelect/departTreeSelect.h5.js +252 -0
  226. package/dist/src/web/components/form/userOrgSelect/departTreeSelect/departTreeSelect.pc.d.ts +4 -0
  227. package/dist/src/web/components/form/userOrgSelect/departTreeSelect/departTreeSelect.pc.js +157 -0
  228. package/dist/src/web/components/form/userOrgSelect/departTreeSelect/index.d.ts +2 -0
  229. package/dist/src/web/components/form/userOrgSelect/departTreeSelect/index.js +17 -0
  230. package/dist/src/web/components/form/userOrgSelect/getUserService.d.ts +11 -0
  231. package/dist/src/web/components/form/userOrgSelect/getUserService.js +159 -0
  232. package/dist/src/web/components/form/userOrgSelect/index.d.ts +2 -0
  233. package/dist/src/web/components/form/userOrgSelect/index.js +17 -0
  234. package/dist/src/web/components/form/userOrgSelect/userTreeSelect.h5.d.ts +27 -0
  235. package/dist/src/web/components/form/userOrgSelect/userTreeSelect.h5.js +276 -0
  236. package/dist/src/web/components/form/userOrgSelect/userTreeSelect.pc.d.ts +9 -0
  237. package/dist/src/web/components/form/userOrgSelect/userTreeSelect.pc.js +253 -0
  238. package/dist/src/web/components/form/userOrgSelect/utils.d.ts +36 -0
  239. package/dist/src/web/components/form/userOrgSelect/utils.js +80 -0
  240. package/dist/src/web/components/formdetail/index.d.ts +28 -0
  241. package/dist/src/web/components/formdetail/index.js +173 -0
  242. package/dist/src/web/components/graphicCard/index.d.ts +46 -0
  243. package/dist/src/web/components/graphicCard/index.js +178 -0
  244. package/dist/src/web/components/image/image.d.ts +9 -0
  245. package/dist/src/web/components/image/image.js +119 -0
  246. package/dist/src/web/components/image/index.d.ts +13 -0
  247. package/dist/src/web/components/image/index.js +77 -0
  248. package/dist/src/web/components/index.d.ts +50 -0
  249. package/dist/src/web/components/index.js +99 -0
  250. package/dist/src/web/components/link/index.d.ts +24 -0
  251. package/dist/src/web/components/link/index.js +71 -0
  252. package/dist/src/web/components/listView/index.d.ts +7 -0
  253. package/dist/src/web/components/listView/index.js +297 -0
  254. package/dist/src/web/components/listView/interface.d.ts +127 -0
  255. package/dist/src/web/components/listView/interface.js +1 -0
  256. package/dist/src/web/components/lottery/index.d.ts +22 -0
  257. package/dist/src/web/components/lottery/index.js +385 -0
  258. package/dist/src/web/components/lottery/lotteryUtil.d.ts +23 -0
  259. package/dist/src/web/components/lottery/lotteryUtil.js +181 -0
  260. package/dist/src/web/components/modal/index.d.ts +17 -0
  261. package/dist/src/web/components/modal/index.js +11 -0
  262. package/dist/src/web/components/modal/modal.h5.d.ts +4 -0
  263. package/dist/src/web/components/modal/modal.h5.js +46 -0
  264. package/dist/src/web/components/modal/modal.pc.d.ts +3 -0
  265. package/dist/src/web/components/modal/modal.pc.js +31 -0
  266. package/dist/src/web/components/navLayout/index.d.ts +61 -0
  267. package/dist/src/web/components/navLayout/index.js +127 -0
  268. package/dist/src/web/components/navigationBar/common.d.ts +15 -0
  269. package/dist/src/web/components/navigationBar/common.js +127 -0
  270. package/dist/src/web/components/navigationBar/h5Menu.d.ts +14 -0
  271. package/dist/src/web/components/navigationBar/h5Menu.js +72 -0
  272. package/dist/src/web/components/navigationBar/horizontalMenu.d.ts +12 -0
  273. package/dist/src/web/components/navigationBar/horizontalMenu.js +99 -0
  274. package/dist/src/web/components/navigationBar/index.d.ts +13 -0
  275. package/dist/src/web/components/navigationBar/index.js +157 -0
  276. package/dist/src/web/components/navigationBar/verticalMenu.d.ts +13 -0
  277. package/dist/src/web/components/navigationBar/verticalMenu.js +38 -0
  278. package/dist/src/web/components/phone/index.d.ts +18 -0
  279. package/dist/src/web/components/phone/index.js +4 -0
  280. package/dist/src/web/components/phoneCode/index.d.ts +18 -0
  281. package/dist/src/web/components/phoneCode/index.js +4 -0
  282. package/dist/src/web/components/picker/datePicker.d.ts +10 -0
  283. package/dist/src/web/components/picker/datePicker.js +31 -0
  284. package/dist/src/web/components/picker/picker.d.ts +6 -0
  285. package/dist/src/web/components/picker/picker.js +45 -0
  286. package/dist/src/web/components/picker/timePicker.d.ts +7 -0
  287. package/dist/src/web/components/picker/timePicker.js +42 -0
  288. package/dist/src/web/components/richText/const.d.ts +1 -0
  289. package/dist/src/web/components/richText/const.js +2 -0
  290. package/dist/src/web/components/richText/index.d.ts +50 -0
  291. package/dist/src/web/components/richText/index.js +351 -0
  292. package/dist/src/web/components/richTextView/index.d.ts +7 -0
  293. package/dist/src/web/components/richTextView/index.js +46 -0
  294. package/dist/src/web/components/scrollView/index.d.ts +26 -0
  295. package/dist/src/web/components/scrollView/index.js +97 -0
  296. package/dist/src/web/components/share/index.d.ts +34 -0
  297. package/dist/src/web/components/share/index.js +4 -0
  298. package/dist/src/web/components/slot/index.d.ts +6 -0
  299. package/dist/src/web/components/slot/index.js +9 -0
  300. package/dist/src/web/components/swiper/index.d.ts +24 -0
  301. package/dist/src/web/components/swiper/index.js +153 -0
  302. package/dist/src/web/components/tabs/index.d.ts +13 -0
  303. package/dist/src/web/components/tabs/index.js +20 -0
  304. package/dist/src/web/components/tabs/tabs.h5.d.ts +4 -0
  305. package/dist/src/web/components/tabs/tabs.h5.js +44 -0
  306. package/dist/src/web/components/tabs/tabs.pc.d.ts +3 -0
  307. package/dist/src/web/components/tabs/tabs.pc.js +40 -0
  308. package/dist/src/web/components/text/index.d.ts +14 -0
  309. package/dist/src/web/components/text/index.js +19 -0
  310. package/dist/src/web/components/uploaderFileView/index.d.ts +10 -0
  311. package/dist/src/web/components/uploaderFileView/index.js +46 -0
  312. package/dist/src/web/components/uploaderView/index.d.ts +17 -0
  313. package/dist/src/web/components/uploaderView/index.js +48 -0
  314. package/dist/src/web/components/userInfo/index.d.ts +26 -0
  315. package/dist/src/web/components/userInfo/index.js +4 -0
  316. package/dist/src/web/components/wedaVideo/index.d.ts +17 -0
  317. package/dist/src/web/components/wedaVideo/index.js +156 -0
  318. package/dist/src/web/index.d.ts +8 -0
  319. package/dist/src/web/index.js +4 -0
  320. package/dist/src/web/utils/classnames.d.ts +2 -0
  321. package/dist/src/web/utils/classnames.js +37 -0
  322. package/dist/src/web/utils/console.d.ts +3 -0
  323. package/dist/src/web/utils/console.js +26 -0
  324. package/dist/src/web/utils/constant.d.ts +23 -0
  325. package/dist/src/web/utils/constant.js +24 -0
  326. package/dist/src/web/utils/debounce.d.ts +2 -0
  327. package/dist/src/web/utils/debounce.js +92 -0
  328. package/dist/src/web/utils/getLocalCounter.d.ts +1 -0
  329. package/dist/src/web/utils/getLocalCounter.js +4 -0
  330. package/dist/src/web/utils/getUserService.d.ts +11 -0
  331. package/dist/src/web/utils/getUserService.js +156 -0
  332. package/dist/src/web/utils/isObjectEqual.d.ts +2 -0
  333. package/dist/src/web/utils/isObjectEqual.js +12 -0
  334. package/dist/src/web/utils/loading-fallback.d.ts +2 -0
  335. package/dist/src/web/utils/loading-fallback.js +2 -0
  336. package/dist/src/web/utils/lodash.d.ts +1 -0
  337. package/dist/src/web/utils/lodash.js +2 -0
  338. package/dist/src/web/utils/platform.d.ts +18 -0
  339. package/dist/src/web/utils/platform.js +193 -0
  340. package/dist/src/web/utils/tcb.d.ts +33 -0
  341. package/dist/src/web/utils/tcb.js +118 -0
  342. package/dist/src/web/utils/tmap.d.ts +3 -0
  343. package/dist/src/web/utils/tmap.js +21 -0
  344. package/dist/src/web/utils/use-cloud-id-temp-url.d.ts +1 -0
  345. package/dist/src/web/utils/use-cloud-id-temp-url.js +15 -0
  346. package/dist/src/web/utils/useSetState.d.ts +1 -0
  347. package/dist/src/web/utils/useSetState.js +8 -0
  348. package/dist/src/web/utils/useSyncValue.d.ts +4 -0
  349. package/dist/src/web/utils/useSyncValue.js +16 -0
  350. package/dist/src/web/utils/weui.d.ts +1 -0
  351. package/dist/src/web/utils/weui.js +2 -0
  352. package/dist/web/components/form/input/index.css +16 -0
  353. package/dist/web/components/form/select/allTimePicker/calendar.css +114 -0
  354. package/dist/web/components/form/select/allTimePicker/index.css +136 -0
  355. package/dist/web/components/form/userOrgSelect/userOrgSelect.css +809 -0
  356. package/package.json +34 -21
@@ -0,0 +1,944 @@
1
+ /* eslint-disable react-hooks/exhaustive-deps */
2
+ import React, { useEffect, useRef, useState } from 'react';
3
+ import Calendar from './calendar';
4
+ import { Portal } from '../../../common/portal';
5
+ import './index.css';
6
+ import { defaultData, defaultDateTime, getCurrentHoursIndex, getCurrentMinutesIndex, getCurrentMonthIndex, getCurrentSecondsIndex, getCurrentYearIndex, getFormatData, getIndex, getIOSNotNaNDate, getLastDate, getStartDate, isSpace, } from './dataUtils';
7
+ /**
8
+ * 年月日时分秒日期选择器
9
+ */
10
+ export default function AllTimePicker({ startDate, endDate, defaultDate, title, onAllTimeCallback, }) {
11
+ // 滑动监听参数
12
+ const dateRef = useRef();
13
+ const dateTimeRef = useRef();
14
+ const heightRef = useRef(40);
15
+ // 时间、月份切换
16
+ const [selectMonth, setSelectMonth] = useState(false);
17
+ const [selectTime, setSelectTime] = useState(false);
18
+ // 默认选中的日期
19
+ const [yearIndex, setYearIndex] = useState(getCurrentYearIndex());
20
+ const [monthIndex, setMonthIndex] = useState(getCurrentMonthIndex());
21
+ const [hoursIndex, setHoursIndex] = useState(getCurrentHoursIndex());
22
+ const [minutesIndex, setMinutesIndex] = useState(getCurrentMinutesIndex());
23
+ const [secondsIndex, setSecondsIndex] = useState(getCurrentSecondsIndex());
24
+ // 日历选择回调函数
25
+ const [selectDay, setSelectDay] = useState(new Date().getDate());
26
+ // 真实日期列表
27
+ const [date, setRealDate] = useState(defaultData());
28
+ const [dateTime, setRealDateTime] = useState(defaultDateTime);
29
+ // 开始时间
30
+ const [startTime, setStartTime] = useState([]);
31
+ // 结束时间
32
+ const [endTime, setEndTime] = useState([]);
33
+ // 默认时间仅生效一次
34
+ const timeMode = useRef(false);
35
+ // 年份联动,滑动时候触发
36
+ const scrollYear = useRef(false);
37
+ /**
38
+ * 当前选中时间的否和开始时候一致
39
+ */
40
+ const currentIsStartYear = () => {
41
+ var _a;
42
+ if (startTime.length === 0) {
43
+ return false;
44
+ }
45
+ return (startTime[0] === parseInt((_a = date[0].value[yearIndex]) === null || _a === void 0 ? void 0 : _a.replace('年', '')));
46
+ };
47
+ const currentIsStartMonth = () => {
48
+ var _a;
49
+ if (startTime.length === 0) {
50
+ return false;
51
+ }
52
+ return (startTime[1] === parseInt((_a = date[1].value[monthIndex]) === null || _a === void 0 ? void 0 : _a.replace('月', '')));
53
+ };
54
+ const currentIsStartDay = () => {
55
+ if (startTime.length === 0) {
56
+ return false;
57
+ }
58
+ return startTime[2] === selectDay;
59
+ };
60
+ const currentIsStartHours = () => {
61
+ var _a;
62
+ if (startTime.length === 0) {
63
+ return false;
64
+ }
65
+ return (startTime[3] ===
66
+ parseInt((_a = dateTime[0].value[hoursIndex]) === null || _a === void 0 ? void 0 : _a.replace('时', '')));
67
+ };
68
+ const currentIsStartMinutes = (index = minutesIndex) => {
69
+ var _a;
70
+ if (startTime.length === 0) {
71
+ return false;
72
+ }
73
+ return (startTime[4] === parseInt((_a = dateTime[1].value[index]) === null || _a === void 0 ? void 0 : _a.replace('分', '')));
74
+ };
75
+ /**
76
+ * 当前选中时间的否和开始、结束时候一致
77
+ */
78
+ const currentIsEndYear = () => {
79
+ var _a;
80
+ if (endTime.length === 0) {
81
+ return false;
82
+ }
83
+ return endTime[0] === parseInt((_a = date[0].value[yearIndex]) === null || _a === void 0 ? void 0 : _a.replace('年', ''));
84
+ };
85
+ const currentIsEndMonth = () => {
86
+ var _a;
87
+ if (endTime.length === 0) {
88
+ return false;
89
+ }
90
+ return (endTime[1] === parseInt((_a = date[1].value[monthIndex]) === null || _a === void 0 ? void 0 : _a.replace('月', '')));
91
+ };
92
+ const currentIsEndDay = () => {
93
+ if (endTime.length === 0) {
94
+ return false;
95
+ }
96
+ return endTime[2] === selectDay;
97
+ };
98
+ const currentIsEndHours = () => {
99
+ var _a;
100
+ if (endTime.length === 0) {
101
+ return false;
102
+ }
103
+ return (endTime[3] === parseInt((_a = dateTime[0].value[hoursIndex]) === null || _a === void 0 ? void 0 : _a.replace('时', '')));
104
+ };
105
+ const currentIsEndMinutes = () => {
106
+ var _a;
107
+ if (endTime.length === 0) {
108
+ return false;
109
+ }
110
+ return (endTime[4] ===
111
+ parseInt((_a = dateTime[1].value[minutesIndex]) === null || _a === void 0 ? void 0 : _a.replace('分', '')));
112
+ };
113
+ const showAreaToast = () => {
114
+ var _a;
115
+ (_a = window.app) === null || _a === void 0 ? void 0 : _a.showToast({
116
+ title: '可选日期时间范围:' + startDate + '~' + endDate,
117
+ icon: 'none',
118
+ });
119
+ };
120
+ /**
121
+ * 设置最早开始时间和最晚结束时候的年份
122
+ */
123
+ useEffect(() => {
124
+ var _a, _b;
125
+ if (startDate !== '' && endDate !== '') {
126
+ const sd = getIOSNotNaNDate(startDate);
127
+ const nd = getIOSNotNaNDate(endDate);
128
+ if (new Date(sd).getTime() > new Date(nd).getTime()) {
129
+ showAreaToast();
130
+ return;
131
+ }
132
+ // 都不为空
133
+ // 1、年月限制
134
+ const start = limitData(startDate);
135
+ const end = limitData(endDate);
136
+ setStartTime(start);
137
+ setEndTime(end);
138
+ const value = date[0].value.filter((item) => {
139
+ if (isSpace(item)) {
140
+ return true;
141
+ }
142
+ const current = parseInt(item.replace('年', ''));
143
+ return current >= start[0] && current <= end[0];
144
+ });
145
+ const id = date[0].id;
146
+ if (defaultDate) {
147
+ const dd = new Date(getIOSNotNaNDate(defaultDate)).getTime();
148
+ if (dd < new Date(sd).getTime() || dd > new Date(nd).getTime()) {
149
+ showAreaToast();
150
+ return;
151
+ }
152
+ const monthData = defaultTimeModeMonth(start, end);
153
+ setRealDate([{ value, id }, monthData]);
154
+ }
155
+ else {
156
+ setRealDate([{ value, id }, limitMonth(start, end)]);
157
+ }
158
+ setYearIndex(2);
159
+ setMonthIndex(2);
160
+ setSelectDay(start[2]);
161
+ //2、时分秒限制
162
+ setRealDateTime(limitTime(start, false));
163
+ defaultSelect();
164
+ }
165
+ else if (startDate !== '' && endDate === '') {
166
+ // 结束时间为空
167
+ // 1、年月限制
168
+ const start = limitData(startDate);
169
+ setStartTime(start);
170
+ const value = date[0].value.filter((item) => {
171
+ if (isSpace(item)) {
172
+ return true;
173
+ }
174
+ const current = parseInt(item.replace('年', ''));
175
+ return current >= start[0];
176
+ });
177
+ const id = date[0].id;
178
+ if (defaultDate) {
179
+ const sd = getIOSNotNaNDate(startDate);
180
+ const dd = getIOSNotNaNDate(defaultDate);
181
+ if (new Date(dd).getTime() < new Date(sd).getTime()) {
182
+ (_a = window.app) === null || _a === void 0 ? void 0 : _a.showToast({
183
+ title: '可选日期时间范围:' + startDate + '~' + getLastDate(),
184
+ icon: 'none',
185
+ });
186
+ return;
187
+ }
188
+ const monthData = defaultTimeModeMonth(start, undefined);
189
+ setRealDate([{ value, id }, monthData]);
190
+ }
191
+ else {
192
+ setRealDate([{ value, id }, limitMonth(start, undefined)]);
193
+ }
194
+ setYearIndex(2);
195
+ setMonthIndex(2);
196
+ setSelectDay(start[2]);
197
+ // 2、时分秒限制
198
+ setRealDateTime(limitTime(start, false));
199
+ defaultSelect();
200
+ }
201
+ else if (startDate === '' && endDate !== '') {
202
+ // 开始时间为空
203
+ const end = limitData(endDate);
204
+ setEndTime(end);
205
+ const value = date[0].value.filter((item) => {
206
+ if (isSpace(item)) {
207
+ return true;
208
+ }
209
+ const current = parseInt(item.replace('年', ''));
210
+ return current <= end[0];
211
+ });
212
+ const id = date[0].id;
213
+ const lTime = limitTime(end, true);
214
+ setRealDateTime(lTime);
215
+ setSelectDay(end[2]);
216
+ if (defaultDate) {
217
+ const ed = getIOSNotNaNDate(endDate);
218
+ const dd = getIOSNotNaNDate(defaultDate);
219
+ if (new Date(dd).getTime() > new Date(ed).getTime()) {
220
+ (_b = window.app) === null || _b === void 0 ? void 0 : _b.showToast({
221
+ title: '可选日期时间范围:' + getStartDate() + '~' + endDate,
222
+ icon: 'none',
223
+ });
224
+ return;
225
+ }
226
+ const monthData = defaultTimeModeMonth(undefined, end);
227
+ setRealDate([{ value, id }, monthData]);
228
+ setMonthIndex(2);
229
+ setYearIndex(2);
230
+ defaultSelect();
231
+ }
232
+ else {
233
+ const lMonth = limitMonth(undefined, end);
234
+ setRealDate([{ value, id }, lMonth]);
235
+ setMonthIndex(lMonth.value.length - 3);
236
+ setYearIndex(value.length - 3);
237
+ defaultEndSelect(lTime);
238
+ }
239
+ }
240
+ else {
241
+ // 都为空
242
+ setStartTime([]);
243
+ setEndTime([]);
244
+ if (defaultDate) {
245
+ const monthData = defaultTimeModeMonth(undefined, undefined);
246
+ setRealDate([date[0], monthData]);
247
+ }
248
+ }
249
+ timeMode.current = true;
250
+ }, [startDate, endDate]);
251
+ /**
252
+ * 默认选中:更新默认时间
253
+ */
254
+ useEffect(() => {
255
+ if (!defaultDate) {
256
+ return;
257
+ }
258
+ if (!timeMode.current) {
259
+ return;
260
+ }
261
+ const d = new Date(getIOSNotNaNDate(defaultDate));
262
+ const year = d.getFullYear();
263
+ const month = d.getMonth() + 1;
264
+ const hours = d.getHours();
265
+ const minutes = d.getMinutes();
266
+ const seconds = d.getSeconds();
267
+ setYearIndex(getIndex(date[0].value.indexOf(getFormatData(year) + '年')));
268
+ setMonthIndex(getIndex(date[1].value.indexOf(getFormatData(month) + '月')));
269
+ setHoursIndex(getIndex(dateTime[0].value.indexOf(getFormatData(hours) + '时')));
270
+ setMinutesIndex(getIndex(dateTime[1].value.indexOf(getFormatData(minutes) + '分')));
271
+ setSecondsIndex(getIndex(dateTime[2].value.indexOf(getFormatData(seconds) + '秒')));
272
+ setSelectDay(d.getDate());
273
+ }, [date, dateTime]);
274
+ /**
275
+ * 限制时间选择至某一范围
276
+ */
277
+ // 时间转为数组,方便获取
278
+ const limitData = (detailTime) => {
279
+ const date = new Date(getIOSNotNaNDate(detailTime));
280
+ return [
281
+ date.getFullYear(),
282
+ date.getMonth() + 1,
283
+ date.getDate(),
284
+ date.getHours(),
285
+ date.getMinutes(),
286
+ date.getSeconds(),
287
+ ];
288
+ };
289
+ // 控制月份,防止默认月份不在范围内
290
+ const limitMonth = (startTime, endTime) => {
291
+ if (startTime && endTime && startTime[0] === endTime[0]) {
292
+ const value = defaultData()[1].value.filter((item) => {
293
+ if (isSpace(item)) {
294
+ return true;
295
+ }
296
+ const current = parseInt(item.replace('月', ''));
297
+ return current >= startTime[1] && current <= endTime[1];
298
+ });
299
+ const id = date[1].id;
300
+ return { id, value };
301
+ }
302
+ const value = defaultData()[1].value.filter((item) => {
303
+ if (isSpace(item)) {
304
+ return true;
305
+ }
306
+ const current = parseInt(item.replace('月', ''));
307
+ if (startTime && endTime) {
308
+ return current >= startTime[1];
309
+ }
310
+ else if (endTime) {
311
+ return current <= endTime[1];
312
+ }
313
+ else {
314
+ return current >= startTime[1];
315
+ }
316
+ });
317
+ const id = date[1].id;
318
+ return { id, value };
319
+ };
320
+ // 默认时间、最晚最早时间逻辑
321
+ const defaultTimeModeMonth = (startTime, endTime) => {
322
+ const time = limitData(defaultDate);
323
+ if (startTime && endTime) {
324
+ if (time[0] > startTime[0] && time[0] < endTime[0]) {
325
+ return defaultData()[1];
326
+ }
327
+ if (startTime[0] === endTime[0]) {
328
+ return limitMonth(startTime, endTime);
329
+ }
330
+ if (time[0] === startTime[0]) {
331
+ return limitMonth(startTime, undefined);
332
+ }
333
+ if (time[0] === endTime[0]) {
334
+ return limitMonth(undefined, endTime);
335
+ }
336
+ }
337
+ else if (startTime) {
338
+ if (time[0] === startTime[0]) {
339
+ return limitMonth(startTime, undefined);
340
+ }
341
+ else {
342
+ return defaultData()[1];
343
+ }
344
+ }
345
+ else if (endTime) {
346
+ if (time[0] === endTime[0]) {
347
+ return limitMonth(undefined, endTime);
348
+ }
349
+ else {
350
+ return defaultData()[1];
351
+ }
352
+ }
353
+ else {
354
+ return defaultData()[1];
355
+ }
356
+ };
357
+ // 控制时分秒,防止默认时分秒不在范围内
358
+ const limitTime = (time, isEnd) => {
359
+ //时
360
+ const value1 = defaultDateTime[0].value.filter((item) => {
361
+ if (isSpace(item)) {
362
+ return true;
363
+ }
364
+ const current = parseInt(item.replace('时', ''));
365
+ return isEnd ? current <= time[3] : current >= time[3];
366
+ });
367
+ const id1 = defaultDateTime[0].id;
368
+ //分
369
+ const value2 = defaultDateTime[1].value.filter((item) => {
370
+ if (isSpace(item)) {
371
+ return true;
372
+ }
373
+ const current = parseInt(item.replace('分', ''));
374
+ return isEnd ? current <= time[4] : current >= time[4];
375
+ });
376
+ const id2 = defaultDateTime[1].id;
377
+ //秒
378
+ const value3 = defaultDateTime[2].value.filter((item) => {
379
+ if (isSpace(item)) {
380
+ return true;
381
+ }
382
+ const current = parseInt(item.replace('秒', ''));
383
+ return isEnd ? current <= time[5] : current >= time[5];
384
+ });
385
+ const id3 = defaultDateTime[2].id;
386
+ return [
387
+ { value: value1, id: id1 },
388
+ { value: value2, id: id2 },
389
+ { value: value3, id: id3 },
390
+ ];
391
+ };
392
+ // 设置默认防止数组越界
393
+ const defaultSelect = () => {
394
+ setHoursIndex(2);
395
+ setMinutesIndex(2);
396
+ setSecondsIndex(2);
397
+ };
398
+ const defaultEndSelect = (dateTimeValue) => {
399
+ setHoursIndex(dateTimeValue[0].value.length - 3);
400
+ setMinutesIndex(dateTimeValue[1].value.length - 3);
401
+ setSecondsIndex(dateTimeValue[2].value.length - 3);
402
+ };
403
+ /**
404
+ * 年月日时分秒滑动选定位日期
405
+ */
406
+ const dateScroll = (e, type) => {
407
+ timeMode.current = false;
408
+ switch (type) {
409
+ case 'date':
410
+ // 年月
411
+ setCurrentYear(dateRef.current.children.item(0));
412
+ setCurrentMonth(dateRef.current.children.item(1));
413
+ break;
414
+ case 'dateTime':
415
+ // 时分秒
416
+ setCurrentHours(dateTimeRef.current.children.item(0));
417
+ setCurrentMinutes(dateTimeRef.current.children.item(1));
418
+ setCurrentSeconds(dateTimeRef.current.children.item(2));
419
+ break;
420
+ default:
421
+ break;
422
+ }
423
+ };
424
+ /**
425
+ * 获取当下选中的日期的下标
426
+ */
427
+ const setCurrentSeconds = (secondsNode) => {
428
+ if (secondsNode.scrollTop) {
429
+ const index = Math.round(secondsNode.scrollTop / heightRef.current + 2);
430
+ setSecondsIndex(index);
431
+ }
432
+ else {
433
+ setSecondsIndex(2);
434
+ }
435
+ };
436
+ const setCurrentMinutes = (minutesNode) => {
437
+ if (minutesNode.scrollTop) {
438
+ const index = Math.round(minutesNode.scrollTop / heightRef.current + 2);
439
+ setMinutesIndex(index);
440
+ }
441
+ else {
442
+ setMinutesIndex(2);
443
+ }
444
+ };
445
+ const setCurrentHours = (hoursNode) => {
446
+ if (hoursNode.scrollTop) {
447
+ const index = Math.round(hoursNode.scrollTop / heightRef.current + 2);
448
+ setHoursIndex(index);
449
+ }
450
+ else {
451
+ setHoursIndex(2);
452
+ }
453
+ };
454
+ const setCurrentYear = (yearNode) => {
455
+ if (yearNode.scrollTop) {
456
+ const index = Math.round(yearNode.scrollTop / heightRef.current + 2);
457
+ setYearIndex(index);
458
+ setMonthIndex(2);
459
+ scrollYear.current = true;
460
+ }
461
+ else {
462
+ setYearIndex(2);
463
+ setMonthIndex(2);
464
+ }
465
+ };
466
+ const setCurrentMonth = (monthNode) => {
467
+ if (monthNode.scrollTop) {
468
+ const index = Math.round(monthNode.scrollTop / heightRef.current + 2);
469
+ setMonthIndex(index);
470
+ }
471
+ else {
472
+ setMonthIndex(2);
473
+ }
474
+ };
475
+ const setCurrentDay = (day) => {
476
+ timeMode.current = false;
477
+ setSelectDay(day);
478
+ };
479
+ /**
480
+ * 设置时分秒
481
+ */
482
+ useEffect(() => {
483
+ // 没有配置开始时间和结束时候,不作处理
484
+ if (startTime.length === 0 && endTime.length === 0) {
485
+ return;
486
+ }
487
+ // 时分秒根据年份月份来设置开始月
488
+ const sy = currentIsStartYear();
489
+ const sm = currentIsStartMonth();
490
+ const sd = currentIsStartDay();
491
+ const ny = currentIsEndYear();
492
+ const nm = currentIsEndMonth();
493
+ const nd = currentIsEndDay();
494
+ if (sy && sm && sd) {
495
+ // 当前选择开始年份
496
+ setRealDateTime(limitTime(startTime, false));
497
+ defaultSelect();
498
+ }
499
+ else if (ny && nm && nd) {
500
+ // 当前选择结束年份
501
+ const lTime = limitTime(endTime, true);
502
+ setRealDateTime(lTime);
503
+ defaultEndSelect(lTime);
504
+ }
505
+ else {
506
+ // 默认
507
+ setRealDateTime(defaultDateTime);
508
+ }
509
+ // 设置月份防止不在范围内
510
+ if (sy && sm && selectDay < startTime[2]) {
511
+ setSelectDay(startTime[2]);
512
+ }
513
+ else if (ny && nm && selectDay > endTime[2]) {
514
+ setSelectDay(endTime[2]);
515
+ }
516
+ }, [yearIndex, monthIndex, selectDay]);
517
+ /**
518
+ * 月份联动
519
+ */
520
+ useEffect(() => {
521
+ var _a;
522
+ if (!scrollYear.current) {
523
+ return;
524
+ }
525
+ // 月份根据年份来设置开始月
526
+ const selectYear = parseInt((_a = date[0].value[yearIndex]) === null || _a === void 0 ? void 0 : _a.replace('年', ''));
527
+ if (startTime.length > 0 && startTime[0] === selectYear) {
528
+ // 当前选择开始年份
529
+ setRealDate([date[0], limitMonth(startTime, undefined)]);
530
+ if (currentIsStartDay()) {
531
+ setRealDateTime(limitTime(startTime, false));
532
+ }
533
+ }
534
+ else {
535
+ // 默认
536
+ setRealDate([date[0], defaultData()[1]]);
537
+ }
538
+ if (endTime.length > 0 && endTime[0] === selectYear) {
539
+ // 当前选择结束年份
540
+ const value = defaultData()[1].value.filter((item) => {
541
+ if (isSpace(item)) {
542
+ return true;
543
+ }
544
+ const current = parseInt(item.replace('月', ''));
545
+ return current <= endTime[1];
546
+ });
547
+ const id = defaultData()[1].id;
548
+ setRealDate([date[0], { value, id }]);
549
+ }
550
+ }, [yearIndex]);
551
+ /**
552
+ * 分秒联动分
553
+ */
554
+ useEffect(() => {
555
+ if (startTime.length === 0 && endTime.length === 0) {
556
+ return;
557
+ }
558
+ // 开始时间限制
559
+ const sy = currentIsStartYear();
560
+ const sm = currentIsStartMonth();
561
+ const sd = currentIsStartDay();
562
+ const sh = currentIsStartHours();
563
+ if (sy && sm && sd) {
564
+ if (sh) {
565
+ //时间、分钟命中开始
566
+ const monthValue = dateTime[1].value.filter((item) => {
567
+ if (isSpace(item)) {
568
+ return true;
569
+ }
570
+ const current = parseInt(item.replace('分', ''));
571
+ return current >= startTime[4];
572
+ });
573
+ const monthId = dateTime[1].id;
574
+ const secondValue = dateTime[2].value.filter((item) => {
575
+ if (isSpace(item)) {
576
+ return true;
577
+ }
578
+ const current = parseInt(item.replace('秒', ''));
579
+ return current >= startTime[5];
580
+ });
581
+ const secondId = dateTime[2].id;
582
+ setRealDateTime([
583
+ dateTime[0],
584
+ {
585
+ value: monthValue,
586
+ id: monthId,
587
+ },
588
+ { value: secondValue, id: secondId },
589
+ ]);
590
+ }
591
+ else {
592
+ setRealDateTime([dateTime[0], defaultDateTime[1], defaultDateTime[2]]);
593
+ }
594
+ }
595
+ // 结束时间限制
596
+ const ny = currentIsEndYear();
597
+ const nm = currentIsEndMonth();
598
+ const nd = currentIsEndDay();
599
+ const nh = currentIsEndHours();
600
+ if (ny && nm && nd) {
601
+ if (nh) {
602
+ //时间、分钟命中开始
603
+ const monthValue = dateTime[1].value.filter((item) => {
604
+ if (isSpace(item)) {
605
+ return true;
606
+ }
607
+ const current = parseInt(item.replace('分', ''));
608
+ return current <= endTime[4];
609
+ });
610
+ const monthId = dateTime[1].id;
611
+ const secondValue = dateTime[2].value.filter((item) => {
612
+ if (isSpace(item)) {
613
+ return true;
614
+ }
615
+ const current = parseInt(item.replace('秒', ''));
616
+ return current <= endTime[5];
617
+ });
618
+ const secondId = dateTime[2].id;
619
+ setRealDateTime([
620
+ dateTime[0],
621
+ {
622
+ value: monthValue,
623
+ id: monthId,
624
+ },
625
+ { value: secondValue, id: secondId },
626
+ ]);
627
+ }
628
+ else {
629
+ setRealDateTime(limitTime(endTime, true));
630
+ }
631
+ }
632
+ }, [hoursIndex]);
633
+ /**
634
+ * 秒联动
635
+ */
636
+ useEffect(() => {
637
+ if (startTime.length === 0 && endTime.length === 0) {
638
+ return;
639
+ }
640
+ // 开始时间限制
641
+ const sy = currentIsStartYear();
642
+ const sm = currentIsStartMonth();
643
+ const sd = currentIsStartDay();
644
+ const sh = currentIsStartHours();
645
+ const smin = currentIsStartMinutes();
646
+ if (sy && sm && sd && sh) {
647
+ if (smin) {
648
+ const secondValue = dateTime[2].value.filter((item) => {
649
+ if (isSpace(item)) {
650
+ return true;
651
+ }
652
+ const current = parseInt(item.replace('秒', ''));
653
+ return current >= startTime[5];
654
+ });
655
+ const secondId = dateTime[2].id;
656
+ setRealDateTime([
657
+ dateTime[0],
658
+ dateTime[1],
659
+ {
660
+ value: secondValue,
661
+ id: secondId,
662
+ },
663
+ ]);
664
+ }
665
+ else {
666
+ setRealDateTime([dateTime[0], dateTime[1], defaultDateTime[2]]);
667
+ }
668
+ }
669
+ // 结束时间限制
670
+ const ny = currentIsEndYear();
671
+ const nm = currentIsEndMonth();
672
+ const nd = currentIsEndDay();
673
+ const nh = currentIsEndHours();
674
+ const nmin = currentIsEndMinutes();
675
+ if (ny && nm && nd && nh) {
676
+ if (nmin) {
677
+ const secondValue = dateTime[2].value.filter((item) => {
678
+ if (isSpace(item)) {
679
+ return true;
680
+ }
681
+ const current = parseInt(item.replace('秒', ''));
682
+ return current <= endTime[5];
683
+ });
684
+ const secondId = dateTime[2].id;
685
+ setRealDateTime([
686
+ dateTime[0],
687
+ dateTime[1],
688
+ {
689
+ value: secondValue,
690
+ id: secondId,
691
+ },
692
+ ]);
693
+ }
694
+ else {
695
+ setRealDateTime([dateTime[0], dateTime[1], defaultDateTime[2]]);
696
+ }
697
+ }
698
+ }, [minutesIndex]);
699
+ /**
700
+ * 初始化时候设置展示当前时间的位置
701
+ */
702
+ useEffect(() => {
703
+ if (dateRef.current) {
704
+ // 动态计算高度
705
+ const item1 = dateRef.current.children.item(0);
706
+ heightRef.current = item1.scrollHeight / date[0].value.length;
707
+ // 年月
708
+ if (item1.scrollBy) {
709
+ item1.scrollBy({ top: heightRef.current * (yearIndex - 2) });
710
+ }
711
+ const item2 = dateRef.current.children.item(1);
712
+ if (item2.scrollBy) {
713
+ item2.scrollBy({ top: heightRef.current * (monthIndex - 2) });
714
+ }
715
+ }
716
+ }, [!selectMonth]);
717
+ useEffect(() => {
718
+ if (dateTimeRef.current) {
719
+ // 动态计算高度
720
+ const item1 = dateTimeRef.current.children.item(0);
721
+ heightRef.current = item1.scrollHeight / dateTime[0].value.length;
722
+ // 时分秒
723
+ if (item1.scrollBy) {
724
+ item1.scrollBy({ top: heightRef.current * (hoursIndex - 2) });
725
+ }
726
+ const item2 = dateTimeRef.current.children.item(1);
727
+ if (item2.scrollBy) {
728
+ item2.scrollBy({ top: heightRef.current * (minutesIndex - 2) });
729
+ }
730
+ const item3 = dateTimeRef.current.children.item(2);
731
+ if (item3.scrollBy) {
732
+ item3.scrollBy({ top: heightRef.current * (secondsIndex - 2) });
733
+ }
734
+ }
735
+ }, [!selectTime]);
736
+ /**
737
+ * 日历向前翻页
738
+ */
739
+ const preCalendarPage = () => {
740
+ let isBorder;
741
+ if (startTime.length > 0) {
742
+ const m = date[1].value[monthIndex];
743
+ const sm = getFormatData(startTime[1]) + '月';
744
+ isBorder = m == sm;
745
+ }
746
+ else {
747
+ isBorder = monthIndex === 2;
748
+ }
749
+ if (yearIndex === 2 && isBorder) {
750
+ // 到底了
751
+ return;
752
+ }
753
+ // 更新日期
754
+ const value = preCalendarPageUpdateDate();
755
+ if (monthIndex === 2) {
756
+ setYearIndex((yearIndex) => yearIndex - 1);
757
+ // 年减少1.月设为12
758
+ setMonthIndex(value.length - 3);
759
+ }
760
+ else {
761
+ setMonthIndex((monthIndex) => monthIndex - 1);
762
+ }
763
+ };
764
+ /**
765
+ * 日历向后翻页
766
+ */
767
+ const nextCalendarPage = () => {
768
+ const isBorder = endTime.length > 0
769
+ ? date[1].value[monthIndex] === getFormatData(endTime[1]) + '月'
770
+ : monthIndex === 13;
771
+ if (yearIndex === date[0].value.length - 3 && isBorder) {
772
+ // 到顶了
773
+ return;
774
+ }
775
+ nextCalendarPageUpdateDate();
776
+ // 这块需要根据真实日期来确定,不能根据下标,可能起始不是从1月开始,不满12个月
777
+ if (monthIndex === date[1].value.length - 3) {
778
+ setYearIndex((yearIndex) => yearIndex + 1);
779
+ setMonthIndex(2);
780
+ }
781
+ else {
782
+ setMonthIndex((monthIndex) => monthIndex + 1);
783
+ }
784
+ };
785
+ /**
786
+ * 翻页更新日期
787
+ */
788
+ const preCalendarPageUpdateDate = () => {
789
+ const id = date[1].id;
790
+ let value;
791
+ if ((yearIndex === 2 && startTime.length > 0) ||
792
+ (yearIndex === 3 && monthIndex === 2)) {
793
+ // 开始年份===结束年份
794
+ const sn = endTime.length > 0 && startTime[0] === endTime[0];
795
+ value = defaultData()[1].value.filter((item) => {
796
+ if (isSpace(item)) {
797
+ return true;
798
+ }
799
+ const current = parseInt(item.replace('月', ''));
800
+ return sn
801
+ ? current >= startTime[1] && current <= endTime[1]
802
+ : current >= startTime[1];
803
+ });
804
+ }
805
+ else {
806
+ value = defaultData()[1].value;
807
+ }
808
+ setRealDate([date[0], { value, id }]);
809
+ return value;
810
+ };
811
+ const nextCalendarPageUpdateDate = () => {
812
+ const id = date[1].id;
813
+ let value;
814
+ if (endTime.length > 0 &&
815
+ ((yearIndex === date[0].value.length - 4 && monthIndex === 13) ||
816
+ yearIndex === date[0].value.length - 3)) {
817
+ // 开始年份===结束年份
818
+ const sn = startTime.length > 0 && startTime[0] === endTime[0];
819
+ // 12月及其以后
820
+ value = defaultData()[1].value.filter((item) => {
821
+ if (isSpace(item)) {
822
+ return true;
823
+ }
824
+ const current = parseInt(item.replace('月', ''));
825
+ return sn
826
+ ? current >= startTime[1] && current <= endTime[1]
827
+ : current <= endTime[1];
828
+ });
829
+ }
830
+ else if (yearIndex === 2 && monthIndex !== date[1].value.length - 3) {
831
+ // 最开始月份
832
+ value = date[1].value;
833
+ }
834
+ else {
835
+ // 中间月份
836
+ value = defaultData()[1].value;
837
+ }
838
+ setRealDate([date[0], { value, id }]);
839
+ };
840
+ const getTimeValue = (timeIndex, valueIndex, name, v) => {
841
+ let value = dateTime[timeIndex].value[valueIndex];
842
+ if (value === undefined) {
843
+ value = dateTime[timeIndex].value[2];
844
+ }
845
+ return value === null || value === void 0 ? void 0 : value.replace(name, v);
846
+ };
847
+ const getDateValue = (dateIndex, valueIndex, name, v) => {
848
+ let value = date[dateIndex].value[valueIndex];
849
+ if (value === undefined) {
850
+ value = date[dateIndex].value[2];
851
+ }
852
+ return value === null || value === void 0 ? void 0 : value.replace(name, v);
853
+ };
854
+ return (React.createElement(Portal, { type: "div" },
855
+ React.createElement("div", { className: "weda-ui-custom-picker" },
856
+ React.createElement("div", { className: "weda-ui-custom-backdrop", "data-testid": "allTime-backdrop", onClick: () => {
857
+ onAllTimeCallback([]);
858
+ } }),
859
+ React.createElement("div", { className: "weda-ui-custom-picker__inner" },
860
+ React.createElement("div", { className: "weda-ui-custom-picker__header" },
861
+ React.createElement("div", { "data-testid": "allTime-cancel", className: "weda-ui-custom-picker__header-cancle", onClick: () => {
862
+ onAllTimeCallback([]);
863
+ } }, "\u53D6\u6D88"),
864
+ React.createElement("div", { className: "weda-ui-custom-picker__header-title" }, title),
865
+ React.createElement("div", { "data-testid": "allTime-confirm", className: "weda-ui-custom-picker__header-confirm", onClick: () => {
866
+ var _a, _b, _c, _d, _e;
867
+ const result = [
868
+ (_a = date[0].value[yearIndex]) === null || _a === void 0 ? void 0 : _a.replace('年', ''),
869
+ (_b = date[1].value[monthIndex]) === null || _b === void 0 ? void 0 : _b.replace('月', ''),
870
+ selectDay.toString(),
871
+ (_c = dateTime[0].value[hoursIndex]) === null || _c === void 0 ? void 0 : _c.replace('时', ''),
872
+ (_d = dateTime[1].value[minutesIndex]) === null || _d === void 0 ? void 0 : _d.replace('分', ''),
873
+ (_e = dateTime[2].value[secondsIndex]) === null || _e === void 0 ? void 0 : _e.replace('秒', ''),
874
+ ];
875
+ onAllTimeCallback(result);
876
+ } }, "\u786E\u8BA4")),
877
+ React.createElement("div", { className: "weda-ui-custom-picker__body" },
878
+ React.createElement("div", { className: "weda-ui-custom-picker__select" },
879
+ React.createElement("span", { "data-testid": "allTime-click-date", className: `weda-ui-custom-picker__select-item ${selectTime ? '' : 'is-current'}`, onClick: () => {
880
+ setSelectTime(false);
881
+ setSelectMonth(false);
882
+ } }, getDateValue(0, yearIndex, '年', '-') +
883
+ getDateValue(1, monthIndex, '月', '-') +
884
+ getFormatData(selectDay)),
885
+ React.createElement("span", { "data-testid": "allTime-click-time", className: `weda-ui-custom-picker__select-item ${!selectTime ? '' : 'is-current'}`, onClick: () => {
886
+ setSelectTime(!selectTime);
887
+ setSelectMonth(false);
888
+ } }, getTimeValue(0, hoursIndex, '时', ':') +
889
+ getTimeValue(1, minutesIndex, '分', ':') +
890
+ getTimeValue(2, secondsIndex, '秒', ''))),
891
+ React.createElement("div", { className: "weda-ui-custom-calendar-op" },
892
+ React.createElement("div", { className: "weda-ui-custom-calendar-op__start" },
893
+ React.createElement("span", { "data-testid": "allTime-click-data-arrow-start", className: `weda-ui-custom-calendar-op__select ${selectMonth ? 'is-active' : ''}`, onClick: () => {
894
+ setSelectMonth(!selectMonth);
895
+ setSelectTime(false);
896
+ } },
897
+ date[0].value[yearIndex],
898
+ date[1].value[monthIndex],
899
+ React.createElement("i", { className: "weda-ui-icon-arrow-right" }))),
900
+ React.createElement("div", { className: "weda-ui-custom-calendar-op__end", style: {
901
+ visibility: !selectMonth && !selectTime ? 'visible' : 'hidden',
902
+ } },
903
+ React.createElement("span", { "data-testid": "pre-calendar-page", className: "weda-ui-icon-turn-pre", onClick: () => {
904
+ timeMode.current = false;
905
+ preCalendarPage();
906
+ } }),
907
+ React.createElement("span", { "data-testid": "next-calendar-page", className: "weda-ui-icon-turn-next", onClick: () => {
908
+ timeMode.current = false;
909
+ nextCalendarPage();
910
+ } }))),
911
+ React.createElement("div", { style: { height: '310px' } },
912
+ !selectMonth && !selectTime && (React.createElement(Calendar, { startTime: startTime, endTime: endTime, selectYear: getDateValue(0, yearIndex, '年', ''), selectMonth: getDateValue(1, monthIndex, '月', ''), defaultSelectDay: selectDay, setCurrentDay: setCurrentDay })),
913
+ selectMonth && (React.createElement("div", { "data-testid": "allTime-scroll-data", className: "weda-ui-custom-picker__cloumns size-s",
914
+ // style={{ display: 'none' }}
915
+ onScroll: (e) => {
916
+ dateScroll(e, 'date');
917
+ }, ref: dateRef }, date.map((cloumn) => {
918
+ return (React.createElement("ul", { className: "weda-ui-custom-picker__cloumn", key: cloumn.id }, cloumn.value.map((item, index) => {
919
+ const selectIndex = cloumn.id === 'column1' ? yearIndex : monthIndex;
920
+ return (React.createElement("li", { key: index, className: `weda-ui-custom-picker__cloumn-item ${index === selectIndex ? 'is-current' : ''}` },
921
+ React.createElement("p", null, item)));
922
+ })));
923
+ }))),
924
+ selectTime && (React.createElement("div", { "data-testid": "allTime-scroll-time", className: "weda-ui-custom-picker__cloumns size-s",
925
+ // style={{ display: 'none' }}
926
+ onScroll: (e) => {
927
+ dateScroll(e, 'dateTime');
928
+ }, ref: dateTimeRef }, dateTime.map((cloumn) => {
929
+ return (React.createElement("ul", { className: "weda-ui-custom-picker__cloumn", key: cloumn.id }, cloumn.value.map((item, index) => {
930
+ let selectIndex = 8;
931
+ if (cloumn.id === 'column1') {
932
+ selectIndex = hoursIndex;
933
+ }
934
+ else if (cloumn.id === 'column2') {
935
+ selectIndex = minutesIndex;
936
+ }
937
+ else if (cloumn.id === 'column3') {
938
+ selectIndex = secondsIndex;
939
+ }
940
+ return (React.createElement("li", { key: index, className: `weda-ui-custom-picker__cloumn-item ${index == selectIndex ? 'is-current' : ''}` },
941
+ React.createElement("p", null, item)));
942
+ })));
943
+ })))))))));
944
+ }