diff --git a/src/api/park.ts b/src/api/park.ts index ece851b..98c9059 100644 --- a/src/api/park.ts +++ b/src/api/park.ts @@ -20,6 +20,8 @@ export const parkApi = { api.put<{ ok: boolean; tenant: Tenant }>(`/park/tenants/${tid}`, body), bindAdmin: (tid: string, username: string) => api.post<{ ok: boolean }>(`/park/tenants/${tid}/bind`, { username }), unbindAdmin: (tid: string) => api.post<{ ok: boolean }>(`/park/tenants/${tid}/unbind`), + deleteTenant: (tid: string) => api.del<{ ok: boolean }>(`/park/tenants/${tid}`), + setTenantStatus: (tid: string, status: "active" | "disabled") => api.post<{ ok: boolean }>(`/park/tenants/${tid}/status`, { status }), // ---- 大屏控制台 ---- displayState: (tenantId: string) => api.get("/park/api/display/state", { tenant_id: tenantId }), diff --git a/src/pages/park/tenant-tab.tsx b/src/pages/park/tenant-tab.tsx index 30c1444..a623e12 100644 --- a/src/pages/park/tenant-tab.tsx +++ b/src/pages/park/tenant-tab.tsx @@ -47,6 +47,13 @@ export function TenantTab() { if (!window.confirm(`解除「${t.name}」的管理员绑定?`)) return; await parkApi.unbindAdmin(t.id); reload(); }; + const toggle = async (t: Tenant) => { + await parkApi.setTenantStatus(t.id, t.status === "disabled" ? "active" : "disabled"); reload(); + }; + const remove = async (t: Tenant) => { + if (!window.confirm(`确认删除园区「${t.name}」?将一并删除其全部资源(屏幕/企业/知识库/智能体/大屏数据)且不可恢复!`)) return; + await parkApi.deleteTenant(t.id); reload(); + }; return (
@@ -70,13 +77,16 @@ export function TenantTab() {
{t.name} {t.id} + {t.status === "disabled" ? "已禁用" : "启用"}
管理员:{t.admin_username || "(未绑定)"}
{(t.intro ?? []).join(" · ")}
{t.admin_username - ? + ? : } + +
))}