feat(M02): 일위대가 수량산출 열 — 위 결과단위 기준 수량 · 아래 지금 수량 · 누르면 손 입력 / 엑셀에서 고르기(면적 칸 연결 · [저장] 때 면적 문서 함께) · 버튼 공용 양식(40-1 ④ ⑤)

- Labor_Rows 수량산출 칸(qtyCell) · 결과 단위 왼쪽 · 좁은 칸은 윗줄
- Labor_Input 수량 칸에 [엑셀에서 고르기](sub3 pickAreaCell) · 이으면 손 수량 지움 · 모달 닫음
- Labor_Detail: 면적 문서 · 판을 들고 linkAreaCell · recalcWorkbook · 저장 안 한 연결은 calc 에 칸 값으로 · saveArea
- UI_Main labor 갈래: [저장] = 면적 문서 먼저 → 일위대가 판 다시 읽음 → 일위대가(서버가 면적 저장 때 일위대가 계산값을 다시 적어 판이 바뀜)
- 로직 추가 · 자재 추가 · 올리기 · 내리기 · 빼기 = 기본 크기 버튼(sm 알약 꼴 아님)

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01MgChuAcyBqUkhHMTXomQC7
This commit is contained in:
2026-10-04 22:39:46 +09:00
co-authored by Claude Opus 5.5
parent e70fc184ae
commit 35ccc26afa
6 changed files with 219 additions and 16 deletions
@@ -181,6 +181,23 @@
text-align: right;
}
/* 수량산출 칸 — 윗줄에(차례 · 단위와 한 줄) · 칸 이름 없이 */
.m02-labrow:not(.m02-labline) tr:has(.m02-labrow__qty) .m02-labrow__no,
.m02-labrow tr:has(.m02-labrow__qty) .m02-labrow__unit:not([data-label]) {
grid-column: span 1;
}
.m02-labrow .m02-labrow__qty {
order: 0;
grid-column: span 2;
text-align: left;
}
.m02-labrow .m02-labrow__qty::before {
content: none;
}
.m02-labrow__sum .m02-labrow__qty,
.m02-labrow__sum .m02-labrow__no,
.m02-labrow__sum .m02-labrow__unit {
display: none;
@@ -264,3 +281,27 @@
padding: var(--spacing-4) 3px;
}
}
/* 수량산출 칸(40-1) — 위 결과단위 기준 수량 · 아래 지금 수량 · 누르면 손 입력 · 엑셀에서 고르기 */
.m02-labrow__qty {
white-space: nowrap;
vertical-align: top;
}
.m02-labrow__qtybtn {
display: block;
width: 100%;
padding: 2px var(--spacing-4);
border: 1px dashed var(--color-border);
border-radius: var(--radius-sm, 4px);
background: transparent;
color: inherit;
font: inherit;
text-align: left;
cursor: pointer;
}
.m02-labrow__qtybtn:hover {
border-color: var(--color-primary);
background: var(--color-mist-violet);
}