考试结果
This commit is contained in:
		| @@ -17,7 +17,7 @@ export default { | ||||
|   appName: '法治学习', | ||||
|   data() { | ||||
|     return { | ||||
|       currIndex: 1, | ||||
|       currIndex: 0, | ||||
|       tabs: [ | ||||
|         { | ||||
|           name: '在线课堂', | ||||
|   | ||||
| @@ -2,28 +2,30 @@ | ||||
|   <div class="result"> | ||||
|     <u-navbar title="考试结果" :background="backgroundNavbar"></u-navbar> | ||||
|     <div class="result_info"> | ||||
|       <div class="grade">100</div> | ||||
|       <div class="grade">{{ data.score }}</div> | ||||
|       <div class="tips"> | ||||
|         <div>考试分数</div> | ||||
|         <div>超过<span>99%</span>的人</div> | ||||
|         <div>超过<span v-if="data.status==0">{{status0}}</span><span v-if="data.status==1">{{status1}}</span>%的人</div> | ||||
|       </div> | ||||
|  | ||||
|       <div class="card_list"> | ||||
|         <div class="pass"> | ||||
|           <div>结果</div> | ||||
|           <div class="col_pass">通过</div> | ||||
|           <div class="col_pass"> | ||||
|             <span v-if="data.status==0">未</span><span v-else>已</span>通过 | ||||
|           </div> | ||||
|         </div> | ||||
|         <div class="time"> | ||||
|           <div>用时</div> | ||||
|           <div class="col_333">1小时32分</div> | ||||
|           <div class="col_333">{{ time }}</div> | ||||
|         </div> | ||||
|         <div class="pass_num"> | ||||
|           <div>对题数</div> | ||||
|           <div class="col_333">10</div> | ||||
|           <div class="col_333">{{ data.rightCount }}</div> | ||||
|         </div> | ||||
|         <div class="nopass_num"> | ||||
|           <div>对题数</div> | ||||
|           <div class="col_333">1</div> | ||||
|           <div>错题数</div> | ||||
|           <div class="col_333">{{ data.examCount - data.rightCount }}</div> | ||||
|         </div> | ||||
|       </div> | ||||
|       <div class="btn" @click="back">返回</div> | ||||
| @@ -41,6 +43,35 @@ export default { | ||||
|         background: "url('https://cdn.cunwuyun.cn/qujing/navbar.png') no-repeat", | ||||
|         backgroundSize: '100% 100%', | ||||
|       }, | ||||
|       data: {}, | ||||
|       time: '', | ||||
|     } | ||||
|   }, | ||||
|   computed: { | ||||
|     status0() { | ||||
|       let arr = [45,55,58] | ||||
|       let index = parseInt(Math.random()*arr.length) | ||||
|       return arr[index] | ||||
|     }, | ||||
|     status1() { | ||||
|       let arr = [97,98,99] | ||||
|       let index = parseInt(Math.random()*arr.length) | ||||
|       return arr[index] | ||||
|     } | ||||
|   }, | ||||
|   watch: { | ||||
|     'data.time'(v) { | ||||
|       if(v) {  | ||||
|         const hour = Math.floor(v / 60) // 小时 | ||||
|         const min = v % 60 // 分钟 | ||||
|         if (hour > 0 && min > 0) { | ||||
|           this.time = `${hour}小时${min}分钟`; | ||||
|         } else if (hour > 0 && min <= 0) { | ||||
|           this.time = `${min}小时`; | ||||
|         } else if (hour <= 0 && min > 0) { | ||||
|           this.time = `${min}分钟`; | ||||
|         } | ||||
|       } | ||||
|     } | ||||
|   }, | ||||
|   methods: { | ||||
| @@ -48,9 +79,10 @@ export default { | ||||
|       uni.navigateBack({ | ||||
|         delta: 2, | ||||
|       }) | ||||
|     } | ||||
|     }, | ||||
|   }, | ||||
|   onShow() { | ||||
|   onLoad(o) { | ||||
|     this.data = o | ||||
|   } | ||||
| } | ||||
| </script> | ||||
|   | ||||
| @@ -12,7 +12,7 @@ | ||||
|             <div> | ||||
|               <div > | ||||
|                 <!-- 题目 --> | ||||
|                 <div>{{ item.title }}{{score}}</div> | ||||
|                 <div>{{ item.title }}</div> | ||||
|                 <!-- 单选,判断 --> | ||||
|                 <div class="answer_list" v-if="item.type==0 || item.type==2"> | ||||
|                   <div class="answer_item" v-for="(opt,inx) in item.items" :key="inx" | ||||
| @@ -26,7 +26,7 @@ | ||||
|                   <div class="answer_item" v-for="(opt,inx) in item.items" :key="inx" | ||||
|                   :class="{'Checked': opt.isChecked,'Succeed': showAnalysis && opt.checked == 1, 'Error': showAnalysis && opt.isChecked && opt.checked == 0}" | ||||
|                   @click="itemClick(inx)"> | ||||
|                     {{ opt.sort }}: {{ opt.content}} {{opt.isChecked}} | ||||
|                     {{ opt.sort }}: {{ opt.content}} | ||||
|                   </div> | ||||
|                 </div> | ||||
|               </div> | ||||
| @@ -81,6 +81,8 @@ export default { | ||||
|       studyDuration: 0, | ||||
|       assessmentType: '', | ||||
|       examinationId: '', | ||||
|       rightCount: 0, | ||||
|       flag: false, | ||||
|     } | ||||
|   }, | ||||
|   methods: { | ||||
| @@ -123,11 +125,13 @@ export default { | ||||
|       if(this.list[this.activeIndex].type==0 || this.list[this.activeIndex].type==2){ | ||||
|         if(this.list[this.activeIndex].items[this.clickIndex].checked==1) { | ||||
|           this.score=this.score + this.subjectConfigs[this.list[this.activeIndex].type].eachScore | ||||
|           this.rightCount ++ | ||||
|         } | ||||
|       } | ||||
|       if(this.list[this.activeIndex].type==1) { // 多选 | ||||
|         if(this.list[this.activeIndex].items.every(item=>item.checked===item.isChecked)){  | ||||
|           this.score=this.score + this.subjectConfigs[this.list[this.activeIndex].type].eachScore | ||||
|           this.score = this.score + this.subjectConfigs[this.list[this.activeIndex].type].eachScore | ||||
|           this.rightCount ++ | ||||
|         } | ||||
|       } | ||||
|       if(this.activeIndex < this.list.length - 1) { | ||||
| @@ -151,19 +155,19 @@ export default { | ||||
|         let con = this.assessments[i].upCondition; | ||||
|         if (conditionMap[con](score, ret)) { | ||||
|           this.assessmentType = type[i] | ||||
|           break; | ||||
|         } | ||||
|       } | ||||
|     }, | ||||
|     // 提交 | ||||
|     submit() { | ||||
|       // 分数区间 | ||||
|       if(this.flag) return | ||||
|       this.getScoreType(this.score) | ||||
|       // 用时 | ||||
|  | ||||
|       let endTime = new Date().getTime() | ||||
|       this.studyDuration = Math.ceil((endTime - this.nowTime) / 1000 / 60) | ||||
|       // 是否合格 | ||||
|  | ||||
|       let buhege = this.assessments.filter(e=> e.assessmentType == 3) | ||||
|        | ||||
|       if(buhege[0].upCondition == 3) { // 3:小于等于、4:小于 | ||||
|         if(this.score <= buhege[0].upScore) { | ||||
|           this.status = 0 | ||||
| @@ -174,6 +178,7 @@ export default { | ||||
|           this.status = 0 | ||||
|         } | ||||
|       } | ||||
|       this.flag = true | ||||
|       this.$instance.post(`/app/appexaminationinfo/commit`,{ | ||||
|         assessmentType: this.assessmentType, | ||||
|         examinationId: this.examinationId, | ||||
| @@ -183,10 +188,18 @@ export default { | ||||
|         score: this.score | ||||
|       }).then(res=> { | ||||
|         if(res?.code == 0) { | ||||
|           this.flag = false | ||||
|           this.$u.toast('提交成功') | ||||
|           // uni.navigateTo({url: './result'}) | ||||
|           setTimeout(()=> { | ||||
|             uni.navigateTo({ | ||||
|               url: `./result?status=${this.status}&time=${this.studyDuration}&rightCount=${this.rightCount}&examCount=${this.list.length}&score=${this.score}` | ||||
|             }) | ||||
|           }, 600) | ||||
|         } | ||||
|       }).catch(err=> this.$u.toast(err.masg)) | ||||
|       }).catch(err=> { | ||||
|         this.flag = false | ||||
|         this.$u.toast(err.masg) | ||||
|       }) | ||||
|     }, | ||||
|   }, | ||||
|   onReachBottom() { | ||||
|   | ||||
		Reference in New Issue
	
	Block a user