feat(M02): 구조물 조합 상단 표 「일위대가 합계」 읽기 전용 줄 — 반영합 · 없으면 기준합(기준) · 카드 저장 뒤 다시 읽기(86-3)

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01MgChuAcyBqUkhHMTXomQC7
This commit is contained in:
2026-10-08 12:11:47 +09:00
co-authored by Claude Sonnet 5.5
parent cd8a226323
commit 142194a1e5
12 changed files with 136 additions and 16 deletions
@@ -22,6 +22,7 @@ import {
comboMerge,
comboView,
createStructurePanel,
laborSumText,
pillsFor,
STRUCTURE_TABLE,
type StructureColumn,
@@ -262,6 +263,7 @@ export function createMain(
isAdmin,
confirmLeave,
keepColumn: (colId) => sheet?.selectColumn(colId), // 카드 고침을 안 버림 — 고른 열 되돌림
onNumbers: () => sheet?.recalc(), // 카드 [저장] 뒤 번호 · 일위대가 합계 줄을 새로(86-3)
// 같은 페이지에서 그 열을 CAD·스프레드시트 전체 편집으로 엶
onEdit: (column, label, kind) => {
void open({ layer, projectId: null, kind, name: column, label });
@@ -357,6 +359,7 @@ export function createMain(
laborLabel: (colId: string) => struct.numbers()[colId]?.일위대가번 ?? "",
drawingLabel: (colId: string) => struct.numbers()[colId]?.도번 ?? "",
areaLabel: (colId: string) => struct.numbers()[colId]?.면적번 ?? "",
laborSumLabel: (colId: string) => laborSumText(struct.numbers()[colId]), // 86-3
combo: {
...(readOnly || !extras.onHeadRename
? {}