2025-05-06 23:24:14 +08:00
|
|
|
|
import dayjs from 'dayjs';
|
|
|
|
|
|
|
2025-05-06 23:44:30 +08:00
|
|
|
|
import { $t } from '#/locales';
|
|
|
|
|
|
|
2025-10-17 15:10:23 +08:00
|
|
|
|
/** 时间段选择器拓展 */
|
2025-05-06 23:24:14 +08:00
|
|
|
|
export function getRangePickerDefaultProps() {
|
|
|
|
|
|
return {
|
2025-10-17 15:10:23 +08:00
|
|
|
|
// 设置日期格式,为数组时支持多格式匹配,展示以第一个为准。配置参考 dayjs,支持自定义格式
|
2025-05-06 23:24:14 +08:00
|
|
|
|
format: 'YYYY-MM-DD HH:mm:ss',
|
2025-10-17 15:10:23 +08:00
|
|
|
|
// 绑定值的格式,对 value、defaultValue、defaultPickerValue 起作用。不指定则绑定值为 dayjs 对象
|
|
|
|
|
|
valueFormat: 'YYYY-MM-DD HH:mm:ss',
|
|
|
|
|
|
// 输入框提示文字
|
2025-05-06 23:44:30 +08:00
|
|
|
|
placeholder: [
|
|
|
|
|
|
$t('utils.rangePicker.beginTime'),
|
|
|
|
|
|
$t('utils.rangePicker.endTime'),
|
|
|
|
|
|
],
|
2025-10-17 15:10:23 +08:00
|
|
|
|
// 快捷时间范围
|
|
|
|
|
|
presets: [
|
|
|
|
|
|
{
|
|
|
|
|
|
label: $t('utils.rangePicker.today'),
|
|
|
|
|
|
value: [dayjs().startOf('day'), dayjs().endOf('day')],
|
|
|
|
|
|
},
|
|
|
|
|
|
{
|
|
|
|
|
|
label: $t('utils.rangePicker.last7Days'),
|
|
|
|
|
|
value: [
|
|
|
|
|
|
dayjs().subtract(7, 'day').startOf('day'),
|
|
|
|
|
|
dayjs().endOf('day'),
|
2025-05-06 23:38:20 +08:00
|
|
|
|
],
|
2025-10-17 15:10:23 +08:00
|
|
|
|
},
|
|
|
|
|
|
{
|
|
|
|
|
|
label: $t('utils.rangePicker.last30Days'),
|
|
|
|
|
|
value: [
|
|
|
|
|
|
dayjs().subtract(30, 'day').startOf('day'),
|
|
|
|
|
|
dayjs().endOf('day'),
|
2025-05-06 23:38:20 +08:00
|
|
|
|
],
|
2025-10-17 15:10:23 +08:00
|
|
|
|
},
|
|
|
|
|
|
{
|
|
|
|
|
|
label: $t('utils.rangePicker.yesterday'),
|
|
|
|
|
|
value: [
|
2025-05-06 23:38:20 +08:00
|
|
|
|
dayjs().subtract(1, 'day').startOf('day'),
|
|
|
|
|
|
dayjs().subtract(1, 'day').endOf('day'),
|
2025-05-06 23:44:30 +08:00
|
|
|
|
],
|
2025-10-17 15:10:23 +08:00
|
|
|
|
},
|
|
|
|
|
|
{
|
|
|
|
|
|
label: $t('utils.rangePicker.thisWeek'),
|
|
|
|
|
|
value: [dayjs().startOf('week'), dayjs().endOf('day')],
|
|
|
|
|
|
},
|
|
|
|
|
|
{
|
|
|
|
|
|
label: $t('utils.rangePicker.thisMonth'),
|
|
|
|
|
|
value: [dayjs().startOf('month'), dayjs().endOf('day')],
|
|
|
|
|
|
},
|
|
|
|
|
|
{
|
|
|
|
|
|
label: $t('utils.rangePicker.lastWeek'),
|
|
|
|
|
|
value: [
|
|
|
|
|
|
dayjs().subtract(1, 'week').startOf('day'),
|
|
|
|
|
|
dayjs().endOf('day'),
|
|
|
|
|
|
],
|
|
|
|
|
|
},
|
|
|
|
|
|
],
|
2025-05-06 23:24:14 +08:00
|
|
|
|
showTime: {
|
|
|
|
|
|
defaultValue: [
|
|
|
|
|
|
dayjs('00:00:00', 'HH:mm:ss'),
|
|
|
|
|
|
dayjs('23:59:59', 'HH:mm:ss'),
|
|
|
|
|
|
],
|
|
|
|
|
|
format: 'HH:mm:ss',
|
|
|
|
|
|
},
|
|
|
|
|
|
};
|
|
|
|
|
|
}
|