|
|
@@ -0,0 +1,622 @@
|
|
|
+<template>
|
|
|
+ <div class="certification">
|
|
|
+ <div class="container">
|
|
|
+ <div class="content" v-show="goNextStep">
|
|
|
+ <div class="content-top">
|
|
|
+ <h3>密码重置</h3>
|
|
|
+ </div>
|
|
|
+ <div>
|
|
|
+ <el-form :model="passwordRest" :rules="rules" ref="passwordRest" label-width="100px" class="demo-ruleForm">
|
|
|
+ <el-form-item prop="mobile">
|
|
|
+ <el-input v-model="passwordRest.mobile" placeholder="新手机号码"></el-input>
|
|
|
+ </el-form-item>
|
|
|
+ <el-form-item prop="code">
|
|
|
+ <el-input type="text" v-model="passwordRest.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"
|
|
|
+ :disabled="getCodeBtnIsDisabled">获取验证码</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" >验证码输入错误</span>-->
|
|
|
+ </el-form-item>
|
|
|
+ <el-form-item prop="password">
|
|
|
+ <el-input type="password" v-model="passwordRest.password" auto-complete="off" placeholder="新密码"></el-input>
|
|
|
+ <div class="pwd sm" v-show="showMsgTip1">密码强度 <em></em><em></em><em></em><span>弱</span></div>
|
|
|
+ <div class="pwd md" v-show="showMsgTip2">密码强度 <em></em><em></em><em></em><span>中</span></div>
|
|
|
+ <div class="pwd lar" v-show="showMsgTip3">密码强度 <em></em><em></em><em></em><span>强</span></div>
|
|
|
+ <div class="pwd low" v-show="showMsgTip4">密码强度 <em></em><em></em><em></em></div>
|
|
|
+ </el-form-item>
|
|
|
+ <el-form-item prop="confirm">
|
|
|
+ <el-input type="password" v-model="passwordRest.confirm" auto-complete="off" placeholder="密码确认"></el-input>
|
|
|
+ </el-form-item>
|
|
|
+ <el-form-item prop="description">
|
|
|
+ <el-input type="textarea" v-model="passwordRest.description" placeholder="申诉说明"></el-input>
|
|
|
+ <span class="tip description" v-show="descriptionTip">请描述您申诉的原因,并尽可能多地列举出证明此账号为您所有的证据</span>
|
|
|
+ </el-form-item>
|
|
|
+ <el-form-item prop="contactName">
|
|
|
+ <el-input type="text" v-model="passwordRest.contactName" auto-complete="off" placeholder="姓名"></el-input>
|
|
|
+ </el-form-item>
|
|
|
+ <el-form-item prop="contactTel">
|
|
|
+ <el-input type="text" v-model="passwordRest.contactTel" auto-complete="off" placeholder="联系电话"></el-input>
|
|
|
+ </el-form-item>
|
|
|
+ <el-form-item prop="contactEmail">
|
|
|
+ <el-input type="text" v-model="passwordRest.contactEmail" auto-complete="off" placeholder="电子邮箱"></el-input>
|
|
|
+ </el-form-item>
|
|
|
+ <el-form-item>
|
|
|
+ <a class="btn finish"
|
|
|
+ @click="submit"
|
|
|
+ :disabled="!checked || !mobileChecked || !codeChecked || !passwordChecked || !confirmChecked || !descriptionChecked || !contactNameChecked || !contactTelChecked || !contactEmailChecked">提交</a>
|
|
|
+ </el-form-item>
|
|
|
+ <el-form-item>
|
|
|
+ <el-checkbox name="type" v-model="checked" @click="checkboxChecked"></el-checkbox>
|
|
|
+ <span class="agree">我已阅读并同意 <a href="/common/agreement">《优软云服务条款》</a></span>
|
|
|
+ </el-form-item>
|
|
|
+ </el-form>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ <div class="content" v-show="!goNextStep">
|
|
|
+ <div class="content-top">
|
|
|
+ <h3>密码重置</h3>
|
|
|
+ </div>
|
|
|
+ <div class="content-bottom">
|
|
|
+ <p class="passed"><img src="/images/all/pass.png" alt=""/>申诉已提交</p>
|
|
|
+ <span>申诉内容已提交,请耐心等待审核</span>
|
|
|
+ <div class="close-btn" @click="goReturn">关闭</div>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+</template>
|
|
|
+
|
|
|
+<script>
|
|
|
+ export default {
|
|
|
+ name: 'AccountAppeal',
|
|
|
+ data () {
|
|
|
+ var validateMobile = (rule, value, callback) => {
|
|
|
+ if (value === '') {
|
|
|
+ callback(new Error('请填写正确的手机号'))
|
|
|
+ this.getCodeBtnIsDisabled = true
|
|
|
+ this.mobileChecked = false
|
|
|
+ } else {
|
|
|
+ if (this.passwordRest.mobile !== '') {
|
|
|
+ var reg = /^1[0-9]{10}$/
|
|
|
+ if (!reg.test(value)) {
|
|
|
+ callback(new Error('请填写正确的手机号'))
|
|
|
+ this.getCodeBtnIsDisabled = true
|
|
|
+ this.mobileChecked = false
|
|
|
+ } else {
|
|
|
+ this.getCodeBtnIsDisabled = false
|
|
|
+ this.mobileChecked = true
|
|
|
+ }
|
|
|
+ }
|
|
|
+ callback()
|
|
|
+ }
|
|
|
+ }
|
|
|
+ var validateCode = (rule, value, callback) => {
|
|
|
+ if (value === '') {
|
|
|
+ callback(new Error('请填写正确的验证码'))
|
|
|
+ this.codeErrorChecked = false
|
|
|
+ this.codeChecked = false
|
|
|
+ } else {
|
|
|
+ if (this.passwordRest.code !== '') {
|
|
|
+ if (this.token !== '') {
|
|
|
+ if (this.passwordRest.code !== '' && this.passwordRest.mobile !== '') {
|
|
|
+ let param = new FormData()
|
|
|
+ param.append('mobile', this.passwordRest.mobile)
|
|
|
+ param.append('code', this.passwordRest.code)
|
|
|
+ param.append('token', this.token)
|
|
|
+ let config = {
|
|
|
+ headers: {'Content-Type': 'multipart/form-data'}
|
|
|
+ }
|
|
|
+ this.$http.post(`/appeal/check/mobile`, 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.$message.error(err.errMsg)
|
|
|
+ })
|
|
|
+ }
|
|
|
+ } else {}
|
|
|
+ }
|
|
|
+ callback()
|
|
|
+ }
|
|
|
+ }
|
|
|
+ var validatePassword = (rule, value, callback) => {
|
|
|
+ if (this.passwordRest.password !== '') {
|
|
|
+ if (value.length <= 20 && value.length >= 8) {
|
|
|
+ var reg1 = /^(?=.{8,20})(((?=.*[0-9])(?=.*[a-z])(?=.*[A-Z]))|((?=.*[0-9])((?=.*[a-zA-Z]))(?=.*[^a-zA-Z0-9]))).*$/
|
|
|
+ var reg2 = /^(?=.{8,20})(((?=.*[0-9])(?=.*[a-z]))|((?=.*[0-9])(?=.*[A-Z]))).*$/
|
|
|
+ if (reg1.test(value)) {
|
|
|
+// callback(new Error('密码强度强'))
|
|
|
+ this.showMsgTip3 = true
|
|
|
+ this.showMsgTip2 = false
|
|
|
+ this.showMsgTip1 = false
|
|
|
+ this.showMsgTip4 = false
|
|
|
+ this.passwordChecked = true
|
|
|
+ } else if (reg2.test(value)) {
|
|
|
+// callback(new Error('密码强度中'))
|
|
|
+ this.showMsgTip2 = true
|
|
|
+ this.showMsgTip3 = false
|
|
|
+ this.showMsgTip1 = false
|
|
|
+ this.showMsgTip4 = false
|
|
|
+ this.passwordChecked = true
|
|
|
+ } else {
|
|
|
+ this.showMsgTip1 = true
|
|
|
+ this.showMsgTip3 = false
|
|
|
+ this.showMsgTip2 = false
|
|
|
+ this.showMsgTip4 = false
|
|
|
+ this.passwordChecked = false
|
|
|
+ }
|
|
|
+ } else {
|
|
|
+ this.showMsgTip3 = false
|
|
|
+ this.showMsgTip2 = false
|
|
|
+ this.showMsgTip1 = false
|
|
|
+ this.showMsgTip4 = true
|
|
|
+ this.passwordChecked = false
|
|
|
+ }
|
|
|
+ }
|
|
|
+ callback()
|
|
|
+ }
|
|
|
+ var validatePasswordTip = (rule, value, callback) => {
|
|
|
+ if (value === '') {
|
|
|
+ callback(new Error('请输入密码'))
|
|
|
+ this.passwordChecked = false
|
|
|
+ } else {
|
|
|
+ if (this.passwordRest.password !== '') {
|
|
|
+ if (value.length <= 20 && value.length >= 8) {
|
|
|
+ var reg1 = /^(?=.{8,20})(((?=.*[0-9])(?=.*[a-z])(?=.*[A-Z]))|((?=.*[0-9])((?=.*[a-zA-Z]))(?=.*[^a-zA-Z0-9]))).*$/
|
|
|
+ var reg2 = /^(?=.{8,20})(((?=.*[0-9])(?=.*[a-z]))|((?=.*[0-9])(?=.*[A-Z]))).*$/
|
|
|
+ if (reg1.test(value)) {
|
|
|
+ this.passwordChecked = true
|
|
|
+ } else if (reg2.test(value)) {
|
|
|
+ this.passwordChecked = true
|
|
|
+ } else {
|
|
|
+ callback(new Error('密码须为8-20字符的英文、数字混合'))
|
|
|
+ this.passwordChecked = false
|
|
|
+ }
|
|
|
+ } else {
|
|
|
+ callback(new Error('密码须为8-20字符的英文、数字混合'))
|
|
|
+ this.passwordChecked = false
|
|
|
+ }
|
|
|
+ }
|
|
|
+ callback()
|
|
|
+ }
|
|
|
+ }
|
|
|
+ var validateConfirm = (rule, value, callback) => {
|
|
|
+ if (value === '') {
|
|
|
+ callback(new Error('请再次输入密码'))
|
|
|
+ this.confirmChecked = false
|
|
|
+ } else if (value !== this.passwordRest.password) {
|
|
|
+ callback(new Error('两次输入密码不一致!'))
|
|
|
+ this.confirmChecked = false
|
|
|
+ } else {
|
|
|
+ this.confirmChecked = true
|
|
|
+ callback()
|
|
|
+ }
|
|
|
+ }
|
|
|
+ var validateDescription = (rule, value, callback) => {
|
|
|
+ if (value === '') {
|
|
|
+ callback(new Error('请填写申诉说明'))
|
|
|
+ this.descriptionChecked = false
|
|
|
+ this.descriptionTip = false
|
|
|
+ } else {
|
|
|
+ if (this.passwordRest.description !== '') {
|
|
|
+ if (value.length >= 100) {
|
|
|
+ callback(new Error('输入长度过长,100个字符以内'))
|
|
|
+ this.descriptionChecked = false
|
|
|
+ this.descriptionTip = false
|
|
|
+ } else {
|
|
|
+ this.descriptionChecked = true
|
|
|
+ this.descriptionTip = false
|
|
|
+ }
|
|
|
+ }
|
|
|
+ callback()
|
|
|
+ }
|
|
|
+ }
|
|
|
+ var validateContactName = (rule, value, callback) => {
|
|
|
+ if (value === '') {
|
|
|
+ callback(new Error('请填写您的姓名'))
|
|
|
+ this.contactNameChecked = false
|
|
|
+ } else {
|
|
|
+ if (this.passwordRest.contactName !== '') {
|
|
|
+ if (value.length >= 20) {
|
|
|
+ callback(new Error('输入长度过长,20个字符以内'))
|
|
|
+ this.contactNameChecked = false
|
|
|
+ } else {
|
|
|
+ this.contactNameChecked = true
|
|
|
+ }
|
|
|
+ }
|
|
|
+ callback()
|
|
|
+ }
|
|
|
+ }
|
|
|
+ var validateContactTel = (rule, value, callback) => {
|
|
|
+ if (value === '') {
|
|
|
+ callback(new Error('请填写正确的联系电话'))
|
|
|
+ this.contactTelChecked = false
|
|
|
+ } else {
|
|
|
+ if (this.passwordRest.contactTel !== '') {
|
|
|
+ var reg = /^1[0-9]{10}$/
|
|
|
+ if (!reg.test(value)) {
|
|
|
+ callback(new Error('请填写正确的联系电话'))
|
|
|
+ this.contactTelChecked = false
|
|
|
+ } else {
|
|
|
+ this.contactTelChecked = true
|
|
|
+ }
|
|
|
+ }
|
|
|
+ callback()
|
|
|
+ }
|
|
|
+ }
|
|
|
+ var validateContactEmail = (rule, value, callback) => {
|
|
|
+ if (value === '') {
|
|
|
+ callback(new Error('请填写正确的电子邮箱'))
|
|
|
+ this.contactEmailChecked = false
|
|
|
+ } else {
|
|
|
+ if (this.passwordRest.contactEmail !== '') {
|
|
|
+ var reg = /^([\w-])+(\.\w+)*@([\w-])+((\.\w{2,3}){1,3})$/
|
|
|
+ if (!reg.test(value)) {
|
|
|
+ callback(new Error('请输入正确的邮箱地址格式'))
|
|
|
+ this.contactEmailChecked = false
|
|
|
+ } else {
|
|
|
+ this.contactEmailChecked = true
|
|
|
+ }
|
|
|
+ }
|
|
|
+ callback()
|
|
|
+ }
|
|
|
+ }
|
|
|
+ return {
|
|
|
+ goNextStep: true,
|
|
|
+ passwordRest: {
|
|
|
+ mobile: '',
|
|
|
+ code: '',
|
|
|
+ password: '',
|
|
|
+ conform: '',
|
|
|
+ description: '',
|
|
|
+ contactName: '',
|
|
|
+ contactTel: '',
|
|
|
+ contactEmail: ''
|
|
|
+ },
|
|
|
+ checked: true,
|
|
|
+ sendAccountCode: true,
|
|
|
+ account_time: 0,
|
|
|
+ getCodeBtnIsDisabled: true,
|
|
|
+ codeErrorChecked: false,
|
|
|
+ descriptionTip: true,
|
|
|
+ showMsgTip1: false,
|
|
|
+ showMsgTip2: false,
|
|
|
+ showMsgTip3: false,
|
|
|
+ showMsgTip4: false,
|
|
|
+ mobileChecked: false,
|
|
|
+ codeChecked: false,
|
|
|
+ passwordChecked: false,
|
|
|
+ confirmChecked: false,
|
|
|
+ descriptionChecked: false,
|
|
|
+ contactNameChecked: false,
|
|
|
+ contactTelChecked: false,
|
|
|
+ contactEmailChecked: false,
|
|
|
+ rules: {
|
|
|
+ mobile: [
|
|
|
+ {validator: validateMobile, trigger: 'blur'}
|
|
|
+ ],
|
|
|
+ code: [
|
|
|
+ {validator: validateCode, trigger: 'blur'}
|
|
|
+ ],
|
|
|
+ password: [
|
|
|
+ {validator: validatePassword, trigger: 'change'},
|
|
|
+ {validator: validatePasswordTip, trigger: 'blur'}
|
|
|
+ ],
|
|
|
+ confirm: [
|
|
|
+ {validator: validateConfirm, trigger: 'blur'}
|
|
|
+ ],
|
|
|
+ description: [
|
|
|
+ {validator: validateDescription, trigger: 'blur'}
|
|
|
+ ],
|
|
|
+ contactName: [
|
|
|
+ {validator: validateContactName, trigger: 'blur'}
|
|
|
+ ],
|
|
|
+ contactTel: [
|
|
|
+ {validator: validateContactTel, trigger: 'blur'}
|
|
|
+ ],
|
|
|
+ contactEmail: [
|
|
|
+ {validator: validateContactEmail, trigger: 'blur'}
|
|
|
+ ]
|
|
|
+ }
|
|
|
+ }
|
|
|
+ },
|
|
|
+ methods: {
|
|
|
+// 判断我同意是否被选中
|
|
|
+ checkboxChecked () {
|
|
|
+ this.checked = !this.checked
|
|
|
+ },
|
|
|
+// 获取校验码
|
|
|
+ getCheckCode () {
|
|
|
+ this.$http.get(`/appeal/check/mobile`, {params: {mobile: this.passwordRest.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)
|
|
|
+ })
|
|
|
+ },
|
|
|
+ // 提交表单
|
|
|
+ submit () {
|
|
|
+ if (this.mobileChecked && this.codeChecked && this.passwordChecked && this.confirmChecked && this.descriptionChecked && this.contactNameChecked && this.contactTelChecked && this.contactEmailChecked && this.checked) {
|
|
|
+ let param = new FormData()
|
|
|
+ param.append('mobile', this.passwordRest.mobile)
|
|
|
+ param.append('code', this.passwordRest.code)
|
|
|
+ param.append('password', this.passwordRest.password)
|
|
|
+ param.append('description', this.passwordRest.description)
|
|
|
+ param.append('contactName', this.passwordRest.contactName)
|
|
|
+ param.append('contactTel', this.passwordRest.contactTel)
|
|
|
+ param.append('contactEmail', this.passwordRest.contactEmail)
|
|
|
+ param.append('token', this.token)
|
|
|
+ let config = {
|
|
|
+ headers: {'Content-Type': 'multipart/form-data'}
|
|
|
+ }
|
|
|
+ this.$http.post('/appeal/resetPwd', param, config)
|
|
|
+ .then(response => {
|
|
|
+ if (response.data.success) {
|
|
|
+ this.goNextStep = false
|
|
|
+// 待跳转到设置页面
|
|
|
+// window.loaction.href = ''
|
|
|
+ } else {
|
|
|
+ this.goNextStep = true
|
|
|
+ return Promise.reject(response.data)
|
|
|
+ }
|
|
|
+ }).catch(err => {
|
|
|
+ this.$message.error(err.errMsg)
|
|
|
+ })
|
|
|
+ }
|
|
|
+ },
|
|
|
+// 跳转至个人页面
|
|
|
+ goReturn () {
|
|
|
+// window.loaction.href = ''
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+</script>
|
|
|
+<style lang="scss" scoped>
|
|
|
+ .certification {
|
|
|
+ padding-bottom: 145px;
|
|
|
+ margin: 0 auto;
|
|
|
+ width: 100%;
|
|
|
+ background: #eee;
|
|
|
+ .container{
|
|
|
+ padding-top: 50px;
|
|
|
+ margin: 0 auto;
|
|
|
+ width: 980px;
|
|
|
+ text-align: center;
|
|
|
+ .content{
|
|
|
+ padding: 0 50px;
|
|
|
+ margin: 50px auto 0;
|
|
|
+ width: 100%;
|
|
|
+ text-align: center;
|
|
|
+ background: #fff;
|
|
|
+ .content-top{
|
|
|
+ height: 80px;
|
|
|
+ line-height: 80px;
|
|
|
+ h3{
|
|
|
+ margin-bottom: 0;
|
|
|
+ font-size: 24px;
|
|
|
+ color: #000;
|
|
|
+ border-bottom: 1px solid #dcdcdc;
|
|
|
+ }
|
|
|
+ .step{
|
|
|
+ position: relative;
|
|
|
+ margin-top: 10px;
|
|
|
+ img{
|
|
|
+ width: 315px;
|
|
|
+ height: 46px;
|
|
|
+ }
|
|
|
+ .step-item{
|
|
|
+ position: absolute;
|
|
|
+ top: 45px;
|
|
|
+ left: 265px;
|
|
|
+ span{
|
|
|
+ margin-right: 85px;
|
|
|
+ font-size: 14px;
|
|
|
+ color: #b4b4b4;
|
|
|
+ }
|
|
|
+ span.active {
|
|
|
+ color: #0076ad;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ form {
|
|
|
+ padding-bottom: 44px;
|
|
|
+ margin-top: 36px;
|
|
|
+ input{
|
|
|
+ padding: 0 0 0 18px;
|
|
|
+ width: 360px;
|
|
|
+ height: 44px;
|
|
|
+ line-height: 44px;
|
|
|
+ font-size: 14px;
|
|
|
+ color: #000;
|
|
|
+ border-radius: 0;
|
|
|
+ }
|
|
|
+ .pwd {
|
|
|
+ margin: 6px 0 -15px 0;
|
|
|
+ text-align: left;
|
|
|
+ font-size: 13px;
|
|
|
+ em{
|
|
|
+ display: inline-block;
|
|
|
+ margin: 0 8px 2px 0;
|
|
|
+ width: 24px;
|
|
|
+ height: 6px;
|
|
|
+ &:first-child{
|
|
|
+ margin-left: 10px;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ span{
|
|
|
+ margin-left: 10px;
|
|
|
+ font-size: 13px;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ .pwd.sm{
|
|
|
+ color: #8c8c8c;
|
|
|
+ em {
|
|
|
+ background: #bfbfbf;
|
|
|
+ &:first-child{
|
|
|
+ background: #ff4e00;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ span{
|
|
|
+ color: #ff4e00;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ .pwd.md{
|
|
|
+ color: #8c8c8c;
|
|
|
+ em {
|
|
|
+ background: #22ac38;
|
|
|
+ &:nth-child(3){
|
|
|
+ background: #bfbfbf;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ span{
|
|
|
+ color: #22ac38;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ .pwd.lar{
|
|
|
+ color: #8c8c8c;
|
|
|
+ em {
|
|
|
+ background: #00a0e9;
|
|
|
+ }
|
|
|
+ span{
|
|
|
+ color: #00a0e9;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ .pwd.low{
|
|
|
+ color: #8c8c8c;
|
|
|
+ em{
|
|
|
+ background: #bfbfbf;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ span.tip{
|
|
|
+ position: absolute;
|
|
|
+ top: 0;
|
|
|
+ right: -238px;
|
|
|
+ font-size: 13px;
|
|
|
+ color: #8c8c8c;
|
|
|
+ a{
|
|
|
+ font-size: 13px;
|
|
|
+ color: #0076ad;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ span.tip.description {
|
|
|
+ top: 10px;
|
|
|
+ right: -266px;
|
|
|
+ width: 245px;
|
|
|
+ line-height: 18px;
|
|
|
+ text-align: left;
|
|
|
+ }
|
|
|
+ span.tip.codeError-tip {
|
|
|
+ right: -112px;
|
|
|
+ color: #f56c6c;
|
|
|
+ }
|
|
|
+ i{
|
|
|
+ position: absolute;
|
|
|
+ top: 13px;
|
|
|
+ left: 20px;
|
|
|
+ font-size: 20px;
|
|
|
+ color: #a0a0a0;
|
|
|
+ }
|
|
|
+ input[type='checkbox']{
|
|
|
+ margin: 0 14px 0 55px;
|
|
|
+ float: left;
|
|
|
+ width: 16px;
|
|
|
+ height: 16px;
|
|
|
+ }
|
|
|
+ span.agree{
|
|
|
+ float: left;
|
|
|
+ margin: 1px 0 0 10px;
|
|
|
+ font-size: 14px;
|
|
|
+ color: #8b8b8b;
|
|
|
+ a{
|
|
|
+ color: #0076ad;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ .form-group.agree{
|
|
|
+ margin: 20px auto 0 !important;
|
|
|
+ }
|
|
|
+ .btn {
|
|
|
+ margin: 34px 0 16px 0;
|
|
|
+ width: 360px;
|
|
|
+ height: 44px;
|
|
|
+ line-height: 44px;
|
|
|
+ font-size: 16px;
|
|
|
+ color: #fff;
|
|
|
+ background: #0076AD;
|
|
|
+ border-radius: 3px;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ .content-bottom{
|
|
|
+ margin-top: 35px;
|
|
|
+ padding-bottom: 50px;
|
|
|
+ p{
|
|
|
+ font-size: 24px;
|
|
|
+ color: #323232;
|
|
|
+ img{
|
|
|
+ margin-right: 20px;
|
|
|
+ width: 30px;
|
|
|
+ height: 28px;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ p.pass{
|
|
|
+ font-size: 24px;
|
|
|
+ color: #e77405;
|
|
|
+ img{
|
|
|
+ height: 30px;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ p.passed {
|
|
|
+ color: #2ab300;
|
|
|
+ img{
|
|
|
+ height: 30px;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ span{
|
|
|
+ display: inline-block;
|
|
|
+ margin: 15px 0 140px 0;
|
|
|
+ font-size: 14px;
|
|
|
+ color: #8b8b8b;
|
|
|
+ }
|
|
|
+ .close-btn{
|
|
|
+ margin: 0 auto;
|
|
|
+ width: 200px;
|
|
|
+ height: 36px;
|
|
|
+ line-height: 36px;
|
|
|
+ font-size: 14px;
|
|
|
+ text-align: center;
|
|
|
+ color: #323232;
|
|
|
+ border: 1px solid #d2d2d2;
|
|
|
+ border-radius: 3px;
|
|
|
+ cursor: pointer ;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+</style>
|