Files
Aislo/B08_Quantity/B08_Quantity_UI_Page.css
T
eomsangdonandClaude Opus 5.5 1405d02296 feat(b08): 수량산출 위 탭 틀 + 1탭 구조물 집계표(줄 측점 · 열 저장 조합 · 칸 비움)
- 탭 넷(구조물 집계표 · 구조물도 · 토적표 · 수리집수면적표) — 1탭만 내용 · 나머지 빈 탭
- 줄 = 구조물 · 배관이 놓인 측점(같은 측점 한 줄 · 정렬) · 열 = 저장된 summary_item + group_items(같은 층 · 주인 · 키 한 열)
- 머리 두 줄 = 조합 구분(M02 경로 첫 칸) · 조합 이름(나머지 경로) · M02 에 없으면 빨강 「M02 에 없음」
- 읽기만 — structures.json · pipe_points.json GET · 옛 B08 코드 안 가져옴
- 항목 고르기 목록 읽기(loadRows) 내보냄 · 시험 test_61_1_b08_summary_table.py

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01UoSr2sqvYtBf1dtQdus88s
2026-10-06 17:47:17 +09:00

70 lines
1.5 KiB
CSS

/* B08 수량산출 — 위 탭 · 구조물 집계표(PLAN 61-1). 색은 테마 변수만(밝음 · 어두움 같이). */
.b08-quantity {
display: flex;
flex-direction: column;
gap: var(--spacing-16);
}
.b08-quantity__tabs {
display: flex;
flex-wrap: wrap;
gap: var(--spacing-8);
padding-bottom: var(--spacing-8);
border-bottom: 1px solid var(--color-border);
}
/* 집계표 — 칸마다 테두리 · 머리 가운데 · 측점 열은 가로로 밀어도 붙어 있음 */
.b08-summary__wrap {
max-height: 70vh;
overflow: auto;
}
.b08-summary__table {
width: auto;
min-width: 100%;
}
.b08-summary__table th,
.b08-summary__table td {
padding: var(--spacing-4, 4px) var(--spacing-8);
border: 1px solid var(--color-border);
white-space: nowrap;
}
.b08-summary__table thead th {
position: sticky;
top: 0;
z-index: 1;
text-align: center;
background: var(--color-surface-raised, var(--color-surface));
color: var(--color-text);
}
/* 머리 둘째 줄은 첫 줄 아래에 붙음 */
.b08-summary__table thead tr + tr th {
top: calc(1lh + 2 * var(--spacing-4, 4px) + 1px);
}
.b08-summary__table .b08-summary__station {
position: sticky;
left: 0;
z-index: 2;
text-align: center;
background: var(--color-surface-raised, var(--color-surface));
color: var(--color-text);
}
.b08-summary__table thead .b08-summary__station {
z-index: 3;
}
.b08-summary__table td {
min-width: 80px;
background: var(--color-surface);
}
.b08-summary__name.is-missing {
color: var(--color-danger);
}