@touchvue/ui 1.0.0-beta.34 → 1.0.0-beta.35-patch.1

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 (593) hide show
  1. package/README.md +70 -70
  2. package/es/components/article/index.d.ts +1 -1
  3. package/es/components/box/index.d.ts +1 -1
  4. package/es/components/breadcrumb/index.d.ts +1 -1
  5. package/es/components/button/index.d.ts +1 -1
  6. package/es/components/button/src/button.d.ts +1 -1
  7. package/es/components/calendar/index.d.ts +1 -1
  8. package/es/components/card/index.d.ts +1 -1
  9. package/es/components/cascader/index.d.ts +1 -1
  10. package/es/components/center-scroll/index.d.ts +1 -1
  11. package/es/components/checkbox/index.d.ts +1 -1
  12. package/es/components/checkboxes/index.d.ts +1 -1
  13. package/es/components/collapse/index.d.ts +1 -1
  14. package/es/components/datepicker/index.d.ts +1 -1
  15. package/es/components/daterange/index.d.ts +1 -1
  16. package/es/components/dialog/index.d.ts +1 -1
  17. package/es/components/divider/index.d.ts +1 -1
  18. package/es/components/ellipsis/index.d.ts +1 -1
  19. package/es/components/export/index.d.ts +1 -1
  20. package/es/components/export/src/export.vue.d.ts +1 -1
  21. package/es/components/fix/index.d.ts +1 -1
  22. package/es/components/float/index.d.ts +1 -1
  23. package/es/components/form/index.d.ts +1 -1
  24. package/es/components/gap/index.d.ts +1 -1
  25. package/es/components/grid/index.d.ts +1 -1
  26. package/es/components/guider/index.d.ts +1 -1
  27. package/es/components/header/index.d.ts +1 -1
  28. package/es/components/icon/index.d.ts +1 -1
  29. package/es/components/import/index.d.ts +1 -1
  30. package/es/components/index.d.ts +1 -1
  31. package/es/components/input/index.d.ts +1 -1
  32. package/es/components/input/src/input.vue.d.ts +4 -0
  33. package/es/components/msg/index.d.ts +1 -1
  34. package/es/components/padding/index.d.ts +1 -1
  35. package/es/components/page/index.d.ts +1 -1
  36. package/es/components/param/index.d.ts +7 -7
  37. package/es/components/param/src/Param.vue.d.ts +3 -3
  38. package/es/components/pic/index.d.ts +1 -1
  39. package/es/components/progress/index.d.ts +1 -1
  40. package/es/components/range/index.d.ts +1 -1
  41. package/es/components/scroll/index.d.ts +2 -2
  42. package/es/components/segment/index.d.ts +1 -1
  43. package/es/components/select/index.d.ts +1 -1
  44. package/es/components/slide/index.d.ts +1 -1
  45. package/es/components/step/index.d.ts +1 -1
  46. package/es/components/submit/index.d.ts +1 -1
  47. package/es/components/switch/index.d.ts +1 -1
  48. package/es/components/tab/index.d.ts +1 -1
  49. package/es/components/tab/src/tab.vue.d.ts +3 -1
  50. package/es/components/table/index.d.ts +1 -1
  51. package/es/components/tag/index.d.ts +1 -1
  52. package/es/components/text/index.d.ts +1 -1
  53. package/es/components/timeline/src/timeline.vue.d.ts +4 -4
  54. package/es/components/tip/index.d.ts +1 -1
  55. package/es/components/tooltip/index.d.ts +1 -1
  56. package/es/components/transfer/index.d.ts +1 -1
  57. package/es/components/tree/index.d.ts +1 -1
  58. package/es/components/upload/index.d.ts +1 -1
  59. package/es/index.mjs +2 -1
  60. package/es/index.mjs.map +1 -1
  61. package/es/node_modules/.pnpm/{dompurify@3.3.1 → dompurify@3.2.6}/node_modules/dompurify/dist/purify.es.mjs +25 -65
  62. package/es/node_modules/.pnpm/dompurify@3.2.6/node_modules/dompurify/dist/purify.es.mjs.map +1 -0
  63. package/es/packages/components/article/index.mjs.map +1 -1
  64. package/es/packages/components/article/src/article.mjs.map +1 -1
  65. package/es/packages/components/article/src/article.vue2.mjs.map +1 -1
  66. package/es/packages/components/box/index.mjs.map +1 -1
  67. package/es/packages/components/box/src/box.mjs.map +1 -1
  68. package/es/packages/components/box/src/box.vue2.mjs.map +1 -1
  69. package/es/packages/components/breadcrumb/index.mjs.map +1 -1
  70. package/es/packages/components/breadcrumb/src/breadcrumb-item.mjs.map +1 -1
  71. package/es/packages/components/breadcrumb/src/breadcrumb-item.vue.mjs.map +1 -1
  72. package/es/packages/components/breadcrumb/src/breadcrumb-item.vue2.mjs.map +1 -1
  73. package/es/packages/components/breadcrumb/src/breadcrumb.mjs.map +1 -1
  74. package/es/packages/components/breadcrumb/src/breadcrumb.vue.mjs.map +1 -1
  75. package/es/packages/components/breadcrumb/src/breadcrumb.vue2.mjs.map +1 -1
  76. package/es/packages/components/button/index.mjs.map +1 -1
  77. package/es/packages/components/button/src/button.mjs.map +1 -1
  78. package/es/packages/components/button/src/button.vue2.mjs +8 -8
  79. package/es/packages/components/button/src/button.vue2.mjs.map +1 -1
  80. package/es/packages/components/calendar/index.mjs.map +1 -1
  81. package/es/packages/components/calendar/src/calendar.mjs.map +1 -1
  82. package/es/packages/components/calendar/src/calendar.vue2.mjs +1 -1
  83. package/es/packages/components/calendar/src/calendar.vue2.mjs.map +1 -1
  84. package/es/packages/components/card/index.mjs.map +1 -1
  85. package/es/packages/components/card/src/Card.vue.mjs.map +1 -1
  86. package/es/packages/components/card/src/card-item.vue.mjs.map +1 -1
  87. package/es/packages/components/card/src/card.vue2.mjs.map +1 -1
  88. package/es/packages/components/cascader/index.mjs.map +1 -1
  89. package/es/packages/components/cascader/src/cascader-item.vue2.mjs +1 -1
  90. package/es/packages/components/cascader/src/cascader-item.vue2.mjs.map +1 -1
  91. package/es/packages/components/cascader/src/cascader.vue2.mjs +2 -2
  92. package/es/packages/components/cascader/src/cascader.vue2.mjs.map +1 -1
  93. package/es/packages/components/center-scroll/index.mjs.map +1 -1
  94. package/es/packages/components/center-scroll/src/CenterScroll.vue2.mjs.map +1 -1
  95. package/es/packages/components/center-scroll/src/center-scroll.mjs.map +1 -1
  96. package/es/packages/components/checkbox/index.mjs.map +1 -1
  97. package/es/packages/components/checkbox/src/Checkbox.vue2.mjs +2 -2
  98. package/es/packages/components/checkbox/src/Checkbox.vue2.mjs.map +1 -1
  99. package/es/packages/components/checkboxes/index.mjs.map +1 -1
  100. package/es/packages/components/checkboxes/src/Checkboxes.vue2.mjs +1 -1
  101. package/es/packages/components/checkboxes/src/Checkboxes.vue2.mjs.map +1 -1
  102. package/es/packages/components/collapse/index.mjs.map +1 -1
  103. package/es/packages/components/collapse/src/collapse-item.vue2.mjs +2 -2
  104. package/es/packages/components/collapse/src/collapse-item.vue2.mjs.map +1 -1
  105. package/es/packages/components/collapse/src/collapse.vue2.mjs.map +1 -1
  106. package/es/packages/components/datepicker/index.mjs.map +1 -1
  107. package/es/packages/components/datepicker/src/DatePicker.vue2.mjs +2 -1
  108. package/es/packages/components/datepicker/src/DatePicker.vue2.mjs.map +1 -1
  109. package/es/packages/components/datepicker/src/Picker.vue2.mjs.map +1 -1
  110. package/es/packages/components/datepicker/src/date-picker.mjs.map +1 -1
  111. package/es/packages/components/datepicker/src/use-date-picker.mjs.map +1 -1
  112. package/es/packages/components/daterange/index.mjs.map +1 -1
  113. package/es/packages/components/daterange/src/date-range.vue2.mjs +12 -12
  114. package/es/packages/components/daterange/src/date-range.vue2.mjs.map +1 -1
  115. package/es/packages/components/dialog/index.mjs.map +1 -1
  116. package/es/packages/components/dialog/src/Dialog.vue2.mjs.map +1 -1
  117. package/es/packages/components/dialog/src/dialog.mjs.map +1 -1
  118. package/es/packages/components/divider/index.mjs.map +1 -1
  119. package/es/packages/components/divider/src/divider.vue2.mjs.map +1 -1
  120. package/es/packages/components/ellipsis/index.mjs.map +1 -1
  121. package/es/packages/components/ellipsis/src/Ellipsis.vue2.mjs.map +1 -1
  122. package/es/packages/components/ellipsis/src/ellipsis.mjs.map +1 -1
  123. package/es/packages/components/export/index.mjs.map +1 -1
  124. package/es/packages/components/export/src/export.vue2.mjs.map +1 -1
  125. package/es/packages/components/fix/index.mjs.map +1 -1
  126. package/es/packages/components/fix/src/Fix.vue2.mjs.map +1 -1
  127. package/es/packages/components/fix/src/fix.mjs.map +1 -1
  128. package/es/packages/components/float/index.mjs.map +1 -1
  129. package/es/packages/components/float/src/Float.vue2.mjs.map +1 -1
  130. package/es/packages/components/float/src/float.mjs.map +1 -1
  131. package/es/packages/components/form/index.mjs.map +1 -1
  132. package/es/packages/components/form/src/form-item.vue2.mjs.map +1 -1
  133. package/es/packages/components/form/src/form.vue2.mjs.map +1 -1
  134. package/es/packages/components/gap/index.mjs.map +1 -1
  135. package/es/packages/components/gap/src/gap.vue2.mjs.map +1 -1
  136. package/es/packages/components/grid/index.mjs.map +1 -1
  137. package/es/packages/components/grid/src/grid-item.vue2.mjs.map +1 -1
  138. package/es/packages/components/grid/src/grid.vue2.mjs.map +1 -1
  139. package/es/packages/components/guider/index.mjs.map +1 -1
  140. package/es/packages/components/guider/src/guider.vue2.mjs +1 -1
  141. package/es/packages/components/guider/src/guider.vue2.mjs.map +1 -1
  142. package/es/packages/components/header/index.mjs.map +1 -1
  143. package/es/packages/components/header/src/header.vue2.mjs.map +1 -1
  144. package/es/packages/components/icon/index.mjs.map +1 -1
  145. package/es/packages/components/icon/src/icon.vue2.mjs.map +1 -1
  146. package/es/packages/components/import/index.mjs.map +1 -1
  147. package/es/packages/components/import/src/import.vue2.mjs +1 -1
  148. package/es/packages/components/import/src/import.vue2.mjs.map +1 -1
  149. package/es/packages/components/input/index.mjs.map +1 -1
  150. package/es/packages/components/input/src/input.vue2.mjs +59 -7
  151. package/es/packages/components/input/src/input.vue2.mjs.map +1 -1
  152. package/es/packages/components/msg/index.mjs.map +1 -1
  153. package/es/packages/components/msg/src/msg.vue2.mjs +14 -14
  154. package/es/packages/components/msg/src/msg.vue2.mjs.map +1 -1
  155. package/es/packages/components/padding/index.mjs.map +1 -1
  156. package/es/packages/components/padding/src/padding.vue2.mjs.map +1 -1
  157. package/es/packages/components/page/index.mjs.map +1 -1
  158. package/es/packages/components/page/src/page.vue2.mjs.map +1 -1
  159. package/es/packages/components/param/index.mjs.map +1 -1
  160. package/es/packages/components/param/src/Param.vue2.mjs.map +1 -1
  161. package/es/packages/components/param/src/ParamItem.vue.mjs.map +1 -1
  162. package/es/packages/components/param/src/param-item.mjs.map +1 -1
  163. package/es/packages/components/param/src/param.mjs.map +1 -1
  164. package/es/packages/components/pic/index.mjs.map +1 -1
  165. package/es/packages/components/pic/src/Pic.vue2.mjs.map +1 -1
  166. package/es/packages/components/pic/src/PicViewer.vue2.mjs +1 -1
  167. package/es/packages/components/pic/src/PicViewer.vue2.mjs.map +1 -1
  168. package/es/packages/components/pic/src/pic.mjs.map +1 -1
  169. package/es/packages/components/progress/index.mjs.map +1 -1
  170. package/es/packages/components/progress/src/Progress.vue.mjs.map +1 -1
  171. package/es/packages/components/progress/src/Progress.vue2.mjs.map +1 -1
  172. package/es/packages/components/progress/src/progress.mjs.map +1 -1
  173. package/es/packages/components/range/index.mjs.map +1 -1
  174. package/es/packages/components/range/src/range.vue2.mjs +3 -3
  175. package/es/packages/components/range/src/range.vue2.mjs.map +1 -1
  176. package/es/packages/components/scroll/index.mjs.map +1 -1
  177. package/es/packages/components/scroll/src/Scroll.vue2.mjs.map +1 -1
  178. package/es/packages/components/scroll/src/ScrollPoint.vue2.mjs.map +1 -1
  179. package/es/packages/components/scroll/src/scroll-point.mjs.map +1 -1
  180. package/es/packages/components/scroll/src/scroll.mjs.map +1 -1
  181. package/es/packages/components/segment/index.mjs.map +1 -1
  182. package/es/packages/components/segment/src/segment.vue.mjs.map +1 -1
  183. package/es/packages/components/select/index.mjs.map +1 -1
  184. package/es/packages/components/select/src/hooks/use-select-class-style.mjs.map +1 -1
  185. package/es/packages/components/select/src/hooks/use-select-option-data.mjs.map +1 -1
  186. package/es/packages/components/select/src/select.mjs.map +1 -1
  187. package/es/packages/components/select/src/select.vue2.mjs.map +1 -1
  188. package/es/packages/components/slide/index.mjs.map +1 -1
  189. package/es/packages/components/slide/src/slide.vue2.mjs.map +1 -1
  190. package/es/packages/components/step/index.mjs.map +1 -1
  191. package/es/packages/components/step/src/step.vue2.mjs.map +1 -1
  192. package/es/packages/components/submit/index.mjs.map +1 -1
  193. package/es/packages/components/submit/src/submit.vue2.mjs.map +1 -1
  194. package/es/packages/components/switch/index.mjs.map +1 -1
  195. package/es/packages/components/switch/src/switch.vue2.mjs.map +1 -1
  196. package/es/packages/components/tab/index.mjs.map +1 -1
  197. package/es/packages/components/tab/src/tab-item.vue2.mjs +1 -1
  198. package/es/packages/components/tab/src/tab-item.vue2.mjs.map +1 -1
  199. package/es/packages/components/tab/src/tab.vue2.mjs +29 -20
  200. package/es/packages/components/tab/src/tab.vue2.mjs.map +1 -1
  201. package/es/packages/components/table/index.mjs.map +1 -1
  202. package/es/packages/components/table/src/table-body.vue2.mjs.map +1 -1
  203. package/es/packages/components/table/src/table-config.vue2.mjs.map +1 -1
  204. package/es/packages/components/table/src/table-head.vue2.mjs +1 -1
  205. package/es/packages/components/table/src/table-head.vue2.mjs.map +1 -1
  206. package/es/packages/components/table/src/table.vue2.mjs +19 -19
  207. package/es/packages/components/table/src/table.vue2.mjs.map +1 -1
  208. package/es/packages/components/tag/index.mjs.map +1 -1
  209. package/es/packages/components/tag/src/tag.vue2.mjs +3 -3
  210. package/es/packages/components/tag/src/tag.vue2.mjs.map +1 -1
  211. package/es/packages/components/text/index.mjs.map +1 -1
  212. package/es/packages/components/text/src/text.vue2.mjs +7 -7
  213. package/es/packages/components/text/src/text.vue2.mjs.map +1 -1
  214. package/es/packages/components/timeline/index.mjs.map +1 -1
  215. package/es/packages/components/timeline/src/timeline.vue.mjs.map +1 -1
  216. package/es/packages/components/timeline/src/timeline.vue2.mjs.map +1 -1
  217. package/es/packages/components/tip/index.mjs.map +1 -1
  218. package/es/packages/components/tip/src/tip.mjs.map +1 -1
  219. package/es/packages/components/tip/src/tip.vue2.mjs.map +1 -1
  220. package/es/packages/components/tooltip/index.mjs.map +1 -1
  221. package/es/packages/components/tooltip/src/tooltip.mjs.map +1 -1
  222. package/es/packages/components/tooltip/src/tooltip.vue2.mjs.map +1 -1
  223. package/es/packages/components/transfer/index.mjs.map +1 -1
  224. package/es/packages/components/transfer/src/transfer.vue2.mjs +9 -9
  225. package/es/packages/components/transfer/src/transfer.vue2.mjs.map +1 -1
  226. package/es/packages/components/tree/index.mjs.map +1 -1
  227. package/es/packages/components/tree/src/tree-item.vue2.mjs +26 -26
  228. package/es/packages/components/tree/src/tree-item.vue2.mjs.map +1 -1
  229. package/es/packages/components/tree/src/tree.vue2.mjs +4 -4
  230. package/es/packages/components/tree/src/tree.vue2.mjs.map +1 -1
  231. package/es/packages/components/upload/index.mjs.map +1 -1
  232. package/es/packages/components/upload/src/upload.vue2.mjs +11 -11
  233. package/es/packages/components/upload/src/upload.vue2.mjs.map +1 -1
  234. package/es/packages/directives/align/index.mjs.map +1 -1
  235. package/es/packages/directives/align/src/align.mjs.map +1 -1
  236. package/es/packages/directives/color/index.mjs.map +1 -1
  237. package/es/packages/directives/color/src/color.mjs.map +1 -1
  238. package/es/packages/directives/dis/index.mjs.map +1 -1
  239. package/es/packages/directives/dis/src/dis.mjs.map +1 -1
  240. package/es/packages/directives/hide/src/hide.mjs.map +1 -1
  241. package/es/packages/directives/index.mjs.map +1 -1
  242. package/es/packages/directives/loading/index.mjs.map +1 -1
  243. package/es/packages/directives/loading/src/loading.mjs.map +1 -1
  244. package/es/packages/directives/longtap/src/longtap.mjs.map +1 -1
  245. package/es/packages/directives/size/index.mjs.map +1 -1
  246. package/es/packages/directives/size/src/size.mjs.map +1 -1
  247. package/es/packages/directives/tip/index.mjs.map +1 -1
  248. package/es/packages/directives/tip/src/tip.mjs.map +1 -1
  249. package/es/packages/hooks/useDevice.mjs.map +1 -1
  250. package/es/packages/hooks/useFormItem.mjs.map +1 -1
  251. package/es/packages/hooks/useSetClass.mjs.map +1 -1
  252. package/es/packages/hooks/useWidthStyle.mjs.map +1 -1
  253. package/es/packages/locale/format.mjs.map +1 -1
  254. package/es/packages/locale/index.d.mjs.map +1 -1
  255. package/es/packages/locale/index.mjs.map +1 -1
  256. package/es/packages/locale/lang/en.mjs.map +1 -1
  257. package/es/packages/locale/lang/zh-CN.mjs.map +1 -1
  258. package/es/packages/resolver/resolver.mjs.map +1 -1
  259. package/es/packages/utils/ajax.mjs.map +1 -1
  260. package/es/packages/utils/beforeChange.mjs.map +1 -1
  261. package/es/packages/utils/compare.mjs.map +1 -1
  262. package/es/packages/utils/config.mjs.map +1 -1
  263. package/es/packages/utils/date.mjs.map +1 -1
  264. package/es/packages/utils/disabledArea.mjs.map +1 -1
  265. package/es/packages/utils/dom.mjs.map +1 -1
  266. package/es/packages/utils/fileAjax.mjs.map +1 -1
  267. package/es/packages/utils/isModified.mjs.map +1 -1
  268. package/es/packages/utils/jsencrypt/JSEncrypt.mjs.map +1 -1
  269. package/es/packages/utils/jsencrypt/JSEncryptRSAKey.mjs.map +1 -1
  270. package/es/packages/utils/jsencrypt/jselib/asn1js/asn1.mjs.map +1 -1
  271. package/es/packages/utils/jsencrypt/jselib/asn1js/base64.mjs.map +1 -1
  272. package/es/packages/utils/jsencrypt/jselib/asn1js/hex.mjs.map +1 -1
  273. package/es/packages/utils/jsencrypt/jselib/asn1js/int10.mjs.map +1 -1
  274. package/es/packages/utils/jsencrypt/jselib/asn1js/oids.mjs.map +1 -1
  275. package/es/packages/utils/jsencrypt/jselib/jsbn/base64.mjs.map +1 -1
  276. package/es/packages/utils/jsencrypt/jselib/jsbn/jsbn.mjs.map +1 -1
  277. package/es/packages/utils/jsencrypt/jselib/jsbn/prng4.mjs.map +1 -1
  278. package/es/packages/utils/jsencrypt/jselib/jsbn/rng.mjs.map +1 -1
  279. package/es/packages/utils/jsencrypt/jselib/jsbn/rsa.mjs.map +1 -1
  280. package/es/packages/utils/jsencrypt/jselib/jsbn/util.mjs.map +1 -1
  281. package/es/packages/utils/jsencrypt/jselib/jsrsasign/asn1-1.0.mjs.map +1 -1
  282. package/es/packages/utils/jsencrypt/jselib/jsrsasign/yahoo.mjs.map +1 -1
  283. package/es/packages/utils/jsencrypt/util.mjs.map +1 -1
  284. package/es/packages/utils/md5.mjs.map +1 -1
  285. package/es/packages/utils/print.mjs +1 -1
  286. package/es/packages/utils/print.mjs.map +1 -1
  287. package/es/packages/utils/ratio.mjs.map +1 -1
  288. package/es/packages/utils/sign.mjs.map +1 -1
  289. package/es/packages/utils/theme.mjs.map +1 -1
  290. package/es/packages/utils/types.mjs.map +1 -1
  291. package/es/packages/utils/util.mjs.map +1 -1
  292. package/es/packages/utils/uuid.mjs.map +1 -1
  293. package/es/packages/utils/validate.mjs.map +1 -1
  294. package/es/ui/index.d.ts +11 -5
  295. package/lib/components/article/index.d.ts +1 -1
  296. package/lib/components/box/index.d.ts +1 -1
  297. package/lib/components/breadcrumb/index.d.ts +1 -1
  298. package/lib/components/button/index.d.ts +1 -1
  299. package/lib/components/button/src/button.d.ts +1 -1
  300. package/lib/components/calendar/index.d.ts +1 -1
  301. package/lib/components/card/index.d.ts +1 -1
  302. package/lib/components/cascader/index.d.ts +1 -1
  303. package/lib/components/center-scroll/index.d.ts +1 -1
  304. package/lib/components/checkbox/index.d.ts +1 -1
  305. package/lib/components/checkboxes/index.d.ts +1 -1
  306. package/lib/components/collapse/index.d.ts +1 -1
  307. package/lib/components/datepicker/index.d.ts +1 -1
  308. package/lib/components/daterange/index.d.ts +1 -1
  309. package/lib/components/dialog/index.d.ts +1 -1
  310. package/lib/components/divider/index.d.ts +1 -1
  311. package/lib/components/ellipsis/index.d.ts +1 -1
  312. package/lib/components/export/index.d.ts +1 -1
  313. package/lib/components/export/src/export.vue.d.ts +1 -1
  314. package/lib/components/fix/index.d.ts +1 -1
  315. package/lib/components/float/index.d.ts +1 -1
  316. package/lib/components/form/index.d.ts +1 -1
  317. package/lib/components/gap/index.d.ts +1 -1
  318. package/lib/components/grid/index.d.ts +1 -1
  319. package/lib/components/guider/index.d.ts +1 -1
  320. package/lib/components/header/index.d.ts +1 -1
  321. package/lib/components/icon/index.d.ts +1 -1
  322. package/lib/components/import/index.d.ts +1 -1
  323. package/lib/components/index.d.ts +1 -1
  324. package/lib/components/input/index.d.ts +1 -1
  325. package/lib/components/input/src/input.vue.d.ts +4 -0
  326. package/lib/components/msg/index.d.ts +1 -1
  327. package/lib/components/padding/index.d.ts +1 -1
  328. package/lib/components/page/index.d.ts +1 -1
  329. package/lib/components/param/index.d.ts +7 -7
  330. package/lib/components/param/src/Param.vue.d.ts +3 -3
  331. package/lib/components/pic/index.d.ts +1 -1
  332. package/lib/components/progress/index.d.ts +1 -1
  333. package/lib/components/range/index.d.ts +1 -1
  334. package/lib/components/scroll/index.d.ts +2 -2
  335. package/lib/components/segment/index.d.ts +1 -1
  336. package/lib/components/select/index.d.ts +1 -1
  337. package/lib/components/slide/index.d.ts +1 -1
  338. package/lib/components/step/index.d.ts +1 -1
  339. package/lib/components/submit/index.d.ts +1 -1
  340. package/lib/components/switch/index.d.ts +1 -1
  341. package/lib/components/tab/index.d.ts +1 -1
  342. package/lib/components/tab/src/tab.vue.d.ts +3 -1
  343. package/lib/components/table/index.d.ts +1 -1
  344. package/lib/components/tag/index.d.ts +1 -1
  345. package/lib/components/text/index.d.ts +1 -1
  346. package/lib/components/timeline/src/timeline.vue.d.ts +4 -4
  347. package/lib/components/tip/index.d.ts +1 -1
  348. package/lib/components/tooltip/index.d.ts +1 -1
  349. package/lib/components/transfer/index.d.ts +1 -1
  350. package/lib/components/tree/index.d.ts +1 -1
  351. package/lib/components/upload/index.d.ts +1 -1
  352. package/lib/index.js +2 -1
  353. package/lib/index.js.map +1 -1
  354. package/lib/node_modules/.pnpm/{dompurify@3.3.1 → dompurify@3.2.6}/node_modules/dompurify/dist/purify.es.js +25 -65
  355. package/lib/node_modules/.pnpm/dompurify@3.2.6/node_modules/dompurify/dist/purify.es.js.map +1 -0
  356. package/lib/packages/components/article/index.js.map +1 -1
  357. package/lib/packages/components/article/src/article.js.map +1 -1
  358. package/lib/packages/components/article/src/article.vue2.js.map +1 -1
  359. package/lib/packages/components/box/index.js.map +1 -1
  360. package/lib/packages/components/box/src/box.js.map +1 -1
  361. package/lib/packages/components/box/src/box.vue2.js.map +1 -1
  362. package/lib/packages/components/breadcrumb/index.js.map +1 -1
  363. package/lib/packages/components/breadcrumb/src/breadcrumb-item.js.map +1 -1
  364. package/lib/packages/components/breadcrumb/src/breadcrumb-item.vue.js.map +1 -1
  365. package/lib/packages/components/breadcrumb/src/breadcrumb-item.vue2.js.map +1 -1
  366. package/lib/packages/components/breadcrumb/src/breadcrumb.js.map +1 -1
  367. package/lib/packages/components/breadcrumb/src/breadcrumb.vue.js.map +1 -1
  368. package/lib/packages/components/breadcrumb/src/breadcrumb.vue2.js.map +1 -1
  369. package/lib/packages/components/button/index.js.map +1 -1
  370. package/lib/packages/components/button/src/button.js.map +1 -1
  371. package/lib/packages/components/button/src/button.vue2.js +8 -8
  372. package/lib/packages/components/button/src/button.vue2.js.map +1 -1
  373. package/lib/packages/components/calendar/index.js.map +1 -1
  374. package/lib/packages/components/calendar/src/calendar.js.map +1 -1
  375. package/lib/packages/components/calendar/src/calendar.vue2.js +1 -1
  376. package/lib/packages/components/calendar/src/calendar.vue2.js.map +1 -1
  377. package/lib/packages/components/card/index.js.map +1 -1
  378. package/lib/packages/components/card/src/Card.vue.js.map +1 -1
  379. package/lib/packages/components/card/src/card-item.vue.js.map +1 -1
  380. package/lib/packages/components/card/src/card.vue2.js.map +1 -1
  381. package/lib/packages/components/cascader/index.js.map +1 -1
  382. package/lib/packages/components/cascader/src/cascader-item.vue2.js +1 -1
  383. package/lib/packages/components/cascader/src/cascader-item.vue2.js.map +1 -1
  384. package/lib/packages/components/cascader/src/cascader.vue2.js +2 -2
  385. package/lib/packages/components/cascader/src/cascader.vue2.js.map +1 -1
  386. package/lib/packages/components/center-scroll/index.js.map +1 -1
  387. package/lib/packages/components/center-scroll/src/CenterScroll.vue2.js.map +1 -1
  388. package/lib/packages/components/center-scroll/src/center-scroll.js.map +1 -1
  389. package/lib/packages/components/checkbox/index.js.map +1 -1
  390. package/lib/packages/components/checkbox/src/Checkbox.vue2.js +2 -2
  391. package/lib/packages/components/checkbox/src/Checkbox.vue2.js.map +1 -1
  392. package/lib/packages/components/checkboxes/index.js.map +1 -1
  393. package/lib/packages/components/checkboxes/src/Checkboxes.vue2.js +1 -1
  394. package/lib/packages/components/checkboxes/src/Checkboxes.vue2.js.map +1 -1
  395. package/lib/packages/components/collapse/index.js.map +1 -1
  396. package/lib/packages/components/collapse/src/collapse-item.vue2.js +2 -2
  397. package/lib/packages/components/collapse/src/collapse-item.vue2.js.map +1 -1
  398. package/lib/packages/components/collapse/src/collapse.vue2.js.map +1 -1
  399. package/lib/packages/components/datepicker/index.js.map +1 -1
  400. package/lib/packages/components/datepicker/src/DatePicker.vue2.js +2 -1
  401. package/lib/packages/components/datepicker/src/DatePicker.vue2.js.map +1 -1
  402. package/lib/packages/components/datepicker/src/Picker.vue2.js.map +1 -1
  403. package/lib/packages/components/datepicker/src/date-picker.js.map +1 -1
  404. package/lib/packages/components/datepicker/src/use-date-picker.js.map +1 -1
  405. package/lib/packages/components/daterange/index.js.map +1 -1
  406. package/lib/packages/components/daterange/src/date-range.vue2.js +12 -12
  407. package/lib/packages/components/daterange/src/date-range.vue2.js.map +1 -1
  408. package/lib/packages/components/dialog/index.js.map +1 -1
  409. package/lib/packages/components/dialog/src/Dialog.vue2.js.map +1 -1
  410. package/lib/packages/components/dialog/src/dialog.js.map +1 -1
  411. package/lib/packages/components/divider/index.js.map +1 -1
  412. package/lib/packages/components/divider/src/divider.vue2.js.map +1 -1
  413. package/lib/packages/components/ellipsis/index.js.map +1 -1
  414. package/lib/packages/components/ellipsis/src/Ellipsis.vue2.js.map +1 -1
  415. package/lib/packages/components/ellipsis/src/ellipsis.js.map +1 -1
  416. package/lib/packages/components/export/index.js.map +1 -1
  417. package/lib/packages/components/export/src/export.vue2.js.map +1 -1
  418. package/lib/packages/components/fix/index.js.map +1 -1
  419. package/lib/packages/components/fix/src/Fix.vue2.js.map +1 -1
  420. package/lib/packages/components/fix/src/fix.js.map +1 -1
  421. package/lib/packages/components/float/index.js.map +1 -1
  422. package/lib/packages/components/float/src/Float.vue2.js.map +1 -1
  423. package/lib/packages/components/float/src/float.js.map +1 -1
  424. package/lib/packages/components/form/index.js.map +1 -1
  425. package/lib/packages/components/form/src/form-item.vue2.js.map +1 -1
  426. package/lib/packages/components/form/src/form.vue2.js.map +1 -1
  427. package/lib/packages/components/gap/index.js.map +1 -1
  428. package/lib/packages/components/gap/src/gap.vue2.js.map +1 -1
  429. package/lib/packages/components/grid/index.js.map +1 -1
  430. package/lib/packages/components/grid/src/grid-item.vue2.js.map +1 -1
  431. package/lib/packages/components/grid/src/grid.vue2.js.map +1 -1
  432. package/lib/packages/components/guider/index.js.map +1 -1
  433. package/lib/packages/components/guider/src/guider.vue2.js +1 -1
  434. package/lib/packages/components/guider/src/guider.vue2.js.map +1 -1
  435. package/lib/packages/components/header/index.js.map +1 -1
  436. package/lib/packages/components/header/src/header.vue2.js.map +1 -1
  437. package/lib/packages/components/icon/index.js.map +1 -1
  438. package/lib/packages/components/icon/src/icon.vue2.js.map +1 -1
  439. package/lib/packages/components/import/index.js.map +1 -1
  440. package/lib/packages/components/import/src/import.vue2.js +1 -1
  441. package/lib/packages/components/import/src/import.vue2.js.map +1 -1
  442. package/lib/packages/components/input/index.js.map +1 -1
  443. package/lib/packages/components/input/src/input.vue2.js +58 -6
  444. package/lib/packages/components/input/src/input.vue2.js.map +1 -1
  445. package/lib/packages/components/msg/index.js.map +1 -1
  446. package/lib/packages/components/msg/src/msg.vue2.js +14 -14
  447. package/lib/packages/components/msg/src/msg.vue2.js.map +1 -1
  448. package/lib/packages/components/padding/index.js.map +1 -1
  449. package/lib/packages/components/padding/src/padding.vue2.js.map +1 -1
  450. package/lib/packages/components/page/index.js.map +1 -1
  451. package/lib/packages/components/page/src/page.vue2.js.map +1 -1
  452. package/lib/packages/components/param/index.js.map +1 -1
  453. package/lib/packages/components/param/src/Param.vue2.js.map +1 -1
  454. package/lib/packages/components/param/src/ParamItem.vue.js.map +1 -1
  455. package/lib/packages/components/param/src/param-item.js.map +1 -1
  456. package/lib/packages/components/param/src/param.js.map +1 -1
  457. package/lib/packages/components/pic/index.js.map +1 -1
  458. package/lib/packages/components/pic/src/Pic.vue2.js.map +1 -1
  459. package/lib/packages/components/pic/src/PicViewer.vue2.js +1 -1
  460. package/lib/packages/components/pic/src/PicViewer.vue2.js.map +1 -1
  461. package/lib/packages/components/pic/src/pic.js.map +1 -1
  462. package/lib/packages/components/progress/index.js.map +1 -1
  463. package/lib/packages/components/progress/src/Progress.vue.js.map +1 -1
  464. package/lib/packages/components/progress/src/Progress.vue2.js.map +1 -1
  465. package/lib/packages/components/progress/src/progress.js.map +1 -1
  466. package/lib/packages/components/range/index.js.map +1 -1
  467. package/lib/packages/components/range/src/range.vue2.js +3 -3
  468. package/lib/packages/components/range/src/range.vue2.js.map +1 -1
  469. package/lib/packages/components/scroll/index.js.map +1 -1
  470. package/lib/packages/components/scroll/src/Scroll.vue2.js.map +1 -1
  471. package/lib/packages/components/scroll/src/ScrollPoint.vue2.js.map +1 -1
  472. package/lib/packages/components/scroll/src/scroll-point.js.map +1 -1
  473. package/lib/packages/components/scroll/src/scroll.js.map +1 -1
  474. package/lib/packages/components/segment/index.js.map +1 -1
  475. package/lib/packages/components/segment/src/segment.vue.js.map +1 -1
  476. package/lib/packages/components/select/index.js.map +1 -1
  477. package/lib/packages/components/select/src/hooks/use-select-class-style.js.map +1 -1
  478. package/lib/packages/components/select/src/hooks/use-select-option-data.js.map +1 -1
  479. package/lib/packages/components/select/src/select.js.map +1 -1
  480. package/lib/packages/components/select/src/select.vue2.js.map +1 -1
  481. package/lib/packages/components/slide/index.js.map +1 -1
  482. package/lib/packages/components/slide/src/slide.vue2.js.map +1 -1
  483. package/lib/packages/components/step/index.js.map +1 -1
  484. package/lib/packages/components/step/src/step.vue2.js.map +1 -1
  485. package/lib/packages/components/submit/index.js.map +1 -1
  486. package/lib/packages/components/submit/src/submit.vue2.js.map +1 -1
  487. package/lib/packages/components/switch/index.js.map +1 -1
  488. package/lib/packages/components/switch/src/switch.vue2.js.map +1 -1
  489. package/lib/packages/components/tab/index.js.map +1 -1
  490. package/lib/packages/components/tab/src/tab-item.vue2.js +1 -1
  491. package/lib/packages/components/tab/src/tab-item.vue2.js.map +1 -1
  492. package/lib/packages/components/tab/src/tab.vue2.js +29 -20
  493. package/lib/packages/components/tab/src/tab.vue2.js.map +1 -1
  494. package/lib/packages/components/table/index.js.map +1 -1
  495. package/lib/packages/components/table/src/table-body.vue2.js.map +1 -1
  496. package/lib/packages/components/table/src/table-config.vue2.js.map +1 -1
  497. package/lib/packages/components/table/src/table-head.vue2.js +1 -1
  498. package/lib/packages/components/table/src/table-head.vue2.js.map +1 -1
  499. package/lib/packages/components/table/src/table.vue2.js +19 -19
  500. package/lib/packages/components/table/src/table.vue2.js.map +1 -1
  501. package/lib/packages/components/tag/index.js.map +1 -1
  502. package/lib/packages/components/tag/src/tag.vue2.js +3 -3
  503. package/lib/packages/components/tag/src/tag.vue2.js.map +1 -1
  504. package/lib/packages/components/text/index.js.map +1 -1
  505. package/lib/packages/components/text/src/text.vue2.js +6 -6
  506. package/lib/packages/components/text/src/text.vue2.js.map +1 -1
  507. package/lib/packages/components/timeline/index.js.map +1 -1
  508. package/lib/packages/components/timeline/src/timeline.vue.js.map +1 -1
  509. package/lib/packages/components/timeline/src/timeline.vue2.js.map +1 -1
  510. package/lib/packages/components/tip/index.js.map +1 -1
  511. package/lib/packages/components/tip/src/tip.js.map +1 -1
  512. package/lib/packages/components/tip/src/tip.vue2.js.map +1 -1
  513. package/lib/packages/components/tooltip/index.js.map +1 -1
  514. package/lib/packages/components/tooltip/src/tooltip.js.map +1 -1
  515. package/lib/packages/components/tooltip/src/tooltip.vue2.js.map +1 -1
  516. package/lib/packages/components/transfer/index.js.map +1 -1
  517. package/lib/packages/components/transfer/src/transfer.vue2.js +9 -9
  518. package/lib/packages/components/transfer/src/transfer.vue2.js.map +1 -1
  519. package/lib/packages/components/tree/index.js.map +1 -1
  520. package/lib/packages/components/tree/src/tree-item.vue2.js +26 -26
  521. package/lib/packages/components/tree/src/tree-item.vue2.js.map +1 -1
  522. package/lib/packages/components/tree/src/tree.vue2.js +4 -4
  523. package/lib/packages/components/tree/src/tree.vue2.js.map +1 -1
  524. package/lib/packages/components/upload/index.js.map +1 -1
  525. package/lib/packages/components/upload/src/upload.vue2.js +11 -11
  526. package/lib/packages/components/upload/src/upload.vue2.js.map +1 -1
  527. package/lib/packages/directives/align/index.js.map +1 -1
  528. package/lib/packages/directives/align/src/align.js.map +1 -1
  529. package/lib/packages/directives/color/index.js.map +1 -1
  530. package/lib/packages/directives/color/src/color.js.map +1 -1
  531. package/lib/packages/directives/dis/index.js.map +1 -1
  532. package/lib/packages/directives/dis/src/dis.js.map +1 -1
  533. package/lib/packages/directives/hide/src/hide.js.map +1 -1
  534. package/lib/packages/directives/index.js.map +1 -1
  535. package/lib/packages/directives/loading/index.js.map +1 -1
  536. package/lib/packages/directives/loading/src/loading.js.map +1 -1
  537. package/lib/packages/directives/longtap/src/longtap.js.map +1 -1
  538. package/lib/packages/directives/size/index.js.map +1 -1
  539. package/lib/packages/directives/size/src/size.js.map +1 -1
  540. package/lib/packages/directives/tip/index.js.map +1 -1
  541. package/lib/packages/directives/tip/src/tip.js.map +1 -1
  542. package/lib/packages/hooks/useDevice.js.map +1 -1
  543. package/lib/packages/hooks/useFormItem.js.map +1 -1
  544. package/lib/packages/hooks/useSetClass.js.map +1 -1
  545. package/lib/packages/hooks/useWidthStyle.js.map +1 -1
  546. package/lib/packages/locale/format.js.map +1 -1
  547. package/lib/packages/locale/index.d.js.map +1 -1
  548. package/lib/packages/locale/index.js.map +1 -1
  549. package/lib/packages/locale/lang/en.js.map +1 -1
  550. package/lib/packages/locale/lang/zh-CN.js.map +1 -1
  551. package/lib/packages/resolver/resolver.js.map +1 -1
  552. package/lib/packages/utils/ajax.js.map +1 -1
  553. package/lib/packages/utils/beforeChange.js.map +1 -1
  554. package/lib/packages/utils/compare.js.map +1 -1
  555. package/lib/packages/utils/config.js.map +1 -1
  556. package/lib/packages/utils/date.js.map +1 -1
  557. package/lib/packages/utils/disabledArea.js.map +1 -1
  558. package/lib/packages/utils/dom.js.map +1 -1
  559. package/lib/packages/utils/fileAjax.js.map +1 -1
  560. package/lib/packages/utils/isModified.js.map +1 -1
  561. package/lib/packages/utils/jsencrypt/JSEncrypt.js.map +1 -1
  562. package/lib/packages/utils/jsencrypt/JSEncryptRSAKey.js.map +1 -1
  563. package/lib/packages/utils/jsencrypt/jselib/asn1js/asn1.js.map +1 -1
  564. package/lib/packages/utils/jsencrypt/jselib/asn1js/base64.js.map +1 -1
  565. package/lib/packages/utils/jsencrypt/jselib/asn1js/hex.js.map +1 -1
  566. package/lib/packages/utils/jsencrypt/jselib/asn1js/int10.js.map +1 -1
  567. package/lib/packages/utils/jsencrypt/jselib/asn1js/oids.js.map +1 -1
  568. package/lib/packages/utils/jsencrypt/jselib/jsbn/base64.js.map +1 -1
  569. package/lib/packages/utils/jsencrypt/jselib/jsbn/jsbn.js.map +1 -1
  570. package/lib/packages/utils/jsencrypt/jselib/jsbn/prng4.js.map +1 -1
  571. package/lib/packages/utils/jsencrypt/jselib/jsbn/rng.js.map +1 -1
  572. package/lib/packages/utils/jsencrypt/jselib/jsbn/rsa.js.map +1 -1
  573. package/lib/packages/utils/jsencrypt/jselib/jsbn/util.js.map +1 -1
  574. package/lib/packages/utils/jsencrypt/jselib/jsrsasign/asn1-1.0.js.map +1 -1
  575. package/lib/packages/utils/jsencrypt/jselib/jsrsasign/yahoo.js.map +1 -1
  576. package/lib/packages/utils/jsencrypt/util.js.map +1 -1
  577. package/lib/packages/utils/md5.js.map +1 -1
  578. package/lib/packages/utils/print.js +1 -1
  579. package/lib/packages/utils/print.js.map +1 -1
  580. package/lib/packages/utils/ratio.js.map +1 -1
  581. package/lib/packages/utils/sign.js.map +1 -1
  582. package/lib/packages/utils/theme.js.map +1 -1
  583. package/lib/packages/utils/types.js.map +1 -1
  584. package/lib/packages/utils/util.js.map +1 -1
  585. package/lib/packages/utils/uuid.js.map +1 -1
  586. package/lib/packages/utils/validate.js.map +1 -1
  587. package/lib/ui/index.d.ts +11 -5
  588. package/package.json +84 -84
  589. package/theme/components/index.css +60 -31
  590. package/theme/index.css +60 -31
  591. package/theme/skin/default.css +60 -31
  592. package/es/node_modules/.pnpm/dompurify@3.3.1/node_modules/dompurify/dist/purify.es.mjs.map +0 -1
  593. package/lib/node_modules/.pnpm/dompurify@3.3.1/node_modules/dompurify/dist/purify.es.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"calendar.vue2.js","sources":["../../../../../../packages/components/calendar/src/calendar.vue"],"sourcesContent":["<script lang=\"ts\">\nimport { defineComponent as DO_defineComponent } from 'vue';\nexport default /*#__PURE__*/ DO_defineComponent({\r\n\tname: 'ToCalendar'\r\n});\n</script>\n<template>\r\n\t<div class=\"to-calendar\" :class=\"setClass\" :style=\"widthStyle\">\r\n\t\t<!-- 内容 -->\r\n\t\t<div class=\"to-calendar-content\">\r\n\t\t\t<!-- 快捷方式 -->\r\n\t\t\t<div class=\"to-calendar-shortcut\"></div>\r\n\r\n\t\t\t<!-- 日期 -->\r\n\t\t\t<div v-if=\"type !== 'time'\" class=\"to-calendar-date\">\r\n\t\t\t\t<!-- 头部 -->\r\n\t\t\t\t<div class=\"to-calendar-header\">\r\n\t\t\t\t\t<to-icon value=\"backward\" link class=\"to-calendar-header-prev-year\" @click.stop=\"lastYear\"></to-icon>\r\n\t\t\t\t\t<to-icon value=\"back\" link class=\"to-calendar-header-prev\" @click.stop=\"lastMonth\"></to-icon>\r\n\t\t\t\t\t<div class=\"to-calendar-header-content\" :class=\"{ 'is-unfold': type !== 'month' && type !== 'months' }\" @click.stop=\"toggleMonthSelector\">\r\n\t\t\t\t\t\t<span class=\"to-calendar-header-year\">{{ year }}年</span>\r\n\t\t\t\t\t\t<span class=\"to-calendar-header-month\">{{ addZero(month) }}月</span>\r\n\t\t\t\t\t</div>\r\n\t\t\t\t\t<to-icon value=\"next\" link class=\"to-calendar-header-next\" @click.stop=\"nextMonth\"></to-icon>\r\n\t\t\t\t\t<to-icon value=\"forward\" link class=\"to-calendar-header-next-year\" @click.stop=\"nextYear\"></to-icon>\r\n\t\t\t\t</div>\r\n\r\n\t\t\t\t<!-- 年月选择 -->\r\n\t\t\t\t<div v-show=\"monthLayer || type === 'month' || type === 'months'\" class=\"to-calendar-picker\">\r\n\t\t\t\t\t<to-scroll ref=\"yearScrollRef\" class=\"to-calendar-year\" @top=\"handlerTop\" @bottom=\"handlerBottom\">\r\n\t\t\t\t\t\t<div v-for=\"(item, index) in years\" :key=\"index\" class=\"to-calendar-year-item\" :class=\"setYearClass(item)\" @click.stop=\"selectYear(item)\">\r\n\t\t\t\t\t\t\t<div class=\"to-calendar-year-item-text\">\r\n\t\t\t\t\t\t\t\t{{ item }}\r\n\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t</div>\r\n\t\t\t\t\t</to-scroll>\r\n\t\t\t\t\t<!-- <to-icon value=\"collapse\" link class=\"to-calendar-year-prev\" @click=\"lastYears\"></to-icon> -->\r\n\t\t\t\t\t<!-- <div class=\"to-calendar-year-list\"> -->\r\n\t\t\t\t\t<!-- </div> -->\r\n\t\t\t\t\t<!-- <to-icon value=\"expand\" link class=\"to-calendar-year-next\" @click=\"nextYears\"></to-icon> -->\r\n\t\t\t\t\t<div class=\"to-calendar-picker-divider\"></div>\r\n\t\t\t\t\t<div class=\"to-calendar-month\">\r\n\t\t\t\t\t\t<div class=\"to-calendar-month-list\">\r\n\t\t\t\t\t\t\t<div class=\"to-calendar-month-item\" :class=\"setMonthClass(1)\" @click.stop=\"selectMonth(1)\">\r\n\t\t\t\t\t\t\t\t<div class=\"to-calendar-month-item-content\">\r\n\t\t\t\t\t\t\t\t\t<div class=\"to-calendar-month-item-text\">\r\n\t\t\t\t\t\t\t\t\t\t{{ t('to.calendar.month.m1') }}\r\n\t\t\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t\t<div class=\"to-calendar-month-item\" :class=\"setMonthClass(2)\" @click.stop=\"selectMonth(2)\">\r\n\t\t\t\t\t\t\t\t<div class=\"to-calendar-month-item-content\">\r\n\t\t\t\t\t\t\t\t\t<div class=\"to-calendar-month-item-text\">\r\n\t\t\t\t\t\t\t\t\t\t{{ t('to.calendar.month.m2') }}\r\n\t\t\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t\t<div class=\"to-calendar-month-item\" :class=\"setMonthClass(3)\" @click.stop=\"selectMonth(3)\">\r\n\t\t\t\t\t\t\t\t<div class=\"to-calendar-month-item-content\">\r\n\t\t\t\t\t\t\t\t\t<div class=\"to-calendar-month-item-text\">\r\n\t\t\t\t\t\t\t\t\t\t{{ t('to.calendar.month.m3') }}\r\n\t\t\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t\t<div class=\"to-calendar-month-item\" :class=\"setMonthClass(4)\" @click.stop=\"selectMonth(4)\">\r\n\t\t\t\t\t\t\t\t<div class=\"to-calendar-month-item-content\">\r\n\t\t\t\t\t\t\t\t\t<div class=\"to-calendar-month-item-text\">\r\n\t\t\t\t\t\t\t\t\t\t{{ t('to.calendar.month.m4') }}\r\n\t\t\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t\t<div class=\"to-calendar-month-item\" :class=\"setMonthClass(5)\" @click.stop=\"selectMonth(5)\">\r\n\t\t\t\t\t\t\t\t<div class=\"to-calendar-month-item-content\">\r\n\t\t\t\t\t\t\t\t\t<div class=\"to-calendar-month-item-text\">\r\n\t\t\t\t\t\t\t\t\t\t{{ t('to.calendar.month.m5') }}\r\n\t\t\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t\t<div class=\"to-calendar-month-item\" :class=\"setMonthClass(6)\" @click.stop=\"selectMonth(6)\">\r\n\t\t\t\t\t\t\t\t<div class=\"to-calendar-month-item-content\">\r\n\t\t\t\t\t\t\t\t\t<div class=\"to-calendar-month-item-text\">\r\n\t\t\t\t\t\t\t\t\t\t{{ t('to.calendar.month.m6') }}\r\n\t\t\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t\t<div class=\"to-calendar-month-item\" :class=\"setMonthClass(7)\" @click.stop=\"selectMonth(7)\">\r\n\t\t\t\t\t\t\t\t<div class=\"to-calendar-month-item-content\">\r\n\t\t\t\t\t\t\t\t\t<div class=\"to-calendar-month-item-text\">\r\n\t\t\t\t\t\t\t\t\t\t{{ t('to.calendar.month.m7') }}\r\n\t\t\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t\t<div class=\"to-calendar-month-item\" :class=\"setMonthClass(8)\" @click.stop=\"selectMonth(8)\">\r\n\t\t\t\t\t\t\t\t<div class=\"to-calendar-month-item-content\">\r\n\t\t\t\t\t\t\t\t\t<div class=\"to-calendar-month-item-text\">\r\n\t\t\t\t\t\t\t\t\t\t{{ t('to.calendar.month.m8') }}\r\n\t\t\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t\t<div class=\"to-calendar-month-item\" :class=\"setMonthClass(9)\" @click.stop=\"selectMonth(9)\">\r\n\t\t\t\t\t\t\t\t<div class=\"to-calendar-month-item-content\">\r\n\t\t\t\t\t\t\t\t\t<div class=\"to-calendar-month-item-text\">\r\n\t\t\t\t\t\t\t\t\t\t{{ t('to.calendar.month.m9') }}\r\n\t\t\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t\t<div class=\"to-calendar-month-item\" :class=\"setMonthClass(10)\" @click.stop=\"selectMonth(10)\">\r\n\t\t\t\t\t\t\t\t<div class=\"to-calendar-month-item-content\">\r\n\t\t\t\t\t\t\t\t\t<div class=\"to-calendar-month-item-text\">\r\n\t\t\t\t\t\t\t\t\t\t{{ t('to.calendar.month.m10') }}\r\n\t\t\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t\t<div class=\"to-calendar-month-item\" :class=\"setMonthClass(11)\" @click.stop=\"selectMonth(11)\">\r\n\t\t\t\t\t\t\t\t<div class=\"to-calendar-month-item-content\">\r\n\t\t\t\t\t\t\t\t\t<div class=\"to-calendar-month-item-text\">\r\n\t\t\t\t\t\t\t\t\t\t{{ t('to.calendar.month.m11') }}\r\n\t\t\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t\t<div class=\"to-calendar-month-item\" :class=\"setMonthClass(12)\" @click.stop=\"selectMonth(12)\">\r\n\t\t\t\t\t\t\t\t<div class=\"to-calendar-month-item-content\">\r\n\t\t\t\t\t\t\t\t\t<div class=\"to-calendar-month-item-text\">\r\n\t\t\t\t\t\t\t\t\t\t{{ t('to.calendar.month.m12') }}\r\n\t\t\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t</div>\r\n\t\t\t\t\t</div>\r\n\t\t\t\t</div>\r\n\r\n\t\t\t\t<!-- 周 -->\r\n\t\t\t\t<div v-show=\"!(monthLayer || type === 'month' || type === 'months')\" v-if=\"type !== 'month' && type !== 'months'\" class=\"to-calendar-week\">\r\n\t\t\t\t\t<div class=\"to-calendar-week-item\">{{ t('to.calendar.week.w0') }}</div>\r\n\t\t\t\t\t<div class=\"to-calendar-week-item\">{{ t('to.calendar.week.w1') }}</div>\r\n\t\t\t\t\t<div class=\"to-calendar-week-item\">{{ t('to.calendar.week.w2') }}</div>\r\n\t\t\t\t\t<div class=\"to-calendar-week-item\">{{ t('to.calendar.week.w3') }}</div>\r\n\t\t\t\t\t<div class=\"to-calendar-week-item\">{{ t('to.calendar.week.w4') }}</div>\r\n\t\t\t\t\t<div class=\"to-calendar-week-item\">{{ t('to.calendar.week.w5') }}</div>\r\n\t\t\t\t\t<div class=\"to-calendar-week-item\">{{ t('to.calendar.week.w6') }}</div>\r\n\t\t\t\t</div>\r\n\r\n\t\t\t\t<!-- 日 -->\r\n\t\t\t\t<div v-show=\"!(monthLayer || type === 'month' || type === 'months')\" v-if=\"type !== 'month' && type !== 'months'\" class=\"to-calendar-day\">\r\n\t\t\t\t\t<div v-for=\"(item, index) in days\" :key=\"index\" v-dis=\"isDisableDay(item)\" class=\"to-calendar-day-item\" :class=\"setDayClass(item)\" @click=\"selectDay(item)\">\r\n\t\t\t\t\t\t<div class=\"to-calendar-day-item-content\">\r\n\t\t\t\t\t\t\t<slot :item=\"item\" :index=\"index\">\r\n\t\t\t\t\t\t\t\t<div v-if=\"item.value\" class=\"to-calendar-day-text\">{{ dayText(item.value) }}</div>\r\n\t\t\t\t\t\t\t\t<div v-if=\"item.point && item.point.length > 0\" class=\"to-calendar-day-points\">\r\n\t\t\t\t\t\t\t\t\t<to-tag v-for=\"(ipoint, pointIndex) in item.point\" :key=\"pointIndex\" v-tip=\"ipoint.tooltip ? ipoint.tooltip : ''\" :type=\"size === 'large' ? 'dot' : ''\" :color=\"pointColor(ipoint.type)\" :fillet=\"size === 'large' ? '' : 'round'\">{{ ipoint.count }}</to-tag>\r\n\t\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t\t</slot>\r\n\t\t\t\t\t\t</div>\r\n\t\t\t\t\t</div>\r\n\t\t\t\t</div>\r\n\r\n\t\t\t\t<!-- 图例 -->\r\n\t\t\t\t<div v-show=\"!(monthLayer || type === 'month' || type === 'months')\" v-if=\"legend\" class=\"to-calendar-legend\">\r\n\t\t\t\t\t<slot name=\"legend\">\r\n\t\t\t\t\t\t<!-- <to-tag type=\"dot\" color=\"danger\">逾期未完成</to-tag>\r\n\t\t\t\t\t\t<to-tag type=\"dot\" color=\"primary\">正常进行中</to-tag>\r\n\t\t\t\t\t\t<to-tag type=\"dot\" color=\"success\">已完成</to-tag> -->\r\n\t\t\t\t\t</slot>\r\n\t\t\t\t</div>\r\n\t\t\t</div>\r\n\r\n\t\t\t<!-- 时间 -->\r\n\t\t\t<div v-if=\"type === 'datetime' || type === 'time'\" class=\"to-calendar-time\">\r\n\t\t\t\t<div class=\"to-calendar-time-info\">\r\n\t\t\t\t\t<div class=\"to-calendar-time-info-text\">{{ addZero(hour) }}:{{ addZero(minute) }}:{{ addZero(second) }}</div>\r\n\t\t\t\t</div>\r\n\t\t\t\t<div class=\"to-calendar-time-content\">\r\n\t\t\t\t\t<to-scroll ref=\"hourScroll\" class=\"to-calendar-time-list\">\r\n\t\t\t\t\t\t<div v-for=\"item in hours\" :key=\"item\" v-dis=\"isDisableHour(item)\" :class=\"{ 'is-on': hour === item }\" class=\"to-calendar-time-item\" @click=\"selectHour(item)\">\r\n\t\t\t\t\t\t\t<div class=\"to-calendar-time-item-text\">{{ addZero(item) }}</div>\r\n\t\t\t\t\t\t</div>\r\n\t\t\t\t\t</to-scroll>\r\n\t\t\t\t\t<to-scroll ref=\"minuteScroll\" class=\"to-calendar-time-list\">\r\n\t\t\t\t\t\t<div v-for=\"item in minutes\" :key=\"item\" v-dis=\"isDisableMinute(item)\" :class=\"{ 'is-on': minute === item }\" class=\"to-calendar-time-item\" @click=\"selectMinute(item)\">\r\n\t\t\t\t\t\t\t<div class=\"to-calendar-time-item-text\">{{ addZero(item) }}</div>\r\n\t\t\t\t\t\t</div>\r\n\t\t\t\t\t</to-scroll>\r\n\t\t\t\t\t<to-scroll ref=\"secondScroll\" class=\"to-calendar-time-list\">\r\n\t\t\t\t\t\t<div v-for=\"item in seconds\" :key=\"item\" v-dis=\"isDisableSecond(item)\" :class=\"{ 'is-on': second === item }\" class=\"to-calendar-time-item\" @click=\"selectSecond(item)\">\r\n\t\t\t\t\t\t\t<div class=\"to-calendar-time-item-text\">{{ addZero(item) }}</div>\r\n\t\t\t\t\t\t</div>\r\n\t\t\t\t\t</to-scroll>\r\n\t\t\t\t</div>\r\n\t\t\t</div>\r\n\t\t</div>\r\n\r\n\t\t<!-- 操作 -->\r\n\t\t<div v-if=\"type === 'datetime' || type === 'time'\" class=\"to-calendar-fn\">\r\n\t\t\t<to-button class=\"to-calendar-fn-now\" @click=\"moment\">此刻</to-button>\r\n\t\t\t<to-button class=\"to-calendar-fn-confirm\" @click=\"confirm\">{{ t('to.common.confirm') }}</to-button>\r\n\t\t</div>\r\n\t</div>\r\n</template>\r\n\r\n<script setup lang=\"ts\">\r\nimport { ref, computed, watch, onMounted, nextTick } from 'vue'\r\nimport { t } from '@touchvue/locale'\r\nimport { handleBeforeChange, isPromise } from '@touchvue/utils'\r\nimport { calendarProps } from './calendar'\r\nimport { useWidthStyle } from '@touchvue/hooks'\r\nimport { ToScroll, ToTag } from '@touchvue/components'\r\nimport { vDis, vTip } from '@touchvue/directives'\r\n\r\n// 组件名称\r\n\r\n\r\nconst props = defineProps(calendarProps)\r\n\r\n// Emits定义\r\nconst emit = defineEmits<{\r\n\tconfirm: [value: string]\r\n\tchange: [value: string]\r\n\tbeforeChange: [value: string]\r\n\tclose: []\r\n\t'update:modelValue': [value: string]\r\n}>()\r\n\r\n// 响应式数据\r\nconst changeFrom = ref('out')\r\nconst submitValue = ref('')\r\n\r\n// 现在时间记录\r\nconst curYear = ref(new Date().getFullYear())\r\nconst curMonth = ref(new Date().getMonth() + 1)\r\nconst curDay = ref(new Date().getDate())\r\n\r\n// 默认值\r\nconst year = ref<number>(0)\r\nconst month = ref<number>(0)\r\nconst day = ref<number | null>(null)\r\nconst hour = ref<string>('0')\r\nconst minute = ref<string>('0')\r\nconst second = ref<string>('0')\r\n\r\n// 多选默认值\r\nconst yearsData = ref<number[]>([]) // ['2022','2023',...]\r\nconst monthsData = ref<string[]>([]) // ['01','03',...]\r\nconst monthsRangeData = ref<string[]>([]) // ['2022-01','2024-03',...]\r\nconst daysData = ref<string[]>([]) // ['01','03',...]\r\nconst daysRangeData = ref<string[]>([]) // ['2022-01-01','2024-03-03',...]\r\n\r\n// 页面数据\r\nconst years = ref<number[]>([])\r\nconst days = ref<any[]>([])\r\nconst hours = ref<string[]>([])\r\nconst minutes = ref<string[]>([])\r\nconst seconds = ref<string[]>([])\r\n\r\n// 选择层\r\nconst monthLayer = ref(false)\r\n\r\n// 年份切换器\r\nconst tempYear = ref(0) // 临时当前年,选择年月的时候,在选月份之前,年份是尚未确定的\r\n// const yearsPage = ref(0)\r\n// const now = ref(new Date())\r\n\r\nconst yearScrollRef = ref<InstanceType<typeof ToScroll> | null>(null)\r\nconst isClickFlag = ref(false)\r\n\r\n// 范围\r\nconst start = ref({\r\n\tyear: 0,\r\n\tmonth: 0,\r\n\tday: 0\r\n})\r\nconst end = ref({\r\n\tyear: 0,\r\n\tmonth: 0,\r\n\tday: 0\r\n})\r\n\r\nconst { widthStyle } = useWidthStyle(props.width)\r\n\r\n// 计算属性\r\nconst setClass = computed(() => {\r\n\tlet arr: string[] = []\r\n\tif (props.type) {\r\n\t\tarr.push(`type-${props.type}`)\r\n\t}\r\n\tif (props.size === 'large') {\r\n\t\tarr.push('size-large')\r\n\t}\r\n\treturn arr\r\n})\r\n\r\nconst dayText = computed(() => {\r\n\treturn (val: number) => {\r\n\t\t// 凡是假期,都加上标记\r\n\t\tconst dayStr = year.value + '-' + addZero(month.value) + '-' + addZero(val)\r\n\t\tif (props.holiday.length > 0 && props.holiday.indexOf(dayStr) > -1) {\r\n\t\t\treturn t('to.calendar.day.holiday')\r\n\t\t} else {\r\n\t\t\treturn val\r\n\t\t}\r\n\t}\r\n})\r\n\r\nconst pointColor = computed(() => {\r\n\treturn (val: number) => {\r\n\t\tif (val === -1) {\r\n\t\t\treturn 'danger'\r\n\t\t}\r\n\t\tif (val === 0) {\r\n\t\t\treturn 'primary'\r\n\t\t}\r\n\t\tif (val === 1) {\r\n\t\t\treturn 'success'\r\n\t\t}\r\n\t}\r\n})\r\n\r\nconst hourz = computed({\r\n\tget() {\r\n\t\treturn addZero(hour.value)\r\n\t},\r\n\tset(val: string) {\r\n\t\thour.value = val\r\n\t}\r\n})\r\n\r\nconst minutez = computed({\r\n\tget() {\r\n\t\treturn addZero(minute.value)\r\n\t},\r\n\tset(val: string) {\r\n\t\tminute.value = val\r\n\t}\r\n})\r\n\r\nconst secondz = computed({\r\n\tget() {\r\n\t\treturn addZero(second.value)\r\n\t},\r\n\tset(val: string) {\r\n\t\tsecond.value = val\r\n\t}\r\n})\r\n\r\nconst iValue = computed(() => {\r\n\tif (props.range) {\r\n\t\tconst startVal = start.value.day || start.value.month ? getStringValue(start.value) : ''\r\n\t\tconst endVal = end.value.day || end.value.month ? getStringValue(end.value) : ''\r\n\t\treturn `${startVal},${endVal}`\r\n\t} else if (props.type === 'months') {\r\n\t\treturn monthsRangeData.value.join(',')\r\n\t} else if (props.type === 'dates') {\r\n\t\treturn daysRangeData.value.join(',')\r\n\t} else {\r\n\t\treturn getStringValue()\r\n\t}\r\n})\r\n\r\n// const maxHour = computed(() => {\r\n// \tlet max: string | number | Date\r\n// \tif (typeof props.max === 'string') {\r\n// \t\tmax = props.max.replace(/-/gi, '/')\r\n// \t} else {\r\n// \t\tmax = props.max\r\n// \t}\r\n// \treturn new Date(max).getHours()\r\n// })\r\n\r\nconst isDisableDay = computed(() => {\r\n\treturn (item: any) => {\r\n\t\tif (year.value && month.value && item.value) {\r\n\t\t\tlet dateString = `${year.value}/${month.value}/${Number(item.value)}`\r\n\t\t\tlet min: string | number | Date\r\n\t\t\t// 默认使用 2023-03-01 格式时,其 hour = 8 而不是 0,所以要转为 2023/03/01 格式\r\n\t\t\tif (typeof props.min === 'string') {\r\n\t\t\t\tmin = props.min.replace(/-/gi, '/')\r\n\t\t\t} else {\r\n\t\t\t\tmin = props.min\r\n\t\t\t}\r\n\r\n\t\t\tlet max: string | number | Date\r\n\t\t\tif (typeof props.max === 'string') {\r\n\t\t\t\tmax = props.max.replace(/-/gi, '/')\r\n\t\t\t} else {\r\n\t\t\t\tmax = props.max\r\n\t\t\t}\r\n\r\n\t\t\tif (min && max) {\r\n\t\t\t\treturn new Date(dateString) < new Date(min) || new Date(dateString) > new Date(max)\r\n\t\t\t}\r\n\t\t\tif (props.disabledDate) {\r\n\t\t\t\treturn props.disabledDate(new Date(dateString))\r\n\t\t\t}\r\n\t\t\treturn false\r\n\t\t} else {\r\n\t\t\treturn false\r\n\t\t}\r\n\t}\r\n})\r\n\r\nconst isDisableHour = computed(() => {\r\n\treturn (item: string) => {\r\n\t\tif (year.value && month.value && day.value !== null) {\r\n\t\t\tlet dateString = `${year.value}/${month.value}/${day.value} ${Number(item)}:00:00`\r\n\t\t\tlet min: string | number | Date\r\n\t\t\t// 默认使用 2023-03-01 格式时,其 hour = 8 而不是 0,所以要转为 2023/03/01 格式\r\n\t\t\tif (typeof props.min === 'string') {\r\n\t\t\t\tmin = props.min.replace(/-/gi, '/')\r\n\t\t\t} else {\r\n\t\t\t\tmin = props.min\r\n\t\t\t}\r\n\r\n\t\t\tlet max: string | number | Date\r\n\t\t\tif (typeof props.max === 'string') {\r\n\t\t\t\tmax = props.max.replace(/-/gi, '/')\r\n\t\t\t} else {\r\n\t\t\t\tmax = props.max\r\n\t\t\t}\r\n\r\n\t\t\tif (min && max) {\r\n\t\t\t\treturn new Date(dateString) < new Date(min) || new Date(dateString) > new Date(max)\r\n\t\t\t}\r\n\t\t\treturn false\r\n\t\t} else {\r\n\t\t\treturn false\r\n\t\t}\r\n\t}\r\n})\r\n\r\nconst isDisableMinute = computed(() => {\r\n\treturn (item: string) => {\r\n\t\tif (year.value && month.value && day.value !== null && hour.value) {\r\n\t\t\tlet dateString = `${year.value}/${month.value}/${day.value} ${hour.value}:${Number(item)}:00`\r\n\t\t\tlet min: string | number | Date\r\n\t\t\t// 默认使用 2023-03-01 格式时,其 hour = 8 而不是 0,所以要转为 2023/03/01 格式\r\n\t\t\tif (typeof props.min === 'string') {\r\n\t\t\t\tmin = props.min.replace(/-/gi, '/')\r\n\t\t\t} else {\r\n\t\t\t\tmin = props.min\r\n\t\t\t}\r\n\r\n\t\t\tlet max: string | number | Date\r\n\t\t\tif (typeof props.max === 'string') {\r\n\t\t\t\tmax = props.max.replace(/-/gi, '/')\r\n\t\t\t} else {\r\n\t\t\t\tmax = props.max\r\n\t\t\t}\r\n\r\n\t\t\tif (min && max) {\r\n\t\t\t\treturn new Date(dateString) < new Date(min) || new Date(dateString) > new Date(max)\r\n\t\t\t}\r\n\t\t\treturn false\r\n\t\t} else {\r\n\t\t\treturn false\r\n\t\t}\r\n\t}\r\n})\r\n\r\nconst isDisableSecond = computed(() => {\r\n\treturn (item: string) => {\r\n\t\tif (year.value && month.value && day.value !== null && hour.value && minute.value) {\r\n\t\t\tlet dateString = `${year.value}/${month.value}/${day.value} ${hour.value}:${minute.value}:${Number(item)}`\r\n\t\t\tlet min: string | number | Date\r\n\t\t\t// 默认使用 2023-03-01 格式时,其 hour = 8 而不是 0,所以要转为 2023/03/01 格式\r\n\t\t\tif (typeof props.min === 'string') {\r\n\t\t\t\tmin = props.min.replace(/-/gi, '/')\r\n\t\t\t} else {\r\n\t\t\t\tmin = props.min\r\n\t\t\t}\r\n\r\n\t\t\tlet max: string | number | Date\r\n\t\t\tif (typeof props.max === 'string') {\r\n\t\t\t\tmax = props.max.replace(/-/gi, '/')\r\n\t\t\t} else {\r\n\t\t\t\tmax = props.max\r\n\t\t\t}\r\n\r\n\t\t\tif (min && max) {\r\n\t\t\t\treturn new Date(dateString) < new Date(min) || new Date(dateString) > new Date(max)\r\n\t\t\t}\r\n\t\t\treturn false\r\n\t\t} else {\r\n\t\t\treturn false\r\n\t\t}\r\n\t}\r\n})\r\n\r\n// 监听器\r\nwatch(\r\n\t() => props.modelValue,\r\n\tval => {\r\n\t\tif (props.type !== 'dates') {\r\n\t\t\tsetData()\r\n\t\t}\r\n\t\tif (changeFrom.value === 'out') {\r\n\t\t\tsubmitValue.value = val as string\r\n\t\t}\r\n\t},\r\n\t{ deep: true }\r\n)\r\n\r\nwatch(submitValue, val => {\r\n\temit('change', val)\r\n\temit('update:modelValue', val)\r\n\tchangeFrom.value = 'in'\r\n\tsetTimeout(() => {\r\n\t\tchangeFrom.value = 'out'\r\n\t}, 100)\r\n})\r\n\r\nwatch(\r\n\t() => props.min,\r\n\t() => {\r\n\t\t// props.min = val\r\n\t}\r\n)\r\n\r\nwatch(\r\n\t() => props.max,\r\n\t() => {\r\n\t\t// props.max = val\r\n\t}\r\n)\r\n\r\nwatch(\r\n\t() => props.point,\r\n\t() => {\r\n\t\tsetDayData()\r\n\t},\r\n\t{ deep: true }\r\n)\r\n\r\nwatch(\r\n\t() => year.value,\r\n\t() => {\r\n\t\tif (!isClickFlag.value) {\r\n\t\t\tgoToCenter()\r\n\t\t}\r\n\t},\r\n\t{ deep: true }\r\n)\r\n\r\n// 根据 obj 获取当前时间值,入参格式形如:\r\n// arg = {\r\n// \tyear: '2022',\r\n// \tmonth: '02',\r\n// \tday: '22'\r\n// }\r\n\r\nconst commonSetDayVal = () => {\r\n\tif (props.type === 'dates') {\r\n\t\tconst mValue = props.modelValue as string\r\n\t\tconst mArray = mValue.split(',')\r\n\t\tif (!mArray.length) return\r\n\t\tlet yearVal = new Date(mArray[mArray.length - 1] as string).getFullYear()\r\n\t\tlet monthVal = new Date(mArray[mArray.length - 1] as string).getMonth() + 1\r\n\t\tlet dayVal = new Date(mArray[mArray.length - 1] as string).getDate()\r\n\t\tif (year.value === yearVal && month.value === monthVal) {\r\n\t\t\tday.value = dayVal\r\n\t\t} else {\r\n\t\t\tday.value = null\r\n\t\t}\r\n\t} else {\r\n\t\tlet yearVal = new Date(props.modelValue as string).getFullYear()\r\n\t\tlet monthVal = new Date(props.modelValue as string).getMonth() + 1\r\n\t\tlet dayVal = new Date(props.modelValue as string).getDate()\r\n\t\tif (year.value === yearVal && month.value === monthVal) {\r\n\t\t\tday.value = dayVal\r\n\t\t} else {\r\n\t\t\tday.value = null\r\n\t\t}\r\n\t}\r\n}\r\n\r\nconst handlerTop = () => {\r\n\tconst minYear = Number(props.minYear || 1900)\r\n\tif (Number(years.value[0]) <= minYear) {\r\n\t\treturn\r\n\t}\r\n\r\n\t// 通过 ref 获取滚动容器的 DOM 元素\r\n\tconst scrollRef = yearScrollRef.value?.$el as HTMLElement | null\r\n\tif (!scrollRef) return\r\n\r\n\tconst scrollTop = scrollRef.scrollTop\r\n\r\n\t// 生成新的年份数据\r\n\t// years.value[0] - 50\r\n\tconst newYears = setYearData(years.value[0] - 50)\r\n\t// 过滤掉小于最小年份限制的数据\r\n\tconst filteredYears = newYears.filter(year => year >= minYear)\r\n\r\n\tif (filteredYears.length > 0) {\r\n\t\tconst originalScrollHeight = scrollRef.scrollHeight\r\n\t\t// 更新数据\r\n\t\tyears.value = [...filteredYears, ...years.value]\r\n\r\n\t\tnextTick(() => {\r\n\t\t\tif (!scrollRef) return\r\n\t\t\t// 计算新数据的高度差\r\n\t\t\tconst heightDifference = scrollRef.scrollHeight - originalScrollHeight\r\n\t\t\t// 设置新的滚动位置,保证视觉上平稳过渡\r\n\t\t\tscrollRef.scrollTop = scrollTop + heightDifference\r\n\t\t})\r\n\t}\r\n}\r\n\r\nconst handlerBottom = () => {\r\n\tconst maxYear = Number(props.maxYear || 2200)\r\n\tif (Number(years.value[years.value.length - 1]) >= maxYear) {\r\n\t\treturn\r\n\t}\r\n\t// 生成新的年份数据\r\n\tconst newYears = setYearData(years.value[years.value.length - 1] + 1)\r\n\t// 过滤掉超过最大年份限制的数据\r\n\tconst filteredYears = newYears.filter(year => year <= maxYear)\r\n\tif (filteredYears.length > 0) {\r\n\t\tyears.value = [...years.value, ...filteredYears]\r\n\t}\r\n}\r\n\r\nconst getValue = (arg: any) => {\r\n\treturn new Date(`${arg.year || year.value}/${arg.month || month.value}/${arg.day || day.value || '01'}`).getTime()\r\n}\r\n\r\n// 获取格式化为字符串后的日期\r\nconst getStringValue = (arg: any = {}) => {\r\n\tconst yearVal = arg.year || year.value\r\n\tconst monthVal = arg.month || month.value\r\n\tconst dayVal = arg.day || day.value\r\n\tconst hourVal = arg.hour || hourz.value\r\n\tconst minuteVal = arg.minute || minutez.value\r\n\tconst secondVal = arg.second || secondz.value\r\n\tconst imonth = `${yearVal}-${addZero(monthVal)}`\r\n\tconst iday = dayVal !== null && dayVal !== undefined ? `${addZero(dayVal)}` : '01'\r\n\tconst itime = `${hourVal}:${minuteVal}:${secondVal}`\r\n\tif (props.type === 'month' || props.type === 'months') {\r\n\t\treturn imonth\r\n\t} else if (props.type === 'datetime' || props.type === 'time') {\r\n\t\treturn `${imonth}-${iday} ${itime}`\r\n\t} else {\r\n\t\treturn `${imonth}-${iday}`\r\n\t}\r\n}\r\n\r\n// 获取格式化为对象的日期\r\nconst getObjectValue = (str: string) => {\r\n\tconst date = new Date(str)\r\n\tif (isDate(str) && str) {\r\n\t\treturn {\r\n\t\t\tyear: date.getFullYear(),\r\n\t\t\tmonth: date.getMonth() + 1,\r\n\t\t\tday: date.getDate()\r\n\t\t}\r\n\t} else if (isMonth(str) && str) {\r\n\t\treturn {\r\n\t\t\tyear: date.getFullYear(),\r\n\t\t\tmonth: date.getMonth() + 1,\r\n\t\t\tday: 0\r\n\t\t}\r\n\t} else {\r\n\t\treturn {\r\n\t\t\tyear: 0,\r\n\t\t\tmonth: 0,\r\n\t\t\tday: 0\r\n\t\t}\r\n\t}\r\n}\r\n\r\n// 数据设置\r\nconst setData = () => {\r\n\tsetCurrent()\r\n\tsetDayData()\r\n\tsetTimeData()\r\n}\r\n\r\nconst setCurrent = () => {\r\n\tyear.value = 0\r\n\tmonth.value = 0\r\n\tday.value = null\r\n\tif (props.range) {\r\n\t\tlet arr = (props.modelValue as string).split(',')\r\n\t\tconst startVal = arr[0]\r\n\t\tconst endVal = arr[1]\r\n\r\n\t\tif (!startVal || isDate(startVal) || isMonth(startVal)) {\r\n\t\t\tstart.value = getObjectValue(startVal)\r\n\t\t\tif (!endVal || isDate(endVal) || isMonth(endVal)) {\r\n\t\t\t\tend.value = getObjectValue(endVal)\r\n\t\t\t}\r\n\t\t}\r\n\t\tif (props.rangeType === 'end') {\r\n\t\t\tyear.value = year.value || new Date().getFullYear()\r\n\t\t\tif ((end.value.day || end.value.month) && isAnyDate(getStringValue(end.value))) {\r\n\t\t\t\tif (props.type === 'month' || props.type === 'months') {\r\n\t\t\t\t\tif (start.value.year === end.value.year) {\r\n\t\t\t\t\t\tyear.value = end.value.year + 1\r\n\t\t\t\t\t} else {\r\n\t\t\t\t\t\tyear.value = end.value.year\r\n\t\t\t\t\t}\r\n\t\t\t\t\tmonth.value = 1\r\n\t\t\t\t} else {\r\n\t\t\t\t\tif (start.value.month === end.value.month) {\r\n\t\t\t\t\t\tif (Number(month.value) === 12) {\r\n\t\t\t\t\t\t\tyear.value = end.value.year + 1\r\n\t\t\t\t\t\t\tmonth.value = 1\r\n\t\t\t\t\t\t} else {\r\n\t\t\t\t\t\t\tmonth.value = end.value.month + 1\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t} else {\r\n\t\t\t\t\t\tmonth.value = end.value.month\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t} else {\r\n\t\t\t\tmonth.value = month.value || new Date().getMonth() + 2\r\n\t\t\t}\r\n\t\t\tif (month.value > 12) {\r\n\t\t\t\tmonth.value = 1\r\n\t\t\t\tyear.value += 1\r\n\t\t\t}\r\n\t\t} else {\r\n\t\t\tif ((start.value.day || start.value.month) && isAnyDate(getStringValue(start.value))) {\r\n\t\t\t\tyear.value = start.value.year\r\n\t\t\t\tmonth.value = start.value.month\r\n\t\t\t} else {\r\n\t\t\t\tyear.value = year.value || new Date().getFullYear()\r\n\t\t\t\tmonth.value = month.value || new Date().getMonth() + 1\r\n\t\t\t}\r\n\t\t}\r\n\t} else {\r\n\t\tif (props.modelValue && (!isNaN(new Date(props.modelValue as string).getTime()) || props.type === 'months' || props.type === 'dates')) {\r\n\t\t\tif (props.type === 'months' || props.type === 'dates') {\r\n\t\t\t\tconst mValue = props.modelValue as string\r\n\t\t\t\tconst mArray = mValue.split(',')\r\n\t\t\t\tif (!mArray.length) return\r\n\t\t\t\tyear.value = new Date(mArray[mArray.length - 1] as string).getFullYear()\r\n\t\t\t\tmonth.value = new Date(mArray[mArray.length - 1] as string).getMonth() + 1\r\n\t\t\t\tday.value = new Date(mArray[mArray.length - 1] as string).getDate()\r\n\t\t\t\thour.value = String(new Date(mArray[mArray.length - 1] as string).getHours())\r\n\t\t\t\tminute.value = String(new Date(mArray[mArray.length - 1] as string).getMinutes())\r\n\t\t\t\tsecond.value = String(new Date(mArray[mArray.length - 1] as string).getSeconds())\r\n\t\t\t\tif (props.type === 'months') {\r\n\t\t\t\t\tmonthsRangeData.value = mArray\r\n\t\t\t\t\tif (monthsRangeData.value.length > 0) {\r\n\t\t\t\t\t\tsetMonthsData()\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t\tif (props.type === 'dates') {\r\n\t\t\t\t\tdaysRangeData.value = mArray\r\n\t\t\t\t\tif (daysRangeData.value.length > 0) {\r\n\t\t\t\t\t\tsetDaysData()\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t} else {\r\n\t\t\t\tyear.value = new Date(props.modelValue as string).getFullYear()\r\n\t\t\t\tmonth.value = new Date(props.modelValue as string).getMonth() + 1\r\n\t\t\t\tday.value = new Date(props.modelValue as string).getDate()\r\n\t\t\t\thour.value = String(new Date(props.modelValue as string).getHours())\r\n\t\t\t\tminute.value = String(new Date(props.modelValue as string).getMinutes())\r\n\t\t\t\tsecond.value = String(new Date(props.modelValue as string).getSeconds())\r\n\t\t\t}\r\n\t\t} else if (props.modelValue && isNaN(new Date(props.modelValue as string).getTime()) && !isNaN(new Date((props.modelValue as string).replace(/-/g, '/')).getTime())) {\r\n\t\t\tconst value = (props.modelValue as string).replace(/-/g, '/')\r\n\t\t\tyear.value = new Date(value).getFullYear()\r\n\t\t\tmonth.value = new Date(value).getMonth() + 1\r\n\t\t\tday.value = new Date(value).getDate()\r\n\t\t\thour.value = String(new Date(value).getHours())\r\n\t\t\tminute.value = String(new Date(value).getMinutes())\r\n\t\t\tsecond.value = String(new Date(value).getSeconds())\r\n\t\t} else {\r\n\t\t\tyear.value = new Date().getFullYear()\r\n\t\t\tmonth.value = new Date().getMonth() + 1\r\n\t\t\tday.value = null\r\n\t\t\thour.value = '0'\r\n\t\t\tminute.value = '0'\r\n\t\t\tsecond.value = '0'\r\n\t\t}\r\n\t}\r\n}\r\n\r\nconst filterYearData = (arr: number[]) => {\r\n\t// 过滤掉小于 props.minYear 和大于 props.maxYear 的值\r\n\tconst minYear = Number(props.minYear || 1900)\r\n\tconst maxYear = Number(props.maxYear || 2200)\r\n\treturn arr.filter(year => year >= minYear && year <= maxYear)\r\n}\r\n\r\nconst setYearData = (yearVal?: number) => {\r\n\tconst minYear = Number(props.minYear || 1900)\r\n\tconst maxYear = Number(props.maxYear || 2200)\r\n\tif (!yearVal) {\r\n\t\tyearVal = year.value >= minYear && year.value <= maxYear ? year.value : minYear\r\n\t} else if (yearVal && (yearVal < minYear || yearVal > maxYear)) {\r\n\t\tyearVal = minYear\r\n\t} else {\r\n\t\tyearVal = yearVal || year.value\r\n\t}\r\n\r\n\tlet arr: number[] = []\r\n\tif (yearVal === year.value) {\r\n\t\tfor (let i = -25; i < 25; i++) {\r\n\t\t\tarr.push(yearVal + i)\r\n\t\t}\r\n\t} else {\r\n\t\tfor (let i = 0; i < 50; i++) {\r\n\t\t\t// arr.push(Math.floor(yearVal / 10) * 10 + i)\r\n\t\t\tarr.push(yearVal + i)\r\n\t\t}\r\n\t}\r\n\r\n\treturn filterYearData(arr)\r\n}\r\n\r\nconst setDayData = () => {\r\n\tcommonSetDayVal()\r\n\t// 计算本月天数\r\n\tconst dayCount = getMonthDays(`${year.value}/${month.value}/1`)\r\n\r\n\t// 计算前面有几天应该置空\r\n\tconst thisMonthFirstDay = new Date(`${year.value}/${month.value}/1`)\r\n\tthisMonthFirstDay.setMonth(thisMonthFirstDay.getMonth(), 1)\r\n\tconst emptyLength = new Date(thisMonthFirstDay.setMonth(thisMonthFirstDay.getMonth(), 1)).getDay()\r\n\r\n\t// 设置天数\r\n\tdays.value = (() => {\r\n\t\tlet arr: any[] = []\r\n\t\tfor (let i = 0; i < emptyLength; i++) {\r\n\t\t\tarr.push({})\r\n\t\t}\r\n\t\tfor (let i = 1; i < dayCount + 1; i++) {\r\n\t\t\tlet obj: any = {}\r\n\t\t\tobj.value = i\r\n\r\n\t\t\t// 星期天\r\n\t\t\tif ((i + emptyLength) % 7 === 1) {\r\n\t\t\t\tobj.sun = true\r\n\t\t\t}\r\n\r\n\t\t\t// 星期六\r\n\t\t\tif ((i + emptyLength) % 7 === 0) {\r\n\t\t\t\tobj.sat = true\r\n\t\t\t}\r\n\r\n\t\t\tconst point = props.point.filter(item => {\r\n\t\t\t\treturn item.day === `${year.value}-${addZero(month.value)}-${addZero(i)}`\r\n\t\t\t})\r\n\t\t\tobj.point = point\r\n\r\n\t\t\tarr.push(obj)\r\n\t\t}\r\n\t\treturn arr\r\n\t})()\r\n}\r\n\r\nconst setTimeData = () => {\r\n\thours.value = genNumbers(0, 23)\r\n\tminutes.value = genNumbers(0, 59)\r\n\tseconds.value = genNumbers(0, 59)\r\n\tconst hourVal = String(new Date(props.modelValue as string).getHours())\r\n\tconst minuteVal = String(new Date(props.modelValue as string).getMinutes())\r\n\tconst secondVal = String(new Date(props.modelValue as string).getSeconds())\r\n\tif (props.time) {\r\n\t\tconst arr = props.time.split(':')\r\n\t\thour.value = arr[0] || '0'\r\n\t\tminute.value = arr[1] || '0'\r\n\t\tsecond.value = arr[2] || '0'\r\n\t}\r\n\tif (!isNaN(Number(hourVal)) && !isNaN(Number(minuteVal)) && !isNaN(Number(secondVal))) {\r\n\t\thour.value = hourVal\r\n\t\tminute.value = minuteVal\r\n\t\tsecond.value = secondVal\r\n\t}\r\n}\r\n\r\nconst toggleString = (arr, str) => {\r\n\t// debugger\r\n\t// 检查数组中是否包含目标字符串(使用严格相等 === 判断)\r\n\tconst hasStr = arr.includes(str)\r\n\r\n\tif (hasStr) {\r\n\t\t// 过滤掉所有等于目标字符串的元素(删除所有匹配项)\r\n\t\treturn arr.filter(item => item !== str)\r\n\t} else {\r\n\t\t// 不包含则追加到数组末尾\r\n\t\treturn [...arr, str]\r\n\t}\r\n}\r\n\r\n// 选择事件\r\nconst selectYear = (item: number) => {\r\n\tyear.value = item\r\n\tisClickFlag.value = true\r\n}\r\n\r\nconst selectMonth = (item: number) => {\r\n\tif (item) {\r\n\t\tif (props.range && (props.type === 'month' || props.type === 'months')) {\r\n\t\t\tlet startVal: any = {}\r\n\t\t\tlet endVal: any = {}\r\n\t\t\tif (!start.value.month && !end.value.month) {\r\n\t\t\t\tstartVal.year = year.value\r\n\t\t\t\tstartVal.month = item\r\n\t\t\t\tstartVal.day = ''\r\n\t\t\t}\r\n\t\t\tif (start.value.month) {\r\n\t\t\t\tif (end.value.month) {\r\n\t\t\t\t\tstartVal.year = year.value\r\n\t\t\t\t\tstartVal.month = item\r\n\t\t\t\t\tstartVal.day = ''\r\n\t\t\t\t\tendVal.year = ''\r\n\t\t\t\t\tendVal.month = ''\r\n\t\t\t\t\tendVal.day = ''\r\n\t\t\t\t} else {\r\n\t\t\t\t\tif (getValue(start.value) > getValue({ month: item })) {\r\n\t\t\t\t\t\tendVal.year = start.value.year\r\n\t\t\t\t\t\tendVal.month = start.value.month\r\n\t\t\t\t\t\tendVal.day = ''\r\n\t\t\t\t\t\tstartVal.year = year.value\r\n\t\t\t\t\t\tstartVal.month = item\r\n\t\t\t\t\t\tstartVal.day = ''\r\n\t\t\t\t\t} else {\r\n\t\t\t\t\t\tstartVal = JSON.parse(JSON.stringify(start.value))\r\n\t\t\t\t\t\tendVal.year = year.value\r\n\t\t\t\t\t\tendVal.month = item\r\n\t\t\t\t\t\tendVal.day = ''\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\tstart.value = JSON.parse(JSON.stringify(startVal))\r\n\t\t\tend.value = JSON.parse(JSON.stringify(endVal))\r\n\t\t\tsubmitValue.value = iValue.value\r\n\t\t} else {\r\n\t\t\tif (props.type === 'month' || props.type === 'months') {\r\n\t\t\t\temit(\r\n\t\t\t\t\t'beforeChange',\r\n\t\t\t\t\tgetStringValue({\r\n\t\t\t\t\t\tmonth: item\r\n\t\t\t\t\t})\r\n\t\t\t\t)\r\n\t\t\t}\r\n\t\t\tif (props.beforeChange) {\r\n\t\t\t\tconst fn = props.beforeChange(\r\n\t\t\t\t\tgetStringValue({\r\n\t\t\t\t\t\tmonth: item\r\n\t\t\t\t\t})\r\n\t\t\t\t)\r\n\t\t\t\tif (fn && isPromise(fn)) {\r\n\t\t\t\t\t;(fn as Promise<boolean>)\r\n\t\t\t\t\t\t.then(() => {\r\n\t\t\t\t\t\t\tselectMonthAction(item)\r\n\t\t\t\t\t\t})\r\n\t\t\t\t\t\t.catch(() => {})\r\n\t\t\t\t} else {\r\n\t\t\t\t\t// 是同步方法,则返回为 true 执行\r\n\t\t\t\t\tif (fn) {\r\n\t\t\t\t\t\tselectMonthAction(item)\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t} else {\r\n\t\t\t\tselectMonthAction(item)\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n}\r\n\r\nconst setMonthsData = () => {\r\n\tyearsData.value = [\r\n\t\t...new Set(\r\n\t\t\tmonthsRangeData.value.map(item => {\r\n\t\t\t\treturn Number(item.split('-')[0] ?? curYear.value)\r\n\t\t\t})\r\n\t\t)\r\n\t]\r\n\tmonthsData.value = [\r\n\t\t...new Set(\r\n\t\t\tmonthsRangeData.value.map(item => {\r\n\t\t\t\treturn item.split('-')[1] ?? addZero(curMonth.value)\r\n\t\t\t})\r\n\t\t)\r\n\t]\r\n}\r\n\r\nconst setDaysData = () => {\r\n\tyearsData.value = [\r\n\t\t...new Set(\r\n\t\t\tdaysRangeData.value.map(item => {\r\n\t\t\t\treturn Number(item.split('-')[0] ?? curYear.value)\r\n\t\t\t})\r\n\t\t)\r\n\t]\r\n\tmonthsData.value = [\r\n\t\t...new Set(\r\n\t\t\tdaysRangeData.value.map(item => {\r\n\t\t\t\treturn item.split('-')[1] ?? addZero(curMonth.value)\r\n\t\t\t})\r\n\t\t)\r\n\t]\r\n\tdaysData.value = [\r\n\t\t...new Set(\r\n\t\t\tdaysRangeData.value.map(item => {\r\n\t\t\t\treturn item.split('-')[2] ?? addZero(curDay.value)\r\n\t\t\t})\r\n\t\t)\r\n\t]\r\n\tmonthsRangeData.value = [\r\n\t\t...new Set(\r\n\t\t\tdaysRangeData.value.map(item => {\r\n\t\t\t\treturn item.split('-').slice(0, 2).join('-')\r\n\t\t\t})\r\n\t\t)\r\n\t]\r\n}\r\n\r\nconst selectMonthAction = (item: number) => {\r\n\tmonth.value = item\r\n\tif (props.type === 'month' || props.type === 'months') {\r\n\t\tconst str = `${year.value || curYear}-${addZero(month.value)}`\r\n\t\tmonthsRangeData.value = toggleString(monthsRangeData.value, str)\r\n\t\tsetMonthsData()\r\n\t}\r\n\tmonthLayer.value = false\r\n\tsetDayData()\r\n\tif (props.type === 'month' || props.type === 'months') {\r\n\t\tday.value = 1\r\n\t\tsubmitValue.value = iValue.value\r\n\t}\r\n}\r\n\r\nconst selectDay = (item: any) => {\r\n\tif (item.value) {\r\n\t\tif (props.range) {\r\n\t\t\tlet startVal: any = {}\r\n\t\t\tlet endVal: any = {}\r\n\t\t\tif (!start.value.day && !end.value.day) {\r\n\t\t\t\tstartVal.year = year.value\r\n\t\t\t\tstartVal.month = month.value\r\n\t\t\t\tstartVal.day = item.value\r\n\t\t\t}\r\n\t\t\tif (start.value.day) {\r\n\t\t\t\tif (end.value.day) {\r\n\t\t\t\t\tstartVal.year = year.value\r\n\t\t\t\t\tstartVal.month = month.value\r\n\t\t\t\t\tstartVal.day = item.value\r\n\t\t\t\t\tendVal.year = ''\r\n\t\t\t\t\tendVal.month = ''\r\n\t\t\t\t\tendVal.day = ''\r\n\t\t\t\t} else {\r\n\t\t\t\t\tif (getValue(start.value) > getValue({ day: item.value })) {\r\n\t\t\t\t\t\tendVal.year = start.value.year\r\n\t\t\t\t\t\tendVal.month = start.value.month\r\n\t\t\t\t\t\tendVal.day = start.value.day\r\n\t\t\t\t\t\tstartVal.year = year.value\r\n\t\t\t\t\t\tstartVal.month = month.value\r\n\t\t\t\t\t\tstartVal.day = item.value\r\n\t\t\t\t\t} else {\r\n\t\t\t\t\t\tstartVal = JSON.parse(JSON.stringify(start.value))\r\n\t\t\t\t\t\tendVal.year = year.value\r\n\t\t\t\t\t\tendVal.month = month.value\r\n\t\t\t\t\t\tendVal.day = item.value\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\tstart.value = JSON.parse(JSON.stringify(startVal))\r\n\t\t\tend.value = JSON.parse(JSON.stringify(endVal))\r\n\t\t\tsubmitValue.value = iValue.value\r\n\t\t} else {\r\n\t\t\tlet val = getStringValue({\r\n\t\t\t\tday: item.value\r\n\t\t\t})\r\n\t\t\tif (!props.type || props.type === 'date' || props.type === 'dates') {\r\n\t\t\t\temit('beforeChange', val)\r\n\r\n\t\t\t\thandleBeforeChange(\r\n\t\t\t\t\tprops.beforeChange,\r\n\t\t\t\t\tgetStringValue({\r\n\t\t\t\t\t\tday: item.value\r\n\t\t\t\t\t})\r\n\t\t\t\t)\r\n\t\t\t\t\t.then(() => {\r\n\t\t\t\t\t\tselectDayAction(item)\r\n\t\t\t\t\t})\r\n\t\t\t\t\t.catch(() => {})\r\n\t\t\t} else {\r\n\t\t\t\tselectDayAction(item)\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n}\r\n\r\nconst selectDayAction = (item: any) => {\r\n\tday.value = Number(item.value)\r\n\tconst str = `${year.value || curYear}-${addZero(month.value)}-${addZero(day.value)}`\r\n\tdaysRangeData.value = toggleString(daysRangeData.value, str)\r\n\tsetDaysData()\r\n\tsubmitValue.value = iValue.value\r\n}\r\n\r\nconst selectTime = () => {\r\n\tif (day.value === null && !props.min && !props.max) {\r\n\t\tday.value = new Date().getDate()\r\n\t} else if (day.value === null && props.min && props.max) {\r\n\t\t// this.$tip.error(this.t('to.calendar.tip.error.selectDate'))\r\n\t\treturn\r\n\t}\r\n\t// emit('beforeChange', getStringValue())\r\n\t// if (props.beforeChange) {\r\n\t// \tconst fn = props.beforeChange(getStringValue())\r\n\r\n\t// \tif (fn && isPromise(fn)) {\r\n\t// \t\t;(fn as Promise<boolean>).then(() => {\r\n\t// \t\t\tselectTimeAction()\r\n\t// \t\t})\r\n\t// \t} else {\r\n\t// \t\t// 是同步方法,则返回为 true 执行\r\n\t// \t\tif (fn) {\r\n\t// \t\t\tselectTimeAction()\r\n\t// \t\t}\r\n\t// \t}\r\n\t// } else {\r\n\t// \tselectTimeAction()\r\n\t// }\r\n}\r\n\r\nconst selectTimeAction = () => {\r\n\tsubmitValue.value = iValue.value\r\n\temit('close')\r\n}\r\n\r\nconst selectHour = item => {\r\n\thour.value = item\r\n\tselectTime()\r\n}\r\nconst selectMinute = item => {\r\n\tminute.value = item\r\n\tselectTime()\r\n}\r\nconst selectSecond = item => {\r\n\tsecond.value = item\r\n\tselectTime()\r\n}\r\n\r\nconst moment = () => {\r\n\thour.value = String(new Date().getHours())\r\n\tminute.value = String(new Date().getMinutes())\r\n\tsecond.value = String(new Date().getSeconds())\r\n\tselectTime()\r\n}\r\n\r\nconst confirm = () => {\r\n\temit('confirm', submitValue.value)\r\n\r\n\temit('beforeChange', getStringValue())\r\n\tif (props.beforeChange) {\r\n\t\tconst fn = props.beforeChange(getStringValue())\r\n\r\n\t\tif (fn && isPromise(fn)) {\r\n\t\t\t;(fn as Promise<boolean>).then(() => {\r\n\t\t\t\tselectTimeAction()\r\n\t\t\t})\r\n\t\t} else {\r\n\t\t\t// 是同步方法,则返回为 true 执行\r\n\t\t\tif (fn) {\r\n\t\t\t\tselectTimeAction()\r\n\t\t\t}\r\n\t\t}\r\n\t} else {\r\n\t\tselectTimeAction()\r\n\t}\r\n}\r\n\r\n// 样式设置\r\nconst setYearClass = (item: number) => {\r\n\treturn {\r\n\t\t'is-cur': curYear.value === item,\r\n\t\t'is-on': year.value === item,\r\n\t\t'is-checked': (props.type === 'months' || props.type === 'dates') && yearsData.value.includes(item)\r\n\t}\r\n}\r\n\r\nconst setMonthClass = (item: number) => {\r\n\tlet arr: string[] = []\r\n\tif (year.value === curYear.value && curMonth.value === item) {\r\n\t\tarr.push('is-cur')\r\n\t}\r\n\tif (props.range && (props.type === 'month' || props.type === 'months')) {\r\n\t\tif (year.value === start.value.year && item === start.value.month) {\r\n\t\t\tif (end.value.month) {\r\n\t\t\t\tarr.push('is-start')\r\n\t\t\t} else {\r\n\t\t\t\tarr.push('is-on')\r\n\t\t\t}\r\n\t\t}\r\n\t\tif (year.value === end.value.year && item === end.value.month) {\r\n\t\t\tarr.push('is-end')\r\n\t\t}\r\n\t\tconst value = getValue({\r\n\t\t\tyear: year.value,\r\n\t\t\tmonth: item,\r\n\t\t\tday: 1\r\n\t\t})\r\n\t\tconsole.log('start.value', start.value)\r\n\t\tconsole.log('end.value', end.value)\r\n\t\tconsole.log('value', value)\r\n\t\tconsole.log('getValue(start.value)', getValue(start.value))\r\n\t\tconsole.log('getValue(end.value)', getValue(end.value))\r\n\t\tif ((value > getValue(start.value) || value === getValue(start.value)) && value < getValue(end.value)) {\r\n\t\t\tarr.push('is-range')\r\n\t\t}\r\n\t} else {\r\n\t\tif (month.value === item && (props.type === 'month' || props.type === 'date' || !props.type)) {\r\n\t\t\tarr.push('is-on')\r\n\t\t}\r\n\t\tif ((props.type === 'months' || props.type === 'dates') && yearsData.value.length > 0) {\r\n\t\t\t// monthsData.value.includes(`${addZero(item)}`)\r\n\t\t\tif (yearsData.value.includes(year.value) && years.value.includes(year.value) && monthsRangeData.value.includes(`${year.value}-${addZero(item)}`)) {\r\n\t\t\t\tarr.push('is-checked')\r\n\t\t\t\tif (month.value === item) {\r\n\t\t\t\t\tarr.push('is-on')\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n\r\n\tif (item && (props.min || props.max)) {\r\n\t\tlet curData = year.value + '/' + (item > 9 ? item : '0' + item) + '/01'\r\n\t\tlet date = new Date()\r\n\t\tlet hourVal = date.getHours()\r\n\t\tlet minuteVal = date.getMinutes()\r\n\t\tlet secondVal = date.getSeconds()\r\n\t\tcurData = curData + ' ' + (hourVal > 9 ? hourVal : '0' + hourVal) + ':' + (minuteVal > 9 ? minuteVal : '0' + minuteVal) + ':' + (secondVal > 9 ? secondVal : '0' + secondVal)\r\n\t\tlet curTime = new Date(curData).getTime()\r\n\t\tlet min = new Date(props.min as string).getTime()\r\n\t\tlet maxTime = new Date(props.max as string).getTime()\r\n\t\tlet cur = curData.split(' ')[0]\r\n\t\tlet yearVal = new Date(props.max as string).getFullYear()\r\n\t\tlet monthVal = new Date(props.max as string).getMonth() + 1\r\n\t\tlet dayVal = new Date(props.max as string).getDate()\r\n\t\tlet max = yearVal + '/' + (monthVal > 9 ? monthVal : '0' + monthVal) + '/' + (dayVal > 9 ? dayVal : '0' + dayVal)\r\n\t\tif (min === maxTime && cur !== max) {\r\n\t\t\tif (curTime > maxTime) {\r\n\t\t\t\tarr.push('to-dis')\r\n\t\t\t}\r\n\t\t\tif (curTime < min) {\r\n\t\t\t\tarr.push('to-dis')\r\n\t\t\t}\r\n\t\t} else if (min !== maxTime && cur !== max) {\r\n\t\t\tif (curTime > maxTime) {\r\n\t\t\t\tarr.push('to-dis')\r\n\t\t\t}\r\n\t\t\tif (curTime < min) {\r\n\t\t\t\tarr.push('to-dis')\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n\treturn arr\r\n}\r\n\r\nconst setDayClass = (item: any) => {\r\n\tlet arr: string[] = []\r\n\tif (item.sat) {\r\n\t\tarr.push('is-sat')\r\n\t}\r\n\tif (item.sun) {\r\n\t\tarr.push('is-sun')\r\n\t}\r\n\tif (year.value === curYear.value && month.value === curMonth.value && curDay.value === item.value) {\r\n\t\tarr.push('is-cur')\r\n\t}\r\n\tif (props.range) {\r\n\t\tif (year.value === start.value.year && month.value === start.value.month && item.value === start.value.day) {\r\n\t\t\tif (end.value.day) {\r\n\t\t\t\tarr.push('is-start')\r\n\t\t\t} else {\r\n\t\t\t\tarr.push('is-on')\r\n\t\t\t}\r\n\t\t}\r\n\t\tif (year.value === end.value.year && month.value === end.value.month && item.value === end.value.day) {\r\n\t\t\tarr.push('is-end')\r\n\t\t}\r\n\t\tconst value = getValue({\r\n\t\t\tyear: year.value,\r\n\t\t\tmonth: month.value,\r\n\t\t\tday: item.value\r\n\t\t})\r\n\t\tif (value > getValue(start.value) && value < getValue(end.value)) {\r\n\t\t\tarr.push('is-range')\r\n\t\t}\r\n\t} else {\r\n\t\tif (day.value === item.value && props.type !== 'dates') {\r\n\t\t\tarr.push('is-on')\r\n\t\t} else if (props.type === 'dates') {\r\n\t\t\tif (yearsData.value.includes(year.value) && monthsData.value.includes(addZero(month.value)) && daysRangeData.value.includes(`${year.value}-${addZero(month.value)}-${addZero(item.value)}`)) {\r\n\t\t\t\tarr.push('is-checked')\r\n\t\t\t\tif (day.value === item.value) {\r\n\t\t\t\t\tarr.push('is-on')\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n\treturn arr\r\n}\r\n\r\n// 界面控制\r\nconst nextMonth = () => {\r\n\tif (month.value === 12) {\r\n\t\tyear.value += 1\r\n\t\tmonth.value = 1\r\n\t} else {\r\n\t\tmonth.value += 1\r\n\t}\r\n\tsetDayData()\r\n}\r\n\r\nconst lastMonth = () => {\r\n\tif (month.value === 1) {\r\n\t\tyear.value -= 1\r\n\t\tmonth.value = 12\r\n\t} else {\r\n\t\tmonth.value -= 1\r\n\t}\r\n\tsetDayData()\r\n}\r\n\r\n// const lastYears = () => {\r\n// \tyearsPage.value -= 1\r\n// \tsetYearData(year.value + 10 * yearsPage.value)\r\n// }\r\n\r\n// const nextYears = () => {\r\n// \tyearsPage.value += 1\r\n// \tsetYearData(year.value + 10 * yearsPage.value)\r\n// }\r\n\r\nconst nextYear = () => {\r\n\tif (year.value >= Number(props.maxYear || 2200)) {\r\n\t\treturn\r\n\t}\r\n\tisClickFlag.value = false\r\n\tyear.value += 1\r\n\tcommonSetDayVal()\r\n}\r\n\r\nconst lastYear = () => {\r\n\tif (year.value <= Number(props.minYear || 1900)) {\r\n\t\treturn\r\n\t}\r\n\tisClickFlag.value = false\r\n\tyear.value -= 1\r\n\tcommonSetDayVal()\r\n}\r\n\r\nconst toggleMonthSelector = () => {\r\n\tif (!monthLayer.value) {\r\n\t\t// 打开\r\n\t\tmonthLayer.value = true\r\n\t\ttempYear.value = year.value\r\n\t\tyears.value = setYearData(year.value)\r\n\t\tisClickFlag.value = false\r\n\t\tgoToCenter()\r\n\t} else {\r\n\t\t// 关闭\r\n\t\tmonthLayer.value = false\r\n\t}\r\n}\r\n\r\nconst hourScroll = ref()\r\nconst minuteScroll = ref()\r\nconst secondScroll = ref()\r\n\r\n// 内置方法\r\n// 验证日期格式\r\nconst isDate = (date: string) => {\r\n\tconst DateExp = /^[1-2][0-9]{3}-(0[1-9]|1[0-2])-(0[1-9]|[1-2][0-9]|3[0-1])$/\r\n\tif (DateExp.test(date)) {\r\n\t\treturn new Date(date).getDate() === Number(date.substring(date.length - 2))\r\n\t} else {\r\n\t\treturn false\r\n\t}\r\n}\r\n\r\nconst isMonth = (date: string) => {\r\n\tconst DateExp = /^[1-2][0-9]{3}-(0[1-9]|1[0-2])$/\r\n\tif (DateExp.test(date)) {\r\n\t\treturn new Date(date + '-01').getDate() === Number(1)\r\n\t} else {\r\n\t\treturn false\r\n\t}\r\n}\r\n\r\nconst isDatetime = (time: string) => {\r\n\tif (typeof time === 'string') {\r\n\t\tvar reg = /^(\\d{4})-(\\d{2})-(\\d{2})\\s+(\\d{2}):(\\d{2}):(\\d{2})$/\r\n\t\treturn reg.test(time)\r\n\t} else {\r\n\t\treturn false\r\n\t}\r\n}\r\n\r\nconst isAnyDate = (date: string) => {\r\n\treturn isDate(date) || isMonth(date) || isDatetime(date)\r\n}\r\n\r\n// 获取某月天数\r\nconst getMonthDays = (date: string) => {\r\n\tconst d = new Date(date)\r\n\td.setMonth(d.getMonth() + 1, 0)\r\n\treturn d.getDate()\r\n}\r\n\r\n// 格式化日期\r\n// eslint-disable-next-line @typescript-eslint/no-unused-vars\r\nconst formatDate = (date: Date, fmt: string) => {\r\n\tconst o: any = {\r\n\t\t'M+': date.getMonth() + 1, // 月份\r\n\t\t'd+': date.getDate(), // 日\r\n\t\t'h+': date.getHours(), // 小时\r\n\t\t'm+': date.getMinutes(), // 分\r\n\t\t's+': date.getSeconds(), // 秒\r\n\t\t'q+': Math.floor((date.getMonth() + 3) / 3), // 季度\r\n\t\tS: date.getMilliseconds() // 毫秒\r\n\t}\r\n\tif (/(y+)/.test(fmt)) {\r\n\t\tfmt = fmt.replace(RegExp.$1, (date.getFullYear() + '').substr(4 - RegExp.$1.length))\r\n\t}\r\n\tfor (const k in o) {\r\n\t\tif (new RegExp('(' + k + ')').test(fmt)) {\r\n\t\t\tfmt = fmt.replace(RegExp.$1, RegExp.$1.length === 1 ? o[k] : ('00' + o[k]).substr(('' + o[k]).length))\r\n\t\t}\r\n\t}\r\n\treturn fmt\r\n}\r\n\r\n// 生成数字数组\r\nconst genNumbers = (min: number, max: number, step: number = 1) => {\r\n\tconst arr: string[] = []\r\n\tfor (let i = min; i <= max; i += step) {\r\n\t\tarr.push(String(i))\r\n\t}\r\n\treturn arr\r\n}\r\n\r\n// 补零\r\nconst addZero = (str: string | number) => {\r\n\tif (Number(str) < 10) {\r\n\t\treturn '0' + Number(str)\r\n\t} else {\r\n\t\treturn String(str)\r\n\t}\r\n}\r\n\r\nconst goToCenter = () => {\r\n\tnextTick(() => {\r\n\t\tconst scrollRef = yearScrollRef.value?.$el as HTMLElement | null\r\n\t\tif (!scrollRef) return\r\n\r\n\t\t// const currentYear = new Date().getFullYear()\r\n\t\tconst currentYear = year.value\r\n\t\tconst currentIndex = years.value.findIndex(year => year === currentYear)\r\n\r\n\t\t// 获取第一个年份项,用于计算单个年份项的高度\r\n\t\tconst firstItem = scrollRef.querySelector('.to-calendar-year-item') as HTMLElement | null\r\n\t\tif (!firstItem) return\r\n\r\n\t\tconst itemHeight = firstItem.offsetHeight\r\n\t\t// 计算滚动位置,让当前年份在可视区域中间\r\n\t\tconst scrollTop = currentIndex * itemHeight - scrollRef.clientHeight / 2 + itemHeight / 2\r\n\r\n\t\tscrollRef.scrollTop = Math.max(0, scrollTop)\r\n\t})\r\n}\r\n\r\n// 生命周期\r\nonMounted(() => {\r\n\tif (props.minYear && props.maxYear && Number(props.minYear) > Number(props.maxYear)) {\r\n\t\tconsole.error('minYear 不能大于 maxYear')\r\n\t}\r\n\tsetData()\r\n\tyears.value = setYearData()\r\n\r\n\tgoToCenter()\r\n})\r\n\r\ndefineExpose({\r\n\tsetData,\r\n\taddZero,\r\n\tyear,\r\n\tmonth,\r\n\tday,\r\n\thour,\r\n\tminute,\r\n\tsecond\r\n})\r\n</script>\r\n"],"names":["DO_defineComponent","ref","useWidthStyle","computed","t","watch","year","nextTick","isPromise","handleBeforeChange","onMounted","_createElementBlock","_normalizeClass","_unref","_createCommentVNode","_createElementVNode","type","_createVNode","_toDisplayString","ToScroll","_openBlock","_Fragment","_renderList","_withModifiers","_renderSlot","_createBlock","ToTag","size","_createTextVNode","vTip","vDis","legend"],"mappings":"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"}
