Pre Merge pull request !352 from muyi/master

This commit is contained in:
muyi
2021-11-24 00:39:46 +00:00
committed by Gitee
10 changed files with 1246 additions and 1211 deletions

View File

@ -15,23 +15,28 @@
<el-form-item> <el-form-item>
<el-radio v-model='radioValue' :label="3"> <el-radio v-model='radioValue' :label="3">
周期从 周期从
<el-input-number v-model='cycle01' :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-input-number v-model='cycle02' :min="0" :max="31"/>
</el-radio> </el-radio>
</el-form-item> </el-form-item>
<el-form-item> <el-form-item>
<el-radio v-model='radioValue' :label="4"> <el-radio v-model='radioValue' :label="4">
<el-input-number v-model='average01' :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-input-number v-model='average02' :min="0" :max="31"/>
日执行一次
</el-radio> </el-radio>
</el-form-item> </el-form-item>
<el-form-item> <el-form-item>
<el-radio v-model='radioValue' :label="5"> <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-radio>
</el-form-item> </el-form-item>
@ -44,8 +49,9 @@
<el-form-item> <el-form-item>
<el-radio v-model='radioValue' :label="7"> <el-radio v-model='radioValue' :label="7">
指定 指定
<el-select clearable v-model="checkboxList" placeholder="可多选" multiple style="width:100%"> <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> @change="selectChange">
<el-option v-for="item in 31" :key="item" :value="item">{{ item }}</el-option>
</el-select> </el-select>
</el-radio> </el-radio>
</el-form-item> </el-form-item>
@ -69,23 +75,22 @@ export default {
name: 'crontab-day', name: 'crontab-day',
props: ['check', 'cron'], props: ['check', 'cron'],
methods: { methods: {
selectChange() {
this.radioValue = 7
},
init() {
this.workday = 1
this.cycle01 = 1
this.cycle02 = 2
this.average01 = 1
this.average02 = 1
this.checkboxList = []
},
// 单选按钮值变化时 // 单选按钮值变化时
radioChange() { radioChange() {
('day rachange'); ('day rachange');
if (this.radioValue === 1) { if (this.radioValue === 1) {
this.$emit('update', 'day', '*', 'day'); 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) { switch (this.radioValue) {

View File

@ -9,24 +9,29 @@
<el-form-item> <el-form-item>
<el-radio v-model='radioValue' :label="2"> <el-radio v-model='radioValue' :label="2">
周期从 周期从
<el-input-number v-model='cycle01' :min="0" :max="60" /> - <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='cycle02' :min="0" :max="60"/>
小时
</el-radio> </el-radio>
</el-form-item> </el-form-item>
<el-form-item> <el-form-item>
<el-radio v-model='radioValue' :label="3"> <el-radio v-model='radioValue' :label="3">
<el-input-number v-model='average01' :min="0" :max="60" /> 小时开始 <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='average02' :min="0" :max="60"/>
小时执行一次
</el-radio> </el-radio>
</el-form-item> </el-form-item>
<el-form-item> <el-form-item>
<el-radio v-model='radioValue' :label="4"> <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%"
<el-option v-for="item in 60" :key="item" :value="item-1">{{item-1}}</el-option> @change="selectChange">
<el-option v-for="item in 60" :key="item" :value="item-1">{{ item - 1 }}</el-option>
</el-select> </el-select>
</el-radio> </el-radio>
</el-form-item> </el-form-item>
@ -49,18 +54,20 @@ export default {
name: 'crontab-hour', name: 'crontab-hour',
props: ['check', 'cron'], props: ['check', 'cron'],
methods: { methods: {
selectChange() {
this.radioValue = 4
},
init() {
this.cycle01 = 0
this.cycle02 = 1
this.average01 = 0
this.average02 = 1
this.checkboxList = []
},
// 单选按钮值变化时 // 单选按钮值变化时
radioChange() { radioChange() {
if (this.radioValue === 1) { if (this.radioValue === 1) {
this.$emit('update', 'hour', '*', 'hour'); 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 2: case 2:

View File

@ -2,7 +2,7 @@
<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" ref="cronsecond"/>
</el-tab-pane> </el-tab-pane>
<el-tab-pane label="分钟" v-if="shouldHide('min')"> <el-tab-pane label="分钟" v-if="shouldHide('min')">
@ -65,33 +65,33 @@
<p class="title">时间表达式</p> <p class="title">时间表达式</p>
<table> <table>
<thead> <thead>
<th v-for="item of tabTitles" width="40" :key="item">{{item}}</th> <th v-for="item of tabTitles" width="40" :key="item">{{ item }}</th>
<th>Cron 表达式</th> <th>Cron 表达式</th>
</thead> </thead>
<tbody> <tbody>
<td> <td>
<span>{{crontabValueObj.second}}</span> <span>{{ crontabValueObj.second }}</span>
</td> </td>
<td> <td>
<span>{{crontabValueObj.min}}</span> <span>{{ crontabValueObj.min }}</span>
</td> </td>
<td> <td>
<span>{{crontabValueObj.hour}}</span> <span>{{ crontabValueObj.hour }}</span>
</td> </td>
<td> <td>
<span>{{crontabValueObj.day}}</span> <span>{{ crontabValueObj.day }}</span>
</td> </td>
<td> <td>
<span>{{crontabValueObj.month}}</span> <span>{{ crontabValueObj.month }}</span>
</td> </td>
<td> <td>
<span>{{crontabValueObj.week}}</span> <span>{{ crontabValueObj.week }}</span>
</td> </td>
<td> <td>
<span>{{crontabValueObj.year}}</span> <span>{{ crontabValueObj.year }}</span>
</td> </td>
<td> <td>
<span>{{crontabValueString}}</span> <span>{{ crontabValueString }}</span>
</td> </td>
</tbody> </tbody>
</table> </table>
@ -188,7 +188,7 @@ export default {
insValue; insValue;
if (!this.$refs[refName]) return; if (!this.$refs[refName]) return;
this.$refs[refName].init()
if (arr.includes(name)) { if (arr.includes(name)) {
if (value === "*") { if (value === "*") {
insValue = 1; insValue = 1;
@ -324,7 +324,7 @@ export default {
}, },
}, },
computed: { computed: {
crontabValueString: function() { crontabValueString: function () {
let obj = this.crontabValueObj; let obj = this.crontabValueObj;
let str = let str =
obj.second + obj.second +
@ -358,7 +358,7 @@ export default {
// 隐藏部分组件 // 隐藏部分组件
}, },
}, },
mounted: function() { mounted: function () {
this.resolveExp(); this.resolveExp();
}, },
}; };
@ -368,6 +368,7 @@ export default {
text-align: center; text-align: center;
margin-top: 20px; margin-top: 20px;
} }
.popup-main { .popup-main {
position: relative; position: relative;
margin: 10px auto; margin: 10px auto;
@ -376,12 +377,14 @@ export default {
font-size: 12px; font-size: 12px;
overflow: hidden; overflow: hidden;
} }
.popup-title { .popup-title {
overflow: hidden; overflow: hidden;
line-height: 34px; line-height: 34px;
padding-top: 6px; padding-top: 6px;
background: #f2f2f2; background: #f2f2f2;
} }
.popup-result { .popup-result {
box-sizing: border-box; box-sizing: border-box;
line-height: 24px; line-height: 24px;
@ -390,6 +393,7 @@ export default {
border: 1px solid #ccc; border: 1px solid #ccc;
position: relative; position: relative;
} }
.popup-result .title { .popup-result .title {
position: absolute; position: absolute;
top: -28px; top: -28px;
@ -401,11 +405,13 @@ export default {
line-height: 30px; line-height: 30px;
background: #fff; background: #fff;
} }
.popup-result table { .popup-result table {
text-align: center; text-align: center;
width: 100%; width: 100%;
margin: 0 auto; margin: 0 auto;
} }
.popup-result table span { .popup-result table span {
display: block; display: block;
width: 100%; width: 100%;
@ -416,6 +422,7 @@ export default {
overflow: hidden; overflow: hidden;
border: 1px solid #e8e8e8; border: 1px solid #e8e8e8;
} }
.popup-result-scroll { .popup-result-scroll {
font-size: 12px; font-size: 12px;
line-height: 24px; line-height: 24px;

View File

@ -25,7 +25,7 @@
<el-form-item> <el-form-item>
<el-radio v-model='radioValue' :label="4"> <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="selectChange">
<el-option v-for="item in 60" :key="item" :value="item-1">{{item-1}}</el-option> <el-option v-for="item in 60" :key="item" :value="item-1">{{item-1}}</el-option>
</el-select> </el-select>
</el-radio> </el-radio>
@ -50,11 +50,18 @@ export default {
name: 'crontab-min', name: 'crontab-min',
props: ['check', 'cron'], props: ['check', 'cron'],
methods: { methods: {
selectChange() {
this.radioValue = 4
},
init() {
this.cycle01 = 1
this.cycle02 = 2
this.average01 = 0
this.average02 = 1
this.checkboxList = []
},
// 单选按钮值变化时 // 单选按钮值变化时
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');

View File

@ -25,7 +25,7 @@
<el-form-item> <el-form-item>
<el-radio v-model='radioValue' :label="4"> <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="selectChange">
<el-option v-for="item in 12" :key="item" :value="item">{{item}}</el-option> <el-option v-for="item in 12" :key="item" :value="item">{{item}}</el-option>
</el-select> </el-select>
</el-radio> </el-radio>
@ -48,25 +48,20 @@ export default {
}, },
name: 'crontab-month', name: 'crontab-month',
props: ['check', 'cron'], props: ['check', 'cron'],
methods: { methods: { selectChange() {
this.radioValue = 4
},
init() {
this.cycle01 = 1
this.cycle02 = 2
this.average01 = 1
this.average02 = 1
this.checkboxList = []
},
// 单选按钮值变化时 // 单选按钮值变化时
radioChange() { radioChange() {
if (this.radioValue === 1) { if (this.radioValue === 1) {
this.$emit('update', 'month', '*'); 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 2: case 2:

View File

@ -3,7 +3,7 @@
<p class="title">最近5次运行时间</p> <p class="title">最近5次运行时间</p>
<ul class="popup-result-scroll"> <ul class="popup-result-scroll">
<template v-if='isShow'> <template v-if='isShow'>
<li v-for='item in resultList' :key="item">{{item}}</li> <li v-for='item in resultList' :key="item">{{ item }}</li>
</template> </template>
<li v-else>计算结果中...</li> <li v-else>计算结果中...</li>
</ul> </ul>
@ -25,7 +25,6 @@ export default {
methods: { methods: {
// 表达式值变化时,开始去计算结果 // 表达式值变化时,开始去计算结果
expressionChange() { expressionChange() {
// 计算开始-隐藏结果 // 计算开始-隐藏结果
this.isShow = false; this.isShow = false;
// 获取规则数组[0秒、1分、2时、3日、4月、5星期、6年] // 获取规则数组[0秒、1分、2时、3日、4月、5星期、6年]
@ -151,7 +150,6 @@ export default {
} }
continue; continue;
} }
// 判断日期的合法性,不合法的话也是跳出当前循环 // 判断日期的合法性,不合法的话也是跳出当前循环
if (this.checkDate(YY + '-' + MM + '-' + thisDD + ' 00:00:00') !== true && this.dayRule !== 'workDay' && this.dayRule !== 'lastWeek' && this.dayRule !== 'lastDay') { if (this.checkDate(YY + '-' + MM + '-' + thisDD + ' 00:00:00') !== true && this.dayRule !== 'workDay' && this.dayRule !== 'lastWeek' && this.dayRule !== 'lastDay') {
resetDay(); resetDay();
@ -160,7 +158,6 @@ export default {
// 如果日期规则中有值时 // 如果日期规则中有值时
if (this.dayRule == 'lastDay') { if (this.dayRule == 'lastDay') {
// 如果不是合法日期则需要将前将日期调到合法日期即月末最后一天 // 如果不是合法日期则需要将前将日期调到合法日期即月末最后一天
if (this.checkDate(YY + '-' + MM + '-' + thisDD + ' 00:00:00') !== true) { if (this.checkDate(YY + '-' + MM + '-' + thisDD + ' 00:00:00') !== true) {
while (DD > 0 && this.checkDate(YY + '-' + MM + '-' + thisDD + ' 00:00:00') !== true) { while (DD > 0 && this.checkDate(YY + '-' + MM + '-' + thisDD + ' 00:00:00') !== true) {
DD--; DD--;
@ -200,7 +197,7 @@ export default {
// 获取当前日期是属于星期几 // 获取当前日期是属于星期几
let thisWeek = this.formatDate(new Date(YY + '-' + MM + '-' + DD + ' 00:00:00'), 'week'); let thisWeek = this.formatDate(new Date(YY + '-' + MM + '-' + DD + ' 00:00:00'), 'week');
// 校验当前星期是否在星期池dayRuleSup // 校验当前星期是否在星期池dayRuleSup
if (Array.indexOf(this.dayRuleSup, thisWeek) < 0) { if (this.dayRuleSup.indexOf(thisWeek) < 0) {
// 如果到达最大值时 // 如果到达最大值时
if (Di == DDate.length - 1) { if (Di == DDate.length - 1) {
resetDay(); resetDay();
@ -241,11 +238,9 @@ export default {
} }
// 判断时间值是否小于10置换成“05”这种格式 // 判断时间值是否小于10置换成“05”这种格式
DD = DD < 10 ? '0' + DD : DD; DD = DD < 10 ? '0' + DD : DD;
// 循环“时”数组 // 循环“时”数组
goHour: for (let hi = hIdx; hi < hDate.length; hi++) { goHour: for (let hi = hIdx; hi < hDate.length; hi++) {
let hh = hDate[hi] < 10 ? '0' + hDate[hi] : hDate[hi] let hh = hDate[hi] < 10 ? '0' + hDate[hi] : hDate[hi]
// 如果到达最大值时 // 如果到达最大值时
if (nMin > mDate[mDate.length - 1]) { if (nMin > mDate[mDate.length - 1]) {
resetMin(); resetMin();
@ -266,7 +261,6 @@ export default {
// 循环"分"数组 // 循环"分"数组
goMin: for (let mi = mIdx; mi < mDate.length; mi++) { goMin: for (let mi = mIdx; mi < mDate.length; mi++) {
let mm = mDate[mi] < 10 ? '0' + mDate[mi] : mDate[mi]; let mm = mDate[mi] < 10 ? '0' + mDate[mi] : mDate[mi];
// 如果到达最大值时 // 如果到达最大值时
if (nSecond > sDate[sDate.length - 1]) { if (nSecond > sDate[sDate.length - 1]) {
resetSecond(); resetSecond();

View File

@ -9,24 +9,29 @@
<el-form-item> <el-form-item>
<el-radio v-model='radioValue' :label="2"> <el-radio v-model='radioValue' :label="2">
周期从 周期从
<el-input-number v-model='cycle01' :min="0" :max="60" /> - <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='cycle02' :min="0" :max="60"/>
</el-radio> </el-radio>
</el-form-item> </el-form-item>
<el-form-item> <el-form-item>
<el-radio v-model='radioValue' :label="3"> <el-radio v-model='radioValue' :label="3">
<el-input-number v-model='average01' :min="0" :max="60" /> 秒开始 <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='average02' :min="0" :max="60"/>
秒执行一次
</el-radio> </el-radio>
</el-form-item> </el-form-item>
<el-form-item> <el-form-item>
<el-radio v-model='radioValue' :label="4"> <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%"
<el-option v-for="item in 60" :key="item" :value="item-1">{{item-1}}</el-option> @change="selectChange">
<el-option v-for="item in 60" :key="item" :value="item-1">{{ item - 1 }}</el-option>
</el-select> </el-select>
</el-radio> </el-radio>
</el-form-item> </el-form-item>
@ -49,12 +54,21 @@ export default {
name: 'crontab-second', name: 'crontab-second',
props: ['check', 'radioParent'], props: ['check', 'radioParent'],
methods: { methods: {
selectChange() {
this.radioValue = 4
},
init() {
this.cycle01 = 1
this.cycle02 = 2
this.average01 = 0
this.average02 = 1
this.checkboxList = []
},
// 单选按钮值变化时 // 单选按钮值变化时
radioChange() { radioChange() {
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

@ -15,31 +15,34 @@
<el-form-item> <el-form-item>
<el-radio v-model='radioValue' :label="3"> <el-radio v-model='radioValue' :label="3">
周期从星期 周期从星期
<el-input-number v-model='cycle01' :min="1" :max="7" /> - <el-input-number v-model='cycle01' :min="1" :max="7"/>
<el-input-number v-model='cycle02' :min="1" :max="7" /> -
<el-input-number v-model='cycle02' :min="1" :max="7"/>
</el-radio> </el-radio>
</el-form-item> </el-form-item>
<el-form-item> <el-form-item>
<el-radio v-model='radioValue' :label="4"> <el-radio v-model='radioValue' :label="4">
<el-input-number v-model='average01' :min="1" :max="4" /> 周的星期 <el-input-number v-model='average01' :min="1" :max="4"/>
<el-input-number v-model='average02' :min="1" :max="7" /> 周的星期
<el-input-number v-model='average02' :min="1" :max="7"/>
</el-radio> </el-radio>
</el-form-item> </el-form-item>
<el-form-item> <el-form-item>
<el-radio v-model='radioValue' :label="5"> <el-radio v-model='radioValue' :label="5">
本月最后一个星期 本月最后一个星期
<el-input-number v-model='weekday' :min="1" :max="7" /> <el-input-number v-model='weekday' :min="1" :max="7"/>
</el-radio> </el-radio>
</el-form-item> </el-form-item>
<el-form-item> <el-form-item>
<el-radio v-model='radioValue' :label="6"> <el-radio v-model='radioValue' :label="6">
指定 指定
<el-select clearable v-model="checkboxList" placeholder="可多选" multiple style="width:100%"> <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> @change="selectChange">
<el-option v-for="(item,index) of weekList" :key="index" :value="item">{{ item }}</el-option>
</el-select> </el-select>
</el-radio> </el-radio>
</el-form-item> </el-form-item>
@ -58,6 +61,7 @@ export default {
average01: 1, average01: 1,
average02: 1, average02: 1,
checkboxList: [], checkboxList: [],
checkboxDescribeList: [],
weekList: ['周一', '周二', '周三', '周四', '周五', '周六', '周日'], weekList: ['周一', '周二', '周三', '周四', '周五', '周六', '周日'],
checkNum: this.$options.propsData.check checkNum: this.$options.propsData.check
} }
@ -65,31 +69,32 @@ export default {
name: 'crontab-week', name: 'crontab-week',
props: ['check', 'cron'], props: ['check', 'cron'],
methods: { methods: {
selectChange(data) {
this.radioValue = 6
this.checkboxList = []
data.forEach(value => {
this.weekList.forEach((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() { 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) { switch (this.radioValue) {
case 2: case 1:
this.$emit('update', 'week', '?'); this.$emit('update', 'week', '*');
break; break;
case 3: case 3:
this.$emit('update', 'week', this.cycle01 + '-' + this.cycle02); this.$emit('update', 'week', this.cycle01 + '-' + this.cycle02);
@ -104,6 +109,13 @@ export default {
this.$emit('update', 'week', this.checkboxString); this.$emit('update', 'week', this.checkboxString);
break; break;
} }
if (this.radioValue === 2) {
this.$emit('update', 'week', '?');
this.$emit('update', 'day', '*');
} else {
this.$emit('update', 'day', '?');
}
}, },
// 根据互斥事件更改radio的值 // 根据互斥事件更改radio的值

View File

@ -57,23 +57,16 @@ export default {
name: 'crontab-year', name: 'crontab-year',
props: ['check', 'month', 'cron'], props: ['check', 'month', 'cron'],
methods: { methods: {
init() {
this.fullYear = Number(new Date().getFullYear())
this.cycle01 = 0
this.cycle02 = 0
this.average01 = 0
this.average02 = 1
this.checkboxList = []
},
// 单选按钮值变化时 // 单选按钮值变化时
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', '');

View File

@ -95,6 +95,7 @@ export default {
z-index: 9; z-index: 9;
width: calc(100% - #{$base-sidebar-width}); width: calc(100% - #{$base-sidebar-width});
transition: width 0.28s; transition: width 0.28s;
padding-right: 0;
} }
.hideSidebar .fixed-header { .hideSidebar .fixed-header {