From f28a91969acd2c48423acc01973d4cf70e4f8d8c Mon Sep 17 00:00:00 2001 From: fuzui <73400@163.com> Date: 星期二, 30 十一月 2021 02:08:08 +0800 Subject: [PATCH] fix: crontab组件中规范数据范围、冗余代码去除以及部分通配符说明 --- ruoyi-ui/src/components/Crontab/day.vue | 47 +++++++++++++++++++---------------------------- 1 files changed, 19 insertions(+), 28 deletions(-) diff --git a/ruoyi-ui/src/components/Crontab/day.vue b/ruoyi-ui/src/components/Crontab/day.vue index bccd1d7..fe3eaf0 100644 --- a/ruoyi-ui/src/components/Crontab/day.vue +++ b/ruoyi-ui/src/components/Crontab/day.vue @@ -2,7 +2,7 @@ <el-form size="small"> <el-form-item> <el-radio v-model='radioValue' :label="1"> - 日,允许的通配符[, - * / L M] + 日,允许的通配符[, - * ? / L W] </el-radio> </el-form-item> @@ -15,23 +15,23 @@ <el-form-item> <el-radio v-model='radioValue' :label="3"> 周期从 - <el-input-number v-model='cycle01' :min="0" :max="31" /> - - <el-input-number v-model='cycle02' :min="0" :max="31" /> 日 + <el-input-number v-model='cycle01' :min="1" :max="30" /> - + <el-input-number v-model='cycle02' :min="cycle01 ? cycle01 + 1 : 2" :max="31" /> 日 </el-radio> </el-form-item> <el-form-item> <el-radio v-model='radioValue' :label="4"> 从 - <el-input-number v-model='average01' :min="0" :max="31" /> 号开始,每 - <el-input-number v-model='average02' :min="0" :max="31" /> 日执行一次 + <el-input-number v-model='average01' :min="1" :max="30" /> 号开始,每 + <el-input-number v-model='average02' :min="1" :max="31 - average01 || 1" /> 日执行一次 </el-radio> </el-form-item> <el-form-item> <el-radio v-model='radioValue' :label="5"> 每月 - <el-input-number v-model='workday' :min="0" :max="31" /> 号最近的那个工作日 + <el-input-number v-model='workday' :min="1" :max="31" /> 号最近的那个工作日 </el-radio> </el-form-item> @@ -84,10 +84,10 @@ this.$emit('update', 'day', '?'); break; case 3: - this.$emit('update', 'day', this.cycle01 + '-' + this.cycle02); + this.$emit('update', 'day', this.cycleTotal); break; case 4: - this.$emit('update', 'day', this.average01 + '/' + this.average02); + this.$emit('update', 'day', this.averageTotal); break; case 5: this.$emit('update', 'day', this.workday + 'W'); @@ -116,7 +116,7 @@ // 最近工作日值变化时 workdayChange() { if (this.radioValue == '5') { - this.$emit('update', 'day', this.workday + 'W'); + this.$emit('update', 'day', this.workdayCheck + 'W'); } }, // checkbox值变化时 @@ -124,19 +124,10 @@ if (this.radioValue == '7') { this.$emit('update', 'day', this.checkboxString); } - }, - // 父组件传递的week发生变化触发 - weekChange() { - //判断week值与day不能同时为“?” - if (this.cron.week == '?' && this.radioValue == '2') { - this.radioValue = '1'; - } else if (this.cron.week !== '?' && this.radioValue != '2') { - this.radioValue = '2'; - } - }, + } }, watch: { - "radioValue": "radioChange", + 'radioValue': 'radioChange', 'cycleTotal': 'cycleChange', 'averageTotal': 'averageChange', 'workdayCheck': 'workdayChange', @@ -145,20 +136,20 @@ computed: { // 计算两个周期值 cycleTotal: function () { - this.cycle01 = this.checkNum(this.cycle01, 1, 31) - this.cycle02 = this.checkNum(this.cycle02, 1, 31) - return this.cycle01 + '-' + this.cycle02; + const cycle01 = this.checkNum(this.cycle01, 1, 30) + const cycle02 = this.checkNum(this.cycle02, cycle01 ? cycle01 + 1 : 2, 31, 31) + return cycle01 + '-' + cycle02; }, // 计算平均用到的值 averageTotal: function () { - this.average01 = this.checkNum(this.average01, 1, 31) - this.average02 = this.checkNum(this.average02, 1, 31) - return this.average01 + '/' + this.average02; + const average01 = this.checkNum(this.average01, 1, 30) + const average02 = this.checkNum(this.average02, 1, 31 - average01 || 0) + return average01 + '/' + average02; }, // 计算工作日格式 workdayCheck: function () { - this.workday = this.checkNum(this.workday, 1, 31) - return this.workday; + const workday = this.checkNum(this.workday, 1, 31) + return workday; }, // 计算勾选的checkbox值合集 checkboxString: function () { -- Gitblit v1.9.2