fix role list

This commit is contained in:
Timi
2026-08-22 11:00:49 +08:00
parent a355960fd4
commit 387e995634
+23 -3
View File
@@ -23,7 +23,17 @@
<template #title> <template #title>
<div class="header"> <div class="header">
<span class="name" v-text="getUserName(item)" /> <span class="name" v-text="getUserName(item)" />
<t-tag class="meta" size="small" theme="success" variant="outline" :content="getRoleName(item)" /> <div class="meta-list">
<t-tag
v-for="(roleName, index) in getRoleNameList(item)"
:key="`${roleName}-${index}`"
class="meta"
size="small"
theme="success"
variant="outline"
:content="roleName"
/>
</div>
</div> </div>
</template> </template>
<template #description> <template #description>
@@ -132,8 +142,11 @@ function getUserName(item: ManagedUser): string {
return item.user?.nick || item.user?.name || "未命名用户"; return item.user?.nick || item.user?.name || "未命名用户";
} }
function getRoleName(item: ManagedUser): string { function getRoleNameList(item: ManagedUser): string[] {
return getRoleDisplayName(getManagedUserRoleList(item)[0], permissionStore.roleList); const roleList = getManagedUserRoleList(item);
return roleList.length
? roleList.map(role => getRoleDisplayName(role, permissionStore.roleList))
: [getRoleDisplayName(undefined, permissionStore.roleList)];
} }
// ---------- 头像 ---------- // ---------- 头像 ----------
@@ -256,6 +269,13 @@ onUnmounted(() => navBarStore.clearRight());
align-items: center; align-items: center;
justify-content: space-between; justify-content: space-between;
} }
.meta-list {
gap: .25rem;
display: flex;
flex-wrap: wrap;
justify-content: flex-end;
}
} }
} }