From 4cf29de231ee3503c48e0c1d098dab795091ff46 Mon Sep 17 00:00:00 2001
From: DESKTOP-CVS3R96\我恁爹 <11>
Date: Sun, 06 Nov 2022 18:00:27 +0800
Subject: [PATCH] 11.6
---
src/page/login/register.vue | 721 ++++++++++++++++++++++++++++++++++++++----------------
1 files changed, 502 insertions(+), 219 deletions(-)
diff --git a/src/page/login/register.vue b/src/page/login/register.vue
index 4547e48..00a1170 100644
--- a/src/page/login/register.vue
+++ b/src/page/login/register.vue
@@ -1,18 +1,18 @@
<template>
<div class="login_page">
<headers :mess="loginWay" />
- <div class="img_mess">
+ <!-- <div class="img_mess">
<div class="logo_content animated fadeInRight">
<img :src="Logo" alt />
</div>
- </div>
+ </div> -->
<div class="logins_content">
<div class="login_title animated slideInDown">
- <span>{{ '邮箱注册' }}</span>
+ <span>{{ '手机注册' }}</span>
</div>
<div class="login_forms">
<div class="top_forms">
- <div class="user_name">
+ <!-- <div class="user_name">
<input type="text" :placeholder="placeholder" v-model="phone" />
</div>
<div class="captcha">
@@ -22,279 +22,562 @@
</div>
<div class="password">
<input type="password" placeholder="密码为6~12位数字、字母或符号" v-model="userPassword" />
- <!-- @input="handleInput()" -->
+ @input="handleInput()"
</div>
<div class="password">
<input type="password" placeholder="请再次确认密码" v-model="rePassword" />
</div>
<div class="user_name">
<input type="text" placeholder="机构代码" v-model="userName" />
- </div>
+ </div> -->
+ <el-input :placeholder="placeholder" :size="medium" v-model="phone" clearable @input="handleInput()">
+ </el-input>
+ <!-- <el-input style="margin-top: 0.46rem;" :placeholder="verification" :size="medium" v-model="code" clearable>
+ </el-input> -->
+ <el-input style="margin-top: 0.46rem;" show-password placeholder="密码为6~12位数字、字母或符号" :size="medium"
+ v-model="userPassword" @input="handleInput()">
+ </el-input>
+ <el-input style="margin-top: 0.46rem;" show-password placeholder="请再次确认密码" :size="medium" v-model="rePassword"
+ @input="handleInput()">
+ </el-input>
+ <el-input style="margin-top: 0.46rem;" placeholder="邀请码" :size="medium" v-model="userName" clearable
+ @input="handleInput()">
+ </el-input>
</div>
- <div class="bottom_btns">
- <div class="top_btn" @click="gook" :class="btnClass ? 'on' : 'off'">
+ <div class="bottom_btns" :class="btnClass ? 'on' : 'off'">
+ <div class="top_btn " @click="gook" :class="dengl ? 'animated pulse' : ''">
<span>{{ '安全注册' }}</span>
</div>
- <div
+ <!-- <div
class="register-form-item agree-model"
>
<i @click="isAgree"
:class="agree?'glyphicon glyphicon glyphicon-ok-sign blue':'glyphicon glyphicon-ok-circle'"></i>
我已阅读并同意
<a style="color:#fff">《注册协议》</a>
- </div>
+ </div> -->
<div class="mes">
<span>{{ '已有账户?' }}</span>
- <span @click="$router.push('/NewLogin')" style="color: rgb(54,124,248);">{{ '登录>' }}</span>
+ <span @click="$router.push('/login')" style="color: rgb(54,124,248);">{{ '登录>' }}</span>
</div>
</div>
</div>
</div>
+ <el-alert v-show="alertShow" :closable="closable" :title="texts" :type="elType" center></el-alert>
</div>
</template>
<script>
- import headers from "./components/header.vue";
- import Logo from "@/assets/img/LOGO2.png";
- import { isNull, isPhone, pwdReg } from '@/utils/utils'
- import { Toast } from 'mint-ui'
- import * as api from '@/axios/api'
- export default {
- components: {
- headers
- },
- name: "newRegister",
- data () {
- return{
- verification:"验证码",
- loginWay: "手机号注册",
- loginWay: "手机号注册",
- placeholder: "手机号",
- Logo,
- phone:"",
- userName: "",
- code:"",
- userPassword: "",
- btnClass: true,
- codeshow: true,
- count: '', // 倒计时
- clickFalg: 0, // 点击次数
- rePassword:"",
- agree:false,
- }},
- mounted(){
+import headers from "./components/header.vue";
+import Logo from "@/assets/img/LOGO2.png";
+import { isNull, isPhone, pwdReg } from '@/utils/utils'
+import { Toast } from 'mint-ui'
+import * as api from '@/axios/api'
+export default {
+ components: {
+ headers
+ },
+ name: "newRegister",
+ data() {
+ return {
+ verification: "验证码",
+ loginWay: "手机号注册",
+ loginWay: "手机号注册",
+ placeholder: "手机号",
+ Logo,
+ phone: "",
+ userName: "",
+ code: "",
+ userPassword: "",
+ btnClass: false,
+ codeshow: true,
+ count: '', // 倒计时
+ clickFalg: 0, // 点击次数
+ rePassword: "",
+ agree: false,
+ dengl: false,
+ alertShow: false,
+ closable: false,
+ texts: "",
+ elType: "warning",
+ }
+ },
+ mounted() {
- },
- methods:{
- checkCodeBox () {
- if (isNull(this.phone) || !isPhone(this.phone)) {
- Toast('请输入正确的手机号')
+ },
+ methods: {
+ handleInput() {
+
+ if (this.userPassword !== "" && this.phone !== '' && this.userPassword == this.rePassword && this.userName != "") {
+ this.btnClass = true;
+ } else {
+ this.btnClass = false;
+ }
+ },
+ checkCodeBox() {
+ if (isNull(this.phone) || !isPhone(this.phone)) {
+ // Toast('请输入正确的手机号')
+ this.texts = "请输入正确的手机号"
+ this.alertShow = true
+ setTimeout(() => {
+ this.alertShow = false
+ }, 2000)
+ } else {
+ this.checkPhone()
+ }
+ },
+ async is_login(){
+ //获取localStorage中的token
+ let token = localStorage.getItem('USERTOEKN')
+ if(token){
+ this.$router.push('/home')
+ }
+ },
+
+ async getcode() {
+ // if(!this.checkCode()){
+ // // 验证图形码是否正确
+ // Toast('请输入正确图形验证码')
+ // return
+ // }
+ // 获取验证码
+ if (this.clickFalg !== 0) {
+ this.clickFalg = 0
+ return
+ }
+ this.clickFalg++
+ // var reg = 11 && /^((13|14|15|17|18)[0-9]{1}\d{8})$/
+ let reg = /^[0-9]{11}$/ // 手机号码验证
+ if (isNull(this.phone)) {
+ this.texts = "手机号不能为空"
+ this.alertShow = true
+ setTimeout(() => {
+ this.alertShow = false
+ }, 2000)
+ } else {
+ if (!reg.test(this.phone)) {
+ this.texts = "请输入正确的手机号码"
+ this.alertShow = true
+ setTimeout(() => {
+ this.alertShow = false
+ }, 2000)
} else {
- this.checkPhone()
- }
- },
- async getcode () {
- // if(!this.checkCode()){
- // // 验证图形码是否正确
- // Toast('请输入正确图形验证码')
- // return
- // }
- // 获取验证码
- if (this.clickFalg !== 0) {
- this.clickFalg = 0
- return
- }
- this.clickFalg++
- // var reg = 11 && /^((13|14|15|17|18)[0-9]{1}\d{8})$/
- let reg = /^[0-9]{11}$/ // 手机号码验证
- if (isNull(this.phone)) {
- Toast('手机号不可为空')
- } else {
- if (!reg.test(this.phone)) {
- Toast('请输入正确的手机号码')
- } else {
- // var sign = this.$md5(this.phone+'W&WzL42v').toUpperCase()
- let result = await api.getCode({ phoneNum: this.phone })
- if (result.status === 0) {
- const TIME_COUNT = 60
- if (!this.timer) {
- this.count = TIME_COUNT
- this.codeshow = false
- this.clickFalg = 0
- this.timer = setInterval(() => {
- if (this.count > 0 && this.count <= TIME_COUNT) {
- this.count--
- } else {
- this.codeshow = true
- clearInterval(this.timer)
- this.timer = null
- }
- }, 1000)
- } else {
- Toast(result.msg)
- }
+ // var sign = this.$md5(this.phone+'W&WzL42v').toUpperCase()
+ let result = await api.getCode({ phoneNum: this.phone })
+ if (result.status === 0) {
+ const TIME_COUNT = 60
+ if (!this.timer) {
+ this.count = TIME_COUNT
+ this.codeshow = false
+ this.clickFalg = 0
+ this.timer = setInterval(() => {
+ if (this.count > 0 && this.count <= TIME_COUNT) {
+ this.count--
+ } else {
+ this.codeshow = true
+ clearInterval(this.timer)
+ this.timer = null
+ }
+ }, 1000)
} else {
- Toast(result.msg)
+ // Toast(result.msg)
+ this.texts = result.msg
+ this.elType = "success"
+ this.alertShow = true
+ setTimeout(() => {
+ this.alertShow = false
+ this.elType = "warning"
+
+ }, 2000)
}
+ } else {
+ this.texts = result.msg
+ this.alertShow = true
+ setTimeout(() => {
+ this.alertShow = false
+ }, 2000)
}
}
- },
- async gook () {
- // 注册
- if (!this.agree) {
- Toast('需同意注册协议才能注册!')
- } else if (isNull(this.phone) || !isPhone(this.phone)) {
- Toast('请输入正确的手机号码')
- } else if (isNull(this.userPassword)) {
- Toast('请输入密码')
- } else if (isNull(this.rePassword)) {
- Toast('请确认密码')
- } else if (isNull(this.code)) {
- Toast('请输入验证码')
- } else if (this.userPassword !== this.rePassword) {
- Toast('两次输入的密码不一致')
+ }
+ },
+ async gook() {
+ this.dengl = true
+ setTimeout(() => {
+ this.dengl = false
+ }, 1000)
+ if (this.loginBtn) {
+ return;
+ }
+ this.loginBtn = true;
+ // 注册
+ // if (!this.agree) {
+ // Toast('需同意注册协议才能注册!')
+ // this.loginBtn = false;
+ // } else
+ if (isNull(this.phone) || !isPhone(this.phone)) {
+
+ this.texts = "请输入正确的手机号码"
+ this.alertShow = true
+ setTimeout(() => {
+ this.alertShow = false
+ }, 2000)
+ this.loginBtn = false;
+ } else if (isNull(this.userPassword)) {
+ this.texts = "请输入密码"
+ this.alertShow = true
+ setTimeout(() => {
+ this.alertShow = false
+ }, 2000)
+ this.loginBtn = false;
+ } else if (isNull(this.rePassword)) {
+ this.texts = "请确认密码"
+ this.alertShow = true
+ setTimeout(() => {
+ this.alertShow = false
+ }, 2000)
+ this.loginBtn = false;
+ } else
+ // if (isNull(this.code)) {
+ // this.texts="请输入验证码"
+ // this.alertShow=true
+ // setTimeout(()=>{
+ // this.alertShow=false
+ // },2000)
+ // this.loginBtn = false;
+ // } else
+ if (this.userPassword !== this.rePassword) {
+ this.texts = "两次输入的密码不一致"
+ this.alertShow = true
+ setTimeout(() => {
+ this.alertShow = false
+ }, 2000)
this.password = 0
this.password2 = 0
+ this.loginBtn = false;
} else if (!pwdReg(this.userPassword)) {
- Toast('密码为6~12位,数字、字母或符号')
+
+ this.texts = "密码为6~12位,数字、字母或符号"
+ this.alertShow = true
+ setTimeout(() => {
+ this.alertShow = false
+ }, 2000)
+ this.loginBtn = false;
} else if (isNull(this.userName)) {
- Toast('请输入机构代码')
+ this.texts = "请输入邀请码"
+ this.alertShow = true
+ setTimeout(() => {
+ this.alertShow = false
+ }, 2000)
+ this.loginBtn = false;
} else {
let opts = {
// agentCode:'4023', // SR330001
phone: this.phone,
- yzmCode: this.code,
+ yzmCode: '6666',
userPwd: this.userPassword,
agentCode: this.userName
}
let data = await api.register(opts)
if (data.status === 0) {
- Toast('注册成功,请登录')
- this.$router.push('/NewLogin')
+
+ this.texts = "注册成功,请登录"
+ this.elType = "success"
+ this.alertShow = true
+ setTimeout(() => {
+ this.alertShow = false
+ this.elType = "warning"
+ }, 2000)
+ this.loginBtn = false;
+ this.$router.push('/login')
} else {
- Toast(data.msg)
+ this.texts = data.msg
+ this.alertShow = true
+ setTimeout(() => {
+ this.alertShow = false
+ }, 2000)
+ this.loginBtn = false;
}
}
- },
- isAgree () {
- this.agree=!this.agree
- },
- async checkPhone () {
- // 先验证是否已经注册
- let data = await api.checkPhone({ phoneNum: this.phone })
- if (data.status === 0) {
- // 如果用户已存在返回 0
- Toast('用户已注册,请登录')
- this.$router.push('/login')
- } else {
- // this.dialogShow = false
- // this.adminUrl = process.env.API_HOST
- // if (this.adminUrl === undefined) {
- // this.adminUrl = ''
- // }
- // this.gook()
- this.getcode()
- }
- },
- },
+ },
+ isAgree() {
+ this.agree = !this.agree
+ },
+ async checkPhone() {
+ // 先验证是否已经注册
+ let data = await api.checkPhone({ phoneNum: this.phone })
+ if (data.status === 0) {
+ // 如果用户已存在返回 0
+ this.texts = "用户已注册,请登录"
+ this.alertShow = true
+ setTimeout(() => {
+ this.alertShow = false
+ }, 2000)
+ this.$router.push('/login')
+ } else {
+ // this.dialogShow = false
+ // this.adminUrl = process.env.API_HOST
+ // if (this.adminUrl === undefined) {
+ // this.adminUrl = ''
+ // }
+ // this.gook()
+ this.getcode()
+ }
+ },
+ },
- }
+}
</script>
<style scoped lang="less">
- .logins_content {
- width: 100%;
- height: 9.7436rem;
- margin-top: 0.4359rem;
- padding: 0 0.2564rem;
- .login_title {
- width: 100%;
- height: 2.0513rem;
- display: flex;
- justify-content: center;
- align-items: center;
- font-size: 0.6923rem;
- color: #fff;
- }
- .login_forms {
- width: 100%;
- height: 7.9231rem;
- .top_forms {
- width: 100%;
- height: 4.5128rem;
- display: flex;
- align-items: center;
- flex-wrap: wrap;
- .user_name,.captcha,
- .password {
- width: 100%;
- height: 35%;
- background: #1e1e1e;
- border-radius: 0.3564rem;
- margin-top: 0.2rem;
- > input {
- width: 100%;
- height: 100%;
- padding-left: 0.3564rem;
- font-size: 0.4615rem;
- }
- }
- .captcha{
- display: flex;
- align-items: center;
- > input {
- width: 80%!important;
+.login_page {
+ position: relative;
+ background-color: #fff !important;
+ width: 100%;
+ height: 100%;
+ overflow: hidden;
+ overflow-y: auto;
+}
- }
- }
- }
- .bottom_btns {
- width: 100%;
- height: 3.3333rem;
- display: flex;
- flex-wrap: wrap;
- align-items: center;
- margin-top: 4.8128rem;
- .top_btn {
- width: 100%;
- height: 40%;
- border-radius: 0.3564rem;
- background: rgb(131, 174, 243);
- display: flex;
- align-items: center;
- justify-content: center;
- font-size: 0.5128rem;
- }
- .top_btn.on {
- background: rgb(0, 71, 187);
- }
- .mes {
- width: 100%;
- height: 40%;
- display: flex;
- justify-content: flex-end;
- align-items: center;
- font-size: 0.3846rem;
- }
- }
- }
- }
- .img_mess {
+.logins_content {
+
+ width: 100%;
+ height: 9.7436rem;
+ margin-top: 0.4359rem;
+ padding: 0 0.4564rem;
+
+ .login_title {
width: 100%;
- height: 4.0513rem;
+ height: 2.0513rem;
display: flex;
- justify-content: center;
+
align-items: center;
- .logo_content {
- width: 3rem;
- height: 3.5769rem;
- > img {
+ font-size: 0.7023rem;
+ color: #000;
+ font-weight: 600 !important;
+
+ >span {
+ font-weight: 600 !important;
+ }
+ }
+
+ .login_forms {
+ width: 100%;
+ height: auto;
+ margin-top: 0.35rem;
+
+ .top_forms {
+ width: 100%;
+ height: auto;
+ display: flex;
+ align-items: center;
+ flex-wrap: wrap;
+
+ .user_name,
+ .password {
width: 100%;
- height: 100%;
+ height: 35%;
+ background: rgb(246, 246, 247);
+ // background: #1e1e1e;
+ border-radius: 0.3564rem;
+
+ >input {
+ width: 100%;
+ height: 100%;
+ padding-left: 0.3564rem;
+ font-size: 0.4615rem;
+ }
+ }
+ }
+
+ /deep/.el-input__inner {
+ width: 100%;
+ height: 1.45rem !important;
+ background-color: rgb(246, 246, 247) !important;
+ // background: #1e1e1e;
+ border-radius: 0.3564rem;
+ font-size: 0.45rem !important;
+ }
+
+ .bottom_btns {
+ width: 100%;
+ height: 3.3333rem;
+ margin-top: 0.8528rem;
+
+ .top_btn {
+ width: 100%;
+ height: 1.25rem;
+ border-radius: 0.3564rem;
+ background: rgb(154, 197, 250);
+ color: #fff;
+ display: flex;
+ align-items: center;
+ justify-content: center;
+ font-size: 0.5128rem;
+ margin-top: 0.75rem;
+
+ >span {
+ font-weight: 530 !important;
+ }
+ }
+
+
+
+ .mes {
+ width: 100%;
+ height: 20%;
+ margin-top: 0.4rem;
+ display: flex;
+ justify-content: flex-end;
+ align-items: center;
+ font-size: 0.3846rem;
}
}
}
- .agree-model{
- margin-top: 0.2rem;
+}
+
+.login_bom {
+ position: absolute;
+ bottom: 2.6rem;
+ width: 100%;
+ height: 4rem;
+ padding: 0 2rem;
+}
+
+.line {
+ //分割线
+ width: 100%;
+ height: 0.3846rem;
+ display: flex;
+ align-items: center;
+ justify-content: center;
+ margin-top: 0.3846rem;
+
+ .left_line {
+ width: 20%;
+ height: 0.01rem;
+ background: #e5e5e5;
}
+
+ .center_line {
+ width: 50%;
+ height: 0.01rem;
+ background: #fff;
+ display: flex;
+ align-items: center;
+ justify-content: center;
+
+ >span {
+ font-size: 0.3046rem;
+ color: #000;
+ background-color: #fff;
+
+ }
+ }
+
+ .right_line {
+ width: 20%;
+ height: 0.01rem;
+ background: #e5e5e5;
+ }
+
+}
+
+.myzh {
+ width: calc(100% - 4rem);
+ position: absolute;
+ bottom: 0.01rem;
+ text-align: center;
+
+ .mes {
+ width: 100%;
+ height: 40%;
+
+ font-size: 0.3846rem;
+ }
+}
+
+.imgDemo {
+ display: flex;
+ justify-content: space-between;
+ position: relative;
+ transform: translateY(50%);
+}
+
+.appImg {
+ width: 1.4rem;
+ height: 1.4rem;
+ display: flex;
+ justify-content: center;
+ align-items: center;
+ background-color: rgb(246, 246, 247);
+ border-radius: 100%;
+}
+
+.appImg img {
+ width: 0.8rem;
+ height: 0.8rem;
+}
+
+.img_mess {
+ width: 100%;
+ height: 4.0513rem;
+ display: flex;
+ justify-content: center;
+ align-items: center;
+
+ .logo_content {
+ width: 3rem;
+ height: 3.5769rem;
+
+ >img {
+ width: 100%;
+ height: 100%;
+ }
+ }
+}
+
+/deep/.el-alert {
+ width: 70% !important;
+ height: 1rem !important;
+ position: absolute !important;
+ top: 0 !important;
+ bottom: 0 !important;
+ left: 0 !important;
+ right: 0 !important;
+ margin: auto !important;
+ font-size: 0.3rem !important;
+}
+
+/deep/.el-alert__title {
+ font-size: 0.3rem !important;
+}
+
+/deep/el-input__suffix {
+ width: 1rem !important;
+}
+
+/deep/.el-input__suffix-inner {
+ width: 1rem !important;
+}
+
+/deep/.el-input__icon {
+ width: 1rem !important;
+}
+
+/deep/.el-icon-circle-close::before {
+ font-size: 0.5rem !important;
+
+}
+
+/deep/.el-input__clear {
+ font-size: 0.5rem !important;
+}
+
+.on .top_btn {
+ background: #2d8cf0 !important;
+}
+
+.agree-model {
+ margin-top: 0.2rem;
+}
</style>
--
Gitblit v1.9.3