From 8aca11c2a21a90ef2a413ad36a5fc8403c7034f7 Mon Sep 17 00:00:00 2001
From: RuoYi <yzz_ivy@163.com>
Date: Fri, 30 May 2025 08:03:00 +0800
Subject: [PATCH] 若依 3.6.6

---
 ruoyi-ui/src/components/Crontab/second.vue |   64 ++++++++++++--------------------
 1 files changed, 24 insertions(+), 40 deletions(-)

diff --git a/ruoyi-ui/src/components/Crontab/second.vue b/ruoyi-ui/src/components/Crontab/second.vue
index 0fdf338..9201e06 100644
--- a/ruoyi-ui/src/components/Crontab/second.vue
+++ b/ruoyi-ui/src/components/Crontab/second.vue
@@ -9,16 +9,16 @@
 		<el-form-item>
 			<el-radio v-model='radioValue' :label="2">
 				周期从
-				<el-input-number v-model='cycle01' :min="0" :max="60" /> -
-				<el-input-number v-model='cycle02' :min="0" :max="60" /> 秒
+				<el-input-number v-model='cycle01' :min="0" :max="58" /> -
+				<el-input-number v-model='cycle02' :min="cycle01 ? cycle01 + 1 : 1" :max="59" /> 秒
 			</el-radio>
 		</el-form-item>
 
 		<el-form-item>
 			<el-radio v-model='radioValue' :label="3">
 				从
-				<el-input-number v-model='average01' :min="0" :max="60" /> 秒开始,每
-				<el-input-number v-model='average02' :min="0" :max="60" /> 秒执行一次
+				<el-input-number v-model='average01' :min="0" :max="58" /> 秒开始,每
+				<el-input-number v-model='average02' :min="1" :max="59 - average01 || 0" /> 秒执行一次
 			</el-radio>
 		</el-form-item>
 
@@ -53,56 +53,40 @@
 		radioChange() {
 			switch (this.radioValue) {
 				case 1:
-					this.$emit('update', 'second', '*', 'second');
-					this.$emit('update', 'min', '*', 'second');
-					break;
+					this.$emit('update', 'second', '*', 'second')
+					break
 				case 2:
-					this.$emit('update', 'second', this.cycle01 + '-' + this.cycle02);
-					break;
+					this.$emit('update', 'second', this.cycleTotal)
+					break
 				case 3:
-					this.$emit('update', 'second', this.average01 + '/' + this.average02);
-					break;
+					this.$emit('update', 'second', this.averageTotal)
+					break
 				case 4:
-					this.$emit('update', 'second', this.checkboxString);
-					break;
+					this.$emit('update', 'second', this.checkboxString)
+					break
 			}
 		},
 		// 周期两个值变化时
 		cycleChange() {
 			if (this.radioValue == '2') {
-				this.$emit('update', 'second', this.cycleTotal);
+				this.$emit('update', 'second', this.cycleTotal)
 			}
 		},
 		// 平均两个值变化时
 		averageChange() {
 			if (this.radioValue == '3') {
-				this.$emit('update', 'second', this.averageTotal);
+				this.$emit('update', 'second', this.averageTotal)
 			}
 		},
 		// checkbox值变化时
 		checkboxChange() {
 			if (this.radioValue == '4') {
-				this.$emit('update', 'second', this.checkboxString);
-			}
-		},
-		othChange() {
-			// 反解析
-			let ins = this.cron.second
-			('反解析 second', ins);
-			if (ins === '*') {
-				this.radioValue = 1;
-			} else if (ins.indexOf('-') > -1) {
-				this.radioValue = 2
-			} else if (ins.indexOf('/') > -1) {
-				this.radioValue = 3
-			} else {
-				this.radioValue = 4
-				this.checkboxList = ins.split(',')
+				this.$emit('update', 'second', this.checkboxString)
 			}
 		}
 	},
 	watch: {
-		"radioValue": "radioChange",
+		'radioValue': 'radioChange',
 		'cycleTotal': 'cycleChange',
 		'averageTotal': 'averageChange',
 		'checkboxString': 'checkboxChange',
@@ -113,20 +97,20 @@
 	computed: {
 		// 计算两个周期值
 		cycleTotal: function () {
-			this.cycle01 = this.checkNum(this.cycle01, 0, 59)
-			this.cycle02 = this.checkNum(this.cycle02, 0, 59)
-			return this.cycle01 + '-' + this.cycle02;
+			const cycle01 = this.checkNum(this.cycle01, 0, 58)
+			const cycle02 = this.checkNum(this.cycle02, cycle01 ? cycle01 + 1 : 1, 59)
+			return cycle01 + '-' + cycle02
 		},
 		// 计算平均用到的值
 		averageTotal: function () {
-			this.average01 = this.checkNum(this.average01, 0, 59)
-			this.average02 = this.checkNum(this.average02, 1, 59)
-			return this.average01 + '/' + this.average02;
+			const average01 = this.checkNum(this.average01, 0, 58)
+			const average02 = this.checkNum(this.average02, 1, 59 - average01 || 0)
+			return average01 + '/' + average02
 		},
 		// 计算勾选的checkbox值合集
 		checkboxString: function () {
-			let str = this.checkboxList.join();
-			return str == '' ? '*' : str;
+			let str = this.checkboxList.join()
+			return str == '' ? '*' : str
 		}
 	}
 }

--
Gitblit v1.9.3