fix: getRangePickerDefaultProps

This commit is contained in:
xingyu4j
2025-10-17 15:10:23 +08:00
parent 22cf883cc4
commit a65a5d2aab
4 changed files with 53 additions and 50 deletions

View File

@@ -1,45 +1,62 @@
import type { Dayjs } from 'dayjs';
import dayjs from 'dayjs'; import dayjs from 'dayjs';
import { $t } from '#/locales'; import { $t } from '#/locales';
/** 时间段选择器拓展 */ /** 时间段选择器拓展 */
export function getRangePickerDefaultProps() { export function getRangePickerDefaultProps() {
return { return {
// 设置日期格式,为数组时支持多格式匹配,展示以第一个为准。配置参考 dayjs支持自定义格式
format: 'YYYY-MM-DD HH:mm:ss', format: 'YYYY-MM-DD HH:mm:ss',
// 绑定值的格式,对 value、defaultValue、defaultPickerValue 起作用。不指定则绑定值为 dayjs 对象
valueFormat: 'YYYY-MM-DD HH:mm:ss',
// 输入框提示文字
placeholder: [ placeholder: [
$t('utils.rangePicker.beginTime'), $t('utils.rangePicker.beginTime'),
$t('utils.rangePicker.endTime'), $t('utils.rangePicker.endTime'),
], ],
ranges: { // 快捷时间范围
[$t('utils.rangePicker.today')]: () => presets: [
[dayjs().startOf('day'), dayjs().endOf('day')] as [Dayjs, Dayjs], {
[$t('utils.rangePicker.last7Days')]: () => label: $t('utils.rangePicker.today'),
[dayjs().subtract(7, 'day').startOf('day'), dayjs().endOf('day')] as [ value: [dayjs().startOf('day'), dayjs().endOf('day')],
Dayjs, },
Dayjs, {
label: $t('utils.rangePicker.last7Days'),
value: [
dayjs().subtract(7, 'day').startOf('day'),
dayjs().endOf('day'),
], ],
[$t('utils.rangePicker.last30Days')]: () => },
[dayjs().subtract(30, 'day').startOf('day'), dayjs().endOf('day')] as [ {
Dayjs, label: $t('utils.rangePicker.last30Days'),
Dayjs, value: [
dayjs().subtract(30, 'day').startOf('day'),
dayjs().endOf('day'),
], ],
[$t('utils.rangePicker.yesterday')]: () => },
[ {
label: $t('utils.rangePicker.yesterday'),
value: [
dayjs().subtract(1, 'day').startOf('day'), dayjs().subtract(1, 'day').startOf('day'),
dayjs().subtract(1, 'day').endOf('day'), dayjs().subtract(1, 'day').endOf('day'),
] as [Dayjs, Dayjs],
[$t('utils.rangePicker.thisWeek')]: () =>
[dayjs().startOf('week'), dayjs().endOf('day')] as [Dayjs, Dayjs],
[$t('utils.rangePicker.thisMonth')]: () =>
[dayjs().startOf('month'), dayjs().endOf('day')] as [Dayjs, Dayjs],
[$t('utils.rangePicker.lastWeek')]: () =>
[dayjs().subtract(1, 'week').startOf('day'), dayjs().endOf('day')] as [
Dayjs,
Dayjs,
], ],
}, },
{
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'),
],
},
],
showTime: { showTime: {
defaultValue: [ defaultValue: [
dayjs('00:00:00', 'HH:mm:ss'), dayjs('00:00:00', 'HH:mm:ss'),
@@ -47,14 +64,5 @@ export function getRangePickerDefaultProps() {
], ],
format: 'HH:mm:ss', format: 'HH:mm:ss',
}, },
transformDateFunc: (dates: any) => {
// TODO @xingyu貌似这个没用
if (dates && dates.length === 2) {
// 格式化为后台支持的时间格式
return [dates.createTime[0], dates.createTime[1]].join(',');
}
return {};
},
valueFormat: 'YYYY-MM-DD HH:mm:ss',
}; };
} }

View File

@@ -236,7 +236,7 @@ async function initComponentAdapter() {
'select', 'select',
{ {
component: ElTreeSelect, component: ElTreeSelect,
// TODO @xingyu这里要加 props: { label: 'label', children: 'children' }, vben 官方是有的 props: { label: 'label', children: 'children' },
nodeKey: 'value', nodeKey: 'value',
loadingSlot: 'loading', loadingSlot: 'loading',
optionsPropName: 'data', optionsPropName: 'data',
@@ -265,8 +265,8 @@ async function initComponentAdapter() {
}, },
// 自定义默认按钮 // 自定义默认按钮
DefaultButton: (props, { attrs, slots }) => { DefaultButton: (props, { attrs, slots }) => {
// TODO @xingyu, type: 'info' 要加么vben5 是有的; // 调整 type 为 default info 有点丑
return h(ElButton, { ...props, attrs }, slots); return h(ElButton, { ...props, attrs, type: 'default' }, slots);
}, },
// 自定义主要按钮 // 自定义主要按钮
PrimaryButton: (props, { attrs, slots }) => { PrimaryButton: (props, { attrs, slots }) => {

View File

@@ -5,8 +5,15 @@ import { $t } from '#/locales';
/** 时间段选择器拓展 */ /** 时间段选择器拓展 */
export function getRangePickerDefaultProps() { export function getRangePickerDefaultProps() {
return { return {
// 显示在输入框中的格式
format: 'YYYY-MM-DD HH:mm:ss',
// 绑定值的格式。 不指定则绑定值为 Date 对象
valueFormat: 'YYYY-MM-DD HH:mm:ss',
defaultTime: [new Date('1 00:00:00'), new Date('1 23:59:59')],
// 输入框提示文字
startPlaceholder: $t('utils.rangePicker.beginTime'), startPlaceholder: $t('utils.rangePicker.beginTime'),
endPlaceholder: $t('utils.rangePicker.endTime'), endPlaceholder: $t('utils.rangePicker.endTime'),
// 快捷时间范围
shortcuts: [ shortcuts: [
{ {
text: $t('utils.rangePicker.today'), text: $t('utils.rangePicker.today'),
@@ -63,16 +70,5 @@ export function getRangePickerDefaultProps() {
}, },
}, },
], ],
transformDateFunc: (dates: any) => {
// TODO puhui999: 没起作用后面调试再看看
if (dates && dates.length === 2) {
// 格式化为后台支持的时间格式
return [dates.createTime[0], dates.createTime[1]].join(',');
}
return {};
},
format: 'YYYY-MM-DD HH:mm:ss',
valueFormat: 'YYYY-MM-DD HH:mm:ss',
defaultTime: [new Date('1 00:00:00'), new Date('1 23:59:59')],
}; };
} }

View File

@@ -8,7 +8,6 @@ export function getRangePickerDefaultProps() {
startPlaceholder: $t('utils.rangePicker.beginTime'), startPlaceholder: $t('utils.rangePicker.beginTime'),
endPlaceholder: $t('utils.rangePicker.endTime'), endPlaceholder: $t('utils.rangePicker.endTime'),
type: 'datetimerange', type: 'datetimerange',
// TODO
format: 'YYYY-MM-dd HH:mm:ss', format: 'YYYY-MM-dd HH:mm:ss',
valueFormat: 'YYYY-MM-dd HH:mm:ss', valueFormat: 'YYYY-MM-dd HH:mm:ss',
defaultTime: ['00:00:00', '23:59:59'], defaultTime: ['00:00:00', '23:59:59'],