Kaynağa Gözat

Merge remote-tracking branch 'origin/2024鹅状元' into 2024鹅状元

wangguoyu 4 ay önce
ebeveyn
işleme
26a4a8f89b

+ 29 - 4
common/styles/global/components.scss

@@ -107,7 +107,8 @@ $titleBar-tabBar-page: calc(100vh - var(--status-bar-height));
 /***** 试题---题干 *****/
 .ezy-shiti-question{
 	margin: 24rpx 0 42rpx;font-size: 32rpx;color: #333;line-height: 1.6;padding: 0 10rpx;box-sizing: border-box;
-	text-align: justify;word-wrap: break-word;word-break: break-all;display: block;@include ezy-rich-text;
+	text-align: justify;word-wrap: break-word;word-break: break-all;display: block;@include ezy-rich-text;
+	li{margin: 12rpx 0;}
 }
 /***** 单选题 *****/
 .ezy-danxuan-box{
@@ -139,11 +140,35 @@ $titleBar-tabBar-page: calc(100vh - var(--status-bar-height));
 		width: 100%;line-height:96rpx;border-radius: 8px;margin-bottom: 20rpx;
 		font-size: 32rpx;color: #333;box-sizing: border-box;padding: 10rpx 24rpx;
 	}
+	.uni-radio-input{
+		width: 56rpx;height: 56rpx;border: 0;@include ezy-no-repeat-cover();
+		background-image: url("@/static/images/exam/option-bj.png");}
 	.option-question{display: flex;}
