From e86e3d45b1b5ed6f60f1f99fbd66da7cc1866579 Mon Sep 17 00:00:00 2001 From: seaislee1209 Date: Tue, 12 May 2026 18:14:38 +0800 Subject: [PATCH] =?UTF-8?q?fix(admin):=20=E4=B8=BB=E7=AE=A1=E7=90=86?= =?UTF-8?q?=E5=91=98=E6=92=A4=E9=94=80=20bug=20=E2=80=94=20TeamsPage=20?= =?UTF-8?q?=E4=B8=BB=E7=AE=A1=20badge=20=E5=8A=A0=20onClick?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 之前 L825 主管理员 badge 无 onClick,管理员之前把某成员设为主管后撤不掉,只能后台改 DB。 后端 admin_team_member_role_view 收到 is_team_admin=false 已支持同时清 is_team_owner。 前端补 onClick + confirm + 调 setMemberRole(false) 即可,后端不动。 Co-Authored-By: Claude Opus 4.7 (1M context) --- web/src/pages/TeamsPage.tsx | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/web/src/pages/TeamsPage.tsx b/web/src/pages/TeamsPage.tsx index 1745ed9..b139564 100644 --- a/web/src/pages/TeamsPage.tsx +++ b/web/src/pages/TeamsPage.tsx @@ -823,7 +823,15 @@ export function TeamsPage() { {m.email} {m.is_team_owner ? ( - 主管理员 + { + if (!window.confirm(`撤销 ${m.username} 的主管理员身份?\n确认后将变回普通成员。`)) return; + try { + // 后端 admin_team_member_role_view 收到 is_team_admin=false 会同时清 is_team_owner + await adminApi.setMemberRole(detailTeam!.id, m.id, false); + showToast('已撤销主管理员'); + const { data: refreshed } = await adminApi.getTeamDetail(detailTeam!.id); setDetailTeam(refreshed); + } catch { showToast('操作失败'); } + }}>主管理员 ) : m.is_team_admin ? ( { try {