fix(admin): 主管理员撤销 bug — TeamsPage 主管 badge 加 onClick

之前 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) <noreply@anthropic.com>
This commit is contained in:
seaislee1209 2026-05-12 18:14:38 +08:00
parent 6d683d4e76
commit e86e3d45b1

View File

@ -823,7 +823,15 @@ export function TeamsPage() {
<td>{m.email}</td> <td>{m.email}</td>
<td> <td>
{m.is_team_owner ? ( {m.is_team_owner ? (
<span className={styles.ownerBadge}></span> <span className={styles.ownerBadge} style={{ cursor: 'pointer' }} title="点击撤销主管理员身份(变回普通成员)" onClick={async () => {
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('操作失败'); }
}}></span>
) : m.is_team_admin ? ( ) : m.is_team_admin ? (
<span className={styles.adminBadge} style={{ cursor: 'pointer' }} title="点击取消副管理员" onClick={async () => { <span className={styles.adminBadge} style={{ cursor: 'pointer' }} title="点击取消副管理员" onClick={async () => {
try { try {