vxe-pc-ui 4.5.35 → 4.6.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (307) hide show
  1. package/es/calendar/src/calendar.js +1 -1
  2. package/es/components.js +6 -0
  3. package/es/date-panel/index.js +12 -0
  4. package/es/date-panel/src/date-panel.js +1587 -0
  5. package/es/date-panel/src/util.js +191 -0
  6. package/es/date-panel/style.css +443 -0
  7. package/es/date-panel/style.min.css +1 -0
  8. package/es/date-picker/index.js +0 -1
  9. package/es/date-picker/src/date-picker.js +274 -1663
  10. package/es/date-picker/style.css +68 -810
  11. package/es/date-picker/style.min.css +1 -1
  12. package/es/date-range-picker/index.js +12 -0
  13. package/es/date-range-picker/src/date-range-picker.js +1121 -0
  14. package/es/date-range-picker/style.css +284 -0
  15. package/es/date-range-picker/style.min.css +1 -0
  16. package/es/form/render/index.js +21 -15
  17. package/es/icon/style.css +1 -1
  18. package/es/input/src/input.js +1 -1
  19. package/es/language/ar-EG.js +1 -1
  20. package/es/language/de-DE.js +1 -1
  21. package/es/language/en-US.js +1 -1
  22. package/es/language/es-ES.js +1 -1
  23. package/es/language/fr-FR.d.ts +2 -0
  24. package/es/language/fr-FR.js +1 -1
  25. package/es/language/hu-HU.js +1 -1
  26. package/es/language/hy-AM.d.ts +2 -0
  27. package/es/language/hy-AM.js +1 -1
  28. package/es/language/id-ID.d.ts +2 -0
  29. package/es/language/id-ID.js +1 -1
  30. package/es/language/it-IT.d.ts +2 -0
  31. package/es/language/it-IT.js +1 -1
  32. package/es/language/ja-JP.js +1 -1
  33. package/es/language/ko-KR.js +1 -1
  34. package/es/language/ms-MY.d.ts +2 -0
  35. package/es/language/ms-MY.js +708 -0
  36. package/es/language/nb-NO.d.ts +2 -0
  37. package/es/language/nb-NO.js +1 -1
  38. package/es/language/pt-BR.js +1 -1
  39. package/es/language/ru-RU.js +1 -1
  40. package/es/language/th-TH.d.ts +2 -0
  41. package/es/language/th-TH.js +1 -1
  42. package/es/language/ug-CN.d.ts +2 -0
  43. package/es/language/ug-CN.js +1 -1
  44. package/es/language/uk-UA.js +1 -1
  45. package/es/language/uz-UZ.d.ts +2 -0
  46. package/es/language/uz-UZ.js +708 -0
  47. package/es/language/vi-VN.d.ts +2 -0
  48. package/es/language/vi-VN.js +1 -1
  49. package/es/language/zh-CHT.d.ts +2 -0
  50. package/es/language/zh-CHT.js +1 -1
  51. package/es/language/zh-CN.js +1 -1
  52. package/es/print/src/print.js +4 -0
  53. package/es/print/src/util.js +46 -3
  54. package/es/pulldown/style.css +15 -0
  55. package/es/pulldown/style.min.css +1 -1
  56. package/es/select/style.css +15 -0
  57. package/es/select/style.min.css +1 -1
  58. package/es/style.css +1 -1
  59. package/es/style.min.css +1 -1
  60. package/es/table-select/style.css +15 -0
  61. package/es/table-select/style.min.css +1 -1
  62. package/es/tree-select/style.css +15 -0
  63. package/es/tree-select/style.min.css +1 -1
  64. package/es/ui/index.js +31 -6
  65. package/es/ui/src/log.js +1 -1
  66. package/es/vxe-date-panel/index.js +3 -0
  67. package/es/vxe-date-panel/style.css +443 -0
  68. package/es/vxe-date-panel/style.min.css +1 -0
  69. package/es/vxe-date-picker/style.css +68 -810
  70. package/es/vxe-date-picker/style.min.css +1 -1
  71. package/es/vxe-date-range-picker/index.js +3 -0
  72. package/es/vxe-date-range-picker/style.css +284 -0
  73. package/es/vxe-date-range-picker/style.min.css +1 -0
  74. package/es/vxe-pulldown/style.css +15 -0
  75. package/es/vxe-pulldown/style.min.css +1 -1
  76. package/es/vxe-select/style.css +15 -0
  77. package/es/vxe-select/style.min.css +1 -1
  78. package/es/vxe-table-select/style.css +15 -0
  79. package/es/vxe-table-select/style.min.css +1 -1
  80. package/es/vxe-tree-select/style.css +15 -0
  81. package/es/vxe-tree-select/style.min.css +1 -1
  82. package/lib/calendar/src/calendar.js +1 -1
  83. package/lib/calendar/src/calendar.min.js +1 -1
  84. package/lib/components.js +25 -1
  85. package/lib/components.min.js +1 -1
  86. package/lib/date-panel/index.js +19 -0
  87. package/lib/date-panel/index.min.js +1 -0
  88. package/lib/date-panel/src/date-panel.js +1667 -0
  89. package/lib/date-panel/src/date-panel.min.js +1 -0
  90. package/lib/date-panel/src/util.js +219 -0
  91. package/lib/date-panel/src/util.min.js +1 -0
  92. package/lib/date-panel/style/index.js +1 -0
  93. package/lib/date-panel/style/style.css +443 -0
  94. package/lib/date-panel/style/style.min.css +1 -0
  95. package/lib/date-picker/index.js +0 -1
  96. package/lib/date-picker/index.min.js +1 -1
  97. package/lib/date-picker/src/date-picker.js +288 -1717
  98. package/lib/date-picker/src/date-picker.min.js +1 -1
  99. package/lib/date-picker/style/style.css +68 -810
  100. package/lib/date-picker/style/style.min.css +1 -1
  101. package/lib/date-range-picker/index.js +19 -0
  102. package/lib/date-range-picker/index.min.js +1 -0
  103. package/lib/date-range-picker/src/date-range-picker.js +1194 -0
  104. package/lib/date-range-picker/src/date-range-picker.min.js +1 -0
  105. package/lib/date-range-picker/style/index.js +1 -0
  106. package/lib/date-range-picker/style/style.css +284 -0
  107. package/lib/date-range-picker/style/style.min.css +1 -0
  108. package/lib/form/render/index.js +21 -15
  109. package/lib/form/render/index.min.js +1 -1
  110. package/lib/icon/style/style.css +1 -1
  111. package/lib/icon/style/style.min.css +1 -1
  112. package/lib/index.umd.js +2971 -1254
  113. package/lib/index.umd.min.js +1 -1
  114. package/lib/input/src/input.js +1 -1
  115. package/lib/input/src/input.min.js +1 -1
  116. package/lib/language/ar-EG.d.ts +2 -0
  117. package/lib/language/ar-EG.js +1 -1
  118. package/lib/language/ar-EG.min.js +1 -1
  119. package/lib/language/ar-EG.umd.js +728 -0
  120. package/lib/language/de-DE.d.ts +2 -0
  121. package/lib/language/de-DE.js +1 -1
  122. package/lib/language/de-DE.min.js +1 -1
  123. package/lib/language/de-DE.umd.js +728 -0
  124. package/lib/language/en-US.js +1 -1
  125. package/lib/language/en-US.min.js +1 -1
  126. package/lib/language/en-US.umd.js +1 -1
  127. package/lib/language/es-ES.js +1 -1
  128. package/lib/language/es-ES.min.js +1 -1
  129. package/lib/language/es-ES.umd.js +1 -1
  130. package/lib/language/fr-FR.d.ts +2 -0
  131. package/lib/language/fr-FR.js +1 -1
  132. package/lib/language/fr-FR.min.js +1 -1
  133. package/lib/language/fr-FR.umd.js +728 -0
  134. package/lib/language/hu-HU.js +1 -1
  135. package/lib/language/hu-HU.min.js +1 -1
  136. package/lib/language/hu-HU.umd.js +1 -1
  137. package/lib/language/hy-AM.d.ts +2 -0
  138. package/lib/language/hy-AM.js +1 -1
  139. package/lib/language/hy-AM.min.js +1 -1
  140. package/lib/language/hy-AM.umd.js +728 -0
  141. package/lib/language/id-ID.d.ts +2 -0
  142. package/lib/language/id-ID.js +1 -1
  143. package/lib/language/id-ID.min.js +1 -1
  144. package/lib/language/id-ID.umd.js +728 -0
  145. package/lib/language/it-IT.d.ts +2 -0
  146. package/lib/language/it-IT.js +1 -1
  147. package/lib/language/it-IT.min.js +1 -1
  148. package/lib/language/it-IT.umd.js +728 -0
  149. package/lib/language/ja-JP.js +1 -1
  150. package/lib/language/ja-JP.min.js +1 -1
  151. package/lib/language/ja-JP.umd.js +1 -1
  152. package/lib/language/ko-KR.js +1 -1
  153. package/lib/language/ko-KR.min.js +1 -1
  154. package/lib/language/ko-KR.umd.js +1 -1
  155. package/lib/language/ms-MY.d.ts +2 -0
  156. package/lib/language/ms-MY.js +714 -0
  157. package/lib/language/ms-MY.min.js +1 -0
  158. package/lib/language/ms-MY.umd.js +728 -0
  159. package/lib/language/nb-NO.d.ts +2 -0
  160. package/lib/language/nb-NO.js +1 -1
  161. package/lib/language/nb-NO.min.js +1 -1
  162. package/lib/language/nb-NO.umd.js +728 -0
  163. package/lib/language/pt-BR.js +1 -1
  164. package/lib/language/pt-BR.min.js +1 -1
  165. package/lib/language/pt-BR.umd.js +1 -1
  166. package/lib/language/ru-RU.js +1 -1
  167. package/lib/language/ru-RU.min.js +1 -1
  168. package/lib/language/ru-RU.umd.js +1 -1
  169. package/lib/language/th-TH.d.ts +2 -0
  170. package/lib/language/th-TH.js +1 -1
  171. package/lib/language/th-TH.min.js +1 -1
  172. package/lib/language/th-TH.umd.js +728 -0
  173. package/lib/language/ug-CN.d.ts +2 -0
  174. package/lib/language/ug-CN.js +1 -1
  175. package/lib/language/ug-CN.min.js +1 -1
  176. package/lib/language/ug-CN.umd.js +728 -0
  177. package/lib/language/uk-UA.js +1 -1
  178. package/lib/language/uk-UA.min.js +1 -1
  179. package/lib/language/uk-UA.umd.js +1 -1
  180. package/lib/language/uz-UZ.d.ts +2 -0
  181. package/lib/language/uz-UZ.js +714 -0
  182. package/lib/language/uz-UZ.min.js +1 -0
  183. package/lib/language/uz-UZ.umd.js +728 -0
  184. package/lib/language/vi-VN.d.ts +2 -0
  185. package/lib/language/vi-VN.js +1 -1
  186. package/lib/language/vi-VN.min.js +1 -1
  187. package/lib/language/vi-VN.umd.js +728 -0
  188. package/lib/language/zh-CHT.d.ts +2 -0
  189. package/lib/language/zh-CHT.js +1 -1
  190. package/lib/language/zh-CHT.min.js +1 -1
  191. package/lib/language/zh-CHT.umd.js +728 -0
  192. package/lib/language/zh-CN.js +1 -1
  193. package/lib/language/zh-CN.min.js +1 -1
  194. package/lib/language/zh-CN.umd.js +1 -1
  195. package/lib/language/zh-TC.min.js +1 -1
  196. package/lib/print/src/print.js +4 -0
  197. package/lib/print/src/print.min.js +1 -1
  198. package/lib/print/src/util.js +45 -2
  199. package/lib/print/src/util.min.js +1 -1
  200. package/lib/pulldown/style/style.css +15 -0
  201. package/lib/pulldown/style/style.min.css +1 -1
  202. package/lib/select/style/style.css +15 -0
  203. package/lib/select/style/style.min.css +1 -1
  204. package/lib/style.css +1 -1
  205. package/lib/style.min.css +1 -1
  206. package/lib/table-select/style/style.css +15 -0
  207. package/lib/table-select/style/style.min.css +1 -1
  208. package/lib/tree-select/style/style.css +15 -0
  209. package/lib/tree-select/style/style.min.css +1 -1
  210. package/lib/ui/index.js +31 -6
  211. package/lib/ui/index.min.js +1 -1
  212. package/lib/ui/src/log.js +1 -1
  213. package/lib/ui/src/log.min.js +1 -1
  214. package/lib/vxe-date-panel/index.js +22 -0
  215. package/lib/vxe-date-panel/index.min.js +1 -0
  216. package/lib/vxe-date-panel/style/index.js +1 -0
  217. package/lib/vxe-date-panel/style/style.css +443 -0
  218. package/lib/vxe-date-panel/style/style.min.css +1 -0
  219. package/lib/vxe-date-picker/style/style.css +68 -810
  220. package/lib/vxe-date-picker/style/style.min.css +1 -1
  221. package/lib/vxe-date-range-picker/index.js +22 -0
  222. package/lib/vxe-date-range-picker/index.min.js +1 -0
  223. package/lib/vxe-date-range-picker/style/index.js +1 -0
  224. package/lib/vxe-date-range-picker/style/style.css +284 -0
  225. package/lib/vxe-date-range-picker/style/style.min.css +1 -0
  226. package/lib/vxe-pulldown/style/style.css +15 -0
  227. package/lib/vxe-pulldown/style/style.min.css +1 -1
  228. package/lib/vxe-select/style/style.css +15 -0
  229. package/lib/vxe-select/style/style.min.css +1 -1
  230. package/lib/vxe-table-select/style/style.css +15 -0
  231. package/lib/vxe-table-select/style/style.min.css +1 -1
  232. package/lib/vxe-tree-select/style/style.css +15 -0
  233. package/lib/vxe-tree-select/style/style.min.css +1 -1
  234. package/package.json +4 -5
  235. package/packages/calendar/src/calendar.ts +10 -10
  236. package/packages/components.ts +6 -0
  237. package/packages/date-panel/index.ts +16 -0
  238. package/packages/date-panel/src/date-panel.ts +1654 -0
  239. package/packages/date-panel/src/util.ts +212 -0
  240. package/packages/date-picker/index.ts +0 -1
  241. package/packages/date-picker/src/date-picker.ts +298 -1697
  242. package/packages/date-range-picker/index.ts +16 -0
  243. package/packages/date-range-picker/src/date-range-picker.ts +1196 -0
  244. package/packages/form/render/index.ts +21 -15
  245. package/packages/input/src/input.ts +15 -15
  246. package/packages/language/ar-EG.ts +1 -1
  247. package/packages/language/de-DE.ts +1 -1
  248. package/packages/language/en-US.ts +1 -1
  249. package/packages/language/es-ES.ts +1 -1
  250. package/packages/language/fr-FR.ts +1 -1
  251. package/packages/language/hu-HU.ts +1 -1
  252. package/packages/language/hy-AM.ts +1 -1
  253. package/packages/language/id-ID.ts +1 -1
  254. package/packages/language/it-IT.ts +1 -1
  255. package/packages/language/ja-JP.ts +1 -1
  256. package/packages/language/ko-KR.ts +1 -1
  257. package/packages/language/ms-MY.ts +708 -0
  258. package/packages/language/nb-NO.ts +1 -1
  259. package/packages/language/pt-BR.ts +1 -1
  260. package/packages/language/ru-RU.ts +1 -1
  261. package/packages/language/th-TH.ts +1 -1
  262. package/packages/language/ug-CN.ts +1 -1
  263. package/packages/language/uk-UA.ts +1 -1
  264. package/packages/language/uz-UZ.ts +708 -0
  265. package/packages/language/vi-VN.ts +1 -1
  266. package/packages/language/zh-CHT.ts +1 -1
  267. package/packages/language/zh-CN.ts +1 -1
  268. package/packages/print/src/print.ts +4 -0
  269. package/packages/print/src/util.ts +47 -4
  270. package/packages/ui/index.ts +30 -5
  271. package/styles/all.scss +2 -0
  272. package/styles/components/date-panel.scss +491 -0
  273. package/styles/components/date-picker.scss +62 -652
  274. package/styles/components/date-range-picker.scss +284 -0
  275. package/styles/components/pulldown.scss +10 -0
  276. package/styles/components/select.scss +8 -0
  277. package/styles/components/table-select.scss +8 -0
  278. package/styles/components/tree-select.scss +8 -0
  279. package/styles/helpers/baseMixin.scss +13 -0
  280. package/types/all.d.ts +6 -0
  281. package/types/components/button-group.d.ts +1 -1
  282. package/types/components/date-panel.d.ts +240 -0
  283. package/types/components/date-picker.d.ts +35 -142
  284. package/types/components/date-range-picker.d.ts +267 -0
  285. package/types/components/print.d.ts +8 -0
  286. package/types/components/table-module/filter.d.ts +8 -0
  287. package/types/ui/commands.d.ts +28 -2
  288. package/types/ui/global-config.d.ts +4 -0
  289. package/es/date-picker/src/util.js +0 -41
  290. package/lib/date-picker/src/util.js +0 -46
  291. package/lib/date-picker/src/util.min.js +0 -1
  292. package/lib/language/zh-TC.umd.js +0 -23
  293. package/packages/date-picker/src/util.ts +0 -42
  294. /package/es/icon/{iconfont.1746002850171.ttf → iconfont.1746782659171.ttf} +0 -0
  295. /package/es/icon/{iconfont.1746002850171.woff → iconfont.1746782659171.woff} +0 -0
  296. /package/es/icon/{iconfont.1746002850171.woff2 → iconfont.1746782659171.woff2} +0 -0
  297. /package/es/{iconfont.1746002850171.ttf → iconfont.1746782659171.ttf} +0 -0
  298. /package/es/{iconfont.1746002850171.woff → iconfont.1746782659171.woff} +0 -0
  299. /package/es/{iconfont.1746002850171.woff2 → iconfont.1746782659171.woff2} +0 -0
  300. /package/es/language/{zh-TC.d.ts → ar-EG.d.ts} +0 -0
  301. /package/{lib/language/zh-TC.d.ts → es/language/de-DE.d.ts} +0 -0
  302. /package/lib/icon/style/{iconfont.1746002850171.ttf → iconfont.1746782659171.ttf} +0 -0
  303. /package/lib/icon/style/{iconfont.1746002850171.woff → iconfont.1746782659171.woff} +0 -0
  304. /package/lib/icon/style/{iconfont.1746002850171.woff2 → iconfont.1746782659171.woff2} +0 -0
  305. /package/lib/{iconfont.1746002850171.ttf → iconfont.1746782659171.ttf} +0 -0
  306. /package/lib/{iconfont.1746002850171.woff → iconfont.1746782659171.woff} +0 -0
  307. /package/lib/{iconfont.1746002850171.woff2 → iconfont.1746782659171.woff2} +0 -0
