diff --git a/admin-frontend-vue/src/api/user-secrets.ts b/admin-frontend-vue/src/api/user-secrets.ts index 411ca0a4..cf6ea108 100644 --- a/admin-frontend-vue/src/api/user-secrets.ts +++ b/admin-frontend-vue/src/api/user-secrets.ts @@ -21,6 +21,8 @@ export interface AdminUserSecretRow { username: string /** 所属数据权限分组名(可能多个)。 */ groups: string[] + /** 所属主管(创建人)用户名;无分组时的兜底展示。 */ + leaderUsername: string similarAsin: AdminUserSecretModule appearancePatent: AdminUserSecretModule proxy: AdminUserSecretModule diff --git a/admin-frontend-vue/src/pages/account/UserSecretsPage.vue b/admin-frontend-vue/src/pages/account/UserSecretsPage.vue index 2bfa01ad..293725c0 100644 --- a/admin-frontend-vue/src/pages/account/UserSecretsPage.vue +++ b/admin-frontend-vue/src/pages/account/UserSecretsPage.vue @@ -82,6 +82,13 @@ function moduleTooltip(module: AdminUserSecretModule | undefined) { return parts.join(';') || '暂无检测记录' } +/** 分组列文案:优先分组名;未建分组的用户回退展示所属主管,便于判断归属。 */ +function groupTextOf(row: AdminUserSecretRow) { + if (row.groups?.length) return row.groups.join('、') + if (row.leaderUsername) return `${row.leaderUsername}(未建分组)` + return '—' +} + function rowStatusTooltip(row: AdminUserSecretRow) { const parts: string[] = [] if (row.statusMessage) parts.push(row.statusMessage) @@ -231,7 +238,7 @@ onMounted(load) {{ row.username || '—' }} - {{ row.groups?.length ? row.groups.join('、') : '—' }} + {{ groupTextOf(row) }}
diff --git a/backend-java/src/main/java/com/nanri/aiimage/modules/shopkey/mapper/ShopManageGroupMapper.java b/backend-java/src/main/java/com/nanri/aiimage/modules/shopkey/mapper/ShopManageGroupMapper.java index 8a9f625e..fa3dd509 100644 --- a/backend-java/src/main/java/com/nanri/aiimage/modules/shopkey/mapper/ShopManageGroupMapper.java +++ b/backend-java/src/main/java/com/nanri/aiimage/modules/shopkey/mapper/ShopManageGroupMapper.java @@ -103,13 +103,18 @@ public interface ShopManageGroupMapper extends BaseMapper """) List selectUserIdsByGroupIds(@Param("groupIds") List groupIds); - /** 批量查用户所属分组名(密钥管理列表「分组」列展示用)。 */ + /** + * 批量查用户所属分组名:分组归属按「分组的创建人(created_by_id/user_id) = 用户的创建人」判定, + * 即主管名下的子账户归入该主管创建的分组(成员表 biz_shop_manage_group_member 生产上基本未使用)。 + */ @Select("""