|
|
@@ -1,128 +1,124 @@
|
|
|
<template>
|
|
|
<div class="validation">
|
|
|
<div class="container">
|
|
|
- <div class="content" v-if="activeTab == 0">
|
|
|
+ <div class="content" v-show="goFirstStep">
|
|
|
<div class="content-top">
|
|
|
<h3>更换管理员</h3>
|
|
|
<div class="step">
|
|
|
<img src="/images/all/step01.png" alt=""/>
|
|
|
- <div class="step-item"><span class="active step01">账号验证</span><span class="step02">输入管理员信息</span><span>更换完成</span></div>
|
|
|
- <!--<a href="" class="return"><img src="/images/all/return.png" alt=""/></a>-->
|
|
|
+ <div class="step-item"><span class="active">身份验证</span><span>输入新管理员信息</span><span>更换完成</span></div>
|
|
|
</div>
|
|
|
</div>
|
|
|
<div class="choose">
|
|
|
- <div><img src="/images/all/icon01.png" alt="" class="first mob"/><span>通过验证手机</span><i class="fa fa-angle-right second"></i></div>
|
|
|
- <div><img src="/images/all/icon02.png" alt="" class="first"/><span>通过验证邮箱</span><i class="fa fa-angle-right second"></i></div>
|
|
|
- <div class="active"><img src="/images/all/icon03.png" alt="" class="first"/><span>通过验证密保</span><i class="fa fa-angle-right second"></i></div>
|
|
|
- <div><img src="/images/all/icon04.png" alt="" class="first"/><span>通过人工申诉</span><i class="fa fa-angle-right second"></i></div>
|
|
|
- </div>
|
|
|
- </div>
|
|
|
- <div class="content" v-if="activeTab == 1">
|
|
|
- <div class="content-top">
|
|
|
- <h3>更换管理员</h3>
|
|
|
- <div class="step">
|
|
|
- <img src="/images/all/step01.png" alt=""/>
|
|
|
- <div class="step-item"><span class="active step01">账号验证</span><span class="step02">输入管理员信息</span><span>更换完成</span></div>
|
|
|
+ <div v-show="hasValidPhoneWay"
|
|
|
+ @click="chooseWay(1)">
|
|
|
+ <img src="/images/all/icon01.png" alt="" class="first mob"/>
|
|
|
+ <span>通过验证手机</span><i class="fa fa-angle-right second"></i>
|
|
|
</div>
|
|
|
- </div>
|
|
|
- <div class="content-bottom">
|
|
|
- <span class="use">使用手机号<em>183******08</em>接收验证码</span>
|
|
|
- <div class="form-group">
|
|
|
- <input type="text" class="form-control msg" placeholder="短信验证码"/>
|
|
|
- <span class="msg">获取验证码</span>
|
|
|
- <!--<span class="msg send">已发送(54s)</span>-->
|
|
|
+ <div v-show="hasValidEmailWay"
|
|
|
+ @click="chooseWay(2)">
|
|
|
+ <img src="/images/all/icon02.png" alt="" class="first"/>
|
|
|
+ <span>通过验证邮箱</span><i class="fa fa-angle-right second"></i>
|
|
|
+ </div>
|
|
|
+ <div v-show="hasValidQuestionsWay"
|
|
|
+ @click="chooseWay(3)">
|
|
|
+ <img src="/images/all/icon03.png" alt="" class="first"/>
|
|
|
+ <span>通过验证密保</span><i class="fa fa-angle-right second"></i>
|
|
|
+ </div>
|
|
|
+ <div v-show="showManualAppeal"
|
|
|
+ @click="goChangeManagerAppeal()">
|
|
|
+ <img src="/images/all/icon04.png" alt="" class="first"/>
|
|
|
+ <span>通过人工申诉</span><i class="fa fa-angle-right second"></i>
|
|
|
</div>
|
|
|
- <button class="btn">下一步</button>
|
|
|
</div>
|
|
|
</div>
|
|
|
- <div class="content" v-if="activeTab == 2">
|
|
|
+ <div class="content" v-show="showPhoneValid">
|
|
|
<div class="content-top">
|
|
|
<h3>更换管理员</h3>
|
|
|
<div class="step">
|
|
|
<img src="/images/all/step01.png" alt=""/>
|
|
|
- <div class="step-item"><span class="active step01">账号验证</span><span class="step02">输入管理员信息</span><span>更换完成</span></div>
|
|
|
+ <div class="step-item"><span class="active">身份验证</span><span>输入新管理员信息</span><span>更换完成</span></div>
|
|
|
+ <a @click="goPreviousStep" class="return"><img src="/images/all/return.png" alt=""/></a>
|
|
|
</div>
|
|
|
</div>
|
|
|
<div class="content-bottom">
|
|
|
- <span class="use">使用电子邮箱<em>183****08@qq.com</em>进行验证,有效期7天</span>
|
|
|
- <div class="warp"><button class="btn">发送验证请求</button></div>
|
|
|
+ <span class="use">使用手机号<em>{{secretMobile}}</em>接收验证码</span>
|
|
|
+ <div>
|
|
|
+ <el-form :model="valid" :rules="rules" ref="valid" label-width="100px" class="demo-ruleForm" style="margin-top: 0;">
|
|
|
+ <el-form-item prop="code">
|
|
|
+ <el-input type="text" v-model="valid.code"
|
|
|
+ v-bind:class="{ active: codeErrorChecked }"
|
|
|
+ auto-complete="off" class="msg"
|
|
|
+ placeholder="短信验证码"></el-input>
|
|
|
+ <el-button type="primary" class="code"
|
|
|
+ v-show="sendAccountCode"
|
|
|
+ @click="getCheckCode">获取验证码</el-button>
|
|
|
+ <el-button type="primary" v-show="!sendAccountCode" class="code code-send">已发送({{account_time}}s)</el-button>
|
|
|
+ <span v-show="codeErrorChecked" class="tip codeError-tip" >{{codeErrorMsg}}</span>
|
|
|
+ </el-form-item>
|
|
|
+ <el-form-item>
|
|
|
+ <a class="btn finish"
|
|
|
+ :disabled="!codeChecked"
|
|
|
+ @click="goNextStep">下一步</a>
|
|
|
+ </el-form-item>
|
|
|
+ </el-form>
|
|
|
+ </div>
|
|
|
</div>
|
|
|
</div>
|
|
|
- <div class="content" v-if="activeTab == 3">
|
|
|
+ <div class="content" v-show="showEmailValid">
|
|
|
<div class="content-top">
|
|
|
<h3>更换管理员</h3>
|
|
|
<div class="step">
|
|
|
<img src="/images/all/step01.png" alt=""/>
|
|
|
- <div class="step-item"><span class="active step01">账号验证</span><span class="step02">输入管理员信息</span><span>更换完成</span></div>
|
|
|
+ <div class="step-item"><span class="active">身份验证</span><span>输入新管理员信息</span><span>更换完成</span></div>
|
|
|
+ <a href="" class="return"><img src="/images/all/return.png" alt=""/></a>
|
|
|
</div>
|
|
|
</div>
|
|
|
- <form action="">
|
|
|
- <div class="form-group">
|
|
|
- <input type="text" value="密保问题一?" class="answer form-control"/>
|
|
|
- <ul>
|
|
|
- <li>您的母亲的生日是几月几日?</li>
|
|
|
- <li>您最喜欢的宠物叫什么名字?</li>
|
|
|
- <li>您最喜欢的电影片名是什么?</li>
|
|
|
- <li>您的学号是?</li>
|
|
|
- </ul>
|
|
|
- </div>
|
|
|
- <div class="form-group">
|
|
|
- <input type="text" class="form-control" placeholder="答案一"/>
|
|
|
- </div>
|
|
|
- <div class="form-group">
|
|
|
- <input type="text" value="密保问题二?" class="answer form-control"/>
|
|
|
- <ul>
|
|
|
- <li>您的爷爷叫什么名字?</li>
|
|
|
- <li>您的配偶的生日是几月几日?</li>
|
|
|
- <li>您最喜欢的歌手是谁?</li>
|
|
|
- <li>您就读的小学学校全称是?</li>
|
|
|
- </ul>
|
|
|
+ <div class="content-bottom">
|
|
|
+ <span class="use">使用电子邮箱<em>{{secretEmail}}</em>进行验证,有效期7天</span>
|
|
|
+ <div class="warp"
|
|
|
+ @click="firstStepValidEmail"
|
|
|
+ v-show="!emailSendSuccess">
|
|
|
+ <button class="btn">发送验证请求</button>
|
|
|
</div>
|
|
|
- <div class="form-group">
|
|
|
- <input type="text" class="form-control" placeholder="答案二"/>
|
|
|
- </div>
|
|
|
- <button class="btn">下一步</button>
|
|
|
- </form>
|
|
|
- </div>
|
|
|
- <div class="content" v-if="activeTab == 4">
|
|
|
- <div class="content-top">
|
|
|
- <h3>更换管理员</h3>
|
|
|
- <div class="step">
|
|
|
- <img src="/images/all/step02.png" alt=""/>
|
|
|
- <div class="step-item"><span class="active step01">账号验证</span><span class="active step02">输入管理员信息</span><span>更换完成</span></div>
|
|
|
+ <div class="warp" v-show="emailSendSuccess">
|
|
|
+ <button class="btn" :disabled="emailSendSuccess">已发送验证邮件,请查收</button>
|
|
|
</div>
|
|
|
</div>
|
|
|
- <form action="">
|
|
|
- <div class="form-group">
|
|
|
- <input type="text" class="form-control" placeholder="新管理员手机号"/>
|
|
|
- </div>
|
|
|
- <div class="form-group">
|
|
|
- <input type="text" class="form-control msg" placeholder="短信验证码"/>
|
|
|
- <span class="msg">获取验证码</span>
|
|
|
- <!--<span class="msg send">已发送(54s)</span>-->
|
|
|
- </div>
|
|
|
- <div class="form-group">
|
|
|
- <textarea type="text" class="form-control describe" placeholder="申诉说明"></textarea>
|
|
|
- <span class="describe">请描述您申诉的原因,并尽可能多地列举出证明此企业账号为您所有的证据</span>
|
|
|
- </div>
|
|
|
- <div class="form-group">
|
|
|
- <input type="text" class="form-control" placeholder="姓名"/>
|
|
|
- </div>
|
|
|
- <button class="btn" style="margin-top: 95px;">提交</button>
|
|
|
- </form>
|
|
|
</div>
|
|
|
- <div class="content" v-if="activeTab == 5">
|
|
|
+ <div class="content" v-show="showQuestionsValid">
|
|
|
<div class="content-top">
|
|
|
<h3>更换管理员</h3>
|
|
|
<div class="step">
|
|
|
- <img src="/images/all/step03.png" alt=""/>
|
|
|
- <div class="step-item"><span class="active step01">账号验证</span><span class="active step02">输入管理员信息</span><span class="active">更换完成</span></div>
|
|
|
+ <img src="/images/all/step01.png" alt=""/>
|
|
|
+ <div class="step-item"><span class="active">身份验证</span><span>输入新管理员信息</span><span>更换完成</span></div>
|
|
|
+ <a href="" class="return"><img src="/images/all/return.png" alt=""/></a>
|
|
|
</div>
|
|
|
</div>
|
|
|
- <div class="content-bottom">
|
|
|
- <p class="passed"><img src="/images/all/pass.png" alt=""/>设置成功</p>
|
|
|
- <span>恭喜您,企业管理员已更换完毕!</span>
|
|
|
- <div class="close-btn">关闭</div>
|
|
|
+ <div>
|
|
|
+ <el-form :model="validQuestion" :rules="rulesQuestion" ref="valid" label-width="100px" class="demo-ruleForm">
|
|
|
+ <el-form-item class="questions">
|
|
|
+ <span class="question">问题:{{question1}}</span>
|
|
|
+ </el-form-item>
|
|
|
+ <el-form-item prop="answer1">
|
|
|
+ <el-input type="text" v-model="validQuestion.answer1"
|
|
|
+ auto-complete="off"
|
|
|
+ placeholder="答案一"></el-input>
|
|
|
+ </el-form-item>
|
|
|
+ <el-form-item class="questions">
|
|
|
+ <span class="question">问题:{{question2}}</span>
|
|
|
+ </el-form-item>
|
|
|
+ <el-form-item prop="answer2">
|
|
|
+ <el-input type="text" v-model="validQuestion.answer2"
|
|
|
+ auto-complete="off"
|
|
|
+ placeholder="答案二"></el-input>
|
|
|
+ </el-form-item>
|
|
|
+ <el-form-item>
|
|
|
+ <a class="btn finish"
|
|
|
+ :disabled="!answer1SecondChecked || !answer2SecondChecked"
|
|
|
+ @click="validQuestionSubmit">提交</a>
|
|
|
+ </el-form-item>
|
|
|
+ </el-form>
|
|
|
</div>
|
|
|
</div>
|
|
|
</div>
|
|
|
@@ -131,10 +127,299 @@
|
|
|
|
|
|
<script>
|
|
|
export default {
|
|
|
- name: 'change',
|
|
|
+ name: 'validation',
|
|
|
data () {
|
|
|
+// 第一步校验验证码
|
|
|
+ var validateFirstCode = (rule, value, callback) => {
|
|
|
+ if (value === '') {
|
|
|
+ callback(new Error('请填写正确的验证码'))
|
|
|
+ this.codeErrorChecked = false
|
|
|
+ this.codeChecked = false
|
|
|
+ } else {
|
|
|
+ if (this.valid.code !== '') {
|
|
|
+ if (this.token !== '') {
|
|
|
+ if (this.valid.code !== '' && this.getMobile !== '') {
|
|
|
+ let param = new FormData()
|
|
|
+ param.append('mobile', this.getMobile)
|
|
|
+ param.append('code', this.valid.code)
|
|
|
+ param.append('token', this.token)
|
|
|
+ let config = {
|
|
|
+ headers: {'Content-Type': 'multipart/form-data'}
|
|
|
+ }
|
|
|
+ this.$http.post(`/sso/change/admin/check/newMobile`, param, config)
|
|
|
+ .then(response => {
|
|
|
+ if (response.data.success) {
|
|
|
+ this.codeChecked = true
|
|
|
+ this.codeErrorChecked = false
|
|
|
+ } else {
|
|
|
+ this.codeErrorChecked = true
|
|
|
+ this.codeChecked = false
|
|
|
+ return Promise.reject(response.data)
|
|
|
+ }
|
|
|
+ }).catch(err => {
|
|
|
+ this.codeErrorMsg = err.errMsg
|
|
|
+ })
|
|
|
+ }
|
|
|
+ } else {}
|
|
|
+ }
|
|
|
+ callback()
|
|
|
+ }
|
|
|
+ }
|
|
|
+// 第二步验证密保
|
|
|
+ var validateSecondAnswer1 = (rule, value, callback) => {
|
|
|
+ if (value === '') {
|
|
|
+ callback(new Error('请填写正确的答案'))
|
|
|
+ this.answer1SecondChecked = false
|
|
|
+ } else {
|
|
|
+ if (this.validQuestion.answer1 !== '') {
|
|
|
+ this.answer1SecondChecked = true
|
|
|
+ }
|
|
|
+ callback()
|
|
|
+ }
|
|
|
+ }
|
|
|
+ var validateSecondAnswer2 = (rule, value, callback) => {
|
|
|
+ if (value === '') {
|
|
|
+ callback(new Error('请填写正确的答案'))
|
|
|
+ this.answer2SecondChecked = false
|
|
|
+ } else {
|
|
|
+ if (this.validQuestion.answer2 !== '') {
|
|
|
+ this.answer2SecondChecked = true
|
|
|
+ }
|
|
|
+ callback()
|
|
|
+ }
|
|
|
+ }
|
|
|
return {
|
|
|
- activeTab: 4
|
|
|
+ goFirstStep: true,
|
|
|
+ hasValidPhoneWay: false,
|
|
|
+ hasValidQuestionsWay: false,
|
|
|
+ hasValidEmailWay: false,
|
|
|
+ showManualAppeal: false,
|
|
|
+ showPhoneValid: false,
|
|
|
+ showEmailValid: false,
|
|
|
+ showQuestionsValid: false,
|
|
|
+ sendAccountCode: true,
|
|
|
+ account_time: 0,
|
|
|
+ codeErrorChecked: false,
|
|
|
+ codeChecked: false,
|
|
|
+ secretMobile: '',
|
|
|
+ secretEmail: '',
|
|
|
+ getMobile: '',
|
|
|
+ getEmail: '',
|
|
|
+ getQuestions: '',
|
|
|
+ question1: '',
|
|
|
+ question2: '',
|
|
|
+ sort1: '',
|
|
|
+ sort2: '',
|
|
|
+ codeErrorMsg: '',
|
|
|
+ firstStepToken: '',
|
|
|
+ answer1SecondChecked: false,
|
|
|
+ answer2SecondChecked: false,
|
|
|
+ emailSendSuccess: false,
|
|
|
+ valid: {
|
|
|
+ code: ''
|
|
|
+ },
|
|
|
+ validQuestion: {
|
|
|
+ answer1: '',
|
|
|
+ answer2: ''
|
|
|
+ },
|
|
|
+ rules: {
|
|
|
+ code: [
|
|
|
+ {validator: validateFirstCode, trigger: 'blur'}
|
|
|
+ ]
|
|
|
+ },
|
|
|
+ rulesQuestion: {
|
|
|
+ answer1: [
|
|
|
+ {validator: validateSecondAnswer1, trigger: 'blur'}
|
|
|
+ ],
|
|
|
+ answer2: [
|
|
|
+ {validator: validateSecondAnswer2, trigger: 'blur'}
|
|
|
+ ]
|
|
|
+ }
|
|
|
+ }
|
|
|
+ },
|
|
|
+ computed: {
|
|
|
+ logged () {
|
|
|
+// console.log(this.$store.state.option.isLogin.data.content)
|
|
|
+ return this.$store.state.option.isLogin.data.content
|
|
|
+ }
|
|
|
+ },
|
|
|
+ mounted () {
|
|
|
+// 验证是否登录
|
|
|
+ this.$nextTick(() => {
|
|
|
+ this.isLogin()
|
|
|
+ // 刷新统计信息
|
|
|
+ setInterval(() => {
|
|
|
+ this.isLogin()
|
|
|
+ }, 10000)
|
|
|
+ })
|
|
|
+// 获取验证方式
|
|
|
+ this.$nextTick(() => {
|
|
|
+ this.getVerifyWay()
|
|
|
+ })
|
|
|
+ },
|
|
|
+ methods: {
|
|
|
+// 判断用户是否登录
|
|
|
+ isLogin () {
|
|
|
+ if (!this.logged.isLogin) {
|
|
|
+// console.log(this.logged.isLogin)
|
|
|
+// 未登录跳到登录页面
|
|
|
+ window.location.href = '/'
|
|
|
+ }
|
|
|
+ },
|
|
|
+// 获取验证方式
|
|
|
+ getVerifyWay () {
|
|
|
+ this.$http.get('/sso/change/admin/checkType').then(response => {
|
|
|
+ if (response.data.success) {
|
|
|
+ if (!response.data.content) {
|
|
|
+ this.goFirstStep = true
|
|
|
+ this.showManualAppeal = true
|
|
|
+ this.hasValidPhoneWay = false
|
|
|
+ this.hasValidQuestionsWay = false
|
|
|
+ this.hasValidEmailWay = false
|
|
|
+ } else {
|
|
|
+ if (response.data.content.mobile) {
|
|
|
+ this.hasValidPhoneWay = true
|
|
|
+ this.getMobile = response.data.content.mobile
|
|
|
+ var reg = /^(\d{3})\d{6}(\d{2})$/
|
|
|
+ this.secretMobile = this.getMobile.replace(reg, '$1******$2')
|
|
|
+ }
|
|
|
+ if (response.data.content.questions) {
|
|
|
+ this.hasValidQuestionsWay = true
|
|
|
+ this.getQuestions = response.data.content.questions
|
|
|
+ this.question1 = this.getQuestions[0].question || ''
|
|
|
+ this.question2 = this.getQuestions[1].question || ''
|
|
|
+ this.sort1 = this.getQuestions[0].sort || ''
|
|
|
+ this.sort2 = this.getQuestions[1].sort || ''
|
|
|
+ }
|
|
|
+ if (response.data.content.email) {
|
|
|
+ this.hasValidEmailWay = true
|
|
|
+ this.getEmail = response.data.content.email
|
|
|
+ let getEmailIndex = this.getEmail.indexOf('@')
|
|
|
+ if (getEmailIndex > 3) {
|
|
|
+ let len = this.getEmail.substring(3, getEmailIndex)
|
|
|
+ this.secretEmail = this.getEmail.replace(len, '*')
|
|
|
+ } else {
|
|
|
+ this.getEmailArr = this.getEmail.split('')
|
|
|
+ this.getEmailSplit = this.getEmailArr.splice(getEmailIndex, 0, '*')
|
|
|
+ this.secretEmail = this.getEmailArr.join('')
|
|
|
+ }
|
|
|
+ }
|
|
|
+ this.goFirstStep = true
|
|
|
+ this.showManualAppeal = true
|
|
|
+ }
|
|
|
+ }
|
|
|
+ })
|
|
|
+ },
|
|
|
+// 选择方式
|
|
|
+ chooseWay (flag) {
|
|
|
+ if (flag === 1) {
|
|
|
+ this.showPhoneValid = true
|
|
|
+ } else if (flag === 2) {
|
|
|
+ this.showEmailValid = true
|
|
|
+ } else if (flag === 3) {
|
|
|
+ this.showQuestionsValid = true
|
|
|
+ }
|
|
|
+ this.goFirstStep = false
|
|
|
+ },
|
|
|
+// 跳转到人工申诉页面
|
|
|
+ goChangeManagerAppeal () {
|
|
|
+ window.location.href = '/appeals/changeManagerAppeal'
|
|
|
+ },
|
|
|
+// 返回上一步
|
|
|
+ goPreviousStep () {
|
|
|
+ this.goFirstStep = true
|
|
|
+ this.showPhoneValid = false
|
|
|
+ this.showEmailValid = false
|
|
|
+ this.showQuestionsValid = false
|
|
|
+ },
|
|
|
+// 获取第一步手机验证码
|
|
|
+ getCheckCode () {
|
|
|
+ this.$http.get(`/sso/change/admin/check/mobile`)
|
|
|
+ .then(response => {
|
|
|
+ this.token = response.data.content.token
|
|
|
+ if (this.token !== '') {
|
|
|
+ this.$message({
|
|
|
+ message: '验证码已经发送到您的手机,请注意查收',
|
|
|
+ type: 'success'
|
|
|
+ })
|
|
|
+ this.sendAccountCode = false
|
|
|
+ this.account_time = 60
|
|
|
+ var accountTime = setInterval(() => {
|
|
|
+ this.account_time--
|
|
|
+ if (this.account_time <= 0) {
|
|
|
+ this.sendAccountCode = true
|
|
|
+ clearInterval(accountTime)
|
|
|
+ }
|
|
|
+ }, 1000)
|
|
|
+ }
|
|
|
+ }).catch(err => {
|
|
|
+ this.$message.error(err.errMsg)
|
|
|
+ })
|
|
|
+ },
|
|
|
+// 手机号验证下一步
|
|
|
+ goNextStep () {
|
|
|
+ if (this.codeChecked) {
|
|
|
+ let param = new FormData()
|
|
|
+ param.append('code', this.valid.code)
|
|
|
+ param.append('token', this.token)
|
|
|
+ let config = {
|
|
|
+ headers: {'Content-Type': 'multipart/form-data'}
|
|
|
+ }
|
|
|
+ this.$http.post(`/sso/change/admin/check/mobile`, param, config)
|
|
|
+ .then(response => {
|
|
|
+ if (response.data.success) {
|
|
|
+ this.$store.commit('login/GET_TOKEN', response.data.content)
|
|
|
+ this.showPhoneValid = false
|
|
|
+ this.$router.push({ path: '/change/changeManagerSecondStep' })
|
|
|
+ } else {
|
|
|
+ this.showPhoneValid = true
|
|
|
+ return Promise.reject(response.data)
|
|
|
+ }
|
|
|
+ }).catch(err => {
|
|
|
+ this.$message.error(err.errMsg)
|
|
|
+ })
|
|
|
+ }
|
|
|
+ },
|
|
|
+// 第一步验证邮箱
|
|
|
+ firstStepValidEmail () {
|
|
|
+ this.$http.get(`/sso/change/admin/check/email`)
|
|
|
+ .then(response => {
|
|
|
+ if (response.data.success) {
|
|
|
+ this.emailSendSuccess = true
|
|
|
+ } else {
|
|
|
+ this.emailSendSuccess = false
|
|
|
+ return Promise.reject(response.data)
|
|
|
+ }
|
|
|
+ }).catch(err => {
|
|
|
+ console.log(err)
|
|
|
+// this.$message.error(err.errMsg)
|
|
|
+ })
|
|
|
+ },
|
|
|
+// 第一步验证密保提交
|
|
|
+ validQuestionSubmit () {
|
|
|
+ if (this.answer1SecondChecked && this.answer2SecondChecked) {
|
|
|
+ let param = new FormData()
|
|
|
+ let answer = []
|
|
|
+ answer.push({'answer': this.validQuestion.answer1, 'sort': this.sort1}, {'answer': this.validQuestion.answer2, 'sort': this.sort2})
|
|
|
+ let answers = JSON.stringify(answer)
|
|
|
+ param.append('answers', answers)
|
|
|
+ let config = {
|
|
|
+ headers: {'Content-Type': 'multipart/form-data'}
|
|
|
+ }
|
|
|
+ this.$http.post(`/sso/change/admin/check/question`, param, config)
|
|
|
+ .then(response => {
|
|
|
+ if (response.data.success) {
|
|
|
+ this.$store.commit('login/GET_TOKEN', response.data.content.token)
|
|
|
+ this.showQuestionsValid = false
|
|
|
+ this.$router.push({ path: '/change/changeManagerSecondStep' })
|
|
|
+ } else {
|
|
|
+ this.showQuestionsValid = true
|
|
|
+ return Promise.reject(response.data)
|
|
|
+ }
|
|
|
+ }).catch(err => {
|
|
|
+ this.$message.error(err.errMsg)
|
|
|
+ })
|
|
|
+ }
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
@@ -177,31 +462,19 @@
|
|
|
top: 45px;
|
|
|
left: 265px;
|
|
|
span{
|
|
|
- margin-right: 85px;
|
|
|
+ margin-right: 57px;
|
|
|
font-size: 14px;
|
|
|
color: #b4b4b4;
|
|
|
}
|
|
|
span.active {
|
|
|
color: #0076ad;
|
|
|
}
|
|
|
- span.step01{
|
|
|
- margin-right: 65px;
|
|
|
- }
|
|
|
- span.step02{
|
|
|
- margin-right: 65px;
|
|
|
- }
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
form {
|
|
|
+ margin-top: 150px;
|
|
|
padding-bottom: 44px;
|
|
|
- margin-top: 152px;
|
|
|
- .form-group{
|
|
|
- position: relative;
|
|
|
- margin: 0 auto 16px;
|
|
|
- width: 360px;
|
|
|
- height: 44px;
|
|
|
- line-height: 44px;
|
|
|
input{
|
|
|
padding: 0 0 0 18px;
|
|
|
width: 360px;
|
|
|
@@ -211,64 +484,6 @@
|
|
|
color: #000;
|
|
|
border-radius: 0;
|
|
|
}
|
|
|
- input.msg{
|
|
|
- float: left;
|
|
|
- width: 210px;
|
|
|
- padding: 0 0 0 18px;
|
|
|
- height: 44px;
|
|
|
- line-height: 44px;
|
|
|
- font-size: 14px;
|
|
|
- color: #000;
|
|
|
- border-radius: 0;
|
|
|
- }
|
|
|
- span.msg{
|
|
|
- float: right;
|
|
|
- margin: 0;
|
|
|
- width: 130px;
|
|
|
- height: 44px;
|
|
|
- line-height: 44px;
|
|
|
- text-align: center ;
|
|
|
- font-size: 14px;
|
|
|
- color: #5a5a5a;
|
|
|
- background: #f4f4f4;
|
|
|
- border: 1px solid #dcdcdc;
|
|
|
- cursor: pointer;
|
|
|
- }
|
|
|
- span.msg.send{
|
|
|
- background: #d2d2d2;
|
|
|
- color: #fff;
|
|
|
- }
|
|
|
- textarea.describe {
|
|
|
- float: left;
|
|
|
- padding: 10px 0 0 18px;
|
|
|
- margin-bottom: 16px;
|
|
|
- height: 120px;
|
|
|
- width: 360px;
|
|
|
- font-size: 14px;
|
|
|
- color: #000;
|
|
|
- border-radius: 0;
|
|
|
- }
|
|
|
- span.describe {
|
|
|
- position: absolute;
|
|
|
- top: 10px;
|
|
|
- right: -250px;
|
|
|
- width: 240px;
|
|
|
- line-height: 21px;
|
|
|
- text-align: left;
|
|
|
- font-size: 13px;
|
|
|
- color: #8c8c8c;
|
|
|
- }
|
|
|
- img.msg{
|
|
|
- float: right;
|
|
|
- margin: 0;
|
|
|
- width: 130px;
|
|
|
- height: 44px;
|
|
|
- line-height: 44px;
|
|
|
- text-align: center ;
|
|
|
- font-size: 14px;
|
|
|
- border: 1px solid #dcdcdc;
|
|
|
- cursor: pointer;
|
|
|
- }
|
|
|
input.answer {
|
|
|
background: url("/images/all/more.png") no-repeat 325px center;
|
|
|
cursor: pointer;
|
|
|
@@ -311,6 +526,15 @@
|
|
|
color: #0076ad;
|
|
|
}
|
|
|
}
|
|
|
+ span.tip.codeError-tip{
|
|
|
+ position: absolute;
|
|
|
+ top: 3px;
|
|
|
+ left: 378px;
|
|
|
+ width: 200px;
|
|
|
+ text-align: left;
|
|
|
+ color: #ff4949;
|
|
|
+ font-size: 12px;
|
|
|
+ }
|
|
|
i{
|
|
|
position: absolute;
|
|
|
top: 13px;
|
|
|
@@ -318,21 +542,17 @@
|
|
|
font-size: 20px;
|
|
|
color: #a0a0a0;
|
|
|
}
|
|
|
- }
|
|
|
.btn {
|
|
|
margin: 34px 0 16px 0;
|
|
|
width: 360px;
|
|
|
height: 44px;
|
|
|
- line-height: 4px;
|
|
|
+ line-height: 44px;
|
|
|
font-size: 16px;
|
|
|
color: #fff;
|
|
|
background: #0076AD;
|
|
|
border-radius: 3px;
|
|
|
}
|
|
|
}
|
|
|
- .forms{
|
|
|
- margin-top: 37px;
|
|
|
- }
|
|
|
.content-bottom{
|
|
|
margin: 155px auto 0;
|
|
|
padding-bottom: 50px;
|
|
|
@@ -364,10 +584,12 @@
|
|
|
}
|
|
|
span{
|
|
|
display: inline-block;
|
|
|
- margin: 15px 0 140px 0;
|
|
|
font-size: 14px;
|
|
|
color: #8b8b8b;
|
|
|
}
|
|
|
+ span.close-tip{
|
|
|
+ margin: 15px 0 140px 0;
|
|
|
+ }
|
|
|
.close-btn{
|
|
|
margin: 0 auto;
|
|
|
width: 200px;
|
|
|
@@ -393,11 +615,54 @@
|
|
|
color: #000;
|
|
|
}
|
|
|
}
|
|
|
+ .form-group {
|
|
|
+ margin: 0 auto 16px;
|
|
|
+ position: relative;
|
|
|
+ width: 360px;
|
|
|
+ height: 44px;
|
|
|
+ line-height: 44px;
|
|
|
+ input{
|
|
|
+ padding: 0 0 0 18px;
|
|
|
+ width: 360px;
|
|
|
+ height: 44px;
|
|
|
+ line-height: 44px;
|
|
|
+ font-size: 14px;
|
|
|
+ color: #000;
|
|
|
+ border-radius: 0;
|
|
|
+ }
|
|
|
+ input.msg{
|
|
|
+ float: left;
|
|
|
+ width: 210px;
|
|
|
+ padding: 0 0 0 18px;
|
|
|
+ height: 44px;
|
|
|
+ line-height: 44px;
|
|
|
+ font-size: 14px;
|
|
|
+ color: #000;
|
|
|
+ border-radius: 0;
|
|
|
+ }
|
|
|
+ span.msg{
|
|
|
+ float: right;
|
|
|
+ margin: 0;
|
|
|
+ width: 130px;
|
|
|
+ height: 44px;
|
|
|
+ line-height: 44px;
|
|
|
+ text-align: center ;
|
|
|
+ font-size: 14px;
|
|
|
+ color: #5a5a5a;
|
|
|
+ background: #f4f4f4;
|
|
|
+ border: 1px solid #dcdcdc;
|
|
|
+ cursor: pointer;
|
|
|
+ }
|
|
|
+ span.msg.send{
|
|
|
+ background: #d2d2d2;
|
|
|
+ color: #fff;
|
|
|
+ }
|
|
|
+ }
|
|
|
.btn {
|
|
|
margin: 34px 0 10px 0;
|
|
|
width: 360px;
|
|
|
height: 44px;
|
|
|
- line-height: 4px;
|
|
|
+ line-height: 44px;
|
|
|
font-size: 16px;
|
|
|
color: #fff;
|
|
|
background: #0076AD;
|