@@ -1,5 +1,6 @@
1
1
  import { RenderFunction, SetupContext, Ref } from 'vue'
2
2
  import { DefineVxeComponentApp, DefineVxeComponentOptions, DefineVxeComponentInstance, VxeComponentBaseOptions, VxeComponentEventParams, ValueOf, VxeComponentStyleType, VxeComponentSizeType } from '@vxe-ui/core'
3
+ import { VxeDatePanelPropTypes, VxeDatePanelDefines } from './date-panel'
3
4
  import { VxeButtonGroupPropTypes } from './button-group'
4
5
  import { VxeButtonProps } from './button'
5
6
 
@@ -31,27 +32,15 @@ export namespace VxeDatePickerPropTypes {
31
32
  export type ClassName = string
32
33
  export type Immediate = boolean
33
34
  export type Name = string
34
- export type Type = 'date' | 'time' | 'datetime' | 'week' | 'month' | 'quarter' | 'year'
35
+ export type Type = VxeDatePanelPropTypes.Type
35
36
  export type Clearable = boolean
36
37
  export type Readonly = boolean
37
38
  export type Disabled = boolean
38
39
  export type Placeholder = string
39
- export type MaxLength = string | number
40
40
  export type Multiple = boolean
41
41
  export type LimitCount = string | number
42
- export type ShowWordCount = boolean
43
- export type CountMethod = (params: {
44
- value: string
45
- }) => number
46
42
  export type AutoComplete = string
47
- export type Align = string
48
43
  export type Form = string
49
- export type Min = string | number
50
- export type Max = string | number
51
- export type Step = string | number
52
- export type Exponential = boolean
53
- export type Controls = boolean
54
- export type Digits = string | number
55
44
  export type StartDate = string | number | Date
56
45
  export type EndDate = string | number | Date
57
46
  export type MinDate = string | number | Date
@@ -61,12 +50,15 @@ export namespace VxeDatePickerPropTypes {
61
50
  export type LabelFormat = string
62
51
  export type ValueFormat = string
63
52
  export type Editable = boolean
64
- export type FestivalMethod = (params: VxeDatePickerDefines.DateFestivalParams) => VxeDatePickerDefines.DateFestivalInfo | null | void
65
- export type DisabledMethod = (params: VxeDatePickerDefines.DateDisabledParams) => boolean
53
+ export type FestivalMethod = VxeDatePanelPropTypes.FestivalMethod
54
+ export type DisabledMethod = VxeDatePanelPropTypes.DisabledMethod
55
+ export type AutoClose = boolean
66
56
  export type PrefixIcon = string
67
57
  export type SuffixIcon = string
68
58
  export type Placement = 'top' | 'bottom' | '' | null
69
59
  export type Transfer = boolean
60
+ export type ShowClearButton = boolean | null
61
+ export type ShowConfirmButton = boolean | null
70
62
 
71
63
  export interface ShortcutConfig {
72
64
  enabled?: boolean
@@ -80,17 +72,6 @@ export namespace VxeDatePickerPropTypes {
80
72
  autoClose?: boolean
81
73
  clickMethod?: (params: VxeDatePickerDefines.ShortcutClickParams) => void
82
74
  }
83
-
84
- /**
85
- * 请使用 AutoComplete
86
- * @deprecated
87
- */
88
- export type Autocomplete = string
89
- /**
90
- * 请使用 MaxLength
91
- * @deprecated
92
- */
93
- export type Maxlength = string | number
94
75
  }
95
76
 
96
77
  export interface VxeDatePickerProps {
@@ -104,36 +85,19 @@ export interface VxeDatePickerProps {
104
85
  readonly?: VxeDatePickerPropTypes.Readonly
105
86
  disabled?: VxeDatePickerPropTypes.Disabled
106
87
  placeholder?: VxeDatePickerPropTypes.Placeholder
107
- maxLength?: VxeDatePickerPropTypes.MaxLength
108
88
  multiple?: VxeDatePickerPropTypes.Multiple
109
89
  limitCount?: VxeDatePickerPropTypes.LimitCount
110
- /**
111
- * 是否显示字数统计
112
- */
113
- showWordCount?: VxeDatePickerPropTypes.ShowWordCount
114
- /**
115
- * 自定义字数统计方法
116
- */
117
- countMethod?: VxeDatePickerPropTypes.CountMethod
118
- autocomplete?: VxeDatePickerPropTypes.Autocomplete
119
- align?: VxeDatePickerPropTypes.Align
90
+ autoComplete?: VxeDatePickerPropTypes.AutoComplete
120
91
  form?: VxeDatePickerPropTypes.Form
121
92
 
122
- // number、integer、float、password
123
- controls?: VxeDatePickerPropTypes.Controls
124
-
125
- // float
126
- digits?: VxeDatePickerPropTypes.Digits
127
-
128
- // date、week、month、quarter、year
93
+ /**
94
+ * 日期面板的起始周为星期几
95
+ */
129
96
  startDate?: VxeDatePickerPropTypes.StartDate
130
97
  endDate?: VxeDatePickerPropTypes.EndDate
131
98
  minDate?: VxeDatePickerPropTypes.MinDate
132
99
  maxDate?: VxeDatePickerPropTypes.MaxDate
133
- /**
134
- * @deprecated
135
- */
136
- startWeek?: VxeDatePickerPropTypes.StartDay
100
+
137
101
  startDay?: VxeDatePickerPropTypes.StartDay
138
102
  labelFormat?: VxeDatePickerPropTypes.LabelFormat
139
103
  valueFormat?: VxeDatePickerPropTypes.ValueFormat
@@ -142,14 +106,23 @@ export interface VxeDatePickerProps {
142
106
  disabledMethod?: VxeDatePickerPropTypes.DisabledMethod
143
107
 
144
108
  shortcutConfig?: VxeDatePickerPropTypes.ShortcutConfig
109
+ /**
110
+ * 只对 type=date,week,month,quarter,year 有效,选择完日期后自动关闭
111
+ */
112
+ autoClose?: VxeDatePickerPropTypes.AutoClose
145
113
 
146
- // week
114
+ /**
115
+ * 只对 type=week 有效,选中日期后指定为一周的哪一天
116
+ */
147
117
  selectDay?: VxeDatePickerPropTypes.SelectDay
148
118
 
149
119
  prefixIcon?: VxeDatePickerPropTypes.PrefixIcon
150
120
  suffixIcon?: VxeDatePickerPropTypes.SuffixIcon
151
121
  placement?: VxeDatePickerPropTypes.Placement
152
122
  transfer?: VxeDatePickerPropTypes.Transfer
123
+
124
+ showClearButton?: VxeDatePickerPropTypes.ShowClearButton
125
+ showConfirmButton?: VxeDatePickerPropTypes.ShowConfirmButton
153
126
  }
154
127
 
155
128
  export interface DatePickerPrivateComputed {
@@ -165,23 +138,23 @@ export interface DatePickerReactData {
165
138
  panelPlacement: VxeDatePickerPropTypes.Placement
166
139
  isActivated: boolean
167
140
  inputValue: any
168
- datetimePanelValue: Date | null
169
- datePanelValue: Date | null
170
- datePanelLabel: string
171
- datePanelType: VxeDatePickerDefines.DatePanelType
172
- selectMonth: any
173
- currentDate: any
141
+ inputLabel: string
174
142
  }
175
143
 
176
144
  export interface DatePickerInternalData {
177
- yearSize: number
178
- monthSize: number
179
- quarterSize: number
180
145
  hpTimeout?: undefined | number
181
146
  }
182
147
 
183
148
  export interface DatePickerMethods {
184
149
  dispatchEvent(type: ValueOf<VxeDatePickerEmits>, params: Record<string, any>, evnt: Event | null): void
150
+ /**
151
+ * 修改绑定值
152
+ */
153
+ setModelValue(value: string): void
154
+ /**
155
+ * 修改绑定值并触发相关事件
156
+ */
157
+ setModelValueByEvent(evnt: Event, value: string): void
185
158
  /**
186
159
  * 获取焦点
187
160
  */
@@ -232,95 +205,15 @@ export namespace VxeDatePickerDefines {
232
205
  $datePicker: VxeDatePickerConstructor
233
206
  }
234
207
 
235
- export interface DateYearItem {
236
- date: Date;
237
- isPrev: boolean;
238
- isCurrent: boolean;
239
- isNow: boolean;
240
- isNext: boolean;
241
- year: number;
242
- }
243
-
244
- export interface DateMonthItem {
245
- date: Date;
246
- isPrev: boolean;
247
- isCurrent: boolean;
248
- isNow: boolean;
249
- isNext: boolean;
250
- month: number;
251
- }
252
-
253
- export interface DateQuarterItem {
254
- date: Date;
255
- isPrev: boolean;
256
- isCurrent: boolean;
257
- isNow: boolean;
258
- isNext: boolean;
259
- quarter: number;
260
- }
261
-
262
- export interface DateDayItem {
263
- date: Date;
264
- isWeekNumber?: boolean;
265
- isPrev: boolean;
266
- isCurrent: boolean;
267
- isNow: boolean;
268
- isNext: boolean;
269
- label: number;
270
- }
271
-
272
- export interface DateHourMinuteSecondItem {
273
- value: number;
274
- label: string;
275
- }
276
-
277
- export type DatePanelType = 'year' | 'quarter' | 'month' | 'week' | 'day'
208
+ export type DateFestivalInfo = VxeDatePanelDefines.DateFestivalInfo
209
+ export type DateFestivalParams = VxeDatePanelDefines.DateFestivalParams
210
+ export type DateDisabledParams = VxeDatePanelDefines.DateDisabledParams
278
211
 
279
212
  export interface ShortcutOption extends VxeButtonProps {
213
+ code?: string
280
214
  clickMethod?: (params: VxeDatePickerDefines.ShortcutClickParams) => void
281
215
  }
282
216
 
283
- interface DateFestivalItem {
284
- /**
285
- * 显示名称
286
- */
287
- label?: string
288
- /**
289
- * 标记为重要信息
290
- */
291
- important?: boolean
292
- className?: string
293
- style?: VxeComponentStyleType
294
- }
295
-
296
- /**
297
- * 日期节日对象
298
- */
299
- export interface DateFestivalInfo extends DateFestivalItem {
300
- /**
301
- * 显示左上角小圆点通知
302
- */
303
- notice?: boolean
304
- /**
305
- * 显示右上角信息
306
- */
307
- extra?: string | DateFestivalItem
308
- }
309
-
310
- export interface DateFestivalParams {
311
- $datePicker: VxeDatePickerConstructor
312
- type: string
313
- viewType: DatePanelType
314
- date: Date
315
- }
316
-
317
- export interface DateDisabledParams {
318
- $datePicker: VxeDatePickerConstructor
319
- type: string
320
- viewType: DatePanelType
321
- date: Date
322
- }
323
-
324
217
  export interface DatePickerParams {
325
218
  value: string
326
219
  }
@@ -0,0 +1,267 @@
1
+ import { RenderFunction, SetupContext, Ref } from 'vue'
2
+ import { DefineVxeComponentApp, DefineVxeComponentOptions, DefineVxeComponentInstance, VxeComponentBaseOptions, VxeComponentEventParams, ValueOf, VxeComponentStyleType, VxeComponentSizeType } from '@vxe-ui/core'
3
+ import { VxeDatePanelPropTypes, VxeDatePanelDefines } from './date-panel'
4
+ import { VxeButtonGroupPropTypes } from './button-group'
5
+ import { VxeButtonProps } from './button'
6
+
7
+ /* eslint-disable no-use-before-define,@typescript-eslint/ban-types */
8
+
9
+ export declare const VxeDateRangePicker: DefineVxeComponentApp<VxeDateRangePickerProps, VxeDateRangePickerEventProps, VxeDateRangePickerSlots, VxeDateRangePickerMethods>
10
+ export type VxeDateRangePickerComponent = DefineVxeComponentOptions<VxeDateRangePickerProps, VxeDateRangePickerEventProps>
11
+
12
+ export type VxeDateRangePickerInstance = DefineVxeComponentInstance<VxeDateRangePickerProps, VxeDateRangePickerConstructor>
13
+
14
+ export interface VxeDateRangePickerConstructor extends VxeComponentBaseOptions, VxeDateRangePickerMethods {
15
+ props: VxeDateRangePickerProps
16
+ context: SetupContext<VxeDateRangePickerEmits>
17
+ reactData: DateRangePickerReactData
18
+ getRefMaps(): DateRangePickerPrivateRef
19
+ getComputeMaps(): DateRangePickerPrivateComputed
20
+ renderVN: RenderFunction
21
+ }
22
+
23
+ export interface DateRangePickerPrivateRef {
24
+ refElem: Ref<HTMLDivElement | undefined>
25
+ refInput: Ref<HTMLInputElement>
26
+ }
27
+ export interface VxeDateRangePickerPrivateRef extends DateRangePickerPrivateRef { }
28
+
29
+ export namespace VxeDateRangePickerPropTypes {
30
+ export type Size = VxeComponentSizeType
31
+ export type ModelValue = (string | number | Date)[] | string | null
32
+ export type StartValue = string | number | Date | null
33
+ export type EndValue = string | number | Date | null
34
+ export type ClassName = string
35
+ export type Immediate = boolean
36
+ export type Name = string
37
+ export type Type = VxeDatePanelPropTypes.Type
38
+ export type Clearable = boolean
39
+ export type Readonly = boolean
40
+ export type Disabled = boolean
41
+ export type Placeholder = string
42
+ export type AutoComplete = string
43
+ export type Form = string
44
+ export type MinDate = string | number | Date
45
+ export type MaxDate = string | number | Date
46
+ export type StartDay = 0 | 1 | 2 | 3 | 4 | 5 | 6
47
+ export type SelectDay = 0 | 1 | 2 | 3 | 4 | 5 | 6
48
+ export type LabelFormat = string
49
+ export type ValueFormat = string
50
+ export type Editable = boolean
51
+ export type FestivalMethod = VxeDatePanelPropTypes.FestivalMethod
52
+ export type DisabledMethod = VxeDatePanelPropTypes.DisabledMethod
53
+ export type Separator = string | number
54
+ export type AutoClose = boolean
55
+ export type PrefixIcon = string
56
+ export type SuffixIcon = string
57
+ export type Placement = 'top' | 'bottom' | '' | null
58
+ export type Transfer = boolean
59
+ export type ShowClearButton = boolean | null
60
+ export type ShowConfirmButton = boolean | null
61
+
62
+ export interface ShortcutConfig {
63
+ enabled?: boolean
64
+ position?: 'top' | 'bottom' | 'left' | 'right' | 'header' | 'footer' | null
65
+ align?: VxeButtonGroupPropTypes.Align
66
+ mode?: VxeButtonGroupPropTypes.Mode
67
+ options?: VxeDateRangePickerDefines.ShortcutOption[]
68
+ /**
69
+ * 点击按钮后自动关闭弹窗面板
70
+ */
71
+ autoClose?: boolean
72
+ clickMethod?: (params: VxeDateRangePickerDefines.ShortcutClickParams) => void
73
+ }
74
+ }
75
+
76
+ export interface VxeDateRangePickerProps {
77
+ size?: VxeDateRangePickerPropTypes.Size
78
+ modelValue?: VxeDateRangePickerPropTypes.ModelValue
79
+ startValue?: VxeDateRangePickerPropTypes.StartValue
80
+ endValue?: VxeDateRangePickerPropTypes.EndValue
81
+ className?: VxeDateRangePickerPropTypes.ClassName
82
+ immediate?: VxeDateRangePickerPropTypes.Immediate
83
+ name?: VxeDateRangePickerPropTypes.Name
84
+ type?: VxeDateRangePickerPropTypes.Type
85
+ clearable?: VxeDateRangePickerPropTypes.Clearable
86
+ readonly?: VxeDateRangePickerPropTypes.Readonly
87
+ disabled?: VxeDateRangePickerPropTypes.Disabled
88
+ placeholder?: VxeDateRangePickerPropTypes.Placeholder
89
+ autoComplete?: VxeDateRangePickerPropTypes.AutoComplete
90
+ form?: VxeDateRangePickerPropTypes.Form
91
+
92
+ minDate?: VxeDateRangePickerPropTypes.MinDate
93
+ maxDate?: VxeDateRangePickerPropTypes.MaxDate
94
+
95
+ startDay?: VxeDateRangePickerPropTypes.StartDay
96
+ labelFormat?: VxeDateRangePickerPropTypes.LabelFormat
97
+ valueFormat?: VxeDateRangePickerPropTypes.ValueFormat
98
+ editable?: VxeDateRangePickerPropTypes.Editable
99
+ festivalMethod?: VxeDateRangePickerPropTypes.FestivalMethod
100
+ disabledMethod?: VxeDateRangePickerPropTypes.DisabledMethod
101
+
102
+ separator?: VxeDateRangePickerPropTypes.Separator
103
+ /**
104
+ * 只对 type=date,week,month,quarter,year 有效,选择完日期后自动关闭
105
+ */
106
+ autoClose?: VxeDateRangePickerPropTypes.AutoClose
107
+ shortcutConfig?: VxeDateRangePickerPropTypes.ShortcutConfig
108
+
109
+ /**
110
+ * 只对 type=week 有效,选中日期后指定为一周的哪一天
111
+ */
112
+ selectDay?: VxeDateRangePickerPropTypes.SelectDay
113
+
114
+ prefixIcon?: VxeDateRangePickerPropTypes.PrefixIcon
115
+ suffixIcon?: VxeDateRangePickerPropTypes.SuffixIcon
116
+ placement?: VxeDateRangePickerPropTypes.Placement
117
+ transfer?: VxeDateRangePickerPropTypes.Transfer
118
+
119
+ showClearButton?: VxeDateRangePickerPropTypes.ShowClearButton
120
+ showConfirmButton?: VxeDateRangePickerPropTypes.ShowConfirmButton
121
+ }
122
+
123
+ export interface DateRangePickerPrivateComputed {
124
+ }
125
+ export interface VxeDateRangePickerPrivateComputed extends DateRangePickerPrivateComputed { }
126
+
127
+ export interface DateRangePickerReactData {
128
+ initialized: boolean
129
+ panelIndex: number
130
+ visiblePanel: boolean
131
+ isAniVisible: boolean
132
+ panelStyle: VxeComponentStyleType
133
+ panelPlacement: VxeDateRangePickerPropTypes.Placement
134
+ isActivated: boolean
135
+ startValue: any
136
+ endValue: any
137
+ }
138
+
139
+ export interface DateRangePickerInternalData {
140
+ selectStatus?: boolean
141
+ hpTimeout?: number
142
+ }
143
+
144
+ export interface DateRangePickerMethods {
145
+ dispatchEvent(type: ValueOf<VxeDateRangePickerEmits>, params: Record<string, any>, evnt: Event | null): void
146
+ /**
147
+ * 修改绑定值
148
+ */
149
+ setModelValue(startValue: string, endValue: string): void
150
+ /**
151
+ * 修改绑定值并触发相关事件
152
+ */
153
+ setModelValueByEvent(evnt: Event, startValue: string, endValue: string): void
154
+ /**
155
+ * 获取焦点
156
+ */
157
+ focus(): Promise<any>
158
+ /**
159
+ * 失去焦点
160
+ */
161
+ blur(): Promise<any>
162
+ /**
163
+ * 选中内容
164
+ */
165
+ select(): Promise<any>
166
+ /**
167
+ * 弹出面板,用于带下拉面板的功能,
168
+ */
169
+ showPanel(): Promise<any>
170
+ /**
171
+ * 关闭面板,用于带下拉面板的功能,
172
+ */
173
+ hidePanel(): Promise<any>
174
+ updatePlacement(): Promise<any>
175
+ }
176
+ export interface VxeDateRangePickerMethods extends DateRangePickerMethods { }
177
+
178
+ export interface DateRangePickerPrivateMethods { }
179
+ export interface VxeDateRangePickerPrivateMethods extends DateRangePickerPrivateMethods { }
180
+
181
+ export type VxeDateRangePickerEmits = [
182
+ 'update:modelValue',
183
+ 'update:startValue',
184
+ 'update:endValue',
185
+ 'input',
186
+ 'change',
187
+ 'keydown',
188
+ 'keyup',
189
+ 'click',
190
+ 'focus',
191
+ 'blur',
192
+ 'clear',
193
+ 'prefix-click',
194
+ 'suffix-click',
195
+ 'date-prev',
196
+ 'date-today',
197
+ 'date-next',
198
+ 'shortcut-click'
199
+ ]
200
+
201
+ export namespace VxeDateRangePickerDefines {
202
+ export interface DateRangePickerEventParams extends VxeComponentEventParams {
203
+ $dateRangePicker: VxeDateRangePickerConstructor
204
+ }
205
+
206
+ export type DateFestivalInfo = VxeDatePanelDefines.DateFestivalInfo
207
+ export type DateFestivalParams = VxeDatePanelDefines.DateFestivalParams
208
+ export type DateDisabledParams = VxeDatePanelDefines.DateDisabledParams
209
+
210
+ export interface ShortcutOption extends VxeButtonProps {
211
+ code?: string
212
+ clickMethod?: (params: VxeDateRangePickerDefines.ShortcutClickParams) => void
213
+ }
214
+
215
+ export interface DateRangePickerParams {
216
+ value: string
217
+ startValue: string
218
+ endValue: string
219
+ }
220
+ export interface InputEventParams extends DateRangePickerEventParams, DateRangePickerParams { }
221
+
222
+ export interface ChangeParams extends DateRangePickerParams {}
223
+ export interface ChangeEventParams extends DateRangePickerEventParams, ChangeParams { }
224
+
225
+ export interface ShortcutClickParams {
226
+ $dateRangePicker: VxeDateRangePickerConstructor
227
+ option: VxeDateRangePickerDefines.ShortcutOption
228
+ }
229
+ export interface ShortcutClickEventParams extends DateRangePickerEventParams, ShortcutClickParams {}
230
+ }
231
+
232
+ export type VxeDateRangePickerEventProps = {
233
+ onInput?: VxeDateRangePickerEvents.Input
234
+ onChange?: VxeDateRangePickerEvents.Change
235
+ onShortcutClick?: VxeDateRangePickerEvents.ShortcutClick
236
+ }
237
+
238
+ export interface VxeDateRangePickerListeners {
239
+ input?: VxeDateRangePickerEvents.Input
240
+ change?: VxeDateRangePickerEvents.Change
241
+ shortcutClick?: VxeDateRangePickerEvents.ShortcutClick
242
+ }
243
+
244
+ export namespace VxeDateRangePickerEvents {
245
+ export type Input = (params: VxeDateRangePickerDefines.InputEventParams) => void
246
+ export type Change = (params: VxeDateRangePickerDefines.ChangeEventParams) => void
247
+ export type ShortcutClick = (params: VxeDateRangePickerDefines.ShortcutClickEventParams) => void
248
+ }
249
+
250
+ export namespace VxeDateRangePickerSlotTypes {
251
+ export interface DefaultSlotParams {}
252
+ }
253
+
254
+ export interface VxeDateRangePickerSlots {
255
+ default?: (params: VxeDateRangePickerSlotTypes.DefaultSlotParams) => any
256
+ prefix?: (params: VxeDateRangePickerSlotTypes.DefaultSlotParams) => any
257
+ suffix?: (params: VxeDateRangePickerSlotTypes.DefaultSlotParams) => any
258
+ header?: (params: VxeDateRangePickerSlotTypes.DefaultSlotParams) => any
259
+ footer?: (params: VxeDateRangePickerSlotTypes.DefaultSlotParams) => any
260
+ top?: (params: VxeDateRangePickerSlotTypes.DefaultSlotParams) => any
261
+ bottom?: (params: VxeDateRangePickerSlotTypes.DefaultSlotParams) => any
262
+ left?: (params: VxeDateRangePickerSlotTypes.DefaultSlotParams) => any
263
+ right?: (params: VxeDateRangePickerSlotTypes.DefaultSlotParams) => any
264
+ }
265
+
266
+ export const DateRangePicker: typeof VxeDateRangePicker
267
+ export default VxeDateRangePicker
@@ -32,6 +32,13 @@ export namespace VxePrintPropTypes {
32
32
  export type FooterAlign = VxeComponentAlignType
33
33
  export type PageBreaks = VxePrintDefines.PageBreakObj[]
34
34
  export type ShowPageNumber = boolean
35
+ export interface PageStyle {
36
+ margin?: number | string | null
37
+ marginTop?: number | string | null
38
+ marginBottom?: number | string | null
39
+ marginLeft?: number | string | null
40
+ marginRight?: number | string | null
41
+ }
35
42
  export type CustomStyle = string
36
43
  export type ShowAllPageTitle = boolean
37
44
  export type HeaderHtml = string | ((params: VxePrintDefines.PageBreakParams) => string)
@@ -58,6 +65,7 @@ export interface VxePrintProps {
58
65
  customLayout?: VxePrintPropTypes.CustomLayout
59
66
  showPageNumber?: VxePrintPropTypes.ShowPageNumber
60
67
  footerAlign?: VxePrintPropTypes.FooterAlign
68
+ pageStyle?: VxePrintPropTypes.PageStyle
61
69
  customStyle?: VxePrintPropTypes.CustomStyle
62
70
  headerHtml?: VxePrintPropTypes.HeaderHtml
63
71
  footerHtml?: VxePrintPropTypes.FooterHtml
@@ -50,10 +50,18 @@ export interface TableFilterMethods<D = any> {
50
50
  * 用于在自定义面板中使用,手动确认筛选
51
51
  */
52
52
  saveFilterPanel(): Promise<any>
53
+ /**
54
+ * 用于在自定义面板中使用,手动确认筛选并触发 filter-change 事件
55
+ */
56
+ saveFilterPanelByEvent(event: Event): Promise<any>
53
57
  /**
54
58
  * 用于在自定义面板中使用,手动重置筛选
55
59
  */
56
60
  resetFilterPanel(): Promise<any>
61
+ /**
62
+ * 用于在自定义面板中使用,手动重置筛选并触发 filter-change 事件
63
+ */
64
+ resetFilterPanelByEvent(event: Event): Promise<any>
57
65
  /**
58
66
  * 获取当前筛选的所有列信息
59
67
  */
@@ -1,12 +1,22 @@
1
1
  import { VxeGridConstructor } from '../components/grid'
2
2
  import { VxeToolbarPropTypes } from '../components/toolbar'
3
3
  import { VxeTableConstructor } from '../components/table'
4
+ import { VxeDatePickerConstructor, VxeDatePickerDefines } from '../components/date-picker'
5
+ import { VxeDateRangePickerConstructor, VxeDateRangePickerDefines } from '../components/date-range-picker'
4
6
 
5
7
  /* eslint-disable no-use-before-define */
6
8
 
7
9
  declare module '@vxe-ui/core' {
8
10
  export namespace VxeGlobalCommandsHandles {
9
11
  export interface CommandsOptions {
12
+ /**
13
+ * 日期选择器 - 自定义日期快捷按钮指令方法
14
+ */
15
+ datePickerCommandMethod?: (params: DatePickerCommandMethodParams) => void
16
+ /**
17
+ * 日期范围选择器 - 自定义日期快捷按钮指令方法
18
+ */
19
+ dateRangePickerCommandMethod?: (params: DateRangePickerCommandMethodParams) => void
10
20
  /**
11
21
  * 表格 - 自定义工具栏或数据代理的指令方法
12
22
  */
@@ -19,11 +29,27 @@ declare module '@vxe-ui/core' {
19
29
  commandMethod?: (params: TableCommandMethodParams, ...args: any[]) => void
20
30
  }
21
31
 
32
+ export interface DatePickerCommandMethodParams {
33
+ $datePicker: VxeDatePickerConstructor
34
+ option: VxeDatePickerDefines.ShortcutOption
35
+ code: string | undefined
36
+ value: string
37
+ }
38
+
39
+ export interface DateRangePickerCommandMethodParams {
40
+ $dateRangePicker: VxeDateRangePickerConstructor
41
+ option: VxeDateRangePickerDefines.ShortcutOption
42
+ code: string | undefined
43
+ value: string | string[]
44
+ startValue: string
45
+ endValue: string
46
+ }
47
+
22
48
  export interface TableCommandMethodParams {
23
49
  $grid: VxeGridConstructor | null | undefined
24
50
  $table: VxeTableConstructor
25
- button?: VxeToolbarPropTypes.ButtonConfig | null
26
- code?: string
51
+ button: VxeToolbarPropTypes.ButtonConfig | null | undefined
52
+ code: string | undefined
27
53
  }
28
54
  }
29
55
  }
@@ -19,7 +19,9 @@ import { VxeCollapseProps } from '../components/collapse'
19
19
  import { VxeCollapsePaneProps } from '../components/collapse-pane'
20
20
  import { VxeColorPickerProps } from '../components/color-picker'
21
21
  import { VxeCountdownProps } from '../components/countdown'
22
+ import { VxeDatePanelProps } from '../components/date-panel'
22
23
  import { VxeDatePickerProps } from '../components/date-picker'
24
+ import { VxeDateRangePickerProps } from '../components/date-range-picker'
23
25
  import { VxeDrawerProps } from '../components/drawer'
24
26
  import { VxeEmptyProps } from '../components/empty'
25
27
  import { VxeFormProps } from '../components/form'
@@ -110,7 +112,9 @@ declare module '@vxe-ui/core' {
110
112
  collapsePane?: VxeCollapsePaneProps
111
113
  colorPicker?: VxeColorPickerProps
112
114
  countdown?: VxeCountdownProps
115
+ datePanel?: VxeDatePanelProps
113
116
  datePicker?: VxeDatePickerProps
117
+ dateRangePicker?: VxeDateRangePickerProps
114
118
  drawer?: VxeDrawerProps
115
119
  empty?: VxeEmptyProps
116
120
  form?: VxeFormProps
@@ -1,41 +0,0 @@
1
- import XEUtils from 'xe-utils';
2
- export function toStringTimeDate(str) {
3
- if (str) {
4
- const rest = new Date();
5
- let h = 0;
6
- let m = 0;
7
- let s = 0;
8
- if (XEUtils.isDate(str)) {
9
- h = str.getHours();
10
- m = str.getMinutes();
11
- s = str.getSeconds();
12
- }
13
- else {
14
- str = XEUtils.toValueString(str);
15
- const parses = str.match(/^(\d{1,2})(:(\d{1,2}))?(:(\d{1,2}))?/);
16
- if (parses) {
17
- h = XEUtils.toNumber(parses[1]);
18
- m = XEUtils.toNumber(parses[3]);
19
- s = XEUtils.toNumber(parses[5]);
20
- }
21
- }
22
- rest.setHours(h);
23
- rest.setMinutes(m);
24
- rest.setSeconds(s);
25
- return rest;
26
- }
27
- return new Date('');
28
- }
29
- export function getDateQuarter(date) {
30
- const month = date.getMonth();
31
- if (month < 3) {
32
- return 1;
33
- }
34
- else if (month < 6) {
35
- return 2;
36
- }
37
- else if (month < 9) {
38
- return 3;
39
- }
40
- return 4;
41
- }