From 83555f9830e17d55a6c7da14e3a6538af837efd4 Mon Sep 17 00:00:00 2001 From: junjie Date: Wed, 26 May 2021 18:46:19 +0800 Subject: [PATCH] feat(cron):cron fix --- .../io/dataease/service/ScheduleService.java | 3 + frontend/package.json | 1 - frontend/src/components/cron/cron.vue | 169 ++++++++++++++++++ frontend/src/components/cron/cron/day.vue | 160 +++++++++++++++++ frontend/src/components/cron/cron/hour.vue | 142 +++++++++++++++ frontend/src/components/cron/cron/month.vue | 143 +++++++++++++++ .../components/cron/cron/secondAndMinute.vue | 146 +++++++++++++++ frontend/src/components/cron/cron/week.vue | 157 ++++++++++++++++ frontend/src/components/cron/cron/year.vue | 130 ++++++++++++++ frontend/src/lang/en.js | 39 +++- frontend/src/lang/tw.js | 38 +++- frontend/src/lang/zh.js | 37 ++++ frontend/src/views/chart/view/ChartEdit.vue | 2 +- .../src/views/dataset/data/UpdateInfo.vue | 11 +- 14 files changed, 1171 insertions(+), 7 deletions(-) create mode 100644 frontend/src/components/cron/cron.vue create mode 100644 frontend/src/components/cron/cron/day.vue create mode 100644 frontend/src/components/cron/cron/hour.vue create mode 100644 frontend/src/components/cron/cron/month.vue create mode 100644 frontend/src/components/cron/cron/secondAndMinute.vue create mode 100644 frontend/src/components/cron/cron/week.vue create mode 100644 frontend/src/components/cron/cron/year.vue diff --git a/backend/src/main/java/io/dataease/service/ScheduleService.java b/backend/src/main/java/io/dataease/service/ScheduleService.java index 8aa4e85735..8181953a43 100644 --- a/backend/src/main/java/io/dataease/service/ScheduleService.java +++ b/backend/src/main/java/io/dataease/service/ScheduleService.java @@ -34,6 +34,9 @@ public class ScheduleService { endTime = null; } else { endTime = new Date(datasetTableTask.getEndTime()); + if (endTime.before(new Date())) { + return; + } } scheduleManager.addOrUpdateCronJob(new JobKey(datasetTableTask.getId(), datasetTableTask.getTableId()), diff --git a/frontend/package.json b/frontend/package.json index 16fc2d7b53..284ab8cb6b 100644 --- a/frontend/package.json +++ b/frontend/package.json @@ -38,7 +38,6 @@ "vue-axios": "3.2.4", "vue-clipboard2": "0.3.1", "vue-codemirror": "^4.0.6", - "vue-cron": "^1.0.9", "vue-i18n": "7.3.2", "vue-router": "3.0.6", "vue-uuid": "2.0.2", diff --git a/frontend/src/components/cron/cron.vue b/frontend/src/components/cron/cron.vue new file mode 100644 index 0000000000..b90f5aa0f9 --- /dev/null +++ b/frontend/src/components/cron/cron.vue @@ -0,0 +1,169 @@ + + + + + diff --git a/frontend/src/components/cron/cron/day.vue b/frontend/src/components/cron/cron/day.vue new file mode 100644 index 0000000000..150d7ff41d --- /dev/null +++ b/frontend/src/components/cron/cron/day.vue @@ -0,0 +1,160 @@ + + + + + diff --git a/frontend/src/components/cron/cron/hour.vue b/frontend/src/components/cron/cron/hour.vue new file mode 100644 index 0000000000..30f9abd571 --- /dev/null +++ b/frontend/src/components/cron/cron/hour.vue @@ -0,0 +1,142 @@ + + + + + diff --git a/frontend/src/components/cron/cron/month.vue b/frontend/src/components/cron/cron/month.vue new file mode 100644 index 0000000000..20a0321f80 --- /dev/null +++ b/frontend/src/components/cron/cron/month.vue @@ -0,0 +1,143 @@ + + + + + diff --git a/frontend/src/components/cron/cron/secondAndMinute.vue b/frontend/src/components/cron/cron/secondAndMinute.vue new file mode 100644 index 0000000000..b6e1962254 --- /dev/null +++ b/frontend/src/components/cron/cron/secondAndMinute.vue @@ -0,0 +1,146 @@ + + + + + + diff --git a/frontend/src/components/cron/cron/week.vue b/frontend/src/components/cron/cron/week.vue new file mode 100644 index 0000000000..12d81cfee8 --- /dev/null +++ b/frontend/src/components/cron/cron/week.vue @@ -0,0 +1,157 @@ + + + + + diff --git a/frontend/src/components/cron/cron/year.vue b/frontend/src/components/cron/cron/year.vue new file mode 100644 index 0000000000..fdf45d068c --- /dev/null +++ b/frontend/src/components/cron/cron/year.vue @@ -0,0 +1,130 @@ + + + + + diff --git a/frontend/src/lang/en.js b/frontend/src/lang/en.js index 9a24291c9a..5ce5dfb5ba 100644 --- a/frontend/src/lang/en.js +++ b/frontend/src/lang/en.js @@ -967,7 +967,44 @@ export default { template: { exit_same_template_check: 'The Same Name Exists In Now Class. Do You Want To Override It?', override: 'Override', - cancel: '取消', + cancel: 'Cancel', confirm_upload: 'Upload Confirm' + }, + cron: { + second: 'Second', + minute: 'Minute', + hour: 'Hour', + day: 'Day', + month: 'Month', + week: 'Week', + year: 'Year', + d_w_cant_not_set: 'Day and Week can not same as "Not set"', + d_w_must_one_set: 'Day and Week at least on as "Not set"', + every_day: 'Every day', + cycle: 'Cycle', + not_set: 'Not set', + from: 'From', + to: 'To', + repeat: 'Repeat', + day_begin: 'begin,every', + day_exec: 'execute once', + work_day: 'weekday', + this_month: 'This month', + day_near_work_day: 'nearly weekday', + this_week_last_day: 'this month last day', + set: 'Set', + every_hour: 'Every hour', + hour_begin: 'begin,every', + hour_exec: 'execute once', + every_month: 'Every month', + month_begin: 'begin,every', + month_exec: 'execute once', + every: 'Every', + every_begin: 'begin,every', + every_exec: 'execute once', + every_week: 'Every week', + week_start: 'From week', + week_end: 'to week', + every_year: 'Every year' } } diff --git a/frontend/src/lang/tw.js b/frontend/src/lang/tw.js index cf377d1ae5..8ce56d835c 100644 --- a/frontend/src/lang/tw.js +++ b/frontend/src/lang/tw.js @@ -968,6 +968,42 @@ export default { override: '覆盖', cancel: '取消', confirm_upload: '上传确认' + }, + cron: { + second: '秒', + minute: '分', + hour: '時', + day: '日', + month: '月', + week: '周', + year: '年', + d_w_cant_not_set: '日期與星期不可以同時為“不指定”', + d_w_must_one_set: '日期與星期必須有一個為“不指定”', + every_day: '每日', + cycle: '周期', + not_set: '不指定', + from: '從', + to: '至', + repeat: '循環', + day_begin: '日開始,每', + day_exec: '日執行一次', + work_day: '工作日', + this_month: '本月', + day_near_work_day: '號,最近的工作日', + this_week_last_day: '本月最後一天', + set: '指定', + every_hour: '每時', + hour_begin: '時開始,每', + hour_exec: '時執行一次', + every_month: '每月', + month_begin: '月開始,每', + month_exec: '月執行一次', + every: '每', + every_begin: '開始,每', + every_exec: '執行一次', + every_week: '每周', + week_start: '從星期', + week_end: '至星期', + every_year: '每年' } - } diff --git a/frontend/src/lang/zh.js b/frontend/src/lang/zh.js index 256d5ee025..d1355b9e8c 100644 --- a/frontend/src/lang/zh.js +++ b/frontend/src/lang/zh.js @@ -971,5 +971,42 @@ export default { override: '覆盖', cancel: '取消', confirm_upload: '上传确认' + }, + cron: { + second: '秒', + minute: '分', + hour: '时', + day: '日', + month: '月', + week: '周', + year: '年', + d_w_cant_not_set: '日期与星期不可以同时为“不指定”', + d_w_must_one_set: '日期与星期必须有一个为“不指定”', + every_day: '每日', + cycle: '周期', + not_set: '不指定', + from: '从', + to: '至', + repeat: '循环', + day_begin: '日开始,每', + day_exec: '日执行一次', + work_day: '工作日', + this_month: '本月', + day_near_work_day: '号,最近的工作日', + this_week_last_day: '本月最后一天', + set: '指定', + every_hour: '每时', + hour_begin: '时开始,每', + hour_exec: '时执行一次', + every_month: '每月', + month_begin: '月开始,每', + month_exec: '月执行一次', + every: '每', + every_begin: '开始,每', + every_exec: '执行一次', + every_week: '每周', + week_start: '从星期', + week_end: '至星期', + every_year: '每年' } } diff --git a/frontend/src/views/chart/view/ChartEdit.vue b/frontend/src/views/chart/view/ChartEdit.vue index 45512556c6..7b9298db5f 100644 --- a/frontend/src/views/chart/view/ChartEdit.vue +++ b/frontend/src/views/chart/view/ChartEdit.vue @@ -979,7 +979,7 @@ export default { } .attr-style{ - height: calc(100vh - 56px - 25vh - 40px - 62px - 60px); + height: calc(100vh - 56px - 25vh - 40px - 62px - 60px - 20px); } .attr-selector{ diff --git a/frontend/src/views/dataset/data/UpdateInfo.vue b/frontend/src/views/dataset/data/UpdateInfo.vue index af0b653c86..889b95431f 100644 --- a/frontend/src/views/dataset/data/UpdateInfo.vue +++ b/frontend/src/views/dataset/data/UpdateInfo.vue @@ -64,6 +64,7 @@ - + - + @@ -289,7 +292,7 @@ import 'codemirror/addon/hint/show-hint.css' import 'codemirror/addon/hint/sql-hint' import 'codemirror/addon/hint/show-hint' // vue-cron -import { cron } from 'vue-cron' +import cron from '@/components/cron/cron' export default { name: 'UpdateInfo', @@ -524,6 +527,8 @@ export default { this.taskForm.end = '0' this.taskForm.endTime = '' this.taskForm.cron = '' + } else { + this.taskForm.cron = '0 0 * ? * * *' } }, listTaskLog() {