From 8007b22b8569dc8036df95adb58f6ca53c8eb04c Mon Sep 17 00:00:00 2001
From: RuoYi <yzz_ivy@163.com>
Date: 星期四, 27 一月 2022 12:04:40 +0800
Subject: [PATCH] 导出Excel时屏蔽公式,防止CSV注入风险
---
ruoyi-ui/src/components/Crontab/min.vue | 30 +++++++++++++-----------------
1 files changed, 13 insertions(+), 17 deletions(-)
diff --git a/ruoyi-ui/src/components/Crontab/min.vue b/ruoyi-ui/src/components/Crontab/min.vue
index 980c4e7..0a106ce 100644
--- a/ruoyi-ui/src/components/Crontab/min.vue
+++ b/ruoyi-ui/src/components/Crontab/min.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>
@@ -52,19 +52,15 @@
methods: {
// 鍗曢�夋寜閽�煎彉鍖栨椂
radioChange() {
- if (this.radioValue !== 1 && this.cron.second === '*') {
- this.$emit('update', 'second', '0', 'min');
- }
switch (this.radioValue) {
case 1:
this.$emit('update', 'min', '*', 'min');
- this.$emit('update', 'hour', '*', 'min');
break;
case 2:
- this.$emit('update', 'min', this.cycle01 + '-' + this.cycle02, 'min');
+ this.$emit('update', 'min', this.cycleTotal, 'min');
break;
case 3:
- this.$emit('update', 'min', this.average01 + '/' + this.average02, 'min');
+ this.$emit('update', 'min', this.averageTotal, 'min');
break;
case 4:
this.$emit('update', 'min', this.checkboxString, 'min');
@@ -92,7 +88,7 @@
},
watch: {
- "radioValue": "radioChange",
+ 'radioValue': 'radioChange',
'cycleTotal': 'cycleChange',
'averageTotal': 'averageChange',
'checkboxString': 'checkboxChange',
@@ -100,15 +96,15 @@
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 () {
--
Gitblit v1.9.3