diff --git a/escheduler-ui/src/js/conf/home/pages/projects/pages/definition/pages/list/_source/timing.vue b/escheduler-ui/src/js/conf/home/pages/projects/pages/definition/pages/list/_source/timing.vue
index ba67536ea2..b8785c487b 100644
--- a/escheduler-ui/src/js/conf/home/pages/projects/pages/definition/pages/list/_source/timing.vue
+++ b/escheduler-ui/src/js/conf/home/pages/projects/pages/definition/pages/list/_source/timing.vue
@@ -21,9 +21,11 @@
{{$t('Failure Strategy')}}
@@ -162,7 +171,8 @@
receiversCc: [],
i18n: i18n.globalScope.LOCALE,
processInstancePriority: 'MEDIUM',
- workerGroupId: -1
+ workerGroupId: -1,
+ previewTimes: []
}
},
props: {
@@ -225,6 +235,29 @@
}
},
+ _preview () {
+ if (this._verification()) {
+ let api = 'dag/previewSchedule'
+ let searchParams = {
+ schedule: JSON.stringify({
+ startTime: this.scheduleTime[0],
+ endTime: this.scheduleTime[1],
+ crontab: this.crontab
+ })
+ }
+ let msg = ''
+
+ this.store.dispatch(api, searchParams).then(res => {
+ this.previewTimes = res
+ if (this.previewTimes.length) {
+ resolve()
+ } else {
+ reject(new Error(0))
+ }
+ })
+ }
+ },
+
_getNotifyGroupList () {
return new Promise((resolve, reject) => {
let notifyGroupListS = _.cloneDeep(this.store.state.dag.notifyGroupListS) || []
@@ -248,6 +281,9 @@
},
close () {
this.$emit('close')
+ },
+ preview () {
+ this._preview()
}
},
watch: {
diff --git a/escheduler-ui/src/js/conf/home/store/dag/actions.js b/escheduler-ui/src/js/conf/home/store/dag/actions.js
index e756cfdff4..4426cfb719 100644
--- a/escheduler-ui/src/js/conf/home/store/dag/actions.js
+++ b/escheduler-ui/src/js/conf/home/store/dag/actions.js
@@ -383,6 +383,19 @@ export default {
})
})
},
+ /**
+ * Preview timing
+ */
+ previewSchedule ({ state }, payload) {
+ return new Promise((resolve, reject) => {
+ io.post(`projects/${state.projectName}/schedule/preview`, payload, res => {
+ resolve(res.data)
+ //alert(res.data)
+ }).catch(e => {
+ reject(e)
+ })
+ })
+ },
/**
* Timing list paging
*/