feat: 时间段选择器拓展

This commit is contained in:
puhui999
2025-04-04 15:58:04 +08:00
parent e140270b26
commit 196218ae33
6 changed files with 87 additions and 10 deletions

View File

@@ -0,0 +1,46 @@
import dayjs from 'dayjs';
/** 时间段选择器拓展 */
export const rangePickerExtend = () => {
return {
showTime: {
format: 'HH:mm:ss',
defaultValue: [
dayjs('00:00:00', 'HH:mm:ss'),
dayjs('23:59:59', 'HH:mm:ss'),
],
},
// 如果需要10位时间戳秒级可以使用 valueFormat: 'X'
valueFormat: 'YYYY-MM-DD HH:mm:ss',
format: 'YYYY-MM-DD HH:mm:ss', // 显示格式
placeholder: ['开始时间', '结束时间'],
ranges: {
: [dayjs().startOf('day'), dayjs().endOf('day')],
: [
dayjs().subtract(1, 'day').startOf('day'),
dayjs().subtract(1, 'day').endOf('day'),
],
: [dayjs().startOf('week'), dayjs().endOf('day')],
: [dayjs().startOf('month'), dayjs().endOf('day')],
7: [
dayjs().subtract(7, 'day').startOf('day'),
dayjs().endOf('day'),
],
30: [
dayjs().subtract(30, 'day').startOf('day'),
dayjs().endOf('day'),
],
},
transformDateFunc: (dates: any) => {
if (dates && dates.length === 2) {
return [dates.createTime[0], dates.createTime[1]].join(','); // 格式化为后台支持的时间格式
}
return {};
},
};
};

View File

@@ -5,6 +5,7 @@ import type { SystemNotifyTemplateApi } from '#/api/system/notify/template';
import { z } from '#/adapter/form';
import { CommonStatusEnum } from '#/utils/constants';
import { DICT_TYPE, getDictOptions } from '#/utils/dict';
import { rangePickerExtend } from '#/utils/TimeUtils';
/** 新增/修改的表单 */
export function useFormSchema(): VbenFormSchema[] {
@@ -139,6 +140,7 @@ export function useGridFormSchema(): VbenFormSchema[] {
component: 'RangePicker',
componentProps: {
allowClear: true,
...rangePickerExtend(),
},
},
];

View File

@@ -3,8 +3,9 @@ import type { OnActionClickFn, VxeTableGridOptions } from '#/adapter/vxe-table';
import type { SystemRoleApi } from '#/api/system/role';
import { z } from '#/adapter/form';
import { DICT_TYPE, getDictOptions } from '#/utils/dict';
import { CommonStatusEnum, SystemDataScopeEnum } from '#/utils/constants';
import { DICT_TYPE, getDictOptions } from '#/utils/dict';
import { rangePickerExtend } from '#/utils/TimeUtils';
/** 新增/修改的表单 */
export function useFormSchema(): VbenFormSchema[] {
@@ -173,6 +174,10 @@ export function useGridFormSchema(): VbenFormSchema[] {
fieldName: 'createTime',
label: '创建时间',
component: 'RangePicker',
componentProps: {
allowClear: true,
...rangePickerExtend(),
},
},
];
}
@@ -254,9 +259,9 @@ export function useGridColumns<T = SystemRoleApi.SystemRole>(
{
code: 'assign-menu',
text: '菜单权限',
}
},
],
},
},
];
}
}

View File

@@ -5,6 +5,7 @@ import type { SystemSmsChannelApi } from '#/api/system/sms/channel';
import { z } from '#/adapter/form';
import { CommonStatusEnum } from '#/utils/constants';
import { DICT_TYPE, getDictOptions } from '#/utils/dict';
import { rangePickerExtend } from '#/utils/TimeUtils';
/** 新增/修改的表单 */
export function useFormSchema(): VbenFormSchema[] {
@@ -54,7 +55,7 @@ export function useFormSchema(): VbenFormSchema[] {
component: 'Textarea',
componentProps: {
placeholder: '请输入备注',
}
},
},
{
fieldName: 'apiKey',
@@ -71,7 +72,7 @@ export function useFormSchema(): VbenFormSchema[] {
component: 'Input',
componentProps: {
placeholder: '请输入短信 API 的密钥',
}
},
},
{
fieldName: 'callbackUrl',
@@ -79,7 +80,7 @@ export function useFormSchema(): VbenFormSchema[] {
component: 'Input',
componentProps: {
placeholder: '请输入短信发送回调 URL',
}
},
},
];
}
@@ -94,7 +95,7 @@ export function useGridFormSchema(): VbenFormSchema[] {
componentProps: {
allowClear: true,
placeholder: '请输入短信签名',
}
},
},
{
fieldName: 'code',
@@ -116,12 +117,12 @@ export function useGridFormSchema(): VbenFormSchema[] {
},
},
{
// TODO @芋艿:怎么解决范围检索
fieldName: 'createTime',
label: '创建时间',
component: 'RangePicker',
componentProps: {
allowClear: true,
...rangePickerExtend(),
},
},
];

View File

@@ -4,6 +4,7 @@ import type { SystemSmsLogApi } from '#/api/system/sms/log';
import { getSimpleSmsChannelList } from '#/api/system/sms/channel';
import { DICT_TYPE, getDictOptions } from '#/utils/dict';
import { rangePickerExtend } from '#/utils/TimeUtils';
/** 列表的搜索表单 */
export function useGridFormSchema(): VbenFormSchema[] {
@@ -49,12 +50,12 @@ export function useGridFormSchema(): VbenFormSchema[] {
},
},
{
// TODO @芋艿:怎么解决范围检索
fieldName: 'sendTime',
label: '发送时间',
component: 'RangePicker',
componentProps: {
allowClear: true,
...rangePickerExtend(),
},
},
{
@@ -68,12 +69,12 @@ export function useGridFormSchema(): VbenFormSchema[] {
},
},
{
// TODO @芋艿:怎么解决范围检索
fieldName: 'receiveTime',
label: '接收时间',
component: 'RangePicker',
componentProps: {
allowClear: true,
...rangePickerExtend(),
},
},
];