1
+ {"version":3,"file":"calendar.vue2.js","sources":["../../../../../../packages/components/calendar/src/calendar.vue"],"sourcesContent":["<script lang=\"ts\">\nimport { defineComponent as DO_defineComponent } from 'vue';\nexport default /*#__PURE__*/ DO_defineComponent({\n\tname: 'ToCalendar'\n});\n</script>\n<template>\n\t<div class=\"to-calendar\" :class=\"setClass\" :style=\"widthStyle\">\n\t\t<!-- 内容 -->\n\t\t<div class=\"to-calendar-content\">\n\t\t\t<!-- 快捷方式 -->\n\t\t\t<div class=\"to-calendar-shortcut\"></div>\n\n\t\t\t<!-- 日期 -->\n\t\t\t<div v-if=\"type !== 'time'\" class=\"to-calendar-date\">\n\t\t\t\t<!-- 头部 -->\n\t\t\t\t<div class=\"to-calendar-header\">\n\t\t\t\t\t<to-icon value=\"backward\" link class=\"to-calendar-header-prev-year\" @click.stop=\"lastYear\"></to-icon>\n\t\t\t\t\t<to-icon value=\"back\" link class=\"to-calendar-header-prev\" @click.stop=\"lastMonth\"></to-icon>\n\t\t\t\t\t<div class=\"to-calendar-header-content\" :class=\"{ 'is-unfold': type !== 'month' && type !== 'months' }\" @click.stop=\"toggleMonthSelector\">\n\t\t\t\t\t\t<span class=\"to-calendar-header-year\">{{ year }}年</span>\n\t\t\t\t\t\t<span class=\"to-calendar-header-month\">{{ addZero(month) }}月</span>\n\t\t\t\t\t</div>\n\t\t\t\t\t<to-icon value=\"next\" link class=\"to-calendar-header-next\" @click.stop=\"nextMonth\"></to-icon>\n\t\t\t\t\t<to-icon value=\"forward\" link class=\"to-calendar-header-next-year\" @click.stop=\"nextYear\"></to-icon>\n\t\t\t\t</div>\n\n\t\t\t\t<!-- 年月选择 -->\n\t\t\t\t<div v-show=\"monthLayer || type === 'month' || type === 'months'\" class=\"to-calendar-picker\">\n\t\t\t\t\t<to-scroll ref=\"yearScrollRef\" class=\"to-calendar-year\" @top=\"handlerTop\" @bottom=\"handlerBottom\">\n\t\t\t\t\t\t<div v-for=\"(item, index) in years\" :key=\"index\" class=\"to-calendar-year-item\" :class=\"setYearClass(item)\" @click.stop=\"selectYear(item)\">\n\t\t\t\t\t\t\t<div class=\"to-calendar-year-item-text\">\n\t\t\t\t\t\t\t\t{{ item }}\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</to-scroll>\n\t\t\t\t\t<!-- <to-icon value=\"collapse\" link class=\"to-calendar-year-prev\" @click=\"lastYears\"></to-icon> -->\n\t\t\t\t\t<!-- <div class=\"to-calendar-year-list\"> -->\n\t\t\t\t\t<!-- </div> -->\n\t\t\t\t\t<!-- <to-icon value=\"expand\" link class=\"to-calendar-year-next\" @click=\"nextYears\"></to-icon> -->\n\t\t\t\t\t<div class=\"to-calendar-picker-divider\"></div>\n\t\t\t\t\t<div class=\"to-calendar-month\">\n\t\t\t\t\t\t<div class=\"to-calendar-month-list\">\n\t\t\t\t\t\t\t<div class=\"to-calendar-month-item\" :class=\"setMonthClass(1)\" @click.stop=\"selectMonth(1)\">\n\t\t\t\t\t\t\t\t<div class=\"to-calendar-month-item-content\">\n\t\t\t\t\t\t\t\t\t<div class=\"to-calendar-month-item-text\">\n\t\t\t\t\t\t\t\t\t\t{{ t('to.calendar.month.m1') }}\n\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t<div class=\"to-calendar-month-item\" :class=\"setMonthClass(2)\" @click.stop=\"selectMonth(2)\">\n\t\t\t\t\t\t\t\t<div class=\"to-calendar-month-item-content\">\n\t\t\t\t\t\t\t\t\t<div class=\"to-calendar-month-item-text\">\n\t\t\t\t\t\t\t\t\t\t{{ t('to.calendar.month.m2') }}\n\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t<div class=\"to-calendar-month-item\" :class=\"setMonthClass(3)\" @click.stop=\"selectMonth(3)\">\n\t\t\t\t\t\t\t\t<div class=\"to-calendar-month-item-content\">\n\t\t\t\t\t\t\t\t\t<div class=\"to-calendar-month-item-text\">\n\t\t\t\t\t\t\t\t\t\t{{ t('to.calendar.month.m3') }}\n\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t<div class=\"to-calendar-month-item\" :class=\"setMonthClass(4)\" @click.stop=\"selectMonth(4)\">\n\t\t\t\t\t\t\t\t<div class=\"to-calendar-month-item-content\">\n\t\t\t\t\t\t\t\t\t<div class=\"to-calendar-month-item-text\">\n\t\t\t\t\t\t\t\t\t\t{{ t('to.calendar.month.m4') }}\n\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t<div class=\"to-calendar-month-item\" :class=\"setMonthClass(5)\" @click.stop=\"selectMonth(5)\">\n\t\t\t\t\t\t\t\t<div class=\"to-calendar-month-item-content\">\n\t\t\t\t\t\t\t\t\t<div class=\"to-calendar-month-item-text\">\n\t\t\t\t\t\t\t\t\t\t{{ t('to.calendar.month.m5') }}\n\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t<div class=\"to-calendar-month-item\" :class=\"setMonthClass(6)\" @click.stop=\"selectMonth(6)\">\n\t\t\t\t\t\t\t\t<div class=\"to-calendar-month-item-content\">\n\t\t\t\t\t\t\t\t\t<div class=\"to-calendar-month-item-text\">\n\t\t\t\t\t\t\t\t\t\t{{ t('to.calendar.month.m6') }}\n\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t<div class=\"to-calendar-month-item\" :class=\"setMonthClass(7)\" @click.stop=\"selectMonth(7)\">\n\t\t\t\t\t\t\t\t<div class=\"to-calendar-month-item-content\">\n\t\t\t\t\t\t\t\t\t<div class=\"to-calendar-month-item-text\">\n\t\t\t\t\t\t\t\t\t\t{{ t('to.calendar.month.m7') }}\n\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t<div class=\"to-calendar-month-item\" :class=\"setMonthClass(8)\" @click.stop=\"selectMonth(8)\">\n\t\t\t\t\t\t\t\t<div class=\"to-calendar-month-item-content\">\n\t\t\t\t\t\t\t\t\t<div class=\"to-calendar-month-item-text\">\n\t\t\t\t\t\t\t\t\t\t{{ t('to.calendar.month.m8') }}\n\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t<div class=\"to-calendar-month-item\" :class=\"setMonthClass(9)\" @click.stop=\"selectMonth(9)\">\n\t\t\t\t\t\t\t\t<div class=\"to-calendar-month-item-content\">\n\t\t\t\t\t\t\t\t\t<div class=\"to-calendar-month-item-text\">\n\t\t\t\t\t\t\t\t\t\t{{ t('to.calendar.month.m9') }}\n\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t<div class=\"to-calendar-month-item\" :class=\"setMonthClass(10)\" @click.stop=\"selectMonth(10)\">\n\t\t\t\t\t\t\t\t<div class=\"to-calendar-month-item-content\">\n\t\t\t\t\t\t\t\t\t<div class=\"to-calendar-month-item-text\">\n\t\t\t\t\t\t\t\t\t\t{{ t('to.calendar.month.m10') }}\n\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t<div class=\"to-calendar-month-item\" :class=\"setMonthClass(11)\" @click.stop=\"selectMonth(11)\">\n\t\t\t\t\t\t\t\t<div class=\"to-calendar-month-item-content\">\n\t\t\t\t\t\t\t\t\t<div class=\"to-calendar-month-item-text\">\n\t\t\t\t\t\t\t\t\t\t{{ t('to.calendar.month.m11') }}\n\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t<div class=\"to-calendar-month-item\" :class=\"setMonthClass(12)\" @click.stop=\"selectMonth(12)\">\n\t\t\t\t\t\t\t\t<div class=\"to-calendar-month-item-content\">\n\t\t\t\t\t\t\t\t\t<div class=\"to-calendar-month-item-text\">\n\t\t\t\t\t\t\t\t\t\t{{ t('to.calendar.month.m12') }}\n\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\n\t\t\t\t<!-- 周 -->\n\t\t\t\t<div v-show=\"!(monthLayer || type === 'month' || type === 'months')\" v-if=\"type !== 'month' && type !== 'months'\" class=\"to-calendar-week\">\n\t\t\t\t\t<div class=\"to-calendar-week-item\">{{ t('to.calendar.week.w0') }}</div>\n\t\t\t\t\t<div class=\"to-calendar-week-item\">{{ t('to.calendar.week.w1') }}</div>\n\t\t\t\t\t<div class=\"to-calendar-week-item\">{{ t('to.calendar.week.w2') }}</div>\n\t\t\t\t\t<div class=\"to-calendar-week-item\">{{ t('to.calendar.week.w3') }}</div>\n\t\t\t\t\t<div class=\"to-calendar-week-item\">{{ t('to.calendar.week.w4') }}</div>\n\t\t\t\t\t<div class=\"to-calendar-week-item\">{{ t('to.calendar.week.w5') }}</div>\n\t\t\t\t\t<div class=\"to-calendar-week-item\">{{ t('to.calendar.week.w6') }}</div>\n\t\t\t\t</div>\n\n\t\t\t\t<!-- 日 -->\n\t\t\t\t<div v-show=\"!(monthLayer || type === 'month' || type === 'months')\" v-if=\"type !== 'month' && type !== 'months'\" class=\"to-calendar-day\">\n\t\t\t\t\t<div v-for=\"(item, index) in days\" :key=\"index\" v-dis=\"isDisableDay(item)\" class=\"to-calendar-day-item\" :class=\"setDayClass(item)\" @click=\"selectDay(item)\">\n\t\t\t\t\t\t<div class=\"to-calendar-day-item-content\">\n\t\t\t\t\t\t\t<slot :item=\"item\" :index=\"index\">\n\t\t\t\t\t\t\t\t<div v-if=\"item.value\" class=\"to-calendar-day-text\">{{ dayText(item.value) }}</div>\n\t\t\t\t\t\t\t\t<div v-if=\"item.point && item.point.length > 0\" class=\"to-calendar-day-points\">\n\t\t\t\t\t\t\t\t\t<to-tag v-for=\"(ipoint, pointIndex) in item.point\" :key=\"pointIndex\" v-tip=\"ipoint.tooltip ? ipoint.tooltip : ''\" :type=\"size === 'large' ? 'dot' : ''\" :color=\"pointColor(ipoint.type)\" :fillet=\"size === 'large' ? '' : 'round'\">{{ ipoint.count }}</to-tag>\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t</slot>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\n\t\t\t\t<!-- 图例 -->\n\t\t\t\t<div v-show=\"!(monthLayer || type === 'month' || type === 'months')\" v-if=\"legend\" class=\"to-calendar-legend\">\n\t\t\t\t\t<slot name=\"legend\">\n\t\t\t\t\t\t<!-- <to-tag type=\"dot\" color=\"danger\">逾期未完成</to-tag>\n\t\t\t\t\t\t<to-tag type=\"dot\" color=\"primary\">正常进行中</to-tag>\n\t\t\t\t\t\t<to-tag type=\"dot\" color=\"success\">已完成</to-tag> -->\n\t\t\t\t\t</slot>\n\t\t\t\t</div>\n\t\t\t</div>\n\n\t\t\t<!-- 时间 -->\n\t\t\t<div v-if=\"type === 'datetime' || type === 'time'\" class=\"to-calendar-time\">\n\t\t\t\t<div class=\"to-calendar-time-info\">\n\t\t\t\t\t<div class=\"to-calendar-time-info-text\">{{ addZero(hour) }}:{{ addZero(minute) }}:{{ addZero(second) }}</div>\n\t\t\t\t</div>\n\t\t\t\t<div class=\"to-calendar-time-content\">\n\t\t\t\t\t<to-scroll ref=\"hourScroll\" class=\"to-calendar-time-list\">\n\t\t\t\t\t\t<div v-for=\"item in hours\" :key=\"item\" v-dis=\"isDisableHour(item)\" :class=\"{ 'is-on': hour === item }\" class=\"to-calendar-time-item\" @click=\"selectHour(item)\">\n\t\t\t\t\t\t\t<div class=\"to-calendar-time-item-text\">{{ addZero(item) }}</div>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</to-scroll>\n\t\t\t\t\t<to-scroll ref=\"minuteScroll\" class=\"to-calendar-time-list\">\n\t\t\t\t\t\t<div v-for=\"item in minutes\" :key=\"item\" v-dis=\"isDisableMinute(item)\" :class=\"{ 'is-on': minute === item }\" class=\"to-calendar-time-item\" @click=\"selectMinute(item)\">\n\t\t\t\t\t\t\t<div class=\"to-calendar-time-item-text\">{{ addZero(item) }}</div>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</to-scroll>\n\t\t\t\t\t<to-scroll ref=\"secondScroll\" class=\"to-calendar-time-list\">\n\t\t\t\t\t\t<div v-for=\"item in seconds\" :key=\"item\" v-dis=\"isDisableSecond(item)\" :class=\"{ 'is-on': second === item }\" class=\"to-calendar-time-item\" @click=\"selectSecond(item)\">\n\t\t\t\t\t\t\t<div class=\"to-calendar-time-item-text\">{{ addZero(item) }}</div>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</to-scroll>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t</div>\n\n\t\t<!-- 操作 -->\n\t\t<div v-if=\"type === 'datetime' || type === 'time'\" class=\"to-calendar-fn\">\n\t\t\t<to-button class=\"to-calendar-fn-now\" @click=\"moment\">此刻</to-button>\n\t\t\t<to-button class=\"to-calendar-fn-confirm\" @click=\"confirm\">{{ t('to.common.confirm') }}</to-button>\n\t\t</div>\n\t</div>\n</template>\n\n<script setup lang=\"ts\">\nimport { ref, computed, watch, onMounted, nextTick } from 'vue'\nimport { t } from '@touchvue/locale'\nimport { handleBeforeChange, isPromise } from '@touchvue/utils'\nimport { calendarProps } from './calendar'\nimport { useWidthStyle } from '@touchvue/hooks'\nimport { ToScroll, ToTag } from '@touchvue/components'\nimport { vDis, vTip } from '@touchvue/directives'\n\n// 组件名称\n\n\nconst props = defineProps(calendarProps)\n\n// Emits定义\nconst emit = defineEmits<{\n\tconfirm: [value: string]\n\tchange: [value: string]\n\tbeforeChange: [value: string]\n\tclose: []\n\t'update:modelValue': [value: string]\n}>()\n\n// 响应式数据\nconst changeFrom = ref('out')\nconst submitValue = ref('')\n\n// 现在时间记录\nconst curYear = ref(new Date().getFullYear())\nconst curMonth = ref(new Date().getMonth() + 1)\nconst curDay = ref(new Date().getDate())\n\n// 默认值\nconst year = ref<number>(0)\nconst month = ref<number>(0)\nconst day = ref<number | null>(null)\nconst hour = ref<string>('0')\nconst minute = ref<string>('0')\nconst second = ref<string>('0')\n\n// 多选默认值\nconst yearsData = ref<number[]>([]) // ['2022','2023',...]\nconst monthsData = ref<string[]>([]) // ['01','03',...]\nconst monthsRangeData = ref<string[]>([]) // ['2022-01','2024-03',...]\nconst daysData = ref<string[]>([]) // ['01','03',...]\nconst daysRangeData = ref<string[]>([]) // ['2022-01-01','2024-03-03',...]\n\n// 页面数据\nconst years = ref<number[]>([])\nconst days = ref<any[]>([])\nconst hours = ref<string[]>([])\nconst minutes = ref<string[]>([])\nconst seconds = ref<string[]>([])\n\n// 选择层\nconst monthLayer = ref(false)\n\n// 年份切换器\nconst tempYear = ref(0) // 临时当前年,选择年月的时候,在选月份之前,年份是尚未确定的\n// const yearsPage = ref(0)\n// const now = ref(new Date())\n\nconst yearScrollRef = ref<InstanceType<typeof ToScroll> | null>(null)\nconst isClickFlag = ref(false)\n\n// 范围\nconst start = ref({\n\tyear: 0,\n\tmonth: 0,\n\tday: 0\n})\nconst end = ref({\n\tyear: 0,\n\tmonth: 0,\n\tday: 0\n})\n\nconst { widthStyle } = useWidthStyle(props.width)\n\n// 计算属性\nconst setClass = computed(() => {\n\tlet arr: string[] = []\n\tif (props.type) {\n\t\tarr.push(`type-${props.type}`)\n\t}\n\tif (props.size === 'large') {\n\t\tarr.push('size-large')\n\t}\n\treturn arr\n})\n\nconst dayText = computed(() => {\n\treturn (val: number) => {\n\t\t// 凡是假期,都加上标记\n\t\tconst dayStr = year.value + '-' + addZero(month.value) + '-' + addZero(val)\n\t\tif (props.holiday.length > 0 && props.holiday.indexOf(dayStr) > -1) {\n\t\t\treturn t('to.calendar.day.holiday')\n\t\t} else {\n\t\t\treturn val\n\t\t}\n\t}\n})\n\nconst pointColor = computed(() => {\n\treturn (val: number) => {\n\t\tif (val === -1) {\n\t\t\treturn 'danger'\n\t\t}\n\t\tif (val === 0) {\n\t\t\treturn 'primary'\n\t\t}\n\t\tif (val === 1) {\n\t\t\treturn 'success'\n\t\t}\n\t}\n})\n\nconst hourz = computed({\n\tget() {\n\t\treturn addZero(hour.value)\n\t},\n\tset(val: string) {\n\t\thour.value = val\n\t}\n})\n\nconst minutez = computed({\n\tget() {\n\t\treturn addZero(minute.value)\n\t},\n\tset(val: string) {\n\t\tminute.value = val\n\t}\n})\n\nconst secondz = computed({\n\tget() {\n\t\treturn addZero(second.value)\n\t},\n\tset(val: string) {\n\t\tsecond.value = val\n\t}\n})\n\nconst iValue = computed(() => {\n\tif (props.range) {\n\t\tconst startVal = start.value.day || start.value.month ? getStringValue(start.value) : ''\n\t\tconst endVal = end.value.day || end.value.month ? getStringValue(end.value) : ''\n\t\treturn `${startVal},${endVal}`\n\t} else if (props.type === 'months') {\n\t\treturn monthsRangeData.value.join(',')\n\t} else if (props.type === 'dates') {\n\t\treturn daysRangeData.value.join(',')\n\t} else {\n\t\treturn getStringValue()\n\t}\n})\n\n// const maxHour = computed(() => {\n// \tlet max: string | number | Date\n// \tif (typeof props.max === 'string') {\n// \t\tmax = props.max.replace(/-/gi, '/')\n// \t} else {\n// \t\tmax = props.max\n// \t}\n// \treturn new Date(max).getHours()\n// })\n\nconst isDisableDay = computed(() => {\n\treturn (item: any) => {\n\t\tif (year.value && month.value && item.value) {\n\t\t\tlet dateString = `${year.value}/${month.value}/${Number(item.value)}`\n\t\t\tlet min: string | number | Date\n\t\t\t// 默认使用 2023-03-01 格式时,其 hour = 8 而不是 0,所以要转为 2023/03/01 格式\n\t\t\tif (typeof props.min === 'string') {\n\t\t\t\tmin = props.min.replace(/-/gi, '/')\n\t\t\t} else {\n\t\t\t\tmin = props.min\n\t\t\t}\n\n\t\t\tlet max: string | number | Date\n\t\t\tif (typeof props.max === 'string') {\n\t\t\t\tmax = props.max.replace(/-/gi, '/')\n\t\t\t} else {\n\t\t\t\tmax = props.max\n\t\t\t}\n\n\t\t\tif (min && max) {\n\t\t\t\treturn new Date(dateString) < new Date(min) || new Date(dateString) > new Date(max)\n\t\t\t}\n\t\t\tif (props.disabledDate) {\n\t\t\t\treturn props.disabledDate(new Date(dateString))\n\t\t\t}\n\t\t\treturn false\n\t\t} else {\n\t\t\treturn false\n\t\t}\n\t}\n})\n\nconst isDisableHour = computed(() => {\n\treturn (item: string) => {\n\t\tif (year.value && month.value && day.value !== null) {\n\t\t\tlet dateString = `${year.value}/${month.value}/${day.value} ${Number(item)}:00:00`\n\t\t\tlet min: string | number | Date\n\t\t\t// 默认使用 2023-03-01 格式时,其 hour = 8 而不是 0,所以要转为 2023/03/01 格式\n\t\t\tif (typeof props.min === 'string') {\n\t\t\t\tmin = props.min.replace(/-/gi, '/')\n\t\t\t} else {\n\t\t\t\tmin = props.min\n\t\t\t}\n\n\t\t\tlet max: string | number | Date\n\t\t\tif (typeof props.max === 'string') {\n\t\t\t\tmax = props.max.replace(/-/gi, '/')\n\t\t\t} else {\n\t\t\t\tmax = props.max\n\t\t\t}\n\n\t\t\tif (min && max) {\n\t\t\t\treturn new Date(dateString) < new Date(min) || new Date(dateString) > new Date(max)\n\t\t\t}\n\t\t\treturn false\n\t\t} else {\n\t\t\treturn false\n\t\t}\n\t}\n})\n\nconst isDisableMinute = computed(() => {\n\treturn (item: string) => {\n\t\tif (year.value && month.value && day.value !== null && hour.value) {\n\t\t\tlet dateString = `${year.value}/${month.value}/${day.value} ${hour.value}:${Number(item)}:00`\n\t\t\tlet min: string | number | Date\n\t\t\t// 默认使用 2023-03-01 格式时,其 hour = 8 而不是 0,所以要转为 2023/03/01 格式\n\t\t\tif (typeof props.min === 'string') {\n\t\t\t\tmin = props.min.replace(/-/gi, '/')\n\t\t\t} else {\n\t\t\t\tmin = props.min\n\t\t\t}\n\n\t\t\tlet max: string | number | Date\n\t\t\tif (typeof props.max === 'string') {\n\t\t\t\tmax = props.max.replace(/-/gi, '/')\n\t\t\t} else {\n\t\t\t\tmax = props.max\n\t\t\t}\n\n\t\t\tif (min && max) {\n\t\t\t\treturn new Date(dateString) < new Date(min) || new Date(dateString) > new Date(max)\n\t\t\t}\n\t\t\treturn false\n\t\t} else {\n\t\t\treturn false\n\t\t}\n\t}\n})\n\nconst isDisableSecond = computed(() => {\n\treturn (item: string) => {\n\t\tif (year.value && month.value && day.value !== null && hour.value && minute.value) {\n\t\t\tlet dateString = `${year.value}/${month.value}/${day.value} ${hour.value}:${minute.value}:${Number(item)}`\n\t\t\tlet min: string | number | Date\n\t\t\t// 默认使用 2023-03-01 格式时,其 hour = 8 而不是 0,所以要转为 2023/03/01 格式\n\t\t\tif (typeof props.min === 'string') {\n\t\t\t\tmin = props.min.replace(/-/gi, '/')\n\t\t\t} else {\n\t\t\t\tmin = props.min\n\t\t\t}\n\n\t\t\tlet max: string | number | Date\n\t\t\tif (typeof props.max === 'string') {\n\t\t\t\tmax = props.max.replace(/-/gi, '/')\n\t\t\t} else {\n\t\t\t\tmax = props.max\n\t\t\t}\n\n\t\t\tif (min && max) {\n\t\t\t\treturn new Date(dateString) < new Date(min) || new Date(dateString) > new Date(max)\n\t\t\t}\n\t\t\treturn false\n\t\t} else {\n\t\t\treturn false\n\t\t}\n\t}\n})\n\n// 监听器\nwatch(\n\t() => props.modelValue,\n\tval => {\n\t\tif (props.type !== 'dates') {\n\t\t\tsetData()\n\t\t}\n\t\tif (changeFrom.value === 'out') {\n\t\t\tsubmitValue.value = val as string\n\t\t}\n\t},\n\t{ deep: true }\n)\n\nwatch(submitValue, val => {\n\temit('change', val)\n\temit('update:modelValue', val)\n\tchangeFrom.value = 'in'\n\tsetTimeout(() => {\n\t\tchangeFrom.value = 'out'\n\t}, 100)\n})\n\nwatch(\n\t() => props.min,\n\t() => {\n\t\t// props.min = val\n\t}\n)\n\nwatch(\n\t() => props.max,\n\t() => {\n\t\t// props.max = val\n\t}\n)\n\nwatch(\n\t() => props.point,\n\t() => {\n\t\tsetDayData()\n\t},\n\t{ deep: true }\n)\n\nwatch(\n\t() => year.value,\n\t() => {\n\t\tif (!isClickFlag.value) {\n\t\t\tgoToCenter()\n\t\t}\n\t},\n\t{ deep: true }\n)\n\n// 根据 obj 获取当前时间值,入参格式形如:\n// arg = {\n// \tyear: '2022',\n// \tmonth: '02',\n// \tday: '22'\n// }\n\nconst commonSetDayVal = () => {\n\tif (props.type === 'dates') {\n\t\tconst mValue = props.modelValue as string\n\t\tconst mArray = mValue.split(',')\n\t\tif (!mArray.length) return\n\t\tlet yearVal = new Date(mArray[mArray.length - 1] as string).getFullYear()\n\t\tlet monthVal = new Date(mArray[mArray.length - 1] as string).getMonth() + 1\n\t\tlet dayVal = new Date(mArray[mArray.length - 1] as string).getDate()\n\t\tif (year.value === yearVal && month.value === monthVal) {\n\t\t\tday.value = dayVal\n\t\t} else {\n\t\t\tday.value = null\n\t\t}\n\t} else {\n\t\tlet yearVal = new Date(props.modelValue as string).getFullYear()\n\t\tlet monthVal = new Date(props.modelValue as string).getMonth() + 1\n\t\tlet dayVal = new Date(props.modelValue as string).getDate()\n\t\tif (year.value === yearVal && month.value === monthVal) {\n\t\t\tday.value = dayVal\n\t\t} else {\n\t\t\tday.value = null\n\t\t}\n\t}\n}\n\nconst handlerTop = () => {\n\tconst minYear = Number(props.minYear || 1900)\n\tif (Number(years.value[0]) <= minYear) {\n\t\treturn\n\t}\n\n\t// 通过 ref 获取滚动容器的 DOM 元素\n\tconst scrollRef = yearScrollRef.value?.$el as HTMLElement | null\n\tif (!scrollRef) return\n\n\tconst scrollTop = scrollRef.scrollTop\n\n\t// 生成新的年份数据\n\t// years.value[0] - 50\n\tconst newYears = setYearData(years.value[0] - 50)\n\t// 过滤掉小于最小年份限制的数据\n\tconst filteredYears = newYears.filter(year => year >= minYear)\n\n\tif (filteredYears.length > 0) {\n\t\tconst originalScrollHeight = scrollRef.scrollHeight\n\t\t// 更新数据\n\t\tyears.value = [...filteredYears, ...years.value]\n\n\t\tnextTick(() => {\n\t\t\tif (!scrollRef) return\n\t\t\t// 计算新数据的高度差\n\t\t\tconst heightDifference = scrollRef.scrollHeight - originalScrollHeight\n\t\t\t// 设置新的滚动位置,保证视觉上平稳过渡\n\t\t\tscrollRef.scrollTop = scrollTop + heightDifference\n\t\t})\n\t}\n}\n\nconst handlerBottom = () => {\n\tconst maxYear = Number(props.maxYear || 2200)\n\tif (Number(years.value[years.value.length - 1]) >= maxYear) {\n\t\treturn\n\t}\n\t// 生成新的年份数据\n\tconst newYears = setYearData(years.value[years.value.length - 1] + 1)\n\t// 过滤掉超过最大年份限制的数据\n\tconst filteredYears = newYears.filter(year => year <= maxYear)\n\tif (filteredYears.length > 0) {\n\t\tyears.value = [...years.value, ...filteredYears]\n\t}\n}\n\nconst getValue = (arg: any) => {\n\treturn new Date(`${arg.year || year.value}/${arg.month || month.value}/${arg.day || day.value || '01'}`).getTime()\n}\n\n// 获取格式化为字符串后的日期\nconst getStringValue = (arg: any = {}) => {\n\tconst yearVal = arg.year || year.value\n\tconst monthVal = arg.month || month.value\n\tconst dayVal = arg.day || day.value\n\tconst hourVal = arg.hour || hourz.value\n\tconst minuteVal = arg.minute || minutez.value\n\tconst secondVal = arg.second || secondz.value\n\tconst imonth = `${yearVal}-${addZero(monthVal)}`\n\tconst iday = dayVal !== null && dayVal !== undefined ? `${addZero(dayVal)}` : '01'\n\tconst itime = `${hourVal}:${minuteVal}:${secondVal}`\n\tif (props.type === 'month' || props.type === 'months') {\n\t\treturn imonth\n\t} else if (props.type === 'datetime' || props.type === 'time') {\n\t\treturn `${imonth}-${iday} ${itime}`\n\t} else {\n\t\treturn `${imonth}-${iday}`\n\t}\n}\n\n// 获取格式化为对象的日期\nconst getObjectValue = (str: string) => {\n\tconst date = new Date(str)\n\tif (isDate(str) && str) {\n\t\treturn {\n\t\t\tyear: date.getFullYear(),\n\t\t\tmonth: date.getMonth() + 1,\n\t\t\tday: date.getDate()\n\t\t}\n\t} else if (isMonth(str) && str) {\n\t\treturn {\n\t\t\tyear: date.getFullYear(),\n\t\t\tmonth: date.getMonth() + 1,\n\t\t\tday: 0\n\t\t}\n\t} else {\n\t\treturn {\n\t\t\tyear: 0,\n\t\t\tmonth: 0,\n\t\t\tday: 0\n\t\t}\n\t}\n}\n\n// 数据设置\nconst setData = () => {\n\tsetCurrent()\n\tsetDayData()\n\tsetTimeData()\n}\n\nconst setCurrent = () => {\n\tyear.value = 0\n\tmonth.value = 0\n\tday.value = null\n\tif (props.range) {\n\t\tlet arr = (props.modelValue as string).split(',')\n\t\tconst startVal = arr[0]\n\t\tconst endVal = arr[1]\n\n\t\tif (!startVal || isDate(startVal) || isMonth(startVal)) {\n\t\t\tstart.value = getObjectValue(startVal)\n\t\t\tif (!endVal || isDate(endVal) || isMonth(endVal)) {\n\t\t\t\tend.value = getObjectValue(endVal)\n\t\t\t}\n\t\t}\n\t\tif (props.rangeType === 'end') {\n\t\t\tyear.value = year.value || new Date().getFullYear()\n\t\t\tif ((end.value.day || end.value.month) && isAnyDate(getStringValue(end.value))) {\n\t\t\t\tif (props.type === 'month' || props.type === 'months') {\n\t\t\t\t\tif (start.value.year === end.value.year) {\n\t\t\t\t\t\tyear.value = end.value.year + 1\n\t\t\t\t\t} else {\n\t\t\t\t\t\tyear.value = end.value.year\n\t\t\t\t\t}\n\t\t\t\t\tmonth.value = 1\n\t\t\t\t} else {\n\t\t\t\t\tif (start.value.month === end.value.month) {\n\t\t\t\t\t\tif (Number(month.value) === 12) {\n\t\t\t\t\t\t\tyear.value = end.value.year + 1\n\t\t\t\t\t\t\tmonth.value = 1\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tmonth.value = end.value.month + 1\n\t\t\t\t\t\t}\n\t\t\t\t\t} else {\n\t\t\t\t\t\tmonth.value = end.value.month\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tmonth.value = month.value || new Date().getMonth() + 2\n\t\t\t}\n\t\t\tif (month.value > 12) {\n\t\t\t\tmonth.value = 1\n\t\t\t\tyear.value += 1\n\t\t\t}\n\t\t} else {\n\t\t\tif ((start.value.day || start.value.month) && isAnyDate(getStringValue(start.value))) {\n\t\t\t\tyear.value = start.value.year\n\t\t\t\tmonth.value = start.value.month\n\t\t\t} else {\n\t\t\t\tyear.value = year.value || new Date().getFullYear()\n\t\t\t\tmonth.value = month.value || new Date().getMonth() + 1\n\t\t\t}\n\t\t}\n\t} else {\n\t\tif (props.modelValue && (!isNaN(new Date(props.modelValue as string).getTime()) || props.type === 'months' || props.type === 'dates')) {\n\t\t\tif (props.type === 'months' || props.type === 'dates') {\n\t\t\t\tconst mValue = props.modelValue as string\n\t\t\t\tconst mArray = mValue.split(',')\n\t\t\t\tif (!mArray.length) return\n\t\t\t\tyear.value = new Date(mArray[mArray.length - 1] as string).getFullYear()\n\t\t\t\tmonth.value = new Date(mArray[mArray.length - 1] as string).getMonth() + 1\n\t\t\t\tday.value = new Date(mArray[mArray.length - 1] as string).getDate()\n\t\t\t\thour.value = String(new Date(mArray[mArray.length - 1] as string).getHours())\n\t\t\t\tminute.value = String(new Date(mArray[mArray.length - 1] as string).getMinutes())\n\t\t\t\tsecond.value = String(new Date(mArray[mArray.length - 1] as string).getSeconds())\n\t\t\t\tif (props.type === 'months') {\n\t\t\t\t\tmonthsRangeData.value = mArray\n\t\t\t\t\tif (monthsRangeData.value.length > 0) {\n\t\t\t\t\t\tsetMonthsData()\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tif (props.type === 'dates') {\n\t\t\t\t\tdaysRangeData.value = mArray\n\t\t\t\t\tif (daysRangeData.value.length > 0) {\n\t\t\t\t\t\tsetDaysData()\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tyear.value = new Date(props.modelValue as string).getFullYear()\n\t\t\t\tmonth.value = new Date(props.modelValue as string).getMonth() + 1\n\t\t\t\tday.value = new Date(props.modelValue as string).getDate()\n\t\t\t\thour.value = String(new Date(props.modelValue as string).getHours())\n\t\t\t\tminute.value = String(new Date(props.modelValue as string).getMinutes())\n\t\t\t\tsecond.value = String(new Date(props.modelValue as string).getSeconds())\n\t\t\t}\n\t\t} else if (props.modelValue && isNaN(new Date(props.modelValue as string).getTime()) && !isNaN(new Date((props.modelValue as string).replace(/-/g, '/')).getTime())) {\n\t\t\tconst value = (props.modelValue as string).replace(/-/g, '/')\n\t\t\tyear.value = new Date(value).getFullYear()\n\t\t\tmonth.value = new Date(value).getMonth() + 1\n\t\t\tday.value = new Date(value).getDate()\n\t\t\thour.value = String(new Date(value).getHours())\n\t\t\tminute.value = String(new Date(value).getMinutes())\n\t\t\tsecond.value = String(new Date(value).getSeconds())\n\t\t} else {\n\t\t\tyear.value = new Date().getFullYear()\n\t\t\tmonth.value = new Date().getMonth() + 1\n\t\t\tday.value = null\n\t\t\thour.value = '0'\n\t\t\tminute.value = '0'\n\t\t\tsecond.value = '0'\n\t\t}\n\t}\n}\n\nconst filterYearData = (arr: number[]) => {\n\t// 过滤掉小于 props.minYear 和大于 props.maxYear 的值\n\tconst minYear = Number(props.minYear || 1900)\n\tconst maxYear = Number(props.maxYear || 2200)\n\treturn arr.filter(year => year >= minYear && year <= maxYear)\n}\n\nconst setYearData = (yearVal?: number) => {\n\tconst minYear = Number(props.minYear || 1900)\n\tconst maxYear = Number(props.maxYear || 2200)\n\tif (!yearVal) {\n\t\tyearVal = year.value >= minYear && year.value <= maxYear ? year.value : minYear\n\t} else if (yearVal && (yearVal < minYear || yearVal > maxYear)) {\n\t\tyearVal = minYear\n\t} else {\n\t\tyearVal = yearVal || year.value\n\t}\n\n\tlet arr: number[] = []\n\tif (yearVal === year.value) {\n\t\tfor (let i = -25; i < 25; i++) {\n\t\t\tarr.push(yearVal + i)\n\t\t}\n\t} else {\n\t\tfor (let i = 0; i < 50; i++) {\n\t\t\t// arr.push(Math.floor(yearVal / 10) * 10 + i)\n\t\t\tarr.push(yearVal + i)\n\t\t}\n\t}\n\n\treturn filterYearData(arr)\n}\n\nconst setDayData = () => {\n\tcommonSetDayVal()\n\t// 计算本月天数\n\tconst dayCount = getMonthDays(`${year.value}/${month.value}/1`)\n\n\t// 计算前面有几天应该置空\n\tconst thisMonthFirstDay = new Date(`${year.value}/${month.value}/1`)\n\tthisMonthFirstDay.setMonth(thisMonthFirstDay.getMonth(), 1)\n\tconst emptyLength = new Date(thisMonthFirstDay.setMonth(thisMonthFirstDay.getMonth(), 1)).getDay()\n\n\t// 设置天数\n\tdays.value = (() => {\n\t\tlet arr: any[] = []\n\t\tfor (let i = 0; i < emptyLength; i++) {\n\t\t\tarr.push({})\n\t\t}\n\t\tfor (let i = 1; i < dayCount + 1; i++) {\n\t\t\tlet obj: any = {}\n\t\t\tobj.value = i\n\n\t\t\t// 星期天\n\t\t\tif ((i + emptyLength) % 7 === 1) {\n\t\t\t\tobj.sun = true\n\t\t\t}\n\n\t\t\t// 星期六\n\t\t\tif ((i + emptyLength) % 7 === 0) {\n\t\t\t\tobj.sat = true\n\t\t\t}\n\n\t\t\tconst point = props.point.filter(item => {\n\t\t\t\treturn item.day === `${year.value}-${addZero(month.value)}-${addZero(i)}`\n\t\t\t})\n\t\t\tobj.point = point\n\n\t\t\tarr.push(obj)\n\t\t}\n\t\treturn arr\n\t})()\n}\n\nconst setTimeData = () => {\n\thours.value = genNumbers(0, 23)\n\tminutes.value = genNumbers(0, 59)\n\tseconds.value = genNumbers(0, 59)\n\tconst hourVal = String(new Date(props.modelValue as string).getHours())\n\tconst minuteVal = String(new Date(props.modelValue as string).getMinutes())\n\tconst secondVal = String(new Date(props.modelValue as string).getSeconds())\n\tif (props.time) {\n\t\tconst arr = props.time.split(':')\n\t\thour.value = arr[0] || '0'\n\t\tminute.value = arr[1] || '0'\n\t\tsecond.value = arr[2] || '0'\n\t}\n\tif (!isNaN(Number(hourVal)) && !isNaN(Number(minuteVal)) && !isNaN(Number(secondVal))) {\n\t\thour.value = hourVal\n\t\tminute.value = minuteVal\n\t\tsecond.value = secondVal\n\t}\n}\n\nconst toggleString = (arr, str) => {\n\t// debugger\n\t// 检查数组中是否包含目标字符串(使用严格相等 === 判断)\n\tconst hasStr = arr.includes(str)\n\n\tif (hasStr) {\n\t\t// 过滤掉所有等于目标字符串的元素(删除所有匹配项)\n\t\treturn arr.filter(item => item !== str)\n\t} else {\n\t\t// 不包含则追加到数组末尾\n\t\treturn [...arr, str]\n\t}\n}\n\n// 选择事件\nconst selectYear = (item: number) => {\n\tyear.value = item\n\tisClickFlag.value = true\n}\n\nconst selectMonth = (item: number) => {\n\tif (item) {\n\t\tif (props.range && (props.type === 'month' || props.type === 'months')) {\n\t\t\tlet startVal: any = {}\n\t\t\tlet endVal: any = {}\n\t\t\tif (!start.value.month && !end.value.month) {\n\t\t\t\tstartVal.year = year.value\n\t\t\t\tstartVal.month = item\n\t\t\t\tstartVal.day = ''\n\t\t\t}\n\t\t\tif (start.value.month) {\n\t\t\t\tif (end.value.month) {\n\t\t\t\t\tstartVal.year = year.value\n\t\t\t\t\tstartVal.month = item\n\t\t\t\t\tstartVal.day = ''\n\t\t\t\t\tendVal.year = ''\n\t\t\t\t\tendVal.month = ''\n\t\t\t\t\tendVal.day = ''\n\t\t\t\t} else {\n\t\t\t\t\tif (getValue(start.value) > getValue({ month: item })) {\n\t\t\t\t\t\tendVal.year = start.value.year\n\t\t\t\t\t\tendVal.month = start.value.month\n\t\t\t\t\t\tendVal.day = ''\n\t\t\t\t\t\tstartVal.year = year.value\n\t\t\t\t\t\tstartVal.month = item\n\t\t\t\t\t\tstartVal.day = ''\n\t\t\t\t\t} else {\n\t\t\t\t\t\tstartVal = JSON.parse(JSON.stringify(start.value))\n\t\t\t\t\t\tendVal.year = year.value\n\t\t\t\t\t\tendVal.month = item\n\t\t\t\t\t\tendVal.day = ''\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t\tstart.value = JSON.parse(JSON.stringify(startVal))\n\t\t\tend.value = JSON.parse(JSON.stringify(endVal))\n\t\t\tsubmitValue.value = iValue.value\n\t\t} else {\n\t\t\tif (props.type === 'month' || props.type === 'months') {\n\t\t\t\temit(\n\t\t\t\t\t'beforeChange',\n\t\t\t\t\tgetStringValue({\n\t\t\t\t\t\tmonth: item\n\t\t\t\t\t})\n\t\t\t\t)\n\t\t\t}\n\t\t\tif (props.beforeChange) {\n\t\t\t\tconst fn = props.beforeChange(\n\t\t\t\t\tgetStringValue({\n\t\t\t\t\t\tmonth: item\n\t\t\t\t\t})\n\t\t\t\t)\n\t\t\t\tif (fn && isPromise(fn)) {\n\t\t\t\t\t;(fn as Promise<boolean>)\n\t\t\t\t\t\t.then(() => {\n\t\t\t\t\t\t\tselectMonthAction(item)\n\t\t\t\t\t\t})\n\t\t\t\t\t\t.catch(() => {})\n\t\t\t\t} else {\n\t\t\t\t\t// 是同步方法,则返回为 true 执行\n\t\t\t\t\tif (fn) {\n\t\t\t\t\t\tselectMonthAction(item)\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tselectMonthAction(item)\n\t\t\t}\n\t\t}\n\t}\n}\n\nconst setMonthsData = () => {\n\tyearsData.value = [\n\t\t...new Set(\n\t\t\tmonthsRangeData.value.map(item => {\n\t\t\t\treturn Number(item.split('-')[0] ?? curYear.value)\n\t\t\t})\n\t\t)\n\t]\n\tmonthsData.value = [\n\t\t...new Set(\n\t\t\tmonthsRangeData.value.map(item => {\n\t\t\t\treturn item.split('-')[1] ?? addZero(curMonth.value)\n\t\t\t})\n\t\t)\n\t]\n}\n\nconst setDaysData = () => {\n\tyearsData.value = [\n\t\t...new Set(\n\t\t\tdaysRangeData.value.map(item => {\n\t\t\t\treturn Number(item.split('-')[0] ?? curYear.value)\n\t\t\t})\n\t\t)\n\t]\n\tmonthsData.value = [\n\t\t...new Set(\n\t\t\tdaysRangeData.value.map(item => {\n\t\t\t\treturn item.split('-')[1] ?? addZero(curMonth.value)\n\t\t\t})\n\t\t)\n\t]\n\tdaysData.value = [\n\t\t...new Set(\n\t\t\tdaysRangeData.value.map(item => {\n\t\t\t\treturn item.split('-')[2] ?? addZero(curDay.value)\n\t\t\t})\n\t\t)\n\t]\n\tmonthsRangeData.value = [\n\t\t...new Set(\n\t\t\tdaysRangeData.value.map(item => {\n\t\t\t\treturn item.split('-').slice(0, 2).join('-')\n\t\t\t})\n\t\t)\n\t]\n}\n\nconst selectMonthAction = (item: number) => {\n\tmonth.value = item\n\tif (props.type === 'month' || props.type === 'months') {\n\t\tconst str = `${year.value || curYear}-${addZero(month.value)}`\n\t\tmonthsRangeData.value = toggleString(monthsRangeData.value, str)\n\t\tsetMonthsData()\n\t}\n\tmonthLayer.value = false\n\tsetDayData()\n\tif (props.type === 'month' || props.type === 'months') {\n\t\tday.value = 1\n\t\tsubmitValue.value = iValue.value\n\t}\n}\n\nconst selectDay = (item: any) => {\n\tif (item.value) {\n\t\tif (props.range) {\n\t\t\tlet startVal: any = {}\n\t\t\tlet endVal: any = {}\n\t\t\tif (!start.value.day && !end.value.day) {\n\t\t\t\tstartVal.year = year.value\n\t\t\t\tstartVal.month = month.value\n\t\t\t\tstartVal.day = item.value\n\t\t\t}\n\t\t\tif (start.value.day) {\n\t\t\t\tif (end.value.day) {\n\t\t\t\t\tstartVal.year = year.value\n\t\t\t\t\tstartVal.month = month.value\n\t\t\t\t\tstartVal.day = item.value\n\t\t\t\t\tendVal.year = ''\n\t\t\t\t\tendVal.month = ''\n\t\t\t\t\tendVal.day = ''\n\t\t\t\t} else {\n\t\t\t\t\tif (getValue(start.value) > getValue({ day: item.value })) {\n\t\t\t\t\t\tendVal.year = start.value.year\n\t\t\t\t\t\tendVal.month = start.value.month\n\t\t\t\t\t\tendVal.day = start.value.day\n\t\t\t\t\t\tstartVal.year = year.value\n\t\t\t\t\t\tstartVal.month = month.value\n\t\t\t\t\t\tstartVal.day = item.value\n\t\t\t\t\t} else {\n\t\t\t\t\t\tstartVal = JSON.parse(JSON.stringify(start.value))\n\t\t\t\t\t\tendVal.year = year.value\n\t\t\t\t\t\tendVal.month = month.value\n\t\t\t\t\t\tendVal.day = item.value\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t\tstart.value = JSON.parse(JSON.stringify(startVal))\n\t\t\tend.value = JSON.parse(JSON.stringify(endVal))\n\t\t\tsubmitValue.value = iValue.value\n\t\t} else {\n\t\t\tlet val = getStringValue({\n\t\t\t\tday: item.value\n\t\t\t})\n\t\t\tif (!props.type || props.type === 'date' || props.type === 'dates') {\n\t\t\t\temit('beforeChange', val)\n\n\t\t\t\thandleBeforeChange(\n\t\t\t\t\tprops.beforeChange,\n\t\t\t\t\tgetStringValue({\n\t\t\t\t\t\tday: item.value\n\t\t\t\t\t})\n\t\t\t\t)\n\t\t\t\t\t.then(() => {\n\t\t\t\t\t\tselectDayAction(item)\n\t\t\t\t\t})\n\t\t\t\t\t.catch(() => {})\n\t\t\t} else {\n\t\t\t\tselectDayAction(item)\n\t\t\t}\n\t\t}\n\t}\n}\n\nconst selectDayAction = (item: any) => {\n\tday.value = Number(item.value)\n\tconst str = `${year.value || curYear}-${addZero(month.value)}-${addZero(day.value)}`\n\tdaysRangeData.value = toggleString(daysRangeData.value, str)\n\tsetDaysData()\n\tsubmitValue.value = iValue.value\n}\n\nconst selectTime = () => {\n\tif (day.value === null && !props.min && !props.max) {\n\t\tday.value = new Date().getDate()\n\t} else if (day.value === null && props.min && props.max) {\n\t\t// this.$tip.error(this.t('to.calendar.tip.error.selectDate'))\n\t\treturn\n\t}\n\t// emit('beforeChange', getStringValue())\n\t// if (props.beforeChange) {\n\t// \tconst fn = props.beforeChange(getStringValue())\n\n\t// \tif (fn && isPromise(fn)) {\n\t// \t\t;(fn as Promise<boolean>).then(() => {\n\t// \t\t\tselectTimeAction()\n\t// \t\t})\n\t// \t} else {\n\t// \t\t// 是同步方法,则返回为 true 执行\n\t// \t\tif (fn) {\n\t// \t\t\tselectTimeAction()\n\t// \t\t}\n\t// \t}\n\t// } else {\n\t// \tselectTimeAction()\n\t// }\n}\n\nconst selectTimeAction = () => {\n\tsubmitValue.value = iValue.value\n\temit('close')\n}\n\nconst selectHour = item => {\n\thour.value = item\n\tselectTime()\n}\nconst selectMinute = item => {\n\tminute.value = item\n\tselectTime()\n}\nconst selectSecond = item => {\n\tsecond.value = item\n\tselectTime()\n}\n\nconst moment = () => {\n\thour.value = String(new Date().getHours())\n\tminute.value = String(new Date().getMinutes())\n\tsecond.value = String(new Date().getSeconds())\n\tselectTime()\n}\n\nconst confirm = () => {\n\temit('confirm', submitValue.value)\n\n\temit('beforeChange', getStringValue())\n\tif (props.beforeChange) {\n\t\tconst fn = props.beforeChange(getStringValue())\n\n\t\tif (fn && isPromise(fn)) {\n\t\t\t;(fn as Promise<boolean>).then(() => {\n\t\t\t\tselectTimeAction()\n\t\t\t})\n\t\t} else {\n\t\t\t// 是同步方法,则返回为 true 执行\n\t\t\tif (fn) {\n\t\t\t\tselectTimeAction()\n\t\t\t}\n\t\t}\n\t} else {\n\t\tselectTimeAction()\n\t}\n}\n\n// 样式设置\nconst setYearClass = (item: number) => {\n\treturn {\n\t\t'is-cur': curYear.value === item,\n\t\t'is-on': year.value === item,\n\t\t'is-checked': (props.type === 'months' || props.type === 'dates') && yearsData.value.includes(item)\n\t}\n}\n\nconst setMonthClass = (item: number) => {\n\tlet arr: string[] = []\n\tif (year.value === curYear.value && curMonth.value === item) {\n\t\tarr.push('is-cur')\n\t}\n\tif (props.range && (props.type === 'month' || props.type === 'months')) {\n\t\tif (year.value === start.value.year && item === start.value.month) {\n\t\t\tif (end.value.month) {\n\t\t\t\tarr.push('is-start')\n\t\t\t} else {\n\t\t\t\tarr.push('is-on')\n\t\t\t}\n\t\t}\n\t\tif (year.value === end.value.year && item === end.value.month) {\n\t\t\tarr.push('is-end')\n\t\t}\n\t\tconst value = getValue({\n\t\t\tyear: year.value,\n\t\t\tmonth: item,\n\t\t\tday: 1\n\t\t})\n\t\tconsole.log('start.value', start.value)\n\t\tconsole.log('end.value', end.value)\n\t\tconsole.log('value', value)\n\t\tconsole.log('getValue(start.value)', getValue(start.value))\n\t\tconsole.log('getValue(end.value)', getValue(end.value))\n\t\tif ((value > getValue(start.value) || value === getValue(start.value)) && value < getValue(end.value)) {\n\t\t\tarr.push('is-range')\n\t\t}\n\t} else {\n\t\tif (month.value === item && (props.type === 'month' || props.type === 'date' || !props.type)) {\n\t\t\tarr.push('is-on')\n\t\t}\n\t\tif ((props.type === 'months' || props.type === 'dates') && yearsData.value.length > 0) {\n\t\t\t// monthsData.value.includes(`${addZero(item)}`)\n\t\t\tif (yearsData.value.includes(year.value) && years.value.includes(year.value) && monthsRangeData.value.includes(`${year.value}-${addZero(item)}`)) {\n\t\t\t\tarr.push('is-checked')\n\t\t\t\tif (month.value === item) {\n\t\t\t\t\tarr.push('is-on')\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\tif (item && (props.min || props.max)) {\n\t\tlet curData = year.value + '/' + (item > 9 ? item : '0' + item) + '/01'\n\t\tlet date = new Date()\n\t\tlet hourVal = date.getHours()\n\t\tlet minuteVal = date.getMinutes()\n\t\tlet secondVal = date.getSeconds()\n\t\tcurData = curData + ' ' + (hourVal > 9 ? hourVal : '0' + hourVal) + ':' + (minuteVal > 9 ? minuteVal : '0' + minuteVal) + ':' + (secondVal > 9 ? secondVal : '0' + secondVal)\n\t\tlet curTime = new Date(curData).getTime()\n\t\tlet min = new Date(props.min as string).getTime()\n\t\tlet maxTime = new Date(props.max as string).getTime()\n\t\tlet cur = curData.split(' ')[0]\n\t\tlet yearVal = new Date(props.max as string).getFullYear()\n\t\tlet monthVal = new Date(props.max as string).getMonth() + 1\n\t\tlet dayVal = new Date(props.max as string).getDate()\n\t\tlet max = yearVal + '/' + (monthVal > 9 ? monthVal : '0' + monthVal) + '/' + (dayVal > 9 ? dayVal : '0' + dayVal)\n\t\tif (min === maxTime && cur !== max) {\n\t\t\tif (curTime > maxTime) {\n\t\t\t\tarr.push('to-dis')\n\t\t\t}\n\t\t\tif (curTime < min) {\n\t\t\t\tarr.push('to-dis')\n\t\t\t}\n\t\t} else if (min !== maxTime && cur !== max) {\n\t\t\tif (curTime > maxTime) {\n\t\t\t\tarr.push('to-dis')\n\t\t\t}\n\t\t\tif (curTime < min) {\n\t\t\t\tarr.push('to-dis')\n\t\t\t}\n\t\t}\n\t}\n\treturn arr\n}\n\nconst setDayClass = (item: any) => {\n\tlet arr: string[] = []\n\tif (item.sat) {\n\t\tarr.push('is-sat')\n\t}\n\tif (item.sun) {\n\t\tarr.push('is-sun')\n\t}\n\tif (year.value === curYear.value && month.value === curMonth.value && curDay.value === item.value) {\n\t\tarr.push('is-cur')\n\t}\n\tif (props.range) {\n\t\tif (year.value === start.value.year && month.value === start.value.month && item.value === start.value.day) {\n\t\t\tif (end.value.day) {\n\t\t\t\tarr.push('is-start')\n\t\t\t} else {\n\t\t\t\tarr.push('is-on')\n\t\t\t}\n\t\t}\n\t\tif (year.value === end.value.year && month.value === end.value.month && item.value === end.value.day) {\n\t\t\tarr.push('is-end')\n\t\t}\n\t\tconst value = getValue({\n\t\t\tyear: year.value,\n\t\t\tmonth: month.value,\n\t\t\tday: item.value\n\t\t})\n\t\tif (value > getValue(start.value) && value < getValue(end.value)) {\n\t\t\tarr.push('is-range')\n\t\t}\n\t} else {\n\t\tif (day.value === item.value && props.type !== 'dates') {\n\t\t\tarr.push('is-on')\n\t\t} else if (props.type === 'dates') {\n\t\t\tif (yearsData.value.includes(year.value) && monthsData.value.includes(addZero(month.value)) && daysRangeData.value.includes(`${year.value}-${addZero(month.value)}-${addZero(item.value)}`)) {\n\t\t\t\tarr.push('is-checked')\n\t\t\t\tif (day.value === item.value) {\n\t\t\t\t\tarr.push('is-on')\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\treturn arr\n}\n\n// 界面控制\nconst nextMonth = () => {\n\tif (month.value === 12) {\n\t\tyear.value += 1\n\t\tmonth.value = 1\n\t} else {\n\t\tmonth.value += 1\n\t}\n\tsetDayData()\n}\n\nconst lastMonth = () => {\n\tif (month.value === 1) {\n\t\tyear.value -= 1\n\t\tmonth.value = 12\n\t} else {\n\t\tmonth.value -= 1\n\t}\n\tsetDayData()\n}\n\n// const lastYears = () => {\n// \tyearsPage.value -= 1\n// \tsetYearData(year.value + 10 * yearsPage.value)\n// }\n\n// const nextYears = () => {\n// \tyearsPage.value += 1\n// \tsetYearData(year.value + 10 * yearsPage.value)\n// }\n\nconst nextYear = () => {\n\tif (year.value >= Number(props.maxYear || 2200)) {\n\t\treturn\n\t}\n\tisClickFlag.value = false\n\tyear.value += 1\n\tcommonSetDayVal()\n}\n\nconst lastYear = () => {\n\tif (year.value <= Number(props.minYear || 1900)) {\n\t\treturn\n\t}\n\tisClickFlag.value = false\n\tyear.value -= 1\n\tcommonSetDayVal()\n}\n\nconst toggleMonthSelector = () => {\n\tif (!monthLayer.value) {\n\t\t// 打开\n\t\tmonthLayer.value = true\n\t\ttempYear.value = year.value\n\t\tyears.value = setYearData(year.value)\n\t\tisClickFlag.value = false\n\t\tgoToCenter()\n\t} else {\n\t\t// 关闭\n\t\tmonthLayer.value = false\n\t}\n}\n\nconst hourScroll = ref()\nconst minuteScroll = ref()\nconst secondScroll = ref()\n\n// 内置方法\n// 验证日期格式\nconst isDate = (date: string) => {\n\tconst DateExp = /^[1-2][0-9]{3}-(0[1-9]|1[0-2])-(0[1-9]|[1-2][0-9]|3[0-1])$/\n\tif (DateExp.test(date)) {\n\t\treturn new Date(date).getDate() === Number(date.substring(date.length - 2))\n\t} else {\n\t\treturn false\n\t}\n}\n\nconst isMonth = (date: string) => {\n\tconst DateExp = /^[1-2][0-9]{3}-(0[1-9]|1[0-2])$/\n\tif (DateExp.test(date)) {\n\t\treturn new Date(date + '-01').getDate() === Number(1)\n\t} else {\n\t\treturn false\n\t}\n}\n\nconst isDatetime = (time: string) => {\n\tif (typeof time === 'string') {\n\t\tvar reg = /^(\\d{4})-(\\d{2})-(\\d{2})\\s+(\\d{2}):(\\d{2}):(\\d{2})$/\n\t\treturn reg.test(time)\n\t} else {\n\t\treturn false\n\t}\n}\n\nconst isAnyDate = (date: string) => {\n\treturn isDate(date) || isMonth(date) || isDatetime(date)\n}\n\n// 获取某月天数\nconst getMonthDays = (date: string) => {\n\tconst d = new Date(date)\n\td.setMonth(d.getMonth() + 1, 0)\n\treturn d.getDate()\n}\n\n// 格式化日期\n// eslint-disable-next-line @typescript-eslint/no-unused-vars\nconst formatDate = (date: Date, fmt: string) => {\n\tconst o: any = {\n\t\t'M+': date.getMonth() + 1, // 月份\n\t\t'd+': date.getDate(), // 日\n\t\t'h+': date.getHours(), // 小时\n\t\t'm+': date.getMinutes(), // 分\n\t\t's+': date.getSeconds(), // 秒\n\t\t'q+': Math.floor((date.getMonth() + 3) / 3), // 季度\n\t\tS: date.getMilliseconds() // 毫秒\n\t}\n\tif (/(y+)/.test(fmt)) {\n\t\tfmt = fmt.replace(RegExp.$1, (date.getFullYear() + '').substr(4 - RegExp.$1.length))\n\t}\n\tfor (const k in o) {\n\t\tif (new RegExp('(' + k + ')').test(fmt)) {\n\t\t\tfmt = fmt.replace(RegExp.$1, RegExp.$1.length === 1 ? o[k] : ('00' + o[k]).substr(('' + o[k]).length))\n\t\t}\n\t}\n\treturn fmt\n}\n\n// 生成数字数组\nconst genNumbers = (min: number, max: number, step: number = 1) => {\n\tconst arr: string[] = []\n\tfor (let i = min; i <= max; i += step) {\n\t\tarr.push(String(i))\n\t}\n\treturn arr\n}\n\n// 补零\nconst addZero = (str: string | number) => {\n\tif (Number(str) < 10) {\n\t\treturn '0' + Number(str)\n\t} else {\n\t\treturn String(str)\n\t}\n}\n\nconst goToCenter = () => {\n\tnextTick(() => {\n\t\tconst scrollRef = yearScrollRef.value?.$el as HTMLElement | null\n\t\tif (!scrollRef) return\n\n\t\t// const currentYear = new Date().getFullYear()\n\t\tconst currentYear = year.value\n\t\tconst currentIndex = years.value.findIndex(year => year === currentYear)\n\n\t\t// 获取第一个年份项,用于计算单个年份项的高度\n\t\tconst firstItem = scrollRef.querySelector('.to-calendar-year-item') as HTMLElement | null\n\t\tif (!firstItem) return\n\n\t\tconst itemHeight = firstItem.offsetHeight\n\t\t// 计算滚动位置,让当前年份在可视区域中间\n\t\tconst scrollTop = currentIndex * itemHeight - scrollRef.clientHeight / 2 + itemHeight / 2\n\n\t\tscrollRef.scrollTop = Math.max(0, scrollTop)\n\t})\n}\n\n// 生命周期\nonMounted(() => {\n\tif (props.minYear && props.maxYear && Number(props.minYear) > Number(props.maxYear)) {\n\t\tconsole.error('minYear 不能大于 maxYear')\n\t}\n\tsetData()\n\tyears.value = setYearData()\n\n\tgoToCenter()\n})\n\ndefineExpose({\n\tsetData,\n\taddZero,\n\tyear,\n\tmonth,\n\tday,\n\thour,\n\tminute,\n\tsecond\n})\n</script>\n"],"names":["DO_defineComponent","ref","useWidthStyle","computed","t","watch","year","nextTick","isPromise","handleBeforeChange","onMounted","_createElementBlock","_normalizeClass","_unref","_createCommentVNode","_createElementVNode","type","_createVNode","_toDisplayString","ToScroll","_openBlock","_Fragment","_renderList","_withModifiers","_renderSlot","_createBlock","ToTag","size","_createTextVNode","vTip","vDis","legend"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../../../../../packages/components/card/index.ts"],"sourcesContent":["import { SFCWithInstall, withInstall } from '@touchvue/utils'\r\nimport Card from './src/card.vue'\r\nimport CardItem from './src/card-item.vue'\r\n\r\nexport const ToCard: SFCWithInstall<typeof Card> = withInstall(Card, [CardItem])\r\n\r\nexport default ToCard\r\n\r\nexport * from './src/card.vue'\r\nexport * from './src/card-item.vue'\r\n"],"names":["withInstall","Card","CardItem"],"mappings":";;;;;;;;AAIO,MAAM,MAAsC,GAAAA,iBAAA,CAAYC,YAAM,EAAA,CAACC,gBAAQ,CAAC;;;;;"}
1
+ {"version":3,"file":"index.js","sources":["../../../../../packages/components/card/index.ts"],"sourcesContent":["import { SFCWithInstall, withInstall } from '@touchvue/utils'\nimport Card from './src/card.vue'\nimport CardItem from './src/card-item.vue'\n\nexport const ToCard: SFCWithInstall<typeof Card> = withInstall(Card, [CardItem])\n\nexport default ToCard\n\nexport * from './src/card.vue'\nexport * from './src/card-item.vue'\n"],"names":["withInstall","Card","CardItem"],"mappings":";;;;;;;;AAIO,MAAM,MAAsC,GAAAA,iBAAA,CAAYC,YAAM,EAAA,CAACC,gBAAQ,CAAC;;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"Card.vue.js","sources":["../../../../../../packages/components/card/src/Card.vue"],"sourcesContent":["<template>\r\n <div class=\"to-card\" :style=\"setStyle\" :class=\"setClass\" @click=\"clickHandle\">\r\n <slot></slot>\r\n <div v-if=\"$slots.fn\" class=\"to-card-fn\" :style=\"setFnStyle\">\r\n <slot name=\"fn\"></slot>\r\n </div>\r\n </div>\r\n</template>\r\n<script setup>\r\nimport { computed, provide } from 'vue';\r\n\r\ndefineOptions({\r\n name: 'ToCard',\r\n});\r\n\r\nconst props = defineProps({\r\n fillet: { type: String, default: 'none' },\r\n color: { type: String, default: '' },\r\n mode: { type: String, default: 'default' },\r\n padding: { type: [Number, String], default: '' },\r\n link: Boolean,\r\n shadow: Boolean,\r\n checked: Boolean,\r\n wrap: Boolean,\r\n type: { type: String, default: '' },\r\n width: { type: [Number, String], default: '' },\r\n});\r\n\r\nconst emits = defineEmits(['click']);\r\n\r\nprovide('toCard', {});\r\n\r\nconst setClass = computed(() => {\r\n const arr = [];\r\n if (props.wrap) arr.push('is-wrap');\r\n if (props.mode) arr.push(`mode-${props.mode}`);\r\n if (props.color) arr.push(`color-${props.color}`);\r\n if (props.link) arr.push('is-link');\r\n if (props.type) arr.push(`type-${props.type}`);\r\n if (props.checked) arr.push('is-checked');\r\n if (props.width === 'auto') arr.push('width-auto');\r\n return arr;\r\n});\r\n\r\nconst setStyle = computed(() => {\r\n const obj = {};\r\n if (props.width) {\r\n obj.width = isNaN(Number(props.width)) ? props.width : `${props.width}em`;\r\n }\r\n\r\n const hasUnit = val => /[a-z%]+$/i.test(val);\r\n if (String(props.padding).trim()) {\r\n // 分割成各个值\r\n const padded = String(props.padding)\r\n .trim()\r\n .split(/\\s+/)\r\n .map(val => {\r\n // 如果是数字(或纯数字字符串),或末尾无单位,就加 em\r\n return hasUnit(val) ? val : `${val}em`;\r\n })\r\n .join(' ');\r\n\r\n obj.padding = padded;\r\n }\r\n return obj;\r\n});\r\n\r\nconst setFnStyle = computed(() => {\r\n const obj = {};\r\n if (props.padding >= 0 && props.padding !== 1) {\r\n obj.top = `${props.padding}em`;\r\n obj.right = `${props.padding}em`;\r\n }\r\n return obj;\r\n});\r\n\r\nfunction clickHandle(evt) {\r\n if (props.link) {\r\n emits('click', evt);\r\n }\r\n}\r\n</script>\r\n"],"names":["DO_defineComponent","provide","computed"],"mappings":"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"}
1
+ {"version":3,"file":"Card.vue.js","sources":["../../../../../../packages/components/card/src/Card.vue"],"sourcesContent":["<template>\n <div class=\"to-card\" :style=\"setStyle\" :class=\"setClass\" @click=\"clickHandle\">\n <slot></slot>\n <div v-if=\"$slots.fn\" class=\"to-card-fn\" :style=\"setFnStyle\">\n <slot name=\"fn\"></slot>\n </div>\n </div>\n</template>\n<script setup>\nimport { computed, provide } from 'vue';\n\ndefineOptions({\n name: 'ToCard',\n});\n\nconst props = defineProps({\n fillet: { type: String, default: 'none' },\n color: { type: String, default: '' },\n mode: { type: String, default: 'default' },\n padding: { type: [Number, String], default: '' },\n link: Boolean,\n shadow: Boolean,\n checked: Boolean,\n wrap: Boolean,\n type: { type: String, default: '' },\n width: { type: [Number, String], default: '' },\n});\n\nconst emits = defineEmits(['click']);\n\nprovide('toCard', {});\n\nconst setClass = computed(() => {\n const arr = [];\n if (props.wrap) arr.push('is-wrap');\n if (props.mode) arr.push(`mode-${props.mode}`);\n if (props.color) arr.push(`color-${props.color}`);\n if (props.link) arr.push('is-link');\n if (props.type) arr.push(`type-${props.type}`);\n if (props.checked) arr.push('is-checked');\n if (props.width === 'auto') arr.push('width-auto');\n return arr;\n});\n\nconst setStyle = computed(() => {\n const obj = {};\n if (props.width) {\n obj.width = isNaN(Number(props.width)) ? props.width : `${props.width}em`;\n }\n\n const hasUnit = val => /[a-z%]+$/i.test(val);\n if (String(props.padding).trim()) {\n // 分割成各个值\n const padded = String(props.padding)\n .trim()\n .split(/\\s+/)\n .map(val => {\n // 如果是数字(或纯数字字符串),或末尾无单位,就加 em\n return hasUnit(val) ? val : `${val}em`;\n })\n .join(' ');\n\n obj.padding = padded;\n }\n return obj;\n});\n\nconst setFnStyle = computed(() => {\n const obj = {};\n if (props.padding >= 0 && props.padding !== 1) {\n obj.top = `${props.padding}em`;\n obj.right = `${props.padding}em`;\n }\n return obj;\n});\n\nfunction clickHandle(evt) {\n if (props.link) {\n emits('click', evt);\n }\n}\n</script>\n"],"names":["provide","computed","_createElementBlock","_normalizeClass","_renderSlot","$slots"],"mappings":"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"}