diff --git a/src/excelHandler.ts b/src/excelHandler.ts
index 36479bc..b923d11 100644
--- a/src/excelHandler.ts
+++ b/src/excelHandler.ts
@@ -30,6 +30,10 @@ export interface HardwareAsset {
금액?: string;
납품업체?: string;
품의서명?: string;
+ 용도?: string;
+ 원격접속?: string;
+ 모니터링?: string;
+ 비고?: string;
}
export interface SoftwareAsset {
diff --git a/src/style.css b/src/style.css
index 4b6238e..b1b4d12 100644
--- a/src/style.css
+++ b/src/style.css
@@ -240,12 +240,21 @@ body {
.btn-outline {
background-color: transparent;
- color: var(--text-main);
- border: 1px solid var(--border-color);
+ color: var(--primary-color);
+ border: 1px solid var(--primary-color);
+ padding: 0.25rem 0.5rem;
+ font-size: 0.75rem;
+ font-weight: 500;
+ white-space: nowrap;
}
.btn-outline:hover {
- background-color: var(--border-color);
+ background-color: var(--primary-light);
+ border-color: var(--primary-color);
+}
+
+.text-nowrap {
+ white-space: nowrap;
}
.btn-danger {
diff --git a/src/views/AssetTableView.ts b/src/views/AssetTableView.ts
index 91254bf..93e5e0c 100644
--- a/src/views/AssetTableView.ts
+++ b/src/views/AssetTableView.ts
@@ -58,15 +58,50 @@ function renderHwTable(table: HTMLTableElement, container: HTMLElement, mainCont
tbody.appendChild(tr);
});
} else {
- table.innerHTML = `No 법인 ${state.activeSubTab === '전산비품' ? '유형 ' : ''}자산코드 명칭 위치 관리자 구매일 금액 관리
`;
+ if (state.activeSubTab === '서버') {
+ table.innerHTML = `No 법인 자산번호 유형 용도 설치위치 담당자(정) 담당자(부) IP 주소 원격접속 모델명 OS CPU RAM GPU Storage1 Storage2 Storage3 모니터링 비고 관리 `;
+ } else {
+ table.innerHTML = `No 법인 ${state.activeSubTab === '전산비품' ? '유형 ' : ''}자산코드 명칭 위치 관리자 구매일 금액 관리 `;
+ }
+
container.appendChild(table);
mainContent.appendChild(container);
const tbody = document.getElementById('dynamic-tbody')!;
- if (list.length === 0) { tbody.innerHTML = `등록된 자산이 없습니다. `; return; }
+ const colCount = state.activeSubTab === '서버' ? 21 : (state.activeSubTab === '전산비품' ? 11 : 10);
+ if (list.length === 0) { tbody.innerHTML = `등록된 자산이 없습니다. `; return; }
+
list.forEach((asset, idx) => {
const tr = document.createElement('tr');
tr.style.cursor = 'pointer';
- tr.innerHTML = `${idx+1} ${asset.법인} ${state.activeSubTab === '전산비품' ? `${asset.비품유형||'-'} ` : ''}${asset.자산코드} ${asset.명칭} ${asset.위치} ${asset.관리자} ${asset.구매일||''} ${asset.금액||''} 수정 `;
+
+ if (state.activeSubTab === '서버') {
+ tr.innerHTML = `
+ ${idx+1}
+ ${asset.법인}
+ ${asset.자산코드}
+ ${asset.storage유형 || '물리'}
+ ${asset.용도 || asset.명칭 || '-'}
+ ${asset.위치}
+ ${asset.담당자_정 || asset.관리자 || '-'}
+ ${asset.담당자_부 || '-'}
+ ${asset.IP주소}
+ ${asset.원격접속 || '-'}
+ ${asset.모델명 || '-'}
+ ${asset.OS || ''}
+ ${asset.CPU || ''}
+ ${asset.RAM || ''}
+ ${asset.GPU || '-'}
+ ${asset.SSD1 || '-'}
+ ${asset.SSD2 || '-'}
+ ${asset.HDD1 || '-'}
+ ${asset.모니터링 || '-'}
+ ${asset.비고 || '-'}
+ 수정
+ `;
+ } else {
+ tr.innerHTML = `${idx+1} ${asset.법인} ${state.activeSubTab === '전산비품' ? `${asset.비품유형||'-'} ` : ''}${asset.자산코드} ${asset.명칭} ${asset.위치} ${asset.관리자} ${asset.구매일||''} ${asset.금액||''} 수정 `;
+ }
+
tr.addEventListener('click', (e) => { if (!(e.target as HTMLElement).closest('button')) openHwModal(asset); });
tr.querySelector('.btn-edit')?.addEventListener('click', () => openHwModal(asset));
tbody.appendChild(tr);
diff --git a/서버 관리대장(기술개발센터).xlsx b/서버 관리대장(기술개발센터).xlsx
new file mode 100644
index 0000000..819780a
Binary files /dev/null and b/서버 관리대장(기술개발센터).xlsx differ
diff --git a/서버 관리대장(한맥빌딩).xlsx b/서버 관리대장(한맥빌딩).xlsx
new file mode 100644
index 0000000..bd52b7d
Binary files /dev/null and b/서버 관리대장(한맥빌딩).xlsx differ
diff --git a/서버목록 및 IDC 서버 위치.xlsx b/서버목록 및 IDC 서버 위치.xlsx
new file mode 100644
index 0000000..e6bf47f
Binary files /dev/null and b/서버목록 및 IDC 서버 위치.xlsx differ