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