Skip to content
GitLab
Menu
Projects
Groups
Snippets
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
Menu
Open sidebar
jinli gu
RuoYi Vue
Commits
4988b585
Commit
4988b585
authored
Sep 07, 2021
by
若依
Committed by
Gitee
Sep 07, 2021
Browse files
!309 修正单词拼写错误
Merge pull request !309 from 稚屿/master
parents
0e615072
b35f708c
Changes
7
Expand all
Hide whitespace changes
Inline
Side-by-side
ruoyi-ui/src/components/Crontab/day.vue
View file @
4988b585
<
template
>
<el-form
size=
"small"
>
<el-form-item>
<el-radio
v-model=
'radioValue'
:label=
"1"
>
日,允许的通配符[, - * / L M]
</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=
"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-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-radio>
</el-form-item>
<el-form-item>
<el-radio
v-model=
'radioValue'
:label=
"6"
>
本月最后一天
</el-radio>
</el-form-item>
<el-form-item>
<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-select>
</el-radio>
</el-form-item>
</el-form>
</
template
>
<
script
>
export
default
{
data
()
{
return
{
radioValue
:
1
,
workday
:
1
,
cycle01
:
1
,
cycle02
:
2
,
average01
:
1
,
average02
:
1
,
checkboxList
:
[],
checkNum
:
this
.
$options
.
propsData
.
check
}
},
name
:
'
crontab-day
'
,
props
:
[
'
check
'
,
'
cron
'
],
methods
:
{
// 单选按钮值变化时
radioChange
()
{
(
'
day rachange
'
);
if
(
this
.
radioValue
===
1
)
{
this
.
$emit
(
'
update
'
,
'
day
'
,
'
*
'
,
'
day
'
);
this
.
$emit
(
'
update
'
,
'
week
'
,
'
?
'
,
'
day
'
);
this
.
$emit
(
'
update
'
,
'
mouth
'
,
'
*
'
,
'
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
)
{
case
2
:
this
.
$emit
(
'
update
'
,
'
day
'
,
'
?
'
);
break
;
case
3
:
this
.
$emit
(
'
update
'
,
'
day
'
,
this
.
cycle01
+
'
-
'
+
this
.
cycle02
);
break
;
case
4
:
this
.
$emit
(
'
update
'
,
'
day
'
,
this
.
average01
+
'
/
'
+
this
.
average02
);
break
;
case
5
:
this
.
$emit
(
'
update
'
,
'
day
'
,
this
.
workday
+
'
W
'
);
break
;
case
6
:
this
.
$emit
(
'
update
'
,
'
day
'
,
'
L
'
);
break
;
case
7
:
this
.
$emit
(
'
update
'
,
'
day
'
,
this
.
checkboxString
);
break
;
}
(
'
day rachange end
'
);
},
// 周期两个值变化时
cycleChange
()
{
if
(
this
.
radioValue
==
'
3
'
)
{
this
.
$emit
(
'
update
'
,
'
day
'
,
this
.
cycleTotal
);
}
},
// 平均两个值变化时
averageChange
()
{
if
(
this
.
radioValue
==
'
4
'
)
{
this
.
$emit
(
'
update
'
,
'
day
'
,
this
.
averageTotal
);
}
},
// 最近工作日值变化时
workdayChange
()
{
if
(
this
.
radioValue
==
'
5
'
)
{
this
.
$emit
(
'
update
'
,
'
day
'
,
this
.
workday
+
'
W
'
);
}
},
// checkbox值变化时
checkboxChange
()
{
if
(
this
.
radioValue
==
'
7
'
)
{
this
.
$emit
(
'
update
'
,
'
day
'
,
this
.
checkboxString
);
}
},
// 父组件传递的week发生变化触发
weekChange
()
{
//判断week值与day不能同时为“?”
if
(
this
.
cron
.
week
==
'
?
'
&&
this
.
radioValue
==
'
2
'
)
{
this
.
radioValue
=
'
1
'
;
}
else
if
(
this
.
cron
.
week
!==
'
?
'
&&
this
.
radioValue
!=
'
2
'
)
{
this
.
radioValue
=
'
2
'
;
}
},
},
watch
:
{
"
radioValue
"
:
"
radioChange
"
,
'
cycleTotal
'
:
'
cycleChange
'
,
'
averageTotal
'
:
'
averageChange
'
,
'
workdayCheck
'
:
'
workdayChange
'
,
'
checkboxString
'
:
'
checkboxChange
'
,
},
computed
:
{
// 计算两个周期值
cycleTotal
:
function
()
{
this
.
cycle01
=
this
.
checkNum
(
this
.
cycle01
,
1
,
31
)
this
.
cycle02
=
this
.
checkNum
(
this
.
cycle02
,
1
,
31
)
return
this
.
cycle01
+
'
-
'
+
this
.
cycle02
;
},
// 计算平均用到的值
averageTotal
:
function
()
{
this
.
average01
=
this
.
checkNum
(
this
.
average01
,
1
,
31
)
this
.
average02
=
this
.
checkNum
(
this
.
average02
,
1
,
31
)
return
this
.
average01
+
'
/
'
+
this
.
average02
;
},
// 计算工作日格式
workdayCheck
:
function
()
{
this
.
workday
=
this
.
checkNum
(
this
.
workday
,
1
,
31
)
return
this
.
workday
;
},
// 计算勾选的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"
>
日,允许的通配符[, - * / L M]
</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=
"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-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-radio>
</el-form-item>
<el-form-item>
<el-radio
v-model=
'radioValue'
:label=
"6"
>
本月最后一天
</el-radio>
</el-form-item>
<el-form-item>
<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-select>
</el-radio>
</el-form-item>
</el-form>
</
template
>
<
script
>
export
default
{
data
()
{
return
{
radioValue
:
1
,
workday
:
1
,
cycle01
:
1
,
cycle02
:
2
,
average01
:
1
,
average02
:
1
,
checkboxList
:
[],
checkNum
:
this
.
$options
.
propsData
.
check
}
},
name
:
'
crontab-day
'
,
props
:
[
'
check
'
,
'
cron
'
],
methods
:
{
// 单选按钮值变化时
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
)
{
case
2
:
this
.
$emit
(
'
update
'
,
'
day
'
,
'
?
'
);
break
;
case
3
:
this
.
$emit
(
'
update
'
,
'
day
'
,
this
.
cycle01
+
'
-
'
+
this
.
cycle02
);
break
;
case
4
:
this
.
$emit
(
'
update
'
,
'
day
'
,
this
.
average01
+
'
/
'
+
this
.
average02
);
break
;
case
5
:
this
.
$emit
(
'
update
'
,
'
day
'
,
this
.
workday
+
'
W
'
);
break
;
case
6
:
this
.
$emit
(
'
update
'
,
'
day
'
,
'
L
'
);
break
;
case
7
:
this
.
$emit
(
'
update
'
,
'
day
'
,
this
.
checkboxString
);
break
;
}
(
'
day rachange end
'
);
},
// 周期两个值变化时
cycleChange
()
{
if
(
this
.
radioValue
==
'
3
'
)
{
this
.
$emit
(
'
update
'
,
'
day
'
,
this
.
cycleTotal
);
}
},
// 平均两个值变化时
averageChange
()
{
if
(
this
.
radioValue
==
'
4
'
)
{
this
.
$emit
(
'
update
'
,
'
day
'
,
this
.
averageTotal
);
}
},
// 最近工作日值变化时
workdayChange
()
{
if
(
this
.
radioValue
==
'
5
'
)
{
this
.
$emit
(
'
update
'
,
'
day
'
,
this
.
workday
+
'
W
'
);
}
},
// checkbox值变化时
checkboxChange
()
{
if
(
this
.
radioValue
==
'
7
'
)
{
this
.
$emit
(
'
update
'
,
'
day
'
,
this
.
checkboxString
);
}
},
// 父组件传递的week发生变化触发
weekChange
()
{
//判断week值与day不能同时为“?”
if
(
this
.
cron
.
week
==
'
?
'
&&
this
.
radioValue
==
'
2
'
)
{
this
.
radioValue
=
'
1
'
;
}
else
if
(
this
.
cron
.
week
!==
'
?
'
&&
this
.
radioValue
!=
'
2
'
)
{
this
.
radioValue
=
'
2
'
;
}
},
},
watch
:
{
"
radioValue
"
:
"
radioChange
"
,
'
cycleTotal
'
:
'
cycleChange
'
,
'
averageTotal
'
:
'
averageChange
'
,
'
workdayCheck
'
:
'
workdayChange
'
,
'
checkboxString
'
:
'
checkboxChange
'
,
},
computed
:
{
// 计算两个周期值
cycleTotal
:
function
()
{
this
.
cycle01
=
this
.
checkNum
(
this
.
cycle01
,
1
,
31
)
this
.
cycle02
=
this
.
checkNum
(
this
.
cycle02
,
1
,
31
)
return
this
.
cycle01
+
'
-
'
+
this
.
cycle02
;
},
// 计算平均用到的值
averageTotal
:
function
()
{
this
.
average01
=
this
.
checkNum
(
this
.
average01
,
1
,
31
)
this
.
average02
=
this
.
checkNum
(
this
.
average02
,
1
,
31
)
return
this
.
average01
+
'
/
'
+
this
.
average02
;
},
// 计算工作日格式
workdayCheck
:
function
()
{
this
.
workday
=
this
.
checkNum
(
this
.
workday
,
1
,
31
)
return
this
.
workday
;
},
// 计算勾选的checkbox值合集
checkboxString
:
function
()
{
let
str
=
this
.
checkboxList
.
join
();
return
str
==
''
?
'
*
'
:
str
;
}
}
}
</
script
>
ruoyi-ui/src/components/Crontab/index.vue
View file @
4988b585
This diff is collapsed.
Click to expand it.
ruoyi-ui/src/components/Crontab/mo
u
th.vue
→
ruoyi-ui/src/components/Crontab/mo
n
th.vue
View file @
4988b585
<
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
>
ruoyi-ui/src/components/Crontab/result.vue
View file @
4988b585
This diff is collapsed.
Click to expand it.
ruoyi-ui/src/components/Crontab/second.vue
View file @
4988b585
<
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-second
'
,
props
:
[
'
check
'
,
'
radioParent
'
],
methods
:
{
// 单选按钮值变化时
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
);
break
;
case
3
:
this
.
$emit
(
'
update
'
,
'
second
'
,
this
.
average01
+
'
/
'
+
this
.
average02
);
break
;
case
4
:
this
.
$emit
(
'
update
'
,
'
second
'
,
this
.
checkboxString
);
break
;
}
},
// 周期两个值变化时
cycleChange
()
{
if
(
this
.
radioValue
==
'
2
'
)
{
this
.
$emit
(
'
update
'
,
'
second
'
,
this
.
cycleTotal
);
}
},
// 平均两个值变化时
averageChange
()
{
if
(
this
.
radioValue
==
'
3
'
)
{
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
(
'
,
'
)
}
}
},
watch
:
{
"
radioValue
"
:
"
radioChange
"
,
'
cycleTotal
'
:
'
cycleChange
'
,
'
averageTotal
'
:
'
averageChange
'
,
'
checkboxString
'
:
'
checkboxChange
'
,
radioParent
()
{
this
.
radioValue
=
this
.
radioParent
}
},
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-second
'
,
props
:
[
'
check
'
,
'
radioParent
'
],
methods
:
{
// 单选按钮值变化时
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
);
break
;
case
3
:
this
.
$emit
(
'
update
'
,
'
second
'
,
this
.
average01
+
'
/
'
+
this
.
average02
);
break
;
case
4
:
this
.
$emit
(
'
update
'
,
'
second
'
,
this
.
checkboxString
);
break
;
}
},
// 周期两个值变化时
cycleChange
()
{
if
(
this
.
radioValue
==
'
2
'
)
{
this
.
$emit
(
'
update
'
,
'
second
'
,
this
.
cycleTotal
);
}
},
// 平均两个值变化时
averageChange
()
{
if
(
this
.
radioValue
==
'
3
'
)
{
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
(
'
,
'
)
}
}
},
watch
:
{
"
radioValue
"
:
"
radioChange
"
,
'
cycleTotal
'
:
'
cycleChange
'
,
'
averageTotal
'
:
'
averageChange
'
,
'
checkboxString
'
:
'
checkboxChange
'
,
radioParent
()
{
this
.
radioValue
=
this
.
radioParent
}
},
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
>
ruoyi-ui/src/components/Crontab/week.vue
View file @
4988b585
<
template
>
<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=
"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=
"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>
</
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
.
mouth
===
'
*
'
)
{
this
.
$emit
(
'
update
'
,
'
mouth
'
,
'
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的值
// 周期两个值变化时
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
>
\ No newline at end of file
<
template
>
<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=
"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=
"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>
</
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的值
// 周期两个值变化时
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
>
ruoyi-ui/src/components/Crontab/year.vue
View file @
4988b585
<
template
>
<el-form
size=
"small"
>
<el-form-item>
<el-radio
:label=
"1"
v-model=
'radioValue'
>
不填,允许的通配符[, - * /]
</el-radio>
</el-form-item>
<el-form-item>
<el-radio
:label=
"2"
v-model=
'radioValue'
>
每年
</el-radio>
</el-form-item>
<el-form-item>
<el-radio
:label=
"3"
v-model=
'radioValue'
>
周期从
<el-input-number
v-model=
'cycle01'
:min=
'fullYear'
/>
-
<el-input-number
v-model=
'cycle02'
:min=
'fullYear'
/>
</el-radio>
</el-form-item>
<el-form-item>
<el-radio
:label=
"4"
v-model=
'radioValue'
>
从
<el-input-number
v-model=
'average01'
:min=
'fullYear'
/>
年开始,每
<el-input-number
v-model=
'average02'
:min=
'fullYear'
/>
年执行一次
</el-radio>
</el-form-item>
<el-form-item>
<el-radio
:label=
"5"
v-model=
'radioValue'
>
指定
<el-select
clearable
v-model=
"checkboxList"
placeholder=
"可多选"
multiple
>
<el-option
v-for=
"item in 9"
:key=
"item"
:value=
"item - 1 + fullYear"
:label=
"item -1 + fullYear"
/>
</el-select>
</el-radio>
</el-form-item>
</el-form>
</
template
>
<
script
>
export
default
{
data
()
{
return
{
fullYear
:
0
,
radioValue
:
1
,
cycle01
:
0
,
cycle02
:
0
,
average01
:
0
,
average02
:
1
,
checkboxList
:
[],
checkNum
:
this
.
$options
.
propsData
.
check
}
},
name
:
'
crontab-year
'
,
props
:
[
'
check
'
,
'
mouth
'
,
'
cron
'
],
methods
:
{
// 单选按钮值变化时
radioChange
()
{
if
(
this
.
cron
.
mouth
===
'
*
'
)
{
this
.
$emit
(
'
update
'
,
'
mouth
'
,
'
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
'
,
''
);
break
;
case
2
:
this
.
$emit
(
'
update
'
,
'
year
'
,
'
*
'
);
break
;
case
3
:
this
.
$emit
(
'
update
'
,
'
year
'
,
this
.
cycle01
+
'
-
'
+
this
.
cycle02
);
break
;
case
4
:
this
.
$emit
(
'
update
'
,
'
year
'
,
this
.
average01
+
'
/
'
+
this
.
average02
);
break
;
case
5
:
this
.
$emit
(
'
update
'
,
'
year
'
,
this
.
checkboxString
);
break
;
}
},
// 周期两个值变化时
cycleChange
()
{
if
(
this
.
radioValue
==
'
3
'
)
{
this
.
$emit
(
'
update
'
,
'
year
'
,
this
.
cycleTotal
);
}
},
// 平均两个值变化时
averageChange
()
{
if
(
this
.
radioValue
==
'
4
'
)
{
this
.
$emit
(
'
update
'
,
'
year
'
,
this
.
averageTotal
);
}
},
// checkbox值变化时
checkboxChange
()
{
if
(
this
.
radioValue
==
'
5
'
)
{
this
.
$emit
(
'
update
'
,
'
year
'
,
this
.
checkboxString
);
}
}
},
watch
:
{
"
radioValue
"
:
"
radioChange
"
,
'
cycleTotal
'
:
'
cycleChange
'
,
'
averageTotal
'
:
'
averageChange
'
,
'
checkboxString
'
:
'
checkboxChange
'
},
computed
:
{
// 计算两个周期值
cycleTotal
:
function
()
{
this
.
cycle01
=
this
.
checkNum
(
this
.
cycle01
,
this
.
fullYear
,
this
.
fullYear
+
100
)
this
.
cycle02
=
this
.
checkNum
(
this
.
cycle02
,
this
.
fullYear
+
1
,
this
.
fullYear
+
101
)
return
this
.
cycle01
+
'
-
'
+
this
.
cycle02
;
},
// 计算平均用到的值
averageTotal
:
function
()
{
this
.
average01
=
this
.
checkNum
(
this
.
average01
,
this
.
fullYear
,
this
.
fullYear
+
100
)
this
.
average02
=
this
.
checkNum
(
this
.
average02
,
1
,
10
)
return
this
.
average01
+
'
/
'
+
this
.
average02
;
},
// 计算勾选的checkbox值合集
checkboxString
:
function
()
{
let
str
=
this
.
checkboxList
.
join
();
return
str
;
}
},
mounted
:
function
()
{
// 仅获取当前年份
this
.
fullYear
=
Number
(
new
Date
().
getFullYear
());
}
}
</
script
>
\ No newline at end of file
<
template
>
<el-form
size=
"small"
>
<el-form-item>
<el-radio
:label=
"1"
v-model=
'radioValue'
>
不填,允许的通配符[, - * /]
</el-radio>
</el-form-item>
<el-form-item>
<el-radio
:label=
"2"
v-model=
'radioValue'
>
每年
</el-radio>
</el-form-item>
<el-form-item>
<el-radio
:label=
"3"
v-model=
'radioValue'
>
周期从
<el-input-number
v-model=
'cycle01'
:min=
'fullYear'
/>
-
<el-input-number
v-model=
'cycle02'
:min=
'fullYear'
/>
</el-radio>
</el-form-item>
<el-form-item>
<el-radio
:label=
"4"
v-model=
'radioValue'
>
从
<el-input-number
v-model=
'average01'
:min=
'fullYear'
/>
年开始,每
<el-input-number
v-model=
'average02'
:min=
'fullYear'
/>
年执行一次
</el-radio>
</el-form-item>
<el-form-item>
<el-radio
:label=
"5"
v-model=
'radioValue'
>
指定
<el-select
clearable
v-model=
"checkboxList"
placeholder=
"可多选"
multiple
>
<el-option
v-for=
"item in 9"
:key=
"item"
:value=
"item - 1 + fullYear"
:label=
"item -1 + fullYear"
/>
</el-select>
</el-radio>
</el-form-item>
</el-form>
</
template
>
<
script
>
export
default
{
data
()
{
return
{
fullYear
:
0
,
radioValue
:
1
,
cycle01
:
0
,
cycle02
:
0
,
average01
:
0
,
average02
:
1
,
checkboxList
:
[],
checkNum
:
this
.
$options
.
propsData
.
check
}
},
name
:
'
crontab-year
'
,
props
:
[
'
check
'
,
'
month
'
,
'
cron
'
],
methods
:
{
// 单选按钮值变化时
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
'
,
''
);
break
;
case
2
:
this
.
$emit
(
'
update
'
,
'
year
'
,
'
*
'
);
break
;
case
3
:
this
.
$emit
(
'
update
'
,
'
year
'
,
this
.
cycle01
+
'
-
'
+
this
.
cycle02
);
break
;
case
4
:
this
.
$emit
(
'
update
'
,
'
year
'
,
this
.
average01
+
'
/
'
+
this
.
average02
);
break
;
case
5
:
this
.
$emit
(
'
update
'
,
'
year
'
,
this
.
checkboxString
);
break
;
}
},
// 周期两个值变化时
cycleChange
()
{
if
(
this
.
radioValue
==
'
3
'
)
{
this
.
$emit
(
'
update
'
,
'
year
'
,
this
.
cycleTotal
);
}
},
// 平均两个值变化时
averageChange
()
{
if
(
this
.
radioValue
==
'
4
'
)
{
this
.
$emit
(
'
update
'
,
'
year
'
,
this
.
averageTotal
);
}
},
// checkbox值变化时
checkboxChange
()
{
if
(
this
.
radioValue
==
'
5
'
)
{
this
.
$emit
(
'
update
'
,
'
year
'
,
this
.
checkboxString
);
}
}
},
watch
:
{
"
radioValue
"
:
"
radioChange
"
,
'
cycleTotal
'
:
'
cycleChange
'
,
'
averageTotal
'
:
'
averageChange
'
,
'
checkboxString
'
:
'
checkboxChange
'
},
computed
:
{
// 计算两个周期值
cycleTotal
:
function
()
{
this
.
cycle01
=
this
.
checkNum
(
this
.
cycle01
,
this
.
fullYear
,
this
.
fullYear
+
100
)
this
.
cycle02
=
this
.
checkNum
(
this
.
cycle02
,
this
.
fullYear
+
1
,
this
.
fullYear
+
101
)
return
this
.
cycle01
+
'
-
'
+
this
.
cycle02
;
},
// 计算平均用到的值
averageTotal
:
function
()
{
this
.
average01
=
this
.
checkNum
(
this
.
average01
,
this
.
fullYear
,
this
.
fullYear
+
100
)
this
.
average02
=
this
.
checkNum
(
this
.
average02
,
1
,
10
)
return
this
.
average01
+
'
/
'
+
this
.
average02
;
},
// 计算勾选的checkbox值合集
checkboxString
:
function
()
{
let
str
=
this
.
checkboxList
.
join
();
return
str
;
}
},
mounted
:
function
()
{
// 仅获取当前年份
this
.
fullYear
=
Number
(
new
Date
().
getFullYear
());
}
}
</
script
>
Write
Preview
Supports
Markdown
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment