Merge remote-tracking branch 'origin/sub_desktop_1' into sub_laptop_6

# Conflicts:
#	B09_Estimation/B09_Estimation_Router.py
#	B09_Estimation/B09_Estimation_UI_Shell.ts
This commit is contained in:
2026-10-09 15:20:41 +09:00
11 changed files with 1158 additions and 10 deletions
+15 -2
View File
@@ -24,7 +24,8 @@ import { ui_locales, currentLanguageIndex } from "@ui/ui_template_locale";
import { clearState, readState, writeState } from "../A00_Common/b_page_state";
import { workflowSteps } from "../A00_Common/b_page_scaffold";
import { goToWorkflowStage, WORKFLOW_STEP_ROUTES } from "../A00_Common/b_workflow_nav";
import { computeBase, type Row } from "./B09_Estimation_Calc_Base";
import type { Row } from "./B09_Estimation_Calc_Base";
import { computeEstimation } from "./B09_Estimation_Calc_Bill";
import { computeTotal } from "./B09_Estimation_Calc_Total";
import {
buildCheck,
@@ -44,6 +45,13 @@ import {
buildMachineBlocks,
buildMaterial,
} from "./B09_Estimation_UI_Tabs_Base";
import { buildBill } from "./B09_Estimation_UI_Tabs_Bill";
import {
buildSumExpense,
buildSumLabor,
buildSumMachine,
buildSumMaterial,
} from "./B09_Estimation_UI_Tabs_Summary";
import { buildCost, buildTotal } from "./B09_Estimation_UI_Tabs_Total";
function L(key: keyof typeof ui_locales): string {
@@ -59,6 +67,7 @@ const LATER: Record<string, string> = {
const BUILDERS: Partial<Record<TabId, TabBuild>> = {
check: buildCheck,
bill: buildBill,
basis: buildBasis,
machine: buildMachine,
machine_blocks: buildMachineBlocks,
@@ -68,6 +77,10 @@ const BUILDERS: Partial<Record<TabId, TabBuild>> = {
compare: buildCompare,
cost: buildCost,
total: buildTotal,
sum_material: buildSumMaterial,
sum_labor: buildSumLabor,
sum_expense: buildSumExpense,
sum_machine: buildSumMachine,
};
async function request<T>(path: string, init: RequestInit = {}): Promise<T> {
@@ -93,7 +106,7 @@ function note(textValue: string): HTMLElement {
/** 브라우저 셈 — 서버 짝과 같은 식(조작 중) */
export function computeSheets(payload: Row, user: Row): Row {
const sheets = computeBase(payload.inputs, user);
const sheets = computeEstimation(payload.inputs, user);
// 145-4 총괄 · 원가계산서 = 설계내역서 비목 합(145-3 `bill.sums`) + 사용자 요율 · 손입력
return { ...sheets, total: computeTotal(sheets.bill?.sums, user.estimate) };
}