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.
- package/es/calendar/src/calendar.js +1 -1
- package/es/components.js +6 -0
- package/es/date-panel/index.js +12 -0
- package/es/date-panel/src/date-panel.js +1587 -0
- package/es/date-panel/src/util.js +191 -0
- package/es/date-panel/style.css +443 -0
- package/es/date-panel/style.min.css +1 -0
- package/es/date-picker/index.js +0 -1
- package/es/date-picker/src/date-picker.js +274 -1663
- package/es/date-picker/style.css +68 -810
- package/es/date-picker/style.min.css +1 -1
- package/es/date-range-picker/index.js +12 -0
- package/es/date-range-picker/src/date-range-picker.js +1121 -0
- package/es/date-range-picker/style.css +284 -0
- package/es/date-range-picker/style.min.css +1 -0
- package/es/form/render/index.js +21 -15
- package/es/icon/style.css +1 -1
- package/es/input/src/input.js +1 -1
- package/es/language/ar-EG.js +1 -1
- package/es/language/de-DE.js +1 -1
- package/es/language/en-US.js +1 -1
- package/es/language/es-ES.js +1 -1
- package/es/language/fr-FR.d.ts +2 -0
- package/es/language/fr-FR.js +1 -1
- package/es/language/hu-HU.js +1 -1
- package/es/language/hy-AM.d.ts +2 -0
- package/es/language/hy-AM.js +1 -1
- package/es/language/id-ID.d.ts +2 -0
- package/es/language/id-ID.js +1 -1
- package/es/language/it-IT.d.ts +2 -0
- package/es/language/it-IT.js +1 -1
- package/es/language/ja-JP.js +1 -1
- package/es/language/ko-KR.js +1 -1
- package/es/language/ms-MY.d.ts +2 -0
- package/es/language/ms-MY.js +708 -0
- package/es/language/nb-NO.d.ts +2 -0
- package/es/language/nb-NO.js +1 -1
- package/es/language/pt-BR.js +1 -1
- package/es/language/ru-RU.js +1 -1
- package/es/language/th-TH.d.ts +2 -0
- package/es/language/th-TH.js +1 -1
- package/es/language/ug-CN.d.ts +2 -0
- package/es/language/ug-CN.js +1 -1
- package/es/language/uk-UA.js +1 -1
- package/es/language/uz-UZ.d.ts +2 -0
- package/es/language/uz-UZ.js +708 -0
- package/es/language/vi-VN.d.ts +2 -0
- package/es/language/vi-VN.js +1 -1
- package/es/language/zh-CHT.d.ts +2 -0
- package/es/language/zh-CHT.js +1 -1
- package/es/language/zh-CN.js +1 -1
- package/es/print/src/print.js +4 -0
- package/es/print/src/util.js +46 -3
- package/es/pulldown/style.css +15 -0
- package/es/pulldown/style.min.css +1 -1
- package/es/select/style.css +15 -0
- package/es/select/style.min.css +1 -1
- package/es/style.css +1 -1
- package/es/style.min.css +1 -1
- package/es/table-select/style.css +15 -0
- package/es/table-select/style.min.css +1 -1
- package/es/tree-select/style.css +15 -0
- package/es/tree-select/style.min.css +1 -1
- package/es/ui/index.js +31 -6
- package/es/ui/src/log.js +1 -1
- package/es/vxe-date-panel/index.js +3 -0
- package/es/vxe-date-panel/style.css +443 -0
- package/es/vxe-date-panel/style.min.css +1 -0
- package/es/vxe-date-picker/style.css +68 -810
- package/es/vxe-date-picker/style.min.css +1 -1
- package/es/vxe-date-range-picker/index.js +3 -0
- package/es/vxe-date-range-picker/style.css +284 -0
- package/es/vxe-date-range-picker/style.min.css +1 -0
- package/es/vxe-pulldown/style.css +15 -0
- package/es/vxe-pulldown/style.min.css +1 -1
- package/es/vxe-select/style.css +15 -0
- package/es/vxe-select/style.min.css +1 -1
- package/es/vxe-table-select/style.css +15 -0
- package/es/vxe-table-select/style.min.css +1 -1
- package/es/vxe-tree-select/style.css +15 -0
- package/es/vxe-tree-select/style.min.css +1 -1
- package/lib/calendar/src/calendar.js +1 -1
- package/lib/calendar/src/calendar.min.js +1 -1
- package/lib/components.js +25 -1
- package/lib/components.min.js +1 -1
- package/lib/date-panel/index.js +19 -0
- package/lib/date-panel/index.min.js +1 -0
- package/lib/date-panel/src/date-panel.js +1667 -0
- package/lib/date-panel/src/date-panel.min.js +1 -0
- package/lib/date-panel/src/util.js +219 -0
- package/lib/date-panel/src/util.min.js +1 -0
- package/lib/date-panel/style/index.js +1 -0
- package/lib/date-panel/style/style.css +443 -0
- package/lib/date-panel/style/style.min.css +1 -0
- package/lib/date-picker/index.js +0 -1
- package/lib/date-picker/index.min.js +1 -1
- package/lib/date-picker/src/date-picker.js +288 -1717
- package/lib/date-picker/src/date-picker.min.js +1 -1
- package/lib/date-picker/style/style.css +68 -810
- package/lib/date-picker/style/style.min.css +1 -1
- package/lib/date-range-picker/index.js +19 -0
- package/lib/date-range-picker/index.min.js +1 -0
- package/lib/date-range-picker/src/date-range-picker.js +1194 -0
- package/lib/date-range-picker/src/date-range-picker.min.js +1 -0
- package/lib/date-range-picker/style/index.js +1 -0
- package/lib/date-range-picker/style/style.css +284 -0
- package/lib/date-range-picker/style/style.min.css +1 -0
- package/lib/form/render/index.js +21 -15
- package/lib/form/render/index.min.js +1 -1
- package/lib/icon/style/style.css +1 -1
- package/lib/icon/style/style.min.css +1 -1
- package/lib/index.umd.js +2971 -1254
- package/lib/index.umd.min.js +1 -1
- package/lib/input/src/input.js +1 -1
- package/lib/input/src/input.min.js +1 -1
- package/lib/language/ar-EG.d.ts +2 -0
- package/lib/language/ar-EG.js +1 -1
- package/lib/language/ar-EG.min.js +1 -1
- package/lib/language/ar-EG.umd.js +728 -0
- package/lib/language/de-DE.d.ts +2 -0
- package/lib/language/de-DE.js +1 -1
- package/lib/language/de-DE.min.js +1 -1
- package/lib/language/de-DE.umd.js +728 -0
- package/lib/language/en-US.js +1 -1
- package/lib/language/en-US.min.js +1 -1
- package/lib/language/en-US.umd.js +1 -1
- package/lib/language/es-ES.js +1 -1
- package/lib/language/es-ES.min.js +1 -1
- package/lib/language/es-ES.umd.js +1 -1
- package/lib/language/fr-FR.d.ts +2 -0
- package/lib/language/fr-FR.js +1 -1
- package/lib/language/fr-FR.min.js +1 -1
- package/lib/language/fr-FR.umd.js +728 -0
- package/lib/language/hu-HU.js +1 -1
- package/lib/language/hu-HU.min.js +1 -1
- package/lib/language/hu-HU.umd.js +1 -1
- package/lib/language/hy-AM.d.ts +2 -0
- package/lib/language/hy-AM.js +1 -1
- package/lib/language/hy-AM.min.js +1 -1
- package/lib/language/hy-AM.umd.js +728 -0
- package/lib/language/id-ID.d.ts +2 -0
- package/lib/language/id-ID.js +1 -1
- package/lib/language/id-ID.min.js +1 -1
- package/lib/language/id-ID.umd.js +728 -0
- package/lib/language/it-IT.d.ts +2 -0
- package/lib/language/it-IT.js +1 -1
- package/lib/language/it-IT.min.js +1 -1
- package/lib/language/it-IT.umd.js +728 -0
- package/lib/language/ja-JP.js +1 -1
- package/lib/language/ja-JP.min.js +1 -1
- package/lib/language/ja-JP.umd.js +1 -1
- package/lib/language/ko-KR.js +1 -1
- package/lib/language/ko-KR.min.js +1 -1
- package/lib/language/ko-KR.umd.js +1 -1
- package/lib/language/ms-MY.d.ts +2 -0
- package/lib/language/ms-MY.js +714 -0
- package/lib/language/ms-MY.min.js +1 -0
- package/lib/language/ms-MY.umd.js +728 -0
- package/lib/language/nb-NO.d.ts +2 -0
- package/lib/language/nb-NO.js +1 -1
- package/lib/language/nb-NO.min.js +1 -1
- package/lib/language/nb-NO.umd.js +728 -0
- package/lib/language/pt-BR.js +1 -1
- package/lib/language/pt-BR.min.js +1 -1
- package/lib/language/pt-BR.umd.js +1 -1
- package/lib/language/ru-RU.js +1 -1
- package/lib/language/ru-RU.min.js +1 -1
- package/lib/language/ru-RU.umd.js +1 -1
- package/lib/language/th-TH.d.ts +2 -0
- package/lib/language/th-TH.js +1 -1
- package/lib/language/th-TH.min.js +1 -1
- package/lib/language/th-TH.umd.js +728 -0
- package/lib/language/ug-CN.d.ts +2 -0
- package/lib/language/ug-CN.js +1 -1
- package/lib/language/ug-CN.min.js +1 -1
- package/lib/language/ug-CN.umd.js +728 -0
- package/lib/language/uk-UA.js +1 -1
- package/lib/language/uk-UA.min.js +1 -1
- package/lib/language/uk-UA.umd.js +1 -1
- package/lib/language/uz-UZ.d.ts +2 -0
- package/lib/language/uz-UZ.js +714 -0
- package/lib/language/uz-UZ.min.js +1 -0
- package/lib/language/uz-UZ.umd.js +728 -0
- package/lib/language/vi-VN.d.ts +2 -0
- package/lib/language/vi-VN.js +1 -1
- package/lib/language/vi-VN.min.js +1 -1
- package/lib/language/vi-VN.umd.js +728 -0
- package/lib/language/zh-CHT.d.ts +2 -0
- package/lib/language/zh-CHT.js +1 -1
- package/lib/language/zh-CHT.min.js +1 -1
- package/lib/language/zh-CHT.umd.js +728 -0
- package/lib/language/zh-CN.js +1 -1
- package/lib/language/zh-CN.min.js +1 -1
- package/lib/language/zh-CN.umd.js +1 -1
- package/lib/language/zh-TC.min.js +1 -1
- package/lib/print/src/print.js +4 -0
- package/lib/print/src/print.min.js +1 -1
- package/lib/print/src/util.js +45 -2
- package/lib/print/src/util.min.js +1 -1
- package/lib/pulldown/style/style.css +15 -0
- package/lib/pulldown/style/style.min.css +1 -1
- package/lib/select/style/style.css +15 -0
- package/lib/select/style/style.min.css +1 -1
- package/lib/style.css +1 -1
- package/lib/style.min.css +1 -1
- package/lib/table-select/style/style.css +15 -0
- package/lib/table-select/style/style.min.css +1 -1
- package/lib/tree-select/style/style.css +15 -0
- package/lib/tree-select/style/style.min.css +1 -1
- package/lib/ui/index.js +31 -6
- package/lib/ui/index.min.js +1 -1
- package/lib/ui/src/log.js +1 -1
- package/lib/ui/src/log.min.js +1 -1
- package/lib/vxe-date-panel/index.js +22 -0
- package/lib/vxe-date-panel/index.min.js +1 -0
- package/lib/vxe-date-panel/style/index.js +1 -0
- package/lib/vxe-date-panel/style/style.css +443 -0
- package/lib/vxe-date-panel/style/style.min.css +1 -0
- package/lib/vxe-date-picker/style/style.css +68 -810
- package/lib/vxe-date-picker/style/style.min.css +1 -1
- package/lib/vxe-date-range-picker/index.js +22 -0
- package/lib/vxe-date-range-picker/index.min.js +1 -0
- package/lib/vxe-date-range-picker/style/index.js +1 -0
- package/lib/vxe-date-range-picker/style/style.css +284 -0
- package/lib/vxe-date-range-picker/style/style.min.css +1 -0
- package/lib/vxe-pulldown/style/style.css +15 -0
- package/lib/vxe-pulldown/style/style.min.css +1 -1
- package/lib/vxe-select/style/style.css +15 -0
- package/lib/vxe-select/style/style.min.css +1 -1
- package/lib/vxe-table-select/style/style.css +15 -0
- package/lib/vxe-table-select/style/style.min.css +1 -1
- package/lib/vxe-tree-select/style/style.css +15 -0
- package/lib/vxe-tree-select/style/style.min.css +1 -1
- package/package.json +4 -5
- package/packages/calendar/src/calendar.ts +10 -10
- package/packages/components.ts +6 -0
- package/packages/date-panel/index.ts +16 -0
- package/packages/date-panel/src/date-panel.ts +1654 -0
- package/packages/date-panel/src/util.ts +212 -0
- package/packages/date-picker/index.ts +0 -1
- package/packages/date-picker/src/date-picker.ts +298 -1697
- package/packages/date-range-picker/index.ts +16 -0
- package/packages/date-range-picker/src/date-range-picker.ts +1196 -0
- package/packages/form/render/index.ts +21 -15
- package/packages/input/src/input.ts +15 -15
- package/packages/language/ar-EG.ts +1 -1
- package/packages/language/de-DE.ts +1 -1
- package/packages/language/en-US.ts +1 -1
- package/packages/language/es-ES.ts +1 -1
- package/packages/language/fr-FR.ts +1 -1
- package/packages/language/hu-HU.ts +1 -1
- package/packages/language/hy-AM.ts +1 -1
- package/packages/language/id-ID.ts +1 -1
- package/packages/language/it-IT.ts +1 -1
- package/packages/language/ja-JP.ts +1 -1
- package/packages/language/ko-KR.ts +1 -1
- package/packages/language/ms-MY.ts +708 -0
- package/packages/language/nb-NO.ts +1 -1
- package/packages/language/pt-BR.ts +1 -1
- package/packages/language/ru-RU.ts +1 -1
- package/packages/language/th-TH.ts +1 -1
- package/packages/language/ug-CN.ts +1 -1
- package/packages/language/uk-UA.ts +1 -1
- package/packages/language/uz-UZ.ts +708 -0
- package/packages/language/vi-VN.ts +1 -1
- package/packages/language/zh-CHT.ts +1 -1
- package/packages/language/zh-CN.ts +1 -1
- package/packages/print/src/print.ts +4 -0
- package/packages/print/src/util.ts +47 -4
- package/packages/ui/index.ts +30 -5
- package/styles/all.scss +2 -0
- package/styles/components/date-panel.scss +491 -0
- package/styles/components/date-picker.scss +62 -652
- package/styles/components/date-range-picker.scss +284 -0
- package/styles/components/pulldown.scss +10 -0
- package/styles/components/select.scss +8 -0
- package/styles/components/table-select.scss +8 -0
- package/styles/components/tree-select.scss +8 -0
- package/styles/helpers/baseMixin.scss +13 -0
- package/types/all.d.ts +6 -0
- package/types/components/button-group.d.ts +1 -1
- package/types/components/date-panel.d.ts +240 -0
- package/types/components/date-picker.d.ts +35 -142
- package/types/components/date-range-picker.d.ts +267 -0
- package/types/components/print.d.ts +8 -0
- package/types/components/table-module/filter.d.ts +8 -0
- package/types/ui/commands.d.ts +28 -2
- package/types/ui/global-config.d.ts +4 -0
- package/es/date-picker/src/util.js +0 -41
- package/lib/date-picker/src/util.js +0 -46
- package/lib/date-picker/src/util.min.js +0 -1
- package/lib/language/zh-TC.umd.js +0 -23
- package/packages/date-picker/src/util.ts +0 -42
- /package/es/icon/{iconfont.1746002850171.ttf → iconfont.1746782659171.ttf} +0 -0
- /package/es/icon/{iconfont.1746002850171.woff → iconfont.1746782659171.woff} +0 -0
- /package/es/icon/{iconfont.1746002850171.woff2 → iconfont.1746782659171.woff2} +0 -0
- /package/es/{iconfont.1746002850171.ttf → iconfont.1746782659171.ttf} +0 -0
- /package/es/{iconfont.1746002850171.woff → iconfont.1746782659171.woff} +0 -0
- /package/es/{iconfont.1746002850171.woff2 → iconfont.1746782659171.woff2} +0 -0
- /package/es/language/{zh-TC.d.ts → ar-EG.d.ts} +0 -0
- /package/{lib/language/zh-TC.d.ts → es/language/de-DE.d.ts} +0 -0
- /package/lib/icon/style/{iconfont.1746002850171.ttf → iconfont.1746782659171.ttf} +0 -0
- /package/lib/icon/style/{iconfont.1746002850171.woff → iconfont.1746782659171.woff} +0 -0
- /package/lib/icon/style/{iconfont.1746002850171.woff2 → iconfont.1746782659171.woff2} +0 -0
- /package/lib/{iconfont.1746002850171.ttf → iconfont.1746782659171.ttf} +0 -0
- /package/lib/{iconfont.1746002850171.woff → iconfont.1746782659171.woff} +0 -0
- /package/lib/{iconfont.1746002850171.woff2 → iconfont.1746782659171.woff2} +0 -0
|
@@ -0,0 +1,212 @@
|
|
|
1
|
+
import XEUtils from 'xe-utils'
|
|
2
|
+
|
|
3
|
+
import type { VxeDatePanelPropTypes } from '../../../types'
|
|
4
|
+
|
|
5
|
+
export function toStringTimeDate (str: string | number | Date | null | undefined) {
|
|
6
|
+
if (str) {
|
|
7
|
+
const rest = new Date()
|
|
8
|
+
let h = 0
|
|
9
|
+
let m = 0
|
|
10
|
+
let s = 0
|
|
11
|
+
if (XEUtils.isDate(str)) {
|
|
12
|
+
h = str.getHours()
|
|
13
|
+
m = str.getMinutes()
|
|
14
|
+
s = str.getSeconds()
|
|
15
|
+
} else {
|
|
16
|
+
str = XEUtils.toValueString(str)
|
|
17
|
+
const parses = str.match(/^(\d{1,2})(:(\d{1,2}))?(:(\d{1,2}))?/)
|
|
18
|
+
if (parses) {
|
|
19
|
+
h = XEUtils.toNumber(parses[1])
|
|
20
|
+
m = XEUtils.toNumber(parses[3])
|
|
21
|
+
s = XEUtils.toNumber(parses[5])
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
rest.setHours(h)
|
|
25
|
+
rest.setMinutes(m)
|
|
26
|
+
rest.setSeconds(s)
|
|
27
|
+
return rest
|
|
28
|
+
}
|
|
29
|
+
return new Date('')
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
export function getDateQuarter (date: Date) {
|
|
33
|
+
const month = date.getMonth()
|
|
34
|
+
if (month < 3) {
|
|
35
|
+
return 1
|
|
36
|
+
} else if (month < 6) {
|
|
37
|
+
return 2
|
|
38
|
+
} else if (month < 9) {
|
|
39
|
+
return 3
|
|
40
|
+
}
|
|
41
|
+
return 4
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
export const parseDateValue = (val: string | number | Date | null | undefined, type: VxeDatePanelPropTypes.Type, options: {
|
|
45
|
+
valueFormat: string
|
|
46
|
+
}) => {
|
|
47
|
+
const { valueFormat } = options
|
|
48
|
+
if (val) {
|
|
49
|
+
if (type === 'time') {
|
|
50
|
+
return toStringTimeDate(val)
|
|
51
|
+
}
|
|
52
|
+
if (XEUtils.isNumber(val) || /^[0-9]{11,15}$/.test(`${val}`)) {
|
|
53
|
+
return new Date(Number(val))
|
|
54
|
+
}
|
|
55
|
+
if (XEUtils.isString(val)) {
|
|
56
|
+
return XEUtils.toStringDate(XEUtils.last(val.split(',')), valueFormat)
|
|
57
|
+
}
|
|
58
|
+
return XEUtils.toStringDate(val, valueFormat)
|
|
59
|
+
}
|
|
60
|
+
return null
|
|
61
|
+
}
|
|
62
|
+
|
|
63
|
+
export const parseDateString = (val: string | number | Date | null | undefined, type: VxeDatePanelPropTypes.Type, options: {
|
|
64
|
+
valueFormat: string
|
|
65
|
+
}) => {
|
|
66
|
+
const dValue = parseDateValue(val, type, options)
|
|
67
|
+
return dValue ? XEUtils.toDateString(dValue, options.valueFormat) : ''
|
|
68
|
+
}
|
|
69
|
+
|
|
70
|
+
export function parseDateObj (val: string | number | Date | null | undefined, type: VxeDatePanelPropTypes.Type, options: {
|
|
71
|
+
valueFormat: string
|
|
72
|
+
labelFormat: string
|
|
73
|
+
firstDay: VxeDatePanelPropTypes.StartDay
|
|
74
|
+
}) {
|
|
75
|
+
const { labelFormat, firstDay } = options
|
|
76
|
+
let dValue: Date | null = null
|
|
77
|
+
let dLabel = ''
|
|
78
|
+
if (val) {
|
|
79
|
+
dValue = parseDateValue(val, type, options)
|
|
80
|
+
}
|
|
81
|
+
if (XEUtils.isValidDate(dValue)) {
|
|
82
|
+
dLabel = XEUtils.toDateString(dValue, labelFormat, { firstDay })
|
|
83
|
+
// 周选择器,由于年份和第几周是冲突的行为,所以需要特殊处理,判断是否跨年,例如
|
|
84
|
+
// '2024-12-31' 'yyyy-MM-dd W' >> '2024-12-31 1'
|
|
85
|
+
// '2025-01-01' 'yyyy-MM-dd W' >> '2025-01-01 1'
|
|
86
|
+
if (labelFormat && type === 'week') {
|
|
87
|
+
const weekNum = XEUtils.getYearWeek(dValue, firstDay)
|
|
88
|
+
const weekDate = XEUtils.getWhatWeek(dValue, 0, weekNum === 1 ? ((6 + firstDay) % 7) as VxeDatePanelPropTypes.StartDay : firstDay, firstDay)
|
|
89
|
+
const weekFullYear = weekDate.getFullYear()
|
|
90
|
+
if (weekFullYear !== dValue.getFullYear()) {
|
|
91
|
+
const yyIndex = labelFormat.indexOf('yyyy')
|
|
92
|
+
if (yyIndex > -1) {
|
|
93
|
+
const yyNum = Number(dLabel.substring(yyIndex, yyIndex + 4))
|
|
94
|
+
if (yyNum && !isNaN(yyNum)) {
|
|
95
|
+
dLabel = dLabel.replace(`${yyNum}`, `${weekFullYear}`)
|
|
96
|
+
}
|
|
97
|
+
}
|
|
98
|
+
}
|
|
99
|
+
}
|
|
100
|
+
} else {
|
|
101
|
+
dValue = null
|
|
102
|
+
}
|
|
103
|
+
return { label: dLabel, value: dValue }
|
|
104
|
+
}
|
|
105
|
+
|
|
106
|
+
export function getDateByCode (code: 'now' | 'prev' | 'next' | 'minus' | 'plus', val: string | number | Date | null | undefined, type: VxeDatePanelPropTypes.Type, options: {
|
|
107
|
+
valueFormat: string
|
|
108
|
+
firstDay: VxeDatePanelPropTypes.StartDay
|
|
109
|
+
}) {
|
|
110
|
+
const { valueFormat, firstDay } = options
|
|
111
|
+
let dValue: Date | null = null
|
|
112
|
+
const value = (code === 'prev' || code === 'next' ? new Date() : (val ? parseDateValue(val, type, options) : null)) || new Date()
|
|
113
|
+
switch (code) {
|
|
114
|
+
case 'prev':
|
|
115
|
+
case 'next':
|
|
116
|
+
case 'minus':
|
|
117
|
+
case 'plus': {
|
|
118
|
+
const offsetNum = code === 'plus' || code === 'next' ? 1 : -1
|
|
119
|
+
switch (type) {
|
|
120
|
+
case 'date':
|
|
121
|
+
case 'datetime':
|
|
122
|
+
dValue = XEUtils.getWhatDay(value, offsetNum)
|
|
123
|
+
break
|
|
124
|
+
case 'week':
|
|
125
|
+
dValue = XEUtils.getWhatWeek(value, offsetNum, firstDay, firstDay)
|
|
126
|
+
break
|
|
127
|
+
case 'month':
|
|
128
|
+
dValue = XEUtils.getWhatMonth(value, offsetNum)
|
|
129
|
+
break
|
|
130
|
+
case 'quarter':
|
|
131
|
+
dValue = XEUtils.getWhatQuarter(value, offsetNum)
|
|
132
|
+
break
|
|
133
|
+
case 'year':
|
|
134
|
+
dValue = XEUtils.getWhatYear(value, offsetNum)
|
|
135
|
+
break
|
|
136
|
+
}
|
|
137
|
+
break
|
|
138
|
+
}
|
|
139
|
+
default:
|
|
140
|
+
dValue = new Date()
|
|
141
|
+
break
|
|
142
|
+
}
|
|
143
|
+
return {
|
|
144
|
+
value: dValue ? XEUtils.toDateString(dValue, valueFormat) : ''
|
|
145
|
+
}
|
|
146
|
+
}
|
|
147
|
+
|
|
148
|
+
const rangeDateOffsetNumMaps: Record<string, number> = {
|
|
149
|
+
last180: -180,
|
|
150
|
+
last90: -90,
|
|
151
|
+
last60: -60,
|
|
152
|
+
last30: -30,
|
|
153
|
+
last7: -7,
|
|
154
|
+
last3: -3,
|
|
155
|
+
last1: -1
|
|
156
|
+
}
|
|
157
|
+
|
|
158
|
+
function getRangeDateOffsetNum (code: string) {
|
|
159
|
+
return rangeDateOffsetNumMaps[code] || 0
|
|
160
|
+
}
|
|
161
|
+
|
|
162
|
+
export function getRangeDateByCode (code: 'last1' | 'last3' | 'last7' | 'last30' | 'last60' | 'last90' | 'last180', val: string | number | Date | null | string[] | undefined, type: VxeDatePanelPropTypes.Type, options: {
|
|
163
|
+
valueFormat: string
|
|
164
|
+
firstDay: VxeDatePanelPropTypes.StartDay
|
|
165
|
+
}) {
|
|
166
|
+
const { valueFormat, firstDay } = options
|
|
167
|
+
if (XEUtils.isArray(val)) {
|
|
168
|
+
val = val.join('')
|
|
169
|
+
}
|
|
170
|
+
const value = (val ? parseDateValue(val, type, options) : null) || new Date()
|
|
171
|
+
let sValue: Date | null = null
|
|
172
|
+
const eValue: Date | null = value
|
|
173
|
+
switch (code) {
|
|
174
|
+
case 'last1':
|
|
175
|
+
case 'last3':
|
|
176
|
+
case 'last7':
|
|
177
|
+
case 'last30':
|
|
178
|
+
case 'last60':
|
|
179
|
+
case 'last90':
|
|
180
|
+
case 'last180': {
|
|
181
|
+
const offsetNum = getRangeDateOffsetNum(code)
|
|
182
|
+
switch (type) {
|
|
183
|
+
case 'date':
|
|
184
|
+
case 'datetime':
|
|
185
|
+
sValue = XEUtils.getWhatDay(value, offsetNum)
|
|
186
|
+
break
|
|
187
|
+
case 'week':
|
|
188
|
+
sValue = XEUtils.getWhatWeek(value, offsetNum, firstDay, firstDay)
|
|
189
|
+
break
|
|
190
|
+
case 'month':
|
|
191
|
+
sValue = XEUtils.getWhatMonth(value, offsetNum)
|
|
192
|
+
break
|
|
193
|
+
case 'quarter':
|
|
194
|
+
sValue = XEUtils.getWhatQuarter(value, offsetNum)
|
|
195
|
+
break
|
|
196
|
+
case 'year':
|
|
197
|
+
sValue = XEUtils.getWhatYear(value, offsetNum)
|
|
198
|
+
break
|
|
199
|
+
}
|
|
200
|
+
break
|
|
201
|
+
}
|
|
202
|
+
default:
|
|
203
|
+
sValue = new Date()
|
|
204
|
+
break
|
|
205
|
+
}
|
|
206
|
+
const startValue = sValue ? XEUtils.toDateString(sValue, valueFormat) : ''
|
|
207
|
+
const endValue = eValue ? XEUtils.toDateString(eValue, valueFormat) : ''
|
|
208
|
+
return {
|
|
209
|
+
startValue,
|
|
210
|
+
endValue
|
|
211
|
+
}
|
|
212
|
+
}
|
|
@@ -6,7 +6,6 @@ import { dynamicApp } from '../dynamics'
|
|
|
6
6
|
export const VxeDatePicker = Object.assign({}, VxeDatePickerComponent, {
|
|
7
7
|
install (app: App) {
|
|
8
8
|
app.component(VxeDatePickerComponent.name as string, VxeDatePickerComponent)
|
|
9
|
-
app.component('VxeDateInput', VxeDatePickerComponent)
|
|
10
9
|
}
|
|
11
10
|
})
|
|
12
11
|
|