- 새 Labor_Detail.ts(mountLaborDetail · 차례 = 정보 → 담은 로직 → 자재목록 → 다이어그램 · 고칠 때마다 calc 를 뒤에서 · 최신 답만 · 같은 로직 · 자재 두 번 막음) - 새 Labor_Input.ts(담은 로직 줄 입력 모달 · 빈 칸 = 자동값 · 메모 · 수량 = 이은 칸 / 손 입력 / 면적산출에서 잇기 · 사라진 입력값 알림 · 자재 수량 모달) - 새 Labor_Rows.ts(작은 글 「지역 서울 · 수량 B6 = 12.5㎡」 · 빈 값 n 붉게 · 금액 칸 넷 두 줄(위 기준 · 아래 반영) · 합계 줄 · 보기 갈래는 손잡이 없이) - Labor_Api.ts: labor 문서 · calc 답 모양 · calcLabor · fetchLogicInputs · previewCombo 지움 - Labor_Diagram.ts: buildDiagramData → buildLaborDiagram(줄 입력값 + calc · 수량 있으면 반영 · 없으면 기준 표기 · 자재목록 카드 하나 → 재료비 · 알약 = 입력 모달) - 미리 보기 지움: Labor_Preview.ts · M02 preview 길 · Combo_Store.preview · 옛 조합 상세의 미리 보기 · 다이어그램 칸 - 시험: test_m02_labor_diagram 새 모양 · test_m01_combo 미리 보기 시험은 같은 계산(combo_preview)을 바로 부름 Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01MgChuAcyBqUkhHMTXomQC7
126 lines
2.4 KiB
CSS
126 lines
2.4 KiB
CSS
/* 일위대가 조합 화면 — 표는 칸 폭을 채움 · 미리 보기 금액은 오른쪽 맞춤 ·
|
|
흐린 안내 글은 보조 글색(뮤트 글색은 밝은 테마에서 대비 3.1 로 모자람) */
|
|
.m01-combo .m01-master__grid {
|
|
width: 100%;
|
|
}
|
|
|
|
.m01-combo [data-combo="preview"] th:not(:first-child),
|
|
.m01-combo [data-combo="preview"] td:not(:first-child) {
|
|
text-align: right;
|
|
}
|
|
|
|
.m01-combo .m01-logic__muted {
|
|
color: var(--color-text-secondary);
|
|
}
|
|
|
|
/* 조합 목록 — 공용 표 모양(줄 선 · 머리 줄) · 줄을 누르면 상세(PLAN 30-5) */
|
|
.m02-labor__list tbody tr {
|
|
cursor: pointer;
|
|
}
|
|
|
|
.m02-labor__list tbody tr:hover {
|
|
background: var(--color-mist-violet);
|
|
}
|
|
|
|
/* 일위대가 상세(39-3) — 담은 로직 · 자재목록 표 · 금액 칸 두 줄(위 기준 작게 · 아래 반영) */
|
|
.m02-labrow {
|
|
width: 100%;
|
|
}
|
|
|
|
.m02-labrow__row.is-open {
|
|
cursor: pointer;
|
|
}
|
|
|
|
.m02-labrow__row.is-open:hover {
|
|
background: var(--color-mist-violet);
|
|
}
|
|
|
|
.m02-labrow__name {
|
|
display: flex;
|
|
flex-direction: column;
|
|
gap: 2px;
|
|
min-width: 12rem;
|
|
}
|
|
|
|
.m02-labrow__key,
|
|
.m02-labrow__note,
|
|
.m02-labrow__muted {
|
|
color: var(--color-text-secondary);
|
|
font-size: var(--text-caption);
|
|
overflow-wrap: anywhere;
|
|
}
|
|
|
|
.m02-labrow__empty {
|
|
color: var(--color-danger);
|
|
font-size: var(--text-caption);
|
|
}
|
|
|
|
.m02-labrow__money,
|
|
.m02-labrow__num {
|
|
text-align: right;
|
|
white-space: nowrap;
|
|
font-variant-numeric: tabular-nums;
|
|
}
|
|
|
|
.m02-labrow__money {
|
|
vertical-align: top;
|
|
}
|
|
|
|
.m02-labrow__base {
|
|
display: block;
|
|
color: var(--color-text-secondary);
|
|
font-size: var(--text-caption);
|
|
}
|
|
|
|
.m02-labrow__applied {
|
|
display: block;
|
|
}
|
|
|
|
.m02-labrow__sum td {
|
|
font-weight: 600;
|
|
border-top: 2px solid var(--color-border);
|
|
}
|
|
|
|
.m02-labrow__move {
|
|
white-space: nowrap;
|
|
}
|
|
|
|
/* 입력 모달 */
|
|
.m02-labin {
|
|
width: min(40rem, calc(100vw - 32px));
|
|
}
|
|
|
|
.m02-labin__qty {
|
|
display: flex;
|
|
flex-direction: column;
|
|
gap: var(--spacing-4);
|
|
padding-top: var(--spacing-8);
|
|
border-top: 1px solid var(--color-border);
|
|
}
|
|
|
|
.m02-labin__qty-line {
|
|
display: flex;
|
|
flex-wrap: wrap;
|
|
align-items: center;
|
|
gap: var(--spacing-8);
|
|
font-size: var(--text-body-sm);
|
|
}
|
|
|
|
.m02-labin__muted {
|
|
color: var(--color-text-secondary);
|
|
font-size: var(--text-caption);
|
|
}
|
|
|
|
.m02-labin__lost {
|
|
margin: 0;
|
|
color: var(--color-danger);
|
|
font-size: var(--text-caption);
|
|
}
|
|
|
|
.m02-labin__foot {
|
|
display: flex;
|
|
justify-content: flex-end;
|
|
gap: var(--spacing-8);
|
|
margin-top: var(--spacing-12);
|
|
}
|