Browse Source

修复手机号和邮箱绑定的校验

guo00guo 5 years ago
parent
commit
a8cfd4570e

+ 16 - 10
src/pages/UserCenter/BindingMail.vue

@@ -1,6 +1,6 @@
 <template>
   <div style="margin-top: 20px">
-    <el-form label-width="80px" style="width:400px" :rules="rules">
+    <el-form label-width="80px" style="width:400px" :rules="rules" :model="mailBindingForm">
       <el-form-item label="邮箱号" prop="mail">
         <el-input v-model="mailBindingForm.mail"></el-input>
       </el-form-item>
@@ -36,6 +36,7 @@
         rules: {
           verifyCode: [
             {required: true, message: '请输入验证码', trigger: 'blur'},
+              {min:6, max: 6, message: '验证码长度为6个字符', trigger: 'blur'}
           ],
           mail: [
             {required: true, message: '请输入邮箱', trigger: 'blur'},
@@ -56,17 +57,22 @@
           email:this.mailBindingForm.mail
         }
         Http.put('/api/verify/email',params).then((res)=>{
-          this.hasVerifyCode = true;
-          let _this = this;
-          let codeTimer = setInterval(function () {
-            if(_this.codeTime > 0 ){
-              _this.codeTime--;
+            if(res.msg == "ERROR"){
+                notify('error', res.data);
             }else{
-              clearInterval(codeTimer);
-              _this.hasVerifyCode = false;
-              this.codeTime = 10;
+                notify('success', res.data);
+                this.hasVerifyCode = true;
+                let _this = this;
+                let codeTimer = setInterval(function () {
+                    if(_this.codeTime > 0 ){
+                        _this.codeTime--;
+                    }else{
+                        clearInterval(codeTimer);
+                        _this.hasVerifyCode = false;
+                        this.codeTime = 10;
+                    }
+                },1000)
             }
-          },1000)
         }).catch(err=> {
           notify('error', '获取验证码失败:' + err.data);
         })

+ 86 - 73
src/pages/UserCenter/BindingMobile.vue

@@ -1,6 +1,6 @@
 <template>
   <div style="margin-top: 20px">
-    <el-form label-width="80px" style="width:400px" :rules="rules">
+    <el-form label-width="80px" style="width:400px" :rules="rules" :model="phoneBindingForm">
       <el-form-item label="手机号码" prop="phone">
         <el-input v-model="phoneBindingForm.phone"></el-input>
       </el-form-item>
@@ -11,7 +11,7 @@
         <span v-if="hasVerifyCode">验证码已发送到您手机上</span>
       </el-form-item>
       <el-form-item>
-        <el-button type="primary" plain  @click="bindingMobile">完成绑定</el-button>
+        <el-button type="primary" plain @click="bindingMobile">完成绑定</el-button>
       </el-form-item>
     </el-form>
   </div>
@@ -19,81 +19,94 @@
 </template>
 
 <script>
-  import Http from '@/js/http.js'
-  import {storageGet} from '@/js/index'
-  import {notify} from '@/constants/index'
-  export default {
-    name: "BindingMobile",
-    data(){
-      return{
-        phoneBindingForm:{
-          phone:'',
-          verifyCode:''
+    import Http from '@/js/http.js'
+    import {storageGet} from '@/js/index'
+    import {notify} from '@/constants/index'
+
+    export default {
+        name: "BindingMobile",
+        data() {
+            return {
+                phoneBindingForm: {
+                    phone: '',
+                    verifyCode: ''
+                },
+                hasVerifyCode: false,
+                codeTime: 60,
+                user: {},
+                rules: {
+                    verifyCode: [
+                        {required: true, message: '请输入验证码', trigger: 'blur'},
+                        {min: 6, max: 6, message: '验证码长度为6个字符', trigger: 'blur'}
+                    ],
+                    phone: [
+                        {required: true, message: '请输入手机号', trigger: 'blur'},
+                        {min: 11, max: 11, message: '手机号长度为11个字符', trigger: 'blur'}
+                    ],
+                }
+            }
         },
-        hasVerifyCode:false,
-        codeTime:60,
-        user:{},
-        rules: {
-          verifyCode: [
-            {required: true, message: '请输入验证码', trigger: 'blur'},
-          ],
-          phone: [
-            {required: true, message: '请输入手机号', trigger: 'blur'},
-          ],
-        }
-      }
-    },
-    methods:{
-      setUserInfo() {
-        let userId = storageGet('user')&&storageGet('user').userVO.id;
-        Http.get(`/api/user/${userId}`).then(res=>{
-          this.user = res.userVO
-        })
-      },
-      getVerifyCode(){
-        let params = {
-          id:this.user.id,
-          mobile:this.phoneBindingForm.phone
-        }
-        Http.put('/api/verify/mobile',params).then((res)=>{
-          this.hasVerifyCode = true;
-          let _this = this;
-          let codeTimer = setInterval(function () {
-            if(_this.codeTime > 0 ){
-              _this.codeTime--;
-            }else{
-              clearInterval(codeTimer);
-              _this.hasVerifyCode = false;
-              this.codeTime = 10;
+        methods: {
+            setUserInfo() {
+                let userId = storageGet('user') && storageGet('user').userVO.id;
+                Http.get(`/api/user/${userId}`).then(res => {
+                    this.user = res.userVO
+                })
+            },
+            getVerifyCode() {
+                let params = {
+                    id: this.user.id,
+                    mobile: this.phoneBindingForm.phone
+                }
+                Http.put('/api/verify/mobile', params).then((res) => {
+                    if (res.msg == "ERROR") {
+                        notify('error', res.data);
+                    } else {
+                        notify('success', res.data);
+                        this.hasVerifyCode = true;
+                        let _this = this;
+                        let codeTimer = setInterval(function () {
+                            if (_this.codeTime > 0) {
+                                _this.codeTime--;
+                            } else {
+                                clearInterval(codeTimer);
+                                _this.hasVerifyCode = false;
+                                this.codeTime = 10;
+                            }
+                        }, 1000)
+                    }
+                }).catch(err => {
+                    notify('error', '绑定手机失败:' + err.data);
+                })
+            },
+            bindingMobile() {
+                // this.$refs['phoneBindingForm'].validate(valid => {
+                //     if (valid) {
+                //
+                //     }
+                // })
+                let params = {
+                    id: this.user.id,
+                    mobile: this.phoneBindingForm.phone,
+                    verifyCode: this.phoneBindingForm.verifyCode
+                };
+                Http.put('/api/user/mobile', params).then(res => {
+                    if (res.msg == "ERROR") {
+                        notify('error', '重新绑定失败:' + res.data);
+                    } else {
+                        notify('success', '重新绑定成功');
+                        this.$router.push({path: '/personal/phoneBinding'});
+                    }
+                }).catch(err => {
+                    notify('error', err.data);
+                })
             }
-          },1000)
-        }).catch(err=> {
-          notify('error', '绑定手机失败:' + err.data);
-        })
-      },
-      bindingMobile(){
-        let params = {
-          id:this.user.id,
-          mobile:this.phoneBindingForm.phone,
-          verifyCode: this.phoneBindingForm.verifyCode
-        };
-        Http.put('/api/user/mobile',params).then(res=>{
-          if(res.msg == "ERROR"){
-            notify('error', '重新绑定失败:' + res.data);
-          }else{
-            notify('success', '重新绑定成功');
-            this.$router.push({path:'/personal/phoneBinding'});
-          }
-        }).catch(err=> {
-          notify('error', err.data);
-        })
-      }
-    },
-    mounted() {
-      this.setUserInfo()
+        },
+        mounted() {
+            this.setUserInfo()
 
+        }
     }
-  }
 </script>
 
 <style scoped>

+ 1 - 1
src/pages/UserCenter/EnterpriseAuth.vue

@@ -166,7 +166,7 @@
     <div class="enterprise-brn-wrapper">
       <button class="enterprise-btn previousBtn" @click="active--" v-if="active>0">上一步</button>
       <button class="enterprise-btn nextBtn" @click="active++" v-if="active===0">下一步</button>
-      <button class="enterprise-btn nextBtn" @click="submitEnterpriseAuth" v-if="active===1">提交审核</button>
+      <button class="enterprise-btn nextBtn" @click="submitEnterpriseAuth" v-if="active===1 && authStatus.text !=='认证通过'">提交审核</button>
     </div>
   </div>
 </template>

+ 19 - 13
src/pages/UserCenter/Mine.vue

@@ -6,7 +6,7 @@
     </div>
     <div style="margin-bottom: 15px;width: 550px">
       <el-form :model="userForm" :rules="rules" status-icon ref="userForm" label-width="100px" class="demo-ruleForm">
-        <el-form-item label="头像" prop="avator">
+        <el-form-item label="头像" prop="photoUrl">
           <el-upload
             class="avatar-uploader"
             style="border: lightgrey 1px solid;width:178px;"
@@ -22,7 +22,7 @@
         <el-form-item label="用户名" prop="userName">
           <el-input v-model="userForm.userName" autocomplete="off" :disabled="true"></el-input>
         </el-form-item>
-        <el-form-item label="企业简称" prop="enterprise">
+        <el-form-item label="单位" prop="unit">
           <el-input v-model="userForm.unit" autocomplete="off" :disabled="!isModifyMode"></el-input>
         </el-form-item>
         <el-form-item label="性别" prop="gender">
@@ -35,7 +35,7 @@
           <el-date-picker type="date" placeholder="选择日期" v-model="userForm.birthday"
                           style="width: 100%;" :disabled="!isModifyMode"></el-date-picker>
         </el-form-item>
-        <el-form-item label="联系地址" prop="address" style="width: 160%">
+        <el-form-item label="地址" prop="address" style="width: 160%">
           <provincecity
             ref="addFormProvince"
             @selectChange="locationChange"
@@ -82,23 +82,23 @@
         },
         rules: {
           photoUrl: [
-            { required: true},
+            { required: true, message: '请上传头像', trigger: 'blur'},
           ],
           userName: [
             { required: true, message: '请设置用户名', trigger: 'change' }
           ],
           province: [
-            { required: true, message: '请选择省份', trigger: 'change' }
+            { required: true, message: '请选择省份', trigger: 'blur' }
           ],
           city: [
-            { required: true, message: '请选择城市', trigger: 'change' }
+            { required: true, message: '请选择城市', trigger: 'blur' }
           ],
           gender: [
-            { required: true, message: '请选择性别', trigger: 'change' }
+            { required: true, message: '请选择性别', trigger: 'blur' }
           ],
-          address:[
-            {required: true},
-          ]
+          // address:[
+          //   {required: true, message: '请填写地址', trigger: 'blur' },
+          // ]
         }
       }
     },
@@ -107,9 +107,15 @@
     },
     methods: {
       submitUserInfo(){
-        Http.put(`/api/personal/update/${this.user.id}`,this.userForm).then(res=>{
-          this.isModifyMode = false;
-        })
+
+          this.$refs['userForm'].validate(valid => {
+              if (valid) {
+                  Http.put(`/api/personal/update/${this.user.id}`,this.userForm).then(res=>{
+                      this.isModifyMode = false;
+                  })
+              }
+          })
+
       },
       //联系地址改变
       locationChange (provinceId, cityId) {