diff --git a/hub/admin-web/src/lib/components/FolderTree.svelte b/hub/admin-web/src/lib/components/FolderTree.svelte index 8576128..5fd27db 100644 --- a/hub/admin-web/src/lib/components/FolderTree.svelte +++ b/hub/admin-web/src/lib/components/FolderTree.svelte @@ -33,7 +33,7 @@
{:else if $session.error}切换到其他组织
totals 含全部 UsageFact;分账明细见用量页。
模型完成 vs 外部能力,按成本降序前 5
| - + {p.projectName} | diff --git a/hub/admin-web/src/routes/admin/org/[slug]/capabilities/+page.svelte b/hub/admin-web/src/routes/admin/capabilities/+page.svelte similarity index 97% rename from hub/admin-web/src/routes/admin/org/[slug]/capabilities/+page.svelte rename to hub/admin-web/src/routes/admin/capabilities/+page.svelte index dd97739..5a1573b 100644 --- a/hub/admin-web/src/routes/admin/org/[slug]/capabilities/+page.svelte +++ b/hub/admin-web/src/routes/admin/capabilities/+page.svelte @@ -1,6 +1,8 @@ + +||||
| {p.name} | {p.binding ? `群 ${p.binding.chatId}` : '—'} | {fmtDate(p.createdAt)} | diff --git a/hub/admin-web/src/routes/admin/org/[slug]/projects/[projectId]/+page.svelte b/hub/admin-web/src/routes/admin/projects/[projectId]/+page.svelte similarity index 97% rename from hub/admin-web/src/routes/admin/org/[slug]/projects/[projectId]/+page.svelte rename to hub/admin-web/src/routes/admin/projects/[projectId]/+page.svelte index 3cfb1aa..5c0dbc3 100644 --- a/hub/admin-web/src/routes/admin/org/[slug]/projects/[projectId]/+page.svelte +++ b/hub/admin-web/src/routes/admin/projects/[projectId]/+page.svelte @@ -9,6 +9,8 @@ type ExplorerData, type ProjectUsageReport, } from '$lib/api'; + import { session } from '$lib/session'; + import { resolveOrg } from '$lib/org'; import { fmtCost, fmtDate, @@ -27,7 +29,8 @@ import Icon from '$lib/components/Icon.svelte'; import { toastError, toastSuccess } from '$lib/toast'; - const slug = $derived(page.params.slug ?? ''); + const org = $derived(resolveOrg($session.me, page.url.search)); + const slug = $derived(org?.slug ?? ''); const projectId = $derived(page.params.projectId ?? ''); const roleItems = PERMISSION_ROLES.map((r) => ({ value: r, label: PERMISSION_ROLE_LABELS[r] })); const roleChain = `${PERMISSION_ROLE_LABELS.READ} ⊂ ${PERMISSION_ROLE_LABELS.EDIT} ⊂ ${PERMISSION_ROLE_LABELS.MANAGE}`; @@ -109,7 +112,7 @@ if (!confirm(`归档项目 ${proj?.name}?`)) return; try { await api.archiveProject(slug, projectId); - window.location.href = `/admin/org/${slug}/projects`; + window.location.href = `/admin/projects`; } catch (err) { toastError(err instanceof Error ? err.message : String(err)); } @@ -170,7 +173,7 @@ {:else if proj} - 组织报告 + 组织报告 {#if projectUsage.breakdown.length === 0}详情 diff --git a/hub/admin-web/src/routes/admin/org/[slug]/provider/+page.svelte b/hub/admin-web/src/routes/admin/provider/+page.svelte similarity index 96% rename from hub/admin-web/src/routes/admin/org/[slug]/provider/+page.svelte rename to hub/admin-web/src/routes/admin/provider/+page.svelte index b253162..383ecc7 100644 --- a/hub/admin-web/src/routes/admin/org/[slug]/provider/+page.svelte +++ b/hub/admin-web/src/routes/admin/provider/+page.svelte @@ -1,6 +1,8 @@ |