Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
F
finance-manage
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Analytics
Analytics
CI / CD
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
finance-oa
finance-manage
Commits
ca285f5e
Commit
ca285f5e
authored
Nov 30, 2021
by
fuzui
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
fix: crontab组件周显示及计算bug
parent
34f2552c
Changes
2
Show whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
69 additions
and
26 deletions
+69
-26
ruoyi-ui/src/components/Crontab/result.vue
ruoyi-ui/src/components/Crontab/result.vue
+7
-14
ruoyi-ui/src/components/Crontab/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 {
...
@@ -179,7 +179,7 @@ export default {
// 获取达到条件的日期是星期X
// 获取达到条件的日期是星期X
let
thisWeek
=
this
.
formatDate
(
new
Date
(
YY
+
'
-
'
+
MM
+
'
-
'
+
thisDD
+
'
00:00:00
'
),
'
week
'
);
let
thisWeek
=
this
.
formatDate
(
new
Date
(
YY
+
'
-
'
+
MM
+
'
-
'
+
thisDD
+
'
00:00:00
'
),
'
week
'
);
// 当星期日时
// 当星期日时
if
(
thisWeek
==
0
)
{
if
(
thisWeek
==
1
)
{
// 先找下一个日,并判断是否为月底
// 先找下一个日,并判断是否为月底
DD
++
;
DD
++
;
thisDD
=
DD
<
10
?
'
0
'
+
DD
:
DD
;
thisDD
=
DD
<
10
?
'
0
'
+
DD
:
DD
;
...
@@ -187,7 +187,7 @@ export default {
...
@@ -187,7 +187,7 @@ export default {
if
(
this
.
checkDate
(
YY
+
'
-
'
+
MM
+
'
-
'
+
thisDD
+
'
00:00:00
'
)
!==
true
)
{
if
(
this
.
checkDate
(
YY
+
'
-
'
+
MM
+
'
-
'
+
thisDD
+
'
00:00:00
'
)
!==
true
)
{
DD
-=
3
;
DD
-=
3
;
}
}
}
else
if
(
thisWeek
==
6
)
{
}
else
if
(
thisWeek
==
7
)
{
// 当星期6时只需判断不是1号就可进行操作
// 当星期6时只需判断不是1号就可进行操作
if
(
this
.
dayRuleSup
!==
1
)
{
if
(
this
.
dayRuleSup
!==
1
)
{
DD
--
;
DD
--
;
...
@@ -200,7 +200,7 @@ export default {
...
@@ -200,7 +200,7 @@ export default {
// 获取当前日期是属于星期几
// 获取当前日期是属于星期几
let
thisWeek
=
this
.
formatDate
(
new
Date
(
YY
+
'
-
'
+
MM
+
'
-
'
+
DD
+
'
00:00:00
'
),
'
week
'
);
let
thisWeek
=
this
.
formatDate
(
new
Date
(
YY
+
'
-
'
+
MM
+
'
-
'
+
DD
+
'
00:00:00
'
),
'
week
'
);
// 校验当前星期是否在星期池(dayRuleSup)中
// 校验当前星期是否在星期池(dayRuleSup)中
if
(
Array
.
indexOf
(
this
.
dayRuleSup
,
thisWeek
)
<
0
)
{
if
(
this
.
dayRuleSup
.
indexOf
(
thisWeek
)
<
0
)
{
// 如果到达最大值时
// 如果到达最大值时
if
(
Di
==
DDate
.
length
-
1
)
{
if
(
Di
==
DDate
.
length
-
1
)
{
resetDay
();
resetDay
();
...
@@ -385,7 +385,7 @@ export default {
...
@@ -385,7 +385,7 @@ export default {
}
else
if
(
rule
.
indexOf
(
'
#
'
)
>=
0
)
{
}
else
if
(
rule
.
indexOf
(
'
#
'
)
>=
0
)
{
this
.
dayRule
=
'
assWeek
'
;
this
.
dayRule
=
'
assWeek
'
;
let
matchRule
=
rule
.
match
(
/
[
0-9
]{1}
/g
);
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
];
this
.
dateArr
[
3
]
=
[
1
];
if
(
this
.
dayRuleSup
[
1
]
==
7
)
{
if
(
this
.
dayRuleSup
[
1
]
==
7
)
{
this
.
dayRuleSup
[
1
]
=
0
;
this
.
dayRuleSup
[
1
]
=
0
;
...
@@ -401,14 +401,6 @@ export default {
...
@@ -401,14 +401,6 @@ export default {
this
.
dayRule
=
'
weekDay
'
;
this
.
dayRule
=
'
weekDay
'
;
this
.
dayRuleSup
=
this
.
getAssignArr
(
rule
)
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 {
...
@@ -543,14 +535,15 @@ export default {
if
(
type
==
undefined
)
{
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
);
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
'
)
{
}
else
if
(
type
==
'
week
'
)
{
return
week
;
// 在quartz中 1为星期日
return
week
+
1
;
}
}
},
},
// 检查日期是否存在
// 检查日期是否存在
checkDate
(
value
)
{
checkDate
(
value
)
{
let
time
=
new
Date
(
value
);
let
time
=
new
Date
(
value
);
let
format
=
this
.
formatDate
(
time
)
let
format
=
this
.
formatDate
(
time
)
return
value
==
format
?
true
:
false
;
return
value
==
=
format
;
}
}
},
},
watch
:
{
watch
:
{
...
...
ruoyi-ui/src/components/Crontab/week.vue
View file @
ca285f5e
...
@@ -15,8 +15,25 @@
...
@@ -15,8 +15,25 @@
<el-form-item>
<el-form-item>
<el-radio
v-model=
'radioValue'
:label=
"3"
>
<el-radio
v-model=
'radioValue'
:label=
"3"
>
周期从星期
周期从星期
<el-input-number
v-model=
'cycle01'
:min=
"1"
:max=
"7"
/>
-
<el-select
clearable
v-model=
"cycle01"
>
<el-input-number
v-model=
'cycle02'
:min=
"1"
:max=
"7"
/>
<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-radio>
</el-form-item>
</el-form-item>
...
@@ -24,14 +41,18 @@
...
@@ -24,14 +41,18 @@
<el-radio
v-model=
'radioValue'
:label=
"4"
>
<el-radio
v-model=
'radioValue'
:label=
"4"
>
第
第
<el-input-number
v-model=
'average01'
:min=
"1"
:max=
"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-radio>
</el-form-item>
</el-form-item>
<el-form-item>
<el-form-item>
<el-radio
v-model=
'radioValue'
:label=
"5"
>
<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-radio>
</el-form-item>
</el-form-item>
...
@@ -39,7 +60,7 @@
...
@@ -39,7 +60,7 @@
<el-radio
v-model=
'radioValue'
:label=
"6"
>
<el-radio
v-model=
'radioValue'
:label=
"6"
>
指定
指定
<el-select
clearable
v-model=
"checkboxList"
placeholder=
"可多选"
multiple
style=
"width:100%"
>
<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-select>
</el-radio>
</el-radio>
</el-form-item>
</el-form-item>
...
@@ -52,13 +73,42 @@ export default {
...
@@ -52,13 +73,42 @@ export default {
data
()
{
data
()
{
return
{
return
{
radioValue
:
2
,
radioValue
:
2
,
weekday
:
1
,
weekday
:
2
,
cycle01
:
1
,
cycle01
:
2
,
cycle02
:
2
,
cycle02
:
3
,
average01
:
1
,
average01
:
1
,
average02
:
1
,
average02
:
2
,
checkboxList
:
[],
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
checkNum
:
this
.
$options
.
propsData
.
check
}
}
},
},
...
@@ -81,7 +131,7 @@ export default {
...
@@ -81,7 +131,7 @@ export default {
this
.
$emit
(
'
update
'
,
'
week
'
,
this
.
cycle01
+
'
-
'
+
this
.
cycle02
);
this
.
$emit
(
'
update
'
,
'
week
'
,
this
.
cycle01
+
'
-
'
+
this
.
cycle02
);
break
;
break
;
case
4
:
case
4
:
this
.
$emit
(
'
update
'
,
'
week
'
,
this
.
average0
1
+
'
#
'
+
this
.
average02
);
this
.
$emit
(
'
update
'
,
'
week
'
,
this
.
average0
2
+
'
#
'
+
this
.
average01
);
break
;
break
;
case
5
:
case
5
:
this
.
$emit
(
'
update
'
,
'
week
'
,
this
.
weekday
+
'
L
'
);
this
.
$emit
(
'
update
'
,
'
week
'
,
this
.
weekday
+
'
L
'
);
...
@@ -135,7 +185,7 @@ export default {
...
@@ -135,7 +185,7 @@ export default {
averageTotal
:
function
()
{
averageTotal
:
function
()
{
this
.
average01
=
this
.
checkNum
(
this
.
average01
,
1
,
4
)
this
.
average01
=
this
.
checkNum
(
this
.
average01
,
1
,
4
)
this
.
average02
=
this
.
checkNum
(
this
.
average02
,
1
,
7
)
this
.
average02
=
this
.
checkNum
(
this
.
average02
,
1
,
7
)
return
this
.
average0
1
+
'
#
'
+
this
.
average02
;
return
this
.
average0
2
+
'
#
'
+
this
.
average01
;
},
},
// 最近的工作日(格式)
// 最近的工作日(格式)
weekdayCheck
:
function
()
{
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