chenxiong 3 éve
szülő
commit
ef50c250c8

+ 10 - 0
common/httpList/grade.js

@@ -14,6 +14,16 @@ export default {
 			url: '/grade/grade/'+data,
 			method: 'get'
 		})
+	},
+	
+	changeGrade(data) {
+		return myRequest({
+			url: '/grade/grade/changeGrade',
+			method: 'post',
+			data:data
+		})
 	}
 	
+	
+	
 }

+ 30 - 7
components/course/courseChapter.vue

@@ -13,7 +13,7 @@
 				</view>
 				<view v-if="itemM.type==2">
 					<u-line ></u-line>
-					<view class="examBox"  @click="toDo(itemM.typeId,goodsId,itemM.moduleId,itemM.chapterId)">
+					<view class="examBox"  @click="toDo(itemM.typeId,goodsId,itemM.moduleId,itemM.chapterId,itemM,indexM)">
 						<view class="exam">
 							<view class="eTag">{{itemM.doType==1?'练习':'考试'}}</view>
 							<view style="margin-left: 15rpx;">{{itemM.name}}</view>
@@ -98,22 +98,45 @@ export default {
 		/**
 		 * 去做题
 		 */
-		async toDo(id,goodsId =0,moduleId = 0, chapterId = 0) {
+		async toDo(id,goodsId =0,moduleId = 0, chapterId = 0,item,index) {
 			if(this.learningOrder == 1) {
 				if(this.canLearn) {
+					
+					if(item.answerNum - item.doNum > 0) {
+						this.$set(this.list[index],'doNum',(item.doNum+1))
+						console.log(this.list[index])
+						uni.navigateTo({
+							url:'/pages2/class/questionBank?courseId='+this.courseId+'&gradeId='+this.gradeId+'&isFromVideo=1&id='+id+'&goodsid='+goodsId+'&moduleId='+moduleId+'&chapterId='+chapterId+''
+						})
+					} else {
+						uni.showToast({
+							icon:'none',
+							title:'该试卷只能答题'+item.answerNum+'次'
+						})
+						
+						return;
+					}
+				} else {
+					uni.showToast({
+						icon:'none',
+						title:'请学完视频课程再进行练习和测试'
+					})
+				}
+			} else {
+				if(item.answerNum - item.doNum > 0) {
+					this.$set(this.list[index],'doNum',(item.doNum+1))
+					console.log(this.list[index])
 					uni.navigateTo({
 						url:'/pages2/class/questionBank?courseId='+this.courseId+'&gradeId='+this.gradeId+'&isFromVideo=1&id='+id+'&goodsid='+goodsId+'&moduleId='+moduleId+'&chapterId='+chapterId+''
 					})
 				} else {
 					uni.showToast({
 						icon:'none',
-						title:'请学完视频课程再进行练习和测试'
+						title:'该试卷只能答题'+item.answerNum+'次'
 					})
+					
+					return;
 				}
-			} else {
-				uni.navigateTo({
-					url:'/pages2/class/questionBank?courseId='+this.courseId+'&gradeId='+this.gradeId+'&isFromVideo=1&id='+id+'&goodsid='+goodsId+'&moduleId='+moduleId+'&chapterId='+chapterId+''
-				})
 			}
 			
 		},

+ 2 - 2
pages2/bank/detail.vue

@@ -22,7 +22,7 @@
 			<u-line color="#D6D6DB" />
 		</view>
 		<view class="intro" v-if="current == 0">
-			<view class="content" style="padding:10rpx;"><rich-text :nodes="goodsData.mobileDetailHtml"></rich-text></view>
+			<view v-if="goodsData.mobileDetailHtml" class="content" style="padding:10rpx;"><rich-text :nodes="goodsData.mobileDetailHtml"></rich-text></view>
 		</view>
 		<view class="title-list" v-if="current == 1">
 			<view class="content">
@@ -332,7 +332,7 @@ page {
 			}
 
 			.article {
-				height: 80rpx;
+				min-height: 80rpx;
 				display: flex;
 				align-items: center;
 				margin-left: 64rpx;

+ 4 - 4
pages2/bank/questionBank.vue

@@ -784,11 +784,11 @@ export default {
 						if(checkboxScore) {
 							
 							item.ans.forEach((ans,quesIndex) => {
-								//漏选扣一部分
+								//漏选只能得部分分数
 								if(item.ques) {
 									
 									if(item.ques.indexOf(item.ans[quesIndex]) == -1) {
-										checkboxScore -= item.partScore;
+										checkboxScore = item.partScore;
 									}
 								} else {
 									checkboxScore = 0;
@@ -946,7 +946,7 @@ export default {
 									if(item.ques) {
 										
 										if(item.ques.indexOf(item.ans[quesIndex]) == -1) {
-											checkboxScore -= item.partScore;
+											checkboxScore = item.partScore;
 										}
 									} else {
 										checkboxScore = 0;
@@ -1485,7 +1485,7 @@ export default {
 								if(item.ques) {
 									
 									if(item.ques.indexOf(item.ans[quesIndex]) == -1) {
-										checkboxScore -= item.partScore;
+										checkboxScore = item.partScore;
 									}
 								} else {
 									checkboxScore = 0;

+ 2 - 2
pages2/bank/questionBankContinue.vue

@@ -794,7 +794,7 @@ export default {
 								if(item.ques) {
 									
 									if(item.ques.indexOf(item.ans[quesIndex]) == -1) {
-										checkboxScore -= item.partScore;
+										checkboxScore = item.partScore;
 									}
 								} else {
 									checkboxScore = 0;
@@ -1042,7 +1042,7 @@ export default {
 								if(item.ques) {
 									
 									if(item.ques.indexOf(item.ans[quesIndex]) == -1) {
-										checkboxScore -= item.partScore;
+										checkboxScore = item.partScore;
 									}
 								} else {
 									checkboxScore = 0;

+ 1 - 1
pages2/bank/questionBankExplainDetail.vue

@@ -957,7 +957,7 @@ export default {
 								if(item.ques) {
 									
 									if(item.ques.indexOf(item.ans[quesIndex]) == -1) {
-										checkboxScore -= item.partScore;
+										checkboxScore = item.partScore;
 									}
 								} else {
 									checkboxScore = 0;

+ 3 - 2
pages2/bank/question_report.vue

@@ -30,11 +30,12 @@
 			</view>
 			<view class="dis_fst" v-if="!hideBtns">
 				<navigator
+					 v-if="wrongRecordWrongNum != 0"
 					:url="
 						'/pages2/bank/questionBankWrongExplain?recordId=' + reportdata.recordId+'&id='+examData.examId
 					"
 				>
-					<view class="btnACs" v-if="wrongRecordWrongNum != 0">错题解析</view>
+					<view class="btnACs">错题解析</view>
 				</navigator>
 				<navigator
 					:url="
@@ -277,7 +278,7 @@ export default {
 		examWrongRecordWrongNum() {
 			return new Promise(resolve => {
 				this.$api.examWrongRecordWrongNum(this.recordId).then(res => {
-					this.wrongRecordWrongNum = res.data.data;
+					this.wrongRecordWrongNum = res.data.data || 0;
 					resolve();
 				});
 			});

+ 3 - 3
pages2/class/questionBank.vue

@@ -937,7 +937,7 @@ export default {
 								if(item.ques) {
 									
 									if(item.ques.indexOf(item.ans[quesIndex]) == -1) {
-										checkboxScore -= item.partScore;
+										checkboxScore = item.partScore;
 									}
 								} else {
 									checkboxScore = 0;
@@ -1052,7 +1052,7 @@ export default {
 									if(item.ques) {
 										
 										if(item.ques.indexOf(item.ans[quesIndex]) == -1) {
-											checkboxScore -= item.partScore;
+											checkboxScore = item.partScore;
 										}
 									} else {
 										checkboxScore = 0;
@@ -1495,7 +1495,7 @@ export default {
 								if(item.ques) {
 									
 									if(item.ques.indexOf(item.ans[quesIndex]) == -1) {
-										checkboxScore -= item.partScore;
+										checkboxScore = item.partScore;
 									}
 								} else {
 									checkboxScore = 0;

+ 27 - 4
pages2/wd/class.vue

@@ -36,7 +36,7 @@
 			
 			
 			<view class="bottomBox">
-				<template v-if="item.gradeStatus == 1 && item.status == 1 && (item.studyEndTime > sysTime) &&  (item.classEndTime < sysTime) && (item.periodStatus == 0 || item.periodStatus == -1) && item.studyCount > 0">
+				<template v-if="item.gradeStatus == 1 && item.status == 1 && (item.studyEndTime > sysTime) &&  (item.classEndTime && (item.classEndTime < sysTime)) && (item.periodStatus == 0 || item.periodStatus == -1) && item.studyCount > 0">
 					<view class="restart" @click="selectClass(item)">
 						选班重学
 					</view>
@@ -133,6 +133,7 @@ export default {
 			},
 			total: 0,
 			sysTime:0,
+			selectItem:{}
 		};
 	},
 	onLoad(option) {
@@ -156,6 +157,7 @@ export default {
 		},
 		selectClass(item) {
 			console.log(item)
+			this.selectItem = item;
 			this.selectClassModal = true;
 			this.goodsGradeList(item.goodsId);
 		},
@@ -224,6 +226,11 @@ export default {
 				return;
 			}
 			
+			if(item.gradeStatus == 1 && item.status == 1 && (item.studyEndTime > this.sysTime) &&  (item.classEndTime && (item.classEndTime < this.sysTime)) && (item.periodStatus == 0 || item.periodStatus == -1) && item.studyCount > 0) {
+				this.selectClass(item);
+				return ;
+			}
+			
 			if(item.rebuildStatus == 0) {
 				this.$navTo.togo('/pages2/learn/details', {
 					gradeId:item.gradeId,
@@ -254,9 +261,25 @@ export default {
 			});
 		},
 		okPopup() {
-			this.selectClassModal = false;
-			uni.showToast({
-				title:'选班成功'
+			this.$api.changeGrade({
+			  goodsId: this.selectItem.goodsId,
+			  gradeId: this.gradeValue,
+			  oldGradeId: this.selectItem.gradeId,
+			  orderGoodsId: this.selectItem.goodsId,
+			  userId: this.selectItem.userId
+			}).then(res => {
+				if(res.data.code == 200) {
+					
+					this.selectClassModal = false;
+					uni.showToast({
+						title:'选班成功'
+					})
+				} else {
+					uni.showToast({
+						icon:'none',
+						title:res.data.msg
+					})
+				}
 			})
 		},
 		call() {