From c694cffc8541d921e5256d33e14e3237454de950 Mon Sep 17 00:00:00 2001
From: 马宇豪 <978517621@qq.com>
Date: 星期五, 26 一月 2024 09:43:31 +0800
Subject: [PATCH] 新提交

---
 src/views/system/user/component/userDialog.vue |   30 +++++++++++++++++++++++++++---
 1 files changed, 27 insertions(+), 3 deletions(-)

diff --git a/src/views/system/user/component/userDialog.vue b/src/views/system/user/component/userDialog.vue
index e978c9d..1570fce 100644
--- a/src/views/system/user/component/userDialog.vue
+++ b/src/views/system/user/component/userDialog.vue
@@ -93,6 +93,7 @@
 import { reactive, toRefs, onMounted, defineComponent, ref } from 'vue';
 import { ElMessageBox, ElMessage } from 'element-plus';
 import { userApi } from '/@/api/systemManage/user';
+import {verifyPhone, verifyPwd} from "/@/utils/toolsValidate";
 
 // 定义接口来定义对象的类型
 interface DeptData {}
@@ -133,6 +134,27 @@
     name: 'user',
     setup(props, context) {
         const userRef = ref()
+        const checkPhone = (rule: any, value: any, callback: any) => {
+          if (value == '') {
+            return callback(new Error('该内容不能为空'))
+          }
+          setTimeout(() => {
+            if (!verifyPhone(value)) {
+              callback(new Error('手机号格式不正确'))
+            }else callback();
+          }, 400)
+        }
+        let validatePwd = (rule: any, value: any, callback: any)=>{
+          if(value === ''){
+            callback(new Error('请输入密码'))
+          }else{
+            if(!verifyPwd(value)){
+              callback(new Error('密码须包含字母、数字、特殊字符,长度在6-16之间'))
+            }else{
+              callback()
+            }
+          }
+        }
         const state = reactive<UserState>({
             title: '',
             disabled: false,
@@ -158,10 +180,10 @@
                 roleIds: [{ required: true, message: '请选择用户角色', trigger: 'change' }],
                 depId: [{ required: true, message: '请选择部门', trigger: 'change' }],
                 positionIds: [{ required: true, message: '请选择职务', trigger: 'change' }],
-                phone: [{ required: true, message: '请填写手机号', trigger: 'blur' }],
+                phone: [{ required: true, validator: checkPhone, trigger: 'blur' }],
                 type: [{ required: true, message: '请填写用户类型', trigger: 'blur' }],
                 gender: [{ required: true, message: '请选择性别', trigger: 'change' }],
-                password: [{ required: true, message: '请输入账户密码', trigger: 'blur' }],
+                password: [{ required: true, validator: validatePwd, trigger: 'blur' }],
             },
             departmentData: [], // 部门数据
             roleData: [], //角色数据
@@ -176,6 +198,7 @@
                 { id: 3, name: '普通员工' }
             ],
         });
+
         // 打开弹窗
         const openDialog = (type: string, value: any, departmentList: [], roleList: [], dutyList:[]) => {
             state.isShowUserDialog = true;
@@ -240,7 +263,8 @@
                             });
                         }
                     } else {
-                        let res = await userApi().modUser(state.userForm);
+                      const { roles, positions, ...data} = state.userForm
+                        let res = await userApi().modUser(data);
                         if (res.data.code === '200') {
                             ElMessage({
                                 type: 'success',

--
Gitblit v1.9.2