diff --git a/components/department-dashboard/PeopleStructureDashboard.test.tsx b/components/department-dashboard/PeopleStructureDashboard.test.tsx index cd43492b..5dceef5d 100644 --- a/components/department-dashboard/PeopleStructureDashboard.test.tsx +++ b/components/department-dashboard/PeopleStructureDashboard.test.tsx @@ -14,6 +14,7 @@ jest.mock('@/components/organization/OrganizationWorkspace', () => ({ data-embedded={String(props.embedded)} data-scope={String(props.scopeRootName)} data-heading={String(props.heading)} + data-tree-as-secondary-sidebar={String(props.treeAsSecondarySidebar)} > {String(props.description)} @@ -28,6 +29,7 @@ describe('PeopleStructureDashboard', () => { expect(screen.getByTestId('organization-workspace')).toHaveAttribute('data-embedded', 'true') expect(screen.getByTestId('organization-workspace')).toHaveAttribute('data-scope', '品牌中心') expect(screen.getByTestId('organization-workspace')).toHaveAttribute('data-heading', '人员架构') + expect(screen.getByTestId('organization-workspace')).toHaveAttribute('data-tree-as-secondary-sidebar', 'true') expect(screen.getByText(/公司组织架构 · 品牌中心在职人员/)).toBeInTheDocument() }) }) diff --git a/components/department-dashboard/PeopleStructureDashboard.tsx b/components/department-dashboard/PeopleStructureDashboard.tsx index 02c1bc99..28207b07 100644 --- a/components/department-dashboard/PeopleStructureDashboard.tsx +++ b/components/department-dashboard/PeopleStructureDashboard.tsx @@ -15,6 +15,7 @@ export default function PeopleStructureDashboard() { scopeRootName="品牌中心" heading="人员架构" description="公司组织架构 · 品牌中心在职人员 · 数据源:HR 花名册(每日 02:00 自动同步)" + treeAsSecondarySidebar /> diff --git a/components/organization/OrganizationWorkspace.tsx b/components/organization/OrganizationWorkspace.tsx index 573bd70d..c2b4fbb6 100644 --- a/components/organization/OrganizationWorkspace.tsx +++ b/components/organization/OrganizationWorkspace.tsx @@ -98,6 +98,7 @@ type OrganizationWorkspaceProps = { scopeRootName?: string heading?: string description?: string + treeAsSecondarySidebar?: boolean } function findOrganizationNode(nodes: OrgNode[], name: string): OrgNode | null { @@ -115,6 +116,7 @@ export default function OrganizationWorkspace({ scopeRootName, heading = '组织架构', description = '品牌中心在职人员 · 数据源:HR 花名册(每日 02:00 自动同步)', + treeAsSecondarySidebar = false, }: OrganizationWorkspaceProps) { const { data: session, status } = useSession() const router = useRouter() @@ -296,10 +298,10 @@ export default function OrganizationWorkspace({ } const content = ( -
+
{/* direction: cloud-quarry (seed 32cb33b5) — THESIS: 部门即层叠石料块,人员是块上铭牌 */} {/* 页头 */} -
+

{heading}

{description}

@@ -331,26 +333,30 @@ export default function OrganizationWorkspace({
{error && ( -
+
{error}
)} {loading && !data ? ( -
+
加载中…
) : data ? ( -
+
{/* 左侧:组织树 */} -