register.vue 5.31 KB

<template>
	<div class="content">
		<modal-comp :visible="modalVisiable" :show-confirm="false" :icon="modalIcon" :content="modalContent" :confirm="modalCallback" :overlay="modalCallback"></modal-comp>
		<div class="ebg">
			<img src="@/assets/images/common/login-bg.png">
		</div>
		<div class="top-space"></div>
		<div class="step">
			<img v-if="type == 1" src="@/assets/images/register/register-step-1.png">
			<img v-if="type == 2" src="@/assets/images/register/register-step-2.png">
		</div>
		<div class="box">
			<!-- 手机验证 -->
			<div v-if="type == 1" class="login">

				<div class="login-tit">
					<img v-if="locale == 'zh'" src="@/assets/images/login/login-tit-zh.png">
					<img v-if="locale == 'tc'" src="@/assets/images/login/login-tit-tc.png">
					<img v-if="locale == 'en'" class="img-en" src="@/assets/images/login/login-tit-en.png">
				</div>
				<div class="login-tit2">{{$t('register.title')}}</div>
				<div class="gird-g form">
					<div class="pure-u-1 form-item">
						<div class="ipt-wrap">
							<img class="down-arrow" src="@/assets/images/reservation/re-down-arrow.png" alt="">
							<select class="ipt" v-model="mobileNoType" >
								<option v-for="(item,index) in mobileOptions" :key="index" :value="item.type">{{item.name}}</option>
							</select>
						</div>
					</div>
					<div class="pure-u-1 form-item">
						<div class="ipt-wrap">
							<div class="ipt ipt2" :class="{err : errorTips.p1.length > 0}" >
								<div class="region-tel">{{mobileTip.areaCode}}</div>
								<input :placeholder="mobileTip.placeHolder" class="ipt-tel" type="text" v-model="registerForm.mobileNo">
							</div>
						</div>
						<div class="validator" v-if="errorTips.p1.length > 0 ">
							<img src="@/assets/images/common/icon-notice.png" alt="">{{errorTips.p1}}
						</div>
					</div>

					<div class="pure-u-1 form-item" v-if="registerCheck.showImageCode">
						<div class="ipt-wrap">
							<input :placeholder="$t('login.verifyPlaceholder')" class="ipt ipt-verify" :class="{err : errorTips.p3.length > 0}"  type="text" v-model="registerForm.imageValue">
							<div class="ipt verify-btn pointer vcode" @click="handlerRefreshImageVcode">
								<img :src="values.imageBase64">
							</div>
						</div>
						<div class="validator" v-if="errorTips.p3.length > 0 ">
							<img src="@/assets/images/common/icon-notice.png" alt="">{{errorTips.p3}}
						</div>
					</div>
					<div class="pure-u-1 form-item">
						<div class="ipt-wrap">
							<div class="ipt ipt2" :class="{err : errorTips.p2.length > 0}" >
								<input :placeholder="$t('register.verifyCodePlaceholder')" class="ipt-code" type="text" v-model="registerForm.opt">
								<div v-if="times.remain == 0" class="veri-btn pointer" @click="handlerStdSendOTP">{{$t('register.verifyCodeGet')}}</div>
								<div v-else class="veri-btn-default">{{times.tip}}</div>
							</div>
						</div>
						<div class="validator" v-if="errorTips.p2.length > 0 ">
							<img src="@/assets/images/common/icon-notice.png" alt="">{{errorTips.p2}}
						</div>
					</div>
				</div>

				<div class="login-protocol pointer" @click="registerCheck.agreeProtocol = !registerCheck.agreeProtocol">
					<img v-if="!registerCheck.agreeProtocol" class="check" src="@/assets/images/login/un-check.png">
					<img v-if="registerCheck.agreeProtocol" class="check" src="@/assets/images/login/check.png"> {{$t('login.agree')}}
					<span @click="onProtocolHandler()" class="protocol pointer">{{$t('login.protocol')}}</span>
				</div>
				<div @click="onSubmitHandler()" class="login-submit pointer">{{$t('register.register')}}</div>
			</div>
			<!-- 输入密码 -->
			<div v-if="type == 2" class="login">
				<div class="login-tit">
					<img v-if="locale == 'zh'" src="@/assets/images/login/login-tit-zh.png">
					<img v-if="locale == 'tc'" src="@/assets/images/login/login-tit-tc.png">
					<img v-if="locale == 'en'" class="img-en" src="@/assets/images/login/login-tit-en.png">
				</div>
				<div class="login-tit2">{{$t('register.title2')}}</div>
				<div class="gird-g form">
					<div class="pure-u-1 form-item">
						<div class="label">
							<img src="@/assets/images/register/icon-register-lock.png"> {{$t('register.newPassword')}}
						</div>
						<div class="ipt-wrap">
							<input :placeholder="$t('register.newPasswordPlaceholder')" class="ipt" :class="{err : errorTips.p4.length > 0}"  type="password" v-model="values.password">
						</div>
						<div class="validator" v-if="errorTips.p4.length > 0 ">
							<img src="@/assets/images/common/icon-notice.png" alt="">{{errorTips.p4}}
						</div>
					</div>
					<div class="pure-u-1 form-item">
						<div class="label">
							<img src="@/assets/images/register/icon-register-lock.png"> {{$t('register.newPasswordSure')}}
						</div>
						<div class="ipt-wrap">
							<input :placeholder="$t('register.newPasswordSurePlaceholder')" class="ipt" :class="{err : errorTips.p5.length > 0}"  type="password" v-model="values.passwordRepeat">
						</div>
						<div class="validator" v-if="errorTips.p5.length > 0 ">
							<img src="@/assets/images/common/icon-notice.png" alt="">{{errorTips.p5}}
						</div>
					</div>
				</div>
				<div @click="onRegisterHandler()" class="login-submit pointer">{{$t('register.sure')}}</div>
			</div>
		</div>
	</div>
</template>

<script src="./register.js"></script>
<style lang="scss" scoped>
@import "./register.scss";
</style>