- 상세 쪽 openMaterialModal 기준 — 위 물가자료 · 유통물가 · 물가정보 · 거래가격 가로 넷(빈 칸 「-」 · 시험 계산이 쓴 값 굵게) - 후보 = /materials(조건 · 단위 거름) · 조건 없으면 이름 찾기 · 찾기 칸(검색어로 먼저 거름 · 없으면 재료 전체 찾기) · 목록 값 열 뺌 - 줄 누르면 고름(시험 입력 · 저장 안 함) → 다시 셈 · 상세 표 재료 줄에서 골라도 시험 계산 자재 칸 따라감 - 기계 고르기 · M02 일위대가 [바꾸기]는 PickTable 그대로 Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
228 lines
4.6 KiB
CSS
228 lines
4.6 KiB
CSS
/* M01 로직 개선 시험 — 상세 화면 컨테이너 넷 · 호표 묶음 · 자료 모달 */
|
|
.m01lab__box {
|
|
padding: var(--spacing-12);
|
|
border: 1px solid var(--color-border);
|
|
border-radius: var(--radius-lg);
|
|
}
|
|
|
|
/* 컨테이너 넷 한 양식 — 바깥 간격 · 안쪽 칸 사이 간격 · 제목 크기(폭이 좁아도 같은 규칙) */
|
|
.m01lab__box + .m01lab__box {
|
|
margin-top: var(--spacing-12);
|
|
}
|
|
|
|
.m01lab__box.m01-logic__section {
|
|
gap: var(--spacing-8);
|
|
}
|
|
|
|
.m01lab__box > .m01-logic__section-head h3 {
|
|
font-size: var(--text-body);
|
|
font-weight: 600;
|
|
}
|
|
|
|
.m01lab__info {
|
|
display: grid;
|
|
grid-template-columns: repeat(auto-fill, minmax(180px, 1fr));
|
|
gap: var(--spacing-8);
|
|
}
|
|
|
|
.m01lab__cell {
|
|
display: flex;
|
|
flex-direction: column;
|
|
gap: var(--spacing-4);
|
|
}
|
|
|
|
.m01lab__cell--wide {
|
|
grid-column: 1 / -1;
|
|
}
|
|
|
|
.m01lab__group {
|
|
margin: var(--spacing-8) 0 var(--spacing-4);
|
|
}
|
|
|
|
/* 칸 폭 고정(`table-layout: fixed`) — 인력·재료·경비 세 표가 저마다 딴 `<table>` 이라
|
|
내용 기준으로 폭이 갈리던 것을 막고 셋이 같은 폭으로 맞춰짐(일감35 이어 — 수량 칸 알약화). */
|
|
.m01lab__ho {
|
|
table-layout: fixed;
|
|
}
|
|
|
|
/* 열 = 이름 · 수량 · 단위 · 로직 · 단가 · 금액 */
|
|
.m01lab__ho th:nth-child(1) {
|
|
width: 22%;
|
|
}
|
|
|
|
.m01lab__ho th:nth-child(2) {
|
|
width: 9%;
|
|
}
|
|
|
|
.m01lab__ho th:nth-child(3) {
|
|
width: 7%;
|
|
}
|
|
|
|
.m01lab__ho th:nth-child(4) {
|
|
width: 36%;
|
|
}
|
|
|
|
.m01lab__ho th:nth-child(5),
|
|
.m01lab__ho th:nth-child(6) {
|
|
width: 13%;
|
|
}
|
|
|
|
.m01lab__line {
|
|
cursor: pointer;
|
|
}
|
|
|
|
.m01lab__line:hover,
|
|
.m01lab__line:focus {
|
|
background: var(--color-paper);
|
|
}
|
|
|
|
.m01lab__line--extra {
|
|
font-style: italic;
|
|
}
|
|
|
|
.m01lab__expr {
|
|
font-family: var(--font-mono, monospace);
|
|
font-size: var(--text-body-sm);
|
|
white-space: pre-wrap;
|
|
word-break: break-all;
|
|
}
|
|
|
|
/* 수량 칸 — 알약 + 사칙연산 글자를 이어 붙이고, 칸 폭을 넘으면 그 칸 폭 기준으로 줄바꿈 */
|
|
.m01lab__qty-cell {
|
|
overflow-wrap: anywhere;
|
|
}
|
|
|
|
.m01lab__qty-frags {
|
|
display: inline-flex;
|
|
flex-wrap: wrap;
|
|
align-items: baseline;
|
|
gap: 2px 4px;
|
|
min-width: 0;
|
|
}
|
|
|
|
.m01lab__qty-text {
|
|
font-family: var(--font-mono, monospace);
|
|
font-size: var(--text-body-sm);
|
|
white-space: pre-wrap;
|
|
}
|
|
|
|
.m01lab__subtotal td {
|
|
font-weight: 600;
|
|
background: var(--color-paper);
|
|
}
|
|
|
|
.m01lab__total {
|
|
margin: var(--spacing-8) 0 0;
|
|
font-weight: 700;
|
|
text-align: right;
|
|
}
|
|
|
|
.m01lab__modal {
|
|
overflow: auto;
|
|
}
|
|
|
|
.m01lab__modal-body {
|
|
display: flex;
|
|
flex-direction: column;
|
|
gap: var(--spacing-8);
|
|
}
|
|
|
|
.m01lab__hit td {
|
|
background: color-mix(in srgb, gold 45%, transparent);
|
|
font-weight: 600;
|
|
}
|
|
|
|
.m01lab__calc > h3 {
|
|
display: none;
|
|
}
|
|
|
|
.m01lab__text {
|
|
font-family: var(--font-mono, monospace);
|
|
font-size: var(--text-body-sm);
|
|
word-break: break-all;
|
|
padding: var(--spacing-4) 0;
|
|
}
|
|
|
|
.m01lab__text--off {
|
|
opacity: 0.55;
|
|
}
|
|
|
|
.m01lab__subtotal-text {
|
|
margin: var(--spacing-4) 0;
|
|
font-weight: 600;
|
|
text-align: right;
|
|
}
|
|
|
|
/* 복사해서 만들기(3-4) — 별칭 꼴 식 시트 */
|
|
.ui-modal.m01copy__sheet {
|
|
width: min(1040px, 94vw);
|
|
--modal-max: 90vh;
|
|
}
|
|
|
|
.m01copy__head {
|
|
display: grid;
|
|
grid-template-columns: 2fr 1fr;
|
|
gap: var(--spacing-8);
|
|
}
|
|
|
|
.m01lab__own > :first-child {
|
|
display: none;
|
|
}
|
|
|
|
.m01lab__edit {
|
|
margin-top: var(--spacing-12);
|
|
}
|
|
|
|
/* 시험 계산 — 재료 · 기계 고르기 표 모달 */
|
|
.ui-modal.m01-logic__pick--table {
|
|
width: min(1040px, 94vw);
|
|
}
|
|
|
|
.m01lab__pickrow {
|
|
cursor: pointer;
|
|
}
|
|
|
|
.m01lab__pickrow:hover,
|
|
.m01lab__pickrow.is-picked {
|
|
background: var(--color-paper);
|
|
}
|
|
|
|
.m01lab__pickrow.is-picked {
|
|
font-weight: 600;
|
|
}
|
|
|
|
/* 보기 고르기(710-2 · `_View.ts`) — 그릇 data-view 와 다른 이름표 덩이는 숨김(시험 계산은 숨어도 돎) */
|
|
.m01-logic__editor[data-view="ho"] [data-block]:not([data-block="ho"]),
|
|
.m01-logic__editor[data-view="est"] [data-block]:not([data-block="est"]),
|
|
.m01-logic__editor[data-view="calc"] [data-block]:not([data-block="calc"]),
|
|
.m01-logic__editor[data-view="formula"] [data-block]:not([data-block="formula"]) {
|
|
display: none;
|
|
}
|
|
|
|
/* 기본정보 — 늘 맨 위 접힌 한 줄 */
|
|
.m01lab__infofold > summary {
|
|
display: flex;
|
|
align-items: baseline;
|
|
gap: var(--spacing-8);
|
|
cursor: pointer;
|
|
}
|
|
|
|
.m01lab__infofold[open] > summary {
|
|
margin-bottom: var(--spacing-8);
|
|
}
|
|
|
|
/* 상세 머리 「지금 입력」 한 줄 */
|
|
.m01lab__now {
|
|
margin: 0;
|
|
}
|
|
|
|
/* 재료 모달(711-2) — 위 물가 넷 가로 · 시험 계산이 쓴 값만 굵게 · 후보 목록은 모달 안 스크롤 */
|
|
.m01lab__slots .ui-stat:not(.is-used) .ui-stat__value {
|
|
font-weight: 400;
|
|
}
|
|
|
|
.m01lab__cands {
|
|
max-height: 40vh;
|
|
overflow: auto;
|
|
}
|