Browse Source

Merge pull request #501 from lgcareer/dev-1.1.0

add preview escheduler function
pull/2/head
lgcareer 5 years ago committed by GitHub
parent
commit
3786e74539
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
  1. 38
      escheduler-ui/src/js/conf/home/pages/projects/pages/definition/pages/list/_source/timing.vue
  2. 13
      escheduler-ui/src/js/conf/home/store/dag/actions.js

38
escheduler-ui/src/js/conf/home/pages/projects/pages/definition/pages/list/_source/timing.vue

@ -21,9 +21,11 @@
</div>
</div>
<div class="clearfix list">
<x-button type="info" style="margin-left:20px" shape="circle" :loading="spinnerLoading" @click="preview()" v-ps="['GENERAL_USER']">执行时间</x-button>
<div class="text">
{{$t('Timing')}}
</div>
<div class="cont">
<template>
<x-poptip :ref="'poptip'" placement="bottom-start">
@ -43,6 +45,13 @@
</template>
</div>
</div>
<div class="clearfix list">
<div style = "padding-left: 150px;">未来五次执行时间</div>
<ul style = "padding-left: 150px;">
<li v-for="time in previewTimes">{{time}}</li>
</ul>
</div>
<div class="clearfix list">
<div class="text">
{{$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: {

13
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
*/

Loading…
Cancel
Save