Skip to content
项目
群组
代码片段
帮助
当前项目
正在载入...
登录 / 注册
切换导航面板
C
cocktail-party-server
项目
项目
详情
活动
周期分析
仓库
仓库
文件
提交
分支
标签
贡献者
图表
比较
统计图
议题
0
议题
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
CI / CD
CI / CD
流水线
作业
日程
统计图
Wiki
Wiki
代码片段
代码片段
成员
成员
折叠边栏
关闭边栏
活动
图像
聊天
创建新问题
作业
提交
问题看板
Open sidebar
cocktail-party
cocktail-party-server
Commits
4988b585
提交
4988b585
authored
9月 07, 2021
作者:
若依
提交者:
Gitee
9月 07, 2021
浏览文件
操作
浏览文件
下载
差异文件
!309 修正单词拼写错误
Merge pull request !309 from 稚屿/master
上级
0e615072
b35f708c
全部展开
隐藏空白字符变更
内嵌
并排
正在显示
7 个修改的文件
包含
751 行增加
和
756 行删除
+751
-756
day.vue
ruoyi-ui/src/components/Crontab/day.vue
+179
-180
index.vue
ruoyi-ui/src/components/Crontab/index.vue
+0
-0
month.vue
ruoyi-ui/src/components/Crontab/month.vue
+128
-129
result.vue
ruoyi-ui/src/components/Crontab/result.vue
+0
-0
second.vue
ruoyi-ui/src/components/Crontab/second.vue
+133
-134
week.vue
ruoyi-ui/src/components/Crontab/week.vue
+167
-168
year.vue
ruoyi-ui/src/components/Crontab/year.vue
+144
-145
没有找到文件。
ruoyi-ui/src/components/Crontab/day.vue
浏览文件 @
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
浏览文件 @
4988b585
差异被折叠。
点击展开。
ruoyi-ui/src/components/Crontab/mo
u
th.vue
→
ruoyi-ui/src/components/Crontab/mo
n
th.vue
浏览文件 @
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
浏览文件 @
4988b585
差异被折叠。
点击展开。
ruoyi-ui/src/components/Crontab/second.vue
浏览文件 @
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
浏览文件 @
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
浏览文件 @
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
>
编写
预览
Markdown
格式
0%
重试
或
添加新文件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
请先完成此评论的编辑!
取消
请
注册
或者
登录
后发表评论