-
-
-
本组部门
-
- 已加 {selected.departments.length} 个。已在别组的部门不能再加进来。
-
- {selected.departments.length > 0 && (
-
- {selected.departments.map((department) => (
-
- ))}
-
- )}
-
setDeptKeyword(event.target.value)}
- placeholder="搜索花名册部门"
- className="mt-3 h-9 w-full rounded-lg border border-[#e2e8f0] bg-[#f8fafc] px-3 text-sm outline-none focus:border-[#1677ff]"
- />
-
-
-
-
-
-
-
本组人员
-
- 人还留在自己的花名册部门。加上这组后,部门能看的还在,这组多出来的也能看。
-
-
-
setPersonKeyword(event.target.value)}
- placeholder="搜花名 / 工号 / 账号"
- className="mt-3 h-9 w-full rounded-lg border border-[#e2e8f0] bg-[#f8fafc] px-3 text-sm outline-none focus:border-[#1677ff]"
- />
- {searching &&
搜索中…
}
- {candidates.length > 0 && (
-
- {candidates.map((candidate) => (
- -
-
-
{candidate.displayName}
-
- {candidate.departmentName || '未确定'} · @{candidate.username}
-
-
-
-
- ))}
-
- )}
-
-
-
-
- | 已进组的人 |
- 花名册部门 |
- |
-
-
-
- {selected.members.length === 0 ? (
-
- |
- 还没有人单独进这组
- |
-
- ) : (
- selected.members.map((row) => (
-
- |
- {row.displayName}
- @{row.username}
- |
- {row.departmentName || '—'} |
-
-
- |
-
- ))
- )}
-
-
-
+
+
{visibleTypes.map(type =>
)}
+ {visibleTypes.length === 0 &&
{materialKeyword ? '未找到素材类型' : '暂无素材类型'}
}
+ >}
-
-
+ {activeTab === 'departments' && <>
+
立即生效
+
+
已加入 · {selected.departments.length}
{selected.departments.length === 0 ? 暂无部门
: {selected.departments.map(department => {department.name}
{department.path}
)}
}
+
-
- )}
-
-
- >
- )}
+ >}
+
+ {activeTab === 'members' && <>
+
setPersonKeyword(event.target.value)} placeholder="搜花名 / 工号 / 账号" className={`${field} pl-9 pr-11`} />{personKeyword && }
立即生效
+
{searching &&
搜索中…
}{searchError &&
{searchError}
}{personKeyword.trim() && !searching && !searchError && candidates.length === 0 &&
未找到人员
}
+ {candidates.length > 0 &&
{candidates.map(candidate => {candidate.displayName}
{candidate.departmentName || '未确定部门'} · @{candidate.username}
)}
}
+
+
已加入 · {selected.members.length}
+ {selected.members.length === 0 ?
暂无人员
:
{selected.members.map(member => {member.displayName}@{member.username}
{member.departmentName || member.departmentPath || '未确定部门'}
)}
}
+ >}
+
+ {activeTab === 'settings' &&
+
+
视频提前访问
跳过视频 15 天保护期 · 立即生效
+
+
}
+
+
+ {(activeTab === 'permissions' || dirty) &&
}
+ >}
+
+
+ >}
)
diff --git a/components/department-dashboard/UserPermissionsDashboard.test.tsx b/components/department-dashboard/UserPermissionsDashboard.test.tsx
index 72be441..7797061 100644
--- a/components/department-dashboard/UserPermissionsDashboard.test.tsx
+++ b/components/department-dashboard/UserPermissionsDashboard.test.tsx
@@ -59,9 +59,9 @@ describe('UserPermissionsDashboard', () => {
await userEvent.type(screen.getByLabelText('搜索人员'), '九千七')
expect(await screen.findByRole('heading', { level: 2, name: '九千七' })).toBeInTheDocument()
- expect(screen.getByText('部门带来的组')).toBeInTheDocument()
+ expect(screen.getAllByText('部门组')[0]).toBeInTheDocument()
expect(screen.getByText('随 运营中心A')).toBeInTheDocument()
- expect(screen.getByText('个人加的组')).toBeInTheDocument()
+ expect(screen.getAllByText('个人组')[0]).toBeInTheDocument()
expect(screen.getByText('视觉')).toBeInTheDocument()
expect(screen.getAllByText('运营').length).toBeGreaterThan(0)
})
diff --git a/components/department-dashboard/UserPermissionsDashboard.tsx b/components/department-dashboard/UserPermissionsDashboard.tsx
index 77fa105..43ff585 100644
--- a/components/department-dashboard/UserPermissionsDashboard.tsx
+++ b/components/department-dashboard/UserPermissionsDashboard.tsx
@@ -4,6 +4,7 @@ import Select from '@/components/ui/Select'
import { useCallback, useEffect, useState } from 'react'
import Link from 'next/link'
+import { ChevronRight, Search, X } from 'lucide-react'
import { useSession } from 'next-auth/react'
import DepartmentShell from './DepartmentShell'
@@ -92,30 +93,18 @@ export default function UserPermissionsDashboard() {
return (