diff --git a/backend/prisma/seed.ts b/backend/prisma/seed.ts index ee19db0..839f160 100644 --- a/backend/prisma/seed.ts +++ b/backend/prisma/seed.ts @@ -30,103 +30,118 @@ async function main() { await prisma.taskDetail.deleteMany({}); await prisma.task.deleteMany({}); - // ─── HR 부문 업무 ────────────────────────────────────── - const hrTasks = [ - { - title: '사내 핵심역량 교육체계 수립 (HRD)', - description: '직급별/직무별 필수 역량 가이드라인 도출\n사내 강사 제도 양성 및 콘텐츠 기획 단계', - status: 'IN_PROGRESS' as const, - priority: 'HIGH' as const, - section: 'HR', - tag: 'Growth', - taskType: '프로젝트', - progress: 20, - issueNote: '[5.28] 사내 강사 풀 확보 및 보상안 검토', - }, + const allTasks = [ + // ─── 인사관리 ─────────────────────────────────────── { title: '그룹 표준 취업규칙 개정안 (HRM)', description: '유연근무제 및 근태 관리 프로세스 고도화\n노사협의회 안건 조율 및 근로조건 개선안 반영', status: 'IN_PROGRESS' as const, priority: 'HIGH' as const, - section: 'HR', + section: '인사관리', tag: 'Policy', taskType: '프로젝트', progress: 40, issueNote: '[5.28] 가족사 간 피드백 이견 조율 진행', + startDate: new Date('2026-04-01'), + dueDate: new Date('2026-06-30'), }, { title: '상반기 평가 지표(KPI) 보완', description: '1분기 피드백 기반 부서별 KPI 정렬\n상반기 업적 평가 시뮬레이션 기획', status: 'IN_PROGRESS' as const, priority: 'MEDIUM' as const, - section: 'HR', + section: '인사관리', tag: 'Performance', taskType: '상시업무', progress: 70, issueNote: null, + startDate: new Date('2026-04-01'), + dueDate: new Date('2026-06-30'), }, { title: '가족사 시너지 조직문화 캠페인', description: '임직원 만족도 조사(Engagement Survey) 설계', status: 'TODO' as const, priority: 'LOW' as const, - section: 'HR', + section: '인사관리', tag: 'Culture', taskType: '프로젝트', progress: 0, issueNote: null, + startDate: new Date('2026-05-01'), + dueDate: new Date('2026-06-30'), }, - ]; - - // ─── 운영관리 부문 업무 ──────────────────────────────── - const opsTasks = [ + // ─── 학습성장 ─────────────────────────────────────── { - title: '全사 IT자산 수명주기 표준화 구축', - description: '자산 전수조사 데이터 기반 불용 기준 정립\n라이선스 최적화를 통한 비용 절감안 도출', + title: '사내 핵심역량 교육체계 수립 (HRD)', + description: '직급별/직무별 필수 역량 가이드라인 도출\n사내 강사 제도 양성 및 콘텐츠 기획 단계', status: 'IN_PROGRESS' as const, priority: 'HIGH' as const, - section: '운영관리', - tag: 'Asset', + section: '학습성장', + tag: 'Growth', taskType: '프로젝트', - progress: 60, - issueNote: null, + progress: 20, + issueNote: '[5.28] 사내 강사 풀 확보 및 보상안 검토', + startDate: new Date('2026-04-01'), + dueDate: new Date('2026-06-30'), }, + // ─── 운영지원 ─────────────────────────────────────── { title: '기술센터 2F 세미나룸 브랜딩 기획', description: '다목적 교육 공간 활용을 위한 운영 매뉴얼 수립\n공간 아이덴티티 반영 사인물(Signage) 기획', status: 'REVIEW' as const, priority: 'MEDIUM' as const, - section: '운영관리', + section: '운영지원', tag: 'Space', taskType: '프로젝트', progress: 80, issueNote: null, + startDate: new Date('2026-04-01'), + dueDate: new Date('2026-06-30'), }, { title: '중대재해법 대응 안전보건 매뉴얼 정비', description: '현장 점검 기반 소방 및 MSDS 관리 체계 보완\n사내 안전사고 예방 가이드라인 표준화 기획', status: 'IN_PROGRESS' as const, priority: 'HIGH' as const, - section: '운영관리', + section: '운영지원', tag: 'Safety', taskType: '상시업무', progress: 30, issueNote: null, + startDate: new Date('2026-04-01'), + dueDate: new Date('2026-06-30'), }, { title: '공용 공간 인프라 개선', description: '기술센터 로비 및 라운지 환경 정비 기획', status: 'TODO' as const, priority: 'LOW' as const, - section: '운영관리', + section: '운영지원', tag: 'Environment', taskType: '프로젝트', progress: 0, issueNote: null, + startDate: new Date('2026-05-01'), + dueDate: new Date('2026-06-30'), + }, + // ─── 전산관리 ─────────────────────────────────────── + { + title: '全사 IT자산 수명주기 표준화 구축', + description: '자산 전수조사 데이터 기반 불용 기준 정립\n라이선스 최적화를 통한 비용 절감안 도출', + status: 'IN_PROGRESS' as const, + priority: 'HIGH' as const, + section: '전산관리', + tag: 'Asset', + taskType: '프로젝트', + progress: 60, + issueNote: null, + startDate: new Date('2026-04-01'), + dueDate: new Date('2026-06-30'), }, ]; - for (const t of [...hrTasks, ...opsTasks]) { + for (const t of allTasks) { await prisma.task.create({ data: { ...t, @@ -138,7 +153,7 @@ async function main() { }); } - console.log(`✅ Tasks created: ${hrTasks.length + opsTasks.length}개`); + console.log(`✅ Tasks created: ${allTasks.length}개`); console.log('🎉 Seeding complete!'); } diff --git a/frontend/src/pages/DashboardPage.tsx b/frontend/src/pages/DashboardPage.tsx index c8ee718..51b9117 100644 --- a/frontend/src/pages/DashboardPage.tsx +++ b/frontend/src/pages/DashboardPage.tsx @@ -4,7 +4,6 @@ import { apiClient } from '../lib/apiClient'; import { useTasks } from '../hooks/useTasks'; import { DashboardHeader } from '../components/dashboard/DashboardHeader'; import { DepartmentColumn } from '../components/dashboard/DepartmentColumn'; -import { RoutinePanel } from '../components/dashboard/RoutinePanel'; import { useSocket } from '../contexts/SocketContext'; import { sendTaskSelected, openDetailWindow } from '../lib/dualMonitor'; @@ -13,7 +12,6 @@ const QUARTER = '2026-Q2'; export default function DashboardPage() { const [activeType, setActiveType] = useState('전체'); const [activeStatus, setActiveStatus] = useState('전체'); - const [isBottomPanelOpen, setIsBottomPanelOpen] = useState(false); const queryClient = useQueryClient(); const socket = useSocket(); @@ -51,8 +49,6 @@ export default function DashboardPage() { const sec2Tasks = filtered.filter((t) => t.section === '학습성장'); const sec3Tasks = filtered.filter((t) => t.section === '운영지원'); const sec4Tasks = filtered.filter((t) => t.section === '전산관리'); - const routineTasks = tasks.filter((t) => t.taskType === '상시업무'); - const { data: colConfigs } = useQuery({ queryKey: ['columns', 'all'], queryFn: async () => { @@ -141,27 +137,6 @@ export default function DashboardPage() { /> - {/* 하단 슬라이드 패널 */} - - -
- -
);