考试的修改,同一期修改过的内容

This commit is contained in:
daihh
2022-09-30 16:59:39 +08:00
parent 2de08425a1
commit c57e5e89da

View File

@@ -287,7 +287,9 @@ export default {
updateAnswerTimeer:null,//定时提交答案 updateAnswerTimeer:null,//定时提交答案
submitButton:false, submitButton:false,
score:0, score:0,
tableData:[] tableData:[],
postAnswerTime:0 ,//定时发送答卷的记时间
postAnswerLocalKey:'exam_answer' //本地保存答案的key值
} }
}, },
computed:{ computed:{
@@ -428,6 +430,7 @@ export default {
}, },
//开始考试 //开始考试
startTest(){ startTest(){
this.postAnswerTime=0;
this.curTestAnswer={}; this.curTestAnswer={};
// 先禁用,防止重复提交 // 先禁用,防止重复提交
if(this.testPaper.entranceTime && this.testPaper.entranceTime !=='') { if(this.testPaper.entranceTime && this.testPaper.entranceTime !=='') {
@@ -584,22 +587,31 @@ export default {
let str2=tempAnswer.join(); let str2=tempAnswer.join();
if(str1==str2){ if(str1==str2){
console.log('str1='+str1); //console.log('str1='+str1);
console.log('str2='+str2); //console.log('str2='+str2);
total+=item.defaultScore; total+=item.defaultScore;
} }
}); });
} }
console.log('实际得分:'+total) //console.log('实际得分:'+total)
return total; return total;
}, },
reStartTest(row){ //继续考试 reStartTest(row){ //继续考试
this.postAnswerTime=0;
this.curTestAnswer=row; this.curTestAnswer=row;
apiTestPaper.getAnswerDetail(row.id).then(res=>{ apiTestPaper.getAnswerDetail(row.id).then(res=>{
if(res.status === 200) { if(res.status === 200) {
this.paperQuestion= JSON.parse(res.result.paperJson); this.paperQuestion= JSON.parse(res.result.paperJson);
//填充答案 //填充答案
let answerJson = JSON.parse(res.result.answerJson); let answerJson = JSON.parse(res.result.answerJson);
//检查本地存储
let localKey=this.postAnswerLocalKey+row.id;
let localAnswer=localStorage.getItem(localKey);
//console.log(localAnswer,'localAnswer')
if(localAnswer){
answerJson=JSON.parse(localAnswer);
}
//设置已答题内容 //设置已答题内容
this.paperQuestion.forEach((qitem,index) => { this.paperQuestion.forEach((qitem,index) => {
let avalue=answerJson[qitem.id]; let avalue=answerJson[qitem.id];
@@ -610,9 +622,9 @@ export default {
qitem.userAnswer=avalue.split(','); qitem.userAnswer=avalue.split(',');
}else if(qitem.type==3){ //判断 }else if(qitem.type==3){ //判断
qitem.userAnswer=avalue; qitem.userAnswer=avalue;
//console.log(avalue,'avalue');
} }
} }
}); });
//console.log(this.paperQuestion,'this.paperQuestion') //console.log(this.paperQuestion,'this.paperQuestion')
this.arrangeQuestion(); this.arrangeQuestion();
@@ -720,8 +732,9 @@ export default {
} }
let that = this; let that = this;
this.updateAnswerTimeer =window.setInterval(function(){ this.updateAnswerTimeer =window.setInterval(function(){
that.postAnswerTime+=5000;
that.updateAnswer(); that.updateAnswer();
},10000);//测试时可以修改的变小了 },5000);//每隔5秒保存一次
}, },
// 停止提交答案 // 停止提交答案
stopUpdateAnswer(){ stopUpdateAnswer(){
@@ -770,12 +783,28 @@ export default {
//检查 //检查
data.second=this.testPaper.testDuration*60-this.remainingTime; data.second=this.testPaper.testDuration*60-this.remainingTime;
data.score=this.countScore(); data.score=this.countScore();
apiTestPaper.updateAnswer(data).then((res) => {
if (res.status == 200) { let $this=this;
}else{ let localKey=this.postAnswerLocalKey+this.aloneExamAnswerId;
console.log('自动记录答卷失败:'+res.message,res.error);
} //console.log(this.postAnswerTime,"postAnswerTime");
}) //1分钟保存到后一次
if(this.postAnswerTime>=60000){
//console.log(data.json,'提交')
apiTestPaper.updateAnswer(data).then((res) => {
if (res.status == 200) {
$this.postAnswerTime=0;
localStorage.removeItem(localKey);
}else{
console.log('自动记录答卷失败:'+res.message,res.error);
}
})
}else{
//存储到本地
//console.log(data.json,'本地存储')
localStorage.setItem(localKey,data.json);
}
}, },
// 人工提交 // 人工提交
manualSubmit(){ manualSubmit(){
@@ -796,6 +825,8 @@ export default {
// this.$message.error('请先答题'); // this.$message.error('请先答题');
// return; // return;
// } // }
let localKey=this.postAnswerLocalKey+this.aloneExamAnswerId;
let strAnswer=this.getAnswer(); let strAnswer=this.getAnswer();
//一个题都没有答的情况,不能提交 //一个题都没有答的情况,不能提交
let objAnswer=JSON.parse(strAnswer); let objAnswer=JSON.parse(strAnswer);
@@ -854,6 +885,8 @@ export default {
//转化为百分制显示 //转化为百分制显示
this.score = data.score; this.score = data.score;
this.submitButton = false; this.submitButton = false;
//清除本地缓存
localStorage.removeItem(localKey);
} else { } else {
this.submitButton = false; this.submitButton = false;
this.$message.error(res.message) this.$message.error(res.message)
@@ -967,4 +1000,4 @@ export default {
text-align: center; text-align: center;
line-height: 65px; line-height: 65px;
} }
</style> </style>