From 34e9605033b51eed37a3c7e1df4e4a2f394c9ab0 Mon Sep 17 00:00:00 2001
From: 唐耀东 <18861537@qq.com>
Date: 星期二, 13 九月 2022 10:42:16 +0800
Subject: [PATCH] 问题修改

---
 src/views/system/user/index.vue |  146 ++++++++++++++++++++++++++++++++----------------
 1 files changed, 98 insertions(+), 48 deletions(-)

diff --git a/src/views/system/user/index.vue b/src/views/system/user/index.vue
index 1ff9b90..0301f3a 100644
--- a/src/views/system/user/index.vue
+++ b/src/views/system/user/index.vue
@@ -64,18 +64,18 @@
               />
             </el-select>
           </el-form-item>
-          <el-form-item label="鍒涘缓鏃堕棿">
-            <el-date-picker
-              v-model="dateRange"
-              size="small"
-              style="width: 240px"
-              value-format="yyyy-MM-dd"
-              type="daterange"
-              range-separator="-"
-              start-placeholder="寮�濮嬫棩鏈�"
-              end-placeholder="缁撴潫鏃ユ湡"
-            ></el-date-picker>
-          </el-form-item>
+          <!--<el-form-item label="鍒涘缓鏃堕棿">-->
+            <!--<el-date-picker-->
+              <!--v-model="dateRange"-->
+              <!--size="small"-->
+              <!--style="width: 240px"-->
+              <!--value-format="yyyy-MM-dd"-->
+              <!--type="daterange"-->
+              <!--range-separator="-"-->
+              <!--start-placeholder="寮�濮嬫棩鏈�"-->
+              <!--end-placeholder="缁撴潫鏃ユ湡"-->
+            <!--&gt;</el-date-picker>-->
+          <!--</el-form-item>-->
           <el-form-item>
             <el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">鎼滅储</el-button>
             <el-button icon="el-icon-refresh" size="mini" @click="resetQuery">閲嶇疆</el-button>
@@ -141,9 +141,9 @@
         <el-table v-loading="loading" :data="userList" @selection-change="handleSelectionChange">
           <el-table-column type="selection" width="50" align="center" />
           <el-table-column label="鐢ㄦ埛缂栧彿" align="center" key="userId" prop="userId" v-if="columns[0].visible" />
-          <el-table-column label="鐢ㄦ埛鍚嶇О" align="center" key="userName" prop="userName" v-if="columns[1].visible" :show-overflow-tooltip="true" />
-          <el-table-column label="鐢ㄦ埛鏄电О" align="center" key="nickName" prop="nickName" v-if="columns[2].visible" :show-overflow-tooltip="true" />
-          <el-table-column label="閮ㄩ棬" align="center" key="deptName" prop="dept.deptName" v-if="columns[3].visible" :show-overflow-tooltip="true" />
+          <el-table-column label="鐢ㄦ埛璐︽埛" align="center" key="userName" prop="userName" v-if="columns[1].visible" :show-overflow-tooltip="true" />
+          <el-table-column label="鐢ㄦ埛鍚嶇О" align="center" key="nickName" prop="nickName" v-if="columns[2].visible" :show-overflow-tooltip="true" />
+          <el-table-column label="鎵�鍦ㄩ儴闂�" align="center" key="deptName" prop="dept.deptName" v-if="columns[3].visible" :show-overflow-tooltip="true" />
           <el-table-column label="鎵嬫満鍙风爜" align="center" key="phonenumber" prop="phonenumber" v-if="columns[4].visible" width="120" />
           <el-table-column label="鐘舵��" align="center" key="status" v-if="columns[5].visible">
             <template slot-scope="scope">
@@ -164,6 +164,7 @@
             label="鎿嶄綔"
             align="center"
             width="160"
+            fixed="right"
             class-name="small-padding fixed-width"
           >
             <template slot-scope="scope" v-if="scope.row.userId !== 1">
@@ -178,6 +179,7 @@
                 size="mini"
                 type="text"
                 icon="el-icon-delete"
+                class="del-btn"
                 @click="handleDelete(scope.row)"
                 v-hasPermi="['system:user:remove']"
               >鍒犻櫎</el-button>
@@ -207,16 +209,28 @@
     </el-row>
 
     <!-- 娣诲姞鎴栦慨鏀圭敤鎴烽厤缃璇濇 -->
-    <el-dialog :title="title" :visible.sync="open" width="600px" append-to-body>
+    <Dialog :title="title" :visible.sync="open" width="600px" :append-to-body="true" :close-on-click-modal="false">
       <el-form ref="form" :model="form" :rules="rules" label-width="80px">
         <el-row>
           <el-col :span="12">
