From 679ede97899d73d5a7619091b6ee3b7c881d1627 Mon Sep 17 00:00:00 2001
From: 董国庆 <364620639@qq.com>
Date: 星期六, 28 六月 2025 10:04:27 +0800
Subject: [PATCH] 修改bug

---
 laboratory/src/components/SelectMember/index.vue |   60 +++++++++++++++++++++++++++++++++++++-----------------------
 1 files changed, 37 insertions(+), 23 deletions(-)

diff --git a/laboratory/src/components/SelectMember/index.vue b/laboratory/src/components/SelectMember/index.vue
index 39e24f4..97d3dfe 100644
--- a/laboratory/src/components/SelectMember/index.vue
+++ b/laboratory/src/components/SelectMember/index.vue
@@ -36,14 +36,14 @@
                         <div class="select-member-content-right-header">
                             <div class="select-member-content-right-header-text">人员列表</div>
                             <div class="select-member-content-right-header-search">
-                                <el-input clearable v-model="nickNameOrPhone" placeholder="请输入姓名"  />
+                                <el-input clearable v-model="nickNameOrPhone" placeholder="请输入姓名" />
                                 <el-button type="primary" @click="searchUserList(null)">搜索</el-button>
                             </div>
                         </div>
-                        <Table ref="memberTable" :height="500" :row-key="row => row.userId" :data="tableData"
-                            :total="0" @selection-change="handleSelectionChange" :row-class-name="tableRowClassName">
+                        <Table ref="memberTable" :height="500" :row-key="row => row.userId" :data="tableData" :total="0"
+                            @selection-change="handleSelectionChange" :row-class-name="tableRowClassName">
                             <el-table-column type="selection" width="55" />
-                            <el-table-column label="角色" prop="roleId" >
+                            <el-table-column label="角色" prop="roleId">
                                 <template #default="scope">
                                     <span v-if="scope.row.roleId == 1">超级管理员</span>
                                     <span v-if="scope.row.roleId == 2">审批人</span>
@@ -53,9 +53,10 @@
                                 </template>
                             </el-table-column>
                             <el-table-column label="姓名" prop="nickName" />
-                            <el-table-column label="头像" prop="avatar" >
+                            <el-table-column label="头像" prop="avatar">
                                 <template #default="scope">
-                                    <img :src="scope.row.avatar || require('../../assets/login/img1111.png')" style="width: 50px;height: 50px;border-radius: 50%;" />
+                                    <img :src="scope.row.avatar || require('../../assets/login/img1111.png')"
+                                        style="width: 50px;height: 50px;border-radius: 50%;" />
                                 </template>
                             </el-table-column>
                             <el-table-column label="创建时间" prop="createTime" />
@@ -78,7 +79,11 @@
         projectId: {
             type: [String, Number],
             default: null
-        }
+        },
+        roleType: {
+            type: [String, Number],
+            default: null
+        },
     },
     data() {
         return {
@@ -92,20 +97,20 @@
         }
     },
     methods: {
-        searchRole(){
-            if(this.search){
-                this.roleList=this.roleList.filter(item=> item.roleName.includes(this.search))
-            }else{
+        searchRole() {
+            if (this.search) {
+                this.roleList = this.roleList.filter(item => item.roleName.includes(this.search))
+            } else {
                 getRoleList().then(res => {
-                if (this.projectId) {
-                    // 过滤出实验员和化验师角色
-                    this.roleList = res.filter(item => item.roleId == 4 || item.roleId == 5);
-                } else {
-                    this.roleList = res;
-                }
-            });
+                    if (this.projectId) {
+                        // 过滤出实验员和化验师角色
+                        this.roleList = res.filter(item => item.roleId == 4 || item.roleId == 5);
+                    } else {
+                        this.roleList = res;
+                    }
+                });
             }
-             
+
         },
         setSelection(selected) {
             this.selectData = selected;
@@ -126,6 +131,8 @@
                 if (this.projectId) {
                     // 过滤出实验员和化验师角色
                     this.roleList = res.filter(item => item.roleId == 4 || item.roleId == 5);
+                } else if (this.roleType) {
+                    this.roleList = res.filter(item => item.roleId == this.roleType);
                 } else {
                     this.roleList = res;
                 }
@@ -171,19 +178,26 @@
                 pageNum: 1
             };
             if (this.projectId) {
-                params={
+                params = {
                     ...params,
-                    roleId: roleId?roleId:'',
+                    roleId: roleId ? roleId : '',
                     projectId: this.projectId,
                     nickName: this.nickNameOrPhone,
                 }
                 delete params.roleIds;
                 // TODO: 这里需要替换为新的接口调用
                 const res = await listByRole(params);
-                this.tableData = res.filter(item => item.status==0 && (item.roleId == 4 || item.roleId == 5));
+                this.tableData = res.filter(item => item.status == 0 && (item.roleId == 4 || item.roleId == 5));
+            } else if (this.roleType) {
+                params = {
+                    ...params,
+                    roleIds: [this.roleType],
+                }
+                const res = await getUserList(params);
+                this.tableData = res.records.filter(item => item.status == 0);
             } else {
                 const res = await getUserList(params);
-                this.tableData = res.records.filter(item=> item.status==0);
+                this.tableData = res.records.filter(item => item.status == 0);
             }
             // 数据加载完成后重新应用选中状态
             this.setSelection(this.selectData)

--
Gitblit v1.7.1