| <template> | |
| 	<view class="page"> | |
| 		 | |
| 		<image :src="configList.img_13" | |
| 		class="page-bg" | |
| 		mode="aspectFill"></image> | |
| 		 | |
| 		<image :src="configList.img_7" | |
| 		class="logo" | |
| 		mode="widthFix"></image> | |
| 		 | |
| 		<!-- next1 --> | |
| 		<view class="content" v-if="question[index]"> | |
| 			 | |
| 			<image :src="configList.img_11" | |
| 			class="content-bg" | |
| 			mode="scaleToFill"></image> | |
| 			 | |
| 			<view class="" | |
| 			v-html="$utils.stringFormatHtml(question[index].title)"> | |
| 			</view> | |
| 			 | |
| 			<view class="mian-btn" | |
| 			v-for="(item, i) in question[index].answerObjectSkuList" | |
| 			:class="{active : answerIds[index] == item.id}" | |
| 			:key="i" | |
| 			@click="select(item)"> | |
| 				{{ item.title }} | |
| 			</view> | |
| 			 | |
| 		</view> | |
| 		 | |
| 		<!-- next2 --> | |
| 		<view class="content" v-if="stop == 2"> | |
| 			<text class="font-bold mb-60">请选择您所在的区域</text> | |
| 			<view class=""> | |
| 				<picker  | |
| 				mode="region"  | |
| 				:value="date"  | |
| 				class="u-w-440"  | |
| 				@change="bindTimeChange"> | |
| 					<view class="region"> | |
| 						<view class=""> | |
| 							{{ address.province}} | |
| 						</view> | |
| 						省 | |
| 						<view class=""> | |
| 							{{ address.city}} | |
| 						</view> | |
| 						市 | |
| 						<view class=""> | |
| 							{{ address.district}} | |
| 						</view> | |
| 						区 | |
| 					</view> | |
| 				</picker> | |
| 			</view> | |
| 		</view> | |
| 		 | |
| 		<view class="an"> | |
| 			 | |
| 			<view style="display: flex;gap: 30rpx;" | |
| 			> | |
| 				<view class="next-btn-2" | |
| 				@click="ret"> | |
| 					{{ index > 0 ? '上一题' : '返回' }} | |
| 				</view> | |
| 				 | |
| 				<view class="next-btn" | |
| 				@click="next1"> | |
| 					下一题 | |
| 				</view> | |
| 			</view> | |
| 			 | |
| 			<!-- <view class="next-btn" | |
| 			v-if="stop == 1" | |
| 			@click="next"> | |
| 				下一题 | |
| 			</view> | |
| 			 | |
| 			<view class="next-btn" | |
| 			v-if="stop == 2" | |
| 			@click="next"> | |
| 				提交 | |
| 			</view> --> | |
| 			 | |
| 			<text class="second-color">{{ configList.bg_title }}</text> | |
| 		</view> | |
| 		 | |
| 	</view> | |
| </template> | |
| 
 | |
