From b468b51aa7bdea98180924cc317b63a922de3c93 Mon Sep 17 00:00:00 2001 From: dohyeons Date: Mon, 3 Nov 2025 16:40:45 +0900 Subject: [PATCH] =?UTF-8?q?=ED=9A=8C=EC=82=AC=20=EC=A0=95=EB=B3=B4=20?= =?UTF-8?q?=ED=91=9C=EC=8B=9C=20=EB=B0=8F=20=EB=92=A4=EB=A1=9C=EA=B0=80?= =?UTF-8?q?=EA=B8=B0=20=EB=B2=84=ED=8A=BC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../admin/department/DepartmentManagement.tsx | 51 +++++++++++++++---- 1 file changed, 40 insertions(+), 11 deletions(-) diff --git a/frontend/components/admin/department/DepartmentManagement.tsx b/frontend/components/admin/department/DepartmentManagement.tsx index b2916374..abad5fe6 100644 --- a/frontend/components/admin/department/DepartmentManagement.tsx +++ b/frontend/components/admin/department/DepartmentManagement.tsx @@ -1,11 +1,14 @@ "use client"; -import { useState } from "react"; +import { useState, useEffect } from "react"; +import { useRouter } from "next/navigation"; import { Button } from "@/components/ui/button"; import { Tabs, TabsContent, TabsList, TabsTrigger } from "@/components/ui/tabs"; +import { ArrowLeft } from "lucide-react"; import { DepartmentStructure } from "./DepartmentStructure"; import { DepartmentMembers } from "./DepartmentMembers"; import type { Department } from "@/types/department"; +import { getCompanyList } from "@/lib/api/company"; interface DepartmentManagementProps { companyCode: string; @@ -16,11 +19,45 @@ interface DepartmentManagementProps { * 좌측: 부서 구조, 우측: 부서 인원 */ export function DepartmentManagement({ companyCode }: DepartmentManagementProps) { + const router = useRouter(); const [selectedDepartment, setSelectedDepartment] = useState(null); const [activeTab, setActiveTab] = useState("structure"); + const [companyName, setCompanyName] = useState(""); + + // 회사 정보 로드 + useEffect(() => { + const loadCompanyInfo = async () => { + const response = await getCompanyList(); + if (response.success && response.data) { + const company = response.data.find((c) => c.company_code === companyCode); + if (company) { + setCompanyName(company.company_name); + } + } + }; + loadCompanyInfo(); + }, [companyCode]); + + const handleBackToList = () => { + router.push("/admin/company"); + }; return (
+ {/* 상단 헤더: 회사 정보 + 뒤로가기 */} +
+
+ +
+
+

{companyName || companyCode}

+

부서 관리

+
+
+
{/* 탭 네비게이션 (모바일용) */}
@@ -38,10 +75,7 @@ export function DepartmentManagement({ companyCode }: DepartmentManagementProps) - +
@@ -59,14 +93,9 @@ export function DepartmentManagement({ companyCode }: DepartmentManagementProps) {/* 우측: 부서 인원 (80%) */}
- +
); } - -