From ce661f0664e03fb7b7d798cf97fdd1489f4190df Mon Sep 17 00:00:00 2001
From: zhouwenxuan <1175765986@qq.com>
Date: Fri, 01 Dec 2023 16:29:06 +0800
Subject: [PATCH] 机构
---
src/layout/components/Register/index.vue | 35 ++++++++++++++++++++++++++++++-----
1 files changed, 30 insertions(+), 5 deletions(-)
diff --git a/src/layout/components/Register/index.vue b/src/layout/components/Register/index.vue
index a7eae8c..696298d 100644
--- a/src/layout/components/Register/index.vue
+++ b/src/layout/components/Register/index.vue
@@ -179,12 +179,12 @@
</el-col>
<el-col :span="8">
<el-form-item prop="agency.business" label="申请的法定安全评价业务范围">
- <el-select v-model="registerForm.agency.business" placeholder="请选择业务范围" size="large" style="width: 100%">
+ <el-select v-model="registerForm.agency.business" placeholder="请选择业务范围" multiple size="large" style="width: 100%">
<el-option
v-for="item in state.busList"
:key="item.id"
:label="item.label"
- :value="item.label"
+ :value="item.id"
/>
</el-select>
</el-form-item>
@@ -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: "请再次确认密码" },
@@ -516,6 +540,7 @@
loading.value = true;
const {confirmPassword, ...data} = registerForm.value
data.password = Base64.encode(data.password)
+ data.agency.business = data.agency.business.join(',')
delete data.agency.area
register(data).then(res => {
if(res.code == 200){
--
Gitblit v1.9.2