-            <el-form-item label="鐢ㄦ埛鏄电О" prop="nickName">
-              <el-input v-model="form.nickName" placeholder="璇疯緭鍏ョ敤鎴锋樀绉�" maxlength="30" />
+            <el-form-item v-if="form.userId == undefined" label="鐢ㄦ埛璐︽埛" prop="userName">
+              <el-input v-model="form.userName" placeholder="璇疯緭鍏ョ敤鎴疯处鎴�" maxlength="30" />
             </el-form-item>
           </el-col>
           <el-col :span="12">
-            <el-form-item label="褰掑睘閮ㄩ棬" prop="deptId">
+            <el-form-item v-if="form.userId == undefined" label="瀵嗙爜" prop="password">
+              <el-input v-model="form.password" placeholder="璇疯緭鍏ョ敤鎴峰瘑鐮�" type="password" maxlength="20" show-password/>
+            </el-form-item>
+          </el-col>
+        </el-row>
+        <el-row>
+          <el-col :span="12">
+            <el-form-item label="鐢ㄦ埛鍚嶇О" prop="nickName">
+              <el-input v-model="form.nickName" placeholder="璇疯緭鍏ョ敤鎴峰悕绉�" maxlength="30" />
+            </el-form-item>
+          </el-col>
+          <el-col :span="12">
+            <el-form-item label="鎵�鍦ㄩ儴闂�" prop="deptId">
               <treeselect v-model="form.deptId" :options="deptOptions" :show-count="true" placeholder="璇烽�夋嫨褰掑睘閮ㄩ棬" />
             </el-form-item>
           </el-col>
@@ -228,27 +242,20 @@
             </el-form-item>
           </el-col>
           <el-col :span="12">
-            <el-form-item label="閭" prop="email">
-              <el-input v-model="form.email" placeholder="璇疯緭鍏ラ偖绠�" maxlength="50" />
+            <el-form-item label="璇佷欢鍙风爜" prop="certificateNo">
+              <el-input v-model="form.certificateNo" placeholder="璇疯緭鍏ヨ瘉浠跺彿鐮�" maxlength="18" />
             </el-form-item>
           </el-col>
-        </el-row>
-        <el-row>
-          <el-col :span="12">
-            <el-form-item v-if="form.userId == undefined" label="鐢ㄦ埛鍚嶇О" prop="userName">
-              <el-input v-model="form.userName" placeholder="璇疯緭鍏ョ敤鎴峰悕绉�" maxlength="30" />
-            </el-form-item>
-          </el-col>
-          <el-col :span="12">
-            <el-form-item v-if="form.userId == undefined" label="鐢ㄦ埛瀵嗙爜" prop="password">
-              <el-input v-model="form.password" placeholder="璇疯緭鍏ョ敤鎴峰瘑鐮�" type="password" maxlength="20" show-password/>
-            </el-form-item>
-          </el-col>
+<!--          <el-col :span="12">-->
+<!--            <el-form-item label="閭" prop="email">-->
+<!--              <el-input v-model="form.email" placeholder="璇疯緭鍏ラ偖绠�" maxlength="50" />-->
+<!--            </el-form-item>-->
+<!--          </el-col>-->
         </el-row>
         <el-row>
           <el-col :span="12">
             <el-form-item label="鐢ㄦ埛鎬у埆">
-              <el-select v-model="form.sex" placeholder="璇烽�夋嫨">
+              <el-select v-model="form.sex" placeholder="璇烽�夋嫨" prop="sex">
                 <el-option
                   v-for="dict in dict.type.sys_user_sex"
                   :key="dict.value"
@@ -301,7 +308,24 @@
         <el-row>
           <el-col :span="24">
             <el-form-item label="澶囨敞">
-              <el-input v-model="form.remark" type="textarea" placeholder="璇疯緭鍏ュ唴瀹�"></el-input>
+              <el-input v-model="form.remark" type="textarea" maxlength="128" :rows="4" show-word-limit placeholder="璇疯緭鍏ュ唴瀹�"></el-input>
+            </el-form-item>
+          </el-col>
+        </el-row>
+        <el-row>
+          <el-col :span="12">
+            <el-form-item label="鍏ヨ亴鏃堕棿">
+              <el-date-picker
+                v-model="form.entryTime"
+                type="date"
+                value-format="yyyy-MM-dd HH:mm:ss"
+                placeholder="閫夋嫨鍏ヨ亴鏃堕棿">
+              </el-date-picker>
+            </el-form-item>
+          </el-col>
+          <el-col :span="12">
+            <el-form-item label="鐓х墖">
+              <imageUpload v-model="form.photo" :limit="1"/>
             </el-form-item>
           </el-col>
         </el-row>
@@ -310,10 +334,10 @@
         <el-button type="primary" @click="submitForm">纭� 瀹�</el-button>
         <el-button @click="cancel">鍙� 娑�</el-button>
       </div>
-    </el-dialog>
+    </Dialog>
 
     <!-- 鐢ㄦ埛瀵煎叆瀵硅瘽妗� -->
