任务列表同步开放客服换绑入口

与任务详情一致,列表「换绑」不再依赖运营级生命周期权限。
This commit is contained in:
yml2213
2026-07-10 18:49:41 +08:00
parent 2fade9aba9
commit a445196512
@@ -73,6 +73,8 @@ export default function AdminTasksPage() {
const page = Number(searchParams.get('page') || 1) || 1 const page = Number(searchParams.get('page') || 1) || 1
const pageSize = resolveAdminPageSize(searchParams.get('pageSize'), ADMIN_DEFAULT_PAGE_SIZE) const pageSize = resolveAdminPageSize(searchParams.get('pageSize'), ADMIN_DEFAULT_PAGE_SIZE)
const canManageTaskLifecycle = hasAdminRole('operator') const canManageTaskLifecycle = hasAdminRole('operator')
// 与详情页一致:客服可换绑协助处理(canOperateAssistedTask
const canRebindRole = hasAdminRole('support')
const canCloseTasks = hasAdminRole('support') const canCloseTasks = hasAdminRole('support')
const filters = { const filters = {
status: searchParams.get('status') || '', status: searchParams.get('status') || '',
@@ -224,7 +226,7 @@ export default function AdminTasksPage() {
canManageTaskLifecycle && canManageTaskLifecycle &&
row.executorKey !== 'manual_dispatch' && row.executorKey !== 'manual_dispatch' &&
['retry_pending', 'manual_review'].includes(row.status) ['retry_pending', 'manual_review'].includes(row.status)
const canRebind = canRebindListTask(row, canManageTaskLifecycle) const canRebind = canRebindListTask(row, canRebindRole)
const canManualReview = const canManualReview =
canManageTaskLifecycle && canManageTaskLifecycle &&
!['redeemed', 'closed', 'completed', 'manual_review'].includes(row.status) !['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 ( return (
canManageTaskLifecycle && canRebindRole &&
item.executorKey === 'kuaishou_ct_assisted' && item.executorKey === 'kuaishou_ct_assisted' &&
['waiting_binding', 'role_confirmed', 'manual_review', 'retry_pending'].includes(item.status) ['waiting_binding', 'role_confirmed', 'manual_review', 'retry_pending'].includes(item.status)
) )