提交 cd4119b2 编写于 作者: R RuoYi

修正单词拼写错误

上级 ea20fa3c
......@@ -75,7 +75,7 @@ export default {
if (this.radioValue === 1) {
this.$emit('update', 'day', '*', 'day');
this.$emit('update', 'week', '?', 'day');
this.$emit('update', 'mouth', '*', 'day');
this.$emit('update', 'month', '*', 'day');
} else {
if (this.cron.hour === '*') {
this.$emit('update', 'hour', '0', 'day');
......@@ -176,4 +176,4 @@ export default {
}
}
}
</script>
\ No newline at end of file
</script>
......@@ -2,59 +2,59 @@
<div>
<el-tabs type="border-card">
<el-tab-pane label="秒" v-if="shouldHide('second')">
<CrontabSecond @update="updateContabValue" :check="checkNumber" ref="cronsecond" />
<CrontabSecond @update="updateCrontabValue" :check="checkNumber" ref="cronsecond" />
</el-tab-pane>
<el-tab-pane label="分钟" v-if="shouldHide('min')">
<CrontabMin
@update="updateContabValue"
@update="updateCrontabValue"
:check="checkNumber"
:cron="contabValueObj"
:cron="crontabValueObj"
ref="cronmin"
/>
</el-tab-pane>
<el-tab-pane label="小时" v-if="shouldHide('hour')">
<CrontabHour
@update="updateContabValue"
@update="updateCrontabValue"
:check="checkNumber"
:cron="contabValueObj"
:cron="crontabValueObj"
ref="cronhour"
/>
</el-tab-pane>
<el-tab-pane label="日" v-if="shouldHide('day')">
<CrontabDay
@update="updateContabValue"
@update="updateCrontabValue"
:check="checkNumber"
:cron="contabValueObj"
:cron="crontabValueObj"
ref="cronday"
/>
</el-tab-pane>
<el-tab-pane label="月" v-if="shouldHide('mouth')">
<CrontabMouth
@update="updateContabValue"
<el-tab-pane label="月" v-if="shouldHide('month')">
<CrontabMonth
@update="updateCrontabValue"
:check="checkNumber"
:cron="contabValueObj"
ref="cronmouth"
:cron="crontabValueObj"
ref="cronmonth"
/>
</el-tab-pane>
<el-tab-pane label="周" v-if="shouldHide('week')">
<CrontabWeek
@update="updateContabValue"
@update="updateCrontabValue"
:check="checkNumber"
:cron="contabValueObj"
:cron="crontabValueObj"
ref="cronweek"
/>
</el-tab-pane>
<el-tab-pane label="年" v-if="shouldHide('year')">
<CrontabYear
@update="updateContabValue"
@update="updateCrontabValue"
:check="checkNumber"
:cron="contabValueObj"
:cron="crontabValueObj"
ref="cronyear"
/>
</el-tab-pane>
......@@ -70,33 +70,33 @@
</thead>
<tbody>
<td>
<span>{{contabValueObj.second}}</span>
<span>{{crontabValueObj.second}}</span>
</td>
<td>
<span>{{contabValueObj.min}}</span>
<span>{{crontabValueObj.min}}</span>
</td>
<td>
<span>{{contabValueObj.hour}}</span>
<span>{{crontabValueObj.hour}}</span>
</td>
<td>
<span>{{contabValueObj.day}}</span>
<span>{{crontabValueObj.day}}</span>
</td>
<td>
<span>{{contabValueObj.mouth}}</span>
<span>{{crontabValueObj.month}}</span>
</td>
<td>
<span>{{contabValueObj.week}}</span>
<span>{{crontabValueObj.week}}</span>
</td>
<td>
<span>{{contabValueObj.year}}</span>
<span>{{crontabValueObj.year}}</span>
</td>
<td>
<span>{{contabValueString}}</span>
<span>{{crontabValueString}}</span>
</td>
</tbody>
</table>
</div>
<CrontabResult :ex="contabValueString"></CrontabResult>
<CrontabResult :ex="crontabValueString"></CrontabResult>
<div class="pop_btn">
<el-button size="small" type="primary" @click="submitFill">确定</el-button>
......@@ -112,7 +112,7 @@ import CrontabSecond from "./second.vue";
import CrontabMin from "./min.vue";
import CrontabHour from "./hour.vue";
import CrontabDay from "./day.vue";
import CrontabMouth from "./mouth.vue";
import CrontabMonth from "./month.vue";
import CrontabWeek from "./week.vue";
import CrontabYear from "./year.vue";
import CrontabResult from "./result.vue";
......@@ -123,12 +123,12 @@ export default {
tabTitles: ["", "分钟", "小时", "", "", "", ""],
tabActive: 0,
myindex: 0,
contabValueObj: {
crontabValueObj: {
second: "*",
min: "*",
hour: "*",
day: "*",
mouth: "*",
month: "*",
week: "?",
year: "",
},
......@@ -142,7 +142,7 @@ export default {
return true;
},
resolveExp() {
//反解析 表达式
// 反解析 表达式
if (this.expression) {
let arr = this.expression.split(" ");
if (arr.length >= 6) {
......@@ -152,11 +152,11 @@ export default {
min: arr[1],
hour: arr[2],
day: arr[3],
mouth: arr[4],
month: arr[4],
week: arr[5],
year: arr[6] ? arr[6] : "",
};
this.contabValueObj = {
this.crontabValueObj = {
...obj,
};
for (let i in obj) {
......@@ -164,7 +164,7 @@ export default {
}
}
} else {
//没有传入的表达式 则还原
// 没有传入的表达式 则还原
this.clearCron();
}
},
......@@ -173,122 +173,122 @@ export default {
this.tabActive = index;
},
// 由子组件触发,更改表达式组成的字段值
updateContabValue(name, value, from) {
"updateContabValue", name, value, from;
this.contabValueObj[name] = value;
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", "mouth"],
let arr = ["second", "min", "hour", "month"],
refName = "cron" + name,
insVlaue;
insValue;
if (!this.$refs[refName]) return;
if (arr.includes(name)) {
if (value === "*") {
insVlaue = 1;
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];
insVlaue = 2;
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];
insVlaue = 3;
insValue = 3;
} else {
insVlaue = 4;
insValue = 4;
this.$refs[refName].checkboxList = value.split(",");
}
} else if (name == "day") {
if (value === "*") {
insVlaue = 1;
insValue = 1;
} else if (value == "?") {
insVlaue = 2;
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];
insVlaue = 3;
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];
insVlaue = 4;
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]);
insVlaue = 5;
insValue = 5;
} else if (value === "L") {
insVlaue = 6;
insValue = 6;
} else {
this.$refs[refName].checkboxList = value.split(",");
insVlaue = 7;
insValue = 7;
}
} else if (name == "week") {
if (value === "*") {
insVlaue = 1;
insValue = 1;
} else if (value == "?") {
insVlaue = 2;
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];
insVlaue = 3;
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];
insVlaue = 4;
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]);
insVlaue = 5;
insValue = 5;
} else {
this.$refs[refName].checkboxList = value.split(",");
insVlaue = 7;
insValue = 7;
}
} else if (name == "year") {
if (value == "") {
insVlaue = 1;
insValue = 1;
} else if (value == "*") {
insVlaue = 2;
insValue = 2;
} else if (value.indexOf("-") > -1) {
insVlaue = 3;
insValue = 3;
} else if (value.indexOf("/") > -1) {
insVlaue = 4;
insValue = 4;
} else {
this.$refs[refName].checkboxList = value.split(",");
insVlaue = 5;
insValue = 5;
}
}
this.$refs[refName].radioValue = insVlaue;
this.$refs[refName].radioValue = insValue;
},
// 表单选项的子组件校验数字格式(通过-props传递)
checkNumber(value, minLimit, maxLimit) {
//检查必须为整数
// 检查必须为整数
value = Math.floor(value);
if (value < minLimit) {
value = minLimit;
......@@ -303,29 +303,29 @@ export default {
},
// 填充表达式
submitFill() {
this.$emit("fill", this.contabValueString);
this.$emit("fill", this.crontabValueString);
this.hidePopup();
},
clearCron() {
// 还原选择项
("准备还原");
this.contabValueObj = {
this.crontabValueObj = {
second: "*",
min: "*",
hour: "*",
day: "*",
mouth: "*",
month: "*",
week: "?",
year: "",
};
for (let j in this.contabValueObj) {
this.changeRadio(j, this.contabValueObj[j]);
for (let j in this.crontabValueObj) {
this.changeRadio(j, this.crontabValueObj[j]);
}
},
},
computed: {
contabValueString: function() {
let obj = this.contabValueObj;
crontabValueString: function() {
let obj = this.crontabValueObj;
let str =
obj.second +
" " +
......@@ -335,7 +335,7 @@ export default {
" " +
obj.day +
" " +
obj.mouth +
obj.month +
" " +
obj.week +
(obj.year == "" ? "" : " " + obj.year);
......@@ -347,7 +347,7 @@ export default {
CrontabMin,
CrontabHour,
CrontabDay,
CrontabMouth,
CrontabMonth,
CrontabWeek,
CrontabYear,
CrontabResult,
......
<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="1" :max="12" /> -
<el-input-number v-model='cycle02' :min="1" :max="12" />
</el-radio>
</el-form-item>
<el-form-item>
<el-radio v-model='radioValue' :label="3">
<el-input-number v-model='average01' :min="1" :max="12" /> 月开始,每
<el-input-number v-model='average02' :min="1" :max="12" /> 月月执行一次
</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 12" :key="item" :value="item">{{item}}</el-option>
</el-select>
</el-radio>
</el-form-item>
</el-form>
</template>
<script>
export default {
data() {
return {
radioValue: 1,
cycle01: 1,
cycle02: 2,
average01: 1,
average02: 1,
checkboxList: [],
checkNum: this.check
}
},
name: 'crontab-mouth',
props: ['check', 'cron'],
methods: {
// 单选按钮值变化时
radioChange() {
if (this.radioValue === 1) {
this.$emit('update', 'mouth', '*');
this.$emit('update', 'year', '*');
} else {
if (this.cron.day === '*') {
this.$emit('update', 'day', '0', 'mouth');
}
if (this.cron.hour === '*') {
this.$emit('update', 'hour', '0', 'mouth');
}
if (this.cron.min === '*') {
this.$emit('update', 'min', '0', 'mouth');
}
if (this.cron.second === '*') {
this.$emit('update', 'second', '0', 'mouth');
}
}
switch (this.radioValue) {
case 2:
this.$emit('update', 'mouth', this.cycle01 + '-' + this.cycle02);
break;
case 3:
this.$emit('update', 'mouth', this.average01 + '/' + this.average02);
break;
case 4:
this.$emit('update', 'mouth', this.checkboxString);
break;
}
},
// 周期两个值变化时
cycleChange() {
if (this.radioValue == '2') {
this.$emit('update', 'mouth', this.cycleTotal);
}
},
// 平均两个值变化时
averageChange() {
if (this.radioValue == '3') {
this.$emit('update', 'mouth', this.averageTotal);
}
},
// checkbox值变化时
checkboxChange() {
if (this.radioValue == '4') {
this.$emit('update', 'mouth', this.checkboxString);
}
}
},
watch: {
"radioValue": "radioChange",
'cycleTotal': 'cycleChange',
'averageTotal': 'averageChange',
'checkboxString': 'checkboxChange'
},
computed: {
// 计算两个周期值
cycleTotal: function () {
this.cycle01 = this.checkNum(this.cycle01, 1, 12)
this.cycle02 = this.checkNum(this.cycle02, 1, 12)
return this.cycle01 + '-' + this.cycle02;
},
// 计算平均用到的值
averageTotal: function () {
this.average01 = this.checkNum(this.average01, 1, 12)
this.average02 = this.checkNum(this.average02, 1, 12)
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="1" :max="12" /> -
<el-input-number v-model='cycle02' :min="1" :max="12" />
</el-radio>
</el-form-item>
<el-form-item>
<el-radio v-model='radioValue' :label="3">
<el-input-number v-model='average01' :min="1" :max="12" /> 月开始,每
<el-input-number v-model='average02' :min="1" :max="12" /> 月月执行一次
</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 12" :key="item" :value="item">{{item}}</el-option>
</el-select>
</el-radio>
</el-form-item>
</el-form>
</template>
<script>
export default {
data() {
return {
radioValue: 1,
cycle01: 1,
cycle02: 2,
average01: 1,
average02: 1,
checkboxList: [],
checkNum: this.check
}
},
name: 'crontab-month',
props: ['check', 'cron'],
methods: {
// 单选按钮值变化时
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:
this.$emit('update', 'month', this.cycle01 + '-' + this.cycle02);
break;
case 3:
this.$emit('update', 'month', this.average01 + '/' + this.average02);
break;
case 4:
this.$emit('update', 'month', this.checkboxString);
break;
}
},
// 周期两个值变化时
cycleChange() {
if (this.radioValue == '2') {
this.$emit('update', 'month', this.cycleTotal);
}
},
// 平均两个值变化时
averageChange() {
if (this.radioValue == '3') {
this.$emit('update', 'month', this.averageTotal);
}
},
// checkbox值变化时
checkboxChange() {
if (this.radioValue == '4') {
this.$emit('update', 'month', this.checkboxString);
}
}
},
watch: {
"radioValue": "radioChange",
'cycleTotal': 'cycleChange',
'averageTotal': 'averageChange',
'checkboxString': 'checkboxChange'
},
computed: {
// 计算两个周期值
cycleTotal: function () {
this.cycle01 = this.checkNum(this.cycle01, 1, 12)
this.cycle02 = this.checkNum(this.cycle02, 1, 12)
return this.cycle01 + '-' + this.cycle02;
},
// 计算平均用到的值
averageTotal: function () {
this.average01 = this.checkNum(this.average01, 1, 12)
this.average02 = this.checkNum(this.average02, 1, 12)
return this.average01 + '/' + this.average02;
},
// 计算勾选的checkbox值合集
checkboxString: function () {
let str = this.checkboxList.join();
return str == '' ? '*' : str;
}
}
}
</script>
......@@ -37,7 +37,7 @@ export default {
// 获取当前时间精确至[年、月、日、时、分、秒]
let nTime = new Date();
let nYear = nTime.getFullYear();
let nMouth = nTime.getMonth() + 1;
let nMonth = nTime.getMonth() + 1;
let nDay = nTime.getDate();
let nHour = nTime.getHours();
let nMin = nTime.getMinutes();
......@@ -47,7 +47,7 @@ export default {
this.getMinArr(ruleArr[1]);
this.getHourArr(ruleArr[2]);
this.getDayArr(ruleArr[3]);
this.getMouthArr(ruleArr[4]);
this.getMonthArr(ruleArr[4]);
this.getWeekArr(ruleArr[5]);
this.getYearArr(ruleArr[6], nYear);
// 将获取到的数组赋值-方便使用
......@@ -62,7 +62,7 @@ export default {
let mIdx = this.getIndex(mDate, nMin);
let hIdx = this.getIndex(hDate, nHour);
let DIdx = this.getIndex(DDate, nDay);
let MIdx = this.getIndex(MDate, nMouth);
let MIdx = this.getIndex(MDate, nMonth);
let YIdx = this.getIndex(YDate, nYear);
// 重置月日时分秒的函数(后面用的比较多)
const resetSecond = function () {
......@@ -84,17 +84,17 @@ export default {
nDay = DDate[DIdx]
resetHour();
}
const resetMouth = function () {
const resetMonth = function () {
MIdx = 0;
nMouth = MDate[MIdx]
nMonth = MDate[MIdx]
resetDay();
}
// 如果当前年份不为数组中当前值
if (nYear !== YDate[YIdx]) {
resetMouth();
resetMonth();
}
// 如果当前月份不为数组中当前值
if (nMouth !== MDate[MIdx]) {
if (nMonth !== MDate[MIdx]) {
resetDay();
}
// 如果当前“日”不为数组中当前值
......@@ -114,12 +114,12 @@ export default {
goYear: for (let Yi = YIdx; Yi < YDate.length; Yi++) {
let YY = YDate[Yi];
// 如果到达最大值时
if (nMouth > MDate[MDate.length - 1]) {
resetMouth();
if (nMonth > MDate[MDate.length - 1]) {
resetMonth();
continue;
}
// 循环月份数组
goMouth: for (let Mi = MIdx; Mi < MDate.length; Mi++) {
goMonth: for (let Mi = MIdx; Mi < MDate.length; Mi++) {
// 赋值、方便后面运算
let MM = MDate[Mi];
MM = MM < 10 ? '0' + MM : MM;
......@@ -127,7 +127,7 @@ export default {
if (nDay > DDate[DDate.length - 1]) {
resetDay();
if (Mi == MDate.length - 1) {
resetMouth();
resetMonth();
continue goYear;
}
continue;
......@@ -144,10 +144,10 @@ export default {
if (Di == DDate.length - 1) {
resetDay();
if (Mi == MDate.length - 1) {
resetMouth();
resetMonth();
continue goYear;
}
continue goMouth;
continue goMonth;
}
continue;
}
......@@ -155,11 +155,11 @@ export default {
// 判断日期的合法性,不合法的话也是跳出当前循环
if (this.checkDate(YY + '-' + MM + '-' + thisDD + ' 00:00:00') !== true && this.dayRule !== 'workDay' && this.dayRule !== 'lastWeek' && this.dayRule !== 'lastDay') {
resetDay();
continue goMouth;
continue goMonth;
}
// 如果日期规则中有值时
if (this.dayRule == 'lastDay') {
//如果不是合法日期则需要将前将日期调到合法日期即月末最后一天
// 如果不是合法日期则需要将前将日期调到合法日期即月末最后一天
if (this.checkDate(YY + '-' + MM + '-' + thisDD + ' 00:00:00') !== true) {
while (DD > 0 && this.checkDate(YY + '-' + MM + '-' + thisDD + ' 00:00:00') !== true) {
......@@ -169,7 +169,7 @@ export default {
}
}
} else if (this.dayRule == 'workDay') {
//校验并调整如果是2月30号这种日期传进来时需调整至正常月底
// 校验并调整如果是2月30号这种日期传进来时需调整至正常月底
if (this.checkDate(YY + '-' + MM + '-' + thisDD + ' 00:00:00') !== true) {
while (DD > 0 && this.checkDate(YY + '-' + MM + '-' + thisDD + ' 00:00:00') !== true) {
DD--;
......@@ -180,15 +180,15 @@ export default {
let thisWeek = this.formatDate(new Date(YY + '-' + MM + '-' + thisDD + ' 00:00:00'), 'week');
// 当星期日时
if (thisWeek == 0) {
//先找下一个日,并判断是否为月底
// 先找下一个日,并判断是否为月底
DD++;
thisDD = DD < 10 ? '0' + DD : DD;
//判断下一日已经不是合法日期
// 判断下一日已经不是合法日期
if (this.checkDate(YY + '-' + MM + '-' + thisDD + ' 00:00:00') !== true) {
DD -= 3;
}
} else if (thisWeek == 6) {
//当星期6时只需判断不是1号就可进行操作
// 当星期6时只需判断不是1号就可进行操作
if (this.dayRuleSup !== 1) {
DD--;
} else {
......@@ -196,25 +196,25 @@ export default {
}
}
} else if (this.dayRule == 'weekDay') {
//如果指定了是星期几
//获取当前日期是属于星期几
// 如果指定了是星期几
// 获取当前日期是属于星期几
let thisWeek = this.formatDate(new Date(YY + '-' + MM + '-' + DD + ' 00:00:00'), 'week');
//校验当前星期是否在星期池(dayRuleSup)中
// 校验当前星期是否在星期池(dayRuleSup)中
if (Array.indexOf(this.dayRuleSup, thisWeek) < 0) {
// 如果到达最大值时
if (Di == DDate.length - 1) {
resetDay();
if (Mi == MDate.length - 1) {
resetMouth();
resetMonth();
continue goYear;
}
continue goMouth;
continue goMonth;
}
continue;
}
} else if (this.dayRule == 'assWeek') {
//如果指定了是第几周的星期几
//获取每月1号是属于星期几
// 如果指定了是第几周的星期几
// 获取每月1号是属于星期几
let thisWeek = this.formatDate(new Date(YY + '-' + MM + '-' + DD + ' 00:00:00'), 'week');
if (this.dayRuleSup[1] >= thisWeek) {
DD = (this.dayRuleSup[0] - 1) * 7 + this.dayRuleSup[1] - thisWeek + 1;
......@@ -222,17 +222,17 @@ export default {
DD = this.dayRuleSup[0] * 7 + this.dayRuleSup[1] - thisWeek + 1;
}
} else if (this.dayRule == 'lastWeek') {
//如果指定了每月最后一个星期几
//校验并调整如果是2月30号这种日期传进来时需调整至正常月底
// 如果指定了每月最后一个星期几
// 校验并调整如果是2月30号这种日期传进来时需调整至正常月底
if (this.checkDate(YY + '-' + MM + '-' + thisDD + ' 00:00:00') !== true) {
while (DD > 0 && this.checkDate(YY + '-' + MM + '-' + thisDD + ' 00:00:00') !== true) {
DD--;
thisDD = DD < 10 ? '0' + DD : DD;
}
}
//获取月末最后一天是星期几
// 获取月末最后一天是星期几
let thisWeek = this.formatDate(new Date(YY + '-' + MM + '-' + thisDD + ' 00:00:00'), 'week');
//找到要求中最近的那个星期几
// 找到要求中最近的那个星期几
if (this.dayRuleSup < thisWeek) {
DD -= thisWeek - this.dayRuleSup;
} else if (this.dayRuleSup > thisWeek) {
......@@ -254,10 +254,10 @@ export default {
if (Di == DDate.length - 1) {
resetDay();
if (Mi == MDate.length - 1) {
resetMouth();
resetMonth();
continue goYear;
}
continue goMouth;
continue goMonth;
}
continue goDay;
}
......@@ -277,10 +277,10 @@ export default {
if (Di == DDate.length - 1) {
resetDay();
if (Mi == MDate.length - 1) {
resetMouth();
resetMonth();
continue goYear;
}
continue goMouth;
continue goMonth;
}
continue goDay;
}
......@@ -296,9 +296,9 @@ export default {
resultArr.push(YY + '-' + MM + '-' + DD + ' ' + hh + ':' + mm + ':' + ss)
nums++;
}
//如果条数满了就退出循环
// 如果条数满了就退出循环
if (nums == 5) break goYear;
//如果到达最大值时
// 如果到达最大值时
if (si == sDate.length - 1) {
resetSecond();
if (mi == mDate.length - 1) {
......@@ -308,10 +308,10 @@ export default {
if (Di == DDate.length - 1) {
resetDay();
if (Mi == MDate.length - 1) {
resetMouth();
resetMonth();
continue goYear;
}
continue goMouth;
continue goMonth;
}
continue goDay;
}
......@@ -323,7 +323,7 @@ export default {
} //goMin
}//goHour
}//goDay
}//goMouth
}//goMonth
}
// 判断100年内的结果条数
if (resultArr.length == 0) {
......@@ -339,7 +339,7 @@ export default {
},
//用于计算某位数字在数组中的索引
// 用于计算某位数字在数组中的索引
getIndex(arr, value) {
if (value <= arr[0] || value > arr[arr.length - 1]) {
return 0;
......@@ -365,7 +365,7 @@ export default {
}
},
// 获取"月"数组
getMouthArr(rule) {
getMonthArr(rule) {
this.dateArr[4] = this.getOrderArr(1, 12);
if (rule.indexOf('-') >= 0) {
this.dateArr[4] = this.getCycleArr(rule, 12, false)
......@@ -377,7 +377,7 @@ export default {
},
// 获取"日"数组-主要为日期规则
getWeekArr(rule) {
//只有当日期规则的两个值均为“”时则表达日期是有选项的
// 只有当日期规则的两个值均为“”时则表达日期是有选项的
if (this.dayRule == '' && this.dayRuleSup == '') {
if (rule.indexOf('-') >= 0) {
this.dayRule = 'weekDay';
......@@ -401,7 +401,7 @@ export default {
this.dayRule = 'weekDay';
this.dayRuleSup = this.getAssignArr(rule)
}
//如果weekDay时将7调整为0【week值0即是星期日】
// 如果weekDay时将7调整为0【week值0即是星期日】
if (this.dayRule == 'weekDay') {
for (let i = 0; i < this.dayRuleSup.length; i++) {
if (this.dayRuleSup[i] == 7) {
......@@ -502,7 +502,7 @@ export default {
},
// 根据规则返回一个具有周期性的数组
getCycleArr(rule, limit, status) {
//status--表示是否从0开始(则从1开始)
// status--表示是否从0开始(则从1开始)
let arr = [];
let cycleArr = rule.split('-');
let min = Number(cycleArr[0]);
......@@ -520,7 +520,7 @@ export default {
arr.sort(this.compare)
return arr;
},
//比较数字大小(用于Array.sort)
// 比较数字大小(用于Array.sort)
compare(value1, value2) {
if (value2 - value1 > 0) {
return -1;
......@@ -563,4 +563,4 @@ export default {
}
}
</script>
\ No newline at end of file
</script>
......@@ -86,7 +86,7 @@ export default {
}
},
othChange() {
//反解析
// 反解析
let ins = this.cron.second
('反解析 second', ins);
if (ins === '*') {
......@@ -130,4 +130,4 @@ export default {
}
}
}
</script>
\ No newline at end of file
</script>
......@@ -71,8 +71,8 @@ export default {
this.$emit('update', 'week', '*');
this.$emit('update', 'year', '*');
} else {
if (this.cron.mouth === '*') {
this.$emit('update', 'mouth', '0', 'week');
if (this.cron.month === '*') {
this.$emit('update', 'month', '0', 'week');
}
if (this.cron.day === '*') {
this.$emit('update', 'day', '0', 'week');
......@@ -164,4 +164,4 @@ export default {
}
}
}
</script>
\ No newline at end of file
</script>
......@@ -55,12 +55,12 @@ export default {
}
},
name: 'crontab-year',
props: ['check', 'mouth', 'cron'],
props: ['check', 'month', 'cron'],
methods: {
// 单选按钮值变化时
radioChange() {
if (this.cron.mouth === '*') {
this.$emit('update', 'mouth', '0', 'year');
if (this.cron.month === '*') {
this.$emit('update', 'month', '0', 'year');
}
if (this.cron.day === '*') {
this.$emit('update', 'day', '0', 'year');
......@@ -141,4 +141,4 @@ export default {
this.fullYear = Number(new Date().getFullYear());
}
}
</script>
\ No newline at end of file
</script>
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册