diff --git a/ant-design-vue-jeecg/src/components/jeecg/JEasyCron/EasyCron.vue b/ant-design-vue-jeecg/src/components/jeecg/JEasyCron/EasyCron.vue index 73ef4872..50824377 100644 --- a/ant-design-vue-jeecg/src/components/jeecg/JEasyCron/EasyCron.vue +++ b/ant-design-vue-jeecg/src/components/jeecg/JEasyCron/EasyCron.vue @@ -144,8 +144,12 @@ export default { const v = this.cronValue_c if (this.hideYear || this.hideSecond) return v const vs = v.split(' ') + if (vs.length >= 6) { + // 转成 Quartz 的规则 + vs[5] = this.convertWeekToQuartz(vs[5]) + } return vs.slice(0, vs.length - 1).join(' ') - } + }, }, watch: { cronValue(newVal, oldVal) { @@ -226,6 +230,37 @@ export default { if (values.length > i) this.year = values[i] this.assignInput() }, + // Quartz 的规则: + // 1 = 周日,2 = 周一,3 = 周二,4 = 周三,5 = 周四,6 = 周五,7 = 周六 + convertWeekToQuartz(week) { + let convert = (v) => { + if (v === '0') { + return '1' + } + if (v === '1') { + return '0' + } + return (Number.parseInt(v) - 1).toString() + } + // 匹配示例 1-7 or 1/7 + let patten1 = /^([0-7])([-/])([0-7])$/ + // 匹配示例 1,4,7 + let patten2 = /^([0-7])(,[0-7])+$/ + if (/^[0-7]$/.test(week)) { + return convert(week) + } else if (patten1.test(week)) { + return week.replace(patten1, ($0, before, separator, after) => { + if (separator === '/') { + return convert(before) + separator + after + } else { + return convert(before) + separator + convert(after) + } + }) + } else if (patten2.test(week)) { + return week.split(',').map(v => convert(v)).join(',') + } + return week + }, calTriggerList: simpleDebounce(function () { this.calTriggerListInner() }, 500), diff --git a/ant-design-vue-jeecg/src/components/jeecg/JEasyCron/tabs/week.vue b/ant-design-vue-jeecg/src/components/jeecg/JEasyCron/tabs/week.vue index 1b8b2b2a..1f1b6041 100644 --- a/ant-design-vue-jeecg/src/components/jeecg/JEasyCron/tabs/week.vue +++ b/ant-design-vue-jeecg/src/components/jeecg/JEasyCron/tabs/week.vue @@ -51,14 +51,14 @@ import mixin from './mixin' import { replaceWeekName, WEEK_MAP_EN } from './const.js' const WEEK_MAP = { - '周一': 1, - '周二': 2, - '周三': 3, - '周四': 4, - '周五': 5, - '周六': 6, + '周一': 2, + '周二': 3, + '周三': 4, + '周四': 5, + '周五': 6, + '周六': 7, // 按照国人习惯,将周日放到每周的最后一天 - '周日': 7, + '周日': 1, } export default {