From d82e210c6de4163d5a528f385b5582d8822cb69f Mon Sep 17 00:00:00 2001
From: 董国庆 <364620639@qq.com>
Date: 星期五, 23 五月 2025 17:13:52 +0800
Subject: [PATCH] Merge branch 'main' of http://120.76.84.145:10101/gitblit/r/H5/leshan-laboratory

---
 culture/src/components/SelectMember/index.vue |   25 ++++++++++++++++++++++---
 1 files changed, 22 insertions(+), 3 deletions(-)

diff --git a/culture/src/components/SelectMember/index.vue b/culture/src/components/SelectMember/index.vue
index 7182483..3d092b2 100644
--- a/culture/src/components/SelectMember/index.vue
+++ b/culture/src/components/SelectMember/index.vue
@@ -41,8 +41,9 @@
                             </div>
                         </div>
                         <Table ref="memberTable" :row-key="row => row.userId" :data="tableData" :total="0"
-                            @selection-change="handleSelectionChange" :row-class-name="tableRowClassName">
-                            <el-table-column type="selection" width="55" />
+                            @selection-change="handleSelectionChange" :row-class-name="tableRowClassName"
+                            @row-click="handleRowClick">
+                            <el-table-column type="selection" width="55" v-if="!singleSelect" />
                             <el-table-column label="角色" prop="roleName" />
                             <el-table-column label="姓名" prop="nickName" />
                             <el-table-column label="创建时间" prop="createTime" />
@@ -65,6 +66,10 @@
         projectId: {
             type: [String, Number],
             default: null
+        },
+        singleSelect: {
+            type: Boolean,
+            default: false
         }
     },
     data() {
@@ -103,7 +108,9 @@
             this.searchUserList(null);
         },
         handleSelectionChange(val) {
-            this.selectData = val
+            if (!this.singleSelect) {
+                this.selectData = val;
+            }
         },
         async searchUserList(roleId) {
             this.roleId = roleId
@@ -144,6 +151,18 @@
                 return 'select-row';
             }
             return '';
+        },
+        handleRowClick(row) {
+            if (this.singleSelect) {
+                // 单选模式:直接设置选中项
+                this.selectData = [row];
+                // 更新表格选中状态
+                this.$nextTick(() => {
+                    this.tableData.forEach(item => {
+                        this.$refs.memberTable.toggleRowSelection(item, item.userId === row.userId);
+                    });
+                });
+            }
         }
     }
 }

--
Gitblit v1.7.1