mirror of
				https://github.com/dromara/RuoYi-Vue-Plus.git
				synced 2025-11-04 08:13:44 +08:00 
			
		
		
		
	fix: crontab组件互斥bug
This commit is contained in:
		@@ -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;
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -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;
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -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')">
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -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');
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -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;
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -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);
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -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() {
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -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', '');
 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user