ソースを参照

修复测试bug

chenxiong 3 年 前
コミット
3fa064bf40

+ 66 - 30
pages2/bank/questionBank.vue

@@ -677,7 +677,12 @@ export default {
 					let isRight =
 						item.ans &&
 						item.ans.every((quesItem, quesIndex) => {
-							return item.ques[quesIndex] == item.ans[quesIndex];
+							if(item.ques) {
+								return item.ques[quesIndex] == item.ans[quesIndex];
+							} else {
+								return false;
+							}
+							
 						});
 			
 					if (isRight) {
@@ -687,11 +692,15 @@ export default {
 						rightQuestionIds.push(item.questionId)
 					} else {
 						let checkboxScore = item.score;  //获取单题总分数
-						item.ques.forEach((ques,quesIndex) => {
+						item.ques && item.ques.forEach((ques,quesIndex) => {
 							//选错一个全扣
-							if(item.ans.indexOf(item.ques[quesIndex]) == -1) {
+							if(item.ques) {
+								if(item.ans.indexOf(item.ques[quesIndex]) == -1) {
+									checkboxScore = 0;
+								} 
+							} else {
 								checkboxScore = 0;
-							} 
+							}
 						})
 						console.log(checkboxScore)
 						
@@ -700,10 +709,14 @@ export default {
 							
 							item.ans.forEach((ans,quesIndex) => {
 								//漏选扣一部分
-								console.log(item.ques.indexOf(item.ans[quesIndex]))
-								if(item.ques.indexOf(item.ans[quesIndex]) == -1) {
-									checkboxScore -= item.partScore;
-								} 
+								if(item.ques) {
+									
+									if(item.ques.indexOf(item.ans[quesIndex]) == -1) {
+										checkboxScore -= item.partScore;
+									}
+								} else {
+									checkboxScore = 0;
+								}
 							})
 						}
 						
@@ -821,7 +834,11 @@ export default {
 						let isRight =
 							item.ans &&
 							item.ans.every((quesItem, quesIndex) => {
-								return item.ques[quesIndex] == item.ans[quesIndex];
+								if(item.ques) {
+									return item.ques[quesIndex] == item.ans[quesIndex];
+								} else {
+									return false;
+								}
 							});
 
 						if (isRight) {
@@ -829,11 +846,15 @@ export default {
 							number++;
 						}  else {
 							let checkboxScore = item.score;  //获取单题总分数
-							item.ques.forEach((ques,quesIndex) => {
+							item.ques && item.ques.forEach((ques,quesIndex) => {
 								//选错一个全扣
-								if(item.ans.indexOf(item.ques[quesIndex]) == -1) {
+								if(item.ques) {
+									if(item.ans.indexOf(item.ques[quesIndex]) == -1) {
+										checkboxScore = 0;
+									} 
+								} else {
 									checkboxScore = 0;
-								} 
+								}
 							})
 							console.log(checkboxScore)
 							
@@ -842,10 +863,14 @@ export default {
 								
 								item.ans.forEach((ans,quesIndex) => {
 									//漏选扣一部分
-									console.log(item.ques.indexOf(item.ans[quesIndex]))
-									if(item.ques.indexOf(item.ans[quesIndex]) == -1) {
-										checkboxScore -= item.partScore;
-									} 
+									if(item.ques) {
+										
+										if(item.ques.indexOf(item.ans[quesIndex]) == -1) {
+											checkboxScore -= item.partScore;
+										}
+									} else {
+										checkboxScore = 0;
+									}
 								})
 							}
 							
@@ -859,7 +884,6 @@ export default {
 						}
 						if (item.ques && item.ques.length) {
 							doQuestionNum++;
-							doQuestionIds.push(item.questionId)
 						}
 					} else if (item.type == 3) {
 						if (item.ques == item.ans) {
@@ -1251,7 +1275,7 @@ export default {
 				});
 		},
 		pdsubmit() {
-			if (this.bankType == 1) {
+			// if (this.bankType == 1) {
 				let ansCount = this.questionOverNum(true); //已答题数
 				this.lastCount = this.questionList.length - ansCount; //统计未答完的题数
 				//没有答完
@@ -1260,7 +1284,7 @@ export default {
 					this.showpopups = true;
 					return;
 				}
-			}
+			// } 
 			this.submit();
 		},
 		/**
@@ -1277,7 +1301,7 @@ export default {
 			let doQuestionIds = []; //做过的题目id
 			let rightQuestionIds = []; //做对的题目id
 			this.questionList.forEach((item, index) => {
-				// passScore = item.passScore
+				passScore = item.passScore
 				if (item.type == 1) {
 					//正确
 					if (item.ques == item.ans) {
@@ -1298,7 +1322,11 @@ export default {
 					let isRight =
 						item.ans &&
 						item.ans.every((quesItem, quesIndex) => {
-							return item.ques[quesIndex] == item.ans[quesIndex];
+							if(item.ques) {
+								return item.ques[quesIndex] == item.ans[quesIndex];
+							} else {
+								return false;
+							}
 						});
 
 					if (isRight) {
@@ -1308,11 +1336,15 @@ export default {
 						rightQuestionIds.push(item.questionId)
 					} else {
 						let checkboxScore = item.score;  //获取单题总分数
-						item.ques.forEach((ques,quesIndex) => {
+						item.ques && item.ques.forEach((ques,quesIndex) => {
 							//选错一个全扣
-							if(item.ans.indexOf(item.ques[quesIndex]) == -1) {
+							if(item.ques) {
+								if(item.ans.indexOf(item.ques[quesIndex]) == -1) {
+									checkboxScore = 0;
+								} 
+							} else {
 								checkboxScore = 0;
-							} 
+							}
 						})
 						console.log(checkboxScore)
 						
@@ -1321,10 +1353,14 @@ export default {
 							
 							item.ans.forEach((ans,quesIndex) => {
 								//漏选扣一部分
-								console.log(item.ques.indexOf(item.ans[quesIndex]))
-								if(item.ques.indexOf(item.ans[quesIndex]) == -1) {
-									checkboxScore -= item.partScore;
-								} 
+								if(item.ques) {
+									
+									if(item.ques.indexOf(item.ans[quesIndex]) == -1) {
+										checkboxScore -= item.partScore;
+									}
+								} else {
+									checkboxScore = 0;
+								}
 							})
 						}
 						
@@ -1370,8 +1406,8 @@ export default {
 				}
 			});
 			
-			//大于60分及格
-			if(score >= 60) {
+			//大于及格
+			if(score >= passScore) {
 				reportStatus = 1
 			} else {
 				reportStatus = 0

+ 20 - 8
pages2/bank/questionBankExplain.vue

@@ -686,7 +686,11 @@ export default {
 					}
 				} else if(item.type == 2) {
 					let isRight = item.ans && item.ans.every((quesItem,quesIndex) => {
-						return item.ques[quesIndex] == item.ans[quesIndex]
+						if(item.ques) {
+							return item.ques[quesIndex] == item.ans[quesIndex]
+						} else {
+							return false;
+						}
 					})
 					
 					if(isRight) {
@@ -695,11 +699,15 @@ export default {
 						rightQuestionIds.push(item.questionId)
 					} else {
 						let checkboxScore = item.score;  //获取单题总分数
-						item.ques.forEach((ques,quesIndex) => {
+						item.ques && item.ques.forEach((ques,quesIndex) => {
 							//选错一个全扣
-							if(item.ans.indexOf(item.ques[quesIndex]) == -1) {
+							if(item.ques) {
+								if(item.ans.indexOf(item.ques[quesIndex]) == -1) {
+									checkboxScore = 0;
+								} 
+							} else {
 								checkboxScore = 0;
-							} 
+							}
 						})
 						console.log(checkboxScore)
 						
@@ -708,10 +716,14 @@ export default {
 							
 							item.ans.forEach((ans,quesIndex) => {
 								//漏选扣一部分
-								console.log(item.ques.indexOf(item.ans[quesIndex]))
-								if(item.ques.indexOf(item.ans[quesIndex]) == -1) {
-									checkboxScore -= item.partScore;
-								} 
+								if(item.ques) {
+									
+									if(item.ques.indexOf(item.ans[quesIndex]) == -1) {
+										checkboxScore -= item.partScore;
+									}
+								} else {
+									checkboxScore = 0;
+								}
 							})
 						}
 						

+ 19 - 7
pages2/bank/questionBankExplainDetail.vue

@@ -891,7 +891,11 @@ export default {
 					}
 				} else if(item.type == 2) {
 					let isRight = item.ans && item.ans.every((quesItem,quesIndex) => {
-						return item.ques[quesIndex] == item.ans[quesIndex]
+						if(item.ques) {
+							return item.ques[quesIndex] == item.ans[quesIndex]
+						} else {
+							return false;
+						}
 					})
 					
 					if(isRight) {
@@ -902,9 +906,13 @@ export default {
 						let checkboxScore = item.score;  //获取单题总分数
 						item.ques.forEach((ques,quesIndex) => {
 							//选错一个全扣
-							if(item.ans.indexOf(item.ques[quesIndex]) == -1) {
+							if(item.ques) {
+								if(item.ans.indexOf(item.ques[quesIndex]) == -1) {
+									checkboxScore = 0;
+								} 
+							} else {
 								checkboxScore = 0;
-							} 
+							}
 						})
 						console.log(checkboxScore)
 						
@@ -913,10 +921,14 @@ export default {
 							
 							item.ans.forEach((ans,quesIndex) => {
 								//漏选扣一部分
-								console.log(item.ques.indexOf(item.ans[quesIndex]))
-								if(item.ques.indexOf(item.ans[quesIndex]) == -1) {
-									checkboxScore -= item.partScore;
-								} 
+								if(item.ques) {
+									
+									if(item.ques.indexOf(item.ans[quesIndex]) == -1) {
+										checkboxScore -= item.partScore;
+									}
+								} else {
+									checkboxScore = 0;
+								}
 							})
 						}
 						

+ 8 - 9
pages2/bank/question_detail.vue

@@ -75,8 +75,8 @@
 									<view class="article active" style="margin-left:62rpx;" v-for="(article, index3) in item2.list" :key="index3">
 										<view class="flex_auto">{{ article.examName }}</view>
 										<view class="btn" @click="toDo(article.examId, goodsData.goodsId, item1.majorId, item2.chapterExamId)" v-if="article.recordStatus == -1">做题</view>
-										<view class="btn" @click="continueDo(article.recordId,article.examId, goodsData.goodsId, item2.chapterExamId, item1.majorId)" v-if="article.recordStatus == 0">继续</view>
-										<view class="btn" @click="doRepeat(article.recordId,article.examId, goodsData.goodsId, item2.chapterExamId, item1.majorId)" v-if="article.recordStatus == 1">重做</view>
+										<view class="btn" @click="continueDo(article.recordId,article.examId, goodsData.goodsId, item2.chapterExamId, item1.majorId)" v-if="article.recordStatus == 0 && article.doType == 1">继续</view>
+										<view class="btn" @click="doRepeat(article.recordId,article.examId, goodsData.goodsId, item2.chapterExamId, item1.majorId)" v-if="article.recordStatus == 1 || (article.recordStatus == 0 && article.doType == 2)">重做</view>
 									</view>
 								</view>
 								<u-line v-if="item1.length > 1"></u-line>
@@ -96,8 +96,8 @@
 							<view class="article active" style="margin-left:64rpx;" v-for="(article, index2) in item1.list" :key="index2">
 								<view class="flex_auto">{{ item1.name }}</view>
 								<view class="btn" @click="toDo(article.examId, goodsData.goodsId, 0, item1.majorId)" v-if="article.recordStatus == -1">做题</view>
-								<view class="btn" @click="continueDo(article.recordId,article.examId, goodsData.goodsId, 0, item1.majorId)" v-if="article.recordStatus == 0">继续</view>
-								<view class="btn" @click="doRepeat(article.recordId,article.examId, goodsData.goodsId, item1.majorId,0)" v-if="article.recordStatus == 1">重做</view>
+								<view class="btn" @click="continueDo(article.recordId,article.examId, goodsData.goodsId, 0, item1.majorId)" v-if="article.recordStatus == 0 && article.doType == 1">继续</view>
+								<view class="btn" @click="doRepeat(article.recordId,article.examId, goodsData.goodsId, item1.majorId,0)" v-if="article.recordStatus == 1 || (article.recordStatus == 0 && article.doType == 2)">重做</view>
 							</view>
 						</view>
 					</template>
@@ -106,8 +106,8 @@
 						<view class="article active">
 							<view class="flex_auto">{{ item1.name }}</view>
 							<view class="btn" @click="toDo(item1.majorId, goodsData.goodsId, 0, 0)" v-if="item1.recordStatus == -1">做题</view>
-							<view class="btn" @click="continueDo(item1.recordId,item1.majorId, goodsData.goodsId, 0, 0)" v-if="item1.recordStatus == 0">继续</view>
-							<view class="btn" @click="doRepeat(item1.recordId,item1.majorId, goodsData.goodsId, 0, 0)" v-if="item1.recordStatus == 1">重做</view>
+							<view class="btn" @click="continueDo(item1.recordId,item1.majorId, goodsData.goodsId, 0, 0)" v-if="item1.recordStatus == 0 && item1.doType == 1">继续</view>
+							<view class="btn" @click="doRepeat(item1.recordId,item1.majorId, goodsData.goodsId, 0, 0)" v-if="item1.recordStatus == 1 || (item1.recordStatus == 0 && item1.doType == 2)">重做</view>
 						</view>
 					</template>
 				</view>
@@ -134,15 +134,14 @@ export default {
 	onLoad(option) {
 		this.id = option.id;
 		this.getDetail();
-		this.goodsBankList();
+		// this.goodsBankList();
 		// this.getCollectNum();
 		// this.getWrongNum()
-		this.goodsBankQuestionNum();
-		this.goodsBank();
 	},
 	onShow() {
 		
 		this.goodsBankQuestionNum();
+		this.goodsBank();
 	},
 	methods: {
 		/**

+ 49 - 18
pages2/class/questionBank.vue

@@ -812,18 +812,27 @@ export default {
 						let checkboxScore = item.score;  //获取单题总分数
 						item.ques.forEach((ques,quesIndex) => {
 							//选错一个全扣
-							if(item.ans.indexOf(item.ques[quesIndex]) == -1) {
+							if(item.ques) {
+								if(item.ans.indexOf(item.ques[quesIndex]) == -1) {
+									checkboxScore = 0;
+								} 
+							} else {
 								checkboxScore = 0;
-							} 
+							}
 						})
 						
 						//没选错
 						if(checkboxScore) {
 							item.ans.forEach((ans,quesIndex) => {
-								//选错一个全扣
-								if(item.ques.indexOf(item.ans[quesIndex]) == -1) {
-									checkboxScore -= item.partScore;
-								} 
+								//漏选扣一部分
+								if(item.ques) {
+									
+									if(item.ques.indexOf(item.ans[quesIndex]) == -1) {
+										checkboxScore -= item.partScore;
+									}
+								} else {
+									checkboxScore = 0;
+								}
 							})
 						}
 						
@@ -918,18 +927,27 @@ export default {
 							let checkboxScore = item.score;  //获取单题总分数
 							item.ques.forEach((ques,quesIndex) => {
 								//选错一个全扣
-								if(item.ans.indexOf(item.ques[quesIndex]) == -1) {
+								if(item.ques) {
+									if(item.ans.indexOf(item.ques[quesIndex]) == -1) {
+										checkboxScore = 0;
+									} 
+								} else {
 									checkboxScore = 0;
-								} 
+								}
 							})
 							
 							//没选错
 							if(checkboxScore) {
 								item.ans.forEach((ans,quesIndex) => {
-									//选错一个全扣
-									if(item.ques.indexOf(item.ans[quesIndex]) == -1) {
-										checkboxScore -= item.partScore;
-									} 
+									//漏选扣一部分
+									if(item.ques) {
+										
+										if(item.ques.indexOf(item.ans[quesIndex]) == -1) {
+											checkboxScore -= item.partScore;
+										}
+									} else {
+										checkboxScore = 0;
+									}
 								})
 							}
 							
@@ -1296,7 +1314,12 @@ export default {
 					let isRight =
 						item.ans &&
 						item.ans.every((quesItem, quesIndex) => {
-							return item.ques[quesIndex] == item.ans[quesIndex];
+							if(item.ques) {
+								return item.ques[quesIndex] == item.ans[quesIndex];
+							} else {
+								return false;
+							}
+							
 						});
 
 					if (isRight) {
@@ -1308,9 +1331,13 @@ export default {
 						let checkboxScore = item.score;  //获取单题总分数
 						item.ques.forEach((ques,quesIndex) => {
 							//选错一个全扣
-							if(item.ans.indexOf(item.ques[quesIndex]) == -1) {
+							if(item.ques) {
+								if(item.ans.indexOf(item.ques[quesIndex]) == -1) {
+									checkboxScore = 0;
+								} 
+							} else {
 								checkboxScore = 0;
-							} 
+							}
 						})
 						console.log(checkboxScore)
 						
@@ -1319,9 +1346,13 @@ export default {
 							
 							item.ans.forEach((ans,quesIndex) => {
 								//漏选扣一部分
-								console.log(item.ques.indexOf(item.ans[quesIndex]))
-								if(item.ques.indexOf(item.ans[quesIndex]) == -1) {
-									checkboxScore -= item.partScore;
+								if(item.ques) {
+									
+									if(item.ques.indexOf(item.ans[quesIndex]) == -1) {
+										checkboxScore -= item.partScore;
+									}
+								} else {
+									checkboxScore = 0;
 								} 
 							})
 						}