not self in list

This commit is contained in:
Timi
2026-08-22 11:22:34 +08:00
parent 11111ea2f9
commit 3c1f7ad590
+15 -4
View File
@@ -136,6 +136,15 @@ const pageResult = reactive<PageResult<ManagedUser>>({
list: [] list: []
}); });
function isCurrentUser(item: ManagedUser): boolean {
const loginUserId = userStore.loginUser.user?.id || userStore.loginUser.id;
return !!loginUserId && (item.userId === loginUserId || item.user?.id === loginUserId);
}
function filterCurrentUser(list: ManagedUser[]): ManagedUser[] {
return list.filter(item => !isCurrentUser(item));
}
// ---------- 展示文案 ---------- // ---------- 展示文案 ----------
function getUserName(item: ManagedUser): string { function getUserName(item: ManagedUser): string {
@@ -176,10 +185,11 @@ async function loadData(): Promise<void> {
ManagedUserAPI.list(page, userListOptions.value), ManagedUserAPI.list(page, userListOptions.value),
permissionStore.loadAll() permissionStore.loadAll()
]); ]);
const list = userResult.list || [];
pageResult.total = userResult.total; pageResult.total = userResult.total;
pageResult.list = userResult.list || []; pageResult.list = filterCurrentUser(list);
page.index = 1; page.index = 1;
isNoMore.value = pageResult.list.length >= pageResult.total || pageResult.list.length < page.size; isNoMore.value = pageResult.list.length >= pageResult.total || list.length < page.size;
} }
async function refresh(): Promise<void> { async function refresh(): Promise<void> {
@@ -203,10 +213,11 @@ async function fetch(): Promise<void> {
isLoading.value = true; isLoading.value = true;
try { try {
const result = await ManagedUserAPI.list(page, userListOptions.value); const result = await ManagedUserAPI.list(page, userListOptions.value);
const list = result.list || [];
pageResult.total = result.total; pageResult.total = result.total;
pageResult.list = pageResult.list.concat(result.list || []); pageResult.list = pageResult.list.concat(filterCurrentUser(list));
page.index += 1; page.index += 1;
isNoMore.value = pageResult.list.length >= pageResult.total || (result.list || []).length < page.size; isNoMore.value = pageResult.list.length >= pageResult.total || list.length < page.size;
} finally { } finally {
isLoading.value = false; isLoading.value = false;
} }