From a445196512d7fc705e9fec88077f14585890219e Mon Sep 17 00:00:00 2001 From: yml2213 Date: Fri, 10 Jul 2026 18:49:41 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BB=BB=E5=8A=A1=E5=88=97=E8=A1=A8=E5=90=8C?= =?UTF-8?q?=E6=AD=A5=E5=BC=80=E6=94=BE=E5=AE=A2=E6=9C=8D=E6=8D=A2=E7=BB=91?= =?UTF-8?q?=E5=85=A5=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 与任务详情一致,列表「换绑」不再依赖运营级生命周期权限。 --- apps/frontend/src/pages/admin/AdminTasksPage.tsx | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/apps/frontend/src/pages/admin/AdminTasksPage.tsx b/apps/frontend/src/pages/admin/AdminTasksPage.tsx index 98cb5d97..f8eb942c 100644 --- a/apps/frontend/src/pages/admin/AdminTasksPage.tsx +++ b/apps/frontend/src/pages/admin/AdminTasksPage.tsx @@ -73,6 +73,8 @@ export default function AdminTasksPage() { const page = Number(searchParams.get('page') || 1) || 1 const pageSize = resolveAdminPageSize(searchParams.get('pageSize'), ADMIN_DEFAULT_PAGE_SIZE) const canManageTaskLifecycle = hasAdminRole('operator') + // 与详情页一致:客服可换绑协助处理(canOperateAssistedTask) + const canRebindRole = hasAdminRole('support') const canCloseTasks = hasAdminRole('support') const filters = { status: searchParams.get('status') || '', @@ -224,7 +226,7 @@ export default function AdminTasksPage() { canManageTaskLifecycle && row.executorKey !== 'manual_dispatch' && ['retry_pending', 'manual_review'].includes(row.status) - const canRebind = canRebindListTask(row, canManageTaskLifecycle) + const canRebind = canRebindListTask(row, canRebindRole) const canManualReview = canManageTaskLifecycle && !['redeemed', 'closed', 'completed', 'manual_review'].includes(row.status) @@ -472,9 +474,9 @@ export default function AdminTasksPage() { ) } -function canRebindListTask(item: AdminTaskListItem, canManageTaskLifecycle: boolean) { +function canRebindListTask(item: AdminTaskListItem, canRebindRole: boolean) { return ( - canManageTaskLifecycle && + canRebindRole && item.executorKey === 'kuaishou_ct_assisted' && ['waiting_binding', 'role_confirmed', 'manual_review', 'retry_pending'].includes(item.status) )