Просмотр исходного кода

Merge branch 'master' of https://gitee.com/he2802/saas_applet

Tang 4 лет назад
Родитель
Сommit
ed9f804e65

+ 8 - 0
common/httpList/goods.js

@@ -265,6 +265,14 @@ export default {
 		})
 	},
 	
+	collectQuestionExamQuestionList(data) {
+		return myRequest({
+			url:`/collect/question/exam_question_list`,
+			method: 'get',
+			data:data
+		})
+	},
+	
 	
 	
 	bankExam(data) {

+ 2 - 2
common/request.js

@@ -5,8 +5,8 @@ import api from './api.js'
 var num = 1
 //接口api   
 // export const BASE_URL = 'https://api.xyyxt.net'   //release
-// export const BASE_URL = 'http://42.192.164.187:19005'  //test
-export const BASE_URL = 'http://192.168.1.222:5055'    //dev
+export const BASE_URL = 'http://42.192.164.187:19005'  //test
+// export const BASE_URL = 'http://192.168.1.222:5055'    //dev
 
  //图片上传api
 // export const BASE_IMG_URL = 'https://file.xyyxt.net/'     //release

+ 0 - 20
pages.json

@@ -515,16 +515,6 @@
 					}
 				}
 			},
-			{
-				"path": "subject/record",
-				"style": {
-					"navigationBarTitleText": "做题记录",
-					"app-plus": {
-						"titleNView": false, //禁用原生导航栏 
-						"bounce": "none"
-					}
-				}
-			},
 			{
 				"path": "subject/collectBank",
 				"style": {
@@ -566,16 +556,6 @@
 					}
 				}
 			},
