Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
G
gk
Project
Project
Details
Activity
Releases
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
micro_app
gk
Commits
7693fee7
Commit
7693fee7
authored
May 20, 2020
by
yangshuxing
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
成绩审核js交互
parent
5c8064f0
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
156 additions
and
36 deletions
+156
-36
score_review.jsp
src/main/webapp/WEB-INF/views/cmpt/score_review.jsp
+24
-19
score_review.js
src/main/webapp/static/js/score_review.js
+132
-17
No files found.
src/main/webapp/WEB-INF/views/cmpt/score_review.jsp
View file @
7693fee7
...
@@ -145,7 +145,7 @@
...
@@ -145,7 +145,7 @@
font-size
:
16px
;
font-size
:
16px
;
color
:
rgba
(
153
,
153
,
153
,
1
);
color
:
rgba
(
153
,
153
,
153
,
1
);
}
}
.data-cloumn
span
:last-child
,
.score-info
span
:last-child
{
.data-cloumn
span
:last-child
,
.score-info
span
:last-child
{
width
:
50px
;
width
:
50px
;
text-align
:
center
;
text-align
:
center
;
}
}
...
@@ -194,16 +194,21 @@
...
@@ -194,16 +194,21 @@
}
}
.preview
{
.preview
{
max-width
:
80%
;
max-width
:
80%
;
max-
height
:
80%
;
height
:
80%
;
margin
:
auto
;
margin
:
auto
;
position
:
relative
;
position
:
relative
;
padding
:
20px
;
padding
:
20px
;
background
:
white
;
background
:
white
;
}
}
#dialog
{
#dialog
{
display
:
none
;
justify-content
:
center
;
justify-content
:
center
;
align-items
:
center
;
align-items
:
center
;
display
:
flex
;
position
:
fixed
;
width
:
100%
;
height
:
100%
;
top
:
0px
;
left
:
0px
;
background
:
rgba
(
0
,
0
,
0
,
0.4
);
z-index
:
99
display
:
flex
;
position
:
fixed
;
width
:
100%
;
height
:
100%
;
top
:
0px
;
left
:
0px
;
background
:
rgba
(
0
,
0
,
0
,
0.4
);
z-index
:
99
}
}
.select
{
.select
{
text-transform
:
none
;
text-transform
:
none
;
...
@@ -335,13 +340,13 @@
...
@@ -335,13 +340,13 @@
</div>
</div>
<div
class=
"tab"
>
<div
class=
"tab"
>
<div
class=
"flex"
>
<div
class=
"flex"
>
<span
:class=
"['review-status',reviewStatus==0?'active':'']"
v-on:click=
"changeStatus(0)"
>
待审核(
10
)
</span>
<span
:class=
"['review-status',reviewStatus==0?'active':'']"
v-on:click=
"changeStatus(0)"
>
待审核(
<span
v-text=
"reviewCount.waiting"
></span>
)
</span>
<span
:class=
"['review-status',reviewStatus==1?'active':'']"
v-on:click=
"changeStatus(1)"
>
已通过(
310
)
</span>
<span
:class=
"['review-status',reviewStatus==1?'active':'']"
v-on:click=
"changeStatus(1)"
>
已通过(
<span
v-text=
"reviewCount.pass"
></span>
)
</span>
<span
:class=
"['review-status',reviewStatus==
-1?'active':'']"
v-on:click=
"changeStatus(-1)"
>
未通过(5
)
</span>
<span
:class=
"['review-status',reviewStatus==
2?'active':'']"
v-on:click=
"changeStatus(2)"
>
未通过(
<span
v-text=
"reviewCount.nopass"
></span>
)
</span>
</div>
</div>
<div>
<div>
<span
v-on:click=
"review(1)"
v-show=
"reviewStatus
<=0
"
class=
"pass"
>
通过
</span>
<span
v-on:click=
"review(1)"
v-show=
"reviewStatus
==0 || reviewStatus==2
"
class=
"pass"
>
通过
</span>
<span
v-on:click=
"review(-1)"
v-show=
"reviewStatus
>=0
"
class=
"no-pass"
>
不通过
</span>
<span
v-on:click=
"review(-1)"
v-show=
"reviewStatus
==0 || reviewStatus== 1
"
class=
"no-pass"
>
不通过
</span>
</div>
</div>
</div>
</div>
<div
class=
"data-cloumn"
>
<div
class=
"data-cloumn"
>
...
@@ -351,7 +356,7 @@
...
@@ -351,7 +356,7 @@
<span>
里程(KM)
</span>
<span>
里程(KM)
</span>
<span>
用时
</span>
<span>
用时
</span>
<span>
平均配速
</span>
<span>
平均配速
</span>
<span>
全选
<input
v-on:click=
"checkAll"
type=
"checkbox"
></span>
<span>
全选
<input
v-on:click=
"checkAll"
:checked=
"checked?'true':'' "
type=
"checkbox"
></span>
</div>
</div>
...
@@ -359,24 +364,24 @@
...
@@ -359,24 +364,24 @@
<div
class=
"score-info"
>
<div
class=
"score-info"
>
<span
v-text=
"score.name"
></span>
<span
v-text=
"score.name"
></span>
<span
v-text=
"score.markNo"
></span>
<span
v-text=
"score.markNo"
></span>
<span
v-text=
"score.time"
>
</span>
<span
>
{{score.subsectionTime | substr(10)}}
</span>
<span
v-text=
"score.duration"
>
</span>
<span
>
{{Number(score.subsectionMileage/1000).toFixed(3)}}
</span>
<span
v-text=
"score.ps"
>
</span>
<span
>
{{score.subsectionscore | date_format}}
</span>
<span
v-text=
"score.ps"
>
</span>
<span
>
{{score.cmptPace | pace(Number(score.subsectionMileage/1000).toFixed(3),score.subsectionscore) }}
</span>
<span><input
type=
"checkbox"
:checked=
"checked?'true':'' "
></span>
<span><input
type=
"checkbox"
:
value=
"score.cmptScoreRuleScoreId"
:
checked=
"checked?'true':'' "
></span>
</div>
</div>
<div
class=
"flex score-img"
>
<div
class=
"flex score-img"
>
<div
class=
"img-item"
v-for=
"item in score.
imgs
"
>
<div
class=
"img-item"
v-for=
"item in score.
scoreFieldValueList
"
>
<img
v-on:click=
"preview($event)"
class=
"img"
:src=
"item"
alt=
""
>
<img
v-on:click=
"preview($event)"
class=
"img"
:src=
"item"
alt=
""
>
<span
class=
"bigger"
></span>
<span
class=
"bigger"
></span>
</div>
</div>
</div>
</div>
</div>
</div>
<div
class=
"pager"
>
<div
class=
"pager"
>
<div
class=
"prev page-btn"
v-on:click=
"prev"
></div>
<div
class=
"prev page-btn"
v-on:click=
"prev"
></div>
<div>
<div>
<input
type=
"number"
v-on:keyup=
"jumpTo"
v-model=
"jumpToPage"
>
of 3
<input
type=
"number"
v-on:keyup=
"jumpTo"
v-model=
"jumpToPage"
min=
"1"
>
of
<span>
{{Math.ceil(totalPage/10)}}
</span>
</div>
</div>
<div
class=
"next page-btn"
v-on:click=
"next"
></div>
<div
class=
"next page-btn"
v-on:click=
"next"
></div>
</div>
</div>
...
@@ -384,7 +389,7 @@
...
@@ -384,7 +389,7 @@
<div
id=
"dialog"
v-show=
"dialog"
>
<div
id=
"dialog"
v-show=
"dialog"
>
<div
style=
"position: relative;"
class=
"preview"
>
<div
style=
"position: relative;"
class=
"preview"
>
<img
v-bind:src=
"previewImg"
alt=
""
>
<img
width=
"100%"
height=
"100%"
v-bind:src=
"previewImg"
alt=
""
>
<span
v-on:click=
"closeDialog"
class=
"iconClose"
></span>
<span
v-on:click=
"closeDialog"
class=
"iconClose"
></span>
</div>
</div>
</div>
</div>
...
@@ -394,7 +399,7 @@
...
@@ -394,7 +399,7 @@
<script
src=
"${ctxStatic}/newdermon/vendor/popper.js/umd/popper.min.js"
></script>
<script
src=
"${ctxStatic}/newdermon/vendor/popper.js/umd/popper.min.js"
></script>
<script
src=
"${ctxStatic}/js/qikoo.js"
></script>
<script
src=
"${ctxStatic}/js/qikoo.js"
></script>
<script
src=
"${ctxStatic}/js/score_review.js
?
<%=
System
.
currentTimeMillis
()
%>
"
></script>
<script
src=
"${ctxStatic}/js/score_review.js"
></script>
</body>
</body>
...
...
src/main/webapp/static/js/score_review.js
View file @
7693fee7
...
@@ -5,9 +5,14 @@ var score = new Vue({
...
@@ -5,9 +5,14 @@ var score = new Vue({
selectedRuleId
:
-
1
,
selectedRuleId
:
-
1
,
param
:{
param
:{
size
:
10
,
size
:
10
,
page
:
1
,
page
:
0
,
cmptId
:
getCId
(),
cmptId
:
getCId
(),
checkstatus
:
1
checkstatus
:
0
},
reviewCount
:{
waiting
:
0
,
nopass
:
0
,
pass
:
0
},
},
jumpToPage
:
1
,
jumpToPage
:
1
,
checked
:
false
,
checked
:
false
,
...
@@ -16,12 +21,33 @@ var score = new Vue({
...
@@ -16,12 +21,33 @@ var score = new Vue({
noPass
:
false
,
noPass
:
false
,
previewImg
:
''
,
previewImg
:
''
,
dialog
:
false
,
dialog
:
false
,
count
:
100
0
,
totalPage
:
0
,
roads
:
[],
roads
:
[],
rules
:
[],
rules
:
[],
scores
:
[{
name
:
'似懂非懂'
,
markNo
:
'Adds'
,
'time'
:
'2019-01-01'
,
'duration'
:
'30'
,
'ps'
:
"10'12"
,
imgs
:[
'http://img.geexek.com/files/enroll/cmpt/images/4e432d31-6b30-453a-88d6-563a9d4c2751.png'
,
'http://img.geexek.com/files/enroll/cmpt/images/4e432d31-6b30-453a-88d6-563a9d4c2751.png'
]},
scores
:
[]
{
name
:
'似懂非懂'
,
markNo
:
'Adds'
,
'time'
:
'2019-01-01'
,
'duration'
:
'30'
,
'ps'
:
"10'12"
,
imgs
:[
'http://img.geexek.com/files/enroll/cmpt/images/4e432d31-6b30-453a-88d6-563a9d4c2751.png'
]},
},
{
name
:
'似懂非懂'
,
markNo
:
'Adds'
,
'time'
:
'2019-01-01'
,
'duration'
:
'30'
,
'ps'
:
"10'12"
,
imgs
:[
'http://img.geexek.com/files/enroll/cmpt/images/4e432d31-6b30-453a-88d6-563a9d4c2751.png'
,
'http://img.geexek.com/files/enroll/cmpt/images/4e432d31-6b30-453a-88d6-563a9d4c2751.png'
,
'http://img.geexek.com/files/enroll/cmpt/images/4e432d31-6b30-453a-88d6-563a9d4c2751.png'
]}]
filters
:
{
substr
:
function
(
value
,
length
){
console
.
log
(
value
+
","
+
length
)
if
(
!
value
||
value
.
length
<
18
)
return
""
;
return
value
.
substr
(
5
,
5
)
+
" "
+
value
.
substr
(
11
,
5
);
},
date_format
:
function
(
value
)
{
if
(
!
value
)
return
''
var
hour
=
parseInt
((
value
/
3600
));
var
min
=
parseInt
((
value
/
60
%
60
));
var
ms
=
parseInt
((
value
%
60
%
60
));
if
(
hour
<=
9
)
hour
=
"0"
+
hour
;
if
(
min
<=
9
)
min
=
"0"
+
min
;
if
(
ms
<=
9
)
ms
=
"0"
+
ms
;
return
hour
+
":"
+
min
+
":"
+
ms
;
},
pace
:
function
(
self
,
distance
,
duration
)
{
if
(
!
duration
||
!
distance
){
return
""
}
var
mins
=
parseFloat
(
duration
/
60
)
/
distance
;
var
res
=
Math
.
floor
((
mins
-
parseInt
(
mins
))
*
60
);
return
parseInt
(
mins
)
+
"'"
+
res
+
"''"
;
}
},
},
methods
:{
methods
:{
closeDialog
:
function
(){
closeDialog
:
function
(){
...
@@ -32,32 +58,54 @@ var score = new Vue({
...
@@ -32,32 +58,54 @@ var score = new Vue({
score
.
$data
.
previewImg
=
event
.
target
.
src
score
.
$data
.
previewImg
=
event
.
target
.
src
},
},
changeStatus
:
function
(
event
)
{
changeStatus
:
function
(
event
)
{
score
.
$data
.
reviewStatus
=
event
;
score
.
$data
.
reviewStatus
=
event
;
score
.
$data
.
param
.
checkstatus
=
event
;
reviewPage
.
reloadPage
();
},
},
checkAll
:
function
()
{
checkAll
:
function
()
{
score
.
$data
.
checked
=
!
score
.
$data
.
checked
score
.
$data
.
checked
=
!
score
.
$data
.
checked
},
},
changeRoad
:
function
()
{
changeRoad
:
function
()
{
console
.
log
(
score
.
$data
.
selectedRoadId
)
console
.
log
(
score
.
$data
.
selectedRoadId
)
reviewPage
.
reloadPage
();
},
},
changeRule
:
function
()
{
changeRule
:
function
()
{
console
.
log
(
score
.
$data
.
selectedRuleId
)
console
.
log
(
score
.
$data
.
selectedRuleId
);
reviewPage
.
reloadPage
();
},
},
next
:
function
()
{
next
:
function
()
{
score
.
$data
.
jumpToPage
=
++
score
.
$data
.
param
.
page
;
if
((
score
.
$data
.
param
.
page
+
2
)
>
Math
.
ceil
(
score
.
$data
.
totalPage
/
10
)){
layer
.
alert
(
'已经是最后一页!'
);
score
.
$data
.
jumpToPage
=
Math
.
ceil
((
score
.
$data
.
totalPage
/
10
));
return
;
}
score
.
$data
.
jumpToPage
=
++
score
.
$data
.
param
.
page
+
1
;
reviewPage
.
reloadPage
();
reviewPage
.
reloadPage
();
},
},
prev
:
function
()
{
prev
:
function
()
{
score
.
$data
.
jumpToPage
=
--
score
.
$data
.
param
.
page
;
if
(
score
.
$data
.
param
.
page
<=
0
){
score
.
$data
.
jumpToPage
=
1
;
score
.
$data
.
param
.
page
=
0
;
layer
.
alert
(
'已经是第一页!'
);
score
.
$data
.
jumpToPage
=
1
;
return
;
}
score
.
$data
.
jumpToPage
=
--
score
.
$data
.
param
.
page
+
1
;
reviewPage
.
reloadPage
();
reviewPage
.
reloadPage
();
},
},
jumpTo
:
function
()
{
jumpTo
:
function
()
{
console
.
log
(
score
.
$data
.
jumpToPage
)
if
(
score
.
$data
.
jumpToPage
<=
0
)
score
.
$data
.
jumpToPage
=
1
;
score
.
$data
.
param
.
page
=
score
.
$data
.
jumpToPage
;
if
(
score
.
$data
.
jumpToPage
-
1
>
Math
.
ceil
((
score
.
$data
.
totalPage
/
10
))){
layer
.
alert
(
'已经是最后一页!'
);
score
.
$data
.
jumpToPage
=
Math
.
ceil
((
score
.
$data
.
totalPage
/
10
));
return
;
}
score
.
$data
.
jumpToPage
=
parseInt
(
score
.
$data
.
jumpToPage
)
score
.
$data
.
param
.
page
=
parseInt
(
score
.
$data
.
jumpToPage
-
1
);
reviewPage
.
reloadPage
();
reviewPage
.
reloadPage
();
},
},
review
:
function
(
status
)
{
review
:
function
(
status
)
{
console
.
log
(
status
);
reviewPage
.
reviewScore
(
status
);
}
}
}
}
...
@@ -83,23 +131,90 @@ var reviewPage = {
...
@@ -83,23 +131,90 @@ var reviewPage = {
score
.
$data
.
rules
=
data
.
content
;
score
.
$data
.
rules
=
data
.
content
;
score
.
$data
.
selectedRuleId
=
score
.
$data
.
rules
[
0
].
id
;
score
.
$data
.
selectedRuleId
=
score
.
$data
.
rules
[
0
].
id
;
reviewPage
.
reloadPage
();
reviewPage
.
reloadPage
();
reviewPage
.
getStatistic
();
}
}
}
}
});
});
},
},
reloadPage
:
function
()
{
reloadPage
:
function
()
{
score
.
$data
.
param
.
roadId
=
score
.
$data
.
selectedRoadId
;
score
.
$data
.
param
.
roadId
=
score
.
$data
.
selectedRoadId
;
score
.
$data
.
param
.
ruleId
=
score
.
$data
.
selectedRuleId
;
score
.
$data
.
param
.
ruleId
=
score
.
$data
.
selectedRuleId
;
$
.
ajax
({
$
.
ajax
({
url
:
'/gk/scoreReview/getCmptScoreRuleScoreInfo'
,
url
:
'/gk/scoreReview/getCmptScoreRuleScoreInfo'
,
data
:
score
.
$data
.
param
,
data
:
score
.
$data
.
param
,
beforeSend
:
function
(){
layer
.
load
();
},
success
:
function
(
data
)
{
score
.
$data
.
scores
=
data
.
content
;
score
.
$data
.
totalPage
=
data
.
total
;
if
(
score
.
$data
.
param
.
checkstatus
==
0
){
score
.
$data
.
reviewCount
.
waiting
=
data
.
total
;
}
else
if
(
score
.
$data
.
param
.
checkstatus
==
1
){
score
.
$data
.
reviewCount
.
pass
=
data
.
total
;
}
else
if
(
score
.
$data
.
param
.
checkstatus
==
2
){
score
.
$data
.
reviewCount
.
nopass
=
data
.
total
;
}
},
complete
:
function
()
{
layer
.
closeAll
();
}
})
},
getStatistic
:
function
(){
$
.
ajax
({
url
:
'/gk/scoreReview/getCmptScoreRuleScoreInfoStatistics?cmptId='
+
getCId
()
+
'&roadId='
+
score
.
$data
.
selectedRoadId
+
'&ruleId='
+
score
.
$data
.
selectedRuleId
,
success
:
function
(
data
)
{
console
.
log
(
data
);
var
result
=
data
.
content
;
score
.
$data
.
reviewCount
.
waiting
=
result
.
Unprocessed
;
score
.
$data
.
reviewCount
.
pass
=
result
.
pass
;
score
.
$data
.
reviewCount
.
nopass
=
result
.
nopass
;
},
complete
:
function
()
{
layer
.
closeAll
();
}
})
},
reviewScore
:
function
(
status
)
{
if
(
$
(
'.score-item input:checked'
).
length
==
0
){
layer
.
alert
(
"请选择行操作!"
);
return
;
}
var
passedIds
=
[];
var
noPassedIds
=
[];
$
.
each
(
$
(
'.score-item input:checked'
),
function
(
i
,
e
)
{
passedIds
.
push
(
$
(
e
).
val
());
noPassedIds
.
push
(
$
(
e
).
val
());
});
if
(
status
===
1
){
noPassedIds
=
[
0
];
}
else
{
passedIds
=
[
0
];
}
var
param
=
{
cmptId
:
getCId
(),
'checkstatus'
:
score
.
$data
.
param
.
checkstatus
,
roadId
:
score
.
$data
.
selectedRoadId
,
ruleId
:
score
.
$data
.
selectedRuleId
,
passedIds
:
passedIds
.
join
(
','
),
noPassedIds
:
noPassedIds
.
join
(
','
)};
console
.
log
(
JSON
.
stringify
(
param
))
$
.
ajax
({
url
:
'/gk/scoreReview/uploadCmptScoreRuleScoreInfo'
,
data
:
param
,
beforeSend
:
function
(){
layer
.
load
();
},
success
:
function
(
data
)
{
success
:
function
(
data
)
{
console
.
log
(
JSON
.
stringify
(
data
));
reviewPage
.
reloadPage
();
score
.
$data
.
checked
=
!
score
.
$data
.
checked
},
complete
:
function
()
{
layer
.
closeAll
();
}
}
})
})
}
}
}
}
$
(
document
).
ready
(
function
()
{
$
(
document
).
ready
(
function
()
{
$
(
'body'
).
on
(
'click'
,
'.status'
,
function
()
{
$
(
'body'
).
on
(
'click'
,
'.status'
,
function
()
{
...
@@ -116,7 +231,7 @@ $(document).ready(function () {
...
@@ -116,7 +231,7 @@ $(document).ready(function () {
}
}
$
.
ajax
({
$
.
ajax
({
url
:
"/setting/upSwitchScoreReview/"
+
getCmptId
()
+
"/"
+
status
,
url
:
"/setting/upSwitchScoreReview/"
+
getCmptId
()
+
"/"
+
status
,
type
:
'post'
,
type
:
'post'
,
success
:
function
(
data
)
{
success
:
function
(
data
)
{
console
.
log
(
data
);
console
.
log
(
data
);
...
...
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