马宇豪
2023-11-30 2532353e2b4a256fba0fa93a768b389ccb631ee2
src/layout/components/Register/index.vue
@@ -288,7 +288,7 @@
<script setup>
import {ref, watch, defineExpose, onMounted, reactive} from "vue"
import {ElMessage, ElMessageBox} from "element-plus"
import { register,delPic,getDict } from "@/api/login"
import { register,delPic,getDict,checkUserName, checkPhone } from "@/api/login"
import { getRegionTree } from "@/api/area"
import { getToken } from "@/utils/auth";
import {verifyPhone, verifyUsername, verifyPwd} from "../../../utils/validate";
@@ -364,6 +364,24 @@
  }
}
const validateUserPhone = (rule, value, callback)=>{
  if(value === ''){
    callback(new Error('请输入手机号'))
  }else{
    if(!verifyPhone(value)){
      callback(new Error('手机号格式有误'))
    }else{
      checkPhone({phone:value}).then((res)=>{
        if(res == false){
          callback(new Error('该手机号已被绑定用户,请更换其他手机号'))
        }else{
          callback()
        }
      })
    }
  }
}
const validateUsername = (rule, value, callback)=>{
  if(value === ''){
    callback(new Error('请输入登录时用户名'))
@@ -371,7 +389,13 @@
    if(!verifyUsername(value)){
      callback(new Error('用户名须使用字母+数字,长度在5-16之间'))
    }else{
      callback()
      checkUserName({username:value}).then((res)=>{
        if(res == false){
          callback(new Error('用户名已被占用,请更换其他用户名'))
        }else{
          callback()
        }
      })
    }
  }
}
@@ -408,7 +432,7 @@
  "agency.business": [{required: true, trigger: "blur", message: "请选择申请的法定安全评价业务范围"}],
  "agency.reportPath": [{required: true, trigger: "blur", message: "请上传加盖公章的《机构信息上报表》"}],
  username: [{ required: true, trigger: "blur", validator: validateUsername }],
  phone: [{ required: true, trigger: "blur", validator: validatePhone }],
  phone: [{ required: true, trigger: "blur", validator: validateUserPhone }],
  password: [{ required: true, trigger: "blur", validator: validatePwd }],
  confirmPassword: [
    { required: true, trigger: "blur", message: "请再次确认密码" },