From 31f7b390b44db12308943492891e7e0ef96f32e8 Mon Sep 17 00:00:00 2001
From: xiangpei <xiangpei@timesnew.cn>
Date: 星期三, 30 十月 2024 22:10:00 +0800
Subject: [PATCH] 优化

---
 src/views/user/admin/edit.vue |   52 +++++++++++++++++++++++++++++++++++++++++-----------
 1 files changed, 41 insertions(+), 11 deletions(-)

diff --git a/src/views/user/admin/edit.vue b/src/views/user/admin/edit.vue
index cc5f41e..9fbfb4f 100644
--- a/src/views/user/admin/edit.vue
+++ b/src/views/user/admin/edit.vue
@@ -2,14 +2,17 @@
   <div class="app-container">
 
     <el-form :model="form" ref="form" label-width="100px" v-loading="formLoading" :rules="rules">
-      <el-form-item label="鐢ㄦ埛鍚嶏細"  prop="userName" required>
+      <el-form-item label="鐪熷疄濮撳悕锛�" prop="realName">
+        <el-input v-model="form.realName"></el-input>
+      </el-form-item>
+      <el-form-item label="鎵嬫満鍙风爜锛�" prop="phone">
+        <el-input v-model="form.phone"></el-input>
+      </el-form-item>
+      <el-form-item label="鐧诲綍璐﹀彿锛�" prop="userName">
         <el-input v-model="form.userName"></el-input>
       </el-form-item>
-      <el-form-item label="瀵嗙爜锛�" required>
-        <el-input v-model="form.password"></el-input>
-      </el-form-item>
-      <el-form-item label="鐪熷疄濮撳悕锛�" prop="realName"   required>
-        <el-input v-model="form.realName"></el-input>
+      <el-form-item v-if="!form.id" label="鐧诲綍瀵嗙爜锛�" prop="password">
+        <el-input v-model="form.password" show-password></el-input>
       </el-form-item>
       <el-form-item label="骞撮緞锛�">
         <el-input v-model="form.age"></el-input>
@@ -22,10 +25,7 @@
       <el-form-item label="鍑虹敓鏃ユ湡锛�">
         <el-date-picker v-model="form.birthDay" value-format="yyyy-MM-dd" type="date" placeholder="閫夋嫨鏃ユ湡"/>
       </el-form-item>
-      <el-form-item label="鎵嬫満锛�">
-        <el-input v-model="form.phone"></el-input>
-      </el-form-item>
-      <el-form-item label="鐘舵�侊細" required>
+      <el-form-item label="鐘舵�侊細">
         <el-select v-model="form.status" placeholder="鐘舵��">
           <el-option v-for="item in statusEnum" :key="item.key" :value="item.key" :label="item.value"></el-option>
         </el-select>
@@ -44,6 +44,30 @@
 
 export default {
   data () {
+    var validatePassword = (rule, value, callback) => {
+      if (value === '') {
+        callback(new Error('璇疯緭鍏ョ櫥褰曞瘑鐮�'))
+      } else if (!/[A-Z]/.test(value)) {
+        callback(new Error('瀵嗙爜蹇呴』鍖呭惈鑷冲皯涓�涓ぇ鍐欏瓧姣�'))
+      } else if (!/[a-z]/.test(value)) {
+        callback(new Error('瀵嗙爜蹇呴』鍖呭惈鑷冲皯涓�涓皬鍐欏瓧姣�'))
+      } else if (!/[0-9]/.test(value)) {
+        callback(new Error('瀵嗙爜蹇呴』鍖呭惈鑷冲皯涓�涓暟瀛�'))
+      } else {
+        callback()
+      }
+    }
+    var validatePhone = (rule, value, callback) => {
+      // 鎵嬫満鍙烽獙璇侀�昏緫
+      const phoneRegex = /^1[3-9]\d{9}$/;
+      if (!value) {
+        callback(new Error('璇疯緭鍏ユ墜鏈哄彿'));
+      } else if (!phoneRegex.test(value)) {
+        callback(new Error('鎵嬫満鍙锋牸寮忎笉姝g‘'));
+      } else {
+        callback();
+      }
+    }
     return {
       form: {
         id: null,
@@ -64,6 +88,12 @@
         ],
         realName: [
           { required: true, message: '璇疯緭鍏ョ湡瀹炲鍚�', trigger: 'blur' }
+        ],
+        password: [
+          { validator: validatePassword, trigger: 'blur' }
+        ],
+        phone: [
+          { validator: validatePhone, trigger: 'blur' }
         ]
       }
     }
@@ -74,7 +104,7 @@
     if (id && parseInt(id) !== 0) {
       _this.formLoading = true
       userApi.selectUser(id).then(re => {
-        _this.form = re.response
+        _this.form = re.data
         _this.formLoading = false
       })
     }

--
Gitblit v1.8.0