import { createIcons, BookOpen, X, ChevronDown, ChevronRight, RefreshCw } from 'lucide'; // ─── 자산별 가이드 콘텐츠 정의 ─── interface GuideTabConfig { id: string; label: string; content: string; } const GUIDE_TABS: GuideTabConfig[] = [ { id: 'overview', label: '📋 개요', content: `

IT 자산관리 시스템 개요

HM IT 자산관리 시스템(ITAM)은 기업의 IT 자산을 도입부터 폐기까지 전 과정에서 효율적으로 관리하기 위한 통합 플랫폼입니다.
하드웨어(PC, 서버, 스토리지, 전산비품, 모바일기기)와 소프트웨어(구독SW, 영구SW, 클라우드)를 체계적으로 추적하고 유지보수합니다.

전체 자산관리 프로세스

1
도입/구매

자산 구매 요청 → 승인 → 발주

2
등록/배정

자산번호 부여 → 시스템 등록 → 사용자 할당

3
운영/유지

현황 모니터링 → 점검/수리 → 이력 관리

4
반납/폐기

자산 회수 → 데이터 소거 → 폐기 처리

시스템 기본 사용법

기능방법
자산 조회상단 네비게이션에서 카테고리(하드웨어/소프트웨어) 선택 → 하위 탭에서 자산유형 선택
자산 등록[자산추가] 버튼 클릭 → 양식 입력 → 저장
자산 수정테이블에서 행 클릭 → 모달에서 [수정] → 내용 변경 → 저장
엑셀 업로드[업로드] 버튼 → 양식에 맞는 .xlsx 파일 선택 → 자동 일괄 등록
엑셀 다운로드[엑셀저장] 버튼 → 전체 자산 데이터 Excel 파일로 저장
양식 다운로드[양식] 버튼 → 엑셀 업로드용 빈 양식 다운로드
` }, { id: 'pc', label: '💻 개인PC', content: `

개인PC 관리 가이드

개인PC는 임직원에게 지급되는 데스크톱 및 노트북을 관리합니다. 자산의 지급, 교체, 반납까지의 전체 생애주기를 시스템에서 추적합니다.

관리 프로세스

1
구매 및 입고

구매 요청 → 발주 → 입고 검수

2
자산 등록

자산코드 부여, 사양(CPU/RAM/Storage) 등록

3
사용자 지급

사용자·사용조직 지정, 설치위치 기록

4
운영 관리

OS 업데이트, 보안 점검, 품의서 관리

5
교체/반납

노후 장비 회수, 데이터 소거, 신규 장비 지급

6
폐기 처리

폐기 대장 등록, 물리적 파기 또는 매각

주요 관리 항목 (테이블 컬럼)

항목설명관리 주기
구매법인자산을 구매한 법인등록 시 1회
현 사용조직현재 자산을 사용하는 조직/부서인사 변동 시
자산코드사내 고유 자산 식별 번호등록 시 1회
사용자자산을 실제 사용하는 직원명인사 변동 시
위치자산이 실제 설치된 건물/층/좌석이동 시 즉시
CPU / RAM / Storage하드웨어 사양 정보등록/증설 시
구매일장비 구매 일자등록 시 1회
금액구매 비용등록 시 1회
품의서구매 증빙 첨부 파일등록 시 1회
💡 팁: PC 교체 시 기존 장비의 상태를 '반납'으로 변경하고, 신규 장비를 새로 등록하여 이력을 분리 관리하세요.
` }, { id: 'server', label: '🖥️ 서버', content: `

서버 관리 가이드

물리 서버와 가상 서버를 포함한 서버급 자산을 관리합니다. 안정적인 서비스 운영을 위해 체계적인 관리가 필요합니다.

관리 프로세스

1
도입 계획

용도 정의, 사양 산정, 구매 승인

2
설치 및 등록

랙 배치, 네트워크 설정, 자산 등록

3
운영 관리

모니터링, 패치 적용, 장애 대응

4
정기 점검

보안 취약점 점검, 성능 확인, 백업 검증

5
폐기/교체

데이터 마이그레이션 후 장비 교체 또는 폐기

주요 관리 항목 (테이블 컬럼)

항목설명관리 주기
구매법인 / 현 사용조직법인 및 조직 정보등록 / 변동 시
자산번호서버 식별 번호등록 시 1회
용도 / 상세서버의 역할과 상세 설명변경 시
설치위치데이터센터, 랙 번호, 유닛 위치이전 시
담당자 (정/부)관리 담당자 정보변동 시
IP주소서버 네트워크 주소 (최대 2개)변경 시
모델명서버 하드웨어 모델등록 시
OS운영체제 종류 및 버전업데이트 시
CPU / RAM / Storage서버 사양 정보증설 시
⚠️ 주의: 서버 폐기 전에는 반드시 데이터 마이그레이션과 백업 검증을 완료하고, 관련 서비스의 DNS/IP 변경 여부를 확인하세요.
` }, { id: 'storage', label: '💾 스토리지', content: `

