Skip to content

Commit 1be5d97

Browse files
committed
feat(schedule): 为定时任务添加内置 Cron 表达式(优化了用户输入体验,提供了常用的定时任务执行周期模板)
1 parent 2af9195 commit 1be5d97

File tree

1 file changed

+40
-2
lines changed

1 file changed

+40
-2
lines changed

src/views/schedule/job/JobAddModal.vue

Lines changed: 40 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -69,9 +69,11 @@
6969
:rules="[{ required: true, message: '请输入Cron表达式' }]"
7070
>
7171
<div style="display: flex;">
72-
<a-input
72+
<a-auto-complete
7373
v-model="form.triggerInterval"
74+
:data="cron_list"
7475
placeholder="请输入Cron表达式"
76+
allow-clear
7577
>
7678
<template #append>
7779
<a-tooltip content="Cron表达式生成">
@@ -82,7 +84,7 @@
8284
</a-button>
8385
</a-tooltip>
8486
</template>
85-
</a-input>
87+
</a-auto-complete>
8688
</div>
8789
</a-form-item>
8890
</a-col>
@@ -192,6 +194,42 @@ const { width } = useWindowSize()
192194
193195
const colProps: ColProps = { xs: 24, sm: 24, md: 12, lg: 12, xl: 12, xxl: 12 }
194196
197+
// 内置 Cron 表达式
198+
const cron_list = [
199+
{
200+
label: '每分钟',
201+
value: '0 * * * * ?',
202+
},
203+
{
204+
label: '每30分钟',
205+
value: '0 0/30 * * * ?',
206+
},
207+
{
208+
label: '每小时',
209+
value: '0 0 * * * ?',
210+
},
211+
{
212+
label: '每天零点',
213+
value: '0 0 0 * * ?',
214+
},
215+
{
216+
label: '每月1日零点',
217+
value: '0 0 0 1 * ?',
218+
},
219+
{
220+
label: '每月最后一天零点',
221+
value: '0 0 0 L * ?',
222+
},
223+
{
224+
label: '每月最后一个工作日零点',
225+
value: '0 0 0 LW * ?',
226+
},
227+
{
228+
label: '每周日零点',
229+
value: '0 0 0 ? * 1',
230+
},
231+
]
232+
195233
const dataId = ref()
196234
const visible = ref(false)
197235
const isUpdate = computed(() => !!dataId.value)

0 commit comments

Comments
 (0)