diff --git a/src/components/Exam/EditPaper.vue b/src/components/Exam/EditPaper.vue index 023c20d9..f3ce3d07 100644 --- a/src/components/Exam/EditPaper.vue +++ b/src/components/Exam/EditPaper.vue @@ -240,6 +240,56 @@ }) }, save(){ + + let qidMap=new Map(); + let hasItem=null; + let allScore=true; + let allAnswer=true; + this.qitems.some(qitem=>{ + //console.log(qitem,'qitem'); + if(qitem.type==3){ + if(!qitem.answer){ + allAnswer=false; + return true; + } + }else{ + var optHasAnswer=qitem.optionList.some(opt=>{ + return opt.isAnswer; + }) + if(!optHasAnswer){ + allAnswer=false; + return true; + } + } + if(!qitem.defaultScore || qitem.defaultScore=='0'){ + allScore=false; + return true; + } + if(qidMap.has(qitem.id)){ + hasItem=qitem; + return true; + }else{ + qidMap.set(qitem.id,qitem.id); + return false; + } + }); + + if(!allAnswer){ + this.$message.error('还有试题未设置答案,请设置完整再保存'); + return; + } + + if(!allScore){ + this.$message.error('有试题未设置分数'); + return; + } + + if(hasItem!=null){ + console.log(hasItem); + this.$message.error('选择的试题重复:'+hasItem.title) + return + } + this.loading=true; this.paper.paperContent=JSON.stringify(this.qitems); apiPaper.update(this.paper).then((res)=>{ diff --git a/src/views/exam/TestPaper.vue b/src/views/exam/TestPaper.vue index fb5b0f9d..5a1a497c 100644 --- a/src/views/exam/TestPaper.vue +++ b/src/views/exam/TestPaper.vue @@ -573,13 +573,13 @@ export default { return this.$message.warning('请您完善基本信息必填项!') } //检查是否都有分数了 - + //检查是否有重复的试卷 let qidMap=new Map(); let hasItem=null; let allScore=true; this.paper.data.some(qitem=>{ - if(!qitem.score){ + if(!qitem.defaultScore || qitem.defaultScore=='0'){ allScore=false; return true; } @@ -591,12 +591,12 @@ export default { return false; } }); - + if(!allScore){ this.$message.error('有试题未设置分数'); return; } - + if(hasItem!=null){ console.log(hasItem); this.$message.error('选择的试题重复:'+hasItem.title)