| <script> | |
| 	import { mapState } from 'vuex' | |
| 	export default { | |
| 		data() { | |
| 			return { | |
| 				isActive : null, | |
| 				stop : 1, | |
| 				index : 0, | |
| 				address : { | |
| 					province : '', | |
| 					city : '', | |
| 					district : '', | |
| 				}, | |
| 				question : [], | |
| 				answerIds : [], | |
| 			} | |
| 		}, | |
| 		computed : { | |
| 			...mapState(['configList']), | |
| 		}, | |
| 		onLoad() { | |
| 			this.firstQuestion() | |
| 		}, | |
| 		onShow() { | |
| 		}, | |
| 		methods: { | |
| 			select(item){ | |
| 				this.answerIds.splice(this.index, 1, item.id) | |
| 				if(item.isEnd != 'Y'){ | |
| 					this.isActive = item.toMainId | |
| 				} | |
| 			}, | |
| 			ret(){ | |
| 				 | |
| 				if(this.index <= 0){ | |
| 					uni.navigateBack(-1) | |
| 					return | |
| 				} | |
| 				 | |
| 				this.index-- | |
| 				this.isActive = null | |
| 				this.question[this.index] | |
| 				.answerObjectSkuList.forEach(n => { | |
| 					if(n.id == this.answerIds[this.index]){ | |
| 						this.isActive = n.toMainId | |
| 					} | |
| 				}) | |
| 			}, | |
| 			firstQuestion(){ | |
| 				this.$api('firstQuestion', res => { | |
| 					if(res.code == 200){ | |
| 						this.question.push(res.result) | |
| 					} | |
| 				}) | |
| 			}, | |
| 			next1(){ | |
| 				if(!this.isActive){ | |
| 					uni.showToast({ | |
| 						title:'请选择后进行下一题', | |
| 						icon: 'none' | |
| 					}) | |
| 					return | |
| 				} | |
| 				 | |
| 				let item = null | |
| 				this.question[this.index] | |
| 				.answerObjectSkuList.forEach(n => { | |
| 					if(n.id == this.answerIds[this.index]){ | |
| 						item = n | |
| 					} | |
| 				}) | |
| 				if(item.isEnd == 'Y'){ | |
| 					this.$store.commit('getTitleByIds', item.toRuleId) | |
| 					return | |
| 				} | |
| 				 | |
| 				this.$api('getProblemById', { | |
| 					id : this.isActive | |
| 				}, res => { | |
| 					if(res.code == 200){ | |
| 						this.index++ | |
| 						this.question.splice(this.index, 1, res.result) | |
| 					} | |
| 				}) | |
| 				 | |
| 				// this.$api('submitLog', { | |
| 				// 	topId : this.probleme[this.index].id, | |
| 				// 	context : this.isActive, | |
| 				// }, res => { | |
| 				// 	this.isActive = null | |
| 				// 	if(this.index == this.probleme.length - 1){ | |
| 				// 		this.stop = 2 | |
| 				// 	}else{ | |
| 				// 		uni.navigateTo({ | |
| 				// 			url: '/pages/index/preAppoint' | |
| 				// 		}) | |
| 				// 	} | |
| 				// }) | |
| 			}, | |
| 			next2(){ | |
| 				// this.stop = 3 | |
| 				 | |
| 				if(!this.address.province){ | |
| 					uni.showToast({ | |
| 						title:'请选择地址后进行下一题', | |
| 						icon: 'none' | |
| 					}) | |
| 					return | |
| 				} | |
| 				 | |
| 				uni.redirectTo({ | |
| 					url: '/pages_order/info/fillInfo' | |
| 				}) | |
| 			}, | |
| 			// 获取省市区 | |
| 			bindTimeChange(e) { | |
| 				this.address.province = e.detail.value[0]; | |
| 				this.address.city = e.detail.value[1]; | |
| 				this.address.district = e.detail.value[2]; | |
| 				this.address.provinceName = e.detail.value[0] + e.detail.value[1] + e.detail.value[2]; | |
| 				 | |
| 				uni.setStorageSync('user_address', JSON.stringify(this.address)) | |
| 			}, | |
| 
 | |
| 		} | |
| 	} | |
| </script> | |
| 
 | |
| <style lang="scss" scoped> | |
| 	.page{ | |
| 		.logo{ | |
| 			width: 600rpx; | |
| 			margin: 150rpx 75rpx; | |
| 		} | |
| 		.content{ | |
| 			position: relative; | |
| 			display: flex; | |
| 			flex-direction: column; | |
| 			align-items: center; | |
| 			justify-content: center; | |
| 			box-sizing: border-box; | |
| 			padding: 0 60rpx; | |
| 			text-align: center; | |
| 			width: 700rpx; | |
| 			height: 650rpx; | |
| 			margin: 0 25rpx; | |
| 			.content-bg{ | |
| 				height: 100%; | |
| 				width: 100%; | |
| 				position: absolute; | |
| 				top: 0; | |
| 				left: 0; | |
| 				z-index: -1; | |
| 			} | |
| 		} | |
| 	} | |
| 	 | |
| 	.region{ | |
| 		display: flex; | |
| 		align-items: center; | |
| 		&>view{ | |
| 			width: 140rpx; | |
| 			height: 50rpx; | |
| 			border-radius: 10rpx; | |
| 			border: 1px solid #e6bf7f; | |
| 			margin: 0 10rpx; | |
| 			line-height: 50rpx; | |
| 			text-align: center; | |
| 		} | |
| 	} | |
| 	 | |
| 	.b-btn{ | |
| 		width: 86%; | |
| 		display: flex; | |
| 		justify-content: center; | |
| 		padding-top: 130rpx; | |
| 		 | |
| 		.pre-btn{ | |
| 			border: 4rpx solid #f1e0c6; | |
| 			padding: 16rpx 90rpx; | |
| 			border-radius: 66rpx; | |
| 			color: #e6bf7f; | |
| 		} | |
| 	} | |
| 	 | |
| 	.next-btn{ | |
| 		width: 120rpx; | |
| 		display: flex; | |
| 		align-items: center; | |
| 		justify-content: center; | |
| 		color: white; | |
| 		padding: 16rpx 90rpx; | |
| 		background-color: $uni-color; | |
| 		border-radius: 30rpx; | |
| 	} | |
| 	.next-btn-2{ | |
| 		width: 120rpx; | |
| 		display: flex; | |
| 		align-items: center; | |
| 		justify-content: center; | |
| 		color: white; | |
| 		padding: 16rpx 90rpx; | |
| 		background-color: $uni-color-primary; | |
| 		border-radius: 30rpx; | |
| 	} | |
| 	 | |
| 	.an{ | |
| 		position: fixed; | |
| 		bottom: 300rpx; | |
| 		text-align: center; | |
| 		display: flex; | |
| 		flex-direction: column; | |
| 		align-items: center; | |
| 		justify-content: center; | |
| 		width: 100%; | |
| 	} | |
| 	.second-color{ | |
| 		margin-top: 20rpx; | |
| 	} | |
| </style>
 |