- 좌측 판(Hopyo_Side): 일위대가 사전조합 아래 · 구조물 조합 층 · 쓰기 권한 없으면 [엑셀 올리기] 꺼짐 · 숨은 file 입력 .xls,.xlsx · 파일 줄 → 본 화면
- 본 화면(Hopyo_View): 파일 · 시트 · 호표 수 · 검산 · 맞춤 n/m · 호표 표 + 찾기 · [지우기] / 호표 줄 표(갈래 · 품명 · 규격 · 수량 · 단위 · 엑셀 단가 · 맞춤 · 대상 · 입력값 · 환산) · [고르기](후보 5 + 다른 로직 · 자재 찾기 → 미리 채움) · [확정] · [빼기] · [되살림] · [같음 모두 확정] · 빠진 줄 · [사전조합 만들기] → 값 비교 · 다시 씀이면 [새로 만들기](확인 뒤 덮음)
- [로직 추가](Hopyo_Pick · Labor_Pick 늦은 덧줄 `more` · 종류 고르기): 문서 층 · 위 층 호표 줄(맞춤 n/m) → 고르면 서버가 문서 층 사전조합을 만들고 참조 줄(별칭 = 호표 품명) · 빠진 줄 알림 · 프로젝트 층 없음
- Labor_Detail: 제자리 넷 줄(가져오기 · pick 별칭 받음 · withHopyo) · 693 줄 그대로
- 서버: GET /layers/{층}/hopyo-picks(이 층 · 위 층 · 이 층 기억)
- 색 = 공용 토큰(밝음 · 어두움) · 시험 test_m02_hopyo_screen 4 + hopyo-picks 1 · typecheck 0
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Ji4nuyLVHcxrXWHTdb5nRD
119 lines
2.1 KiB
CSS
119 lines
2.1 KiB
CSS
/* M02 일위대가 실무자료(PLAN 324-4) — 좌측 판 · 본 화면(호표 표 · 줄 맞춤) · 색은 공용 토큰(밝음 · 어두움 같이) */
|
|
.m02-hopyo-side {
|
|
display: flex;
|
|
flex-direction: column;
|
|
gap: var(--spacing-4);
|
|
}
|
|
|
|
.m02-hopyo {
|
|
display: flex;
|
|
flex-direction: column;
|
|
gap: var(--spacing-8);
|
|
min-width: 0;
|
|
}
|
|
|
|
.m02-hopyo__bar {
|
|
display: flex;
|
|
flex-wrap: wrap;
|
|
align-items: center;
|
|
gap: var(--spacing-8);
|
|
}
|
|
|
|
.m02-hopyo__note {
|
|
margin: 0;
|
|
color: var(--color-text-secondary);
|
|
font-size: var(--text-body-sm);
|
|
}
|
|
|
|
.m02-hopyo__warn {
|
|
margin: 0;
|
|
color: var(--color-warning);
|
|
font-size: var(--text-body-sm);
|
|
white-space: pre-wrap;
|
|
}
|
|
|
|
.m02-hopyo__search {
|
|
max-width: 320px;
|
|
}
|
|
|
|
.m02-hopyo__row {
|
|
cursor: pointer;
|
|
}
|
|
|
|
.m02-hopyo__row:hover {
|
|
background: var(--color-mist-violet);
|
|
}
|
|
|
|
.m02-hopyo__num {
|
|
text-align: right;
|
|
font-variant-numeric: tabular-nums;
|
|
}
|
|
|
|
.m02-hopyo__line.is-out {
|
|
color: var(--color-text-muted);
|
|
}
|
|
|
|
.m02-hopyo__state {
|
|
display: inline-block;
|
|
padding: 0 var(--spacing-4);
|
|
border: 1px solid var(--color-border);
|
|
border-radius: var(--radius-sm);
|
|
font-size: var(--text-caption);
|
|
white-space: nowrap;
|
|
}
|
|
|
|
.m02-hopyo__state.is-기억,
|
|
.m02-hopyo__state.is-같음,
|
|
.m02-hopyo__state.is-호표 {
|
|
border-color: var(--color-success);
|
|
color: var(--color-success);
|
|
}
|
|
|
|
.m02-hopyo__state.is-후보 {
|
|
border-color: var(--color-warning);
|
|
color: var(--color-warning);
|
|
}
|
|
|
|
.m02-hopyo__state.is-없음 {
|
|
border-color: var(--color-danger);
|
|
color: var(--color-danger);
|
|
}
|
|
|
|
.m02-hopyo__times {
|
|
width: 6em;
|
|
}
|
|
|
|
.m02-hopyo__acts {
|
|
white-space: nowrap;
|
|
}
|
|
|
|
.m02-hopyo__acts > button + button {
|
|
margin-left: var(--spacing-4);
|
|
}
|
|
|
|
.m02-hopyo__block {
|
|
display: flex;
|
|
flex-direction: column;
|
|
gap: var(--spacing-4);
|
|
}
|
|
|
|
.m02-hopyo__block h4 {
|
|
margin: 0;
|
|
font-size: var(--text-body-sm);
|
|
}
|
|
|
|
.m02-hopyo__built {
|
|
padding: var(--spacing-8);
|
|
border: 1px solid var(--color-border);
|
|
border-radius: var(--radius-sm);
|
|
background: var(--color-surface-raised);
|
|
}
|
|
|
|
.m02-hopyo__cands {
|
|
display: flex;
|
|
flex-direction: column;
|
|
align-items: flex-start;
|
|
gap: var(--spacing-4);
|
|
margin-bottom: var(--spacing-8);
|
|
}
|