-			{
-				"path": "subject/report",
-				"style": {
-					"navigationBarTitleText": "试卷报告",
-					"app-plus": {
-						"titleNView": false, //禁用原生导航栏 
-						"bounce": "none"
-					}
-				}
-			},
 			{
 				"path": "class/question_report",
 				"style": {

+ 117 - 99
pages2/bank/questionBank.vue

@@ -41,15 +41,15 @@
 									<view class="flex_auto">{{ item.content }}</view>
 								</view>
 							</view>
-							<view v-if="bank.ques">
-								<view class="pad_8 answer">
-									<view>正确答案:{{ ast[bank.ans - 1] }}</view>
-									<view>我的答案:{{ ast[bank.ques - 1] }}</view>
-								</view>
-								<view class="pad_8 answerInfos">
-									<view class="answerTitle">答案解析</view>
-									<view class="answerContent"><rich-text :nodes="bank.analysisContent"></rich-text></view>
-								</view>
+						</view>
+						<view v-if="bank.ques">
+							<view class="pad_8 answer">
+								<view>正确答案:{{ ast[bank.ans - 1] }}</view>
+								<view>我的答案:{{ ast[bank.ques - 1] }}</view>
+							</view>
+							<view class="pad_8 answerInfos">
+								<view class="answerTitle">答案解析</view>
+								<view class="answerContent"><rich-text :nodes="bank.analysisContent"></rich-text></view>
 							</view>
 						</view>
 					</template>
@@ -77,22 +77,22 @@
 								</view>
 							</view>
 							<view v-if="!bank.ques" class="submit_checkbox" :class="{disabled:!isCheckboxChecked(bank.jsonStr)}" @click="checkboxSubmit(bankIndex)">确认答案</view>
-							<view v-if="bank.ques">
-								<view class="pad_8 answer">
-									<view>
-										正确答案:
-										<text v-for="(ansItem,ansIndex) in bank.ans" :key="ansIndex">{{ ast[ansItem - 1] }}</text>
-									</view>
-									<view>
-										我的答案:
-										<text v-for="(quesItem,quesIndex) in bank.ques" :key="quesIndex">{{ ast[quesItem - 1] }}</text>
-									</view>
+						</view>
+						<view v-if="bank.ques">
+							<view class="pad_8 answer">
+								<view>
+									正确答案:
+									<text v-for="(ansItem,ansIndex) in bank.ans" :key="ansIndex">{{ ast[ansItem - 1] }}</text>
 								</view>
-								<view class="pad_8 answerInfos">
-									<view class="answerTitle">答案解析</view>
-									<view class="answerContent"><rich-text :nodes="bank.analysisContent"></rich-text></view>
+								<view>
+									我的答案:
+									<text v-for="(quesItem,quesIndex) in bank.ques" :key="quesIndex">{{ ast[quesItem - 1] }}</text>
 								</view>
 							</view>
+							<view class="pad_8 answerInfos">
+								<view class="answerTitle">答案解析</view>
+								<view class="answerContent"><rich-text :nodes="bank.analysisContent"></rich-text></view>
+							</view>
 						</view>
 						
 					</template>
@@ -113,15 +113,15 @@
 									{{ item }}
 								</view>
 							</view>
-							<view v-if="bank.ques">
-								<view class="pad_8 answer">
-									<view>正确答案:{{ ast[bank.ans] }}</view>
-									<view>我的答案:{{ ast[bank.ques] }}</view>
-								</view>
-								<view class="pad_8 answerInfos">
-									<view class="answerTitle">答案解析</view>
-									<view class="answerContent"><rich-text :nodes="bank.analysisContent"></rich-text></view>
-								</view>
+						</view>
+						<view v-if="bank.ques">
+							<view class="pad_8 answer">
+								<view>正确答案:{{ ast[bank.ans] }}</view>
+								<view>我的答案:{{ ast[bank.ques] }}</view>
+							</view>
+							<view class="pad_8 answerInfos">
+								<view class="answerTitle">答案解析</view>
+								<view class="answerContent"><rich-text :nodes="bank.analysisContent"></rich-text></view>
 							</view>
 						</view>
 					</template>
@@ -150,32 +150,35 @@
 									<view class="imgs"><image class="img" :key="quesIndex" v-for="(ques,quesIndex) in bank.ques.imageList" :src="$method.splitImgHost(ques, true)"></image></view>
 								</view>
 							</view>
-							<view v-if="bank.ques.imageList.length || bank.ques.text">
-								<view class="pad_8 answerInfos">
-									<view class="answerTitle">答案解析:</view>
-									<view class="answerContent"><rich-text :nodes="bank.analysisContent"></rich-text></view>
-								</view>
+						</view>
+						
+						<view v-if="bank.ques.imageList.length || bank.ques.text">
+							<view class="pad_8 answerInfos">
+								<view class="answerTitle">答案解析:</view>
+								<view class="answerContent"><rich-text :nodes="bank.analysisContent"></rich-text></view>
 							</view>
 						</view>
 					</template>
 
 					<!-- 案例题 -->
 					<template v-if="bank.type == 4">
-						<view class="pad_8 titBox">
-							<view class="tabs">
-								<view
-									class="tab"
-									:class="{ current: tabIndex == bank.current }"
-									:key="tabIndex"
-									v-for="(tab, tabIndex) in bank.jsonStr"
-									@click="tabSelect(tabIndex, bankIndex)"
-								>
-									问题{{ tabIndex+1 }}
-								</view>
+						<view class="tabs">
+							<view
+								class="tab"
+								:class="{ current: tabIndex == bank.current }"
+								:key="tabIndex"
+								v-for="(tab, tabIndex) in bank.jsonStr"
+								@click="tabSelect(tabIndex, bankIndex)"
+							>
+								问题{{ tabIndex+1 }}
 							</view>
-							<view v-for="(ansItem, ansIndex) in bank.jsonStr" v-if="bank.current == ansIndex" :key="ansIndex">
-								<view class="titles"><rich-text :nodes="ansItem.content"></rich-text></view>
-								<template v-if="ansItem.type == 1">
+						</view>
+						
+						<view v-for="(ansItem, ansIndex) in bank.jsonStr" v-if="bank.current == ansIndex" :key="ansIndex">
+							
+							<template v-if="ansItem.type == 1">
+								<view class="pad_8 titBox">
+									<view class="titles"><rich-text :nodes="ansItem.content"></rich-text></view>
 									<view v-if="!bank.ques[ansIndex]">
 										<view
 											v-for="(option, childIndex) in ansItem.optionsList"
@@ -201,19 +204,23 @@
 											<rich-text :nodes="option.content"></rich-text>
 										</view>
 									</view>
-									<view v-if="bank.ques[ansIndex]">
-										<view class="pad_8 answer">
-											<view>正确答案:{{ ast[bank.ans[ansIndex] - 1] }}</view>
-											<view>我的答案:{{ ast[bank.ques[ansIndex] - 1] }}</view>
-										</view>
-										<view class="pad_8 answerInfos">
-											<view class="answerTitle">答案解析</view>
-											<view class="answerContent"><rich-text :nodes="option.analysisContent"></rich-text></view>
-										</view>
+								</view>
+								
+								<view v-if="bank.ques[ansIndex]">
+									<view class="pad_8 answer">
+										<view>正确答案:{{ ast[bank.ans[ansIndex] - 1] }}</view>
+										<view>我的答案:{{ ast[bank.ques[ansIndex] - 1] }}</view>
 									</view>
-								</template>
+									<view class="pad_8 answerInfos">
+										<view class="answerTitle">答案解析</view>
+										<view class="answerContent"><rich-text :nodes="option.analysisContent"></rich-text></view>
+									</view>
+								</view>
+							</template>
 
-								<template v-if="ansItem.type == 2">
+							<template v-if="ansItem.type == 2">
+								<view class="pad_8 titBox">
+									<view class="titles"><rich-text :nodes="ansItem.content"></rich-text></view>
 									<view v-if="!bank.ques[ansIndex]">
 										<view
 											v-for="(option, childindex) in ansItem.optionsList"
@@ -234,25 +241,28 @@
 											<rich-text :nodes="option.content"></rich-text>
 										</view>
 									</view>
-									<view v-if="bank.ques[ansIndex]">
-										<view class="pad_8 answer">
-											<view>
-												正确答案:
-												<text :key="ansItemIndex1" v-for="(ansItem1,ansItemIndex1) in bank.ans[ansIndex]">{{ ast[ansItem1 - 1] }}</text>
-											</view>
-											<view>
-												我的答案:
-												<text :key="quesItemIndex"  v-for="(quesItem,quesItemIndex) in bank.ques[ansIndex]">{{ ast[quesItem - 1] }}</text>
-											</view>
+								</view>
+								<view v-if="bank.ques[ansIndex]">
+									<view class="pad_8 answer">
+										<view>
+											正确答案:
+											<text :key="ansItemIndex1" v-for="(ansItem1,ansItemIndex1) in bank.ans[ansIndex]">{{ ast[ansItem1 - 1] }}</text>
 										</view>
-										<view class="pad_8 answerInfos">
-											<view class="answerTitle">答案解析</view>
-											<view class="answerContent"><rich-text :nodes="ansItem.analysisContent"></rich-text></view>
+										<view>
+											我的答案:
+											<text :key="quesItemIndex"  v-for="(quesItem,quesItemIndex) in bank.ques[ansIndex]">{{ ast[quesItem - 1] }}</text>
 										</view>
 									</view>
-								</template>
+									<view class="pad_8 answerInfos">
+										<view class="answerTitle">答案解析</view>
+										<view class="answerContent"><rich-text :nodes="ansItem.analysisContent"></rich-text></view>
+									</view>
+								</view>
+							</template>
 
-								<template v-if="ansItem.type == 3">
+							<template v-if="ansItem.type == 3">
+								<view class="pad_8 titBox">
+									<view class="titles"><rich-text :nodes="ansItem.content"></rich-text></view>
 									<view v-if="!bank.ques[ansIndex]">
 										<view v-for="(option, childindex) in judge" :key="childindex" class="lisSty" @click="judgeSelectChild(ansIndex, childindex, bankIndex)">
 											<view class="activeTI">{{ ast[childindex] }}</view>
@@ -273,20 +283,25 @@
 											{{ option }}
 										</view>
 									</view>
-									<view v-if="bank.ques[ansIndex]">
-										<view class="pad_8 answer">
-											<view>正确答案:{{ ast[bank.ans[ansIndex]] }}</view>
-											<view>我的答案:{{ ast[bank.ques[ansIndex]] }}</view>
-										</view>
-										<view class="pad_8 answerInfos">
-											<view class="answerTitle">答案解析</view>
-											<view class="answerContent"><rich-text :nodes="ansItem.analysisContent"></rich-text></view>
-										</view>
+								</view>
+								<view v-if="bank.ques[ansIndex]">
+									<view class="pad_8 answer">
+										<view>正确答案:{{ ast[bank.ans[ansIndex]] }}</view>
+										<view>我的答案:{{ ast[bank.ques[ansIndex]] }}</view>
 									</view>
-								</template>
+									<view class="pad_8 answerInfos">
+										<view class="answerTitle">答案解析</view>
+										<view class="answerContent"><rich-text :nodes="ansItem.analysisContent"></rich-text></view>
+									</view>
+								</view>
+							</template>
 
-								<!-- 简答题 -->
-								<template v-if="ansItem.type == 5">
+							<!-- 简答题 -->
+							<template v-if="ansItem.type == 5">
+								<view class="pad_8 titBox_title">
+									<view><rich-text :nodes="ansItem.content"></rich-text></view>
+								</view>
+								<view class="pad_8 titBox_title">
 									<view class="ans">
 										<view class="ans_input" v-if="!bank.ques[ansIndex] || (!bank.ques[ansIndex].text && !bank.ques[ansIndex].imageList.length)">
 											<view class="top flex">
@@ -310,14 +325,14 @@
 											</view>
 										</view>
 									</view>
-									<view v-if="bank.ques[ansIndex].imageList.length || bank.ques[ansIndex].text">
-										<view class="pad_8 answerInfos">
-											<view class="answerTitle">答案解析</view>
-											<view class="answerContent"><rich-text :nodes="ansItem.analysisContent"></rich-text></view>
-										</view>
+								</view>
+								<view v-if="bank.ques[ansIndex].imageList.length || bank.ques[ansIndex].text">
+									<view class="pad_8 answerInfos">
+										<view class="answerTitle">答案解析</view>
+										<view class="answerContent"><rich-text :nodes="ansItem.analysisContent"></rich-text></view>
 									</view>
-								</template>
-							</view>
+								</view>
+							</template>
 						</view>
 					</template>
 
@@ -1979,18 +1994,21 @@ export default {
 	padding: 41rpx 25rpx 24rpx 25rpx;
 }
 
+.titBox_title {
+	padding: 21rpx;
+}
+
 .tabs {
 	margin: 10rpx;
 	display: flex;
 	.tab {
-		margin: 0 10rpx;
-		width: 96rpx;
-		height: 48rpx;
-		line-height: 48rpx;
+		margin: 0 4rpx;
+		padding:10rpx 13rpx;
 		text-align: center;
 		color: #007aff;
 		font-size: 28rpx;
 		border-radius: 16rpx;
+		background:#fff;
 
 		&.current {
 			color: #fff;

+ 134 - 118
pages2/bank/questionBankAllExplain.vue

@@ -18,9 +18,7 @@
 							<view style="color: #666;font-size: 28rpx;"></view>
 							<view class="leftLetters"></view>
 						</view>
-						<view class="titles">
-							<rich-text :nodes="bank.content"></rich-text>
-						</view>		
+						<view class="titles"><rich-text :nodes="bank.content"></rich-text></view>		
 					</view>
 					<template v-if="bank.type == 1">
 						<view class="pad_8 titBox no-margin">
@@ -36,16 +34,16 @@
 									<view class="flex_auto">{{ item.content }}</view>
 								</view>
 							</view> 
-							<view>
-								<view class="pad_8 answer">
-									<view>正确答案:{{ast[bank.ans-1]}}</view>
-									<view>我的答案:{{ast[bank.ques-1] || ''}}</view>
-								</view>
-								<view class="pad_8 answerInfos">
-									<view class="answerTitle">答案解析</view>
-									<view class="answerContent">
-										<rich-text :nodes="bank.analysisContent"></rich-text>
-									</view>
+						</view>
+						<view>
+							<view class="pad_8 answer">
+								<view>正确答案:{{ast[bank.ans-1]}}</view>
+								<view>我的答案:{{ast[bank.ques-1] || ''}}</view>
+							</view>
+							<view class="pad_8 answerInfos">
+								<view class="answerTitle">答案解析</view>
+								<view class="answerContent">
+									<rich-text :nodes="bank.analysisContent"></rich-text>
 								</view>
 							</view>
 						</view>
@@ -66,20 +64,20 @@
 									<view class="flex_auto">{{ item.content }}</view>
 								</view>
 							</view> 
-							<view >
-								<view class="pad_8 answer">
-									<view>正确答案:
-										<text :key="ansItemIndex" v-for="(ansItem,ansItemIndex) in bank.ans">{{ast[ansItem-1]}}</text>
-									</view>
-									<view>我的答案:
-										<text :key="quesItemIndex" v-for="(quesItem,quesItemIndex) in bank.ques">{{ast[quesItem-1]}}</text>
-									</view>
+						</view>
+						<view >
+							<view class="pad_8 answer">
+								<view>正确答案:
+									<text :key="ansItemIndex" v-for="(ansItem,ansItemIndex) in bank.ans">{{ast[ansItem-1]}}</text>
 								</view>
-								<view class="pad_8 answerInfos">
-									<view class="answerTitle">答案解析</view>
-									<view class="answerContent">
-										<rich-text :nodes="bank.analysisContent"></rich-text>
-									</view>
+								<view>我的答案:
+									<text :key="quesItemIndex" v-for="(quesItem,quesItemIndex) in bank.ques">{{ast[quesItem-1]}}</text>
+								</view>
+							</view>
+							<view class="pad_8 answerInfos">
+								<view class="answerTitle">答案解析</view>
+								<view class="answerContent">
+									<rich-text :nodes="bank.analysisContent"></rich-text>
 								</view>
 							</view>
 						</view>
@@ -99,16 +97,16 @@
 									{{ item }}
 								</view>
 							</view> 
-							<view >
-								<view class="pad_8 answer">
-									<view>正确答案:{{ast[bank.ans]}}</view>
-									<view>我的答案:{{ast[bank.ques] || ''}}</view>
-								</view>
-								<view class="pad_8 answerInfos">
-									<view class="answerTitle">答案解析</view>
-									<view class="answerContent">
-										<rich-text :nodes="bank.analysisContent"></rich-text>
-									</view>
+						</view>
+						<view >
+							<view class="pad_8 answer">
+								<view>正确答案:{{ast[bank.ans]}}</view>
+								<view>我的答案:{{ast[bank.ques] || ''}}</view>
+							</view>
+							<view class="pad_8 answerInfos">
+								<view class="answerTitle">答案解析</view>
+								<view class="answerContent">
+									<rich-text :nodes="bank.analysisContent"></rich-text>
 								</view>
 							</view>
 						</view>
@@ -127,12 +125,12 @@
 									</view>
 								</view>
 							</view>
-							<view>
-								<view class="pad_8 answerInfos">
-									<view class="answerTitle">答案解析:</view>
-									<view class="answerContent">
-										<rich-text :nodes="bank.analysisContent"></rich-text>
-									</view>
+						</view>
+						<view>
+							<view class="pad_8 answerInfos">
+								<view class="answerTitle">答案解析:</view>
+								<view class="answerContent">
+									<rich-text :nodes="bank.analysisContent"></rich-text>
 								</view>
 							</view>
 						</view>
@@ -140,21 +138,21 @@
 						
 					<!-- 案例题 -->
 					<template v-if="bank.type == 4">
-						<view class="pad_8 titBox">
-							<view class="tabs">
-								<view class="tab" 
-									:class="{current:tabIndex == bank.current}" 
-									:key="tabIndex" v-for="(tab,tabIndex) in bank.jsonStr" 
-									@click="tabSelect(tabIndex,bankIndex)"
-								>
-									问题{{tabIndex+1}}
-								</view>
+						<view class="tabs">
+							<view class="tab" 
+								:class="{current:tabIndex == bank.current}" 
+								:key="tabIndex" v-for="(tab,tabIndex) in bank.jsonStr" 
+								@click="tabSelect(tabIndex,bankIndex)"
+							>
+								问题{{tabIndex+1}}
 							</view>
-							<view v-for="(ansItem,ansIndex) in bank.jsonStr" v-if="bank.current == ansIndex" :key="ansIndex">
-								<view class="titles">
-									<rich-text :nodes="ansItem.content"></rich-text>
-								</view>
-								<template v-if="ansItem.type == 1">
+						</view>
+						<view v-for="(ansItem,ansIndex) in bank.jsonStr" v-if="bank.current == ansIndex" :key="ansIndex">
+							<template v-if="ansItem.type == 1">
+								<view class="pad_8 titBox">
+									<view class="titles">
+										<rich-text :nodes="ansItem.content"></rich-text>
+									</view>
 									<view v-if="!bank.ques[ansIndex]">
 										<view v-for="(option, childIndex) in ansItem.optionsList" :key="childIndex" class="lisSty">
 											<view class="activeTI">{{ ast[childIndex] }}</view>
@@ -166,22 +164,27 @@
 											<text :class="{right:(option.optionsId == bank.ques[ansIndex]) || (option.optionsId == bank.ans[ansIndex]),wrong:(option.optionsId == bank.ques[ansIndex]) && (bank.ques[ansIndex] != bank.ans[ansIndex])}"  class="activeTI">{{ ast[childIndex] }}</text>
 											<rich-text :nodes="option.content"></rich-text>
 										</view>
-									</view> 
-									<view>
-										<view class="pad_8 answer">
-											<view>正确答案:{{ast[bank.ans[ansIndex]-1]}}</view>
-											<view>我的答案:{{ast[bank.ques[ansIndex]-1] || ''}}</view>
-										</view>
-										<view class="pad_8 answerInfos">
-											<view class="answerTitle">答案解析</view>
-											<view class="answerContent">
-												<rich-text :nodes="option.analysisContent"></rich-text>
-											</view>
+									</view>
+								</view>
+								<view>
+									<view class="pad_8 answer">
+										<view>正确答案:{{ast[bank.ans[ansIndex]-1]}}</view>
+										<view>我的答案:{{ast[bank.ques[ansIndex]-1] || ''}}</view>
+									</view>
+									<view class="pad_8 answerInfos">
+										<view class="answerTitle">答案解析</view>
+										<view class="answerContent">
+											<rich-text :nodes="option.analysisContent"></rich-text>
 										</view>
 									</view>
-								</template>
-								
-								<template v-if="ansItem.type == 2">
+								</view>
+							</template>
+							
+							<template v-if="ansItem.type == 2">
+								<view class="pad_8 titBox">
+									<view class="titles">
+										<rich-text :nodes="ansItem.content"></rich-text>
+									</view>
 									<view v-if="!bank.ques[ansIndex]">
 										<view v-for="(option, childindex) in ansItem.optionsList" :key="childindex" class="lisSty">
 											<view :class="{checked:option.checked}" class="activeTI">{{ ast[childindex] }}</view>
@@ -193,26 +196,31 @@
 											<text :class="{right:right(bankIndex,ansIndex,option),wrong:wrong(bankIndex,ansIndex,option)}"  class="activeTI">{{ ast[childindex] }}</text>
 											<rich-text :nodes="option.content"></rich-text>
 										</view>
-									</view> 
-									<view>
-										<view class="pad_8 answer">
-											<view>正确答案:
-												<text :key="ansItemIndex1" v-for="(ansItem1,ansItemIndex1) in bank.ans[ansIndex]">{{ast[ansItem1-1]}}</text>
-											</view>
-											<view>我的答案:
-												<text :key="quesItemIndex" v-for="(quesItem,quesItemIndex) in bank.ques[ansIndex]">{{ast[quesItem-1]}}</text>
-											</view>
+									</view>
+								</view>
+								<view>
+									<view class="pad_8 answer">
+										<view>正确答案:
+											<text :key="ansItemIndex1" v-for="(ansItem1,ansItemIndex1) in bank.ans[ansIndex]">{{ast[ansItem1-1]}}</text>
 										</view>
-										<view class="pad_8 answerInfos">
-											<view class="answerTitle">答案解析</view>
-											<view class="answerContent">
-												<rich-text :nodes="ansItem.analysisContent"></rich-text>
-											</view>
+										<view>我的答案:
+											<text :key="quesItemIndex" v-for="(quesItem,quesItemIndex) in bank.ques[ansIndex]">{{ast[quesItem-1]}}</text>
+										</view>
+									</view>
+									<view class="pad_8 answerInfos">
+										<view class="answerTitle">答案解析</view>
+										<view class="answerContent">
+											<rich-text :nodes="ansItem.analysisContent"></rich-text>
 										</view>
 									</view>
-								</template>
-								
-								<template v-if="ansItem.type == 3">
+								</view>
+							</template>
+							
+							<template v-if="ansItem.type == 3">
+								<view class="pad_8 titBox">
+									<view class="titles">
+										<rich-text :nodes="ansItem.content"></rich-text>
+									</view>
 									<view v-if="!bank.ques[ansIndex]">
 										<view v-for="(option, childindex) in judge" :key="childindex" class="lisSty">
 											<view class="activeTI">{{ ast[childindex] }}</view>
@@ -224,24 +232,31 @@
 											<text :class="{right:(childindex == bank.ques[ansIndex]) || (childindex == bank.ans[ansIndex]),wrong:(childindex == bank.ques[ansIndex]) && (bank.ques[ansIndex] != bank.ans[ansIndex])}"  class="activeTI">{{ ast[childindex] }}</text>
 											{{ option }}
 										</view>
-									</view> 
-									<view>
-										<view class="pad_8 answer">
-											<view>正确答案:{{ast[bank.ans[ansIndex]]}}</view>
-											<view>我的答案:{{ast[bank.ques[ansIndex]] || ''}}</view>
-										</view>
-										<view class="pad_8 answerInfos">
-											<view class="answerTitle">答案解析</view>
-											<view class="answerContent">
-												<rich-text :nodes="ansItem.analysisContent"></rich-text>
-											</view>
+									</view>
+								</view>
+								<view>
+									<view class="pad_8 answer">
+										<view>正确答案:{{ast[bank.ans[ansIndex]]}}</view>
+										<view>我的答案:{{ast[bank.ques[ansIndex]] || ''}}</view>
+									</view>
+									<view class="pad_8 answerInfos">
+										<view class="answerTitle">答案解析</view>
+										<view class="answerContent">
+											<rich-text :nodes="ansItem.analysisContent"></rich-text>
 										</view>
 									</view>
-								</template>
-								
-								
-								<!-- 简答题 -->
-								<template v-if="ansItem.type == 5">
+								</view>
+							</template>
+							
+							
+							<!-- 简答题 -->
+							<template v-if="ansItem.type == 5">
+								<view class="pad_8 titBox_title">
+									<view class="titles">
+										<rich-text :nodes="ansItem.content"></rich-text>
+									</view>
+								</view>
+								<view class="pad_8 titBox_title">
 									<view class="ans">
 										<view class="ans_submit answerInfos">
 											<view class="answerTitle">我的答案</view>
@@ -251,18 +266,16 @@
 											</view>
 										</view>
 									</view>
-									<view>
-										<view class="pad_8 answerInfos">
-											<view class="answerTitle">答案解析</view>
-											<view class="answerContent">
-												<rich-text :nodes="ansItem.analysisContent"></rich-text>
-											</view>
+								</view>
+								<view>
+									<view class="pad_8 answerInfos">
+										<view class="answerTitle">答案解析</view>
+										<view class="answerContent">
+											<rich-text :nodes="ansItem.analysisContent"></rich-text>
 										</view>
 									</view>
-								</template>
-								
-								
-							</view>
+								</view>
+							</template>
 						</view>	
 					</template>
 						
@@ -540,18 +553,21 @@ export default {
 	padding: 41rpx 25rpx 24rpx 25rpx;
 }
 
+.titBox_title {
+	padding: 21rpx;
+}
+
 .tabs {
 	margin:10rpx;
 	display: flex;
 	.tab {
-		margin:0 10rpx;
-		width: 96rpx;
-		height: 48rpx;
-		line-height: 48rpx;
+		margin: 0 4rpx;
+		padding:10rpx 13rpx;
 		text-align: center;
-		color:#007AFF;
+		color: #007aff;
 		font-size: 28rpx;
 		border-radius: 16rpx;
+		background:#fff;
 		
 		&.current {
 			color:#fff;

+ 133 - 115
pages2/bank/questionBankContinue.vue

@@ -37,16 +37,16 @@
 									<view class="flex_auto">{{ item.content }}</view>
 								</view>
 							</view> 
-							<view v-if="bank.ques">
-								<view class="pad_8 answer">
-									<view>正确答案:{{ast[bank.ans-1]}}</view>
-									<view>我的答案:{{ast[bank.ques-1] || ''}}</view>
-								</view>
-								<view class="pad_8 answerInfos">
-									<view class="answerTitle">答案解析</view>
-									<view class="answerContent">
-										<rich-text :nodes="bank.analysisContent"></rich-text>
-									</view>
+						</view>
+						<view v-if="bank.ques">
+							<view class="pad_8 answer">
+								<view>正确答案:{{ast[bank.ans-1]}}</view>
+								<view>我的答案:{{ast[bank.ques-1] || ''}}</view>
+							</view>
+							<view class="pad_8 answerInfos">
+								<view class="answerTitle">答案解析</view>
+								<view class="answerContent">
+									<rich-text :nodes="bank.analysisContent"></rich-text>
 								</view>
 							</view>
 						</view>
@@ -60,7 +60,7 @@
 									<view class="flex_auto">{{ item.content }}</view>
 								</view>
 							</view>
-							<view v-if="!bank.ques" class="submit_checkbox" :class="{disabled:isCheckboxChecked(bank.jsonStr)}" @click="checkboxSubmit(bankIndex)">
+							<view v-if="!bank.ques" class="submit_checkbox" :class="{disabled:!isCheckboxChecked(bank.jsonStr)}" @click="checkboxSubmit(bankIndex)">
 								确认答案
 							</view>
 							<view v-if="bank.ques">
@@ -68,21 +68,21 @@
 									<text :class="{right:(bank.ques.indexOf(item.optionsId) != -1 ) || (bank.ans.indexOf(item.optionsId) != -1),wrong:(bank.ques.indexOf(item.optionsId) != -1 ) && (bank.ans.indexOf(item.optionsId) == -1)}"  class="activeTI">{{ ast[index] }}</text>
 									<view class="flex_auto">{{ item.content }}</view>
 								</view>
-							</view> 
-							<view v-if="bank.ques">
-								<view class="pad_8 answer">
-									<view>正确答案:
-										<text :key="ansItemIndex" v-for="(ansItem,ansItemIndex) in bank.ans">{{ast[ansItem-1]}}</text>
-									</view>
-									<view>我的答案:
-										<text :key="quesItemIndex" v-for="(quesItem,quesItemIndex) in bank.ques">{{ast[quesItem-1]}}</text>
-									</view>
+							</view>
+						</view>
+						<view v-if="bank.ques">
+							<view class="pad_8 answer">
+								<view>正确答案:
+									<text :key="ansItemIndex" v-for="(ansItem,ansItemIndex) in bank.ans">{{ast[ansItem-1]}}</text>
 								</view>
-								<view class="pad_8 answerInfos">
-									<view class="answerTitle">答案解析</view>
-									<view class="answerContent">
-										<rich-text :nodes="bank.analysisContent"></rich-text>
-									</view>
+								<view>我的答案:
+									<text :key="quesItemIndex" v-for="(quesItem,quesItemIndex) in bank.ques">{{ast[quesItem-1]}}</text>
+								</view>
+							</view>
+							<view class="pad_8 answerInfos">
+								<view class="answerTitle">答案解析</view>
+								<view class="answerContent">
+									<rich-text :nodes="bank.analysisContent"></rich-text>
 								</view>
 							</view>
 						</view>
@@ -102,16 +102,16 @@
 									{{ item }}
 								</view>
 							</view> 
-							<view v-if="bank.ques">
-								<view class="pad_8 answer">
-									<view>正确答案:{{ast[bank.ans]}}</view>
-									<view>我的答案:{{ast[bank.ques] || ''}}</view>
-								</view>
-								<view class="pad_8 answerInfos">
-									<view class="answerTitle">答案解析</view>
-									<view class="answerContent">
-										<rich-text :nodes="bank.analysisContent"></rich-text>
-									</view>
+						</view>
+						<view v-if="bank.ques">
+							<view class="pad_8 answer">
+								<view>正确答案:{{ast[bank.ans]}}</view>
+								<view>我的答案:{{ast[bank.ques] || ''}}</view>
+							</view>
+							<view class="pad_8 answerInfos">
+								<view class="answerTitle">答案解析</view>
+								<view class="answerContent">
+									<rich-text :nodes="bank.analysisContent"></rich-text>
 								</view>
 							</view>
 						</view>
@@ -146,12 +146,12 @@
 									</view>
 								</view>
 							</view>
-							<view v-if="bank.ques.text || bank.ques.imageList.length">
-								<view class="pad_8 answerInfos">
-									<view class="answerTitle">答案解析:</view>
-									<view class="answerContent">
-										<rich-text :nodes="bank.analysisContent"></rich-text>
-									</view>
+						</view>
+						<view v-if="bank.ques.text || bank.ques.imageList.length">
+							<view class="pad_8 answerInfos">
+								<view class="answerTitle">答案解析:</view>
+								<view class="answerContent">
+									<rich-text :nodes="bank.analysisContent"></rich-text>
 								</view>
 							</view>
 						</view>
@@ -159,21 +159,21 @@
 						
 					<!-- 案例题 -->
 					<template v-if="bank.type == 4">
-						<view class="pad_8 titBox">
-							<view class="tabs">
-								<view class="tab" 
-									:class="{current:tabIndex == bank.current}" 
-									:key="tabIndex" v-for="(tab,tabIndex) in bank.jsonStr" 
-									@click="tabSelect(tabIndex,bankIndex)"
-								>
-									问题{{tabIndex+1}}
-								</view>
+						<view class="tabs">
+							<view class="tab" 
+								:class="{current:tabIndex == bank.current}" 
+								:key="tabIndex" v-for="(tab,tabIndex) in bank.jsonStr" 
+								@click="tabSelect(tabIndex,bankIndex)"
+							>
+								问题{{tabIndex+1}}
 							</view>
-							<view v-for="(ansItem,ansIndex) in bank.jsonStr" v-if="bank.current == ansIndex" :key="ansIndex">
-								<view class="titles">
-									<rich-text :nodes="ansItem.content"></rich-text>
-								</view>
-								<template v-if="ansItem.type == 1">
+						</view>
+						<view v-for="(ansItem,ansIndex) in bank.jsonStr" v-if="bank.current == ansIndex" :key="ansIndex">
+							<template v-if="ansItem.type == 1">
+								<view class="pad_8 titBox">
+									<view class="titles">
+										<rich-text :nodes="ansItem.content"></rich-text>
+									</view>
 									<view v-if="!bank.ques[ansIndex]">
 										<view v-for="(option, childIndex) in ansItem.optionsList" :key="childIndex" class="lisSty" @click="radioSelectChild(option.optionsId,ansIndex,bankIndex)">
 											<view class="activeTI">{{ ast[childIndex] }}</view>
@@ -186,28 +186,33 @@
 											<rich-text :nodes="option.content"></rich-text>
 										</view>
 									</view> 
-									<view v-if="bank.ques[ansIndex]">
-										<view class="pad_8 answer">
-											<view>正确答案:{{ast[bank.ans[ansIndex]-1]}}</view>
-											<view>我的答案:{{ast[bank.ques[ansIndex]-1] || ''}}</view>
-										</view>
-										<view class="pad_8 answerInfos">
-											<view class="answerTitle">答案解析</view>
-											<view class="answerContent">
-												<rich-text :nodes="option.analysisContent"></rich-text>
-											</view>
+								</view>
+								<view v-if="bank.ques[ansIndex]">
+									<view class="pad_8 answer">
+										<view>正确答案:{{ast[bank.ans[ansIndex]-1]}}</view>
+										<view>我的答案:{{ast[bank.ques[ansIndex]-1] || ''}}</view>
+									</view>
+									<view class="pad_8 answerInfos">
+										<view class="answerTitle">答案解析</view>
+										<view class="answerContent">
+											<rich-text :nodes="option.analysisContent"></rich-text>
 										</view>
 									</view>
-								</template>
-								
-								<template v-if="ansItem.type == 2">
+								</view>
+							</template>
+							
+							<template v-if="ansItem.type == 2">
+								<view class="pad_8 titBox">
+									<view class="titles">
+										<rich-text :nodes="ansItem.content"></rich-text>
+									</view>
 									<view v-if="!bank.ques[ansIndex]">
 										<view v-for="(option, childindex) in ansItem.optionsList" :key="childindex" class="lisSty" @click="checkboxSelectChild(bankIndex,ansIndex,childindex)">
 											<view :class="{checked:option.checked}" class="activeTI">{{ ast[childindex] }}</view>
 											<rich-text :nodes="option.content"></rich-text>
 										</view>
 									</view>
-									<view v-if="!bank.ques[ansIndex]" class="submit_checkbox" :class="{disabled:isCheckboxChecked(ansItem.optionsList)}" @click="checkboxSubmitChild(bankIndex,ansIndex)">
+									<view v-if="!bank.ques[ansIndex]" class="submit_checkbox" :class="{disabled:!isCheckboxChecked(ansItem.optionsList)}" @click="checkboxSubmitChild(bankIndex,ansIndex)">
 										确认答案
 									</view>
 									<view v-if="bank.ques && bank.ques[ansIndex]">
@@ -216,25 +221,30 @@
 											<rich-text :nodes="option.content"></rich-text>
 										</view>
 									</view> 
-									<view v-if="bank.ques[ansIndex]">
-										<view class="pad_8 answer">
-											<view>正确答案:
-												<text :key="ansItemIndex1" v-for="(ansItem1,ansItemIndex1) in bank.ans[ansIndex]">{{ast[ansItem1-1]}}</text>
-											</view>
-											<view>我的答案:
-												<text :key="quesItemIndex" v-for="(quesItem,quesItemIndex) in bank.ques[ansIndex]">{{ast[quesItem-1]}}</text>
-											</view>
+								</view>
+								<view v-if="bank.ques[ansIndex]">
+									<view class="pad_8 answer">
+										<view>正确答案:
+											<text :key="ansItemIndex1" v-for="(ansItem1,ansItemIndex1) in bank.ans[ansIndex]">{{ast[ansItem1-1]}}</text>
 										</view>
-										<view class="pad_8 answerInfos">
-											<view class="answerTitle">答案解析</view>
-											<view class="answerContent">
-												<rich-text :nodes="ansItem.analysisContent"></rich-text>
-											</view>
+										<view>我的答案:
+											<text :key="quesItemIndex" v-for="(quesItem,quesItemIndex) in bank.ques[ansIndex]">{{ast[quesItem-1]}}</text>
+										</view>
+									</view>
+									<view class="pad_8 answerInfos">
+										<view class="answerTitle">答案解析</view>
+										<view class="answerContent">
+											<rich-text :nodes="ansItem.analysisContent"></rich-text>
 										</view>
 									</view>
-								</template>
-								
-								<template v-if="ansItem.type == 3">
+								</view>
+							</template>
+							
+							<template v-if="ansItem.type == 3">
+								<view class="pad_8 titBox">
+									<view class="titles">
+										<rich-text :nodes="ansItem.content"></rich-text>
+									</view>
 									<view v-if="!bank.ques[ansIndex]">
 										<view v-for="(option, childindex) in judge" :key="childindex" class="lisSty" @click="judgeSelectChild(ansIndex,childindex,bankIndex)">
 											<view class="activeTI">{{ ast[childindex] }}</view>
@@ -247,23 +257,30 @@
 											{{ option }}
 										</view>
 									</view> 
-									<view v-if="bank.ques[ansIndex]">
-										<view class="pad_8 answer">
-											<view>正确答案:{{ast[bank.ans[ansIndex]]}}</view>
-											<view>我的答案:{{ast[bank.ques[ansIndex]] || ''}}</view>
-										</view>
-										<view class="pad_8 answerInfos">
-											<view class="answerTitle">答案解析</view>
-											<view class="answerContent">
-												<rich-text :nodes="ansItem.analysisContent"></rich-text>
-											</view>
+								</view>
+								<view v-if="bank.ques[ansIndex]">
+									<view class="pad_8 answer">
+										<view>正确答案:{{ast[bank.ans[ansIndex]]}}</view>
+										<view>我的答案:{{ast[bank.ques[ansIndex]] || ''}}</view>
+									</view>
+									<view class="pad_8 answerInfos">
+										<view class="answerTitle">答案解析</view>
+										<view class="answerContent">
+											<rich-text :nodes="ansItem.analysisContent"></rich-text>
 										</view>
 									</view>
-								</template>
-								
-								
-								<!-- 简答题 -->
-								<template v-if="ansItem.type == 5">
+								</view>
+							</template>
+							
+							
+							<!-- 简答题 -->
+							<template v-if="ansItem.type == 5">
+								<view class="pad_8 titBox_title">
+									<view>
+										<rich-text :nodes="ansItem.content"></rich-text>
+									</view>
+								</view>
+								<view class="pad_8 titBox_title">
 									<view class="ans">
 										<view class="ans_input" v-if="!bank.ques[ansIndex] || (!bank.ques[ansIndex].text && !bank.ques[ansIndex].imageList.length)">
 											<view class="top flex">
@@ -289,18 +306,16 @@
 											</view>
 										</view>
 									</view>
-									<view v-if="bank.ques[ansIndex]">
-										<view class="pad_8 answerInfos">
-											<view class="answerTitle">答案解析</view>
-											<view class="answerContent">
-												<rich-text :nodes="ansItem.analysisContent"></rich-text>
-											</view>
+								</view>
+								<view v-if="bank.ques[ansIndex]">
+									<view class="pad_8 answerInfos">
+										<view class="answerTitle">答案解析</view>
+										<view class="answerContent">
+											<rich-text :nodes="ansItem.analysisContent"></rich-text>
 										</view>
 									</view>
-								</template>
-								
-								
-							</view>
+								</view>
+							</template>
 						</view>	
 					</template>
 						
@@ -1472,18 +1487,21 @@ export default {
 	padding: 41rpx 25rpx 24rpx 25rpx;
 }
 
+.titBox_title {
+	padding: 21rpx;
+}
+
 .tabs {
 	margin:10rpx;
 	display: flex;
 	.tab {
-		margin:0 10rpx;
-		width: 96rpx;
-		height: 48rpx;
-		line-height: 48rpx;
+		margin: 0 4rpx;
+		padding:10rpx 13rpx;
 		text-align: center;
-		color:#007AFF;
+		color: #007aff;
 		font-size: 28rpx;
 		border-radius: 16rpx;
+		background:#fff;
 		
 		&.current {
 			color:#fff;

+ 114 - 91
pages2/bank/questionBankExplain.vue

@@ -30,15 +30,15 @@
 									<view class="flex_auto">{{ item.content }}</view>
 								</view>
 							</view> 
-							<view>
-								<view class="pad_8 answer">
-									<view>正确答案:{{ast[bank.ans-1]}}</view>
-								</view>
-								<view class="pad_8 answerInfos">
-									<view class="answerTitle">答案解析</view>
-									<view class="answerContent">
-										<rich-text :nodes="bank.analysisContent"></rich-text>
-									</view>
+						</view>
+						<view>
+							<view class="pad_8 answer">
+								<view>正确答案:{{ast[bank.ans-1]}}</view>
+							</view>
+							<view class="pad_8 answerInfos">
+								<view class="answerTitle">答案解析</view>
+								<view class="answerContent">
+									<rich-text :nodes="bank.analysisContent"></rich-text>
 								</view>
 							</view>
 						</view>
@@ -52,17 +52,17 @@
 									<view class="flex_auto">{{ item.content }}</view>
 								</view>
 							</view> 
-							<view>
-								<view class="pad_8 answer">
-									<view>正确答案:
-										<text :key="ansItemIndex" v-for="(ansItem,ansItemIndex) in bank.ans">{{ast[ansItem-1]}}</text>
-									</view>
+						</view>
+						<view>
+							<view class="pad_8 answer">
+								<view>正确答案:
+									<text :key="ansItemIndex" v-for="(ansItem,ansItemIndex) in bank.ans">{{ast[ansItem-1]}}</text>
 								</view>
-								<view class="pad_8 answerInfos">
-									<view class="answerTitle">答案解析</view>
-									<view class="answerContent">
-										<rich-text :nodes="bank.analysisContent"></rich-text>
-									</view>
+							</view>
+							<view class="pad_8 answerInfos">
+								<view class="answerTitle">答案解析</view>
+								<view class="answerContent">
+									<rich-text :nodes="bank.analysisContent"></rich-text>
 								</view>
 							</view>
 						</view>
@@ -76,15 +76,15 @@
 									{{ item }}
 								</view>
 							</view> 
-							<view>
-								<view class="pad_8 answer">
-									<view>正确答案:{{ast[bank.ans]}}</view>
-								</view>
-								<view class="pad_8 answerInfos">
-									<view class="answerTitle">答案解析</view>
-									<view class="answerContent">
-										<rich-text :nodes="bank.analysisContent"></rich-text>
-									</view>
+						</view>
+						<view>
+							<view class="pad_8 answer">
+								<view>正确答案:{{ast[bank.ans]}}</view>
+							</view>
+							<view class="pad_8 answerInfos">
+								<view class="answerTitle">答案解析</view>
+								<view class="answerContent">
+									<rich-text :nodes="bank.analysisContent"></rich-text>
 								</view>
 							</view>
 						</view>
@@ -107,91 +107,111 @@
 						
 					<!-- 案例题 -->
 					<template v-if="bank.type == 4">
-						<view class="pad_8 titBox">
-							<view class="tabs">
-								<view class="tab" :class="{current:tabIndex == bank.current}" :key="tabIndex" v-for="(tab,tabIndex) in bank.jsonStr" @click="tabSelect(tabIndex,bankIndex)">问题{{tabIndex+1}}</view>
+						<view class="tabs">
+							<view class="tab" 
+								:class="{current:tabIndex == bank.current}" 
+								:key="tabIndex" 
+								v-for="(tab,tabIndex) in bank.jsonStr" 
+								@click="tabSelect(tabIndex,bankIndex)"
+							>
+								问题{{tabIndex+1}}
 							</view>
-							<view v-for="(ansItem,ansIndex) in bank.jsonStr" v-if="bank.current == ansIndex" :key="ansIndex">
-								<view class="titles">
-									<rich-text :nodes="ansItem.content"></rich-text>
-								</view>
-								<template v-if="ansItem.type == 1">
+						</view>
+						<view v-for="(ansItem,ansIndex) in bank.jsonStr" v-if="bank.current == ansIndex" :key="ansIndex">
+							<template v-if="ansItem.type == 1">
+								<view class="pad_8 titBox">
+									<view class="titles">
+										<rich-text :nodes="ansItem.content"></rich-text>
+									</view>
 									<view>
 										<view v-for="(option, childIndex) in ansItem.optionsList" :key="childIndex" class="lisSty">
 											<text :class="{right:(option.optionsId == bank.ques[ansIndex]) || (option.optionsId == bank.ans[ansIndex]),wrong:(option.optionsId == bank.ques[ansIndex]) && (bank.ques[ansIndex] != bank.ans[ansIndex])}"  class="activeTI">{{ ast[childIndex] }}</text>
 											<rich-text :nodes="option.content"></rich-text>
 										</view>
 									</view> 
-									<view>
-										<view class="pad_8 answer">
-											<view>正确答案:{{ast[bank.ans[ansIndex]-1]}}</view>
-										</view>
-										<view class="pad_8 answerInfos">
-											<view class="answerTitle">答案解析</view>
-											<view class="answerContent">
-												<rich-text :nodes="option.analysisContent"></rich-text>
-											</view>
+								</view>
+								<view>
+									<view class="pad_8 answer">
+										<view>正确答案:{{ast[bank.ans[ansIndex]-1]}}</view>
+									</view>
+									<view class="pad_8 answerInfos">
+										<view class="answerTitle">答案解析</view>
+										<view class="answerContent">
+											<rich-text :nodes="option.analysisContent"></rich-text>
 										</view>
 									</view>
-								</template>
-								
-								<template v-if="ansItem.type == 2">
+								</view>
+							</template>
+							
+							<template v-if="ansItem.type == 2">
+								<view class="pad_8 titBox">
+									<view class="titles">
+										<rich-text :nodes="ansItem.content"></rich-text>
+									</view>
 									<view>
 										<view v-for="(option, childindex) in ansItem.optionsList" :key="childindex" class="lisSty">
 											<text :class="{right:right(bankIndex,ansIndex,option),wrong:wrong(bankIndex,ansIndex,option)}"  class="activeTI">{{ ast[childindex] }}</text>
 											<rich-text :nodes="option.content"></rich-text>
 										</view>
 									</view> 
-									<view v-if="bank.ques[ansIndex]">
-										<view class="pad_8 answer">
-											<view>正确答案:
-												<text :key="ansItemIndex1" v-for="(ansItem1,ansItemIndex1) in bank.ans[ansIndex]">{{ast[ansItem1-1]}}</text>
-											</view>
+								</view>
+								<view v-if="bank.ques[ansIndex]">
+									<view class="pad_8 answer">
+										<view>正确答案:
+											<text :key="ansItemIndex1" v-for="(ansItem1,ansItemIndex1) in bank.ans[ansIndex]">{{ast[ansItem1-1]}}</text>
 										</view>
-										<view class="pad_8 answerInfos">
-											<view class="answerTitle">答案解析</view>
-											<view class="answerContent">
-												<rich-text :nodes="ansItem.analysisContent"></rich-text>
-											</view>
+									</view>
+									<view class="pad_8 answerInfos">
+										<view class="answerTitle">答案解析</view>
+										<view class="answerContent">
+											<rich-text :nodes="ansItem.analysisContent"></rich-text>
 										</view>
 									</view>
-								</template>
-								
-								<template v-if="ansItem.type == 3">
+								</view>
+							</template>
+							
+							<template v-if="ansItem.type == 3">
+								<view class="pad_8 titBox">
+									<view class="titles">
+										<rich-text :nodes="ansItem.content"></rich-text>
+									</view>
 									<view>
 										<view v-for="(option, childindex) in judge" :key="childindex" class="lisSty">
 											<text :class="{right:(childindex == bank.ques[ansIndex]) || (childindex == bank.ans[ansIndex]),wrong:(childindex == bank.ques[ansIndex]) && (bank.ques[ansIndex] != bank.ans[ansIndex])}"  class="activeTI">{{ ast[childindex] }}</text>
 											{{ option }}
 										</view>
-									</view> 
-									<view>
-										<view class="pad_8 answer">
-											<view>正确答案:{{ast[bank.ans[ansIndex]]}}</view>
-										</view>
-										<view class="pad_8 answerInfos">
-											<view class="answerTitle">答案解析</view>
-											<view class="answerContent">
-												<rich-text :nodes="ansItem.analysisContent"></rich-text>
-											</view>
+									</view>
+								</view>
+								<view>
+									<view class="pad_8 answer">
+										<view>正确答案:{{ast[bank.ans[ansIndex]]}}</view>
+									</view>
+									<view class="pad_8 answerInfos">
+										<view class="answerTitle">答案解析</view>
+										<view class="answerContent">
+											<rich-text :nodes="ansItem.analysisContent"></rich-text>
 										</view>
 									</view>
-								</template>
-								
-								
-								<!-- 简答题 -->
-								<template v-if="ansItem.type == 5">
-									<view>
-										<view class="pad_8 answerInfos">
-											<view class="answerTitle">答案解析</view>
-											<view class="answerContent">
-												<rich-text :nodes="ansItem.analysisContent"></rich-text>
-											</view>
+								</view>
+							</template>
+							
+							
+							<!-- 简答题 -->
+							<template v-if="ansItem.type == 5">
+								<view class="pad_8 titBox">
+									<view class="titles">
+										<rich-text :nodes="ansItem.content"></rich-text>
+									</view>
+								</view>
+								<view>
+									<view class="pad_8 answerInfos">
+										<view class="answerTitle">答案解析</view>
+										<view class="answerContent">
+											<rich-text :nodes="ansItem.analysisContent"></rich-text>
 										</view>
 									</view>
-								</template>
-								
-								
-							</view>
+								</view>
+							</template>
 						</view>	
 					</template>
 						
@@ -548,18 +568,21 @@ export default {
 	padding: 41rpx 25rpx 24rpx 25rpx;
 }
 
+.titBox_title {
+	padding: 21rpx;
+}
+
 .tabs {
 	margin:10rpx;
 	display: flex;
 	.tab {
-		margin:0 10rpx;
-		width: 96rpx;
-		height: 48rpx;
-		line-height: 48rpx;
+		margin: 0 4rpx;
+		padding:10rpx 13rpx;
 		text-align: center;
-		color:#007AFF;
+		color: #007aff;
 		font-size: 28rpx;
 		border-radius: 16rpx;
+		background:#fff;
 		
 		&.current {
 			color:#fff;

+ 130 - 106
pages2/bank/questionBankExplainDetail.vue

@@ -39,16 +39,16 @@
 									<view class="flex_auto">{{ item.content }}</view>
 								</view>
 							</view> 
-							<view v-if="bank.ques">
-								<view class="pad_8 answer">
-									<view>正确答案:{{ast[bank.ans-1]}}</view>
-									<view v-if="!explain">我的答案:{{ast[bank.ques-1]}}</view>
-								</view>
-								<view class="pad_8 answerInfos">
-									<view class="answerTitle">答案解析</view>
-									<view class="answerContent">
-										<rich-text :nodes="bank.analysisContent"></rich-text>
-									</view>
+						</view>
+						<view v-if="bank.ques">
+							<view class="pad_8 answer">
+								<view>正确答案:{{ast[bank.ans-1]}}</view>
+								<view v-if="!explain">我的答案:{{ast[bank.ques-1]}}</view>
+							</view>
+							<view class="pad_8 answerInfos">
+								<view class="answerTitle">答案解析</view>
+								<view class="answerContent">
+									<rich-text :nodes="bank.analysisContent"></rich-text>
 								</view>
 							</view>
 						</view>
@@ -71,20 +71,20 @@
 									<view class="flex_auto">{{ item.content }}</view>
 								</view>
 							</view> 
-							<view v-if="bank.ques">
-								<view class="pad_8 answer">
-									<view>正确答案:
-										<text :key="ansItemIndex" v-for="(ansItem,ansItemIndex) in bank.ans">{{ast[ansItem-1]}}</text>
-									</view>
-									<view v-if="!explain">我的答案:
-										<text :key="quesItemIndex" v-for="(quesItem,quesItemIndex) in bank.ques">{{ast[quesItem-1]}}</text>
-									</view>
+						</view>
+						<view v-if="bank.ques">
+							<view class="pad_8 answer">
+								<view>正确答案:
+									<text :key="ansItemIndex" v-for="(ansItem,ansItemIndex) in bank.ans">{{ast[ansItem-1]}}</text>
 								</view>
-								<view class="pad_8 answerInfos">
-									<view class="answerTitle">答案解析</view>
-									<view class="answerContent">
-										<rich-text :nodes="bank.analysisContent"></rich-text>
-									</view>
+								<view v-if="!explain">我的答案:
+									<text :key="quesItemIndex" v-for="(quesItem,quesItemIndex) in bank.ques">{{ast[quesItem-1]}}</text>
+								</view>
+							</view>
+							<view class="pad_8 answerInfos">
+								<view class="answerTitle">答案解析</view>
+								<view class="answerContent">
+									<rich-text :nodes="bank.analysisContent"></rich-text>
 								</view>
 							</view>
 						</view>
@@ -104,16 +104,16 @@
 									{{ item }}
 								</view>
 							</view> 
-							<view v-if="bank.ques">
-								<view class="pad_8 answer">
-									<view>正确答案:{{ast[bank.ans]}}</view>
-									<view v-if="!explain">我的答案:{{ast[bank.ques]}}</view>
-								</view>
-								<view class="pad_8 answerInfos">
-									<view class="answerTitle">答案解析</view>
-									<view class="answerContent">
-										<rich-text :nodes="bank.analysisContent"></rich-text>
-									</view>
+						</view>
+						<view v-if="bank.ques">
+							<view class="pad_8 answer">
+								<view>正确答案:{{ast[bank.ans]}}</view>
+								<view v-if="!explain">我的答案:{{ast[bank.ques]}}</view>
+							</view>
+							<view class="pad_8 answerInfos">
+								<view class="answerTitle">答案解析</view>
+								<view class="answerContent">
+									<rich-text :nodes="bank.analysisContent"></rich-text>
 								</view>
 							</view>
 						</view>
@@ -148,12 +148,12 @@
 									</view>
 								</view>
 							</view>
-							<view v-if="bank.ques">
-								<view class="pad_8 answerInfos">
-									<view class="answerTitle">答案解析:</view>
-									<view class="answerContent">
-										<rich-text :nodes="bank.analysisContent"></rich-text>
-									</view>
+						</view>
+						<view v-if="bank.ques">
+							<view class="pad_8 answerInfos">
+								<view class="answerTitle">答案解析:</view>
+								<view class="answerContent">
+									<rich-text :nodes="bank.analysisContent"></rich-text>
 								</view>
 							</view>
 						</view>
@@ -161,15 +161,21 @@
 						
 					<!-- 案例题 -->
 					<template v-if="bank.type == 4">
-						<view class="pad_8 titBox">
-							<view class="tabs">
-								<view class="tab" :class="{current:tabIndex == bank.current}" :key="tabIndex" v-for="(tab,tabIndex) in bank.jsonStr" @click="tabSelect(tabIndex,bankIndex)">问题{{tabIndex+1}}</view>
+						<view class="tabs">
+							<view class="tab" 
+								:class="{current:tabIndex == bank.current}" 
+								:key="tabIndex" v-for="(tab,tabIndex) in bank.jsonStr"
+								 @click="tabSelect(tabIndex,bankIndex)"
+							>
+								问题{{tabIndex+1}}
 							</view>
-							<view v-for="(ansItem,ansIndex) in bank.jsonStr" v-if="bank.current == ansIndex" :key="ansIndex">
-								<view class="titles">
-									<rich-text :nodes="ansItem.content"></rich-text>
-								</view>
-								<template v-if="ansItem.type == 1">
+						</view>
+						<view v-for="(ansItem,ansIndex) in bank.jsonStr" v-if="bank.current == ansIndex" :key="ansIndex">
+							<template v-if="ansItem.type == 1">
+								<view class="pad_8 titBox">
+									<view class="titles">
+										<rich-text :nodes="ansItem.content"></rich-text>
+									</view>
 									<view v-if="!bank.ques[ansIndex]">
 										<view v-for="(option, childIndex) in ansItem.optionsList" :key="childIndex" class="lisSty" @click="radioSelectChild(option.optionsId,ansIndex,bankIndex)">
 											<view class="activeTI">{{ ast[childIndex] }}</view>
@@ -182,21 +188,26 @@
 											<rich-text :nodes="option.content"></rich-text>
 										</view>
 									</view> 
-									<view v-if="bank.ques[ansIndex]">
-										<view class="pad_8 answer">
-											<view>正确答案:{{ast[bank.ans[ansIndex]-1]}}</view>
-											<view v-if="!explain">我的答案:{{ast[bank.ques[ansIndex]-1]}}</view>
-										</view>
-										<view class="pad_8 answerInfos">
-											<view class="answerTitle">答案解析</view>
-											<view class="answerContent">
-												<rich-text :nodes="option.analysisContent"></rich-text>
-											</view>
+								</view>
+								<view v-if="bank.ques[ansIndex]">
+									<view class="pad_8 answer">
+										<view>正确答案:{{ast[bank.ans[ansIndex]-1]}}</view>
+										<view v-if="!explain">我的答案:{{ast[bank.ques[ansIndex]-1]}}</view>
+									</view>
+									<view class="pad_8 answerInfos">
+										<view class="answerTitle">答案解析</view>
+										<view class="answerContent">
+											<rich-text :nodes="option.analysisContent"></rich-text>
 										</view>
 									</view>
-								</template>
-								
-								<template v-if="ansItem.type == 2">
+								</view>
+							</template>
+							
+							<template v-if="ansItem.type == 2">
+								<view class="pad_8 titBox">
+									<view class="titles">
+										<rich-text :nodes="ansItem.content"></rich-text>
+									</view>
 									<view v-if="!bank.ques[ansIndex]">
 										<view v-for="(option, childindex) in ansItem.optionsList" :key="childindex" class="lisSty" @click="checkboxSelectChild(bankIndex,ansIndex,childindex)">
 											<view :class="{checked:option.checked}" class="activeTI">{{ ast[childindex] }}</view>
@@ -212,25 +223,30 @@
 											<rich-text :nodes="option.content"></rich-text>
 										</view>
 									</view> 
-									<view v-if="bank.ques[ansIndex]">
-										<view class="pad_8 answer">
-											<view>正确答案:
-												<text :key="ansItemIndex1" v-for="(ansItem1,ansItemIndex1) in bank.ans[ansIndex]">{{ast[ansItem1-1]}}</text>
-											</view>
-											<view v-if="!explain">我的答案:
-												<text :key="quesItemIndex" v-for="(quesItem,quesItemIndex) in bank.ques[ansIndex]">{{ast[quesItem-1]}}</text>
-											</view>
+								</view>
+								<view v-if="bank.ques[ansIndex]">
+									<view class="pad_8 answer">
+										<view>正确答案:
+											<text :key="ansItemIndex1" v-for="(ansItem1,ansItemIndex1) in bank.ans[ansIndex]">{{ast[ansItem1-1]}}</text>
 										</view>
-										<view class="pad_8 answerInfos">
-											<view class="answerTitle">答案解析</view>
-											<view class="answerContent">
-												<rich-text :nodes="ansItem.analysisContent"></rich-text>
-											</view>
+										<view v-if="!explain">我的答案:
+											<text :key="quesItemIndex" v-for="(quesItem,quesItemIndex) in bank.ques[ansIndex]">{{ast[quesItem-1]}}</text>
 										</view>
 									</view>
-								</template>
-								
-								<template v-if="ansItem.type == 3">
+									<view class="pad_8 answerInfos">
+										<view class="answerTitle">答案解析</view>
+										<view class="answerContent">
+											<rich-text :nodes="ansItem.analysisContent"></rich-text>
+										</view>
+									</view>
+								</view>
+							</template>
+							
+							<template v-if="ansItem.type == 3">
+								<view class="pad_8 titBox">
+									<view class="titles">
+										<rich-text :nodes="ansItem.content"></rich-text>
+									</view>
 									<view v-if="!bank.ques[ansIndex]">
 										<view v-for="(option, childindex) in judge" :key="childindex" class="lisSty" @click="judgeSelectChild(ansIndex,childindex,bankIndex)">
 											<view class="activeTI">{{ ast[childindex] }}</view>
@@ -243,23 +259,30 @@
 											{{ option }}
 										</view>
 									</view> 
-									<view v-if="bank.ques[ansIndex]">
-										<view class="pad_8 answer">
-											<view>正确答案:{{ast[bank.ans[ansIndex]]}}</view>
-											<view v-if="!explain">我的答案:{{ast[bank.ques[ansIndex]]}}</view>
-										</view>
-										<view class="pad_8 answerInfos">
-											<view class="answerTitle">答案解析</view>
-											<view class="answerContent">
-												<rich-text :nodes="ansItem.analysisContent"></rich-text>
-											</view>
+								</view>
+								<view v-if="bank.ques[ansIndex]">
+									<view class="pad_8 answer">
+										<view>正确答案:{{ast[bank.ans[ansIndex]]}}</view>
+										<view v-if="!explain">我的答案:{{ast[bank.ques[ansIndex]]}}</view>
+									</view>
+									<view class="pad_8 answerInfos">
+										<view class="answerTitle">答案解析</view>
+										<view class="answerContent">
+											<rich-text :nodes="ansItem.analysisContent"></rich-text>
 										</view>
 									</view>
-								</template>
-								
-								
-								<!-- 简答题 -->
-								<template v-if="ansItem.type == 5">
+								</view>
+							</template>
+							
+							
+							<!-- 简答题 -->
+							<template v-if="ansItem.type == 5">
+								<view class="pad_8 titBox_title">
+									<view>
+										<rich-text :nodes="ansItem.content"></rich-text>
+									</view>
+								</view>
+								<view class="pad_8 titBox_title">
 									<view class="ans">
 										<view class="ans_input" v-if="!bank.ques[ansIndex] || (!bank.ques[ansIndex].text && !bank.ques[ansIndex].imageList.length)">
 											<view class="top flex">
@@ -285,18 +308,16 @@
 											</view>
 										</view>
 									</view>
-									<view v-if="bank.ques[ansIndex]">
-										<view class="pad_8 answerInfos">
-											<view class="answerTitle">答案解析</view>
-											<view class="answerContent">
-												<rich-text :nodes="ansItem.analysisContent"></rich-text>
-											</view>
+								</view>
+								<view v-if="bank.ques[ansIndex]">
+									<view class="pad_8 answerInfos">
+										<view class="answerTitle">答案解析</view>
+										<view class="answerContent">
+											<rich-text :nodes="ansItem.analysisContent"></rich-text>
 										</view>
 									</view>
-								</template>
-								
-								
-							</view>
+								</view>
+							</template>
 						</view>	
 					</template>
 						
@@ -1416,18 +1437,21 @@ export default {
 	padding: 41rpx 25rpx 24rpx 25rpx;
 }
 
+.titBox_title {
+	padding: 21rpx;
+}
+
 .tabs {
 	margin:10rpx;
 	display: flex;
 	.tab {
-		margin:0 10rpx;
-		width: 96rpx;
-		height: 48rpx;
-		line-height: 48rpx;
+		margin: 0 4rpx;
+		padding:10rpx 13rpx;
 		text-align: center;
-		color:#007AFF;
+		color: #007aff;
 		font-size: 28rpx;
 		border-radius: 16rpx;
+		background:#fff;
 		
 		&.current {
 			color:#fff;

+ 186 - 128
pages2/bank/questionBankTest.vue

@@ -21,8 +21,8 @@
 							<rich-text :nodes="bank.content"></rich-text>
 						</view>		
 					</view>
-					<view class="pad_8 titBox">
-						<template v-if="bank.type == 1">
+					<template v-if="bank.type == 1">
+						<view class="pad_8 titBox no-margin">
 							<view v-if="!bank.ques">
 								<view v-for="(item, index) in bank.jsonStr" :key="index" class="lisSty" @click="radioSelect(item.optionsId,bankIndex)">
 									<view class="activeTI">{{ ast[index] }}</view>
@@ -36,28 +36,30 @@
 									<view class="flex_auto">{{ item.content }}</view>
 								</view>
 							</view> 
-							<view v-if="bank.ques">
-								<view class="pad_8 answer">
-									<view>正确答案:{{ast[bank.ans-1]}}</view>
-									<view>我的答案:{{ast[bank.ques-1]}}</view>
-								</view>
-								<view class="pad_8 answerInfos">
-									<view class="answerTitle">答案解析</view>
-									<view class="answerContent">
-										<rich-text :nodes="bank.analysisContent"></rich-text>
-									</view>
+						</view>
+						<view v-if="bank.ques">
+							<view class="pad_8 answer">
+								<view>正确答案:{{ast[bank.ans-1]}}</view>
+								<view>我的答案:{{ast[bank.ques-1]}}</view>
+							</view>
+							<view class="pad_8 answerInfos">
+								<view class="answerTitle">答案解析</view>
+								<view class="answerContent">
+									<rich-text :nodes="bank.analysisContent"></rich-text>
 								</view>
 							</view>
-						</template>
-						
-						<template v-if="bank.type == 2">
+						</view>
+					</template>
+					
+					<template v-if="bank.type == 2">
+						<view class="pad_8 titBox no-margin">
 							<view v-if="!bank.ques">
 								<view v-for="(item, index) in bank.jsonStr" :key="index" class="lisSty" @click="checkboxSelect(item.optionsId,bankIndex,index)">
 									<view :class="{checked:item.checked}" class="activeTI">{{ ast[index] }}</view>
 									<view class="flex_auto">{{ item.content }}</view>
 								</view>
 							</view>
-							<view v-if="!bank.ques" class="submit_checkbox" @click="checkboxSubmit(bankIndex)">
+							<view v-if="!bank.ques" class="submit_checkbox" :class="{disabled:!isCheckboxChecked(bank.jsonStr)}" @click="checkboxSubmit(bankIndex)">
 								确认答案
 							</view>
 							<view v-if="bank.ques">
@@ -66,25 +68,27 @@
 									<view class="flex_auto">{{ item.content }}</view>
 								</view>
 							</view> 
-							<view v-if="bank.ques">
-								<view class="pad_8 answer">
-									<view>正确答案:
-										<text :key="ansItemIndex" v-for="(ansItem,ansItemIndex) in bank.ans">{{ast[ansItem-1]}}</text>
-									</view>
-									<view>我的答案:
-										<text :key="quesItemIndex" v-for="(quesItem,quesItemIndex) in bank.ques">{{ast[quesItem-1]}}</text>
-									</view>
+						</view>
+						<view v-if="bank.ques">
+							<view class="pad_8 answer">
+								<view>正确答案:
+									<text :key="ansItemIndex" v-for="(ansItem,ansItemIndex) in bank.ans">{{ast[ansItem-1]}}</text>
 								</view>
-								<view class="pad_8 answerInfos">
-									<view class="answerTitle">答案解析</view>
-									<view class="answerContent">
-										<rich-text :nodes="bank.analysisContent"></rich-text>
-									</view>
+								<view>我的答案:
+									<text :key="quesItemIndex" v-for="(quesItem,quesItemIndex) in bank.ques">{{ast[quesItem-1]}}</text>
 								</view>
 							</view>
-						</template>
-						
-						<template v-if="bank.type == 3"> 
+							<view class="pad_8 answerInfos">
+								<view class="answerTitle">答案解析</view>
+								<view class="answerContent">
+									<rich-text :nodes="bank.analysisContent"></rich-text>
+								</view>
+							</view>
+						</view>
+					</template>
+					
+					<template v-if="bank.type == 3"> 
+						<view class="pad_8 titBox no-margin">
 							<view v-if="!bank.ques">
 								<view v-for="(item, index) in judge" :key="index" class="lisSty" @click="judgeSelect(index,bankIndex)">
 									<view class="activeTI">{{ ast[index] }}</view>
@@ -97,23 +101,25 @@
 									{{ item }}
 								</view>
 							</view> 
-							<view v-if="bank.ques">
-								<view class="pad_8 answer">
-									<view>正确答案:{{ast[bank.ans]}}</view>
-									<view>我的答案:{{ast[bank.ques]}}</view>
-								</view>
-								<view class="pad_8 answerInfos">
-									<view class="answerTitle">答案解析</view>
-									<view class="answerContent">
-										<rich-text :nodes="bank.analysisContent"></rich-text>
-									</view>
+						</view>
+						<view v-if="bank.ques">
+							<view class="pad_8 answer">
+								<view>正确答案:{{ast[bank.ans]}}</view>
+								<view>我的答案:{{ast[bank.ques]}}</view>
+							</view>
+							<view class="pad_8 answerInfos">
+								<view class="answerTitle">答案解析</view>
+								<view class="answerContent">
+									<rich-text :nodes="bank.analysisContent"></rich-text>
 								</view>
 							</view>
-						</template>
-						
-						
-						<!-- 简答题 -->
-						<template v-if="bank.type == 5">
+						</view>
+					</template>
+					
+					
+					<!-- 简答题 -->
+					<template v-if="bank.type == 5">
+						<view class="pad_8 titBox">
 							<view class="ans">
 								<view class="ans_input" v-if="!bank.ques">
 									<view class="top flex">
@@ -139,26 +145,28 @@
 									</view>
 								</view>
 							</view>
-							<view v-if="bank.ques">
-								<view class="pad_8 answerInfos">
-									<view class="answerTitle">答案解析:</view>
-									<view class="answerContent">
-										<rich-text :nodes="bank.analysisContent"></rich-text>
-									</view>
+						</view>
+						<view v-if="bank.ques">
+							<view class="pad_8 answerInfos">
+								<view class="answerTitle">答案解析:</view>
+								<view class="answerContent">
+									<rich-text :nodes="bank.analysisContent"></rich-text>
 								</view>
 							</view>
-						</template>
-						
-						<!-- 案例题 -->
-						<template v-if="bank.type == 4">
-							<view class="tabs">
-								<view class="tab" :class="{current:tabIndex == bank.current}" :key="tabIndex" v-for="(tab,tabIndex) in bank.jsonStr" @click="tabSelect(tabIndex,bankIndex)">问题{{tabIndex+1}}</view>
-							</view>
-							<view v-for="(ansItem,ansIndex) in bank.jsonStr" v-if="bank.current == ansIndex" :key="ansIndex">
-								<view class="titles">
-									<rich-text :nodes="ansItem.content"></rich-text>
-								</view>
-								<template v-if="ansItem.type == 1">
+						</view>
+					</template>
+					
+					<!-- 案例题 -->
+					<template v-if="bank.type == 4">
+						<view class="tabs">
+							<view class="tab" :class="{current:tabIndex == bank.current}" :key="tabIndex" v-for="(tab,tabIndex) in bank.jsonStr" @click="tabSelect(tabIndex,bankIndex)">问题{{tabIndex+1}}</view>
+						</view>
+						<view v-for="(ansItem,ansIndex) in bank.jsonStr" v-if="bank.current == ansIndex" :key="ansIndex">
+							<template v-if="ansItem.type == 1">
+								<view class="pad_8 titBox">
+									<view class="titles">
+										<rich-text :nodes="ansItem.content"></rich-text>
+									</view>
 									<view v-if="!bank.ques[ansIndex]">
 										<view v-for="(option, childIndex) in ansItem.optionsList" :key="childIndex" class="lisSty" @click="radioSelectChild(option.optionsId,ansIndex,bankIndex)">
 											<view class="activeTI">{{ ast[childIndex] }}</view>
@@ -171,28 +179,33 @@
 											<rich-text :nodes="option.content"></rich-text>
 										</view>
 									</view> 
-									<view v-if="bank.ques[ansIndex]">
-										<view class="pad_8 answer">
-											<view>正确答案:{{ast[bank.ans[ansIndex]-1]}}</view>
-											<view>我的答案:{{ast[bank.ques[ansIndex]-1]}}</view>
-										</view>
-										<view class="pad_8 answerInfos">
-											<view class="answerTitle">答案解析</view>
-											<view class="answerContent">
-												<rich-text :nodes="option.analysisContent"></rich-text>
-											</view>
+								</view>
+								<view v-if="bank.ques[ansIndex]">
+									<view class="pad_8 answer">
+										<view>正确答案:{{ast[bank.ans[ansIndex]-1]}}</view>
+										<view>我的答案:{{ast[bank.ques[ansIndex]-1]}}</view>
+									</view>
+									<view class="pad_8 answerInfos">
+										<view class="answerTitle">答案解析</view>
+										<view class="answerContent">
+											<rich-text :nodes="option.analysisContent"></rich-text>
 										</view>
 									</view>
-								</template>
-								
-								<template v-if="ansItem.type == 2">
+								</view>
+							</template>
+							
+							<template v-if="ansItem.type == 2">
+								<view class="pad_8 titBox">
+									<view class="titles">
+										<rich-text :nodes="ansItem.content"></rich-text>
+									</view>
 									<view v-if="!bank.ques[ansIndex]">
 										<view v-for="(option, childindex) in ansItem.optionsList" :key="childindex" class="lisSty" @click="checkboxSelectChild(bankIndex,ansIndex,childindex)">
 											<view :class="{checked:option.checked}" class="activeTI">{{ ast[childindex] }}</view>
 											<rich-text :nodes="option.content"></rich-text>
 										</view>
 									</view>
-									<view v-if="!bank.ques[ansIndex]" class="submit_checkbox" @click="checkboxSubmitChild(bankIndex,ansIndex)">
+									<view v-if="!bank.ques[ansIndex]" class="submit_checkbox" :class="{disabled:!isCheckboxChecked(ansItem.optionsList)}" @click="checkboxSubmitChild(bankIndex,ansIndex)">
 										确认答案
 									</view>
 									<view v-if="bank.ques && bank.ques[ansIndex]">
@@ -201,25 +214,30 @@
 											<rich-text :nodes="option.content"></rich-text>
 										</view>
 									</view> 
-									<view v-if="bank.ques[ansIndex]">
-										<view class="pad_8 answer">
-											<view>正确答案:
-												<text :key="ansItemIndex1" v-for="(ansItem1,ansItemIndex1) in bank.ans[ansIndex]">{{ast[ansItem1-1]}}</text>
-											</view>
-											<view>我的答案:
-												<text :key="quesItemIndex" v-for="(quesItem,quesItemIndex) in bank.ques[ansIndex]">{{ast[quesItem-1]}}</text>
-											</view>
+								</view>
+								<view v-if="bank.ques[ansIndex]">
+									<view class="pad_8 answer">
+										<view>正确答案:
+											<text :key="ansItemIndex1" v-for="(ansItem1,ansItemIndex1) in bank.ans[ansIndex]">{{ast[ansItem1-1]}}</text>
 										</view>
-										<view class="pad_8 answerInfos">
-											<view class="answerTitle">答案解析</view>
-											<view class="answerContent">
-												<rich-text :nodes="ansItem.analysisContent"></rich-text>
-											</view>
+										<view>我的答案:
+											<text :key="quesItemIndex" v-for="(quesItem,quesItemIndex) in bank.ques[ansIndex]">{{ast[quesItem-1]}}</text>
 										</view>
 									</view>
-								</template>
-								
-								<template v-if="ansItem.type == 3">
+									<view class="pad_8 answerInfos">
+										<view class="answerTitle">答案解析</view>
+										<view class="answerContent">
+											<rich-text :nodes="ansItem.analysisContent"></rich-text>
+										</view>
+									</view>
+								</view>
+							</template>
+							
+							<template v-if="ansItem.type == 3">
+								<view class="pad_8 titBox">
+									<view class="titles">
+										<rich-text :nodes="ansItem.content"></rich-text>
+									</view>
 									<view v-if="!bank.ques[ansIndex]">
 										<view v-for="(option, childindex) in judge" :key="childindex" class="lisSty" @click="judgeSelectChild(ansIndex,childindex,bankIndex)">
 											<view class="activeTI">{{ ast[childindex] }}</view>
@@ -232,23 +250,31 @@
 											{{ option }}
 										</view>
 									</view> 
-									<view v-if="bank.ques[ansIndex]">
-										<view class="pad_8 answer">
-											<view>正确答案:{{ast[bank.ans[ansIndex]]}}</view>
-											<view>我的答案:{{ast[bank.ques[ansIndex]]}}</view>
-										</view>
-										<view class="pad_8 answerInfos">
-											<view class="answerTitle">答案解析:</view>
-											<view class="answerContent">
-												<rich-text :nodes="ansItem.analysisContent"></rich-text>
-											</view>
+								</view>
+								<view v-if="bank.ques[ansIndex]">
+									<view class="pad_8 answer">
+										<view>正确答案:{{ast[bank.ans[ansIndex]]}}</view>
+										<view>我的答案:{{ast[bank.ques[ansIndex]]}}</view>
+									</view>
+									<view class="pad_8 answerInfos">
+										<view class="answerTitle">答案解析:</view>
+										<view class="answerContent">
+											<rich-text :nodes="ansItem.analysisContent"></rich-text>
 										</view>
 									</view>
-								</template>
-								
+								</view>
+							</template>
+							
+							
+							<!-- 简答题 -->
+							<template v-if="ansItem.type == 5">
 								
-								<!-- 简答题 -->
-								<template v-if="ansItem.type == 5">
+								<view class="pad_8 titBox_title">
+									<view class="titles">
+										<rich-text :nodes="ansItem.content"></rich-text>
+									</view>
+								</view>
+								<view class="pad_8 titBox_title">
 									<view class="ans">
 										<view class="ans_input" v-if="!bank.ques[ansIndex]">
 											<view class="top flex">
@@ -274,22 +300,18 @@
 											</view>
 										</view>
 									</view>
-									<view v-if="bank.ques[ansIndex]">
-										<view class="pad_8 answerInfos">
-											<view class="answerTitle">答案解析:</view>
-											<view class="answerContent">
-												<rich-text :nodes="ansItem.analysisContent"></rich-text>
-											</view>
+								</view>
+								<view v-if="bank.ques[ansIndex]">
+									<view class="pad_8 answerInfos">
+										<view class="answerTitle">答案解析:</view>
+										<view class="answerContent">
+											<rich-text :nodes="ansItem.analysisContent"></rich-text>
 										</view>
 									</view>
-								</template>
-								
-								
-							</view>
-						</template>
-						
-						
-					</view>
+								</view>
+							</template>
+						</view>
+					</template>
 					
 				
 					<view class="footer_btn">
@@ -492,6 +514,14 @@ export default {
 			this.$set(this.questionList[bindex].jsonStr[ansIndex].optionsList[childIndex],'checked',!this.questionList[bindex].jsonStr[ansIndex].optionsList[childIndex].checked)
 		},
 		
+		isCheckboxChecked(arr) {
+			return arr.some(item => {
+				if (item.checked) {
+					return true;
+				}
+			});
+		},
+		
 		/**
 		 * @param {Object} 多选确认
 		 */
@@ -505,6 +535,14 @@ export default {
 				}
 			})
 			
+			if(!arr.length) {
+				uni.showToast({
+					title:'请选择答案',
+					icon:'none'
+				})
+				return;
+			}
+			
 			this.$set(this.questionList[bindex],'ques',arr)
 			
 		},
@@ -522,6 +560,14 @@ export default {
 				}
 			})
 			
+			if(!arr.length) {
+				uni.showToast({
+					title:'请选择答案',
+					icon:'none'
+				})
+				return;
+			}
+			
 			this.$set(this.questionList[bindex].ques,ansIndex,arr)
 		},
 		
@@ -969,6 +1015,10 @@ export default {
 	line-height: 80rpx;
 	font-size: 30rpx;
 	border-radius: 40rpx;
+	
+	&.disabled {
+		opacity: 0.6;
+	}
 }
 .titles {
 	overflow: hidden;
@@ -978,18 +1028,21 @@ export default {
 	padding: 41rpx 25rpx 24rpx 25rpx;
 }
 
+.titBox_title {
+	padding: 21rpx;
+}
+
 .tabs {
 	margin:10rpx;
 	display: flex;
 	.tab {
-		margin:0 10rpx;
-		width: 96rpx;
-		height: 48rpx;
-		line-height: 48rpx;
+		margin: 0 4rpx;
+		padding:10rpx 13rpx;
 		text-align: center;
-		color:#007AFF;
+		color: #007aff;
 		font-size: 28rpx;
 		border-radius: 16rpx;
+		background:#fff;
 		
 		&.current {
 			color:#fff;
@@ -1157,6 +1210,11 @@ export default {
 	background-color: #fff;
 	margin: 0rpx 8rpx 8rpx;
 	border-radius: 16rpx;
+	
+	&.no-margin {
+		margin-top:-16rpx;
+		border-radius: 0 0 16rpx 16rpx;
+	}
 }
 .answer {
 	height: 80rpx;

+ 126 - 112
pages2/bank/questionBankWrongExplain.vue

@@ -36,16 +36,16 @@
 									<view class="flex_auto">{{ item.content }}</view>
 								</view>
 							</view> 
-							<view>
-								<view class="pad_8 answer">
-									<view>正确答案:{{ast[bank.ans-1]}}</view>
-									<view>我的答案:{{ast[bank.ques-1] || ''}}</view>
-								</view>
-								<view class="pad_8 answerInfos">
-									<view class="answerTitle">答案解析</view>
-									<view class="answerContent">
-										<rich-text :nodes="bank.analysisContent"></rich-text>
-									</view>
+						</view>
+						<view>
+							<view class="pad_8 answer">
+								<view>正确答案:{{ast[bank.ans-1]}}</view>
+								<view>我的答案:{{ast[bank.ques-1] || ''}}</view>
+							</view>
+							<view class="pad_8 answerInfos">
+								<view class="answerTitle">答案解析</view>
+								<view class="answerContent">
+									<rich-text :nodes="bank.analysisContent"></rich-text>
 								</view>
 							</view>
 						</view>
@@ -66,20 +66,20 @@
 									<view class="flex_auto">{{ item.content }}</view>
 								</view>
 							</view> 
-							<view >
-								<view class="pad_8 answer">
-									<view>正确答案:
-										<text :key="ansItemIndex" v-for="(ansItem,ansItemIndex) in bank.ans">{{ast[ansItem-1]}}</text>
-									</view>
-									<view>我的答案:
-										<text :key="quesItemIndex" v-for="(quesItem,quesItemIndex) in bank.ques">{{ast[quesItem-1]}}</text>
-									</view>
+						</view>
+						<view >
+							<view class="pad_8 answer">
+								<view>正确答案:
+									<text :key="ansItemIndex" v-for="(ansItem,ansItemIndex) in bank.ans">{{ast[ansItem-1]}}</text>
 								</view>
-								<view class="pad_8 answerInfos">
-									<view class="answerTitle">答案解析</view>
-									<view class="answerContent">
-										<rich-text :nodes="bank.analysisContent"></rich-text>
-									</view>
+								<view>我的答案:
+									<text :key="quesItemIndex" v-for="(quesItem,quesItemIndex) in bank.ques">{{ast[quesItem-1]}}</text>
+								</view>
+							</view>
+							<view class="pad_8 answerInfos">
+								<view class="answerTitle">答案解析</view>
+								<view class="answerContent">
+									<rich-text :nodes="bank.analysisContent"></rich-text>
 								</view>
 							</view>
 						</view>
@@ -99,16 +99,16 @@
 									{{ item }}
 								</view>
 							</view> 
-							<view >
-								<view class="pad_8 answer">
-									<view>正确答案:{{ast[bank.ans]}}</view>
-									<view>我的答案:{{ast[bank.ques] || ''}}</view>
-								</view>
-								<view class="pad_8 answerInfos">
-									<view class="answerTitle">答案解析</view>
-									<view class="answerContent">
-										<rich-text :nodes="bank.analysisContent"></rich-text>
-									</view>
+						</view>
+						<view >
+							<view class="pad_8 answer">
+								<view>正确答案:{{ast[bank.ans]}}</view>
+								<view>我的答案:{{ast[bank.ques] || ''}}</view>
+							</view>
+							<view class="pad_8 answerInfos">
+								<view class="answerTitle">答案解析</view>
+								<view class="answerContent">
+									<rich-text :nodes="bank.analysisContent"></rich-text>
 								</view>
 							</view>
 						</view>
@@ -127,12 +127,12 @@
 									</view>
 								</view>
 							</view>
-							<view>
-								<view class="pad_8 answerInfos">
-									<view class="answerTitle">答案解析:</view>
-									<view class="answerContent">
-										<rich-text :nodes="bank.analysisContent"></rich-text>
-									</view>
+						</view>
+						<view>
+							<view class="pad_8 answerInfos">
+								<view class="answerTitle">答案解析:</view>
+								<view class="answerContent">
+									<rich-text :nodes="bank.analysisContent"></rich-text>
 								</view>
 							</view>
 						</view>
@@ -140,15 +140,15 @@
 						
 					<!-- 案例题 -->
 					<template v-if="bank.type == 4">
-						<view class="pad_8 titBox">
-							<view class="tabs">
-								<view class="tab" :class="{current:tabIndex == bank.current}" :key="tabIndex" v-for="(tab,tabIndex) in bank.jsonStr" @click="tabSelect(tabIndex,bankIndex)">问题{{tabIndex+1}}</view>
-							</view>
-							<view v-for="(ansItem,ansIndex) in bank.jsonStr" v-if="bank.current == ansIndex" :key="ansIndex">
-								<view class="titles">
-									<rich-text :nodes="ansItem.content"></rich-text>
-								</view>
-								<template v-if="ansItem.type == 1">
+						<view class="tabs">
+							<view class="tab" :class="{current:tabIndex == bank.current}" :key="tabIndex" v-for="(tab,tabIndex) in bank.jsonStr" @click="tabSelect(tabIndex,bankIndex)">问题{{tabIndex+1}}</view>
+						</view>
+						<view v-for="(ansItem,ansIndex) in bank.jsonStr" v-if="bank.current == ansIndex" :key="ansIndex">
+							<template v-if="ansItem.type == 1">
+								<view class="pad_8 titBox">
+									<view class="titles">
+										<rich-text :nodes="ansItem.content"></rich-text>
+									</view>
 									<view v-if="!bank.ques[ansIndex]">
 										<view v-for="(option, childIndex) in ansItem.optionsList" :key="childIndex" class="lisSty">
 											<view class="activeTI">{{ ast[childIndex] }}</view>
@@ -160,22 +160,25 @@
 											<text :class="{right:(option.optionsId == bank.ques[ansIndex]) || (option.optionsId == bank.ans[ansIndex]),wrong:(option.optionsId == bank.ques[ansIndex]) && (bank.ques[ansIndex] != bank.ans[ansIndex])}"  class="activeTI">{{ ast[childIndex] }}</text>
 											<rich-text :nodes="option.content"></rich-text>
 										</view>
-									</view> 
-									<view>
-										<view class="pad_8 answer">
-											<view>正确答案:{{ast[bank.ans[ansIndex]-1]}}</view>
-											<view>我的答案:{{ast[bank.ques[ansIndex]-1] || ''}}</view>
-										</view>
-										<view class="pad_8 answerInfos">
-											<view class="answerTitle">答案解析</view>
-											<view class="answerContent">
-												<rich-text :nodes="option.analysisContent"></rich-text>
-											</view>
-										</view>
 									</view>
-								</template>
-								
-								<template v-if="ansItem.type == 2">
+								</view>
+								<view class="pad_8 answer">
+									<view>正确答案:{{ast[bank.ans[ansIndex]-1]}}</view>
+									<view>我的答案:{{ast[bank.ques[ansIndex]-1] || ''}}</view>
+								</view>
+								<view class="pad_8 answerInfos">
+									<view class="answerTitle">答案解析</view>
+									<view class="answerContent">
+										<rich-text :nodes="option.analysisContent"></rich-text>
+									</view>
+								</view>
+							</template>
+							
+							<template v-if="ansItem.type == 2">
+								<view class="pad_8 titBox">
+									<view class="titles">
+										<rich-text :nodes="ansItem.content"></rich-text>
+									</view>
 									<view v-if="!bank.ques[ansIndex]">
 										<view v-for="(option, childindex) in ansItem.optionsList" :key="childindex" class="lisSty">
 											<view :class="{checked:option.checked}" class="activeTI">{{ ast[childindex] }}</view>
@@ -188,25 +191,30 @@
 											<rich-text :nodes="option.content"></rich-text>
 										</view>
 									</view> 
-									<view>
-										<view class="pad_8 answer">
-											<view>正确答案:
-												<text :key="ansItemIndex1" v-for="(ansItem1,ansItemIndex1) in bank.ans[ansIndex]">{{ast[ansItem1-1]}}</text>
-											</view>
-											<view>我的答案:
-												<text :key="quesItemIndex" v-for="(quesItem,quesItemIndex) in bank.ques[ansIndex]">{{ast[quesItem-1]}}</text>
-											</view>
+								</view>
+								<view>
+									<view class="pad_8 answer">
+										<view>正确答案:
+											<text :key="ansItemIndex1" v-for="(ansItem1,ansItemIndex1) in bank.ans[ansIndex]">{{ast[ansItem1-1]}}</text>
 										</view>
-										<view class="pad_8 answerInfos">
-											<view class="answerTitle">答案解析</view>
-											<view class="answerContent">
-												<rich-text :nodes="ansItem.analysisContent"></rich-text>
-											</view>
+										<view>我的答案:
+											<text :key="quesItemIndex" v-for="(quesItem,quesItemIndex) in bank.ques[ansIndex]">{{ast[quesItem-1]}}</text>
 										</view>
 									</view>
-								</template>
-								
-								<template v-if="ansItem.type == 3">
+									<view class="pad_8 answerInfos">
+										<view class="answerTitle">答案解析</view>
+										<view class="answerContent">
+											<rich-text :nodes="ansItem.analysisContent"></rich-text>
+										</view>
+									</view>
+								</view>
+							</template>
+							
+							<template v-if="ansItem.type == 3">
+								<view class="pad_8 titBox">
+									<view class="titles">
+										<rich-text :nodes="ansItem.content"></rich-text>
+									</view>
 									<view v-if="!bank.ques[ansIndex]">
 										<view v-for="(option, childindex) in judge" :key="childindex" class="lisSty">
 											<view class="activeTI">{{ ast[childindex] }}</view>
@@ -219,23 +227,30 @@
 											{{ option }}
 										</view>
 									</view> 
-									<view>
-										<view class="pad_8 answer">
-											<view>正确答案:{{ast[bank.ans[ansIndex]]}}</view>
-											<view>我的答案:{{ast[bank.ques[ansIndex]] || ''}}</view>
-										</view>
-										<view class="pad_8 answerInfos">
-											<view class="answerTitle">答案解析</view>
-											<view class="answerContent">
-												<rich-text :nodes="ansItem.analysisContent"></rich-text>
-											</view>
+								</view>
+								<view>
+									<view class="pad_8 answer">
+										<view>正确答案:{{ast[bank.ans[ansIndex]]}}</view>
+										<view>我的答案:{{ast[bank.ques[ansIndex]] || ''}}</view>
+									</view>
+									<view class="pad_8 answerInfos">
+										<view class="answerTitle">答案解析</view>
+										<view class="answerContent">
+											<rich-text :nodes="ansItem.analysisContent"></rich-text>
 										</view>
 									</view>
-								</template>
-								
-								
-								<!-- 简答题 -->
-								<template v-if="ansItem.type == 5">
+								</view>
+							</template>
+							
+							
+							<!-- 简答题 -->
+							<template v-if="ansItem.type == 5">
+								<view class="pad_8 titBox_title">
+									<view>
+										<rich-text :nodes="ansItem.content"></rich-text>
+									</view>
+								</view>
+								<view class="pad_8 titBox_title">
 									<view class="ans">
 										<view class="ans_submit answerInfos">
 											<view class="answerTitle">我的答案</view>
@@ -245,24 +260,19 @@
 											</view>
 										</view>
 									</view>
-									<view>
-										<view class="pad_8 answerInfos">
-											<view class="answerTitle">答案解析</view>
-											<view class="answerContent">
-												<rich-text :nodes="ansItem.analysisContent"></rich-text>
-											</view>
+								</view>
+								<view>
+									<view class="pad_8 answerInfos">
+										<view class="answerTitle">答案解析</view>
+										<view class="answerContent">
+											<rich-text :nodes="ansItem.analysisContent"></rich-text>
 										</view>
 									</view>
-								</template>
-								
-								
-							</view>
+								</view>
+							</template>
 						</view>	
 					</template>
 						
-						
-					
-				
 					<view class="footer_btn">
 						<view class="collect" @click="collect(collectList[bankIndex], bankIndex)">
 							<view>
@@ -556,18 +566,22 @@ export default {
 	padding: 41rpx 25rpx 24rpx 25rpx;
 }
 
+
+.titBox_title {
+	padding: 21rpx;
+}
+
 .tabs {
 	margin:10rpx;
 	display: flex;
 	.tab {
-		margin:0 10rpx;
-		width: 96rpx;
-		height: 48rpx;
-		line-height: 48rpx;
+		margin: 0 4rpx;
+		padding:10rpx 13rpx;
 		text-align: center;
-		color:#007AFF;
+		color: #007aff;
 		font-size: 28rpx;
 		border-radius: 16rpx;
+		background:#fff;
 		
 		&.current {
 			color:#fff;

+ 121 - 99
pages2/class/questionBank.vue

@@ -41,15 +41,15 @@
 									<view class="flex_auto">{{ item.content }}</view>
 								</view>
 							</view>
-							<view v-if="bank.ques">
-								<view class="pad_8 answer">
-									<view>正确答案:{{ ast[bank.ans - 1] }}</view>
-									<view>我的答案:{{ ast[bank.ques - 1] }}</view>
-								</view>
-								<view class="pad_8 answerInfos">
-									<view class="answerTitle">答案解析</view>
-									<view class="answerContent"><rich-text :nodes="bank.analysisContent"></rich-text></view>
-								</view>
+						</view>
+						<view v-if="bank.ques">
+							<view class="pad_8 answer">
+								<view>正确答案:{{ ast[bank.ans - 1] }}</view>
+								<view>我的答案:{{ ast[bank.ques - 1] }}</view>
+							</view>
+							<view class="pad_8 answerInfos">
+								<view class="answerTitle">答案解析</view>
+								<view class="answerContent"><rich-text :nodes="bank.analysisContent"></rich-text></view>
 							</view>
 						</view>
 					</template>
@@ -77,22 +77,22 @@
 									<view class="flex_auto">{{ item.content }}</view>
 								</view>
 							</view>
-							<view v-if="bank.ques">
-								<view class="pad_8 answer">
-									<view>
-										正确答案:
-										<text v-for="(ansItem,ansItemIndex) in bank.ans" :key="ansItemIndex">{{ ast[ansItem - 1] }}</text>
-									</view>
-									<view>
-										我的答案:
-										<text v-for="(quesItem,quesItemIndex) in bank.ques" :key="quesItemIndex">{{ ast[quesItem - 1] }}</text>
-									</view>
+						</view>
+						<view v-if="bank.ques">
+							<view class="pad_8 answer">
+								<view>
+									正确答案:
+									<text v-for="(ansItem,ansItemIndex) in bank.ans" :key="ansItemIndex">{{ ast[ansItem - 1] }}</text>
 								</view>
-								<view class="pad_8 answerInfos">
-									<view class="answerTitle">答案解析</view>
-									<view class="answerContent"><rich-text :nodes="bank.analysisContent"></rich-text></view>
+								<view>
+									我的答案:
+									<text v-for="(quesItem,quesItemIndex) in bank.ques" :key="quesItemIndex">{{ ast[quesItem - 1] }}</text>
 								</view>
 							</view>
+							<view class="pad_8 answerInfos">
+								<view class="answerTitle">答案解析</view>
+								<view class="answerContent"><rich-text :nodes="bank.analysisContent"></rich-text></view>
+							</view>
 						</view>
 					</template>
 
@@ -112,15 +112,15 @@
 									{{ item }}
 								</view>
 							</view>
-							<view v-if="bank.ques">
-								<view class="pad_8 answer">
-									<view>正确答案:{{ ast[bank.ans] }}</view>
-									<view>我的答案:{{ ast[bank.ques] }}</view>
-								</view>
-								<view class="pad_8 answerInfos">
-									<view class="answerTitle">答案解析</view>
-									<view class="answerContent"><rich-text :nodes="bank.analysisContent"></rich-text></view>
-								</view>
+						</view>
+						<view v-if="bank.ques">
+							<view class="pad_8 answer">
+								<view>正确答案:{{ ast[bank.ans] }}</view>
+								<view>我的答案:{{ ast[bank.ques] }}</view>
+							</view>
+							<view class="pad_8 answerInfos">
+								<view class="answerTitle">答案解析</view>
+								<view class="answerContent"><rich-text :nodes="bank.analysisContent"></rich-text></view>
 							</view>
 						</view>
 					</template>
@@ -149,32 +149,34 @@
 									<view class="imgs"><image class="img" v-for="(ques,quesIndex) in bank.ques.imageList" :key="quesIndex" :src="$method.splitImgHost(ques, true)"></image></view>
 								</view>
 							</view>
-							<view v-if="bank.ques">
-								<view class="pad_8 answerInfos">
-									<view class="answerTitle">答案解析:</view>
-									<view class="answerContent"><rich-text :nodes="bank.analysisContent"></rich-text></view>
-								</view>
+						</view>
+						<view v-if="bank.ques">
+							<view class="pad_8 answerInfos">
+								<view class="answerTitle">答案解析:</view>
+								<view class="answerContent"><rich-text :nodes="bank.analysisContent"></rich-text></view>
 							</view>
 						</view>
 					</template>
 
 					<!-- 案例题 -->
 					<template v-if="bank.type == 4">
-						<view class="pad_8 titBox">
-							<view class="tabs">
-								<view
-									class="tab"
-									:class="{ current: tabIndex == bank.current }"
-									:key="tabIndex"
-									v-for="(tab, tabIndex) in bank.jsonStr"
-									@click="tabSelect(tabIndex, bankIndex)"
-								>
-									问题{{ tabIndex+1 }}
-								</view>
+						<view class="tabs">
+							<view
+								class="tab"
+								:class="{ current: tabIndex == bank.current }"
+								:key="tabIndex"
+								v-for="(tab, tabIndex) in bank.jsonStr"
+								@click="tabSelect(tabIndex, bankIndex)"
+							>
+								问题{{ tabIndex+1 }}
 							</view>
-							<view v-for="(ansItem, ansIndex) in bank.jsonStr" v-if="bank.current == ansIndex" :key="ansIndex">
-								<view class="titles"><rich-text :nodes="ansItem.content"></rich-text></view>
-								<template v-if="ansItem.type == 1">
+						</view>
+						<view v-for="(ansItem, ansIndex) in bank.jsonStr" v-if="bank.current == ansIndex" :key="ansIndex">
+							<template v-if="ansItem.type == 1">
+								<view class="pad_8 titBox">
+									<view class="titles">
+										<rich-text :nodes="ansItem.content"></rich-text>
+									</view>
 									<view v-if="!bank.ques[ansIndex]">
 										<view
 											v-for="(option, childIndex) in ansItem.optionsList"
@@ -200,19 +202,24 @@
 											<rich-text :nodes="option.content"></rich-text>
 										</view>
 									</view>
-									<view v-if="bank.ques[ansIndex]">
-										<view class="pad_8 answer">
-											<view>正确答案:{{ ast[bank.ans[ansIndex] - 1] }}</view>
-											<view>我的答案:{{ ast[bank.ques[ansIndex] - 1] }}</view>
-										</view>
-										<view class="pad_8 answerInfos">
-											<view class="answerTitle">答案解析</view>
-											<view class="answerContent"><rich-text :nodes="option.analysisContent"></rich-text></view>
-										</view>
+								</view>
+								<view v-if="bank.ques[ansIndex]">
+									<view class="pad_8 answer">
+										<view>正确答案:{{ ast[bank.ans[ansIndex] - 1] }}</view>
+										<view>我的答案:{{ ast[bank.ques[ansIndex] - 1] }}</view>
 									</view>
-								</template>
+									<view class="pad_8 answerInfos">
+										<view class="answerTitle">答案解析</view>
+										<view class="answerContent"><rich-text :nodes="option.analysisContent"></rich-text></view>
+									</view>
+								</view>
+							</template>
 
-								<template v-if="ansItem.type == 2">
+							<template v-if="ansItem.type == 2">
+								<view class="pad_8 titBox">
+									<view class="titles">
+										<rich-text :nodes="ansItem.content"></rich-text>
+									</view>
 									<view v-if="!bank.ques[ansIndex]">
 										<view
 											v-for="(option, childindex) in ansItem.optionsList"
@@ -233,25 +240,30 @@
 											<rich-text :nodes="option.content"></rich-text>
 										</view>
 									</view>
-									<view v-if="bank.ques[ansIndex]">
-										<view class="pad_8 answer">
-											<view>
-												正确答案:
-												<text :key="ansItemIndex1" v-for="(ansItem1,ansItemIndex1) in bank.ans[ansIndex]">{{ ast[ansItem1 - 1] }}</text>
-											</view>
-											<view>
-												我的答案:
-												<text :key="quesItemIndex" v-for="(quesItem,quesItemIndex) in bank.ques[ansIndex]">{{ ast[quesItem - 1] }}</text>
-											</view>
+								</view>
+								<view v-if="bank.ques[ansIndex]">
+									<view class="pad_8 answer">
+										<view>
+											正确答案:
+											<text :key="ansItemIndex1" v-for="(ansItem1,ansItemIndex1) in bank.ans[ansIndex]">{{ ast[ansItem1 - 1] }}</text>
 										</view>
-										<view class="pad_8 answerInfos">
-											<view class="answerTitle">答案解析</view>
-											<view class="answerContent"><rich-text :nodes="ansItem.analysisContent"></rich-text></view>
+										<view>
+											我的答案:
+											<text :key="quesItemIndex" v-for="(quesItem,quesItemIndex) in bank.ques[ansIndex]">{{ ast[quesItem - 1] }}</text>
 										</view>
 									</view>
-								</template>
+									<view class="pad_8 answerInfos">
+										<view class="answerTitle">答案解析</view>
+										<view class="answerContent"><rich-text :nodes="ansItem.analysisContent"></rich-text></view>
+									</view>
+								</view>
+							</template>
 
-								<template v-if="ansItem.type == 3">
+							<template v-if="ansItem.type == 3">
+								<view class="pad_8 titBox">
+									<view class="titles">
+										<rich-text :nodes="ansItem.content"></rich-text>
+									</view>
 									<view v-if="!bank.ques[ansIndex]">
 										<view v-for="(option, childindex) in judge" :key="childindex" class="lisSty" @click="judgeSelectChild(ansIndex, childindex, bankIndex)">
 											<view class="activeTI">{{ ast[childindex] }}</view>
@@ -272,20 +284,27 @@
 											{{ option }}
 										</view>
 									</view>
-									<view v-if="bank.ques[ansIndex]">
-										<view class="pad_8 answer">
-											<view>正确答案:{{ ast[bank.ans[ansIndex]] }}</view>
-											<view>我的答案:{{ ast[bank.ques[ansIndex]] }}</view>
-										</view>
-										<view class="pad_8 answerInfos">
-											<view class="answerTitle">答案解析</view>
-											<view class="answerContent"><rich-text :nodes="ansItem.analysisContent"></rich-text></view>
-										</view>
+								</view>
+								<view v-if="bank.ques[ansIndex]">
+									<view class="pad_8 answer">
+										<view>正确答案:{{ ast[bank.ans[ansIndex]] }}</view>
+										<view>我的答案:{{ ast[bank.ques[ansIndex]] }}</view>
 									</view>
-								</template>
+									<view class="pad_8 answerInfos">
+										<view class="answerTitle">答案解析</view>
+										<view class="answerContent"><rich-text :nodes="ansItem.analysisContent"></rich-text></view>
+									</view>
+								</view>
+							</template>
 
-								<!-- 简答题 -->
-								<template v-if="ansItem.type == 5">
+							<!-- 简答题 -->
+							<template v-if="ansItem.type == 5">
+								<view class="pad_8 titBox_title">
+									<view>
+										<rich-text :nodes="ansItem.content"></rich-text>
+									</view>
+								</view>
+								<view class="pad_8 titBox_title">
 									<view class="ans">
 										<view class="ans_input" v-if="!bank.ques[ansIndex] || (!bank.ques[ansIndex].text && !bank.ques[ansIndex].imageList.length)">
 											<view class="top flex">
@@ -309,14 +328,14 @@
 											</view>
 										</view>
 									</view>
-									<view v-if="bank.ques[ansIndex]">
-										<view class="pad_8 answerInfos">
-											<view class="answerTitle">答案解析</view>
-											<view class="answerContent"><rich-text :nodes="ansItem.analysisContent"></rich-text></view>
-										</view>
+								</view>
+								<view v-if="bank.ques[ansIndex]">
+									<view class="pad_8 answerInfos">
+										<view class="answerTitle">答案解析</view>
+										<view class="answerContent"><rich-text :nodes="ansItem.analysisContent"></rich-text></view>
 									</view>
-								</template>
-							</view>
+								</view>
+							</template>
 						</view>
 					</template>
 
@@ -1981,18 +2000,21 @@ export default {
 	padding: 41rpx 25rpx 24rpx 25rpx;
 }
 
+.titBox_title {
+	padding: 21rpx;
+}
+
 .tabs {
 	margin: 10rpx;
 	display: flex;
 	.tab {
-		margin: 0 10rpx;
-		width: 96rpx;
-		height: 48rpx;
-		line-height: 48rpx;
+		margin: 0 4rpx;
+		padding:10rpx 13rpx;
 		text-align: center;
 		color: #007aff;
 		font-size: 28rpx;
 		border-radius: 16rpx;
+		background:#fff;
 
 		&.current {
 			color: #fff;

+ 194 - 135
pages2/subject/collectBank.vue

@@ -22,8 +22,8 @@
 							<rich-text :nodes="bank.content"></rich-text>
 						</view>		
 					</view>
-					<view class="pad_8 titBox">
-						<template v-if="bank.type == 1">
+					<template v-if="bank.type == 1">
+						<view class="pad_8 titBox no-margin">
 							<view v-if="!bank.ques">
 								<view v-for="(item, index) in bank.jsonStr" :key="index" class="lisSty" @click="radioSelect(item.optionsId,bankIndex)">
 									<view class="activeTI">{{ ast[index] }}</view>
@@ -36,28 +36,30 @@
 									<view class="flex_auto">{{ item.content }}</view>
 								</view>
 							</view> 
-							<view v-if="bank.ques">
-								<view class="pad_8 answer">
-									<view>正确答案:{{ast[bank.ans-1]}}</view>
-									<view v-if="!explain">我的答案:{{ast[bank.ques-1]}}</view>
-								</view>
-								<view class="pad_8 answerInfos">
-									<view class="answerTitle">答案解析</view>
-									<view class="answerContent">
-										<rich-text :nodes="bank.analysisContent"></rich-text>
-									</view>
+						</view>
+						<view v-if="bank.ques">
+							<view class="pad_8 answer">
+								<view>正确答案:{{ast[bank.ans-1]}}</view>
+								<view v-if="!explain">我的答案:{{ast[bank.ques-1]}}</view>
+							</view>
+							<view class="pad_8 answerInfos">
+								<view class="answerTitle">答案解析</view>
+								<view class="answerContent">
+									<rich-text :nodes="bank.analysisContent"></rich-text>
 								</view>
 							</view>
-						</template>
-						
-						<template v-if="bank.type == 2">
+						</view>
+					</template>
+					
+					<template v-if="bank.type == 2">
+						<view class="pad_8 titBox no-margin">
 							<view v-if="!bank.ques">
 								<view v-for="(item, index) in bank.jsonStr" :key="index" class="lisSty" @click="checkboxSelect(item.optionsId,bankIndex,index)">
 									<view :class="{checked:item.checked}" class="activeTI">{{ ast[index] }}</view>
 									<view class="flex_auto">{{ item.content }}</view>
 								</view>
 							</view>
-							<view v-if="!bank.ques" class="submit_checkbox" @click="checkboxSubmit(bankIndex)">
+							<view v-if="!bank.ques" class="submit_checkbox" :class="{disabled:!isCheckboxChecked(bank.jsonStr)}" @click="checkboxSubmit(bankIndex)">
 								确认答案
 							</view>
 							<view v-if="bank.ques">
@@ -66,25 +68,27 @@
 									<view class="flex_auto">{{ item.content }}</view>
 								</view>
 							</view> 
-							<view v-if="bank.ques">
-								<view class="pad_8 answer">
-									<view>正确答案:
-										<text v-for="(ansItem,ansItemIndex) in bank.ans" :key="ansItemIndex">{{ast[ansItem-1]}}</text>
-									</view>
-									<view v-if="!explain">我的答案:
-										<text v-for="(quesItem,quesItemIndex) in bank.ques" :key="quesItemIndex">{{ast[quesItem-1]}}</text>
-									</view>
+						</view>
+						<view v-if="bank.ques">
+							<view class="pad_8 answer">
+								<view>正确答案:
+									<text v-for="(ansItem,ansItemIndex) in bank.ans" :key="ansItemIndex">{{ast[ansItem-1]}}</text>
 								</view>
-								<view class="pad_8 answerInfos">
-									<view class="answerTitle">答案解析</view>
-									<view class="answerContent">
-										<rich-text :nodes="bank.analysisContent"></rich-text>
-									</view>
+								<view v-if="!explain">我的答案:
+									<text v-for="(quesItem,quesItemIndex) in bank.ques" :key="quesItemIndex">{{ast[quesItem-1]}}</text>
 								</view>
 							</view>
-						</template>
-						
-						<template v-if="bank.type == 3">
+							<view class="pad_8 answerInfos">
+								<view class="answerTitle">答案解析</view>
+								<view class="answerContent">
+									<rich-text :nodes="bank.analysisContent"></rich-text>
+								</view>
+							</view>
+						</view>
+					</template>
+					
+					<template v-if="bank.type == 3">
+						<view class="pad_8 titBox no-margin">
 							<view v-if="!bank.ques">
 								<view v-for="(item, index) in judge" :key="index" class="lisSty" @click="judgeSelect(index,bankIndex)">
 									<view class="activeTI">{{ ast[index] }}</view>
@@ -97,23 +101,25 @@
 									{{ item }}
 								</view>
 							</view> 
-							<view v-if="bank.ques">
-								<view class="pad_8 answer">
-									<view>正确答案:{{ast[bank.ans]}}</view>
-									<view v-if="!explain">我的答案:{{ast[bank.ques]}}</view>
-								</view>
-								<view class="pad_8 answerInfos">
-									<view class="answerTitle">答案解析</view>
-									<view class="answerContent">
-										<rich-text :nodes="bank.analysisContent"></rich-text>
-									</view>
+						</view>
+						<view v-if="bank.ques">
+							<view class="pad_8 answer">
+								<view>正确答案:{{ast[bank.ans]}}</view>
+								<view v-if="!explain">我的答案:{{ast[bank.ques]}}</view>
+							</view>
+							<view class="pad_8 answerInfos">
+								<view class="answerTitle">答案解析</view>
+								<view class="answerContent">
+									<rich-text :nodes="bank.analysisContent"></rich-text>
 								</view>
 							</view>
-						</template>
-						
-						
-						<!-- 简答题 -->
-						<template v-if="bank.type == 5">
+						</view>
+					</template>
+					
+					
+					<!-- 简答题 -->
+					<template v-if="bank.type == 5">
+						<view class="pad_8 titBox">
 							<view class="ans">
 								<view class="ans_input" v-if="!bank.ques">
 									<view class="top flex">
@@ -139,26 +145,28 @@
 									</view>
 								</view>
 							</view>
-							<view v-if="bank.ques">
-								<view class="pad_8 answerInfos">
-									<view class="answerTitle">答案解析:</view>
-									<view class="answerContent">
-										<rich-text :nodes="bank.analysisContent"></rich-text>
-									</view>
+						</view>
+						<view v-if="bank.ques">
+							<view class="pad_8 answerInfos">
+								<view class="answerTitle">答案解析:</view>
+								<view class="answerContent">
+									<rich-text :nodes="bank.analysisContent"></rich-text>
 								</view>
 							</view>
-						</template>
-						
-						<!-- 案例题 -->
-						<template v-if="bank.type == 4">
-							<view class="tabs">
-								<view class="tab" :class="{current:tabIndex == bank.current}" :key="tabIndex" v-for="(tab,tabIndex) in bank.jsonStr" @click="tabSelect(tabIndex,bankIndex)">问题{{tabIndex}}</view>
-							</view>
-							<view v-for="(ansItem,ansIndex) in bank.jsonStr" v-if="bank.current == ansIndex" :key="ansIndex">
-								<view class="titles">
-									<rich-text :nodes="ansItem.content"></rich-text>
-								</view>
-								<template v-if="ansItem.type == 1">
+						</view>
+					</template>
+					
+					<!-- 案例题 -->
+					<template v-if="bank.type == 4">
+						<view class="tabs">
+							<view class="tab" :class="{current:tabIndex == bank.current}" :key="tabIndex" v-for="(tab,tabIndex) in bank.jsonStr" @click="tabSelect(tabIndex,bankIndex)">问题{{tabIndex}}</view>
+						</view>
+						<view v-for="(ansItem,ansIndex) in bank.jsonStr" v-if="bank.current == ansIndex" :key="ansIndex">
+							<template v-if="ansItem.type == 1">
+								<view class="pad_8 titBox">
+									<view class="titles">
+										<rich-text :nodes="ansItem.content"></rich-text>
+									</view>
 									<view v-if="!bank.ques[ansIndex]">
 										<view v-for="(option, childIndex) in ansItem.optionsList" :key="childIndex" class="lisSty" @click="radioSelectChild(option.optionsId,ansIndex,bankIndex)">
 											<view class="activeTI">{{ ast[childIndex] }}</view>
@@ -171,28 +179,33 @@
 											<rich-text :nodes="option.content"></rich-text>
 										</view>
 									</view> 
-									<view v-if="bank.ques[ansIndex]">
-										<view class="pad_8 answer">
-											<view>正确答案:{{ast[bank.ans[ansIndex]-1]}}</view>
-											<view v-if="!explain">我的答案:{{ast[bank.ques[ansIndex]-1]}}</view>
-										</view>
-										<view class="pad_8 answerInfos">
-											<view class="answerTitle">答案解析</view>
-											<view class="answerContent">
-												<rich-text :nodes="option.analysisContent"></rich-text>
-											</view>
+								</view>
+								<view v-if="bank.ques[ansIndex]">
+									<view class="pad_8 answer">
+										<view>正确答案:{{ast[bank.ans[ansIndex]-1]}}</view>
+										<view v-if="!explain">我的答案:{{ast[bank.ques[ansIndex]-1]}}</view>
+									</view>
+									<view class="pad_8 answerInfos">
+										<view class="answerTitle">答案解析</view>
+										<view class="answerContent">
+											<rich-text :nodes="option.analysisContent"></rich-text>
 										</view>
 									</view>
-								</template>
-								
-								<template v-if="ansItem.type == 2">
+								</view>
+							</template>
+							
+							<template v-if="ansItem.type == 2">
+								<view class="pad_8 titBox">
+									<view class="titles">
+										<rich-text :nodes="ansItem.content"></rich-text>
+									</view>
 									<view v-if="!bank.ques[ansIndex]">
 										<view v-for="(option, childindex) in ansItem.optionsList" :key="childindex" class="lisSty" @click="checkboxSelectChild(bankIndex,ansIndex,childindex)">
 											<view :class="{checked:option.checked}" class="activeTI">{{ ast[childindex] }}</view>
 											<rich-text :nodes="option.content"></rich-text>
 										</view>
 									</view>
-									<view v-if="!bank.ques[ansIndex]" class="submit_checkbox" @click="checkboxSubmitChild(bankIndex,ansIndex)">
+									<view v-if="!bank.ques[ansIndex]" class="submit_checkbox" :class="{disabled:!isCheckboxChecked(ansItem.optionsList)}" @click="checkboxSubmitChild(bankIndex,ansIndex)">
 										确认答案
 									</view>
 									<view v-if="bank.ques && bank.ques[ansIndex]">
@@ -201,25 +214,30 @@
 											<rich-text :nodes="option.content"></rich-text>
 										</view>
 									</view> 
-									<view v-if="bank.ques[ansIndex]">
-										<view class="pad_8 answer">
-											<view>正确答案:
-												<text v-for="(ansItem1,ansItemIndex1) in bank.ans[ansIndex]" :key="ansItemIndex1">{{ast[ansItem1-1]}}</text>
-											</view>
-											<view v-if="!explain">我的答案:
-												<text v-for="(quesItem,quesItemIndex) in bank.ques[ansIndex]" :key="quesItemIndex">{{ast[quesItem-1]}}</text>
-											</view>
+								</view>
+								<view v-if="bank.ques[ansIndex]">
+									<view class="pad_8 answer">
+										<view>正确答案:
+											<text v-for="(ansItem1,ansItemIndex1) in bank.ans[ansIndex]" :key="ansItemIndex1">{{ast[ansItem1-1]}}</text>
 										</view>
-										<view class="pad_8 answerInfos">
-											<view class="answerTitle">答案解析</view>
-											<view class="answerContent">
-												<rich-text :nodes="ansItem.analysisContent"></rich-text>
-											</view>
+										<view v-if="!explain">我的答案:
+											<text v-for="(quesItem,quesItemIndex) in bank.ques[ansIndex]" :key="quesItemIndex">{{ast[quesItem-1]}}</text>
 										</view>
 									</view>
-								</template>
-								
-								<template v-if="ansItem.type == 3">
+									<view class="pad_8 answerInfos">
+										<view class="answerTitle">答案解析</view>
+										<view class="answerContent">
+											<rich-text :nodes="ansItem.analysisContent"></rich-text>
+										</view>
+									</view>
+								</view>
+							</template>
+							
+							<template v-if="ansItem.type == 3">
+								<view class="pad_8 titBox">
+									<view class="titles">
+										<rich-text :nodes="ansItem.content"></rich-text>
+									</view>
 									<view v-if="!bank.ques[ansIndex]">
 										<view v-for="(option, childindex) in judge" :key="childindex" class="lisSty" @click="judgeSelectChild(ansIndex,childindex,bankIndex)">
 											<view class="activeTI">{{ ast[childindex] }}</view>
@@ -231,24 +249,31 @@
 											<text :class="{right:(childindex == bank.ques[ansIndex]) || (childindex == bank.ans[ansIndex]),wrong:(childindex == bank.ques[ansIndex]) && (bank.ques[ansIndex] != bank.ans[ansIndex])}"  class="activeTI">{{ ast[childindex] }}</text>
 											{{ option }}
 										</view>
-									</view> 
-									<view v-if="bank.ques[ansIndex]">
-										<view class="pad_8 answer">
-											<view>正确答案:{{ast[bank.ans[ansIndex]]}}</view>
-											<view v-if="!explain">我的答案:{{ast[bank.ques[ansIndex]]}}</view>
-										</view>
-										<view class="pad_8 answerInfos">
-											<view class="answerTitle">答案解析</view>
-											<view class="answerContent">
-												<rich-text :nodes="ansItem.analysisContent"></rich-text>
-											</view>
+									</view>
+								</view>	
+								<view v-if="bank.ques[ansIndex]">
+									<view class="pad_8 answer">
+										<view>正确答案:{{ast[bank.ans[ansIndex]]}}</view>
+										<view v-if="!explain">我的答案:{{ast[bank.ques[ansIndex]]}}</view>
+									</view>
+									<view class="pad_8 answerInfos">
+										<view class="answerTitle">答案解析</view>
+										<view class="answerContent">
+											<rich-text :nodes="ansItem.analysisContent"></rich-text>
 										</view>
 									</view>
-								</template>
-								
-								
-								<!-- 简答题 -->
-								<template v-if="ansItem.type == 5">
+								</view>
+							</template>
+							
+							
+							<!-- 简答题 -->
+							<template v-if="ansItem.type == 5">
+								<view class="pad_8 titBox_title">
+									<view class="titles">
+										<rich-text :nodes="ansItem.content"></rich-text>
+									</view>
+								</view>
+								<view class="pad_8 titBox_title">
 									<view class="ans">
 										<view class="ans_input" v-if="!bank.ques[ansIndex]">
 											<view class="top flex">
@@ -274,22 +299,20 @@
 											</view>
 										</view>
 									</view>
-									<view v-if="bank.ques[ansIndex]">
-										<view class="pad_8 answerInfos">
-											<view class="answerTitle">答案解析</view>
-											<view class="answerContent">
-												<rich-text :nodes="ansItem.analysisContent"></rich-text>
-											</view>
+								</view>
+								<view v-if="bank.ques[ansIndex]">
+									<view class="pad_8 answerInfos">
+										<view class="answerTitle">答案解析</view>
+										<view class="answerContent">
+											<rich-text :nodes="ansItem.analysisContent"></rich-text>
 										</view>
 									</view>
-								</template>
-								
-								
-							</view>
-						</template>
-						
-						
-					</view>
+								</view>
+							</template>
+							
+							
+						</view>
+					</template>
 					
 				
 					<view class="footer_btn">
@@ -358,7 +381,7 @@ export default {
 			uni.setStorageSync('showDialog','1');
 		}
 		
-		this.goodsQuestionList();
+		this.collectQuestionExamQuestionList();
 	},
 	onUnload() {
 		
@@ -371,12 +394,12 @@ export default {
 			
 			return bank.ansText.imageList.length == 0;
 		},
-		goodsQuestionList() {
-			this.$api.goodsQuestionList({
+		collectQuestionExamQuestionList() {
+			this.$api.collectQuestionExamQuestionList({
 				examId:this.id
 			}).then(res => {
 				
-				res.data.data.forEach((item,index) => { 
+				res.data.rows.forEach((item,index) => { 
 					if(typeof item.jsonStr == 'string') {
 						item.jsonStr = JSON.parse(item.jsonStr)
 						
@@ -459,7 +482,7 @@ export default {
 					
 				})
 				
-				this.questionList = res.data.data;
+				this.questionList = res.data.rows;
 				
 			})
 		},
@@ -498,6 +521,14 @@ export default {
 			this.$set(this.questionList[bindex].jsonStr[ansIndex].optionsList[childIndex],'checked',!this.questionList[bindex].jsonStr[ansIndex].optionsList[childIndex].checked)
 		},
 		
+		isCheckboxChecked(arr) {
+			return arr.some(item => {
+				if (item.checked) {
+					return true;
+				}
+			});
+		},
+		
 		/**
 		 * @param {Object} 多选确认
 		 */
@@ -511,6 +542,14 @@ export default {
 				}
 			})
 			
+			if(!arr.length) {
+				uni.showToast({
+					title:'请选择答案',
+					icon:'none'
+				})
+				return;
+			}
+			
 			this.$set(this.questionList[bindex],'ques',arr)
 			
 		},
@@ -528,6 +567,14 @@ export default {
 				}
 			})
 			
+			if(!arr.length) {
+				uni.showToast({
+					title:'请选择答案',
+					icon:'none'
+				})
+				return;
+			}
+			
 			this.$set(this.questionList[bindex].ques,ansIndex,arr)
 		},
 		
@@ -868,6 +915,10 @@ export default {
 	line-height: 80rpx;
 	font-size: 30rpx;
 	border-radius: 40rpx;
+	
+	&.disabled {
+		opacity: 0.6;
+	}
 }
 .titles {
 	overflow: hidden;
@@ -877,18 +928,21 @@ export default {
 	padding: 41rpx 25rpx 24rpx 25rpx;
 }
 
+.titBox_title {
+	padding: 21rpx;
+}
+
 .tabs {
 	margin:10rpx;
 	display: flex;
 	.tab {
-		margin:0 10rpx;
-		width: 96rpx;
-		height: 48rpx;
-		line-height: 48rpx;
+		margin: 0 4rpx;
+		padding:10rpx 13rpx;
 		text-align: center;
-		color:#007AFF;
+		color: #007aff;
 		font-size: 28rpx;
 		border-radius: 16rpx;
+		background:#fff;
 		
 		&.current {
 			color:#fff;
@@ -1057,6 +1111,11 @@ export default {
 	background-color: #fff;
 	margin: 0rpx 8rpx 8rpx;
 	border-radius: 16rpx;
+	
+	&.no-margin {
+		margin-top:-16rpx;
+		border-radius: 0 0 16rpx 16rpx;
+	}
 }
 .answer {
 	height: 80rpx;

+ 188 - 129
pages2/subject/collectTypeBank.vue

@@ -22,8 +22,8 @@
 							<rich-text :nodes="bank.content"></rich-text>
 						</view>		
 					</view>
-					<view class="pad_8 titBox">
-						<template v-if="bank.type == 1">
+					<template v-if="bank.type == 1">
+						<view class="pad_8 titBox no-margin">
 							<view v-if="!bank.ques">
 								<view v-for="(item, index) in bank.jsonStr" :key="index" class="lisSty" @click="radioSelect(item.optionsId,bankIndex)">
 									<view class="activeTI">{{ ast[index] }}</view>
@@ -37,28 +37,30 @@
 									
 								</view>
 							</view> 
-							<view v-if="bank.ques">
-								<view class="pad_8 answer">
-									<view>正确答案:{{ast[bank.ans-1]}}</view>
-									<view v-if="!explain">我的答案:{{ast[bank.ques-1]}}</view>
-								</view>
-								<view class="pad_8 answerInfos">
-									<view class="answerTitle">答案解析</view>
-									<view class="answerContent">
-										<rich-text :nodes="bank.analysisContent"></rich-text>
-									</view>
+						</view>
+						<view v-if="bank.ques">
+							<view class="pad_8 answer">
+								<view>正确答案:{{ast[bank.ans-1]}}</view>
+								<view v-if="!explain">我的答案:{{ast[bank.ques-1]}}</view>
+							</view>
+							<view class="pad_8 answerInfos">
+								<view class="answerTitle">答案解析</view>
+								<view class="answerContent">
+									<rich-text :nodes="bank.analysisContent"></rich-text>
 								</view>
 							</view>
-						</template>
-						
-						<template v-if="bank.type == 2">
+						</view>
+					</template>
+					
+					<template v-if="bank.type == 2">
+						<view class="pad_8 titBox no-margin">
 							<view v-if="!bank.ques">
 								<view v-for="(item, index) in bank.jsonStr" :key="index" class="lisSty" @click="checkboxSelect(item.optionsId,bankIndex,index)">
 									<view :class="{checked:item.checked}" class="activeTI">{{ ast[index] }}</view>
 									<view class="flex_auto">{{ item.content }}</view>
 								</view>
 							</view>
-							<view v-if="!bank.ques" class="submit_checkbox" @click="checkboxSubmit(bankIndex)">
+							<view v-if="!bank.ques" class="submit_checkbox" :class="{disabled:!isCheckboxChecked(bank.jsonStr)}" @click="checkboxSubmit(bankIndex)">
 								确认答案
 							</view>
 							<view v-if="bank.ques">
@@ -67,25 +69,27 @@
 									<view class="flex_auto">{{ item.content }}</view>
 								</view>
 							</view> 
-							<view v-if="bank.ques">
-								<view class="pad_8 answer">
-									<view>正确答案:
-										<text v-for="ansItem in bank.ans">{{ast[ansItem-1]}}</text>
-									</view>
-									<view v-if="!explain">我的答案:
-										<text v-for="quesItem in bank.ques">{{ast[quesItem-1]}}</text>
-									</view>
+						</view>
+						<view v-if="bank.ques">
+							<view class="pad_8 answer">
+								<view>正确答案:
+									<text v-for="ansItem in bank.ans">{{ast[ansItem-1]}}</text>
 								</view>
-								<view class="pad_8 answerInfos">
-									<view class="answerTitle">答案解析</view>
-									<view class="answerContent">
-										<rich-text :nodes="bank.analysisContent"></rich-text>
-									</view>
+								<view v-if="!explain">我的答案:
+									<text v-for="quesItem in bank.ques">{{ast[quesItem-1]}}</text>
 								</view>
 							</view>
-						</template>
-						
-						<template v-if="bank.type == 3">
+							<view class="pad_8 answerInfos">
+								<view class="answerTitle">答案解析</view>
+								<view class="answerContent">
+									<rich-text :nodes="bank.analysisContent"></rich-text>
+								</view>
+							</view>
+						</view>
+					</template>
+					
+					<template v-if="bank.type == 3">
+						<view class="pad_8 titBox no-margin">
 							<view v-if="!bank.ques">
 								<view v-for="(item, index) in judge" :key="index" class="lisSty" @click="judgeSelect(index,bankIndex)">
 									<view class="activeTI">{{ ast[index] }}</view>
@@ -98,23 +102,25 @@
 									{{ item }}
 								</view>
 							</view> 
-							<view v-if="bank.ques">
-								<view class="pad_8 answer">
-									<view>正确答案:{{ast[bank.ans]}}</view>
-									<view v-if="!explain">我的答案:{{ast[bank.ques]}}</view>
-								</view>
-								<view class="pad_8 answerInfos">
-									<view class="answerTitle">答案解析</view>
-									<view class="answerContent">
-										<rich-text :nodes="bank.analysisContent"></rich-text>
-									</view>
+						</view>
+						<view v-if="bank.ques">
+							<view class="pad_8 answer">
+								<view>正确答案:{{ast[bank.ans]}}</view>
+								<view v-if="!explain">我的答案:{{ast[bank.ques]}}</view>
+							</view>
+							<view class="pad_8 answerInfos">
+								<view class="answerTitle">答案解析</view>
+								<view class="answerContent">
+									<rich-text :nodes="bank.analysisContent"></rich-text>
 								</view>
 							</view>
-						</template>
-						
-						
-						<!-- 简答题 -->
-						<template v-if="bank.type == 5">
+						</view>
+					</template>
+					
+					
+					<!-- 简答题 -->
+					<template v-if="bank.type == 5">
+						<view class="pad_8 titBox">
 							<view class="ans">
 								<view class="ans_input" v-if="!bank.ques">
 									<view class="top flex">
@@ -140,26 +146,28 @@
 									</view>
 								</view>
 							</view>
-							<view v-if="bank.ques">
-								<view class="pad_8 answerInfos">
-									<view class="answerTitle">答案解析:</view>
-									<view class="answerContent">
-										<rich-text :nodes="bank.analysisContent"></rich-text>
-									</view>
+						</view>
+						<view v-if="bank.ques">
+							<view class="pad_8 answerInfos">
+								<view class="answerTitle">答案解析:</view>
+								<view class="answerContent">
+									<rich-text :nodes="bank.analysisContent"></rich-text>
 								</view>
 							</view>
-						</template>
-						
-						<!-- 案例题 -->
-						<template v-if="bank.type == 4">
-							<view class="tabs">
-								<view class="tab" :class="{current:tabIndex == bank.current}" :key="tabIndex" v-for="(tab,tabIndex) in bank.jsonStr" @click="tabSelect(tabIndex,bankIndex)">问题{{tabIndex}}</view>
-							</view>
-							<view v-for="(ansItem,ansIndex) in bank.jsonStr" v-if="bank.current == ansIndex" :key="ansIndex">
-								<view class="titles">
-									<rich-text :nodes="ansItem.content"></rich-text>
-								</view>
-								<template v-if="ansItem.type == 1">
+						</view>
+					</template>
+					
+					<!-- 案例题 -->
+					<template v-if="bank.type == 4">
+						<view class="tabs">
+							<view class="tab" :class="{current:tabIndex == bank.current}" :key="tabIndex" v-for="(tab,tabIndex) in bank.jsonStr" @click="tabSelect(tabIndex,bankIndex)">问题{{tabIndex}}</view>
+						</view>
+						<view v-for="(ansItem,ansIndex) in bank.jsonStr" v-if="bank.current == ansIndex" :key="ansIndex">
+							<template v-if="ansItem.type == 1">
+								<view class="pad_8 titBox">
+									<view class="titles">
+										<rich-text :nodes="ansItem.content"></rich-text>
+									</view>
 									<view v-if="!bank.ques[ansIndex]">
 										<view v-for="(option, childIndex) in ansItem.optionsList" :key="childIndex" class="lisSty" @click="radioSelectChild(option.optionsId,ansIndex,bankIndex)">
 											<view class="activeTI">{{ ast[childIndex] }}</view>
@@ -172,28 +180,33 @@
 											<rich-text :nodes="option.content"></rich-text>
 										</view>
 									</view> 
-									<view v-if="bank.ques[ansIndex]">
-										<view class="pad_8 answer">
-											<view>正确答案:{{ast[bank.ans[ansIndex]-1]}}</view>
-											<view v-if="!explain">我的答案:{{ast[bank.ques[ansIndex]-1]}}</view>
-										</view>
-										<view class="pad_8 answerInfos">
-											<view class="answerTitle">答案解析</view>
-											<view class="answerContent">
-												<rich-text :nodes="option.analysisContent"></rich-text>
-											</view>
+								</view>
+								<view v-if="bank.ques[ansIndex]">
+									<view class="pad_8 answer">
+										<view>正确答案:{{ast[bank.ans[ansIndex]-1]}}</view>
+										<view v-if="!explain">我的答案:{{ast[bank.ques[ansIndex]-1]}}</view>
+									</view>
+									<view class="pad_8 answerInfos">
+										<view class="answerTitle">答案解析</view>
+										<view class="answerContent">
+											<rich-text :nodes="option.analysisContent"></rich-text>
 										</view>
 									</view>
-								</template>
-								
-								<template v-if="ansItem.type == 2">
+								</view>
+							</template>
+							
+							<template v-if="ansItem.type == 2">
+								<view class="pad_8 titBox">
+									<view class="titles">
+										<rich-text :nodes="ansItem.content"></rich-text>
+									</view>
 									<view v-if="!bank.ques[ansIndex]">
 										<view v-for="(option, childindex) in ansItem.optionsList" :key="childindex" class="lisSty" @click="checkboxSelectChild(bankIndex,ansIndex,childindex)">
 											<view :class="{checked:option.checked}" class="activeTI">{{ ast[childindex] }}</view>
 											<rich-text :nodes="option.content"></rich-text>
 										</view>
 									</view>
-									<view v-if="!bank.ques[ansIndex]" class="submit_checkbox" @click="checkboxSubmitChild(bankIndex,ansIndex)">
+									<view v-if="!bank.ques[ansIndex]" class="submit_checkbox" :class="{disabled:!this.isCheckboxChecked(ansItem.optionsList)}" @click="checkboxSubmitChild(bankIndex,ansIndex)">
 										确认答案
 									</view>
 									<view v-if="bank.ques && bank.ques[ansIndex]">
@@ -202,25 +215,30 @@
 											<rich-text :nodes="option.content"></rich-text>
 										</view>
 									</view> 
-									<view v-if="bank.ques[ansIndex]">
-										<view class="pad_8 answer">
-											<view>正确答案:
-												<text v-for="ansItem1 in bank.ans[ansIndex]">{{ast[ansItem1-1]}}</text>
-											</view>
-											<view v-if="!explain">我的答案:
-												<text v-for="quesItem in bank.ques[ansIndex]">{{ast[quesItem-1]}}</text>
-											</view>
+								</view>
+								<view v-if="bank.ques[ansIndex]">
+									<view class="pad_8 answer">
+										<view>正确答案:
+											<text v-for="ansItem1 in bank.ans[ansIndex]">{{ast[ansItem1-1]}}</text>
 										</view>
-										<view class="pad_8 answerInfos">
-											<view class="answerTitle">答案解析</view>
-											<view class="answerContent">
-												<rich-text :nodes="ansItem.analysisContent"></rich-text>
-											</view>
+										<view v-if="!explain">我的答案:
+											<text v-for="quesItem in bank.ques[ansIndex]">{{ast[quesItem-1]}}</text>
 										</view>
 									</view>
-								</template>
-								
-								<template v-if="ansItem.type == 3">
+									<view class="pad_8 answerInfos">
+										<view class="answerTitle">答案解析</view>
+										<view class="answerContent">
+											<rich-text :nodes="ansItem.analysisContent"></rich-text>
+										</view>
+									</view>
+								</view>
+							</template>
+							
+							<template v-if="ansItem.type == 3">
+								<view class="pad_8 titBox">
+									<view class="titles">
+										<rich-text :nodes="ansItem.content"></rich-text>
+									</view>
 									<view v-if="!bank.ques[ansIndex]">
 										<view v-for="(option, childindex) in judge" :key="childindex" class="lisSty" @click="judgeSelectChild(ansIndex,childindex,bankIndex)">
 											<view class="activeTI">{{ ast[childindex] }}</view>
@@ -233,23 +251,30 @@
 											{{ option }}
 										</view>
 									</view> 
-									<view v-if="bank.ques[ansIndex]">
-										<view class="pad_8 answer">
-											<view>正确答案:{{ast[bank.ans[ansIndex]]}}</view>
-											<view v-if="!explain">我的答案:{{ast[bank.ques[ansIndex]]}}</view>
-										</view>
-										<view class="pad_8 answerInfos">
-											<view class="answerTitle">答案解析</view>
-											<view class="answerContent">
-												<rich-text :nodes="ansItem.analysisContent"></rich-text>
-											</view>
+								</view>
+								<view v-if="bank.ques[ansIndex]">
+									<view class="pad_8 answer">
+										<view>正确答案:{{ast[bank.ans[ansIndex]]}}</view>
+										<view v-if="!explain">我的答案:{{ast[bank.ques[ansIndex]]}}</view>
+									</view>
+									<view class="pad_8 answerInfos">
+										<view class="answerTitle">答案解析</view>
+										<view class="answerContent">
+											<rich-text :nodes="ansItem.analysisContent"></rich-text>
 										</view>
 									</view>
-								</template>
-								
-								
-								<!-- 简答题 -->
-								<template v-if="ansItem.type == 5">
+								</view>
+							</template>
+							
+							
+							<!-- 简答题 -->
+							<template v-if="ansItem.type == 5">
+								<view class="pad_8 titBox_title">
+									<view class="titles">
+										<rich-text :nodes="ansItem.content"></rich-text>
+									</view>
+								</view>
+								<view class="pad_8 titBox_title">
 									<view class="ans">
 										<view class="ans_input" v-if="!bank.ques[ansIndex]">
 											<view class="top flex">
@@ -275,22 +300,20 @@
 											</view>
 										</view>
 									</view>
-									<view v-if="bank.ques[ansIndex]">
-										<view class="pad_8 answerInfos">
-											<view class="answerTitle">答案解析</view>
-											<view class="answerContent">
-												<rich-text :nodes="ansItem.analysisContent"></rich-text>
-											</view>
+								</view>
+								<view v-if="bank.ques[ansIndex]">
+									<view class="pad_8 answerInfos">
+										<view class="answerTitle">答案解析</view>
+										<view class="answerContent">
+											<rich-text :nodes="ansItem.analysisContent"></rich-text>
 										</view>
 									</view>
-								</template>
-								
-								
-							</view>
-						</template>
-						
-						
-					</view>
+								</view>
+							</template>
+							
+							
+						</view>
+					</template>
 					
 				
 					<view class="footer_btn">
@@ -498,6 +521,14 @@ export default {
 			this.$set(this.questionList[bindex].jsonStr[ansIndex].optionsList[childIndex],'checked',!this.questionList[bindex].jsonStr[ansIndex].optionsList[childIndex].checked)
 		},
 		
+		isCheckboxChecked(arr) {
+			return arr.some(item => {
+				if (item.checked) {
+					return true;
+				}
+			});
+		},
+		
 		/**
 		 * @param {Object} 多选确认
 		 */
@@ -511,6 +542,14 @@ export default {
 				}
 			})
 			
+			if(!arr.length) {
+				uni.showToast({
+					title:'请选择答案',
+					icon:'none'
+				})
+				return;
+			}
+			
 			this.$set(this.questionList[bindex],'ques',arr)
 			
 		},
@@ -528,6 +567,14 @@ export default {
 				}
 			})
 			
+			if(!arr.length) {
+				uni.showToast({
+					title:'请选择答案',
+					icon:'none'
+				})
+				return;
+			}
+			
 			this.$set(this.questionList[bindex].ques,ansIndex,arr)
 		},
 		
@@ -868,6 +915,10 @@ export default {
 	line-height: 80rpx;
 	font-size: 30rpx;
 	border-radius: 40rpx;
+	
+	&.disabled {
+		opacity: 0.6;
+	}
 }
 .titles {
 	overflow: hidden;
@@ -877,18 +928,21 @@ export default {
 	padding: 41rpx 25rpx 24rpx 25rpx;
 }
 
+.titBox_title {
+	padding: 21rpx;
+}
+
 .tabs {
 	margin:10rpx;
 	display: flex;
 	.tab {
-		margin:0 10rpx;
-		width: 96rpx;
-		height: 48rpx;
-		line-height: 48rpx;
+		margin: 0 4rpx;
+		padding:10rpx 13rpx;
 		text-align: center;
-		color:#007AFF;
+		color: #007aff;
 		font-size: 28rpx;
 		border-radius: 16rpx;
+		background:#fff;
 		
 		&.current {
 			color:#fff;
@@ -1057,6 +1111,11 @@ export default {
 	background-color: #fff;
 	margin: 0rpx 8rpx 8rpx;
 	border-radius: 16rpx;
+	
+	&.no-margin {
+		margin-top:-16rpx;
+		border-radius: 0 0 16rpx 16rpx;
+	}
 }
 .answer {
 	height: 80rpx;

+ 0 - 250
pages2/subject/record.vue

@@ -1,250 +0,0 @@
-<template>
-	<view class="safeArea">
-		<view class="sceenBox">
-			<view :class="['item', {'active':sceenType===1} ]" @click="showSceen(1)">全部题库记录<u-icon class="icon" name="arrow-down"></u-icon></view>
-			<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">
-				<template v-if="sceenType===1">
-					<view :class="['item',{'active':item.checked}]" v-for="(item, index) in scennList1" :key="index" @click="choSceen(index,'tk')">{{item.name}}</view>
-				</template>
-				<template v-if="sceenType===2">
-					<view :class="['item',{'active':item.checked}]" v-for="(item, index) in scennList2" :key="index" @click="choSceen(index,'sj')">{{item.name}}</view>
-				</template>
-			</view>
-		</view>
-		<view class="pubuBox">
-			<view class="pubuItem">
-				<view class="item-masonry" v-for="(item, index) in comList" :key="index">
-					<view class="type">{{item.type}}</view>
-					<view class="title">{{ item.title }}</view>
-					<view class="info"><u-icon class="icon" name="file-text"></u-icon>{{ item.time }}</view>
-					<view class="info"><u-icon class="icon" name="file-text"></u-icon>总共 {{ item.count }} 题 做对 {{item.trueNum}} 道</view>
-					<view class="btnBox">
-						<view class="btn">重做</view>
-						<view class="btn">解析</view>
-						<view class="btn">报告</view>
-					</view>
-				</view>
-			</view>
-		</view>
-	</view>
-</template>
-
-<script>
-import { mapGetters } from 'vuex';
-export default {
-	components: {},
-	data() {
-		return {
-			sceenType: null,
-			scennList1:[
-				{id: 1, name: '全部题库记录', checked: true},{id: 1, name: '试卷名称可换行并完整显示'},{id: 1, name: '试卷名称可换行并完整显示'},{id: 1, name: '试卷名称可换行并完整显示'}
-			],
-			scennList2:[
-				{id: 1, name: '全部试卷类型', checked: true},{id: 1, name: '模拟卷'},{id: 1, name: '真题'},{id: 1, name: '练习'}
-			],
-			comList: [{
-				type: '模拟卷',
-				title: '试卷名称可换不知道最多多少个字行',
-				time: '2021/12/20  14:30',
-				count: 95,
-				trueNum: 2
-			}, {
-				type: '真题',
-				title: '试卷名称可换不知道最多多少个字行',
-				time: '2021/12/20  14:30',
-				count: 95,
-				trueNum: 2
-			},{
-				type: '练习',
-				title: '试卷名称可换',
-				time: '2021/12/20  14:30',
-				count: 95,
-				trueNum: 2
-			}, {
-				type: '模拟卷',
-				title: '试卷名称可换行我也不知道最多多少个字',
-				time: '2021/12/20  14:30',
-				count: 95,
-				trueNum: 2
-			} ]
-		};
-	},
-	onPullDownRefresh() {},
-	onLoad(option) {},
-	methods: {
-		showSceen(type){
-			this.sceenType = type
-		},
-		hideSceen(){
-			this.sceenType = null
-		},
-		choSceen(index,type){
-			if(type==='tk'){
-				this.scennList1.forEach((item,idx)=>{
-					this.$set(item, 'checked',false)
-					if(index===idx){
-						this.$set(item, 'checked',true)
-					}
-				})
-			}
-			if(type==='sj'){
-				this.scennList2.forEach((item,idx)=>{
-					this.$set(item, 'checked',false)
-					if(index===idx){
-						this.$set(item, 'checked',true)
-					}
-				})
-			}
-			this.sceenType = null
-		}
-	}
-};
-</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;
-			}
-		}
-	}
-}
-.pubuBox {
-	padding: 96rpx 8rpx 30rpx;
-	.pubuItem {
-	    column-count: 2;
-	    column-gap: 16rpx;
-	}
-	.item-masonry {
-	    border-radius: 16rpx;
-	    overflow: hidden;
-	    background-color: #fff;
-	    break-inside: avoid;
-	    box-sizing: border-box;
-	    margin-bottom: 16rpx;
-		position: relative;
-		padding: 0 19rpx;
-		.type{
-			width: 112rpx;
-			height: 40rpx;
-			line-height: 40rpx;
-			background: linear-gradient(0deg, #4FACFE, #007AFF);
-			border-radius: 16rpx 0px 16rpx 0px;
-			position: absolute;
-			top:0;
-			left:0;
-			text-align: center;
-			font-size: 24rpx;
-			font-family: PingFang SC;
-			font-weight: 500;
-			color: #FFFFFF;
-		}
-		.title{
-			font-size: 32rpx;
-			font-family: PingFang SC;
-			font-weight: bold;
-			color: #333333;
-			margin: 65rpx 0 26rpx;
-		}
-		.info{
-			font-size: 24rpx;
-			font-family: PingFang SC;
-			font-weight: 500;
-			color: #999999;
-			line-height: 36rpx;
-			.icon{
-				color:#007AFF;
-				margin-right: 14rpx;
-			}
-		}
-		.btnBox{
-			display: flex;
-			justify-content: center;
-			margin: 22rpx 0;
-			.btn{
-				width: 100rpx;
-				height: 48rpx;
-				line-height: 48rpx;
-				text-align: center;
-				background: #FFFFFF;
-				border: 1px solid #007AFF;
-				border-radius: 16rpx;
-				font-size: 24rpx;
-				font-family: PingFang SC;
-				font-weight: 500;
-				color: #007AFF;
-				margin: 0 9rpx;
-			}
-		}
-	}
-}
-</style>

+ 0 - 206
pages2/subject/report.vue

@@ -1,206 +0,0 @@
-<template>
-	<view class="safeArea">
-		<view class="reportWrap">
-			<view class="reportMain">
-				<view class="title">试卷名称可换行我也不知道最多多少个字</view>
-				<view class="time">交卷时间:2021/10/22  17:24</view>
-				<view class="info">
-					<view class="left">
-						<view class="val">100<text>%</text></view>
-						<view class="name">正确率</view>
-						<view class="tip">不含简答/案例题</view>
-					</view>
-					<view class="right">
-						<view class="item">
-							<view class="label">
-								<u-icon class="icon" name="checkmark" color="#16D48B"></u-icon>正确题数
-							</view>
-							<view class="num">3</view>
-						</view>
-						<view class="item">
-							<view class="label">
-								<u-icon class="icon" name="close" color="#FF3B30"></u-icon>错误题数
-							</view>
-							<view class="num1">3</view>
-						</view>
-					</view>
-				</view>
-				<view class="btnBox">
-					<view class="btn">错题解析</view>
-					<view class="btn">全部解析</view>
-					<view class="btn">重新练习</view>
-					<view class="btn no">继续练习</view>
-				</view>
-			</view>
-			<view class="reportBt">
-				<view class="item">
-					<view class="title">试卷得分<text class="sub">(不含简答和案例题)</text></view>
-					<view class="progress">
-						
-					</view>
-				</view>
-				<view class="item">
-					<view class="title">答题时长</view>
-					<view class="progress">
-						
-					</view>
-				</view>
-			</view>
-		</view>
-	</view>
-</template>
-
-<script>
-import { mapGetters } from 'vuex';
-export default {
-	components: {},
-	data() {
-		return {
-			
-		};
-	},
-	onPullDownRefresh() {},
-	onLoad(option) {},
-	methods: {
-	}
-};
-</script>
-<style lang="scss">
-page {
-	background: #EAEEF1;
-}
-</style>
-<style scoped lang="scss">
-.reportWrap{
-	padding: 8rpx;
-}
-.reportMain{
-	background: #FFFFFF;
-	border-radius: 16rpx;
-	padding:16rpx;
-	.title{
-		font-size: 32rpx;
-		font-family: PingFang SC;
-		font-weight: bold;
-		color: #333333;
-		margin: 24rpx 0;
-		padding-left: 18rpx;
-	}
-	.time{
-		padding-left: 18rpx;
-		font-size: 24rpx;
-		font-family: PingFang SC;
-		font-weight: 500;
-		color: #999999;
-		margin-bottom: 40rpx;
-	}
-	.info{
-		display: flex;
-		justify-content: space-between;
-		.left{
-			width: 250rpx;
-			height: 176rpx;
-			background: #F5F5F5;
-			border-radius: 16rpx;	
-			font-size: 24rpx;
-			font-family: PingFang SC;
-			font-weight: 500;
-			color: #999999;
-			text-align: center;
-		}
-		.val{
-			font-size: 60rpx;
-			font-family: PingFang SC;
-			font-weight: 800;
-			color: #007AFF;
-			text{
-				font-size: 30rpx;
-			}
-		}
-		.name{
-			font-size: 32rpx;
-			font-family: PingFang SC;
-			font-weight: bold;
-			color: #333333;
-		}
-		.item{
-			width: 420rpx;
-			height: 80rpx;
-			background: #F5F5F5;
-			border-radius: 16rpx;
-			margin-bottom: 16rpx;
-			font-size: 30rpx;
-			font-family: PingFang SC;
-			font-weight: 400;
-			color: #666666;
-			display: flex;
-			justify-content: space-between;
-			align-items: center;
-			padding: 0 35rpx 0 45rpx;
-			.label{
-				display: flex;
-				align-items: center;
-			}
-			.icon{
-				margin-right: 28rpx;
-				font-size: 45rpx;
-			}
-			.num{
-				font-size: 48rpx;
-				font-family: PingFang SC;
-				font-weight: 500;
-				color: #16D48B;
-			}
-			.num1{
-				font-size: 48rpx;
-				font-family: PingFang SC;
-				font-weight: 500;
-				color: #FF3B30;
-			}
-		}
-	}
-	.btnBox{
-		display: flex;
-		justify-content: center;
-		margin: 25rpx 0 8rpx;
-		.btn{
-			width: 160rpx;
-			height: 48rpx;
-			line-height: 48rpx;
-			background: #FFFFFF;
-			border: 1px solid #007AFF;
-			border-radius: 16rpx;
-			font-size: 24rpx;
-			font-family: PingFang SC;
-			font-weight: 500;
-			color: #007AFF;
-			text-align: center;
-			margin: 0 15rpx;
-			&.no{
-				opacity: 0.3;
-			}
-		}
-	}
-}
-.reportBt{
-	display: flex;
-	justify-content: space-between;
-	margin-top:16rpx;
-	.item{
-		width: 352rpx;
-		height: 288rpx;
-		background: #FFFFFF;
-		border-radius: 16rpx;
-		padding: 24rpx 16rpx;
-		font-size: 30rpx;
-		font-family: PingFang SC;
-		font-weight: bold;
-		color: #333333;
-		.sub{
-			font-size: 20rpx;
-			font-weight: 500;
-			color: #999999;
-		}
-	}
-}
-</style>

+ 189 - 130
pages2/subject/wrongBank.vue

@@ -22,8 +22,8 @@
 							<rich-text :nodes="bank.content"></rich-text>
 						</view>		
 					</view>
-					<view class="pad_8 titBox">
-						<template v-if="bank.type == 1">
+					<template v-if="bank.type == 1">
+						<view class="pad_8 titBox no-margin">
 							<view v-if="!bank.ques">
 								<view v-for="(item, index) in bank.jsonStr" :key="index" class="lisSty" @click="radioSelect(item.optionsId,bankIndex)">
 									<view class="activeTI">{{ ast[index] }}</view>
@@ -36,28 +36,30 @@
 									<view class="flex_auto">{{ item.content }}</view>
 								</view>
 							</view> 
-							<view v-if="bank.ques">
-								<view class="pad_8 answer">
-									<view>正确答案:{{ast[bank.ans-1]}}</view>
-									<view v-if="!explain">我的答案:{{ast[bank.ques-1]}}</view>
-								</view>
-								<view class="pad_8 answerInfos">
-									<view class="answerTitle">答案解析</view>
-									<view class="answerContent">
-										<rich-text :nodes="bank.analysisContent"></rich-text>
-									</view>
+						</view>
+						<view v-if="bank.ques">
+							<view class="pad_8 answer">
+								<view>正确答案:{{ast[bank.ans-1]}}</view>
+								<view v-if="!explain">我的答案:{{ast[bank.ques-1]}}</view>
+							</view>
+							<view class="pad_8 answerInfos">
+								<view class="answerTitle">答案解析</view>
+								<view class="answerContent">
+									<rich-text :nodes="bank.analysisContent"></rich-text>
 								</view>
 							</view>
-						</template>
-						
-						<template v-if="bank.type == 2">
+						</view>
+					</template>
+					
+					<template v-if="bank.type == 2"> 
+						<view class="pad_8 titBox no-margin">
 							<view v-if="!bank.ques">
 								<view v-for="(item, index) in bank.jsonStr" :key="index" class="lisSty" @click="checkboxSelect(item.optionsId,bankIndex,index)">
 									<view :class="{checked:item.checked}" class="activeTI">{{ ast[index] }}</view>
 									<view class="flex_auto">{{ item.content }}</view>
 								</view>
 							</view>
-							<view v-if="!bank.ques" class="submit_checkbox" @click="checkboxSubmit(bankIndex)">
+							<view v-if="!bank.ques" class="submit_checkbox" :class="{disabled:!isCheckboxChecked(bank.jsonStr)}"  @click="checkboxSubmit(bankIndex)">
 								确认答案
 							</view>
 							<view v-if="bank.ques">
@@ -66,25 +68,27 @@
 									<view class="flex_auto">{{ item.content }}</view>
 								</view>
 							</view> 
-							<view v-if="bank.ques">
-								<view class="pad_8 answer">
-									<view>正确答案:
-										<text v-for="ansItem in bank.ans">{{ast[ansItem-1]}}</text>
-									</view>
-									<view v-if="!explain">我的答案:
-										<text v-for="quesItem in bank.ques">{{ast[quesItem-1]}}</text>
-									</view>
+						</view>
+						<view v-if="bank.ques">
+							<view class="pad_8 answer">
+								<view>正确答案:
+									<text v-for="ansItem in bank.ans">{{ast[ansItem-1]}}</text>
 								</view>
-								<view class="pad_8 answerInfos">
-									<view class="answerTitle">答案解析</view>
-									<view class="answerContent">
-										<rich-text :nodes="bank.analysisContent"></rich-text>
-									</view>
+								<view v-if="!explain">我的答案:
+									<text v-for="quesItem in bank.ques">{{ast[quesItem-1]}}</text>
 								</view>
 							</view>
-						</template>
-						
-						<template v-if="bank.type == 3">
+							<view class="pad_8 answerInfos">
+								<view class="answerTitle">答案解析</view>
+								<view class="answerContent">
+									<rich-text :nodes="bank.analysisContent"></rich-text>
+								</view>
+							</view>
+						</view>
+					</template>
+					
+					<template v-if="bank.type == 3">
+						<view class="pad_8 titBox no-margin">
 							<view v-if="!bank.ques">
 								<view v-for="(item, index) in judge" :key="index" class="lisSty" @click="judgeSelect(index,bankIndex)">
 									<view class="activeTI">{{ ast[index] }}</view>
@@ -97,23 +101,25 @@
 									{{ item }}
 								</view>
 							</view> 
-							<view v-if="bank.ques">
-								<view class="pad_8 answer">
-									<view>正确答案:{{ast[bank.ans]}}</view>
-									<view v-if="!explain">我的答案:{{ast[bank.ques]}}</view>
-								</view>
-								<view class="pad_8 answerInfos">
-									<view class="answerTitle">答案解析</view>
-									<view class="answerContent">
-										<rich-text :nodes="bank.analysisContent"></rich-text>
-									</view>
+						</view>
+						<view v-if="bank.ques">
+							<view class="pad_8 answer">
+								<view>正确答案:{{ast[bank.ans]}}</view>
+								<view v-if="!explain">我的答案:{{ast[bank.ques]}}</view>
+							</view>
+							<view class="pad_8 answerInfos">
+								<view class="answerTitle">答案解析</view>
+								<view class="answerContent">
+									<rich-text :nodes="bank.analysisContent"></rich-text>
 								</view>
 							</view>
-						</template>
-						
-						
-						<!-- 简答题 -->
-						<template v-if="bank.type == 5">
+						</view>
+					</template>
+					
+					
+					<!-- 简答题 -->
+					<template v-if="bank.type == 5">
+						<view class="pad_8 titBox">
 							<view class="ans">
 								<view class="ans_input" v-if="!bank.ques">
 									<view class="top flex">
@@ -139,26 +145,28 @@
 									</view>
 								</view>
 							</view>
-							<view v-if="bank.ques">
-								<view class="pad_8 answerInfos">
-									<view class="answerTitle">答案解析:</view>
-									<view class="answerContent">
-										<rich-text :nodes="bank.analysisContent"></rich-text>
-									</view>
+						</view>
+						<view v-if="bank.ques">
+							<view class="pad_8 answerInfos">
+								<view class="answerTitle">答案解析:</view>
+								<view class="answerContent">
+									<rich-text :nodes="bank.analysisContent"></rich-text>
 								</view>
 							</view>
-						</template>
-						
-						<!-- 案例题 -->
-						<template v-if="bank.type == 4">
-							<view class="tabs">
-								<view class="tab" :class="{current:tabIndex == bank.current}" :key="tabIndex" v-for="(tab,tabIndex) in bank.jsonStr" @click="tabSelect(tabIndex,bankIndex)">问题{{tabIndex}}</view>
-							</view>
-							<view v-for="(ansItem,ansIndex) in bank.jsonStr" v-if="bank.current == ansIndex" :key="ansIndex">
-								<view class="titles">
-									<rich-text :nodes="ansItem.content"></rich-text>
-								</view>
-								<template v-if="ansItem.type == 1">
+						</view>
+					</template>
+					
+					<!-- 案例题 -->
+					<template v-if="bank.type == 4">
+						<view class="tabs">
+							<view class="tab" :class="{current:tabIndex == bank.current}" :key="tabIndex" v-for="(tab,tabIndex) in bank.jsonStr" @click="tabSelect(tabIndex,bankIndex)">问题{{tabIndex}}</view>
+						</view>
+						<view v-for="(ansItem,ansIndex) in bank.jsonStr" v-if="bank.current == ansIndex" :key="ansIndex">
+							<template v-if="ansItem.type == 1">
+								<view class="pad_8 titBox">
+									<view class="titles">
+										<rich-text :nodes="ansItem.content"></rich-text>
+									</view>
 									<view v-if="!bank.ques[ansIndex]">
 										<view v-for="(option, childIndex) in ansItem.optionsList" :key="childIndex" class="lisSty" @click="radioSelectChild(option.optionsId,ansIndex,bankIndex)">
 											<view class="activeTI">{{ ast[childIndex] }}</view>
@@ -171,28 +179,33 @@
 											<rich-text :nodes="option.content"></rich-text>
 										</view>
 									</view> 
-									<view v-if="bank.ques[ansIndex]">
-										<view class="pad_8 answer">
-											<view>正确答案:{{ast[bank.ans[ansIndex]-1]}}</view>
-											<view v-if="!explain">我的答案:{{ast[bank.ques[ansIndex]-1]}}</view>
-										</view>
-										<view class="pad_8 answerInfos">
-											<view class="answerTitle">答案解析</view>
-											<view class="answerContent">
-												<rich-text :nodes="option.analysisContent"></rich-text>
-											</view>
+								</view>
+								<view v-if="bank.ques[ansIndex]">
+									<view class="pad_8 answer">
+										<view>正确答案:{{ast[bank.ans[ansIndex]-1]}}</view>
+										<view v-if="!explain">我的答案:{{ast[bank.ques[ansIndex]-1]}}</view>
+									</view>
+									<view class="pad_8 answerInfos">
+										<view class="answerTitle">答案解析</view>
+										<view class="answerContent">
+											<rich-text :nodes="option.analysisContent"></rich-text>
 										</view>
 									</view>
-								</template>
-								
-								<template v-if="ansItem.type == 2">
+								</view>
+							</template>
+							
+							<template v-if="ansItem.type == 2">
+								<view class="pad_8 titBox">
+									<view class="titles">
+										<rich-text :nodes="ansItem.content"></rich-text>
+									</view>
 									<view v-if="!bank.ques[ansIndex]">
 										<view v-for="(option, childindex) in ansItem.optionsList" :key="childindex" class="lisSty" @click="checkboxSelectChild(bankIndex,ansIndex,childindex)">
 											<view :class="{checked:option.checked}" class="activeTI">{{ ast[childindex] }}</view>
 											<rich-text :nodes="option.content"></rich-text>
 										</view>
 									</view>
-									<view v-if="!bank.ques[ansIndex]" class="submit_checkbox" @click="checkboxSubmitChild(bankIndex,ansIndex)">
+									<view v-if="!bank.ques[ansIndex]" class="submit_checkbox" :class="{disabled:!isCheckboxChecked(ansItem.optionsList)}" @click="checkboxSubmitChild(bankIndex,ansIndex)">
 										确认答案
 									</view>
 									<view v-if="bank.ques && bank.ques[ansIndex]">
@@ -201,25 +214,30 @@
 											<rich-text :nodes="option.content"></rich-text>
 										</view>
 									</view> 
-									<view v-if="bank.ques[ansIndex]">
-										<view class="pad_8 answer">
-											<view>正确答案:
-												<text v-for="ansItem1 in bank.ans[ansIndex]">{{ast[ansItem1-1]}}</text>
-											</view>
-											<view v-if="!explain">我的答案:
-												<text v-for="quesItem in bank.ques[ansIndex]">{{ast[quesItem-1]}}</text>
-											</view>
+								</view>
+								<view v-if="bank.ques[ansIndex]">
+									<view class="pad_8 answer">
+										<view>正确答案:
+											<text v-for="ansItem1 in bank.ans[ansIndex]">{{ast[ansItem1-1]}}</text>
 										</view>
-										<view class="pad_8 answerInfos">
-											<view class="answerTitle">答案解析</view>
-											<view class="answerContent">
-												<rich-text :nodes="ansItem.analysisContent"></rich-text>
-											</view>
+										<view v-if="!explain">我的答案:
+											<text v-for="quesItem in bank.ques[ansIndex]">{{ast[quesItem-1]}}</text>
 										</view>
 									</view>
-								</template>
-								
-								<template v-if="ansItem.type == 3">
+									<view class="pad_8 answerInfos">
+										<view class="answerTitle">答案解析</view>
+										<view class="answerContent">
+											<rich-text :nodes="ansItem.analysisContent"></rich-text>
+										</view>
+									</view>
+								</view>
+							</template>
+							
+							<template v-if="ansItem.type == 3">
+								<view class="pad_8 titBox">
+									<view class="titles">
+										<rich-text :nodes="ansItem.content"></rich-text>
+									</view>
 									<view v-if="!bank.ques[ansIndex]">
 										<view v-for="(option, childindex) in judge" :key="childindex" class="lisSty" @click="judgeSelectChild(ansIndex,childindex,bankIndex)">
 											<view class="activeTI">{{ ast[childindex] }}</view>
@@ -232,23 +250,30 @@
 											{{ option }}
 										</view>
 									</view> 
-									<view v-if="bank.ques[ansIndex]">
-										<view class="pad_8 answer">
-											<view>正确答案:{{ast[bank.ans[ansIndex]]}}</view>
-											<view v-if="!explain">我的答案:{{ast[bank.ques[ansIndex]]}}</view>
-										</view>
-										<view class="pad_8 answerInfos">
-											<view class="answerTitle">答案解析</view>
-											<view class="answerContent">
-												<rich-text :nodes="ansItem.analysisContent"></rich-text>
-											</view>
+								</view>
+								<view v-if="bank.ques[ansIndex]">
+									<view class="pad_8 answer">
+										<view>正确答案:{{ast[bank.ans[ansIndex]]}}</view>
+										<view v-if="!explain">我的答案:{{ast[bank.ques[ansIndex]]}}</view>
+									</view>
+									<view class="pad_8 answerInfos">
+										<view class="answerTitle">答案解析</view>
+										<view class="answerContent">
+											<rich-text :nodes="ansItem.analysisContent"></rich-text>
 										</view>
 									</view>
-								</template>
-								
-								
-								<!-- 简答题 -->
-								<template v-if="ansItem.type == 5">
+								</view>
+							</template>
+							
+							
+							<!-- 简答题 -->
+							<template v-if="ansItem.type == 5">
+								<view class="pad_8 titBox_title">
+									<view class="titles">
+										<rich-text :nodes="ansItem.content"></rich-text>
+									</view>
+								</view>
+								<view class="pad_8 titBox_title">
 									<view class="ans">
 										<view class="ans_input" v-if="!bank.ques[ansIndex]">
 											<view class="top flex">
@@ -274,23 +299,20 @@
 											</view>
 										</view>
 									</view>
-									<view v-if="bank.ques[ansIndex]">
-										<view class="pad_8 answerInfos">
-											<view class="answerTitle">答案解析</view>
-											<view class="answerContent">
-												<rich-text :nodes="ansItem.analysisContent"></rich-text>
-											</view>
+								</view>
+								<view v-if="bank.ques[ansIndex]">
+									<view class="pad_8 answerInfos">
+										<view class="answerTitle">答案解析</view>
+										<view class="answerContent">
+											<rich-text :nodes="ansItem.analysisContent"></rich-text>
 										</view>
 									</view>
-								</template>
-								
-								
-							</view>
-						</template>
-						
-						
-					</view>
-					
+								</view>
+							</template>
+							
+							
+						</view>
+					</template>
 				
 					<view class="footer_btn">
 						<view class="flex_center" @click="openFooterTab">
@@ -618,6 +640,15 @@ export default {
 			this.$set(this.questionList[bindex].jsonStr[ansIndex].optionsList[childIndex],'checked',!this.questionList[bindex].jsonStr[ansIndex].optionsList[childIndex].checked)
 		},
 		
+		isCheckboxChecked(arr) {
+			return arr.some(item => {
+				if (item.checked) {
+					return true;
+				}
+			});
+		},
+		
+		
 		/**
 		 * @param {Object} 多选确认
 		 */
@@ -631,6 +662,14 @@ export default {
 				}
 			})
 			
+			if(!arr.length) {
+				uni.showToast({
+					title:'请选择答案',
+					icon:'none'
+				})
+				return;
+			}
+			
 			this.$set(this.questionList[bindex],'ques',arr)
 			
 			let isWrong = this.questionList[bindex].ques.some((quesItem,quesIndex) => {
@@ -668,6 +707,14 @@ export default {
 				}
 			})
 			
+			if(!arr.length) {
+				uni.showToast({
+					title:'请选择答案',
+					icon:'none'
+				})
+				return;
+			}
+			
 			this.$set(this.questionList[bindex].ques,ansIndex,arr)
 		},
 		
@@ -1035,6 +1082,10 @@ export default {
 	line-height: 80rpx;
 	font-size: 30rpx;
 	border-radius: 40rpx;
+	
+	&.disabled {
+		opacity: 0.6;
+	}
 }
 .titles {
 	overflow: hidden;
@@ -1044,18 +1095,21 @@ export default {
 	padding: 41rpx 25rpx 24rpx 25rpx;
 }
 
+.titBox_title {
+	padding: 21rpx;
+}
+
 .tabs {
 	margin:10rpx;
 	display: flex;
 	.tab {
-		margin:0 10rpx;
-		width: 96rpx;
-		height: 48rpx;
-		line-height: 48rpx;
+		margin: 0 4rpx;
+		padding:10rpx 13rpx;
 		text-align: center;
-		color:#007AFF;
+		color: #007aff;
 		font-size: 28rpx;
 		border-radius: 16rpx;
+		background:#fff;
 		
 		&.current {
 			color:#fff;
@@ -1220,6 +1274,11 @@ export default {
 	background-color: #fff;
 	margin: 0rpx 8rpx 8rpx;
 	border-radius: 16rpx;
+	
+	&.no-margin {
+		margin-top:-16rpx;
+		border-radius: 0 0 16rpx 16rpx;
+	}
 }
 .answer {
 	height: 80rpx;

+ 186 - 130
pages2/subject/wrongTypeBank.vue

@@ -22,8 +22,8 @@
 							<rich-text :nodes="bank.content"></rich-text>
 						</view>		
 					</view>
-					<view class="pad_8 titBox">
-						<template v-if="bank.type == 1">
+					<template v-if="bank.type == 1">
+						<view class="pad_8 titBox no-margin">
 							<view v-if="!bank.ques">
 								<view v-for="(item, index) in bank.jsonStr" :key="index" class="lisSty" @click="radioSelect(item.optionsId,bankIndex)">
 									<view class="activeTI">{{ ast[index] }}</view>
@@ -36,28 +36,30 @@
 									<view class="flex_auto">{{ item.content }}</view>
 								</view>
 							</view> 
-							<view v-if="bank.ques">
-								<view class="pad_8 answer">
-									<view>正确答案:{{ast[bank.ans-1]}}</view>
-									<view v-if="!explain">我的答案:{{ast[bank.ques-1]}}</view>
-								</view>
-								<view class="pad_8 answerInfos">
-									<view class="answerTitle">答案解析</view>
-									<view class="answerContent">
-										<rich-text :nodes="bank.analysisContent"></rich-text>
-									</view>
+						</view>
+						<view v-if="bank.ques">
+							<view class="pad_8 answer">
+								<view>正确答案:{{ast[bank.ans-1]}}</view>
+								<view v-if="!explain">我的答案:{{ast[bank.ques-1]}}</view>
+							</view>
+							<view class="pad_8 answerInfos">
+								<view class="answerTitle">答案解析</view>
+								<view class="answerContent">
+									<rich-text :nodes="bank.analysisContent"></rich-text>
 								</view>
 							</view>
-						</template>
-						
-						<template v-if="bank.type == 2">
+						</view>
+					</template>
+					
+					<template v-if="bank.type == 2">
+						<view class="pad_8 titBox no-margin">
 							<view v-if="!bank.ques">
 								<view v-for="(item, index) in bank.jsonStr" :key="index" class="lisSty" @click="checkboxSelect(item.optionsId,bankIndex,index)">
 									<view :class="{checked:item.checked}" class="activeTI">{{ ast[index] }}</view>
 									<view class="flex_auto">{{ item.content }}</view>
 								</view>
 							</view>
-							<view v-if="!bank.ques" class="submit_checkbox" @click="checkboxSubmit(bankIndex)">
+							<view v-if="!bank.ques" class="submit_checkbox" :class="{disabled:!isCheckboxChecked(bank.jsonStr)}" @click="checkboxSubmit(bankIndex)">
 								确认答案
 							</view>
 							<view v-if="bank.ques">
@@ -66,25 +68,27 @@
 									<view class="flex_auto">{{ item.content }}</view>
 								</view>
 							</view> 
-							<view v-if="bank.ques">
-								<view class="pad_8 answer">
-									<view>正确答案:
-										<text v-for="ansItem in bank.ans">{{ast[ansItem-1]}}</text>
-									</view>
-									<view v-if="!explain">我的答案:
-										<text v-for="quesItem in bank.ques">{{ast[quesItem-1]}}</text>
-									</view>
+						</view>
+						<view v-if="bank.ques">
+							<view class="pad_8 answer">
+								<view>正确答案:
+									<text v-for="ansItem in bank.ans">{{ast[ansItem-1]}}</text>
 								</view>
-								<view class="pad_8 answerInfos">
-									<view class="answerTitle">答案解析</view>
-									<view class="answerContent">
-										<rich-text :nodes="bank.analysisContent"></rich-text>
-									</view>
+								<view v-if="!explain">我的答案:
+									<text v-for="quesItem in bank.ques">{{ast[quesItem-1]}}</text>
 								</view>
 							</view>
-						</template>
-						
-						<template v-if="bank.type == 3">
+							<view class="pad_8 answerInfos">
+								<view class="answerTitle">答案解析</view>
+								<view class="answerContent">
+									<rich-text :nodes="bank.analysisContent"></rich-text>
+								</view>
+							</view>
+						</view>
+					</template>
+					
+					<template v-if="bank.type == 3">
+						<view class="pad_8 titBox no-margin">
 							<view v-if="!bank.ques">
 								<view v-for="(item, index) in judge" :key="index" class="lisSty" @click="judgeSelect(index,bankIndex)">
 									<view class="activeTI">{{ ast[index] }}</view>
@@ -97,23 +101,25 @@
 									{{ item }}
 								</view>
 							</view> 
-							<view v-if="bank.ques">
-								<view class="pad_8 answer">
-									<view>正确答案:{{ast[bank.ans]}}</view>
-									<view v-if="!explain">我的答案:{{ast[bank.ques]}}</view>
-								</view>
-								<view class="pad_8 answerInfos">
-									<view class="answerTitle">答案解析</view>
-									<view class="answerContent">
-										<rich-text :nodes="bank.analysisContent"></rich-text>
-									</view>
+						</view>
+						<view v-if="bank.ques">
+							<view class="pad_8 answer">
+								<view>正确答案:{{ast[bank.ans]}}</view>
+								<view v-if="!explain">我的答案:{{ast[bank.ques]}}</view>
+							</view>
+							<view class="pad_8 answerInfos">
+								<view class="answerTitle">答案解析</view>
+								<view class="answerContent">
+									<rich-text :nodes="bank.analysisContent"></rich-text>
 								</view>
 							</view>
-						</template>
-						
-						
-						<!-- 简答题 -->
-						<template v-if="bank.type == 5">
+						</view>
+					</template>
+					
+					
+					<!-- 简答题 -->
+					<template v-if="bank.type == 5">
+						<view class="pad_8 titBox">
 							<view class="ans">
 								<view class="ans_input" v-if="!bank.ques">
 									<view class="top flex">
@@ -139,26 +145,28 @@
 									</view>
 								</view>
 							</view>
-							<view v-if="bank.ques">
-								<view class="pad_8 answerInfos">
-									<view class="answerTitle">答案解析:</view>
-									<view class="answerContent">
-										<rich-text :nodes="bank.analysisContent"></rich-text>
-									</view>
+						</view>
+						<view v-if="bank.ques">
+							<view class="pad_8 answerInfos">
+								<view class="answerTitle">答案解析:</view>
+								<view class="answerContent">
+									<rich-text :nodes="bank.analysisContent"></rich-text>
 								</view>
 							</view>
-						</template>
-						
-						<!-- 案例题 -->
-						<template v-if="bank.type == 4">
-							<view class="tabs">
-								<view class="tab" :class="{current:tabIndex == bank.current}" :key="tabIndex" v-for="(tab,tabIndex) in bank.jsonStr" @click="tabSelect(tabIndex,bankIndex)">问题{{tabIndex}}</view>
-							</view>
-							<view v-for="(ansItem,ansIndex) in bank.jsonStr" v-if="bank.current == ansIndex" :key="ansIndex">
-								<view class="titles">
-									<rich-text :nodes="ansItem.content"></rich-text>
-								</view>
-								<template v-if="ansItem.type == 1">
+						</view>
+					</template>
+					
+					<!-- 案例题 -->
+					<template v-if="bank.type == 4">
+						<view class="tabs">
+							<view class="tab" :class="{current:tabIndex == bank.current}" :key="tabIndex" v-for="(tab,tabIndex) in bank.jsonStr" @click="tabSelect(tabIndex,bankIndex)">问题{{tabIndex}}</view>
+						</view>
+						<view v-for="(ansItem,ansIndex) in bank.jsonStr" v-if="bank.current == ansIndex" :key="ansIndex">
+							<template v-if="ansItem.type == 1">
+								<view class="pad_8 titBox">
+									<view class="titles">
+										<rich-text :nodes="ansItem.content"></rich-text>
+									</view>
 									<view v-if="!bank.ques[ansIndex]">
 										<view v-for="(option, childIndex) in ansItem.optionsList" :key="childIndex" class="lisSty" @click="radioSelectChild(option.optionsId,ansIndex,bankIndex)">
 											<view class="activeTI">{{ ast[childIndex] }}</view>
@@ -171,28 +179,33 @@
 											<rich-text :nodes="option.content"></rich-text>
 										</view>
 									</view> 
-									<view v-if="bank.ques[ansIndex]">
-										<view class="pad_8 answer">
-											<view>正确答案:{{ast[bank.ans[ansIndex]-1]}}</view>
-											<view v-if="!explain">我的答案:{{ast[bank.ques[ansIndex]-1]}}</view>
-										</view>
-										<view class="pad_8 answerInfos">
-											<view class="answerTitle">答案解析</view>
-											<view class="answerContent">
-												<rich-text :nodes="option.analysisContent"></rich-text>
-											</view>
+								</view>
+								<view v-if="bank.ques[ansIndex]">
+									<view class="pad_8 answer">
+										<view>正确答案:{{ast[bank.ans[ansIndex]-1]}}</view>
+										<view v-if="!explain">我的答案:{{ast[bank.ques[ansIndex]-1]}}</view>
+									</view>
+									<view class="pad_8 answerInfos">
+										<view class="answerTitle">答案解析</view>
+										<view class="answerContent">
+											<rich-text :nodes="option.analysisContent"></rich-text>
 										</view>
 									</view>
-								</template>
-								
-								<template v-if="ansItem.type == 2">
+								</view>
+							</template>
+							
+							<template v-if="ansItem.type == 2">
+								<view class="pad_8 titBox">
+									<view class="titles">
+										<rich-text :nodes="ansItem.content"></rich-text>
+									</view>
 									<view v-if="!bank.ques[ansIndex]">
 										<view v-for="(option, childindex) in ansItem.optionsList" :key="childindex" class="lisSty" @click="checkboxSelectChild(bankIndex,ansIndex,childindex)">
 											<view :class="{checked:option.checked}" class="activeTI">{{ ast[childindex] }}</view>
 											<rich-text :nodes="option.content"></rich-text>
 										</view>
 									</view>
-									<view v-if="!bank.ques[ansIndex]" class="submit_checkbox" @click="checkboxSubmitChild(bankIndex,ansIndex)">
+									<view v-if="!bank.ques[ansIndex]" class="submit_checkbox" :class="{disabled:!isCheckboxChecked(ansItem.optionsList)}" @click="checkboxSubmitChild(bankIndex,ansIndex)">
 										确认答案
 									</view>
 									<view v-if="bank.ques && bank.ques[ansIndex]">
@@ -201,25 +214,30 @@
 											<rich-text :nodes="option.content"></rich-text>
 										</view>
 									</view> 
-									<view v-if="bank.ques[ansIndex]">
-										<view class="pad_8 answer">
-											<view>正确答案:
-												<text :key="ansItemIndex1" v-for="(ansItem1,ansItemIndex1) in bank.ans[ansIndex]">{{ast[ansItem1-1]}}</text>
-											</view>
-											<view v-if="!explain">我的答案:
-												<text :key="quesItemIndex" v-for="(quesItem,quesItemIndex) in bank.ques[ansIndex]">{{ast[quesItem-1]}}</text>
-											</view>
+								</view>
+								<view v-if="bank.ques[ansIndex]">
+									<view class="pad_8 answer">
+										<view>正确答案:
+											<text :key="ansItemIndex1" v-for="(ansItem1,ansItemIndex1) in bank.ans[ansIndex]">{{ast[ansItem1-1]}}</text>
 										</view>
-										<view class="pad_8 answerInfos">
-											<view class="answerTitle">答案解析</view>
-											<view class="answerContent">
-												<rich-text :nodes="ansItem.analysisContent"></rich-text>
-											</view>
+										<view v-if="!explain">我的答案:
+											<text :key="quesItemIndex" v-for="(quesItem,quesItemIndex) in bank.ques[ansIndex]">{{ast[quesItem-1]}}</text>
 										</view>
 									</view>
-								</template>
-								
-								<template v-if="ansItem.type == 3">
+									<view class="pad_8 answerInfos">
+										<view class="answerTitle">答案解析</view>
+										<view class="answerContent">
+											<rich-text :nodes="ansItem.analysisContent"></rich-text>
+										</view>
+									</view>
+								</view>
+							</template>
+							
+							<template v-if="ansItem.type == 3">
+								<view class="pad_8 titBox">
+									<view class="titles">
+										<rich-text :nodes="ansItem.content"></rich-text>
+									</view>
 									<view v-if="!bank.ques[ansIndex]">
 										<view v-for="(option, childindex) in judge" :key="childindex" class="lisSty" @click="judgeSelectChild(ansIndex,childindex,bankIndex)">
 											<view class="activeTI">{{ ast[childindex] }}</view>
@@ -232,23 +250,30 @@
 											{{ option }}
 										</view>
 									</view> 
-									<view v-if="bank.ques[ansIndex]">
-										<view class="pad_8 answer">
-											<view>正确答案:{{ast[bank.ans[ansIndex]]}}</view>
-											<view v-if="!explain">我的答案:{{ast[bank.ques[ansIndex]]}}</view>
-										</view>
-										<view class="pad_8 answerInfos">
-											<view class="answerTitle">答案解析</view>
-											<view class="answerContent">
-												<rich-text :nodes="ansItem.analysisContent"></rich-text>
-											</view>
+								</view>
+								<view v-if="bank.ques[ansIndex]">
+									<view class="pad_8 answer">
+										<view>正确答案:{{ast[bank.ans[ansIndex]]}}</view>
+										<view v-if="!explain">我的答案:{{ast[bank.ques[ansIndex]]}}</view>
+									</view>
+									<view class="pad_8 answerInfos">
+										<view class="answerTitle">答案解析</view>
+										<view class="answerContent">
+											<rich-text :nodes="ansItem.analysisContent"></rich-text>
 										</view>
 									</view>
-								</template>
-								
-								
-								<!-- 简答题 -->
-								<template v-if="ansItem.type == 5">
+								</view>
+							</template>
+							
+							
+							<!-- 简答题 -->
+							<template v-if="ansItem.type == 5">
+								<view class="pad_8 titBox_title">
+									<view class="titles">
+										<rich-text :nodes="ansItem.content"></rich-text>
+									</view>
+								</view>
+								<view class="pad_8 titBox_title">
 									<view class="ans">
 										<view class="ans_input" v-if="!bank.ques[ansIndex]">
 											<view class="top flex">
@@ -274,23 +299,18 @@
 											</view>
 										</view>
 									</view>
-									<view v-if="bank.ques[ansIndex]">
-										<view class="pad_8 answerInfos">
-											<view class="answerTitle">答案解析</view>
-											<view class="answerContent">
-												<rich-text :nodes="ansItem.analysisContent"></rich-text>
-											</view>
+								</view>
+								<view v-if="bank.ques[ansIndex]">
+									<view class="pad_8 answerInfos">
+										<view class="answerTitle">答案解析</view>
+										<view class="answerContent">
+											<rich-text :nodes="ansItem.analysisContent"></rich-text>
 										</view>
 									</view>
-								</template>
-								
-								
-							</view>
-						</template>
-						
-						
-					</view>
-					
+								</view>
+							</template>
+						</view>
+					</template>
 				
 					<view class="footer_btn">
 						<view class="flex_center" @click="openFooterTab">
@@ -508,6 +528,14 @@ export default {
 			this.$set(this.questionList[bindex].jsonStr[ansIndex].optionsList[childIndex],'checked',!this.questionList[bindex].jsonStr[ansIndex].optionsList[childIndex].checked)
 		},
 		
+		isCheckboxChecked(arr) {
+			return arr.some(item => {
+				if (item.checked) {
+					return true;
+				}
+			});
+		},
+		
 		/**
 		 * @param {Object} 多选确认
 		 */
@@ -521,6 +549,14 @@ export default {
 				}
 			})
 			
+			if(!arr.length) {
+				uni.showToast({
+					title:'请选择答案',
+					icon:'none'
+				})
+				return;
+			}
+			
 			this.$set(this.questionList[bindex],'ques',arr)
 			
 			let isWrong = this.questionList[bindex].ques.some((quesItem,quesIndex) => {
@@ -558,6 +594,14 @@ export default {
 				}
 			})
 			
+			if(!arr.length) {
+				uni.showToast({
+					title:'请选择答案',
+					icon:'none'
+				})
+				return;
+			}
+			
 			this.$set(this.questionList[bindex].ques,ansIndex,arr)
 		},
 		
@@ -925,6 +969,10 @@ export default {
 	line-height: 80rpx;
 	font-size: 30rpx;
 	border-radius: 40rpx;
+	
+	&.disabled {
+		opacity: 0.6;
+	}
 }
 .titles {
 	overflow: hidden;
@@ -934,18 +982,21 @@ export default {
 	padding: 41rpx 25rpx 24rpx 25rpx;
 }
 
+.titBox_title {
+	padding: 21rpx;
+}
+
 .tabs {
 	margin:10rpx;
 	display: flex;
 	.tab {
-		margin:0 10rpx;
-		width: 96rpx;
-		height: 48rpx;
-		line-height: 48rpx;
+		margin: 0 4rpx;
+		padding:10rpx 13rpx;
 		text-align: center;
-		color:#007AFF;
+		color: #007aff;
 		font-size: 28rpx;
 		border-radius: 16rpx;
+		background:#fff;
 		
 		&.current {
 			color:#fff;
@@ -1110,6 +1161,11 @@ export default {
 	background-color: #fff;
 	margin: 0rpx 8rpx 8rpx;
 	border-radius: 16rpx;
+	
+	&.no-margin {
+		margin-top:-16rpx;
+		border-radius: 0 0 16rpx 16rpx;
+	}
 }
 .answer {
 	height: 80rpx;

+ 5 - 2
pages2/wd/info.vue

@@ -24,7 +24,7 @@
 					<view class="item">
 						<view>年龄</view>
 						<view class="rBox">
-							<picker mode="date" :value="form.userBirth" @change="bindDateChange">
+							<picker mode="date" :end="$method.getDate()" :value="form.userBirth" @change="bindDateChange">
 								<view class="picker">{{ $method.getYears(form.userBirth) }} 岁</view>
 							</picker>
 						<u-icon name="arrow-right" color="#999999" size="28"></u-icon></view>
@@ -81,7 +81,10 @@
 export default {
 	data() {
 		return {
-			form:{avatar:''},
+			form:{
+				avatar:'',
+				userBirth:new Date()
+			},
 			array_sex: ['男', '女'],
 			n_show:false,
 			defaultRegionCode: '440112',