chen %!s(int64=3) %!d(string=hai) anos
pai
achega
22d9d998e7

+ 20 - 0
pages.json

@@ -500,6 +500,26 @@
 					}
 				}
 			},
+			{
+				"path": "bank/wrongById",
+				"style": {
+					"navigationBarTitleText": "错题集",
+					"app-plus": {
+						"titleNView": false, //禁用原生导航栏 
+						"bounce": "none"
+					}
+				}
+			},
+			{
+				"path": "bank/collectById",
+				"style": {
+					"navigationBarTitleText": "收藏集",
+					"app-plus": {
+						"titleNView": false, //禁用原生导航栏 
+						"bounce": "none"
+					}
+				}
+			},
 			{
 				"path": "subject/collect",
 				"style": {

+ 351 - 0
pages2/bank/collectById.vue

@@ -0,0 +1,351 @@
+<template>
+	<view class="safeArea">
+		<view class="sceenBox">
+			<view :class="['item', {'active':sceenType===2} ]" @click="showSceen(2)">全部试卷类型<u-icon class="icon" name="arrow-down"></u-icon></view>
+		</view>
+		<view class="sceenModel" v-if="sceenType">
+			<view class="sceenModelBg" @click="hideSceen"></view>
+			<view class="sceenMain">
+					<view :class="['item',{'active':item.checked}]" v-for="(item, index) in scennList2" :key="index" @click="choseType(index)">{{item.paperName}}</view>
+			</view>
+		</view>
+		<view class="wrap">
+			<view class="wrongTab">
+				<view class="item" :class="{active:type == 1}" @click="selectType(1)">试卷归类</view>
+				<view class="item" :class="{active:type == 2}" @click="selectType(2)">题型归类</view>
+			</view>
+			<view class="wrongHead">
+				<view class="title">收藏统计</view>
+				<view class="progress">
+					<text v-if="type == 1">{{testList.total}}</text>
+					<text v-if="type == 2">{{typeList.total}}</text>
+				</view>
+			</view>
+			<view class="wrongList" v-if="type == 1">
+				<view class="item" v-for="(item,index) in testList.rows" :key="index">
+					<view class="title">{{item.examName}}</view>
+					<view class="bt">
+						<view class="left">收藏数<text class="num">{{item.questionNum}}</text></view>
+						<view class="right">
+							<navigator :url="'/pages2/subject/collectBank?id='+item.examId">
+								<view class="btn">重做</view>
+							</navigator>
+							<navigator :url="'/pages2/subject/collectBank?id='+item.examId+'&explain=1'">
+								<view class="btn">解析</view>
+							</navigator>
+							<!-- <view class="btn">解析</view> -->
+						</view>
+					</view>
+				</view>
+			</view>
+			
+			<view class="wrongList" v-if="type == 2">
+				<view class="item" v-for="(item,index) in typeList.rows" :key="index">
+					<view class="title">
+						<text v-if="item.type==1">单选题</text>
+						<text v-if="item.type==2">多选题</text>
+						<text v-if="item.type==3">判断题</text>
+						<text v-if="item.type==4">案例题</text>
+						<text v-if="item.type==5">简答题</text>
+					</view>
+					<view class="bt">
+						<view class="left">收藏数<text class="num">{{item.num}}</text></view>
+						<view class="right">
+							<navigator :url="'/pages2/subject/collectTypeBank?type='+item.type">
+								<view class="btn">重做</view>
+							</navigator>
+							<navigator :url="'/pages2/subject/collectTypeBank?type='+item.type+'&explain=1'">
+								<view class="btn">解析</view>
+							</navigator>
+						</view>
+					</view>
+				</view>
+			</view>
+		</view>
+	</view>
+</template>
+
+<script>
+import { mapGetters } from 'vuex';
+export default {
+	components: {},
+	data() {
+		return {
+			sceenType: null,
+			scennList2:[
+				{paperId: '', paperName: '全部试卷类型', checked: true}
+			],
+			type:1,
+			testList:[],
+			typeList:[],
+			total:0,
+			goodsid:'',
+			paperid:''
+		};
+	},
+	onPullDownRefresh() {},
+	onLoad(option) {
+		
+		this.goodsid = option.goodsid
+		this.examaperList();
+		this.getData();
+	},
+	methods: {
+		getData() {
+			if(this.type == 1) {
+				this.goodsCollectExamList()
+			} else if(this.type == 2) {
+				this.collectQuestionTypeList();
+			}
+		},
+		examaperList() {
+			this.$api.examaperList({
+				
+			}).then(res => {
+				this.scennList2 = [...this.scennList2,...res.data.rows];
+			})
+		},
+
+		goodsCollectExamList() {
+			this.$api.goodsCollectExamList({
+				paperId:this.paperid,
+				goodsId:this.goodsid
+			}).then(res => {
+				this.testList = res.data 
+				let total = 0;
+				this.testList.rows.forEach(item => {
+					total += item.num;
+				})
+				
+				this.total = total
+			})
+		},
+		collectQuestionTypeList() {
+			this.$api.collectQuestionTypeList({
+				paperId:this.paperid,
+				goodsId:this.goodsid
+			}).then(res => {
+				this.typeList = res.data 
+				let total = 0;
+				this.typeList.rows.forEach(item => {
+					total += item.num;
+				})
+				
+				this.total = total
+			})
+		},
+		showSceen(type){
+			this.sceenType = type
+		},
+		/**
+		 * @param {Object} tab切换
+		 */
+		selectType(type) {
+			this.type = type;
+			this.getData();
+		},
+		hideSceen(){
+			this.sceenType = null
+		},
+		choseType(index) {
+			this.sceenType = null
+			this.scennList2.forEach((item,idx)=>{
+				this.$set(item, 'checked',false)
+				if(index==idx){
+					this.paperid = item.paperId
+					this.$set(item, 'checked',true)
+				}
+			})
+			this.getData()
+		},
+	}
+};
+</script>
+<style lang="scss">
+page {
+	background: #EAEEF1;
+}
+
+</style>
+<style scoped lang="scss">
+.sceenBox {
+	width:100%;
+	height: 80rpx;
+	background: #FFFFFF;
+	display: flex;
+	justify-content: center;
+	align-items: center;
+	font-size: 32rpx;
+	font-family: PingFang SC;
+	font-weight: 500;
+	color: #999999;
+	position: fixed;
+	z-index: 999;
+	border-bottom: 1px solid #eee;
+	.item{
+		flex:1;
+		text-align: center;
+		&.active{
+			color:#333;
+			font-weight: bold;
+			.icon{
+				transform: rotate(180deg);
+			}
+		}
+	}
+}
+.sceenModel{
+	width:100%;
+	height:100%;
+	position: fixed;
+	z-index: 998;
+	.sceenModelBg{
+		width:100%;
+		height:100%;
+		position: fixed;
+		background: rgba(0,0,0,.3);
+		z-index: 998;
+	}
+	.sceenMain{
+		position: relative;
+		z-index: 999;
+		background: #fff;
+		margin-top: 80rpx;
+		display: flex;
+		flex-wrap: wrap;
+		padding: 8rpx;
+		justify-content: space-between;
+		.item{
+			width: 350rpx;
+			background: #F5F5F5;
+			border-radius: 16rpx;
+			padding: 25rpx 19rpx;
+			margin: 8rpx;
+			font-size: 32rpx;
+			font-family: PingFang SC;
+			font-weight: bold;
+			color: #666666;
+			&.active{
+				background: #007AFF;
+				color:#fff;
+			}
+			&:first-child{
+				width:100%;
+				text-align: center;
+			}
+		}
+	}
+}
+.wrap{
+	padding:96rpx 16rpx 16rpx;
+}
+.wrongHead{
+	background: #FFFFFF;
+	border-radius: 16px;
+	padding:24rpx;
+	.title{
+		font-size: 30rpx;
+		font-family: PingFang SC;
+		font-weight: bold;
+		color: #333333;
+		.sub{
+			font-size: 20rpx;
+			font-weight: 500;
+			color: #999999;
+		}
+	}
+	.progress{
+		width: 180rpx;
+		height: 180rpx;
+		line-height: 140rpx;
+		border: 20rpx solid #EEEEEE;
+		border-radius: 50%;
+		margin: 24rpx auto;
+		font-size: 50rpx;
+		text-align: center;
+		
+	}
+}
+.wrongTab{
+	display: flex;
+	margin: 24rpx 0;
+	.item{
+		width: 144rpx;
+		height: 48rpx;
+		line-height: 48rpx;
+		text-align: center;
+		background: #fff;
+		border-radius: 16px;
+		font-size: 28rpx;
+		font-family: PingFang SC;
+		font-weight: 500;
+		color: #666666;
+		margin-left: 15rpx;
+		&.active{
+			background: #007AFF;
+			color: #fff;
+		}
+	}
+}
+.wrongList{
+	margin-top:20rpx;
+	.item{;
+		background: #FFFFFF;
+		border-radius: 16rpx;
+		padding: 0 30rpx;
+		margin-bottom: 16rpx;
+		overflow: hidden;
+		.title{
+			font-size: 32rpx;
+			font-family: PingFang SC;
+			font-weight: bold;
+			color: #333333;
+			margin: 40rpx 0 17rpx;
+		}
+		.bt{
+			display: flex;
+			justify-content: space-between;
+			align-items: center;
+			padding-bottom: 24rpx;
+			.left{
+				width: 176rpx;
+				height: 40rpx;
+				background: #FFFFFF;
+				border: 1px solid #EEEEEE;
+				border-radius: 16rpx;
+				font-size: 26rpx;
+				font-family: PingFang SC;
+				font-weight: 500;
+				color: #999999;
+				display: flex;
+				justify-content: center;
+				align-items: center;
+				.num{
+					font-size: 26rpx;
+					font-weight: bold;
+					color: #FF3B30;
+					margin-left: 16rpx;
+				}
+			}
+			.right{
+				display: flex;
+				.btn{
+					width: 100rpx;
+					height: 48rpx;
+					background: #FFFFFF;
+					border: 1px solid #007AFF;
+					border-radius: 16px;
+					font-size: 24rpx;
+					font-family: PingFang SC;
+					font-weight: 500;
+					color: #007AFF;
+					margin-left:9rpx;
+					display: flex;
+					align-items: center;
+					justify-content: center;
+				}
+			}
+		}
+	}
+}
+</style>

+ 20 - 9
pages2/bank/questionBank.vue

@@ -137,7 +137,7 @@
 									<view class="answerTitle">答案我的</view>
 									{{bank.ques.text}}
 									<view class="imgs">
-										<image class="img" v-for="ques in bank.ques.imageList" :src="ques"></image>
+										<image class="img" v-for="ques in bank.ques.imageList" :src="$method.splitImgHost(ques,true)"></image>
 									</view>
 								</view>
 							</view>
@@ -272,7 +272,7 @@
 											<view class="answerTitle">答案我的</view>
 											{{bank.ques[ansIndex].text}}
 											<view class="imgs">
-												<image class="img" v-for="ques in bank.ques[ansIndex].imageList" :src="ques"></image>
+												<image class="img" v-for="ques in bank.ques[ansIndex].imageList" :src="$method.splitImgHost(ques,true)"></image>
 											</view>
 										</view>
 									</view>
@@ -404,7 +404,6 @@ export default {
 	},
 	onUnload() {
 		if(this.isSubmit) {
-			this.examRecordEdit();
 			return;
 		}
 		//考试试卷 阻止ios手势返回,自动跳回答题页
@@ -416,6 +415,7 @@ export default {
 			})
 		} else {
 			//点击返回按钮确认允许退出,记录答题记录
+			
 			this.examRecordEdit();
 		}
 		
@@ -424,7 +424,7 @@ export default {
 		bankExam() {
 			this.$api.bankExam(this.id).then(res => {
 				this.bankType = res.data.data.doType;
-				if(this.bankType == 1) {
+				if(this.bankType == 2) {
 					this.needBack = true;
 				}
 			})
@@ -445,17 +445,19 @@ export default {
 		 */
 		clickLeft() {
 			
-			if(this.bankType == 2) {
+			if(this.bankType == 1) {
 				this.needBack = false;
 				uni.navigateBack({
 					delta:1
 				})
-			} else if(this.bankType == 1){
-				let ansCount = this.questionOverNum();
-				this.lastCount = this.questionList.length - ansCount;
+			} else if(this.bankType == 2){
+				let ansCount = this.questionOverNum();  //已答题数
+				this.lastCount = this.questionList.length - ansCount; //统计未答完的题数
 				
+				//所有题目答完
 				if(this.lastCount == 0) {
 					this.testOver = true;
+				//未答完
 				} else {
 					this.isLastCount = true;
 				}
@@ -511,9 +513,15 @@ export default {
 				delta:1
 			})
 		},
+		/**
+		 * 不离开
+		 */
 		noLeave() {
 			this.isLastCount = false;
 		},
+		/**
+		 * 立即离开并交卷
+		 */
 		leaveNow() {
 			this.needBack = false;
 			uni.navigateBack({
@@ -564,6 +572,9 @@ export default {
 
 			})
 		},
+		/**
+		 * 立即交卷
+		 */
 		submitNow() {
 			this.needBack = false;
 			this.submit();
@@ -605,7 +616,7 @@ export default {
 					recordId: this.recordId,
 					rightQuestionNum:number,
 					status:0,
-					historyExamJson:JSON.stringify({ans:this.ans,ques:this.ques})
+					historyExamJson:JSON.stringify(this.questionList)
 				}).then(res => {
 					
 				})

+ 2 - 2
pages2/bank/questionBankTest.vue

@@ -135,7 +135,7 @@
 									<view class="answerTitle">答案我的</view>
 									{{bank.ques.text}}
 									<view class="imgs">
-										<image class="img" v-for="ques in bank.ques.imageList" :src="ques"></image>
+										<image class="img" v-for="ques in bank.ques.imageList" :src="$method.splitImgHost(ques,true)"></image>
 									</view>
 								</view>
 							</view>
@@ -270,7 +270,7 @@
 											<view class="answerTitle">答案我的</view>
 											{{bank.ques[ansIndex].text}}
 											<view class="imgs">
-												<image class="img" v-for="ques in bank.ques[ansIndex].imageList" :src="ques"></image>
+												<image class="img" v-for="ques in bank.ques[ansIndex].imageList" :src="$method.splitImgHost(ques,true)"></image>
 											</view>
 										</view>
 									</view>

+ 47 - 15
pages2/bank/question_detail.vue

@@ -28,22 +28,26 @@
 					</view>
 				</view>
 			</navigator>
-			<view class="right">
-				<view class="title">
-					错题集 >
-				</view>
-				<view class="number">
-					35
-				</view>
-			</view>
-			<view class="right">
-				<view class="title">
-					收藏集 >
+			<navigator :url="'/pages2/bank/wrongById?goodsid='+id">
+				<view class="right">
+						<view class="title">
+							错题集 <u-icon name="arrow-right"></u-icon>
+						</view>
+						<view class="number">
+							{{wrongTotal}}
+						</view>
 				</view>
-				<view class="number">
-					1
+			</navigator>
+			<navigator :url="'/pages2/bank/collectById?goodsid='+id">
+				<view class="right">
+					<view class="title">
+						收藏集 <u-icon name="arrow-right"></u-icon>
+					</view>
+					<view class="number">
+							{{collectTotal}}
+					</view>
 				</view>
-			</view>
+			</navigator>
 		</view>
 		<view class="title-list">
 			<view class="content">
@@ -119,6 +123,8 @@ export default {
 			goodsData:{},
 			bankList:[],
 			id:'',
+			collectTotal:0,
+			wrongTotal:0
 		};
 	},
 	onUnload() {
@@ -128,7 +134,9 @@ export default {
 	onLoad(option) {
 		this.id = option.id
 		this.getDetail();
-		this.goodsBankList()
+		this.goodsBankList();
+		this.getCollectNum();
+		this.getWrongNum()
 	},
 	onShow() {
 		
@@ -150,6 +158,30 @@ export default {
 				this.bankList = res.data.data;
 			})
 		},
+		getCollectNum() {
+			this.$api.goodsCollectExamList({
+				goodsId:this.id
+			}).then(res => {
+				let total = 0;
+				res.data.rows.forEach(item => {
+					total += item.questionNum;
+				})
+				
+				this.collectTotal = total
+			})
+		},
+		getWrongNum() {
+			this.$api.wrongRecordList({
+				goodsId:this.id
+			}).then(res => {
+				let total = 0;
+				res.data.rows.forEach(item => {
+					total += item.wrongQuestionNum;
+				})
+				
+				this.wrongTotal = total
+			})
+		},
 		clickModule(id,index) {
 			
 			

+ 348 - 0
pages2/bank/wrongById.vue

@@ -0,0 +1,348 @@
+<template>
+	<view class="safeArea">
+		<view class="sceenBox">
+			<view :class="['item', {'active':sceenType===2} ]" @click="showSceen(2)">全部试卷类型<u-icon class="icon" name="arrow-down"></u-icon></view>
+		</view>
+		<view class="sceenModel" v-if="sceenType">
+			<view class="sceenModelBg" @click="hideSceen"></view>
+			<view class="sceenMain">
+				<view :class="['item',{'active':item.checked}]" v-for="(item, index) in scennList2" :key="index" @click="choseType(index)">{{item.paperName}}</view>
+			</view>
+		</view>
+		<view class="wrap">
+			<view class="wrongTab">
+				<view class="item" :class="{active:type == 1}" @click="selectType(1)">试卷归类</view>
+				<view class="item" :class="{active:type == 2}" @click="selectType(2)">题型归类</view>
+			</view>
+			<view class="wrongHead">
+				<view class="title">错题统计<text class="sub">(不含简答和案例题)</text></view>
+				<view class="progress">
+					<text>{{total}}</text>
+				</view>
+			</view> 
+			<view class="wrongList" v-if="type == 1">
+				<view class="item" v-for="(item,index) in testList.rows" :key="index">
+					<view class="title">{{item.examName}}</view>
+					<view class="bt">
+						<view class="left">错题数<text class="num">{{item.wrongQuestionNum}}</text></view>
+						<view class="right">
+							<navigator :url="'/pages2/subject/wrongBank?id='+item.examId">
+								<view class="btn">重做</view>
+							</navigator>
+							<navigator :url="'/pages2/subject/wrongBank?id='+item.examId+'&explain=1'">
+								<view class="btn">解析</view>
+							</navigator>
+							<!-- <view class="btn">解析</view> -->
+						</view>
+					</view>
+				</view>
+			</view>
+			
+			<view class="wrongList" v-if="type == 2">
+				<view class="item" v-for="(item,index) in typeList.rows" :key="index">
+					<view class="title">
+						<text v-if="item.type==1">单选题</text>
+						<text v-if="item.type==2">多选题</text>
+						<text v-if="item.type==3">判断题</text>
+						<text v-if="item.type==4">案例题</text>
+						<text v-if="item.type==5">简答题</text>
+					</view>
+					<view class="bt">
+						<view class="left">错题数<text class="num">{{item.num}}</text></view>
+						<view class="right">
+							<navigator :url="'/pages2/subject/wrongTypeBank?type='+item.type">
+								<view class="btn">重做</view>
+							</navigator>
+							<navigator :url="'/pages2/subject/wrongTypeBank?type='+item.type+'&explain=1'">
+								<view class="btn">解析</view>
+							</navigator>
+						</view>
+					</view>
+				</view>
+			</view>
+		</view>
+	</view>
+</template>
+
+<script>
+import { mapGetters } from 'vuex';
+export default {
+	components: {},
+	data() {
+		return {
+			sceenType: null,
+			scennList2:[
+				{paperId: '', paperName: '全部试卷类型', checked: true}
+			],
+			type:1,
+			testList:[],
+			typeList:[],
+			goodsid:'',
+			paperid:'',
+			total:0,
+		};
+	},
+	onPullDownRefresh() {},
+	onShow() {
+		this.getData();
+	},
+	onLoad(option) {
+		this.goodsid = option.goodsid
+		this.examaperList();
+	},
+	methods: {
+		getData() {
+			if(this.type == 1) {
+				this.wrongRecordList()
+			} else if(this.type == 2) {
+				this.wrongRecordTypeList();
+			}
+		},
+		examaperList() {
+			this.$api.examaperList({
+				
+			}).then(res => {
+				this.scennList2 = [...this.scennList2,...res.data.rows];
+			})
+		},
+		
+		wrongRecordList() {
+			this.$api.wrongRecordList({
+				paperId:this.paperid,
+				goodsId:this.goodsid
+			}).then(res => {
+				this.testList = res.data;
+				let total = 0;
+				this.testList.rows.forEach(item => {
+					total += item.wrongQuestionNum;
+				})
+				
+				this.total = total
+			})
+		},
+		wrongRecordTypeList() {
+			this.$api.wrongRecordTypeList({
+				paperId:this.paperid,
+				goodsId:this.goodsid
+			}).then(res => {
+				this.typeList = res.data;
+				
+				let total = 0;
+				this.typeList.rows.forEach(item => {
+					total += item.num;
+				})
+				
+				this.total = total
+			})
+		},
+		selectType(type) {
+			this.type = type;
+			this.getData();
+		},
+		showSceen(type){
+			this.sceenType = type
+		},
+		hideSceen(){
+			this.sceenType = null
+		},
+		choseType(index) {
+			this.sceenType = null
+			this.scennList2.forEach((item,idx)=>{
+				this.$set(item, 'checked',false)
+				if(index==idx){
+					this.paperid = item.paperId
+					this.$set(item, 'checked',true)
+				}
+			})
+			this.getData()
+		},
+	}
+};
+</script>
+<style lang="scss">
+page {
+	background: #EAEEF1;
+}
+
+</style>
+<style scoped lang="scss">
+.sceenBox {
+	width:100%;
+	height: 80rpx;
+	background: #FFFFFF;
+	display: flex;
+	justify-content: center;
+	align-items: center;
+	font-size: 32rpx;
+	font-family: PingFang SC;
+	font-weight: 500;
+	color: #999999;
+	position: fixed;
+	z-index: 999;
+	border-bottom: 1px solid #eee;
+	.item{
+		flex:1;
+		text-align: center;
+		&.active{
+			color:#333;
+			font-weight: bold;
+			.icon{
+				transform: rotate(180deg);
+			}
+		}
+	}
+}
+.sceenModel{
+	width:100%;
+	height:100%;
+	position: fixed;
+	z-index: 998;
+	.sceenModelBg{
+		width:100%;
+		height:100%;
+		position: fixed;
+		background: rgba(0,0,0,.3);
+		z-index: 998;
+	}
+	.sceenMain{
+		position: relative;
+		z-index: 999;
+		background: #fff;
+		margin-top: 80rpx;
+		display: flex;
+		flex-wrap: wrap;
+		padding: 8rpx;
+		justify-content: space-between;
+		.item{
+			width: 350rpx;
+			background: #F5F5F5;
+			border-radius: 16rpx;
+			padding: 25rpx 19rpx;
+			margin: 8rpx;
+			font-size: 32rpx;
+			font-family: PingFang SC;
+			font-weight: bold;
+			color: #666666;
+			&.active{
+				background: #007AFF;
+				color:#fff;
+			}
+			&:first-child{
+				width:100%;
+				text-align: center;
+			}
+		}
+	}
+}
+.wrap{
+	padding:96rpx 16rpx 16rpx;
+}
+.wrongHead{
+	background: #FFFFFF;
+	border-radius: 16px;
+	padding:24rpx;
+	.title{
+		font-size: 30rpx;
+		font-family: PingFang SC;
+		font-weight: bold;
+		color: #333333;
+		.sub{
+			font-size: 20rpx;
+			font-weight: 500;
+			color: #999999;
+		}
+	}
+	.progress{
+		width: 180rpx;
+		height: 180rpx;
+		line-height: 140rpx;
+		border: 20rpx solid #EEEEEE;
+		border-radius: 50%;
+		margin: 24rpx auto;
+		font-size: 50rpx;
+		text-align: center;
+	}
+}
+.wrongTab{
+	display: flex;
+	margin: 24rpx 0;
+	.item{
+		width: 144rpx;
+		height: 48rpx;
+		line-height: 48rpx;
+		text-align: center;
+		background: #fff;
+		border-radius: 16px;
+		font-size: 28rpx;
+		font-family: PingFang SC;
+		font-weight: 500;
+		color: #666666;
+		margin-left: 15rpx;
+		&.active{
+			background: #007AFF;
+			color: #fff;
+		}
+	}
+}
+.wrongList{
+	margin-top:20rpx;
+	.item{;
+		background: #FFFFFF;
+		border-radius: 16rpx;
+		padding: 0 30rpx;
+		margin-bottom: 16rpx;
+		overflow: hidden;
+		.title{
+			font-size: 32rpx;
+			font-family: PingFang SC;
+			font-weight: bold;
+			color: #333333;
+			margin: 40rpx 0 17rpx;
+		}
+		.bt{
+			display: flex;
+			justify-content: space-between;
+			align-items: center;
+			padding-bottom: 24rpx;
+			.left{
+				width: 176rpx;
+				height: 40rpx;
+				background: #FFFFFF;
+				border: 1px solid #EEEEEE;
+				border-radius: 16rpx;
+				font-size: 26rpx;
+				font-family: PingFang SC;
+				font-weight: 500;
+				color: #999999;
+				display: flex;
+				justify-content: center;
+				align-items: center;
+				.num{
+					font-size: 26rpx;
+					font-weight: bold;
+					color: #FF3B30;
+					margin-left: 16rpx;
+				}
+			}
+			.right{
+				display: flex;
+				.btn{
+					width: 100rpx;
+					height: 48rpx;
+					background: #FFFFFF;
+					border: 1px solid #007AFF;
+					border-radius: 16px;
+					font-size: 24rpx;
+					font-family: PingFang SC;
+					font-weight: 500;
+					color: #007AFF;
+					margin-left:9rpx;
+					display: flex;
+					align-items: center;
+					justify-content: center;
+				}
+			}
+		}
+	}
+}
+</style>

+ 14 - 2
pages2/subject/collect.vue

@@ -23,8 +23,7 @@
 			<view class="wrongHead">
 				<view class="title">收藏统计</view>
 				<view class="progress">
-					<text v-if="type == 1">{{testList.total}}</text>
-					<text v-if="type == 2">{{typeList.total}}</text>
+					<text>{{total}}</text>
 				</view>
 			</view>
 			<view class="wrongList" v-if="type == 1">
@@ -85,6 +84,7 @@ export default {
 				{paperId: '', paperName: '全部试卷类型', checked: true}
 			],
 			type:1,
+			total:0,
 			testList:[],
 			typeList:[],
 			goodsid:'',
@@ -129,6 +129,12 @@ export default {
 				goodsId:this.goodsid
 			}).then(res => {
 				this.testList = res.data 
+				let total = 0;
+				this.testList.rows.forEach(item => {
+					total += item.questionNum;
+				})
+				
+				this.total = total
 			})
 		},
 		collectQuestionTypeList() {
@@ -137,6 +143,12 @@ export default {
 				goodsId:this.goodsid
 			}).then(res => {
 				this.typeList = res.data 
+				let total = 0;
+				this.typeList.rows.forEach(item => {
+					total += item.num;
+				})
+				
+				this.total = total
 			})
 		},
 		showSceen(type){

+ 2 - 2
pages2/subject/collectBank.vue

@@ -135,7 +135,7 @@
 									<view class="answerTitle">答案我的</view>
 									{{bank.ques.text}}
 									<view class="imgs">
-										<image class="img" v-for="ques in bank.ques.imageList" :src="ques"></image>
+										<image class="img" v-for="ques in bank.ques.imageList" :src="$method.splitImgHost(ques,true)"></image>
 									</view>
 								</view>
 							</view>
@@ -270,7 +270,7 @@
 											<view class="answerTitle">答案我的</view>
 											{{bank.ques[ansIndex].text}}
 											<view class="imgs">
-												<image class="img" v-for="ques in bank.ques[ansIndex].imageList" :src="ques"></image>
+												<image class="img" v-for="ques in bank.ques[ansIndex].imageList" :src="$method.splitImgHost(ques,true)"></image>
 											</view>
 										</view>
 									</view>

+ 2 - 2
pages2/subject/collectTypeBank.vue

@@ -136,7 +136,7 @@
 									<view class="answerTitle">答案我的</view>
 									{{bank.ques.text}}
 									<view class="imgs">
-										<image class="img" v-for="ques in bank.ques.imageList" :src="ques"></image>
+										<image class="img" v-for="ques in bank.ques.imageList" :src="$method.splitImgHost(ques,true)"></image>
 									</view>
 								</view>
 							</view>
@@ -271,7 +271,7 @@
 											<view class="answerTitle">答案我的</view>
 											{{bank.ques[ansIndex].text}}
 											<view class="imgs">
-												<image class="img" v-for="ques in bank.ques[ansIndex].imageList" :src="ques"></image>
+												<image class="img" v-for="ques in bank.ques[ansIndex].imageList" :src="$method.splitImgHost(ques,true)"></image>
 											</view>
 										</view>
 									</view>

+ 2 - 2
pages2/subject/wrongBank.vue

@@ -135,7 +135,7 @@
 									<view class="answerTitle">答案我的</view>
 									{{bank.ques.text}}
 									<view class="imgs">
-										<image class="img" v-for="ques in bank.ques.imageList" :src="ques"></image>
+										<image class="img" v-for="ques in bank.ques.imageList" :src="$method.splitImgHost(ques,true)"></image>
 									</view>
 								</view>
 							</view>
@@ -270,7 +270,7 @@
 											<view class="answerTitle">答案我的</view>
 											{{bank.ques[ansIndex].text}}
 											<view class="imgs">
-												<image class="img" v-for="ques in bank.ques[ansIndex].imageList" :src="ques"></image>
+												<image class="img" v-for="ques in bank.ques[ansIndex].imageList" :src="$method.splitImgHost(ques,true)"></image>
 											</view>
 										</view>
 									</view>

+ 2 - 2
pages2/subject/wrongTypeBank.vue

@@ -135,7 +135,7 @@
 									<view class="answerTitle">答案我的</view>
 									{{bank.ques.text}}
 									<view class="imgs">
-										<image class="img" v-for="ques in bank.ques.imageList" :src="ques"></image>
+										<image class="img" v-for="ques in bank.ques.imageList" :src="$method.splitImgHost(ques,true)"></image>
 									</view>
 								</view>
 							</view>
@@ -270,7 +270,7 @@
 											<view class="answerTitle">答案我的</view>
 											{{bank.ques[ansIndex].text}}
 											<view class="imgs">
-												<image class="img" v-for="ques in bank.ques[ansIndex].imageList" :src="ques"></image>
+												<image class="img" v-for="ques in bank.ques[ansIndex].imageList" :src="$method.splitImgHost(ques,true)"></image>
 											</view>
 										</view>
 									</view>

+ 4 - 4
pages2/wd/question_bank.vue

@@ -3,7 +3,7 @@
 		<navigator url="/pages2/bank/my_question">
 			<view class="my_question">
 					<view class="flex">
-						<view class="text">我的题库></view>
+						<view class="text">我的题库<u-icon name="arrow-right"></u-icon></view>
 						<image src="/static/icon/my_icon7.png" class="my_icon"></image>
 					</view>
 			</view>
@@ -11,7 +11,7 @@
 		<view class="bottom">
 			<navigator url="/pages2/subject/collect">
 				<view class="item collect">
-					<view class="text">收藏集></view>
+					<view class="text">收藏集<u-icon name="arrow-right"></u-icon></view>
 					<image class="img" src="/static/sc.png"></image>
 				</view>
 			</navigator>
@@ -19,14 +19,14 @@
 				<navigator url="/pages2/bank/question_record">
 					<view class="list-in">
 						<image class="img" src="/static/icon/wk_icon2.png" ></image>
-						做题记录 >
+						做题记录 <u-icon name="arrow-right"></u-icon>
 					</view>
 				</navigator>
 				
 				<navigator url="/pages2/subject/wrong">
 					<view class="list-in">
 						<image class="img" src="/static/icon/wk_icon2.png"></image>
-						错题集 >
+						错题集 <u-icon name="arrow-right"></u-icon>
 					</view>
 				</navigator>
 			</view>