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