diff --git a/B08_Quantity/B08_Quantity_UI_Page.ts b/B08_Quantity/B08_Quantity_UI_Page.ts index eeecf98e..80fa1c88 100644 --- a/B08_Quantity/B08_Quantity_UI_Page.ts +++ b/B08_Quantity/B08_Quantity_UI_Page.ts @@ -200,6 +200,17 @@ function selectField( return row; } +/** 지반 종류 표기 — 서버 키가 화면에 새지 않게. 모르는 키는 그대로 보인다. */ +const GROUND_LABELS: Record = { + soil: "토사", + ripping_rock: "리핑암", + blasting_rock: "발파암", +}; + +function groundLabel(kind: string): string { + return GROUND_LABELS[kind] ?? kind; +} + /** 자재 한 줄의 관급/사급. `install_by` 는 **관급 줄에만** 뜻이 있다. */ export interface SupplyChoice { supply: string; @@ -239,7 +250,10 @@ function buildQuantitySidePanel( if (entries.length) { panel.append(field(L("B08_Quantity_Side_Factors"), "")); for (const [kind, value] of entries) { - panel.append(field(kind, String((value as { compacted: number }).compacted))); + // ⚠ 서버 키(`soil`·`ripping_rock`·`blasting_rock`)를 그대로 내보내지 않는다 — + // 2026-09-08 ㉕ 화면 통과에서 좌측 세 줄이 개발자 키로 떠 있었다(`soil_guard` 와 같은 병). + // 모르는 키는 **지어내지 않고** 그대로 보인다. + panel.append(field(groundLabel(kind), String((value as { compacted: number }).compacted))); } } @@ -355,10 +369,15 @@ function buildQuantitySidePanel( // 2026-09-08 ㉙: 인계가 **타설 공종 줄을 실제로 세운다.** 겹치지 않는 것이 확인됐다 — // 품셈 12-1-1 표는 직종·품만 주고 재료를 안 줘서, 품은 이 줄 · 재료는 자재 쪽이다. // ⚠ 돌쌓기 뒤채움(채움콘크리트)은 뺐다 — 그 공종 품에 이미 들어 있을 수 있다. - const pending = document.createElement("p"); - pending.className = "b08-quantity__note"; - pending.textContent = L("B08_Quantity_Placing_NotApplied"); - panel.append(pending); + // ⚠ **기본값일 때는 싣지 않는다** — 바로 아래 「기본값으로 계산 중」 경고가 더 많은 것을 + // 말하는데, 둘을 겹쳐 실으면 긴 문구가 그 경고를 화면 밖으로 밀어낸다 + // (2026-09-08 ㉕ 화면 통과에서 실제로 잘려 있었다). + if (!placing.is_default) { + const applied = document.createElement("p"); + applied.className = "b08-quantity__note"; + applied.textContent = L("B08_Quantity_Placing_NotApplied"); + panel.append(applied); + } } // ⚠ 「정하면 얼마나 달라지는지」까지 보여야 사용자가 판단한다. 이 값은 **참고 표시 전용**이고 // B08 의 어떤 계산에도 안 들어간다(금액은 B09 몫). diff --git a/ui_template/ui_template_locale_b2.ts b/ui_template/ui_template_locale_b2.ts index d7136e4b..791880b5 100644 --- a/ui_template/ui_template_locale_b2.ts +++ b/ui_template/ui_template_locale_b2.ts @@ -629,7 +629,7 @@ export const ui_locales_b2 = { B08_Quantity_Method_Ripping: ["긁어내기(암절취)", "Ripping"], B08_Quantity_Method_Blasting: ["터뜨리기(발파암)", "Blasting"], B08_Quantity_Placing_NotApplied: [ - "타설 방식에 따라 이 공종의 단가가 달라집니다 — 콘크리트 물량이 「콘크리트 타설」 공종으로 견적에 넘어갑니다.", + "콘크리트 물량이 「콘크리트 타설」 공종으로 견적에 넘어갑니다.", "The placing method changes this work item's unit price — concrete volume is handed over as a placing work item.", ], B08_Quantity_Side_Topsoil: ["표토제거", "Topsoil Removal"],