-	.option-question.active .uni-radio-input{background-color: #0589e9!important;border-color: #0589e9!important;}
-	.option-question.showError .uni-radio-input{background-color: #ff5757!important;border-color: #ff5757!important;}
-	.option-question.active_right .uni-radio-input{background-color: #1ac136!important;border-color: #1ac136!important;}
+	.option-question.active .uni-radio-input{
+		background-image: url("@/static/images/exam/option-active-img.png");
+		background-color: transparent!important;
+		svg{display: none;}
+	}
+	.option-question.showError .uni-radio-input{
+		background-image: url("@/static/images/exam/option-error-img.png");
+		background-color: transparent!important;
+		svg{display: none;}
+	}
+	.option-question.active_right .uni-radio-input{
+		background-image: url("@/static/images/exam/option-right-img.png");
+		background-color: transparent!important;
+		svg{display: none;}
+	}
+}
+/***** 填空题 *****/
+.ezy-tiankong-box{
+	.tiankongn-title{
+		width: 231rpx;height: 63rpx;
+		background-image: url("@/static/images/exam/panduan-title.png");@include ezy-no-repeat-cover();
+	}
+	.tiankong-input {width: 50px;height: 32rpx;border: 1px solid #999;}
 }
+
 /***** 试题白色的框 *****/
 .shiti-frame-box{
 	flex: 1;width: 92%;height: auto;background-color: rgba(255, 255, 255, 0.6);border-radius: 10px;

+ 95 - 30
common/styles/global/pages.scss

@@ -315,41 +315,65 @@
 	.small-brand-item:nth-child(1){top:330rpx;right:70rpx;}
 	.small-brand-item:nth-child(2){top:540rpx;left:75rpx;}
 	.small-brand-item:nth-child(3){top:692rpx;right:110rpx;}
-	.small-brand-item:nth-child(4){top:1040rpx;right:140rpx}
+	.small-brand-item:nth-child(4){top:1085rpx;right:165rpx}
 	.big-brand-item:nth-child(1){top:328rpx;right:40rpx;}
 	.big-brand-item:nth-child(2){top:540rpx;left:20rpx;}
 	.big-brand-item:nth-child(3){top:692rpx;right:80rpx;}
-	.big-brand-item:nth-child(4){top:1050rpx;right:110rpx;}
+	.big-brand-item:nth-child(4){top:1090rpx;right:130rpx;}
 	@media (max-height: 800px) {
 		// 0.92
 		.ezy-study-wrap{width: 690rpx;height: 1284rpx;}
-		.chapter-box{width: 138rpx;top:130rpx;left:304rpx;font-size: 28rpx;}
-		.chapter-title-box{width: 247rpx;top:178rpx;left:247rpx;font-size: 28rpx;}
-		.brand-item:nth-child(1){top:280rpx;right:32rpx;}
-		.brand-item:nth-child(2){top:480rpx;left:70rpx;}
-		.brand-item:nth-child(3){top:632rpx;right:78rpx;}
-		.brand-item:nth-child(4){top:1016rpx;right:140rpx;}
+		.chapter-box{width: 138rpx;top:112rpx;left:300rpx;font-size: 28rpx;}
+		.chapter-title-box{width: 296rpx;height: 70rpx;top:155rpx;left:223rpx;font-size: 28rpx;}
+		.chapter-small-title-box{line-height: 1.8;font-size: 36rpx;}
+		.chapter-middle-title-box{line-height: 2.4;font-size: 30rpx;}
+		.chapter-big-title-box{line-height: 1.3;font-size: 28rpx;}
+		.small-brand-item:nth-child(1){top:290rpx;right:60rpx;}
+		.small-brand-item:nth-child(2){top:480rpx;left:75rpx;}
+		.small-brand-item:nth-child(3){top:630rpx;right:110rpx;}
+		.small-brand-item:nth-child(4){top:990rpx;right:140rpx}
+		.big-brand-item:nth-child(1){top:300rpx;right:24rpx;}
+		.big-brand-item:nth-child(2){top:490rpx;left:24rpx;}
+		.big-brand-item:nth-child(3){top:640rpx;right:80rpx;}
+		.big-brand-item:nth-child(4){top:1000rpx;right:110rpx;}
+		.ceshi-brand-item{top:1020rpx;right:140rpx;}
 	}
 	@media (max-height: 700px) {
+		min-height: 1260rpx;
 		//0.88
-		.ezy-study-wrap{width: 644rpx;height: 1198rpx;}
-		.chapter-box{top:120rpx;left:278rpx;}
-		.chapter-title-box{width: 232rpx;top:165rpx;left:230rpx;}
-		.brand-item:nth-child(1){top:245rpx;right:30rpx;}
-		.brand-item:nth-child(2){top:440rpx;left:60rpx;}
-		.brand-item:nth-child(3){top:578rpx;right:50rpx;}
-		.brand-item:nth-child(4){top:942rpx;right:124rpx;}
+		.ezy-study-wrap{width: 630rpx;height: 1198rpx;}
+		.chapter-box{top:105rpx;left:278rpx;}
+		.chapter-title-box{width: 280rpx;height: 66rpx;top:145rpx;left:208rpx;}
+		.chapter-middle-title-box{line-height: 2.2;}
+		.chapter-big-title-box{line-height: 1.2;}
+		.small-brand-item:nth-child(1){top:260rpx;right:50rpx;}
+		.small-brand-item:nth-child(2){top:445rpx;left:60rpx;}
+		.small-brand-item:nth-child(3){top:580rpx;right:100rpx;}
+		.small-brand-item:nth-child(4){top:920rpx;right:140rpx}
+		.big-brand-item:nth-child(1){top:270rpx;right:16rpx;}
+		.big-brand-item:nth-child(2){top:450rpx;left:16rpx;}
+		.big-brand-item:nth-child(3){top:590rpx;right:70rpx;}
+		.big-brand-item:nth-child(4){top:925rpx;right:100rpx;}
+		.ceshi-brand-item{top:940rpx;right:130rpx;}
 	}
 	@media (max-height: 600px) {
 		//0.76
 		min-height:1200rpx;
 		.ezy-study-wrap{width: 577rpx;height: 1072rpx;}
-		.chapter-box{width: 120rpx;top:105rpx;left:252rpx;font-size: 26rpx;}
-		.chapter-title-box{width: 215rpx;top:145rpx;left:204rpx;font-size: 26rpx;}
-		.brand-item:nth-child(1){top:205rpx;right:4rpx;}
-		.brand-item:nth-child(2){top:380rpx;left:30rpx;}
-		.brand-item:nth-child(3){top:508rpx;right:30rpx;}
-		.brand-item:nth-child(4){top:836rpx;right:104rpx;}
+		.chapter-box{width: 120rpx;top:90rpx;left:250rpx;font-size: 26rpx;}
+		.chapter-title-box{width: 250rpx;height: 60rpx;top:128rpx;left:185rpx;}
+		.chapter-small-title-box{line-height: 1.6;font-size: 34rpx;}
+		.chapter-middle-title-box{line-height: 2;font-size: 28rpx;}
+		.chapter-big-title-box{line-height: 1.2;font-size: 26rpx;}
+		.small-brand-item:nth-child(1){top:220rpx;right:24rpx;}
+		.small-brand-item:nth-child(2){top:385rpx;left:42rpx;}
+		.small-brand-item:nth-child(3){top:500rpx;right:65rpx;}
+		.small-brand-item:nth-child(4){top:800rpx;right:100rpx}
+		.big-brand-item:nth-child(1){top:220rpx;right:0;}
+		.big-brand-item:nth-child(2){top:390rpx;left:0;}
+		.big-brand-item:nth-child(3){top:510rpx;right:30rpx;}
+		.big-brand-item:nth-child(4){top:810rpx;right:100rpx;}
+		.ceshi-brand-item{top:835rpx;right:130rpx;}
 	}
 }
 
@@ -402,22 +426,25 @@
 		width: 317rpx;height: 240rpx;top:630rpx;right:30rpx;background-image: url("@/static/images/study/yingyu/dao-item-bj1.png");
 		.icon-content-box{top: 160rpx;right: 0rpx;}
 		.brand-lock,.brand-finish-icon{top: 98rpx;right: 60rpx;}
-		.animal-img{top: 88rpx;right: 30rpx;}
+		.animal-img{top: 88rpx;right: 40rpx;}
 	}
 	.brand-item:nth-child(2){
 		width: 394rpx;height: 192rpx;top:760rpx;left:55rpx;background-image: url("@/static/images/study/yingyu/dao-item-bj2.png");
 		.icon-content-box{top: 130rpx;right: 130rpx;}
 		.brand-lock,.brand-finish-icon{top: 62rpx;right: 200rpx;}
+		.animal-img{top: 60rpx;right: 180rpx;}
 	}
 	.brand-item:nth-child(3){
 		width: 385rpx;height: 154rpx;top:980rpx;right:110rpx;background-image: url("@/static/images/study/yingyu/dao-item-bj3.png");
 		.icon-content-box{top: 100rpx;right: 0rpx;}
 		.brand-lock,.brand-finish-icon{top: 28rpx;right: 60rpx;}
+		.animal-img{top: 20rpx;right: 30rpx;}
 		}
 	.brand-item:nth-child(4){
 		width: 385rpx;height: 202rpx;top:1100rpx;left:60rpx;background-image: url("@/static/images/study/yingyu/dao-item-bj4.png");
 		.icon-content-box{top: 130rpx;right: 130rpx;}
 		.brand-lock,.brand-finish-icon{top: 62rpx;right: 200rpx;}
+		.animal-img{top: 60rpx;right: 180rpx;}
 	}
 	.brand-item.ceshi-brand-item{
 		width: 308rpx;height: 225rpx;top:1250rpx;right:30rpx;left: unset;@include ezy-no-repeat-cover;
@@ -425,6 +452,7 @@
 		.icon-content-box{background-image: unset;}
 		.brand-content{display: none;}
 		.brand-lock,.brand-finish-icon{top: 120rpx;right: 120rpx;}
+		.animal-img{top: 100rpx;right: 40rpx;}
 	}
 	
 	@media (max-height: 800px) {
@@ -447,26 +475,29 @@
 		.brand-item:nth-child(1){
 			width: 288rpx;height: 218rpx;top:506rpx;right:70rpx;
 			.icon-content-box{top: 150rpx;right: -10rpx;}
-			.brand-lock,.brand-finish-icon{top: 118rpx;right: 70rpx;}
+			.brand-lock,.brand-finish-icon{top: 102rpx;right: 70rpx;}
 		}
 		.brand-item:nth-child(2){
 			width: 356rpx;height: 173rpx;top:610rpx;left:65rpx;
 			.icon-content-box{top: 130rpx;right: 112rpx;}
 			.brand-lock,.brand-finish-icon{top: 82rpx;right: 192rpx;}
+			.animal-img{right: 160rpx;}
 		}
 		.brand-item:nth-child(3){
 			width: 346rpx;height: 138rpx;top:770rpx;right:70rpx;
 			.icon-content-box{top: 90rpx;right: -10rpx;}
-			.brand-lock,.brand-finish-icon{top: 48rpx;right: 70rpx;}
+			.brand-lock,.brand-finish-icon{top: 42rpx;right: 70rpx;}
 		}
 		.brand-item:nth-child(4){
 			width: 346rpx;height: 182rpx;top:850rpx;left:80rpx;
 			.icon-content-box{top: 130rpx;right: 112rpx;}
 			.brand-lock,.brand-finish-icon{top: 82rpx;right: 192rpx;}
+			.animal-img{right: 160rpx;}
 		}
 		.brand-item.ceshi-brand-item{
-			top:980rpx;left: unset;right:70rpx;
+			width: 250rpx;height: 183rpx;top:980rpx;left: unset;right:70rpx;
 			.brand-lock,.brand-finish-icon{top: 10rpx;right: 100rpx;}
+			.animal-img{top: 95rpx;right: 30rpx;}
 		}
 	}
 }
@@ -571,9 +602,11 @@
 		.answer-title{width: 150rpx;height: 62rpx;flex-shrink: 0;margin-left: 10rpx;
 		background-image: url("@/static/images/exam/answer-title.png");@include ezy-no-repeat-cover;
 		}
-		.answer-btn-box{
-			display: flex;height: 135rpx;
-			margin: 20rpx 0 20rpx 10rpx;}
+		.tiankong-answer-content-box{background-color: rgba(255, 255, 255, 0.7);font-size: 32rpx;color: #15ab2e;
+		border-radius: 4px;box-sizing: border-box;padding: 16rpx;margin: 20rpx 0 20rpx 10rpx;min-height: 80rpx;}
+		.tiankong-answer-row{word-break: break-all;margin-bottom: 10rpx;}
+		.tiankong-answer-row:last-child{margin-bottom: 0;}
+		.answer-btn-box{display: flex;height: 135rpx;margin: 20rpx 0 20rpx 10rpx;}
 		.answer-item-left,.answer-item-right{
 			width: 100%;flex: 1;align-items: center;justify-content: center;
 			display: flex;flex-direction: column;background-color: rgba(255, 255, 255, 0.7);
@@ -785,8 +818,40 @@
 		.segmented-control__item--button{height: 62rpx;border: 0;border-radius: 8rpx;}
 		.segmented-control__item--button--active .segmented-control__text{color: #fff!important;}
 	}
-	.cuoti-content-box{
-		background-color: rgba(255, 255, 255, 0.6);z-index: 3;margin: 10rpx 20rpx;
+	.cuoti-content-box{flex: 1;background-color: rgba(255, 255, 255, 0.6);z-index: 3;margin: 10rpx 20rpx;}
+	.cuoti-scroll-view{overflow-y: auto;}
+	
+	// item
+	.list-item-box{
+		width: 94%;background-color: transparent!important;
+		border-bottom: 1px dashed #77d6f7;margin: 0 3%;
+		.uni-list-item__header{display: none;}
+		.uni-list-item__container{flex-direction: column;position: relative;padding:36rpx 0;overflow: unset;}
+		.item-date-row{
+			display: flex;align-items: center;color:#28bdf2;margin-bottom: 16rpx;
+			.data-icon{
+				width: 35rpx;height: 35rpx;margin: 10rpx;font-size: 28rpx;
+				@include ezy-no-repeat-cover;background-image: url("@/static/images/exam/cuoti-time-icon.png");}
+		}
+		.item-cuoti-row{
+			display: flex;flex-direction: row;color:#444;
+			.icon-num-box{display: flex;}
+			.cuoti-content{display: flex;align-items: center;}
+			.cuoti-icon{
+				width: 35rpx;height: 35rpx;margin: 10rpx;font-size: 28rpx;
+				@include ezy-no-repeat-cover;background-image: url("@/static/images/exam/cuoti-icon.png");
+			}
+			.cuoti-text{color: #ff0101;margin-right: 6rpx;}
+		}
+		.cuoti-btn{
+			width: 160rpx;height: 40rpx;line-height: 38rpx;box-sizing: border-box;padding-left: 24rpx;
+			background-color: #068aea;font-size: 24rpx;color: #fff;border-radius: 20rpx 0 0 20rpx;
+			position: absolute;right: -3%;top: 114rpx;
+		}
+		.cuoti-btn::after{
+			content: '';width: 14rpx;height: 24rpx;display: block;position: absolute;top: 8rpx;right: 16rpx;
+			@include ezy-no-repeat-cover;background-image: url("@/static/images/my/list-jt.png");
+		}
 	}
 	
 }

+ 15 - 10
components/chengji/chengji.vue

@@ -34,16 +34,15 @@
 								</view>
 								<view  v-else>
 									<!-- 答案 -->
-									<view >
-										<text class="answer-item-title">正确答案</text>
-										<view v-for="(ict,cindex) in showAnswerResult(item)" :key="cindex">
-                      <text>{{cindex+1}}</text>
-                      <text v-for="(xItem,xindex) in ict" :key="xindex">
-                        <text > {{xItem}} </text>
-                        <text v-if="xindex != ict.length-1">/</text>
-                      </text>
-
-                    </view>
+									<view class="tiankong-answer-content-box">
+										<!-- <text class="answer-item-title">正确答案</text> -->
+										<view v-for="(ict,cindex) in showAnswerResult(item)" :key="cindex" class="tiankong-answer-row">
+										  <text>{{cindex+1}}. </text>
+										  <text v-for="(xItem,xindex) in ict" :key="xindex">
+											<text > {{xItem}} </text>
+											<text v-if="xindex != ict.length-1">/</text>
+										  </text>
+										</view>
 									</view>
 								</view>
 								
@@ -125,9 +124,15 @@
 	
 	function showAnswerReply(item) {
 		if (item.type == 1) {
+      if (item.reply == null) {
+        return '未答'
+      }
 			// 单选题
 			return getLetterByIndex(item.reply)
 		} else if (item.type == 2){
+      if (item.reply == null) {
+        return '未答'
+      }
 			if (item.reply == 1) {
 				return '正确'
 			} else {

+ 4 - 31
components/question/tiankong.vue

@@ -1,7 +1,9 @@
 <template>
-	<view class="fill-in-the-blank">
+	<view class="ezy-tiankong-box">
+		<!-- 标题区域 -->
+		<view class="tiankongn-title"></view>
 		<!-- 显示填空后的文本 -->
-		<view class="formatted-text" v-html="formattedText" :question="question" :myflag="myflag"
+		<view class="ezy-shiti-question" v-html="formattedText" :question="question" :myflag="myflag"
 			:change:myflag="TK.updateFlag" :change:question="TK.watchQuestionChange"></view>
 		<!-- 提供与占位符数量相匹配的输入框 -->
 		<template v-for="(placeholder, index) in placeholders" :key="index">
@@ -124,32 +126,3 @@
 	}
 </script>
 
-<style scoped>
-	.fill-in-the-blank {
-		width: 100%;
-	}
-
-	.formatted-text {
-		margin-bottom: 10px;
-		font-size: 16px;
-		line-height: 1.5;
-	}
-
-	.inputs-container {
-		display: flex;
-		flex-wrap: wrap;
-		gap: 10px;
-	}
-
-	.input-box {
-		padding: 5px;
-		width: 150px;
-		/* 可根据需要调整宽度 */
-		border: 1px solid #ccc;
-		border-radius: 4px;
-	}
-
-	.tiankong-input {
-		width: 50px;
-	}
-</style>

+ 2 - 1
pages/study/index.vue

@@ -242,7 +242,8 @@
 
 	function goKaoshi(data) {
 		uni.redirectTo({
-			url: `/pages/unitTest/index?jieNumber=` + data.number
+			// url: `/pages/unitTest/index?jieNumber=` + data.number
+			url: `/pages/unitTest/index?jieId=` + data.jieId
 		})
 	}
 

+ 20 - 12
pages/unitTest/useUnit.js

@@ -72,20 +72,15 @@ export function useExam() {
 		haveFlag: false, // 是否有下一章
 	})
 	onLoad((options) => {
-		const jieNumber = options.jieNumber
-		if (!(cacheManager.get('zhangInfo') && options.jieNumber)) {
-			toast('数据错误,缓存丢失/ number丢失')
-			return false
-		}
+		const jieId = options.jieId
 		const cacheZhangInfo = cacheManager.get('zhangInfo');
-		let currentObject = cacheZhangInfo.jieList.find(item => item.number == options.jieNumber);
 		const {
 			cardId,
 			zhangId,
 			nianji
 		} = cacheManager.get('auth');
 
-		data.jieId = currentObject.jieId; // 需要路由参数 节Id
+		data.jieId = jieId; // 需要路由参数 节Id
 		data.zhangId = zhangId; // 需要路由参数 章Id
 		data.nianji = nianji; // 需要年纪Id 来执行返回页面
 		data.xueke = cardId; // 需要年纪Id 来执行返回页面
@@ -129,7 +124,7 @@ export function useExam() {
 			if (item.type == 3) {
 				item.result = JSON.parse(item.result);
 				item.placeholders = item.result.map((item, cindex) => `[bank${cindex}]`)
-				item.reply = item.result.map(() => '');
+				item.reply = item.reply ? JSON.parse(item.reply): item.result.map(() => '');
 			}
 		})
 	}
@@ -148,10 +143,23 @@ export function useExam() {
 	async function handleSubmit(dom) {
 		const result = [];
 		data.list.forEach(item => {
-			result.push({
-				reply: item.reply ? JSON.stringify(item.reply) : '',
-				stId: item.stId
-			})
+			if (item.type == 1) {
+				result.push({
+					reply: item.reply,
+					stId: item.stId
+				})
+			} else if (item.type == 2) {
+				result.push({
+					reply: item.reply ,
+					stId: item.stId
+				})
+			} else if (item.type ==3){
+				result.push({
+					reply: item.reply ? JSON.stringify(item.reply) : '',
+					stId: item.stId
+				})
+			}
+		
 		})
 
 		const [error, cdata] = await catchError(httpUnit.getExamSubmit({

+ 41 - 41
pages/wrong/index.vue

@@ -9,45 +9,56 @@
 				@clickItem="onChangeTab" class="cuo-tab-box" />
 			<view class="cuoti-content-box">
 				<view v-if="data.current === 0">
-					<scroll-view style="height: 300px;" scroll-y="true" refresher-enabled="true"
+					<scroll-view scroll-y="true" refresher-enabled="true"
 						:refresher-triggered="data.shuxue.loading" :refresher-threshold="50"
-						refresher-background="lightgreen" @refresherrefresh="onRefresh" @refresherrestore="onRestore"
-						@refresherabort="onAbort">
+						refresher-background="lightgreen" @refresherrefresh="onRefresh" class="cuoti-scroll-view">
 						<!--数学-->
 						<uni-list>
-							<uni-list-item v-for="item in data.shuxue.list">
+							<uni-list-item v-for="item in data.shuxue.list" class="list-item-box">
 								<template v-slot:body>
-									<view class="slot-box">
-										<!-- 时间 -->
-										<text class="slot-text">日期{{ item.date }}</text>
-										<!-- 数量 -->
-										<text class="slot-text">错题数:{{ item.count }}题</text>
-										<button @click="getCuotiData(item)">查看错题</button>
+									<!-- 时间 -->
+									<view class="item-date-row">
+										<icon class="data-icon"></icon>
+										<text>{{ item.cdate }}</text>
+									</view>
+									<!-- 数量 -->
+									<view class="item-cuoti-row">
+											<icon class="cuoti-icon"></icon>
+											<view class="cuoti-content">错题数:<text class="cuoti-text">{{ item.count }}</text>题</view>
 									</view>
+									<view @click="getCuotiData(item)" class="cuoti-btn">查看错题</view>
 								</template>
 							</uni-list-item>
 							<uni-load-more :status="data.shuxue.state" @click="getMore(0)"
-								:contentText="data.shuxue.contentText"></uni-load-more>
+								:contentText="data.shuxue.state_text"></uni-load-more>
 						</uni-list>
 					</scroll-view>
 				</view>
 				<view v-if="data.current === 1">
-					<!--英语-->
-					<uni-list>
-						<uni-list-item v-for="item in data.yingyu.list">
-							<template v-slot:body>
-								<view class="slot-box">
-									{{ item }}
-									<text class="slot-text">title</text>
-									<text class="slot-text">date</text>
-									<text class="slot-text">wrong</text>
-									<button>查看错题</button>
-								</view>
-							</template>
-						</uni-list-item>
-						<uni-load-more :status="data.yingyu.state" @click="getMore(1)"
-							:contentText="data.yingyu.contentText"></uni-load-more>
-					</uni-list>
+					<scroll-view style="height: 300px;" scroll-y="true" refresher-enabled="true"
+						:refresher-triggered="data.yingyu.loading" :refresher-threshold="50"
+						refresher-background="lightgreen" @refresherrefresh="onRefresh">
+						<!--英语-->
+						<uni-list>
+							<uni-list-item v-for="item in data.yingyu.list">
+                <template v-slot:body>
+                  <!-- 时间 -->
+                  <view class="item-date-row">
+                    <icon class="data-icon"></icon>
+                    <text>{{ item.cdate }}</text>
+                  </view>
+                  <!-- 数量 -->
+                  <view class="item-cuoti-row">
+                    <icon class="cuoti-icon"></icon>
+                    <view class="cuoti-content">错题数:<text class="cuoti-text">{{ item.count }}</text>题</view>
+                  </view>
+                  <view @click="getCuotiData(item)" class="cuoti-btn">查看错题</view>
+                </template>
+              </uni-list-item>
+							<uni-load-more :status="data.yingyu.state" @click="getMore(1)"
+								:contentText="data.yingyu.state_text"></uni-load-more>
+						</uni-list>
+					</scroll-view>
 				</view>
 			</view>
 		</view>
@@ -191,14 +202,14 @@
 		}
 
 		if (code == 0) {
-			if (data.shuxue.state == 'no-more' && !refresh) return;
+			if (data.shuxue.state == 'no-more') return;
 			// 数学
 			data.shuxue.state = 'loading';
 			data.shuxue.page++;
 			opt.page = data.shuxue.page;
 		} else if (code == 1) {
 			// 英语
-			if (data.yingyu.state == 'no-more' && !refresh) return;
+			if (data.yingyu.state == 'no-more') return;
 			data.yingyu.state = 'loading';
 			data.yingyu.page++;
 			opt.page = data.yingyu.page;
@@ -254,11 +265,10 @@
 	function formatListToUse(list) {
 		list.forEach((item, index) => {
 			item.mta_show = false;
-			item.reply = null;
 			if (item.type == 3) {
 				item.result = JSON.parse(item.result);
 				item.placeholders = item.result.map((item, cindex) => `[bank${cindex}]`)
-				item.reply = item.result.map(() => '');
+				item.reply = item.reply ? JSON.parse(item.reply) : item.result.map(() => '');
 			}
 		})
 	}
@@ -287,16 +297,6 @@
 		refreshData(data.current);
 	}
 
-	function onRestore() {
-		data.shuxue.loading = 'restore'; // 需要重置
-		// console.log("onRestore");
-	}
-
-	function onAbort() {
-		// console.log("onAbort");
-	}
-
-
 	onLoad(() => {
 		getMore(data.current);
 	})

BIN
static/images/exam/cuoti-icon.png


BIN
static/images/exam/cuoti-time-icon.png


BIN
static/images/exam/option-active-img.png


BIN
static/images/exam/option-bj.png


BIN
static/images/exam/option-error-img.png


BIN
static/images/exam/option-right-img.png