diff --git a/ruoyi-ui/src/components/Crontab/day.vue b/ruoyi-ui/src/components/Crontab/day.vue index bf9f5664e..d2f67298f 100644 --- a/ruoyi-ui/src/components/Crontab/day.vue +++ b/ruoyi-ui/src/components/Crontab/day.vue @@ -15,23 +15,28 @@ <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="0" :max="31"/> + - + <el-input-number v-model='cycle02' :min="0" :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="0" :max="31"/> + 号开始,每 + <el-input-number v-model='average02' :min="0" :max="31"/> + 日执行一次 </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="0" :max="31"/> + 号最近的那个工作日 </el-radio> </el-form-item> @@ -45,7 +50,7 @@ <el-radio v-model='radioValue' :label="7"> 指定 <el-select clearable v-model="checkboxList" placeholder="可多选" multiple style="width:100%"> - <el-option v-for="item in 31" :key="item" :value="item">{{item}}</el-option> + <el-option v-for="item in 31" :key="item" :value="item">{{ item }}</el-option> </el-select> </el-radio> </el-form-item> @@ -69,23 +74,19 @@ export default { name: 'crontab-day', props: ['check', 'cron'], methods: { + init() { + this.workday = 1 + this.cycle01 = 1 + this.cycle02 = 2 + this.average01 = 1 + this.average02 = 1 + this.checkboxList = [] + }, // 单选按钮值变化时 radioChange() { ('day rachange'); if (this.radioValue === 1) { this.$emit('update', 'day', '*', '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) { diff --git a/ruoyi-ui/src/components/Crontab/hour.vue b/ruoyi-ui/src/components/Crontab/hour.vue index 5a1e14678..236691d12 100644 --- a/ruoyi-ui/src/components/Crontab/hour.vue +++ b/ruoyi-ui/src/components/Crontab/hour.vue @@ -1,122 +1,125 @@ -<template> - <el-form size="small"> - <el-form-item> - <el-radio v-model='radioValue' :label="1"> - 小时,允许的通配符[, - * /] - </el-radio> - </el-form-item> - - <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-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-radio> - </el-form-item> - - <el-form-item> - <el-radio v-model='radioValue' :label="4"> - 指定 - <el-select clearable v-model="checkboxList" placeholder="可多选" multiple style="width:100%"> - <el-option v-for="item in 60" :key="item" :value="item-1">{{item-1}}</el-option> - </el-select> - </el-radio> - </el-form-item> - </el-form> -</template> - -<script> -export default { - data() { - return { - radioValue: 1, - cycle01: 0, - cycle02: 1, - average01: 0, - average02: 1, - checkboxList: [], - checkNum: this.$options.propsData.check - } - }, - name: 'crontab-hour', - props: ['check', 'cron'], - methods: { - // 单选按钮值变化时 - 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) { - case 2: - this.$emit('update', 'hour', this.cycle01 + '-' + this.cycle02); - break; - case 3: - this.$emit('update', 'hour', this.average01 + '/' + this.average02); - break; - case 4: - this.$emit('update', 'hour', this.checkboxString); - break; - } - }, - // 周期两个值变化时 - cycleChange() { - if (this.radioValue == '2') { - this.$emit('update', 'hour', this.cycleTotal); - } - }, - // 平均两个值变化时 - averageChange() { - if (this.radioValue == '3') { - this.$emit('update', 'hour', this.averageTotal); - } - }, - // checkbox值变化时 - checkboxChange() { - if (this.radioValue == '4') { - this.$emit('update', 'hour', this.checkboxString); - } - } - }, - watch: { - "radioValue": "radioChange", - 'cycleTotal': 'cycleChange', - 'averageTotal': 'averageChange', - 'checkboxString': 'checkboxChange' - }, - computed: { - // 计算两个周期值 - cycleTotal: function () { - this.cycle01 = this.checkNum(this.cycle01, 0, 23) - this.cycle02 = this.checkNum(this.cycle02, 0, 23) - return this.cycle01 + '-' + this.cycle02; - }, - // 计算平均用到的值 - averageTotal: function () { - this.average01 = this.checkNum(this.average01, 0, 23) - this.average02 = this.checkNum(this.average02, 1, 23) - return this.average01 + '/' + this.average02; - }, - // 计算勾选的checkbox值合集 - checkboxString: function () { - let str = this.checkboxList.join(); - return str == '' ? '*' : str; - } - } -} -</script> \ No newline at end of file +<template> + <el-form size="small"> + <el-form-item> + <el-radio v-model='radioValue' :label="1"> + 小时,允许的通配符[, - * /] + </el-radio> + </el-form-item> + + <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-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-radio> + </el-form-item> + + <el-form-item> + <el-radio v-model='radioValue' :label="4"> + 指定 + <el-select clearable v-model="checkboxList" placeholder="可多选" multiple style="width:100%"> + <el-option v-for="item in 60" :key="item" :value="item-1">{{ item - 1 }}</el-option> + </el-select> + </el-radio> + </el-form-item> + </el-form> +</template> + +<script> +export default { + data() { + return { + radioValue: 1, + cycle01: 0, + cycle02: 1, + average01: 0, + average02: 1, + checkboxList: [], + checkNum: this.$options.propsData.check + } + }, + name: 'crontab-hour', + props: ['check', 'cron'], + methods: { + init() { + this.cycle01 = 0 + this.cycle02 = 1 + this.average01 = 0 + this.average02 = 1 + this.checkboxList = [] + }, + // 单选按钮值变化时 + radioChange() { + if (this.radioValue === 1) { + this.$emit('update', 'hour', '*', 'hour'); + } + switch (this.radioValue) { + case 2: + this.$emit('update', 'hour', this.cycle01 + '-' + this.cycle02); + break; + case 3: + this.$emit('update', 'hour', this.average01 + '/' + this.average02); + break; + case 4: + this.$emit('update', 'hour', this.checkboxString); + break; + } + }, + // 周期两个值变化时 + cycleChange() { + if (this.radioValue == '2') { + this.$emit('update', 'hour', this.cycleTotal); + } + }, + // 平均两个值变化时 + averageChange() { + if (this.radioValue == '3') { + this.$emit('update', 'hour', this.averageTotal); + } + }, + // checkbox值变化时 + checkboxChange() { + if (this.radioValue == '4') { + this.$emit('update', 'hour', this.checkboxString); + } + } + }, + watch: { + "radioValue": "radioChange", + 'cycleTotal': 'cycleChange', + 'averageTotal': 'averageChange', + 'checkboxString': 'checkboxChange' + }, + computed: { + // 计算两个周期值 + cycleTotal: function () { + this.cycle01 = this.checkNum(this.cycle01, 0, 23) + this.cycle02 = this.checkNum(this.cycle02, 0, 23) + return this.cycle01 + '-' + this.cycle02; + }, + // 计算平均用到的值 + averageTotal: function () { + this.average01 = this.checkNum(this.average01, 0, 23) + this.average02 = this.checkNum(this.average02, 1, 23) + return this.average01 + '/' + this.average02; + }, + // 计算勾选的checkbox值合集 + checkboxString: function () { + let str = this.checkboxList.join(); + return str == '' ? '*' : str; + } + } +} +</script> diff --git a/ruoyi-ui/src/components/Crontab/index.vue b/ruoyi-ui/src/components/Crontab/index.vue index 27b4ab36c..5896e9335 100644 --- a/ruoyi-ui/src/components/Crontab/index.vue +++ b/ruoyi-ui/src/components/Crontab/index.vue @@ -1,110 +1,110 @@ <template> - <div> - <el-tabs type="border-card"> - <el-tab-pane label="秒" v-if="shouldHide('second')"> - <CrontabSecond @update="updateCrontabValue" :check="checkNumber" ref="cronsecond" /> - </el-tab-pane> + <div> + <el-tabs type="border-card"> + <el-tab-pane label="秒" v-if="shouldHide('second')"> + <CrontabSecond @update="updateCrontabValue" :check="checkNumber" ref="cronsecond"/> + </el-tab-pane> - <el-tab-pane label="分钟" v-if="shouldHide('min')"> - <CrontabMin - @update="updateCrontabValue" - :check="checkNumber" - :cron="crontabValueObj" - ref="cronmin" - /> - </el-tab-pane> + <el-tab-pane label="分钟" v-if="shouldHide('min')"> + <CrontabMin + @update="updateCrontabValue" + :check="checkNumber" + :cron="crontabValueObj" + ref="cronmin" + /> + </el-tab-pane> - <el-tab-pane label="小时" v-if="shouldHide('hour')"> - <CrontabHour - @update="updateCrontabValue" - :check="checkNumber" - :cron="crontabValueObj" - ref="cronhour" - /> - </el-tab-pane> + <el-tab-pane label="小时" v-if="shouldHide('hour')"> + <CrontabHour + @update="updateCrontabValue" + :check="checkNumber" + :cron="crontabValueObj" + ref="cronhour" + /> + </el-tab-pane> - <el-tab-pane label="日" v-if="shouldHide('day')"> - <CrontabDay - @update="updateCrontabValue" - :check="checkNumber" - :cron="crontabValueObj" - ref="cronday" - /> - </el-tab-pane> + <el-tab-pane label="日" v-if="shouldHide('day')"> + <CrontabDay + @update="updateCrontabValue" + :check="checkNumber" + :cron="crontabValueObj" + ref="cronday" + /> + </el-tab-pane> - <el-tab-pane label="月" v-if="shouldHide('month')"> - <CrontabMonth - @update="updateCrontabValue" - :check="checkNumber" - :cron="crontabValueObj" - ref="cronmonth" - /> - </el-tab-pane> + <el-tab-pane label="月" v-if="shouldHide('month')"> + <CrontabMonth + @update="updateCrontabValue" + :check="checkNumber" + :cron="crontabValueObj" + ref="cronmonth" + /> + </el-tab-pane> - <el-tab-pane label="周" v-if="shouldHide('week')"> - <CrontabWeek - @update="updateCrontabValue" - :check="checkNumber" - :cron="crontabValueObj" - ref="cronweek" - /> - </el-tab-pane> + <el-tab-pane label="周" v-if="shouldHide('week')"> + <CrontabWeek + @update="updateCrontabValue" + :check="checkNumber" + :cron="crontabValueObj" + ref="cronweek" + /> + </el-tab-pane> - <el-tab-pane label="年" v-if="shouldHide('year')"> - <CrontabYear - @update="updateCrontabValue" - :check="checkNumber" - :cron="crontabValueObj" - ref="cronyear" - /> - </el-tab-pane> - </el-tabs> + <el-tab-pane label="年" v-if="shouldHide('year')"> + <CrontabYear + @update="updateCrontabValue" + :check="checkNumber" + :cron="crontabValueObj" + ref="cronyear" + /> + </el-tab-pane> + </el-tabs> - <div class="popup-main"> - <div class="popup-result"> - <p class="title">时间表达式</p> - <table> - <thead> - <th v-for="item of tabTitles" width="40" :key="item">{{item}}</th> - <th>Cron 表达式</th> - </thead> - <tbody> - <td> - <span>{{crontabValueObj.second}}</span> - </td> - <td> - <span>{{crontabValueObj.min}}</span> - </td> - <td> - <span>{{crontabValueObj.hour}}</span> - </td> - <td> - <span>{{crontabValueObj.day}}</span> - </td> - <td> - <span>{{crontabValueObj.month}}</span> - </td> - <td> - <span>{{crontabValueObj.week}}</span> - </td> - <td> - <span>{{crontabValueObj.year}}</span> - </td> - <td> - <span>{{crontabValueString}}</span> - </td> - </tbody> - </table> - </div> - <CrontabResult :ex="crontabValueString"></CrontabResult> + <div class="popup-main"> + <div class="popup-result"> + <p class="title">时间表达式</p> + <table> + <thead> + <th v-for="item of tabTitles" width="40" :key="item">{{ item }}</th> + <th>Cron 表达式</th> + </thead> + <tbody> + <td> + <span>{{ crontabValueObj.second }}</span> + </td> + <td> + <span>{{ crontabValueObj.min }}</span> + </td> + <td> + <span>{{ crontabValueObj.hour }}</span> + </td> + <td> + <span>{{ crontabValueObj.day }}</span> + </td> + <td> + <span>{{ crontabValueObj.month }}</span> + </td> + <td> + <span>{{ crontabValueObj.week }}</span> + </td> + <td> + <span>{{ crontabValueObj.year }}</span> + </td> + <td> + <span>{{ crontabValueString }}</span> + </td> + </tbody> + </table> + </div> + <CrontabResult :ex="crontabValueString"></CrontabResult> - <div class="pop_btn"> - <el-button size="small" type="primary" @click="submitFill">确定</el-button> - <el-button size="small" type="warning" @click="clearCron">重置</el-button> - <el-button size="small" @click="hidePopup">取消</el-button> - </div> - </div> - </div> + <div class="pop_btn"> + <el-button size="small" type="primary" @click="submitFill">确定</el-button> + <el-button size="small" type="warning" @click="clearCron">重置</el-button> + <el-button size="small" @click="hidePopup">取消</el-button> + </div> + </div> + </div> </template> <script> @@ -118,308 +118,315 @@ import CrontabYear from "./year.vue"; import CrontabResult from "./result.vue"; export default { - data() { - return { - tabTitles: ["秒", "分钟", "小时", "日", "月", "周", "年"], - tabActive: 0, - myindex: 0, - crontabValueObj: { - second: "*", - min: "*", - hour: "*", - day: "*", - month: "*", - week: "?", - year: "", - }, - }; - }, - name: "vcrontab", - props: ["expression", "hideComponent"], - methods: { - shouldHide(key) { - if (this.hideComponent && this.hideComponent.includes(key)) return false; - return true; - }, - resolveExp() { - // 反解析 表达式 - if (this.expression) { - let arr = this.expression.split(" "); - if (arr.length >= 6) { - //6 位以上是合法表达式 - let obj = { - second: arr[0], - min: arr[1], - hour: arr[2], - day: arr[3], - month: arr[4], - week: arr[5], - year: arr[6] ? arr[6] : "", - }; - this.crontabValueObj = { - ...obj, - }; - for (let i in obj) { - if (obj[i]) this.changeRadio(i, obj[i]); - } - } - } else { - // 没有传入的表达式 则还原 - this.clearCron(); - } - }, - // tab切换值 - tabCheck(index) { - this.tabActive = index; - }, - // 由子组件触发,更改表达式组成的字段值 - updateCrontabValue(name, value, from) { - "updateCrontabValue", name, value, from; - this.crontabValueObj[name] = value; - if (from && from !== name) { - console.log(`来自组件 ${from} 改变了 ${name} ${value}`); - this.changeRadio(name, value); - } - }, - // 赋值到组件 - changeRadio(name, value) { - let arr = ["second", "min", "hour", "month"], - refName = "cron" + name, - insValue; + data() { + return { + tabTitles: ["秒", "分钟", "小时", "日", "月", "周", "年"], + tabActive: 0, + myindex: 0, + crontabValueObj: { + second: "*", + min: "*", + hour: "*", + day: "*", + month: "*", + week: "?", + year: "", + }, + }; + }, + name: "vcrontab", + props: ["expression", "hideComponent"], + methods: { + shouldHide(key) { + if (this.hideComponent && this.hideComponent.includes(key)) return false; + return true; + }, + resolveExp() { + // 反解析 表达式 + if (this.expression) { + let arr = this.expression.split(" "); + if (arr.length >= 6) { + //6 位以上是合法表达式 + let obj = { + second: arr[0], + min: arr[1], + hour: arr[2], + day: arr[3], + month: arr[4], + week: arr[5], + year: arr[6] ? arr[6] : "", + }; + this.crontabValueObj = { + ...obj, + }; + for (let i in obj) { + if (obj[i]) this.changeRadio(i, obj[i]); + } + } + } else { + // 没有传入的表达式 则还原 + this.clearCron(); + } + }, + // tab切换值 + tabCheck(index) { + this.tabActive = index; + }, + // 由子组件触发,更改表达式组成的字段值 + updateCrontabValue(name, value, from) { + "updateCrontabValue", name, value, from; + this.crontabValueObj[name] = value; + if (from && from !== name) { + console.log(`来自组件 ${from} 改变了 ${name} ${value}`); + this.changeRadio(name, value); + } + }, + // 赋值到组件 + changeRadio(name, value) { + let arr = ["second", "min", "hour", "month"], + refName = "cron" + name, + insValue; - if (!this.$refs[refName]) return; - - if (arr.includes(name)) { - if (value === "*") { - insValue = 1; - } else if (value.indexOf("-") > -1) { - let indexArr = value.split("-"); - isNaN(indexArr[0]) - ? (this.$refs[refName].cycle01 = 0) - : (this.$refs[refName].cycle01 = indexArr[0]); - this.$refs[refName].cycle02 = indexArr[1]; - insValue = 2; - } else if (value.indexOf("/") > -1) { - let indexArr = value.split("/"); - isNaN(indexArr[0]) - ? (this.$refs[refName].average01 = 0) - : (this.$refs[refName].average01 = indexArr[0]); - this.$refs[refName].average02 = indexArr[1]; - insValue = 3; - } else { - insValue = 4; - this.$refs[refName].checkboxList = value.split(","); - } - } else if (name == "day") { - if (value === "*") { - insValue = 1; - } else if (value == "?") { - insValue = 2; - } else if (value.indexOf("-") > -1) { - let indexArr = value.split("-"); - isNaN(indexArr[0]) - ? (this.$refs[refName].cycle01 = 0) - : (this.$refs[refName].cycle01 = indexArr[0]); - this.$refs[refName].cycle02 = indexArr[1]; - insValue = 3; - } else if (value.indexOf("/") > -1) { - let indexArr = value.split("/"); - isNaN(indexArr[0]) - ? (this.$refs[refName].average01 = 0) - : (this.$refs[refName].average01 = indexArr[0]); - this.$refs[refName].average02 = indexArr[1]; - insValue = 4; - } else if (value.indexOf("W") > -1) { - let indexArr = value.split("W"); - isNaN(indexArr[0]) - ? (this.$refs[refName].workday = 0) - : (this.$refs[refName].workday = indexArr[0]); - insValue = 5; - } else if (value === "L") { - insValue = 6; - } else { - this.$refs[refName].checkboxList = value.split(","); - insValue = 7; - } - } else if (name == "week") { - if (value === "*") { - insValue = 1; - } else if (value == "?") { - insValue = 2; - } else if (value.indexOf("-") > -1) { - let indexArr = value.split("-"); - isNaN(indexArr[0]) - ? (this.$refs[refName].cycle01 = 0) - : (this.$refs[refName].cycle01 = indexArr[0]); - this.$refs[refName].cycle02 = indexArr[1]; - insValue = 3; - } else if (value.indexOf("#") > -1) { - let indexArr = value.split("#"); - isNaN(indexArr[0]) - ? (this.$refs[refName].average01 = 1) - : (this.$refs[refName].average01 = indexArr[0]); - this.$refs[refName].average02 = indexArr[1]; - insValue = 4; - } else if (value.indexOf("L") > -1) { - let indexArr = value.split("L"); - isNaN(indexArr[0]) - ? (this.$refs[refName].weekday = 1) - : (this.$refs[refName].weekday = indexArr[0]); - insValue = 5; - } else { - this.$refs[refName].checkboxList = value.split(","); - insValue = 7; - } - } else if (name == "year") { - if (value == "") { - insValue = 1; - } else if (value == "*") { - insValue = 2; - } else if (value.indexOf("-") > -1) { - insValue = 3; - } else if (value.indexOf("/") > -1) { - insValue = 4; - } else { - this.$refs[refName].checkboxList = value.split(","); - insValue = 5; - } - } - this.$refs[refName].radioValue = insValue; - }, - // 表单选项的子组件校验数字格式(通过-props传递) - checkNumber(value, minLimit, maxLimit) { - // 检查必须为整数 - value = Math.floor(value); - if (value < minLimit) { - value = minLimit; - } else if (value > maxLimit) { - value = maxLimit; - } - return value; - }, - // 隐藏弹窗 - hidePopup() { - this.$emit("hide"); - }, - // 填充表达式 - submitFill() { - this.$emit("fill", this.crontabValueString); - this.hidePopup(); - }, - clearCron() { - // 还原选择项 - ("准备还原"); - this.crontabValueObj = { - second: "*", - min: "*", - hour: "*", - day: "*", - month: "*", - week: "?", - year: "", - }; - for (let j in this.crontabValueObj) { - this.changeRadio(j, this.crontabValueObj[j]); - } - }, - }, - computed: { - crontabValueString: function() { - let obj = this.crontabValueObj; - let str = - obj.second + - " " + - obj.min + - " " + - obj.hour + - " " + - obj.day + - " " + - obj.month + - " " + - obj.week + - (obj.year == "" ? "" : " " + obj.year); - return str; - }, - }, - components: { - CrontabSecond, - CrontabMin, - CrontabHour, - CrontabDay, - CrontabMonth, - CrontabWeek, - CrontabYear, - CrontabResult, - }, - watch: { - expression: "resolveExp", - hideComponent(value) { - // 隐藏部分组件 - }, - }, - mounted: function() { - this.resolveExp(); - }, + if (!this.$refs[refName]) return; + this.$refs[refName].init() + if (arr.includes(name)) { + if (value === "*") { + insValue = 1; + } else if (value.indexOf("-") > -1) { + let indexArr = value.split("-"); + isNaN(indexArr[0]) + ? (this.$refs[refName].cycle01 = 0) + : (this.$refs[refName].cycle01 = indexArr[0]); + this.$refs[refName].cycle02 = indexArr[1]; + insValue = 2; + } else if (value.indexOf("/") > -1) { + let indexArr = value.split("/"); + isNaN(indexArr[0]) + ? (this.$refs[refName].average01 = 0) + : (this.$refs[refName].average01 = indexArr[0]); + this.$refs[refName].average02 = indexArr[1]; + insValue = 3; + } else { + insValue = 4; + this.$refs[refName].checkboxList = value.split(","); + } + } else if (name == "day") { + if (value === "*") { + insValue = 1; + } else if (value == "?") { + insValue = 2; + } else if (value.indexOf("-") > -1) { + let indexArr = value.split("-"); + isNaN(indexArr[0]) + ? (this.$refs[refName].cycle01 = 0) + : (this.$refs[refName].cycle01 = indexArr[0]); + this.$refs[refName].cycle02 = indexArr[1]; + insValue = 3; + } else if (value.indexOf("/") > -1) { + let indexArr = value.split("/"); + isNaN(indexArr[0]) + ? (this.$refs[refName].average01 = 0) + : (this.$refs[refName].average01 = indexArr[0]); + this.$refs[refName].average02 = indexArr[1]; + insValue = 4; + } else if (value.indexOf("W") > -1) { + let indexArr = value.split("W"); + isNaN(indexArr[0]) + ? (this.$refs[refName].workday = 0) + : (this.$refs[refName].workday = indexArr[0]); + insValue = 5; + } else if (value === "L") { + insValue = 6; + } else { + this.$refs[refName].checkboxList = value.split(","); + insValue = 7; + } + } else if (name == "week") { + if (value === "*") { + insValue = 1; + } else if (value == "?") { + insValue = 2; + } else if (value.indexOf("-") > -1) { + let indexArr = value.split("-"); + isNaN(indexArr[0]) + ? (this.$refs[refName].cycle01 = 0) + : (this.$refs[refName].cycle01 = indexArr[0]); + this.$refs[refName].cycle02 = indexArr[1]; + insValue = 3; + } else if (value.indexOf("#") > -1) { + let indexArr = value.split("#"); + isNaN(indexArr[0]) + ? (this.$refs[refName].average01 = 1) + : (this.$refs[refName].average01 = indexArr[0]); + this.$refs[refName].average02 = indexArr[1]; + insValue = 4; + } else if (value.indexOf("L") > -1) { + let indexArr = value.split("L"); + isNaN(indexArr[0]) + ? (this.$refs[refName].weekday = 1) + : (this.$refs[refName].weekday = indexArr[0]); + insValue = 5; + } else { + this.$refs[refName].checkboxList = value.split(","); + insValue = 7; + } + } else if (name == "year") { + if (value == "") { + insValue = 1; + } else if (value == "*") { + insValue = 2; + } else if (value.indexOf("-") > -1) { + insValue = 3; + } else if (value.indexOf("/") > -1) { + insValue = 4; + } else { + this.$refs[refName].checkboxList = value.split(","); + insValue = 5; + } + } + this.$refs[refName].radioValue = insValue; + }, + // 表单选项的子组件校验数字格式(通过-props传递) + checkNumber(value, minLimit, maxLimit) { + // 检查必须为整数 + value = Math.floor(value); + if (value < minLimit) { + value = minLimit; + } else if (value > maxLimit) { + value = maxLimit; + } + return value; + }, + // 隐藏弹窗 + hidePopup() { + this.$emit("hide"); + }, + // 填充表达式 + submitFill() { + this.$emit("fill", this.crontabValueString); + this.hidePopup(); + }, + clearCron() { + // 还原选择项 + ("准备还原"); + this.crontabValueObj = { + second: "*", + min: "*", + hour: "*", + day: "*", + month: "*", + week: "?", + year: "", + }; + for (let j in this.crontabValueObj) { + this.changeRadio(j, this.crontabValueObj[j]); + } + }, + }, + computed: { + crontabValueString: function () { + let obj = this.crontabValueObj; + let str = + obj.second + + " " + + obj.min + + " " + + obj.hour + + " " + + obj.day + + " " + + obj.month + + " " + + obj.week + + (obj.year == "" ? "" : " " + obj.year); + return str; + }, + }, + components: { + CrontabSecond, + CrontabMin, + CrontabHour, + CrontabDay, + CrontabMonth, + CrontabWeek, + CrontabYear, + CrontabResult, + }, + watch: { + expression: "resolveExp", + hideComponent(value) { + // 隐藏部分组件 + }, + }, + mounted: function () { + this.resolveExp(); + }, }; </script> <style scoped> .pop_btn { - text-align: center; - margin-top: 20px; + text-align: center; + margin-top: 20px; } + .popup-main { - position: relative; - margin: 10px auto; - background: #fff; - border-radius: 5px; - font-size: 12px; - overflow: hidden; + position: relative; + margin: 10px auto; + background: #fff; + border-radius: 5px; + font-size: 12px; + overflow: hidden; } + .popup-title { - overflow: hidden; - line-height: 34px; - padding-top: 6px; - background: #f2f2f2; + overflow: hidden; + line-height: 34px; + padding-top: 6px; + background: #f2f2f2; } + .popup-result { - box-sizing: border-box; - line-height: 24px; - margin: 25px auto; - padding: 15px 10px 10px; - border: 1px solid #ccc; - position: relative; + box-sizing: border-box; + line-height: 24px; + margin: 25px auto; + padding: 15px 10px 10px; + border: 1px solid #ccc; + position: relative; } + .popup-result .title { - position: absolute; - top: -28px; - left: 50%; - width: 140px; - font-size: 14px; - margin-left: -70px; - text-align: center; - line-height: 30px; - background: #fff; + position: absolute; + top: -28px; + left: 50%; + width: 140px; + font-size: 14px; + margin-left: -70px; + text-align: center; + line-height: 30px; + background: #fff; } + .popup-result table { - text-align: center; - width: 100%; - margin: 0 auto; + text-align: center; + width: 100%; + margin: 0 auto; } + .popup-result table span { - display: block; - width: 100%; - font-family: arial; - line-height: 30px; - height: 30px; - white-space: nowrap; - overflow: hidden; - border: 1px solid #e8e8e8; + display: block; + width: 100%; + font-family: arial; + line-height: 30px; + height: 30px; + white-space: nowrap; + overflow: hidden; + border: 1px solid #e8e8e8; } + .popup-result-scroll { - font-size: 12px; - line-height: 24px; - height: 10em; - overflow-y: auto; + font-size: 12px; + line-height: 24px; + height: 10em; + overflow-y: auto; } </style> diff --git a/ruoyi-ui/src/components/Crontab/min.vue b/ruoyi-ui/src/components/Crontab/min.vue index 980c4e768..41d7bb19b 100644 --- a/ruoyi-ui/src/components/Crontab/min.vue +++ b/ruoyi-ui/src/components/Crontab/min.vue @@ -1,120 +1,124 @@ -<template> - <el-form size="small"> - <el-form-item> - <el-radio v-model='radioValue' :label="1"> - 分钟,允许的通配符[, - * /] - </el-radio> - </el-form-item> - - <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-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-radio> - </el-form-item> - - <el-form-item> - <el-radio v-model='radioValue' :label="4"> - 指定 - <el-select clearable v-model="checkboxList" placeholder="可多选" multiple style="width:100%"> - <el-option v-for="item in 60" :key="item" :value="item-1">{{item-1}}</el-option> - </el-select> - </el-radio> - </el-form-item> - </el-form> - -</template> - -<script> -export default { - data() { - return { - radioValue: 1, - cycle01: 1, - cycle02: 2, - average01: 0, - average02: 1, - checkboxList: [], - checkNum: this.$options.propsData.check - } - }, - name: 'crontab-min', - props: ['check', 'cron'], - 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'); - break; - case 3: - this.$emit('update', 'min', this.average01 + '/' + this.average02, 'min'); - break; - case 4: - this.$emit('update', 'min', this.checkboxString, 'min'); - break; - } - }, - // 周期两个值变化时 - cycleChange() { - if (this.radioValue == '2') { - this.$emit('update', 'min', this.cycleTotal, 'min'); - } - }, - // 平均两个值变化时 - averageChange() { - if (this.radioValue == '3') { - this.$emit('update', 'min', this.averageTotal, 'min'); - } - }, - // checkbox值变化时 - checkboxChange() { - if (this.radioValue == '4') { - this.$emit('update', 'min', this.checkboxString, 'min'); - } - }, - - }, - watch: { - "radioValue": "radioChange", - 'cycleTotal': 'cycleChange', - 'averageTotal': 'averageChange', - 'checkboxString': 'checkboxChange', - }, - computed: { - // 计算两个周期值 - cycleTotal: function () { - this.cycle01 = this.checkNum(this.cycle01, 0, 59) - this.cycle02 = this.checkNum(this.cycle02, 0, 59) - return this.cycle01 + '-' + this.cycle02; - }, - // 计算平均用到的值 - averageTotal: function () { - this.average01 = this.checkNum(this.average01, 0, 59) - this.average02 = this.checkNum(this.average02, 1, 59) - return this.average01 + '/' + this.average02; - }, - // 计算勾选的checkbox值合集 - checkboxString: function () { - let str = this.checkboxList.join(); - return str == '' ? '*' : str; - } - } -} -</script> \ No newline at end of file +<template> + <el-form size="small"> + <el-form-item> + <el-radio v-model='radioValue' :label="1"> + 分钟,允许的通配符[, - * /] + </el-radio> + </el-form-item> + + <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-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-radio> + </el-form-item> + + <el-form-item> + <el-radio v-model='radioValue' :label="4"> + 指定 + <el-select clearable v-model="checkboxList" placeholder="可多选" multiple style="width:100%"> + <el-option v-for="item in 60" :key="item" :value="item-1">{{item-1}}</el-option> + </el-select> + </el-radio> + </el-form-item> + </el-form> + +</template> + +<script> +export default { + data() { + return { + radioValue: 1, + cycle01: 1, + cycle02: 2, + average01: 0, + average02: 1, + checkboxList: [], + checkNum: this.$options.propsData.check + } + }, + name: 'crontab-min', + props: ['check', 'cron'], + methods: { + init() { + this.cycle01 = 1 + this.cycle02 = 2 + this.average01 = 0 + this.average02 = 1 + this.checkboxList = [] + }, + // 单选按钮值变化时 + radioChange() { + 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'); + break; + case 3: + this.$emit('update', 'min', this.average01 + '/' + this.average02, 'min'); + break; + case 4: + this.$emit('update', 'min', this.checkboxString, 'min'); + break; + } + }, + // 周期两个值变化时 + cycleChange() { + if (this.radioValue == '2') { + this.$emit('update', 'min', this.cycleTotal, 'min'); + } + }, + // 平均两个值变化时 + averageChange() { + if (this.radioValue == '3') { + this.$emit('update', 'min', this.averageTotal, 'min'); + } + }, + // checkbox值变化时 + checkboxChange() { + if (this.radioValue == '4') { + this.$emit('update', 'min', this.checkboxString, 'min'); + } + }, + + }, + watch: { + "radioValue": "radioChange", + 'cycleTotal': 'cycleChange', + 'averageTotal': 'averageChange', + 'checkboxString': 'checkboxChange', + }, + computed: { + // 计算两个周期值 + cycleTotal: function () { + this.cycle01 = this.checkNum(this.cycle01, 0, 59) + this.cycle02 = this.checkNum(this.cycle02, 0, 59) + return this.cycle01 + '-' + this.cycle02; + }, + // 计算平均用到的值 + averageTotal: function () { + this.average01 = this.checkNum(this.average01, 0, 59) + this.average02 = this.checkNum(this.average02, 1, 59) + return this.average01 + '/' + this.average02; + }, + // 计算勾选的checkbox值合集 + checkboxString: function () { + let str = this.checkboxList.join(); + return str == '' ? '*' : str; + } + } +} +</script> diff --git a/ruoyi-ui/src/components/Crontab/month.vue b/ruoyi-ui/src/components/Crontab/month.vue index 619d1e791..1ebcb3b97 100644 --- a/ruoyi-ui/src/components/Crontab/month.vue +++ b/ruoyi-ui/src/components/Crontab/month.vue @@ -49,24 +49,17 @@ export default { name: 'crontab-month', props: ['check', 'cron'], methods: { + init() { + this.cycle01 = 1 + this.cycle02 = 2 + this.average01 = 1 + this.average02 = 1 + this.checkboxList = [] + }, // 单选按钮值变化时 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) { case 2: diff --git a/ruoyi-ui/src/components/Crontab/second.vue b/ruoyi-ui/src/components/Crontab/second.vue index 0fdf3386d..60bda69b2 100644 --- a/ruoyi-ui/src/components/Crontab/second.vue +++ b/ruoyi-ui/src/components/Crontab/second.vue @@ -25,7 +25,7 @@ <el-form-item> <el-radio v-model='radioValue' :label="4"> 指定 - <el-select clearable v-model="checkboxList" placeholder="可多选" multiple style="width:100%"> + <el-select clearable v-model="checkboxList" placeholder="可多选" multiple style="width:100%" @change="ch"> <el-option v-for="item in 60" :key="item" :value="item-1">{{item-1}}</el-option> </el-select> </el-radio> @@ -49,12 +49,18 @@ export default { name: 'crontab-second', props: ['check', 'radioParent'], methods: { + init() { + this.cycle01 = 1 + this.cycle02 = 2 + this.average01 = 0 + this.average02 = 1 + this.checkboxList = [] + }, // 单选按钮值变化时 radioChange() { switch (this.radioValue) { case 1: this.$emit('update', 'second', '*', 'second'); - this.$emit('update', 'min', '*', 'second'); break; case 2: this.$emit('update', 'second', this.cycle01 + '-' + this.cycle02); diff --git a/ruoyi-ui/src/components/Crontab/week.vue b/ruoyi-ui/src/components/Crontab/week.vue index 5ad949d6b..fda5fa4d8 100644 --- a/ruoyi-ui/src/components/Crontab/week.vue +++ b/ruoyi-ui/src/components/Crontab/week.vue @@ -1,167 +1,178 @@ <template> - <el-form size='small'> - <el-form-item> - <el-radio v-model='radioValue' :label="1"> - 周,允许的通配符[, - * / L #] - </el-radio> - </el-form-item> + <el-form size='small'> + <el-form-item> + <el-radio v-model='radioValue' :label="1"> + 周,允许的通配符[, - * / L #] + </el-radio> + </el-form-item> - <el-form-item> - <el-radio v-model='radioValue' :label="2"> - 不指定 - </el-radio> - </el-form-item> + <el-form-item> + <el-radio v-model='radioValue' :label="2"> + 不指定 + </el-radio> + </el-form-item> - <el-form-item> - <el-radio v-model='radioValue' :label="3"> - 周期从星期 - <el-input-number v-model='cycle01' :min="1" :max="7" /> - - <el-input-number v-model='cycle02' :min="1" :max="7" /> - </el-radio> - </el-form-item> + <el-form-item> + <el-radio v-model='radioValue' :label="3"> + 周期从星期 + <el-input-number v-model='cycle01' :min="1" :max="7"/> + - + <el-input-number v-model='cycle02' :min="1" :max="7"/> + </el-radio> + </el-form-item> - <el-form-item> - <el-radio v-model='radioValue' :label="4"> - 第 - <el-input-number v-model='average01' :min="1" :max="4" /> 周的星期 - <el-input-number v-model='average02' :min="1" :max="7" /> - </el-radio> - </el-form-item> + <el-form-item> + <el-radio v-model='radioValue' :label="4"> + 第 + <el-input-number v-model='average01' :min="1" :max="4"/> + 周的星期 + <el-input-number v-model='average02' :min="1" :max="7"/> + </el-radio> + </el-form-item> - <el-form-item> - <el-radio v-model='radioValue' :label="5"> - 本月最后一个星期 - <el-input-number v-model='weekday' :min="1" :max="7" /> - </el-radio> - </el-form-item> + <el-form-item> + <el-radio v-model='radioValue' :label="5"> + 本月最后一个星期 + <el-input-number v-model='weekday' :min="1" :max="7"/> + </el-radio> + </el-form-item> - <el-form-item> - <el-radio v-model='radioValue' :label="6"> - 指定 - <el-select clearable v-model="checkboxList" placeholder="可多选" multiple style="width:100%"> - <el-option v-for="(item,index) of weekList" :key="index" :value="index+1">{{item}}</el-option> - </el-select> - </el-radio> - </el-form-item> + <el-form-item> + <el-radio v-model='radioValue' :label="6"> + 指定 + <el-select clearable v-model="checkboxDescribeList" placeholder="可多选" multiple style="width:100%"> + <el-option v-for="(item,index) of weekList" :key="index" :value="index+1">{{ item }}</el-option> + </el-select> + </el-radio> + </el-form-item> - </el-form> + </el-form> </template> <script> export default { - data() { - return { - radioValue: 2, - weekday: 1, - cycle01: 1, - cycle02: 2, - average01: 1, - average02: 1, - checkboxList: [], - weekList: ['周一', '周二', '周三', '周四', '周五', '周六', '周日'], - checkNum: this.$options.propsData.check - } - }, - name: 'crontab-week', - props: ['check', 'cron'], - methods: { - // 单选按钮值变化时 - radioChange() { - if (this.radioValue === 1) { - this.$emit('update', '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) { - case 2: - this.$emit('update', 'week', '?'); - break; - case 3: - this.$emit('update', 'week', this.cycle01 + '-' + this.cycle02); - break; - case 4: - this.$emit('update', 'week', this.average01 + '#' + this.average02); - break; - case 5: - this.$emit('update', 'week', this.weekday + 'L'); - break; - case 6: - this.$emit('update', 'week', this.checkboxString); - break; - } - }, - // 根据互斥事件,更改radio的值 + data() { + return { + radioValue: 2, + weekday: 1, + cycle01: 1, + cycle02: 2, + average01: 1, + average02: 1, + checkboxList: [], + checkboxDescribeList: [], + weekList: ['周一', '周二', '周三', '周四', '周五', '周六', '周日'], + checkNum: this.$options.propsData.check + } + }, + name: 'crontab-week', + props: ['check', 'cron'], + methods: { + checkChange(data) { + this.checkboxList = [] + data.forEach(value => { + this.weekList.find((item, index) => { + if (item === value) { + this.checkboxList.push(index + 1) + } + }) + }) + }, + init() { + this.workday = 1 + this.cycle01 = 1 + this.cycle02 = 2 + this.average01 = 1 + this.average02 = 1 + this.checkboxList = [] + this.checkboxDescribeList = [] + }, + // 单选按钮值变化时 + radioChange() { - // 周期两个值变化时 - cycleChange() { - if (this.radioValue == '3') { - this.$emit('update', 'week', this.cycleTotal); - } - }, - // 平均两个值变化时 - averageChange() { - if (this.radioValue == '4') { - this.$emit('update', 'week', this.averageTotal); - } - }, - // 最近工作日值变化时 - weekdayChange() { - if (this.radioValue == '5') { - this.$emit('update', 'week', this.weekday + 'L'); - } - }, - // checkbox值变化时 - checkboxChange() { - if (this.radioValue == '6') { - this.$emit('update', 'week', this.checkboxString); - } - }, - }, - watch: { - "radioValue": "radioChange", - 'cycleTotal': 'cycleChange', - 'averageTotal': 'averageChange', - 'weekdayCheck': 'weekdayChange', - 'checkboxString': 'checkboxChange', - }, - computed: { - // 计算两个周期值 - cycleTotal: function () { - this.cycle01 = this.checkNum(this.cycle01, 1, 7) - this.cycle02 = this.checkNum(this.cycle02, 1, 7) - return this.cycle01 + '-' + this.cycle02; - }, - // 计算平均用到的值 - averageTotal: function () { - this.average01 = this.checkNum(this.average01, 1, 4) - this.average02 = this.checkNum(this.average02, 1, 7) - return this.average01 + '#' + this.average02; - }, - // 最近的工作日(格式) - weekdayCheck: function () { - this.weekday = this.checkNum(this.weekday, 1, 7) - return this.weekday; - }, - // 计算勾选的checkbox值合集 - checkboxString: function () { - let str = this.checkboxList.join(); - return str == '' ? '*' : str; - } - } + + switch (this.radioValue) { + case 1: + this.$emit('update', 'week', '*'); + break; + case 3: + this.$emit('update', 'week', this.cycle01 + '-' + this.cycle02); + break; + case 4: + this.$emit('update', 'week', this.average01 + '#' + this.average02); + break; + case 5: + this.$emit('update', 'week', this.weekday + 'L'); + break; + case 6: + this.$emit('update', 'week', this.checkboxString); + break; + } + if (this.radioValue === 2) { + this.$emit('update', 'week', '?'); + this.$emit('update', 'day', '*'); + } else { + this.$emit('update', 'day', '?'); + + } + }, + // 根据互斥事件,更改radio的值 + + // 周期两个值变化时 + cycleChange() { + if (this.radioValue == '3') { + this.$emit('update', 'week', this.cycleTotal); + } + }, + // 平均两个值变化时 + averageChange() { + if (this.radioValue == '4') { + this.$emit('update', 'week', this.averageTotal); + } + }, + // 最近工作日值变化时 + weekdayChange() { + if (this.radioValue == '5') { + this.$emit('update', 'week', this.weekday + 'L'); + } + }, + // checkbox值变化时 + checkboxChange() { + if (this.radioValue == '6') { + this.$emit('update', 'week', this.checkboxString); + } + }, + }, + watch: { + "radioValue": "radioChange", + 'cycleTotal': 'cycleChange', + 'averageTotal': 'averageChange', + 'weekdayCheck': 'weekdayChange', + 'checkboxString': 'checkboxChange', + }, + computed: { + // 计算两个周期值 + cycleTotal: function () { + this.cycle01 = this.checkNum(this.cycle01, 1, 7) + this.cycle02 = this.checkNum(this.cycle02, 1, 7) + return this.cycle01 + '-' + this.cycle02; + }, + // 计算平均用到的值 + averageTotal: function () { + this.average01 = this.checkNum(this.average01, 1, 4) + this.average02 = this.checkNum(this.average02, 1, 7) + return this.average01 + '#' + this.average02; + }, + // 最近的工作日(格式) + weekdayCheck: function () { + this.weekday = this.checkNum(this.weekday, 1, 7) + return this.weekday; + }, + // 计算勾选的checkbox值合集 + checkboxString: function () { + let str = this.checkboxList.join(); + return str == '' ? '*' : str; + } + } } </script> diff --git a/ruoyi-ui/src/components/Crontab/year.vue b/ruoyi-ui/src/components/Crontab/year.vue index 800dfa522..fe0216ef5 100644 --- a/ruoyi-ui/src/components/Crontab/year.vue +++ b/ruoyi-ui/src/components/Crontab/year.vue @@ -57,23 +57,16 @@ export default { name: 'crontab-year', props: ['check', 'month', 'cron'], methods: { + init() { + this.fullYear = Number(new Date().getFullYear()) + this.cycle01 = 0 + this.cycle02 = 0 + this.average01 = 0 + this.average02 = 1 + this.checkboxList = [] + }, // 单选按钮值变化时 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) { case 1: this.$emit('update', 'year', '');