스토리지 관리 가이드

NAS, SAN, DAS 등 스토리지 장비에 대한 자산 관리입니다. 저장 용량의 효율적 운용과 데이터 안전성 확보가 핵심입니다.

관리 프로세스

1
용량 산정

현재 사용량 분석 및 증설 필요 여부 판단

2
도입/설치

스토리지 구매 → 설치 → 네트워크 연결

3
운영 관리

용량 모니터링, RAID 상태 점검, 백업 스케줄

주요 관리 항목 (테이블 컬럼)

항목설명
구매법인 / 현 사용조직법인 및 조직 정보
자산번호스토리지 식별 번호
용도 / 상세스토리지 사용 목적과 세부 설명
설치위치데이터센터 내 물리적 위치
담당자 (정/부)관리 담당자 정보
모델명스토리지 하드웨어 모델
Storage총 용량 및 디스크 구성 정보
💡 팁: 스토리지 용량이 80%를 초과하면 증설을 검토하세요. 비고란에 용량 변경 이력을 기록하면 추적에 유용합니다.
` }, { id: 'equip', label: '🔌 전산비품', content: `

전산비품 관리 가이드

모니터, 프린터, 네트워크 장비(스위치, AP), UPS, CPU, GPU, RAM, HDD 등 IT 관련 부속장비를 관리합니다.

관리 프로세스

1
구매/입고

소모품 및 장비 구매 → 입고 확인

2
등록/배치

자산코드 부여 → 유형 지정 → 관리자 배정

3
유지보수

고장 수리, 소모품 교체, 상태 점검

4
폐기

노후화 시 폐기 처리 및 대장 기록

주요 관리 항목 (테이블 컬럼)

항목설명
구매법인 / 현 사용조직법인 및 조직 정보
유형비품 분류 (CPU, GPU, RAM, HDD, 태블릿 등)
자산번호비품 고유 식별 번호
모델명비품 하드웨어 모델
관리자비품 관리 담당자
구매일비품 구매 일자
금액구매 비용
` }, { id: 'mobile', label: '📱 모바일기기', content: `

모바일기기 관리 가이드

업무용 스마트폰, 태블릿 등 모바일 기기의 지급 및 회수를 관리합니다.

관리 프로세스

1
기기 구매

통신사 계약, 기기 선정, 구매

2
등록/지급

자산번호 부여, 관리자 지정, 사용자 지급

3
운영

OS 업데이트, 앱 관리

4
회수/교체

퇴직/교체 시 기기 회수, 초기화

주요 관리 항목 (테이블 컬럼)

항목설명
구매법인 / 현 사용조직법인 및 조직 정보
유형기기 분류 (모바일, 태블릿 등)
자산번호기기 고유 식별 번호
모델명기기 모델 (예: Galaxy S24, iPad Pro)
관리자기기를 관리하는 담당자
구매일기기 구매 일자
금액구매 비용
⚠️ 주의: 모바일기기 회수 시 반드시 공장초기화를 수행하세요.
` }, { id: 'sub-sw', label: '🔄 구독SW', content: `

구독형 소프트웨어 관리 가이드

월간/연간 구독 방식의 소프트웨어(SaaS)를 관리합니다. 만료일 관리라이선스 최적화가 핵심입니다.

갱신 프로세스

!
만료 알림 확인

대시보드에서 만료 예정 자산 목록 확인

A
수요조사

실제 사용자 파악, 불필요 라이선스 정리

B
계약 연장

공급사에 갱신 요청, 수량/금액 확정, 결제

시스템 업데이트

시작일/만료일 갱신, 갱신 이력 자동 기록

주요 관리 항목 (테이블 컬럼)

항목설명관리 주기
상태사용중 / 만료 (만료일 기준 자동 판별)자동
분야업무공통, 개발S/W, 디자인, 설계S/W 등등록 시
법인 / 부서구매 법인 및 사용 부서등록 시
제품명소프트웨어 제품명등록 시
구매일최초 구매 일자등록 시
시작일 / 만료일구독 계약 기간갱신 시 업데이트
금액연간/월간 구독 비용갱신 시
수량 / 사용가능구매 수량 대비 배정 후 잔여 수량배정 시
💡 팁: 대시보드의 만료 예정 위젯을 정기적으로 확인하세요. 기간 변경 시 갱신 이력이 자동으로 기록됩니다.
` }, { id: 'perm-sw', label: '🔑 영구SW', content: `

