From e87846bfc7e467836d958632b15a22a901eb51d2 Mon Sep 17 00:00:00 2001
From: fuliqi <fuliqi@qq.com>
Date: 星期四, 09 一月 2025 15:33:56 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/master'

---
 src/components/flow/User/MultUser.vue |   90 ++++++++++++++++----------------------------
 1 files changed, 33 insertions(+), 57 deletions(-)

diff --git a/src/components/flow/User/MultUser.vue b/src/components/flow/User/MultUser.vue
index c4e18b7..00406bb 100644
--- a/src/components/flow/User/MultUser.vue
+++ b/src/components/flow/User/MultUser.vue
@@ -1,11 +1,12 @@
 <template>
   <div>
     <el-dialog
-      :title="`閫夋嫨杞姙鎺ユ敹浜哄憳`"
+      :title="title"
       :visible.sync="show"
       width="65%"
       :destroy-on-close="true"
       :close-on-click-modal="false"
+      :modal-append-to-body="false"
       :modal="false"
       :before-close="close">
       <el-row :gutter="20">
@@ -38,11 +39,12 @@
         <!--鐢ㄦ埛鏁版嵁-->
         <el-col :span="18" :xs="24">
           <el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="68px">
-            <el-form-item label="鐢ㄦ埛鍚嶇О" prop="userName">
+            <el-form-item label="鐢ㄦ埛鍚嶇О" prop="nickName">
               <el-input
-                v-model="queryParams.userName"
-                placeholder="璇疯緭鍏ョ敤鎴峰悕绉�"
+                v-model="queryParams.nickName"
+                placeholder="璇疯緭鍏ョ敤鎴峰鍚�"
                 clearable
+                @clear="handleQuery"
                 style="width: 150px"
                 @keyup.enter.native="handleQuery"
               />
@@ -53,7 +55,7 @@
             </el-form-item>
           </el-form>
           <el-table ref="dataTable" v-loading="loading" :row-key="getRowKey" :data="userList" @selection-change="handleUserSelect">
-            <el-table-column type="selection" align="center" />
+            <el-table-column type="selection" align="center" :reserve-selection="true"/>
             <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" />
@@ -94,9 +96,14 @@
       required: true,
       type: Boolean
     },
+    title: {
+      type: String,
+      required: false,
+      default: '鍊欓�変汉鍛�'
+    },
     // 鍥炴樉鏁版嵁浼犲��
     selectUserList: {
-      type: Number,
+      type: Array,
       default: null,
       required: false
     },
@@ -104,27 +111,19 @@
   },
   data() {
     return {
-      innerSelected: [],
+      innerSelected: [], // 閫変腑
       // 閬僵灞�
-      loading: true,
-      // 閫変腑鏁扮粍
-      ids: [],
+      loading: false,
       // 鏄剧ず鎼滅储鏉′欢
       showSearch: true,
       // 鎬绘潯鏁�
       total: 0,
       // 鐢ㄦ埛琛ㄦ牸鏁版嵁
       userList: [],
-      // 寮瑰嚭灞傛爣棰�
-      title: "",
       // 閮ㄩ棬鏍戦�夐」
       deptOptions: undefined,
-      // 鏄惁鏄剧ず寮瑰嚭灞�
-      open: false,
       // 閮ㄩ棬鍚嶇О
       deptName: undefined,
-      // 琛ㄥ崟鍙傛暟
-      form: {},
       defaultProps: {
         children: "children",
         label: "label"
@@ -133,7 +132,7 @@
       queryParams: {
         pageNum: 1,
         pageSize: 5,
-        userName: undefined,
+        nickName: undefined,
         phonenumber: undefined,
         status: undefined,
         deptId: undefined
@@ -148,7 +147,6 @@
         { key: 5, label: `鐘舵�乣, visible: true },
         { key: 6, label: `鍒涘缓鏃堕棿`, visible: true }
       ],
-      radioSelected: 0, // 鍗曢�夋浼犲��
     };
   },
   watch: {
@@ -156,46 +154,24 @@
     deptName(val) {
       this.$refs.tree.filter(val);
     },
-    selectUserList: {
-      deep: true,
-      handler(newVal) {
-        console.log(this.selectValues, "浼犲叆鐨勫�兼槸")
-        this.setChecked(newVal)
-      },
-    },
-    userList: {
-      deep: true,
-      handler(newVal) {
-        this.$nextTick(() => {
-          this.$refs.dataTable.clearSelection();
-          this.innerSelected.forEach(check => {
-            newVal.forEach(item => {
-              if (check.userId === item.userId) {
-                this.$refs.dataTable.toggleRowSelection(item)
-              }
-            })
-          })
-        });
-      },
-    },
   },
   mounted() {
-    this.getList();
     this.getDeptTree();
+    this.getList();
   },
   methods: {
+    // 淇濆瓨閫変腑鐨勬暟鎹甶d,row-key灏辨槸瑕佹寚瀹氫竴涓猭ey鏍囪瘑杩欎竴琛岀殑鏁版嵁
+    getRowKey (row) {
+      return row.userId
+    },
     setChecked(val) {
+      this.innerSelected = val
       this.$nextTick(() => {
-        this.$refs.dataTable.clearSelection();
-        this.innerSelected = val
         val.forEach(check => {
-          this.userList.forEach(item => {
-            if (check.userId === item.userId) {
-              this.$refs.dataTable.toggleRowSelection(item)
-            }
-          })
+          this.$refs.dataTable.toggleRowSelection(check, true)
         })
       });
+
     },
     /** 鏌ヨ鐢ㄦ埛鍒楄〃 */
     getList() {
@@ -213,10 +189,6 @@
         this.deptOptions = response.data;
       });
     },
-    // 淇濆瓨閫変腑鐨勬暟鎹甶d,row-key灏辨槸瑕佹寚瀹氫竴涓猭ey鏍囪瘑杩欎竴琛岀殑鏁版嵁
-    getRowKey (row) {
-      return row.id
-    },
     // 绛涢�夎妭鐐�
     filterNode(value, data) {
       if (!value) return true;
@@ -229,11 +201,17 @@
     },
     // 浼犻�掗�変腑鍊�
     handleUserSelect(selectionList) {
-      console.log("閫変腑鍊�", selectionList)
-      this.innerSelected = selectionList
+
+      console.log("鍘熷厛鍊�", this.innerSelected)
+      this.innerSelected = [...new Set(selectionList)]
+      console.log("閫変腑鍊�", this.innerSelected)
     },
     getSelected() {
       this.$emit('submit', this.innerSelected);
+
+    },
+    close() {
+      this.$emit("close")
     },
     /** 鎼滅储鎸夐挳鎿嶄綔 */
     handleQuery() {
@@ -248,9 +226,7 @@
       this.$refs.tree.setCurrentKey(null);
       this.handleQuery();
     },
-    close() {
-      this.$emit("close")
-    },
+
   }
 };
 </script>

--
Gitblit v1.8.0