From e52fe71fb9c6dd82f996a9db07b2bd765c27f09b Mon Sep 17 00:00:00 2001
From: 马宇豪 <978517621@qq.com>
Date: 星期二, 21 一月 2025 16:36:58 +0800
Subject: [PATCH] 添加校验

---
 src/views/usermng/product.vue |    4 ++--
 src/views/login/register.vue  |   38 ++++++++++++++++++++++++++++++--------
 src/utils/validate.js         |   11 +++++++++++
 3 files changed, 43 insertions(+), 10 deletions(-)

diff --git a/src/utils/validate.js b/src/utils/validate.js
index af3aa08..87863a7 100644
--- a/src/utils/validate.js
+++ b/src/utils/validate.js
@@ -41,6 +41,17 @@
     return reg.test(str)
 }
 
+export function validEnterNumber(str) {
+    const reg = /^[A-Za-z0-9]{2,30}$/
+    return reg.test(str)
+}
+
+export function verifyPwd(str) {
+    // false: 强密码不正确
+    const reg = /^(?![a-zA-Z]+$)(?!\d+$)(?![!@#$%^&\.*]+$)(?![a-zA-Z\d]+$)(?![a-zA-Z!@#$%^&\.*]+$)(?![\d!@#$%^&\.*]+$)[a-zA-Z\d!@#$%^&\.*\-_]{6,16}$/
+    return reg.test(str)
+}
+
 /**
  * validate email
  * @param email
diff --git a/src/views/login/register.vue b/src/views/login/register.vue
index 13e8778..36c011d 100644
--- a/src/views/login/register.vue
+++ b/src/views/login/register.vue
@@ -18,7 +18,7 @@
                 <el-row>
                     <el-col :span="20">
                         <el-form-item label="终端机用户名" prop="enterprisenumber">
-                            <el-input v-model="registerForm.enterprisenumber" @change="checkNameAndNumber('number')" placeholder="自定义英文+数字,将作为销售终端用户名"></el-input>
+                            <el-input v-model="registerForm.enterprisenumber" @change="checkNameAndNumber('number')" placeholder="自定义英文或数字,将作为销售终端用户名"></el-input>
                         </el-form-item>
                     </el-col>
                     <el-col :span="4" style="margin-top:10px;" v-if="showNumber">
@@ -481,7 +481,7 @@
 import {isNameExist, isNumberExist, register} from "../../api/login";
 import {getCityListData, getProvinceListData} from "../../api/area";
 import {parseError} from "../../utils/messageDialog";
-import {validEnterName} from "../../utils/validate";
+import {validEnterName, validEnterNumber, verifyPwd} from "../../utils/validate";
 
 export default {
     name: "register",
@@ -492,6 +492,28 @@
             }else{
                 if(!validEnterName(value)){
                     callback(new Error('名称不能包含中文括号'))
+                }else{
+                    callback()
+                }
+            }
+        }
+        let checkNumber = (rule, value, callback)=>{
+            if(value === ''){
+                callback(new Error('请填写终端机用户名'))
+            }else{
+                if(!validEnterNumber(value)){
+                    callback(new Error('名称请使用英文或数字(长度2到30),不能包含中文'))
+                }else{
+                    callback()
+                }
+            }
+        }
+        let checkPassword = (rule, value, callback)=>{
+            if(value === ''){
+                callback(new Error('请填写密码'))
+            }else{
+                if(!verifyPwd(value)){
+                    callback(new Error('密码须同时包含字母、数字、特殊字符,长度在6-16之间'))
                 }else{
                     callback()
                 }
@@ -539,10 +561,10 @@
                     { required: true, validator: checkEnterName,  trigger: 'blur' },
                 ],
                 enterprisenumber:[
-                    { required: true, message: '请填写终端机用户名', trigger: 'blur' },
+                    { required: true, validator: checkNumber,  trigger: 'blur' },
                 ],
                 password:[
-                    { required: true, message: '请填写密码', trigger: 'change' },
+                    { required: true, validator: checkPassword, trigger: 'change' },
                 ],
                 type:[
                     { required: true, message: '请选择企业类型', trigger: 'blur' },
@@ -1105,10 +1127,10 @@
                                 message: '终端机用户名已存在',
                             })
                         }else{
-                            this.$message({
-                                type:'success',
-                                message:'终端机用户名可以使用'
-                            })
+                            // this.$message({
+                            //     type:'success',
+                            //     message:'终端机用户名可以使用'
+                            // })
                             this.showNumber = false
                         }
                     }else{
diff --git a/src/views/usermng/product.vue b/src/views/usermng/product.vue
index c200030..132f30a 100644
--- a/src/views/usermng/product.vue
+++ b/src/views/usermng/product.vue
@@ -37,7 +37,7 @@
           </el-option>
         </el-select>
         <el-button v-if="getBtnPermission('add')" class="filter-item" style="margin-left: 10px;" type="primary"
-                   icon="el-icon-plus" @click="showCreateHandle">旧系统信息录入
+                   icon="el-icon-plus" @click="showCreateHandle">万能码信息录入
         </el-button>
         <el-upload v-if="userType === 1"
             class="filter-item"
@@ -51,7 +51,7 @@
             :on-success="onSuccessHandler"
             :on-error="onErrorHandler"
             :auto-upload="true">
-            <el-dropdown  @command="handleCommand" split-button trigger="hover" type="primary" style="margin-left: 10px;" icon="el-icon-plus" :disabled="uploadBtnControl">旧系统信息导入
+            <el-dropdown  @command="handleCommand" split-button trigger="hover" type="primary" style="margin-left: 10px;" icon="el-icon-plus" :disabled="uploadBtnControl">万能码信息导入
                 <el-button type="primary" slot="trigger" :disabled="uploadBtnControl"></el-button>
                 <el-dropdown-menu slot="dropdown">
                     <el-dropdown-item icon="el-icon-plus"  command="download"  >下载模板</el-dropdown-item>

--
Gitblit v1.9.2