fix: crontab组件互斥bug

This commit is contained in:
fuzui 2021-11-30 00:17:12 +08:00
parent 89e7cb19b9
commit 34f2552cad
8 changed files with 22 additions and 83 deletions

View File

@ -72,23 +72,14 @@ export default {
// //
radioChange() { radioChange() {
('day rachange'); ('day rachange');
if (this.radioValue === 1) { if (this.radioValue !== 2 && this.cron.week !== '?') {
this.$emit('update', 'day', '*', 'day'); this.$emit('update', 'week', '?', 'day')
this.$emit('update', 'week', '?', 'day');
this.$emit('update', 'month', '*', 'day');
} else {
if (this.cron.hour === '*') {
this.$emit('update', 'hour', '0', 'day');
}
if (this.cron.min === '*') {
this.$emit('update', 'min', '0', 'day');
}
if (this.cron.second === '*') {
this.$emit('update', 'second', '0', 'day');
}
} }
switch (this.radioValue) { switch (this.radioValue) {
case 1:
this.$emit('update', 'day', '*');
break;
case 2: case 2:
this.$emit('update', 'day', '?'); this.$emit('update', 'day', '?');
break; break;

View File

@ -51,18 +51,10 @@ export default {
methods: { methods: {
// //
radioChange() { radioChange() {
if (this.radioValue === 1) {
this.$emit('update', 'hour', '*', 'hour');
this.$emit('update', 'day', '*', 'hour');
} else {
if (this.cron.min === '*') {
this.$emit('update', 'min', '0', 'hour');
}
if (this.cron.second === '*') {
this.$emit('update', 'second', '0', 'hour');
}
}
switch (this.radioValue) { switch (this.radioValue) {
case 1:
this.$emit('update', 'hour', '*')
break;
case 2: case 2:
this.$emit('update', 'hour', this.cycle01 + '-' + this.cycle02); this.$emit('update', 'hour', this.cycle01 + '-' + this.cycle02);
break; break;

View File

@ -2,7 +2,12 @@
<div> <div>
<el-tabs type="border-card"> <el-tabs type="border-card">
<el-tab-pane label="秒" v-if="shouldHide('second')"> <el-tab-pane label="秒" v-if="shouldHide('second')">
<CrontabSecond @update="updateCrontabValue" :check="checkNumber" ref="cronsecond" /> <CrontabSecond
@update="updateCrontabValue"
:check="checkNumber"
:cron="crontabValueObj"
ref="cronsecond"
/>
</el-tab-pane> </el-tab-pane>
<el-tab-pane label="分钟" v-if="shouldHide('min')"> <el-tab-pane label="分钟" v-if="shouldHide('min')">

View File

@ -52,13 +52,9 @@ export default {
methods: { methods: {
// //
radioChange() { radioChange() {
if (this.radioValue !== 1 && this.cron.second === '*') {
this.$emit('update', 'second', '0', 'min');
}
switch (this.radioValue) { switch (this.radioValue) {
case 1: case 1:
this.$emit('update', 'min', '*', 'min'); this.$emit('update', 'min', '*', 'min');
this.$emit('update', 'hour', '*', 'min');
break; break;
case 2: case 2:
this.$emit('update', 'min', this.cycle01 + '-' + this.cycle02, 'min'); this.$emit('update', 'min', this.cycle01 + '-' + this.cycle02, 'min');

View File

@ -51,24 +51,10 @@ export default {
methods: { methods: {
// //
radioChange() { radioChange() {
if (this.radioValue === 1) {
this.$emit('update', 'month', '*');
this.$emit('update', 'year', '*');
} else {
if (this.cron.day === '*') {
this.$emit('update', 'day', '0', 'month');
}
if (this.cron.hour === '*') {
this.$emit('update', 'hour', '0', 'month');
}
if (this.cron.min === '*') {
this.$emit('update', 'min', '0', 'month');
}
if (this.cron.second === '*') {
this.$emit('update', 'second', '0', 'month');
}
}
switch (this.radioValue) { switch (this.radioValue) {
case 1:
this.$emit('update', 'month', '*');
break;
case 2: case 2:
this.$emit('update', 'month', this.cycle01 + '-' + this.cycle02); this.$emit('update', 'month', this.cycle01 + '-' + this.cycle02);
break; break;

View File

@ -54,7 +54,6 @@ export default {
switch (this.radioValue) { switch (this.radioValue) {
case 1: case 1:
this.$emit('update', 'second', '*', 'second'); this.$emit('update', 'second', '*', 'second');
this.$emit('update', 'min', '*', 'second');
break; break;
case 2: case 2:
this.$emit('update', 'second', this.cycle01 + '-' + this.cycle02); this.$emit('update', 'second', this.cycle01 + '-' + this.cycle02);

View File

@ -67,27 +67,13 @@ export default {
methods: { methods: {
// //
radioChange() { radioChange() {
if (this.radioValue === 1) { if (this.radioValue !== 2 && this.cron.day !== '?') {
this.$emit('update', 'week', '*'); this.$emit('update', 'day', '?', 'week');
this.$emit('update', 'year', '*');
} else {
if (this.cron.month === '*') {
this.$emit('update', 'month', '0', 'week');
}
if (this.cron.day === '*') {
this.$emit('update', 'day', '0', 'week');
}
if (this.cron.hour === '*') {
this.$emit('update', 'hour', '0', 'week');
}
if (this.cron.min === '*') {
this.$emit('update', 'min', '0', 'week');
}
if (this.cron.second === '*') {
this.$emit('update', 'second', '0', 'week');
}
} }
switch (this.radioValue) { switch (this.radioValue) {
case 1:
this.$emit('update', 'week', '*');
break;
case 2: case 2:
this.$emit('update', 'week', '?'); this.$emit('update', 'week', '?');
break; break;
@ -105,7 +91,6 @@ export default {
break; break;
} }
}, },
// radio
// //
cycleChange() { cycleChange() {

View File

@ -59,21 +59,6 @@ export default {
methods: { methods: {
// //
radioChange() { radioChange() {
if (this.cron.month === '*') {
this.$emit('update', 'month', '0', 'year');
}
if (this.cron.day === '*') {
this.$emit('update', 'day', '0', 'year');
}
if (this.cron.hour === '*') {
this.$emit('update', 'hour', '0', 'year');
}
if (this.cron.min === '*') {
this.$emit('update', 'min', '0', 'year');
}
if (this.cron.second === '*') {
this.$emit('update', 'second', '0', 'year');
}
switch (this.radioValue) { switch (this.radioValue) {
case 1: case 1:
this.$emit('update', 'year', ''); this.$emit('update', 'year', '');