feat(b08): 구조물도 탭을 수량산출 화면에 붙임

- 구조물 원단위 탭 앞에 「구조물도」 탭 등록(브레인 지정 배선 권한)
- 탭 차례 바꾸기·원단위 흡수는 PLAN 5장 몫이라 손대지 않음

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_016VBGFXB9AbJBwXP19z75Qq
This commit is contained in:
2026-09-13 14:56:01 +09:00
co-authored by Claude Opus 5
parent e27e60c136
commit f2819d513c
2 changed files with 7 additions and 1 deletions
+6 -1
View File
@@ -38,6 +38,7 @@ import {
renderUnitQuantityGrid,
type MaterialResponse,
} from "./B08_Quantity_UI_MaterialGrid";
import { renderStructureSheets } from "./B08_Quantity_UI_StructureSheet";
/** locale 헬퍼 */
function L(key: keyof typeof ui_locales): string {
@@ -764,6 +765,7 @@ function buildQuantityBody(
failed: boolean,
material: MaterialResponse | null,
draft: DraftSettings,
projectId: string | null,
): HTMLElement {
const body = document.createElement("div");
body.className = "b08-quantity__body";
@@ -827,6 +829,9 @@ function buildQuantityBody(
: message(L("B08_Quantity_Grid_Empty"));
},
},
// 구조물도 — 제원 조합 하나 = 한 장(PLAN 3장). 스스로 받아 오므로 표를 넘기지 않음.
// ⚠ 탭 차례 바꾸기·원단위 탭 흡수는 PLAN 5장 몫 — 여기서는 원단위 앞에 붙이기만 함.
{ label: L("B08_Quantity_Tab_StructureSheet"), build: () => renderStructureSheets(projectId) },
{
label: L("B08_Quantity_Tab_UnitQuantity"),
build: () =>
@@ -957,7 +962,7 @@ export async function renderB08Quantity(root: HTMLElement): Promise<void> {
steps: workflowSteps(),
activeStep: 5,
leftPanel: buildQuantitySidePanel(projectId, table, draft, reload),
mainContent: buildQuantityBody(table, failed, material, draft),
mainContent: buildQuantityBody(table, failed, material, draft, projectId),
stages: workflowState?.stages,
currentStage: workflowState?.current_stage,
routes: WORKFLOW_STEP_ROUTES,
+1
View File
@@ -624,6 +624,7 @@ export const ui_locales_b2 = {
],
B08_Quantity_Tab_Summary: ["토공집계", "Earthwork Summary"],
B08_Quantity_Tab_Haul: ["운반거리", "Haul Distance"],
B08_Quantity_Tab_StructureSheet: ["구조물도", "Structure Sheets"],
B08_Quantity_Tab_UnitQuantity: ["구조물 원단위", "Structure Unit Quantity"],
B08_Quantity_Tab_Material: ["자재총괄", "Material Summary"],
B08_Quantity_Tab_Preparation: ["준비공·사방공", "Preparation & Erosion Control"],