영구 라이선스 소프트웨어 관리 가이드

1회 구매로 영구적으로 사용 가능한 소프트웨어입니다. 라이선스 키 관리 및 설치 현황 추적이 중요합니다.

관리 프로세스

1
구매/도입

라이선스 구매 → 키 수령 → 시스템 등록

2
배포/설치

대상 PC에 설치 → 사용자 관리에서 매핑

3
현황 관리

잔여 수량 확인, 사용가능 수량 추적

주요 관리 항목 (테이블 컬럼)

항목설명
상태유지보수 유효 / 없음
분야업무공통, 개발S/W, 디자인, 설계S/W 등
법인 / 부서구매 법인 및 사용 부서
제품명소프트웨어 제품명
구매일최초 구매 일자
시작일 / 만료일유지보수 계약 기간 (해당 시)
금액라이선스 구매 비용
수량 / 사용가능보유 라이선스 대비 잔여 수량
⚠️ 주의: 영구 라이선스도 보유 수량을 초과하여 설치하면 저작권 위반이 됩니다. [사용자 관리] 버튼을 통해 실제 배정 현황을 파악하세요.
` }, { id: 'cloud', label: '☁️ 클라우드', content: `

클라우드 서비스 관리 가이드

AWS, Azure, GCP 등 클라우드 인프라 서비스와 Notion, Slack 등 SaaS 서비스를 관리합니다. 비용 최적화와 계정 관리가 핵심입니다.

관리 프로세스

1
서비스 도입

서비스 선정, 비용 산정, 계정 생성

2
등록/설정

시스템 등록, 결제수단 설정, 관리자 배정

3
운영/비용관리

월별 청구액 추적, 계정 관리, 갱신

주요 관리 항목 (테이블 컬럼)

항목설명
플랫폼명클라우드 플랫폼 이름 (예: AWS, Azure)
법인 / 담당부서서비스 소속 법인 및 관리 부서
진행 프로젝트 (사용용도)서비스 사용 목적
계정명 (관리자)관리자 계정 또는 루트 계정 정보
결제수단법인카드 또는 인보이스(월별송금)
결제일월 결제일
당월 청구액이번 달 결제 금액
비고추가 메모 및 변경 이력
💡 팁: 클라우드 비용은 매월 변동될 수 있으므로, 비고란을 활용하여 비용 변경 이력을 메모해 두면 예산 관리에 도움이 됩니다.
` } ]; // ─── 가이드 모달 초기화 ─── export function initGuide() { const body = document.body; // 오버레이 const overlay = document.createElement('div'); overlay.className = 'guide-overlay'; overlay.id = 'guide-overlay'; // 모달 const modal = document.createElement('div'); modal.className = 'guide-modal'; modal.id = 'guide-modal'; // 탭 바 생성 const tabsHtml = GUIDE_TABS.map((tab, i) => `
${tab.label}
` ).join(''); // 탭 패널 생성 const panelsHtml = GUIDE_TABS.map((tab, i) => `
${tab.content}
` ).join(''); modal.innerHTML = `

IT 자산관리 프로세스 가이드

${tabsHtml}
${panelsHtml}
`; overlay.appendChild(modal); body.appendChild(overlay); // ─── 이벤트 바인딩 ─── const openGuide = () => overlay.classList.add('active'); const closeGuide = () => overlay.classList.remove('active'); // 헤더 버튼 document.getElementById('btn-open-guide-header')?.addEventListener('click', openGuide); // 오버레이 배경 클릭 overlay.addEventListener('click', (e) => { if (e.target === overlay) closeGuide(); }); // 닫기 버튼 document.getElementById('btn-close-guide')?.addEventListener('click', closeGuide); // 탭 전환 const tabs = modal.querySelectorAll('.guide-tab'); const panels = modal.querySelectorAll('.guide-tab-panel'); tabs.forEach(tab => { tab.addEventListener('click', () => { const targetId = tab.getAttribute('data-guide-tab'); tabs.forEach(t => t.classList.remove('active')); panels.forEach(p => p.classList.remove('active')); tab.classList.add('active'); modal.querySelector(`.guide-tab-panel[data-guide-panel="${targetId}"]`)?.classList.add('active'); }); }); // 아이콘 렌더링 createIcons({ icons: { BookOpen, X, ChevronDown, ChevronRight, RefreshCw } }); }