Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
多鱼的夏天
RuoYi-Cloud-Docker
提交
2e17d9c0
R
RuoYi-Cloud-Docker
项目概览
多鱼的夏天
/
RuoYi-Cloud-Docker
通知
210
Star
7
Fork
6
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
DevOps
流水线
流水线任务
计划
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
R
RuoYi-Cloud-Docker
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
DevOps
DevOps
流水线
流水线任务
计划
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
流水线任务
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
提交
2e17d9c0
编写于
12月 02, 2021
作者:
R
RuoYi
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
Crontab组件优化
上级
82779f3c
变更
9
隐藏空白更改
内联
并排
Showing
9 changed file
with
181 addition
and
221 deletion
+181
-221
ruoyi-ui/src/components/Crontab/day.vue
ruoyi-ui/src/components/Crontab/day.vue
+24
-42
ruoyi-ui/src/components/Crontab/hour.vue
ruoyi-ui/src/components/Crontab/hour.vue
+16
-24
ruoyi-ui/src/components/Crontab/index.vue
ruoyi-ui/src/components/Crontab/index.vue
+6
-1
ruoyi-ui/src/components/Crontab/min.vue
ruoyi-ui/src/components/Crontab/min.vue
+13
-17
ruoyi-ui/src/components/Crontab/month.vue
ruoyi-ui/src/components/Crontab/month.vue
+16
-30
ruoyi-ui/src/components/Crontab/result.vue
ruoyi-ui/src/components/Crontab/result.vue
+7
-14
ruoyi-ui/src/components/Crontab/second.vue
ruoyi-ui/src/components/Crontab/second.vue
+13
-29
ruoyi-ui/src/components/Crontab/week.vue
ruoyi-ui/src/components/Crontab/week.vue
+71
-36
ruoyi-ui/src/components/Crontab/year.vue
ruoyi-ui/src/components/Crontab/year.vue
+15
-28
未找到文件。
ruoyi-ui/src/components/Crontab/day.vue
浏览文件 @
2e17d9c0
...
...
@@ -2,7 +2,7 @@
<el-form
size=
"small"
>
<el-form-item>
<el-radio
v-model=
'radioValue'
:label=
"1"
>
日,允许的通配符[, - *
/ L M
]
日,允许的通配符[, - *
? / L W
]
</el-radio>
</el-form-item>
...
...
@@ -15,23 +15,23 @@
<el-form-item>
<el-radio
v-model=
'radioValue'
:label=
"3"
>
周期从
<el-input-number
v-model=
'cycle01'
:min=
"
0"
:max=
"31
"
/>
-
<el-input-number
v-model=
'cycle02'
:min=
"
0
"
:max=
"31"
/>
日
<el-input-number
v-model=
'cycle01'
:min=
"
1"
:max=
"30
"
/>
-
<el-input-number
v-model=
'cycle02'
:min=
"
cycle01 ? cycle01 + 1 : 2
"
: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=
"3
1"
/>
日执行一次
<el-input-number
v-model=
'average01'
:min=
"
1"
:max=
"30
"
/>
号开始,每
<el-input-number
v-model=
'average02'
:min=
"
1"
:max=
"31 - average01 ||
1"
/>
日执行一次
</el-radio>
</el-form-item>
<el-form-item>
<el-radio
v-model=
'radioValue'
:label=
"5"
>
每月
<el-input-number
v-model=
'workday'
:min=
"
0
"
:max=
"31"
/>
号最近的那个工作日
<el-input-number
v-model=
'workday'
:min=
"
1
"
:max=
"31"
/>
号最近的那个工作日
</el-radio>
</el-form-item>
...
...
@@ -72,31 +72,22 @@ export default {
// 单选按钮值变化时
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
'
);
}
if
(
this
.
radioValue
!==
2
&&
this
.
cron
.
week
!==
'
?
'
)
{
this
.
$emit
(
'
update
'
,
'
week
'
,
'
?
'
,
'
day
'
)
}
switch
(
this
.
radioValue
)
{
case
1
:
this
.
$emit
(
'
update
'
,
'
day
'
,
'
*
'
);
break
;
case
2
:
this
.
$emit
(
'
update
'
,
'
day
'
,
'
?
'
);
break
;
case
3
:
this
.
$emit
(
'
update
'
,
'
day
'
,
this
.
cycle
01
+
'
-
'
+
this
.
cycle02
);
this
.
$emit
(
'
update
'
,
'
day
'
,
this
.
cycle
Total
);
break
;
case
4
:
this
.
$emit
(
'
update
'
,
'
day
'
,
this
.
average
01
+
'
/
'
+
this
.
average02
);
this
.
$emit
(
'
update
'
,
'
day
'
,
this
.
average
Total
);
break
;
case
5
:
this
.
$emit
(
'
update
'
,
'
day
'
,
this
.
workday
+
'
W
'
);
...
...
@@ -125,7 +116,7 @@ export default {
// 最近工作日值变化时
workdayChange
()
{
if
(
this
.
radioValue
==
'
5
'
)
{
this
.
$emit
(
'
update
'
,
'
day
'
,
this
.
workday
+
'
W
'
);
this
.
$emit
(
'
update
'
,
'
day
'
,
this
.
workday
Check
+
'
W
'
);
}
},
// checkbox值变化时
...
...
@@ -133,19 +124,10 @@ export default {
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
"
,
'
radioValue
'
:
'
radioChange
'
,
'
cycleTotal
'
:
'
cycleChange
'
,
'
averageTotal
'
:
'
averageChange
'
,
'
workdayCheck
'
:
'
workdayChange
'
,
...
...
@@ -154,20 +136,20 @@ export default {
computed
:
{
// 计算两个周期值
cycleTotal
:
function
()
{
this
.
cycle01
=
this
.
checkNum
(
this
.
cycle01
,
1
,
31
)
this
.
cycle02
=
this
.
checkNum
(
this
.
cycle02
,
1
,
31
)
return
this
.
cycle01
+
'
-
'
+
this
.
cycle02
;
const
cycle01
=
this
.
checkNum
(
this
.
cycle01
,
1
,
30
)
const
cycle02
=
this
.
checkNum
(
this
.
cycle02
,
cycle01
?
cycle01
+
1
:
2
,
3
1
,
31
)
return
cycle01
+
'
-
'
+
cycle02
;
},
// 计算平均用到的值
averageTotal
:
function
()
{
this
.
average01
=
this
.
checkNum
(
this
.
average01
,
1
,
31
)
this
.
average02
=
this
.
checkNum
(
this
.
average02
,
1
,
31
)
return
this
.
average01
+
'
/
'
+
this
.
average02
;
const
average01
=
this
.
checkNum
(
this
.
average01
,
1
,
30
)
const
average02
=
this
.
checkNum
(
this
.
average02
,
1
,
31
-
average01
||
0
)
return
average01
+
'
/
'
+
average02
;
},
// 计算工作日格式
workdayCheck
:
function
()
{
this
.
workday
=
this
.
checkNum
(
this
.
workday
,
1
,
31
)
return
this
.
workday
;
const
workday
=
this
.
checkNum
(
this
.
workday
,
1
,
31
)
return
workday
;
},
// 计算勾选的checkbox值合集
checkboxString
:
function
()
{
...
...
ruoyi-ui/src/components/Crontab/hour.vue
浏览文件 @
2e17d9c0
...
...
@@ -9,16 +9,16 @@
<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-input-number
v-model=
'cycle01'
:min=
"0"
:max=
"
22
"
/>
-
<el-input-number
v-model=
'cycle02'
:min=
"
cycle01 ? cycle01 + 1 : 1"
:max=
"23
"
/>
小时
</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=
"6
0"
/>
小时执行一次
<el-input-number
v-model=
'average01'
:min=
"0"
:max=
"
22
"
/>
小时开始,每
<el-input-number
v-model=
'average02'
:min=
"
1"
:max=
"23 - average01 ||
0"
/>
小时执行一次
</el-radio>
</el-form-item>
...
...
@@ -51,23 +51,15 @@ export default {
methods
:
{
// 单选按钮值变化时
radioChange
()
{
if
(
this
.
radioValue
===
1
)
{
this
.
$emit
(
'
update
'
,
'
hour
'
,
'
*
'
,
'
hour
'
);
this
.
$emit
(
'
update
'
,
'
day
'
,
'
*
'
,
'
hour
'
);
}
else
{
if
(
this
.
cron
.
min
===
'
*
'
)
{
this
.
$emit
(
'
update
'
,
'
min
'
,
'
0
'
,
'
hour
'
);
}
if
(
this
.
cron
.
second
===
'
*
'
)
{
this
.
$emit
(
'
update
'
,
'
second
'
,
'
0
'
,
'
hour
'
);
}
}
switch
(
this
.
radioValue
)
{
case
1
:
this
.
$emit
(
'
update
'
,
'
hour
'
,
'
*
'
)
break
;
case
2
:
this
.
$emit
(
'
update
'
,
'
hour
'
,
this
.
cycle
01
+
'
-
'
+
this
.
cycle02
);
this
.
$emit
(
'
update
'
,
'
hour
'
,
this
.
cycle
Total
);
break
;
case
3
:
this
.
$emit
(
'
update
'
,
'
hour
'
,
this
.
average
01
+
'
/
'
+
this
.
average02
);
this
.
$emit
(
'
update
'
,
'
hour
'
,
this
.
average
Total
);
break
;
case
4
:
this
.
$emit
(
'
update
'
,
'
hour
'
,
this
.
checkboxString
);
...
...
@@ -94,7 +86,7 @@ export default {
}
},
watch
:
{
"
radioValue
"
:
"
radioChange
"
,
'
radioValue
'
:
'
radioChange
'
,
'
cycleTotal
'
:
'
cycleChange
'
,
'
averageTotal
'
:
'
averageChange
'
,
'
checkboxString
'
:
'
checkboxChange
'
...
...
@@ -102,15 +94,15 @@ export default {
computed
:
{
// 计算两个周期值
cycleTotal
:
function
()
{
this
.
cycle01
=
this
.
checkNum
(
this
.
cycle01
,
0
,
23
)
this
.
cycle02
=
this
.
checkNum
(
this
.
cycle02
,
0
,
23
)
return
this
.
cycle01
+
'
-
'
+
this
.
cycle02
;
const
cycle01
=
this
.
checkNum
(
this
.
cycle01
,
0
,
22
)
const
cycle02
=
this
.
checkNum
(
this
.
cycle02
,
cycle01
?
cycle01
+
1
:
1
,
23
)
return
cycle01
+
'
-
'
+
cycle02
;
},
// 计算平均用到的值
averageTotal
:
function
()
{
this
.
average01
=
this
.
checkNum
(
this
.
average01
,
0
,
23
)
this
.
average02
=
this
.
checkNum
(
this
.
average02
,
1
,
23
)
return
this
.
average01
+
'
/
'
+
this
.
average02
;
const
average01
=
this
.
checkNum
(
this
.
average01
,
0
,
22
)
const
average02
=
this
.
checkNum
(
this
.
average02
,
1
,
23
-
average01
||
0
)
return
average01
+
'
/
'
+
average02
;
},
// 计算勾选的checkbox值合集
checkboxString
:
function
()
{
...
...
ruoyi-ui/src/components/Crontab/index.vue
浏览文件 @
2e17d9c0
...
...
@@ -2,7 +2,12 @@
<div>
<el-tabs
type=
"border-card"
>
<el-tab-pane
label=
"秒"
v-if=
"shouldHide('second')"
>
<CrontabSecond
@
update=
"updateCrontabValue"
:check=
"checkNumber"
ref=
"cronsecond"
/>
<CrontabSecond
@
update=
"updateCrontabValue"
:check=
"checkNumber"
:cron=
"crontabValueObj"
ref=
"cronsecond"
/>
</el-tab-pane>
<el-tab-pane
label=
"分钟"
v-if=
"shouldHide('min')"
>
...
...
ruoyi-ui/src/components/Crontab/min.vue
浏览文件 @
2e17d9c0
...
...
@@ -9,16 +9,16 @@
<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-input-number
v-model=
'cycle01'
:min=
"0"
:max=
"
58
"
/>
-
<el-input-number
v-model=
'cycle02'
:min=
"
cycle01 ? cycle01 + 1 : 1"
:max=
"59
"
/>
分钟
</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=
"6
0"
/>
分钟执行一次
<el-input-number
v-model=
'average01'
:min=
"0"
:max=
"
58
"
/>
分钟开始,每
<el-input-number
v-model=
'average02'
:min=
"
1"
:max=
"59 - average01 ||
0"
/>
分钟执行一次
</el-radio>
</el-form-item>
...
...
@@ -52,19 +52,15 @@ export default {
methods
:
{
// 单选按钮值变化时
radioChange
()
{
if
(
this
.
radioValue
!==
1
&&
this
.
cron
.
second
===
'
*
'
)
{
this
.
$emit
(
'
update
'
,
'
second
'
,
'
0
'
,
'
min
'
);
}
switch
(
this
.
radioValue
)
{
case
1
:
this
.
$emit
(
'
update
'
,
'
min
'
,
'
*
'
,
'
min
'
);
this
.
$emit
(
'
update
'
,
'
hour
'
,
'
*
'
,
'
min
'
);
break
;
case
2
:
this
.
$emit
(
'
update
'
,
'
min
'
,
this
.
cycle
01
+
'
-
'
+
this
.
cycle02
,
'
min
'
);
this
.
$emit
(
'
update
'
,
'
min
'
,
this
.
cycle
Total
,
'
min
'
);
break
;
case
3
:
this
.
$emit
(
'
update
'
,
'
min
'
,
this
.
average
01
+
'
/
'
+
this
.
average02
,
'
min
'
);
this
.
$emit
(
'
update
'
,
'
min
'
,
this
.
average
Total
,
'
min
'
);
break
;
case
4
:
this
.
$emit
(
'
update
'
,
'
min
'
,
this
.
checkboxString
,
'
min
'
);
...
...
@@ -92,7 +88,7 @@ export default {
},
watch
:
{
"
radioValue
"
:
"
radioChange
"
,
'
radioValue
'
:
'
radioChange
'
,
'
cycleTotal
'
:
'
cycleChange
'
,
'
averageTotal
'
:
'
averageChange
'
,
'
checkboxString
'
:
'
checkboxChange
'
,
...
...
@@ -100,15 +96,15 @@ export default {
computed
:
{
// 计算两个周期值
cycleTotal
:
function
()
{
this
.
cycle01
=
this
.
checkNum
(
this
.
cycle01
,
0
,
59
)
this
.
cycle02
=
this
.
checkNum
(
this
.
cycle02
,
0
,
59
)
return
this
.
cycle01
+
'
-
'
+
this
.
cycle02
;
const
cycle01
=
this
.
checkNum
(
this
.
cycle01
,
0
,
58
)
const
cycle02
=
this
.
checkNum
(
this
.
cycle02
,
cycle01
?
cycle01
+
1
:
1
,
59
)
return
cycle01
+
'
-
'
+
cycle02
;
},
// 计算平均用到的值
averageTotal
:
function
()
{
this
.
average01
=
this
.
checkNum
(
this
.
average01
,
0
,
59
)
this
.
average02
=
this
.
checkNum
(
this
.
average02
,
1
,
59
)
return
this
.
average01
+
'
/
'
+
this
.
average02
;
const
average01
=
this
.
checkNum
(
this
.
average01
,
0
,
58
)
const
average02
=
this
.
checkNum
(
this
.
average02
,
1
,
59
-
average01
||
0
)
return
average01
+
'
/
'
+
average02
;
},
// 计算勾选的checkbox值合集
checkboxString
:
function
()
{
...
...
ruoyi-ui/src/components/Crontab/month.vue
浏览文件 @
2e17d9c0
...
...
@@ -9,16 +9,16 @@
<el-form-item>
<el-radio
v-model=
'radioValue'
:label=
"2"
>
周期从
<el-input-number
v-model=
'cycle01'
:min=
"1"
:max=
"1
2
"
/>
-
<el-input-number
v-model=
'cycle02'
:min=
"
1
"
:max=
"12"
/>
月
<el-input-number
v-model=
'cycle01'
:min=
"1"
:max=
"1
1
"
/>
-
<el-input-number
v-model=
'cycle02'
:min=
"
cycle01 ? cycle01 + 1 : 2
"
: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=
"1
2
"
/>
月开始,每
<el-input-number
v-model=
'average02'
:min=
"1"
:max=
"12"
/>
月月执行一次
<el-input-number
v-model=
'average01'
:min=
"1"
:max=
"1
1
"
/>
月开始,每
<el-input-number
v-model=
'average02'
:min=
"1"
:max=
"12
- average01 || 0
"
/>
月月执行一次
</el-radio>
</el-form-item>
...
...
@@ -51,29 +51,15 @@ export default {
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
1
:
this
.
$emit
(
'
update
'
,
'
month
'
,
'
*
'
);
break
;
case
2
:
this
.
$emit
(
'
update
'
,
'
month
'
,
this
.
cycle
01
+
'
-
'
+
this
.
cycle02
);
this
.
$emit
(
'
update
'
,
'
month
'
,
this
.
cycle
Total
);
break
;
case
3
:
this
.
$emit
(
'
update
'
,
'
month
'
,
this
.
average
01
+
'
/
'
+
this
.
average02
);
this
.
$emit
(
'
update
'
,
'
month
'
,
this
.
average
Total
);
break
;
case
4
:
this
.
$emit
(
'
update
'
,
'
month
'
,
this
.
checkboxString
);
...
...
@@ -100,7 +86,7 @@ export default {
}
},
watch
:
{
"
radioValue
"
:
"
radioChange
"
,
'
radioValue
'
:
'
radioChange
'
,
'
cycleTotal
'
:
'
cycleChange
'
,
'
averageTotal
'
:
'
averageChange
'
,
'
checkboxString
'
:
'
checkboxChange
'
...
...
@@ -108,15 +94,15 @@ export default {
computed
:
{
// 计算两个周期值
cycleTotal
:
function
()
{
this
.
cycle01
=
this
.
checkNum
(
this
.
cycle01
,
1
,
12
)
this
.
cycle02
=
this
.
checkNum
(
this
.
cycle02
,
1
,
12
)
return
this
.
cycle01
+
'
-
'
+
this
.
cycle02
;
const
cycle01
=
this
.
checkNum
(
this
.
cycle01
,
1
,
11
)
const
cycle02
=
this
.
checkNum
(
this
.
cycle02
,
cycle01
?
cycle01
+
1
:
2
,
12
)
return
cycle01
+
'
-
'
+
cycle02
;
},
// 计算平均用到的值
averageTotal
:
function
()
{
this
.
average01
=
this
.
checkNum
(
this
.
average01
,
1
,
12
)
this
.
average02
=
this
.
checkNum
(
this
.
average02
,
1
,
12
)
return
this
.
average01
+
'
/
'
+
this
.
average02
;
const
average01
=
this
.
checkNum
(
this
.
average01
,
1
,
11
)
const
average02
=
this
.
checkNum
(
this
.
average02
,
1
,
12
-
average01
||
0
)
return
average01
+
'
/
'
+
average02
;
},
// 计算勾选的checkbox值合集
checkboxString
:
function
()
{
...
...
ruoyi-ui/src/components/Crontab/result.vue
浏览文件 @
2e17d9c0
...
...
@@ -179,7 +179,7 @@ export default {
// 获取达到条件的日期是星期X
let
thisWeek
=
this
.
formatDate
(
new
Date
(
YY
+
'
-
'
+
MM
+
'
-
'
+
thisDD
+
'
00:00:00
'
),
'
week
'
);
// 当星期日时
if
(
thisWeek
==
0
)
{
if
(
thisWeek
==
1
)
{
// 先找下一个日,并判断是否为月底
DD
++
;
thisDD
=
DD
<
10
?
'
0
'
+
DD
:
DD
;
...
...
@@ -187,7 +187,7 @@ export default {
if
(
this
.
checkDate
(
YY
+
'
-
'
+
MM
+
'
-
'
+
thisDD
+
'
00:00:00
'
)
!==
true
)
{
DD
-=
3
;
}
}
else
if
(
thisWeek
==
6
)
{
}
else
if
(
thisWeek
==
7
)
{
// 当星期6时只需判断不是1号就可进行操作
if
(
this
.
dayRuleSup
!==
1
)
{
DD
--
;
...
...
@@ -200,7 +200,7 @@ export default {
// 获取当前日期是属于星期几
let
thisWeek
=
this
.
formatDate
(
new
Date
(
YY
+
'
-
'
+
MM
+
'
-
'
+
DD
+
'
00:00:00
'
),
'
week
'
);
// 校验当前星期是否在星期池(dayRuleSup)中
if
(
Array
.
indexOf
(
this
.
dayRuleSup
,
thisWeek
)
<
0
)
{
if
(
this
.
dayRuleSup
.
indexOf
(
thisWeek
)
<
0
)
{
// 如果到达最大值时
if
(
Di
==
DDate
.
length
-
1
)
{
resetDay
();
...
...
@@ -385,7 +385,7 @@ export default {
}
else
if
(
rule
.
indexOf
(
'
#
'
)
>=
0
)
{
this
.
dayRule
=
'
assWeek
'
;
let
matchRule
=
rule
.
match
(
/
[
0-9
]{1}
/g
);
this
.
dayRuleSup
=
[
Number
(
matchRule
[
0
]),
Number
(
matchRule
[
1
])];
this
.
dayRuleSup
=
[
Number
(
matchRule
[
1
]),
Number
(
matchRule
[
0
])];
this
.
dateArr
[
3
]
=
[
1
];
if
(
this
.
dayRuleSup
[
1
]
==
7
)
{
this
.
dayRuleSup
[
1
]
=
0
;
...
...
@@ -401,14 +401,6 @@ export default {
this
.
dayRule
=
'
weekDay
'
;
this
.
dayRuleSup
=
this
.
getAssignArr
(
rule
)
}
// 如果weekDay时将7调整为0【week值0即是星期日】
if
(
this
.
dayRule
==
'
weekDay
'
)
{
for
(
let
i
=
0
;
i
<
this
.
dayRuleSup
.
length
;
i
++
)
{
if
(
this
.
dayRuleSup
[
i
]
==
7
)
{
this
.
dayRuleSup
[
i
]
=
0
;
}
}
}
}
},
// 获取"日"数组-少量为日期规则
...
...
@@ -543,14 +535,15 @@ export default {
if
(
type
==
undefined
)
{
return
Y
+
'
-
'
+
(
M
<
10
?
'
0
'
+
M
:
M
)
+
'
-
'
+
(
D
<
10
?
'
0
'
+
D
:
D
)
+
'
'
+
(
h
<
10
?
'
0
'
+
h
:
h
)
+
'
:
'
+
(
m
<
10
?
'
0
'
+
m
:
m
)
+
'
:
'
+
(
s
<
10
?
'
0
'
+
s
:
s
);
}
else
if
(
type
==
'
week
'
)
{
return
week
;
// 在quartz中 1为星期日
return
week
+
1
;
}
},
// 检查日期是否存在
checkDate
(
value
)
{
let
time
=
new
Date
(
value
);
let
format
=
this
.
formatDate
(
time
)
return
value
==
format
?
true
:
false
;
return
value
==
=
format
;
}
},
watch
:
{
...
...
ruoyi-ui/src/components/Crontab/second.vue
浏览文件 @
2e17d9c0
...
...
@@ -9,16 +9,16 @@
<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-input-number
v-model=
'cycle01'
:min=
"0"
:max=
"
58
"
/>
-
<el-input-number
v-model=
'cycle02'
:min=
"
cycle01 ? cycle01 + 1 : 1"
:max=
"59
"
/>
秒
</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=
"6
0"
/>
秒执行一次
<el-input-number
v-model=
'average01'
:min=
"0"
:max=
"
58
"
/>
秒开始,每
<el-input-number
v-model=
'average02'
:min=
"
1"
:max=
"59 - average01 ||
0"
/>
秒执行一次
</el-radio>
</el-form-item>
...
...
@@ -54,13 +54,12 @@ export default {
switch
(
this
.
radioValue
)
{
case
1
:
this
.
$emit
(
'
update
'
,
'
second
'
,
'
*
'
,
'
second
'
);
this
.
$emit
(
'
update
'
,
'
min
'
,
'
*
'
,
'
second
'
);
break
;
case
2
:
this
.
$emit
(
'
update
'
,
'
second
'
,
this
.
cycle
01
+
'
-
'
+
this
.
cycle02
);
this
.
$emit
(
'
update
'
,
'
second
'
,
this
.
cycle
Total
);
break
;
case
3
:
this
.
$emit
(
'
update
'
,
'
second
'
,
this
.
average
01
+
'
/
'
+
this
.
average02
);
this
.
$emit
(
'
update
'
,
'
second
'
,
this
.
average
Total
);
break
;
case
4
:
this
.
$emit
(
'
update
'
,
'
second
'
,
this
.
checkboxString
);
...
...
@@ -84,25 +83,10 @@ export default {
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
"
,
'
radioValue
'
:
'
radioChange
'
,
'
cycleTotal
'
:
'
cycleChange
'
,
'
averageTotal
'
:
'
averageChange
'
,
'
checkboxString
'
:
'
checkboxChange
'
,
...
...
@@ -113,15 +97,15 @@ export default {
computed
:
{
// 计算两个周期值
cycleTotal
:
function
()
{
this
.
cycle01
=
this
.
checkNum
(
this
.
cycle01
,
0
,
59
)
this
.
cycle02
=
this
.
checkNum
(
this
.
cycle02
,
0
,
59
)
return
this
.
cycle01
+
'
-
'
+
this
.
cycle02
;
const
cycle01
=
this
.
checkNum
(
this
.
cycle01
,
0
,
58
)
const
cycle02
=
this
.
checkNum
(
this
.
cycle02
,
cycle01
?
cycle01
+
1
:
1
,
59
)
return
cycle01
+
'
-
'
+
cycle02
;
},
// 计算平均用到的值
averageTotal
:
function
()
{
this
.
average01
=
this
.
checkNum
(
this
.
average01
,
0
,
59
)
this
.
average02
=
this
.
checkNum
(
this
.
average02
,
1
,
59
)
return
this
.
average01
+
'
/
'
+
this
.
average02
;
const
average01
=
this
.
checkNum
(
this
.
average01
,
0
,
58
)
const
average02
=
this
.
checkNum
(
this
.
average02
,
1
,
59
-
average01
||
0
)
return
average01
+
'
/
'
+
average02
;
},
// 计算勾选的checkbox值合集
checkboxString
:
function
()
{
...
...
ruoyi-ui/src/components/Crontab/week.vue
浏览文件 @
2e17d9c0
...
...
@@ -2,7 +2,7 @@
<el-form
size=
'small'
>
<el-form-item>
<el-radio
v-model=
'radioValue'
:label=
"1"
>
周,允许的通配符[, - * / L #]
周,允许的通配符[, - *
?
/ L #]
</el-radio>
</el-form-item>
...
...
@@ -15,8 +15,25 @@
<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-select
clearable
v-model=
"cycle01"
>
<el-option
v-for=
"(item,index) of weekList"
:key=
"index"
:label=
"item.value"
:value=
"item.key"
:disabled=
"item.key === 1"
>
{{
item
.
value
}}
</el-option>
</el-select>
-
<el-select
clearable
v-model=
"cycle02"
>
<el-option
v-for=
"(item,index) of weekList"
:key=
"index"
:label=
"item.value"
:value=
"item.key"
:disabled=
"item.key
<
cycle01
&&
item.key
!==
1"
>
{{
item
.
value
}}
</el-option>
</el-select>
</el-radio>
</el-form-item>
...
...
@@ -24,14 +41,18 @@
<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-select
clearable
v-model=
"average02"
>
<el-option
v-for=
"(item,index) of weekList"
:key=
"index"
:label=
"item.value"
:value=
"item.key"
>
{{
item
.
value
}}
</el-option>
</el-select>
</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-select
clearable
v-model=
"weekday"
>
<el-option
v-for=
"(item,index) of weekList"
:key=
"index"
:label=
"item.value"
:value=
"item.key"
>
{{
item
.
value
}}
</el-option>
</el-select>
</el-radio>
</el-form-item>
...
...
@@ -39,7 +60,7 @@
<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-option
v-for=
"(item,index) of weekList"
:key=
"index"
:
label=
"item.value"
:value=
"item.key"
>
{{
item
.
value
}}
</el-option>
</el-select>
</el-radio>
</el-form-item>
...
...
@@ -52,13 +73,42 @@ export default {
data
()
{
return
{
radioValue
:
2
,
weekday
:
1
,
cycle01
:
1
,
cycle02
:
2
,
weekday
:
2
,
cycle01
:
2
,
cycle02
:
3
,
average01
:
1
,
average02
:
1
,
average02
:
2
,
checkboxList
:
[],
weekList
:
[
'
周一
'
,
'
周二
'
,
'
周三
'
,
'
周四
'
,
'
周五
'
,
'
周六
'
,
'
周日
'
],
weekList
:
[
{
key
:
2
,
value
:
'
星期一
'
},
{
key
:
3
,
value
:
'
星期二
'
},
{
key
:
4
,
value
:
'
星期三
'
},
{
key
:
5
,
value
:
'
星期四
'
},
{
key
:
6
,
value
:
'
星期五
'
},
{
key
:
7
,
value
:
'
星期六
'
},
{
key
:
1
,
value
:
'
星期日
'
}
],
checkNum
:
this
.
$options
.
propsData
.
check
}
},
...
...
@@ -67,45 +117,30 @@ export default {
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
'
);
}
if
(
this
.
radioValue
!==
2
&&
this
.
cron
.
day
!==
'
?
'
)
{
this
.
$emit
(
'
update
'
,
'
day
'
,
'
?
'
,
'
week
'
);
}
switch
(
this
.
radioValue
)
{
case
1
:
this
.
$emit
(
'
update
'
,
'
week
'
,
'
*
'
);
break
;
case
2
:
this
.
$emit
(
'
update
'
,
'
week
'
,
'
?
'
);
break
;
case
3
:
this
.
$emit
(
'
update
'
,
'
week
'
,
this
.
cycle
01
+
'
-
'
+
this
.
cycle02
);
this
.
$emit
(
'
update
'
,
'
week
'
,
this
.
cycle
Total
);
break
;
case
4
:
this
.
$emit
(
'
update
'
,
'
week
'
,
this
.
average
01
+
'
#
'
+
this
.
average02
);
this
.
$emit
(
'
update
'
,
'
week
'
,
this
.
average
Total
);
break
;
case
5
:
this
.
$emit
(
'
update
'
,
'
week
'
,
this
.
weekday
+
'
L
'
);
this
.
$emit
(
'
update
'
,
'
week
'
,
this
.
weekday
Check
+
'
L
'
);
break
;
case
6
:
this
.
$emit
(
'
update
'
,
'
week
'
,
this
.
checkboxString
);
break
;
}
},
// 根据互斥事件,更改radio的值
// 周期两个值变化时
cycleChange
()
{
...
...
@@ -133,7 +168,7 @@ export default {
},
},
watch
:
{
"
radioValue
"
:
"
radioChange
"
,
'
radioValue
'
:
'
radioChange
'
,
'
cycleTotal
'
:
'
cycleChange
'
,
'
averageTotal
'
:
'
averageChange
'
,
'
weekdayCheck
'
:
'
weekdayChange
'
,
...
...
@@ -150,7 +185,7 @@ export default {
averageTotal
:
function
()
{
this
.
average01
=
this
.
checkNum
(
this
.
average01
,
1
,
4
)
this
.
average02
=
this
.
checkNum
(
this
.
average02
,
1
,
7
)
return
this
.
average0
1
+
'
#
'
+
this
.
average02
;
return
this
.
average0
2
+
'
#
'
+
this
.
average01
;
},
// 最近的工作日(格式)
weekdayCheck
:
function
()
{
...
...
ruoyi-ui/src/components/Crontab/year.vue
浏览文件 @
2e17d9c0
...
...
@@ -15,16 +15,16 @@
<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-input-number
v-model=
'cycle01'
:min=
'fullYear'
:max=
"2098"
/>
-
<el-input-number
v-model=
'cycle02'
:min=
"cycle01 ? cycle01 + 1 : fullYear + 1"
:max=
"2099"
/>
</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-input-number
v-model=
'average01'
:min=
'fullYear'
:max=
"2098"
/>
年开始,每
<el-input-number
v-model=
'average02'
:min=
"1"
:max=
"2099 - average01 || fullYear"
/>
年执行一次
</el-radio>
</el-form-item>
...
...
@@ -59,21 +59,6 @@ export default {
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
'
,
''
);
...
...
@@ -82,10 +67,10 @@ export default {
this
.
$emit
(
'
update
'
,
'
year
'
,
'
*
'
);
break
;
case
3
:
this
.
$emit
(
'
update
'
,
'
year
'
,
this
.
cycle
01
+
'
-
'
+
this
.
cycle02
);
this
.
$emit
(
'
update
'
,
'
year
'
,
this
.
cycle
Total
);
break
;
case
4
:
this
.
$emit
(
'
update
'
,
'
year
'
,
this
.
average
01
+
'
/
'
+
this
.
average02
);
this
.
$emit
(
'
update
'
,
'
year
'
,
this
.
average
Total
);
break
;
case
5
:
this
.
$emit
(
'
update
'
,
'
year
'
,
this
.
checkboxString
);
...
...
@@ -112,7 +97,7 @@ export default {
}
},
watch
:
{
"
radioValue
"
:
"
radioChange
"
,
'
radioValue
'
:
'
radioChange
'
,
'
cycleTotal
'
:
'
cycleChange
'
,
'
averageTotal
'
:
'
averageChange
'
,
'
checkboxString
'
:
'
checkboxChange
'
...
...
@@ -120,15 +105,15 @@ export default {
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
;
const
cycle01
=
this
.
checkNum
(
this
.
cycle01
,
this
.
fullYear
,
2098
)
const
cycle02
=
this
.
checkNum
(
this
.
cycle02
,
cycle01
?
cycle01
+
1
:
this
.
fullYear
+
1
,
2099
)
return
cycle01
+
'
-
'
+
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
;
const
average01
=
this
.
checkNum
(
this
.
average01
,
this
.
fullYear
,
2098
)
const
average02
=
this
.
checkNum
(
this
.
average02
,
1
,
2099
-
average01
||
this
.
fullYear
)
return
average01
+
'
/
'
+
average02
;
},
// 计算勾选的checkbox值合集
checkboxString
:
function
()
{
...
...
@@ -139,6 +124,8 @@ export default {
mounted
:
function
()
{
// 仅获取当前年份
this
.
fullYear
=
Number
(
new
Date
().
getFullYear
());
this
.
cycle01
=
this
.
fullYear
this
.
average01
=
this
.
fullYear
}
}
</
script
>
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录