Commit 7693fee7 authored by yangshuxing's avatar yangshuxing

成绩审核js交互

parent 5c8064f0
...@@ -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>
......
...@@ -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: 1000, 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);
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment