|
|
@@ -0,0 +1,159 @@
|
|
|
+<template>
|
|
|
+ <div class="f-main">
|
|
|
+ <div class="content-top">
|
|
|
+ <p>密码重置</p>
|
|
|
+ <a href="javascript:void(0)" class="back" @click="jump('select')"><i class="el-icon-back"></i></a>
|
|
|
+ </div>
|
|
|
+ <div class="f-form">
|
|
|
+ <div class="page-part">
|
|
|
+ <mt-field placeholder="新手机号码"
|
|
|
+ v-model="step1.mobile"
|
|
|
+ :state="state.mobile"
|
|
|
+ type="tel"
|
|
|
+ @blur.native.capture="validateMobile"
|
|
|
+ ></mt-field>
|
|
|
+ </div>
|
|
|
+ <div class="page-part">
|
|
|
+ <mt-field auto-complete="off"
|
|
|
+ placeholder="短信验证码"
|
|
|
+ v-model="step1.token"
|
|
|
+ :state="state.token"
|
|
|
+ @blur.native.capture="validateCode">
|
|
|
+ <span class="token" @click="getCheckCode" v-text="tokenText">获取验证码</span>
|
|
|
+ </mt-field>
|
|
|
+ </div>
|
|
|
+ <div class="page-part">
|
|
|
+ <mt-field placeholder="新密码"
|
|
|
+ v-model="step1.mobile"
|
|
|
+ :state="state.mobile"
|
|
|
+ @blur.native.capture="validateMobile"
|
|
|
+ ></mt-field>
|
|
|
+ </div>
|
|
|
+ <div class="page-part">
|
|
|
+ <mt-field placeholder="确认密码"
|
|
|
+ v-model="step1.mobile"
|
|
|
+ :state="state.mobile"
|
|
|
+ @blur.native.capture="validateMobile"
|
|
|
+ ></mt-field>
|
|
|
+ </div>
|
|
|
+ <div class="page-part">
|
|
|
+ <mt-field placeholder="申诉说明" type="textarea" rows="4" v-model="step1.mobile"></mt-field>
|
|
|
+ <p class="pwd">请描述您申诉的原因,并尽可能多地列举出证明此 账号为您所有的证据</p>
|
|
|
+ </div>
|
|
|
+ <div class="page-part">
|
|
|
+ <mt-field placeholder="姓名"
|
|
|
+ v-model="step1.mobile"
|
|
|
+ :state="state.mobile"
|
|
|
+ @blur.native.capture="validateMobile"
|
|
|
+ ></mt-field>
|
|
|
+ </div>
|
|
|
+ <div class="page-part">
|
|
|
+ <mt-field placeholder="联系电话"
|
|
|
+ v-model="step1.mobile"
|
|
|
+ :state="state.mobile"
|
|
|
+ type="tel"
|
|
|
+ @blur.native.capture="validateMobile"
|
|
|
+ ></mt-field>
|
|
|
+ </div>
|
|
|
+ <div class="page-part">
|
|
|
+ <mt-field placeholder="电子邮箱"
|
|
|
+ v-model="step1.mobile"
|
|
|
+ :state="state.mobile"
|
|
|
+ type="email"
|
|
|
+ @blur.native.capture="validateMobile"
|
|
|
+ ></mt-field>
|
|
|
+ </div>
|
|
|
+ <div class="page-part">
|
|
|
+ <mt-button size="large" type="primary" @click="sureAccount('last')">提 交</mt-button>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+</template>
|
|
|
+
|
|
|
+<script>
|
|
|
+ export default {
|
|
|
+ name: 'step-one',
|
|
|
+ data () {
|
|
|
+ return {
|
|
|
+ state: {
|
|
|
+ mobile: 'error',
|
|
|
+ captcha: 'error'
|
|
|
+ },
|
|
|
+ step1: {
|
|
|
+ mobile: '',
|
|
|
+ captcha: ''
|
|
|
+ },
|
|
|
+ imgSrc: '',
|
|
|
+ tokenText: '3421'
|
|
|
+ }
|
|
|
+ },
|
|
|
+ mounted () {
|
|
|
+ this.$nextTick(() => {
|
|
|
+ this.getCode()
|
|
|
+ })
|
|
|
+ },
|
|
|
+ methods: {
|
|
|
+ jump (type) {
|
|
|
+ this.$emit('stepEvent', type)
|
|
|
+ },
|
|
|
+ // 警告弹窗
|
|
|
+ downToast (type) {
|
|
|
+ this.$toast({
|
|
|
+ message: type,
|
|
|
+ iconClass: 'el-icon-warning'
|
|
|
+ })
|
|
|
+ },
|
|
|
+ // 验证手机号
|
|
|
+ validateMobile () {
|
|
|
+ let reg = /^1[0-9]{10}$/
|
|
|
+ if (!this.valid.mobile) {
|
|
|
+ this.downToast('请先填写手机号 ')
|
|
|
+ } else {
|
|
|
+ if (reg.test(this.valid.mobile)) {
|
|
|
+ this.state.mobile = 'success'
|
|
|
+ } else {
|
|
|
+ this.state.mobile = 'warning'
|
|
|
+ this.downToast('请填写正确的手机号码')
|
|
|
+ }
|
|
|
+ }
|
|
|
+ },
|
|
|
+ // 验证码验证
|
|
|
+ validateCode () {
|
|
|
+ if (!this.valid.captcha) {
|
|
|
+ this.downToast('请填写验证码信息')
|
|
|
+ } else {
|
|
|
+ this.state.captcha = 'success'
|
|
|
+ }
|
|
|
+ },
|
|
|
+ sureAccount (type) {
|
|
|
+ if (this.state.mobile !== 'success' && this.state.captcha !== 'success') {
|
|
|
+ this.downToast('请确认填写部分是否有误')
|
|
|
+ } else {
|
|
|
+ this.$indicator.open('验证过程中...')
|
|
|
+ let param = new FormData()
|
|
|
+ param.append('mobile', this.valid.mobile)
|
|
|
+ param.append('captcha', this.valid.captcha)
|
|
|
+ let config = {
|
|
|
+ headers: {'Content-Type': 'multipart/form-data'}
|
|
|
+ }
|
|
|
+ this.$http.post(`/sso/resetPwd/checkCaptcha`, param, config)
|
|
|
+ .then(response => {
|
|
|
+ this.$indicator.close()
|
|
|
+ if (response.data.success) {
|
|
|
+ this.$emit('stepEvent', type)
|
|
|
+ } else {
|
|
|
+ this.getCode()
|
|
|
+ this.downToast(response.data.errMsg)
|
|
|
+ }
|
|
|
+ }).catch(() => {
|
|
|
+ this.$indicator.close()
|
|
|
+ this.downToast('请检查网络是否正常或联系服务商')
|
|
|
+ })
|
|
|
+ }
|
|
|
+ },
|
|
|
+ getCode () {
|
|
|
+ this.imgSrc = '/sso/resetPwd/checkCaptcha?timestamp=' + (new Date()).valueOf()
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+</script>
|