From a65a5d2aab4054f0cf6d188b02e05c9d2c77c9e1 Mon Sep 17 00:00:00 2001 From: xingyu4j Date: Fri, 17 Oct 2025 15:10:23 +0800 Subject: [PATCH] fix: getRangePickerDefaultProps --- apps/web-antd/src/utils/rangePickerProps.ts | 78 +++++++++++--------- apps/web-ele/src/adapter/component/index.ts | 6 +- apps/web-ele/src/utils/rangePickerProps.ts | 18 ++--- apps/web-naive/src/utils/rangePickerProps.ts | 1 - 4 files changed, 53 insertions(+), 50 deletions(-) diff --git a/apps/web-antd/src/utils/rangePickerProps.ts b/apps/web-antd/src/utils/rangePickerProps.ts index 69b753bac..2ba4be294 100644 --- a/apps/web-antd/src/utils/rangePickerProps.ts +++ b/apps/web-antd/src/utils/rangePickerProps.ts @@ -1,45 +1,62 @@ -import type { Dayjs } from 'dayjs'; - import dayjs from 'dayjs'; import { $t } from '#/locales'; -/** 时间段选择器拓展 */ +/** 时间段选择器拓展 */ export function getRangePickerDefaultProps() { return { + // 设置日期格式,为数组时支持多格式匹配,展示以第一个为准。配置参考 dayjs,支持自定义格式 format: 'YYYY-MM-DD HH:mm:ss', + // 绑定值的格式,对 value、defaultValue、defaultPickerValue 起作用。不指定则绑定值为 dayjs 对象 + valueFormat: 'YYYY-MM-DD HH:mm:ss', + // 输入框提示文字 placeholder: [ $t('utils.rangePicker.beginTime'), $t('utils.rangePicker.endTime'), ], - ranges: { - [$t('utils.rangePicker.today')]: () => - [dayjs().startOf('day'), dayjs().endOf('day')] as [Dayjs, Dayjs], - [$t('utils.rangePicker.last7Days')]: () => - [dayjs().subtract(7, 'day').startOf('day'), dayjs().endOf('day')] as [ - Dayjs, - Dayjs, + // 快捷时间范围 + 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'), ], - [$t('utils.rangePicker.last30Days')]: () => - [dayjs().subtract(30, 'day').startOf('day'), dayjs().endOf('day')] as [ - Dayjs, - Dayjs, + }, + { + label: $t('utils.rangePicker.last30Days'), + 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').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: { defaultValue: [ dayjs('00:00:00', 'HH:mm:ss'), @@ -47,14 +64,5 @@ export function getRangePickerDefaultProps() { ], 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', }; } diff --git a/apps/web-ele/src/adapter/component/index.ts b/apps/web-ele/src/adapter/component/index.ts index ac48d9383..1d1dbd106 100644 --- a/apps/web-ele/src/adapter/component/index.ts +++ b/apps/web-ele/src/adapter/component/index.ts @@ -236,7 +236,7 @@ async function initComponentAdapter() { 'select', { component: ElTreeSelect, - // TODO @xingyu:这里要加 props: { label: 'label', children: 'children' }, vben 官方是有的 + props: { label: 'label', children: 'children' }, nodeKey: 'value', loadingSlot: 'loading', optionsPropName: 'data', @@ -265,8 +265,8 @@ async function initComponentAdapter() { }, // 自定义默认按钮 DefaultButton: (props, { attrs, slots }) => { - // TODO @xingyu:, type: 'info' 要加么?vben5 是有的; - return h(ElButton, { ...props, attrs }, slots); + // 调整 type 为 default ,info 有点丑 + return h(ElButton, { ...props, attrs, type: 'default' }, slots); }, // 自定义主要按钮 PrimaryButton: (props, { attrs, slots }) => { diff --git a/apps/web-ele/src/utils/rangePickerProps.ts b/apps/web-ele/src/utils/rangePickerProps.ts index 7070e5b7d..0d0b308e8 100644 --- a/apps/web-ele/src/utils/rangePickerProps.ts +++ b/apps/web-ele/src/utils/rangePickerProps.ts @@ -5,8 +5,15 @@ import { $t } from '#/locales'; /** 时间段选择器拓展 */ export function getRangePickerDefaultProps() { 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'), endPlaceholder: $t('utils.rangePicker.endTime'), + // 快捷时间范围 shortcuts: [ { 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')], }; } diff --git a/apps/web-naive/src/utils/rangePickerProps.ts b/apps/web-naive/src/utils/rangePickerProps.ts index d7ecc1dd4..a3ffaf324 100644 --- a/apps/web-naive/src/utils/rangePickerProps.ts +++ b/apps/web-naive/src/utils/rangePickerProps.ts @@ -8,7 +8,6 @@ export function getRangePickerDefaultProps() { startPlaceholder: $t('utils.rangePicker.beginTime'), endPlaceholder: $t('utils.rangePicker.endTime'), type: 'datetimerange', - // TODO format: 'YYYY-MM-dd HH:mm:ss', valueFormat: 'YYYY-MM-dd HH:mm:ss', defaultTime: ['00:00:00', '23:59:59'],