Skip to content
Projects
Groups
Snippets
Help
Loading...
Sign in
Toggle navigation
S
sts网站
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
liyang
sts网站
Commits
ca285f5e
Commit
ca285f5e
authored
Nov 29, 2021
by
fuzui
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
fix: crontab组件周显示及计算bug
parent
34f2552c
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
69 additions
and
26 deletions
+69
-26
result.vue
ruoyi-ui/src/components/Crontab/result.vue
+7
-14
week.vue
ruoyi-ui/src/components/Crontab/week.vue
+62
-12
No files found.
ruoyi-ui/src/components/Crontab/result.vue
View file @
ca285f5e
...
...
@@ -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/week.vue
View file @
ca285f5e
...
...
@@ -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
}
},
...
...
@@ -81,7 +131,7 @@ export default {
this
.
$emit
(
'update'
,
'week'
,
this
.
cycle01
+
'-'
+
this
.
cycle02
);
break
;
case
4
:
this
.
$emit
(
'update'
,
'week'
,
this
.
average0
1
+
'#'
+
this
.
average02
);
this
.
$emit
(
'update'
,
'week'
,
this
.
average0
2
+
'#'
+
this
.
average01
);
break
;
case
5
:
this
.
$emit
(
'update'
,
'week'
,
this
.
weekday
+
'L'
);
...
...
@@ -135,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
()
{
...
...
Write
Preview
Markdown
is supported
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