Prechádzať zdrojové kódy

修改新增用户功能

DESKTOP-227F4HN\Zt 2 rokov pred
rodič
commit
e0269ebf48

+ 22 - 5
chuanyi-admin/src/views/system/user/index.vue

@@ -226,13 +226,15 @@
                 v-if="form.userId == undefined"
                 v-model="form.userName"
                 placeholder="请输入用户名称"
-                maxlength="30"
+                maxlength="20"
+                minlength="2"
               />
               <el-input
                 v-else
                 v-model="form.userName"
                 placeholder="请输入用户名称"
-                maxlength="30"
+                maxlength="20"
+                minlength="2"
                 readonly
               />
             </el-form-item>
@@ -256,7 +258,7 @@
         </el-row>
         <el-row>
           <el-col :span="12">
-            <el-form-item label="用户类型">
+            <el-form-item label="用户类型" prop="userType">
               <el-select
                 v-model="form.userType"
                 placeholder="请选择用户类型"
@@ -308,6 +310,14 @@ import { encrypt } from '@/utils/jsencrypt'
 export default {
   name: 'Index',
   data() {
+    // 密码验证
+    const validatePass = (rule, value, callback) => {
+      var reg = /(?!^[0-9]+$)(?!^[A-z]+$)(?!^[^A-z0-9]+$)^[^\s\u4e00-\u9fa5][^\s]{5,20}$/
+      if (!(reg.test(value))) {
+        callback(new Error('密码需至少包含数字、字母、符号中的2种 5-20个字符 不能有中文、空格'))
+      }
+      callback()
+    }
     return {
       // 遮罩层
       loading: true,
@@ -343,11 +353,15 @@ export default {
       rules: {
         userName: [
           { required: true, message: '用户名称不能为空', trigger: 'blur' },
-          { min: 2, max: 20, message: '用户名称长度必须介于 2 和 20 之间', trigger: 'blur' }
+          { min: 2, max: 20, message: '用户名称长度必须介于 2 和 20 之间', trigger: 'blur' },
+          { pattern: /^[^\s]*$/, message: '用户名称不能有空格', trigger: 'blur' }
         ],
         password: [
           { required: true, message: '用户密码不能为空', trigger: 'blur' },
-          { min: 5, max: 20, message: '用户密码长度必须介于 5 和 20 之间', trigger: 'blur' }
+          { validator: validatePass, trigger: 'blur' }
+        ],
+        userType: [
+          { required: true, message: '请选择用户类型', trigger: 'change' }
         ]
       }
     }
@@ -398,6 +412,9 @@ export default {
       getUserList(this.queryParams).then(response => {
         const data = response.data
         this.userList = data.userList
+        this.userList.forEach(item => {
+          item.lastLoginTime === null ? item.lastLoginTime = '暂未登录' : item.lastLoginTime
+        })
         this.total = data.count
         this.loading = false
       })