| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420 | <template>	<view id="questionBank">		<swiper class="swiper" :current="current" @change="swiperChange" :interval="interval">			<swiper-item v-for="(bank,bankIndex) in bankList">				<view class="pageContent">					<view class="pad_8 titBox">						<view class="firstLetter">							<view class="leftLetters">								<view class="btnType">单选</view>								<text>1/{{current}}</text>							</view>							<view style="color: #666;font-size: 28rpx;">03:25:06</view>							<view class="leftLetters"></view>						</view>						<view class="titles">建造师执业资格注册的有效期一般为( )年。</view>						<view class="">							<view v-if="ques[bankIndex] ">								<view v-for="(item, index) in bank" :key="index" 									 									class="lisSty">									<view :class="{right:(item.value == ques[bankIndex]) && (ques[bankIndex] == ans[bankIndex]),wrong:(item.value == ques[bankIndex]) && (ques[bankIndex] != ans[bankIndex])}" class="activeTI">{{ ast[index] }}</view>									{{ item.label }}								</view>							</view>							<view v-if="!ques[bankIndex]">								<view v-for="(item, index) in bank" :key="index" @click="click" :data-value="item.value" class="lisSty">									<text class="activeTI">{{ ast[index] }}</text>									{{ item.label }}								</view>							</view>													</view>					</view>					<view v-if="ques[bankIndex]">						<view class="pad_8 answer">							<view>正确答案:{{ans[bankIndex]}}</view>							<view>我的答案:{{ques[bankIndex]}}</view>						</view>						<view class="pad_8 answerInfos">							<view class="answerTitle">答案解析</view>							<view class="answerContent">								建造师执业资格注册有效期一般为3年,有效期满前3个月,持证者应到原注册管理机构办理再次注册手续。在注册有效期内,变更执业单位者,应当及时办理变更手续。							</view>						</view>					</view>									</view>			</swiper-item>		</swiper>				<view class="footer_btn">			<view @click="collect">收藏</view>			<view @click="openFooterTab">答题卡</view>			<view @click="submit">交卷</view>		</view>		<u-popup v-model="show" mode="bottom" border-radius="14" height="680rpx">			<view class="popupView">				<view class="popupTops">					<view class="topIcon"></view>					点击编号即可跳转至对应题目				</view>				<view class="popupContent">					<scroll-view scroll-y="true" style="height: 506rpx;">						<view class="boxSty">							<view v-for="(item, index) in 10" :key="index" :data-index="index" @click="changeIndex" :class="{disabled:index>=5}" class="liListSty">{{ index + 1 }}</view>						</view>					</scroll-view>				</view>			</view>		</u-popup>				<view class="dialog" v-if="showDialog">			<view class="text">左右滑动切换上下题</view>			<view class="btn" @click="hideDialog">我知道了</view>		</view>	</view></template><script>export default {	data() {		return {			current:0,			ast: ['A', 'B', 'C', 'D',],			ans:[1,2,3,4,1],			ques:['','','','',''],			show: false,			showDialog:true,			bankList: [				[					{						label: '1',						value: 1					},					{						label: '2',						value: 2					},					{						label: '3',						value: 3					},					{						label: '4',						value: 4					}				],				[					{						label: '5',						value: 1					},					{						label: '6',						value: 2					},					{						label: '7',						value: 3					},					{						label: '8',						value: 4					}				],				[					{						label: '9',						value: 1					},					{						label: '10',						value: 2					},					{						label: '11',						value: 3					},					{						label: '12',						value: 4					}				],				[					{						label: '13',						value: 1					},					{						label: '14',						value: 2					},					{						label: '15',						value: 3					},					{						label: '17',						value: 4					}				],				[					{						label: '18',						value: 1					},					{						label: '19',						value: 2					},					{						label: '21',						value: 3					},					{						label: '22',						value: 4					}				]			]		};	},	methods: {		openFooterTab() {			this.show = true;		},		hideDialog() {			this.showDialog = false		},		changeIndex(e) {			let index = e.currentTarget.dataset.index			if(index >= 5) {				uni.showToast({				    title: '返回详情购买后即可继续',				    duration: 2000,					icon:'none'				});				return;			}						this.current = e.currentTarget.dataset.index		},				swiperChange(e) {			this.current = e.detail.current;		},				submit() {			uni.showToast({			    title: '不能试做返回详情购买后即可交卷~',			    duration: 2000,				icon:'none'			});			return;		},				collect() {			uni.showToast({			    title: '返回详情购买后即可收藏~',			    duration: 2000,				icon:'none'			});			return;		},				click(e) {			if(this.ques[this.current]) return;			let value = e.currentTarget.dataset.value;			this.ques[this.current] = value;			this.ques = Object.assign({},this.ques)					}	}};</script><style lang="scss" scoped>.swiper {	width:100%;	height:100vh;}.lisSty {	margin-bottom: 16rpx;	}.activeTI {	vertical-align: middle;	display: inline-block;	border: 1rpx solid #eee;	border-radius: 50rpx;	height: 48rpx;	line-height: 46rpx;	text-align: center;	width: 48rpx;	margin-right: 15rpx;	color: #666;	font-size: 30rpx;			&.right {		color:#fff;		background:green;	}		&.wrong {		color:#fff;		background:red;	}}.titles {	margin-bottom: 24rpx;}.titBox {	padding: 41rpx 25rpx 24rpx 25rpx;}.firstLetter {	display: flex;	justify-content: space-between;	align-items: center;	margin-bottom: 30rpx;	.leftLetters {		display: flex;		align-items: center;		width: 220rpx;		.btnType {			padding: 5rpx 10rpx;			border: 1rpx solid #007aff;			border-radius: 10rpx;			background-color: rgba(0, 122, 255, 0.1);			font-size: 28rpx;			color: #007aff;			margin-right: 15rpx;		}	}}.popupView {	height: 100%;	padding-bottom: 100rpx;	.popupTops {		height: 77rpx;		border-bottom: 1rpx solid #eee;		text-align: center;		line-height: 77rpx;		font-size: 24rpx;		color: #999;		position: relative;		.topIcon {			position: absolute;			top: 10rpx;			left: 50%;			transform: translateX(-50%);			width: 80rpx;			height: 8rpx;			background-color: #999;			border-radius: 4rpx;		}	}	.popupContent {	}}.pageContent {	background-color: #eaeef1;	min-height: 100vh;	padding-top: 8rpx;	padding-bottom: 100rpx;}.pad_8 {	background-color: #fff;	margin: 0rpx 8rpx 8rpx;	border-radius: 16rpx;}.answer {	height: 80rpx;	line-height: 80rpx;	padding: 0rpx 24rpx;	display: flex;	align-items: center;	justify-content: space-between;	color: #666;	font-size: 30rpx;}.footer_btn {	background-color: #fff;	z-index: 10078;	position: fixed;	bottom: 0rpx;	display: flex;	align-items: center;	justify-content: space-between;	width: 100%;	height: 98rpx;	padding: 0rpx 38rpx;	border-top: 1rpx solid #eee;}.boxSty {	padding: 44rpx 41rpx 0rpx;}.liListSty {	width: 88rpx;	height: 88rpx;	border-radius: 32rpx;	background-color: #ff3b30;	text-align: center;	line-height: 88rpx;	color: #fff;	font-size: 32rpx;	float: left;	margin: 20rpx 23rpx;		&.disabled {		border:1rpx solid #EEEEEE;		color:#EEEEEE;		background: none;	}}.answerInfos {	padding: 25rpx 25rpx 25rpx 23rpx;}.answerTitle {	margin-bottom: 28rpx;	color: #666;	font-size: 30rpx;}.answerContent {	font-size: 30rpx;	color: #666;}.dialog {	position: fixed;	left:0;	top:0;	width:100%;	height:100%;	background-color: rgba(0,0,0,0.8);	display: flex;	flex-direction: column;	align-items: center;	justify-content: center;	z-index: 20000;		.text {		font-size: 32rpx;		color: #FFFFFF;		text-align: center;	}		.btn {		width: 242rpx;		height: 82rpx;		border: 2rpx solid #FFFFFF;		border-radius: 16rpx;		text-align: center;		line-height: 82rpx;		margin:41rpx auto;		color:#fff;		font-size: 32rpx;	}}</style>
 |