-    <el-dialog :title="upload.title" :visible.sync="upload.open" width="400px" append-to-body>
+    <Dialog :title="upload.title" :visible.sync="upload.open" width="400px" append-to-body>
       <el-upload
         ref="upload"
         :limit="1"
@@ -340,7 +364,7 @@
         <el-button type="primary" @click="submitFileForm">纭� 瀹�</el-button>
         <el-button @click="upload.open = false">鍙� 娑�</el-button>
       </div>
-    </el-dialog>
+    </Dialog>
   </div>
 </template>
 
@@ -356,6 +380,18 @@
   dicts: ['sys_normal_disable', 'sys_user_sex'],
   components: { Treeselect },
   data() {
+    // 韬唤璇佸彿鏍¢獙
+    let checkIdNum = (rule, value, callback) => {
+      const reg =
+        /(^[1-9]\d{7}((0\d)|(1[0-2]))(([0|1|2]\d)|3[0-1])\d{3}$)|(^[1-9]\d{5}(18|19|20)\d{2}((0[1-9])|(1[0-2]))(([0-2][1-9])|10|20|30|31)\d{3}[0-9Xx]$)/
+      if (!value) {
+        return callback(new Error('璇佷欢鍙风爜涓嶈兘涓虹┖'))
+      } else if (!reg.test(value)) {
+        return callback(new Error('璇佷欢鍙风爜涓嶆纭�'))
+      } else {
+        callback()
+      }
+    }
     return {
       // 閬僵灞�
       loading: true,
@@ -430,8 +466,8 @@
       // 琛ㄥ崟鏍¢獙
       rules: {
         userName: [
-          { required: true, message: "鐢ㄦ埛鍚嶇О涓嶈兘涓虹┖", trigger: "blur" },
-          { min: 2, max: 20, message: '鐢ㄦ埛鍚嶇О闀垮害蹇呴』浠嬩簬 2 鍜� 20 涔嬮棿', trigger: 'blur' }
+          { required: true, message: "璐﹀彿涓嶈兘涓虹┖", trigger: "blur" },
+          { min: 2, max: 20, message: '璐﹀彿闀垮害蹇呴』浠嬩簬 2 鍜� 20 涔嬮棿', trigger: 'blur' }
         ],
         nickName: [
           { required: true, message: "鐢ㄦ埛鏄电О涓嶈兘涓虹┖", trigger: "blur" }
@@ -440,19 +476,33 @@
           { required: true, message: "鐢ㄦ埛瀵嗙爜涓嶈兘涓虹┖", trigger: "blur" },
           { min: 5, max: 20, message: '鐢ㄦ埛瀵嗙爜闀垮害蹇呴』浠嬩簬 5 鍜� 20 涔嬮棿', trigger: 'blur' }
         ],
-        email: [
-          {
-            type: "email",
-            message: "'璇疯緭鍏ユ纭殑閭鍦板潃",
-            trigger: ["blur", "change"]
-          }
-        ],
+        // email: [
+        //   {
+        //     type: "email",
+        //     message: "'璇疯緭鍏ユ纭殑閭鍦板潃",
+        //     trigger: ["blur", "change"]
+        //   }
+        // ],
         phonenumber: [
+          { required: true, message: "鎵嬫満鍙风爜涓嶈兘涓虹┖", trigger: "blur" },
           {
             pattern: /^1[3|4|5|6|7|8|9][0-9]\d{8}$/,
             message: "璇疯緭鍏ユ纭殑鎵嬫満鍙风爜",
             trigger: "blur"
           }
+        ],
+        certificateNo: [
+          { required: true, message: "璇佷欢鍙风爜涓嶈兘涓虹┖", trigger: "blur" },
+          { validator: checkIdNum, trigger: 'blur' }
+        ],
+        sex: [
+          { required: true, message: "鎬у埆涓嶈兘涓虹┖", trigger: "blur" }
+        ],
+        deptId: [
+          { required: true, message: "鎵�鍦ㄩ儴闂ㄤ笉鑳戒负绌�", trigger: "blur" }
+        ],
+        remarks: [
+          {max: 128, message: '鏈�澶氳緭鍏�128涓瓧绗�', trigger: 'blur' }
         ]
       }
     };
@@ -631,7 +681,7 @@
     /** 鍒犻櫎鎸夐挳鎿嶄綔 */
     handleDelete(row) {
       const userIds = row.userId || this.ids;
-      this.$modal.confirm('鏄惁纭鍒犻櫎鐢ㄦ埛缂栧彿涓�"' + userIds + '"鐨勬暟鎹」锛�').then(function() {
+      this.$modal.confirm('鏄惁纭鍒犻櫎锛�').then(function() {
         return delUser(userIds);
       }).then(() => {
         this.getList();

--
Gitblit v1.9.1