feat(846-2): 기계 줄 시간당 작업량 화면 — 산출근거 「시간당 작업량」 줄 먼저 · 비목 ÷ 시간당 작업량 · 제어 구역 일당 / 시간당 식 고르기 · 변수 칸 · 기계 보기 작업량 식
- 산출근거: 일당 「시간당 작업량 = 시공량 560 ㎥/일 ÷ (1 대 × 8 시간) = 70 ㎥/시간」 · 시간당 식 = q · K · f · E · cm 값 줄 + 한 층 분수 Q 식 · 비목 줄 「59,020 원/시간 ÷ 70 ㎥/시간 = 843.1 원」(금액 그대로) - 제어 구역: 「시간당 작업량」 묶음 맨 위 — 방식 고르기(식 없는 기계 = 잠김 + 까닭) · 시간당 = 작업량 틀 변수 칸(고침 · 원래 값) · 덮음 = 기계덮음.<기계>.작업량 - 기계 보기: 왼쪽 작업량 카드(기계 정본 변수) · 오른쪽 풀이 · 서버가 작업량 틀 연결을 실음(M02_MyMachine_Sheet._work) - 시험: test_846_2_work_view 새로 · test_845_2 GC000088 비목 줄 기대값을 새 꼴로 고침(846-2 표시 변경) · 헬퍼 가짜 DOM 이 진짜 DOM 처럼 요소를 옮김(같은 요소 두 줄 재사용 흠을 잡게) Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
@@ -6,6 +6,7 @@
|
||||
* 오른쪽 = 그 기계 시간당 경비 산출근거(`line_stack_out` · 노 · 재 · 경 · 계 합계 상자) — 값을 바꾸면 브라우저 계산기로 즉시
|
||||
* 서버(`POST /api/m02/machine-sheet` · `M02_MyMachine_Sheet`) = 식 고름 + 처음 줄 값을 박은 식 문서 + 연결 기록 ·
|
||||
* 고친 값은 덮음(`기계덮음` 꼴)으로 얹어 셈 · 캐시에 없는 연결 · 식이 바뀔 칸만 뒤에서 다시 물음(옛 요청 끊음)
|
||||
* 시간당 작업량(846-2) = 왼쪽 접이 카드(작업량 식 변수 = 기계 값) · 오른쪽 풀이(`line_stack_machine_sheet_work`)
|
||||
* 줄 = 저장 꼴(M01 기계 줄 · 내 기계 줄) — 덮음 ↔ 줄은 `common_util_machine_sheet` · 저장은 부르는 쪽(M01 상세 · 내 기계)
|
||||
* ========================================================================== */
|
||||
|
||||
@@ -63,6 +64,7 @@ import {
|
||||
import { machineCellName } from "../common_util/common_util_machine_symbol_name";
|
||||
import { docFoot } from "./formula_doc_foot";
|
||||
import { buildMachineCtl } from "./line_stack_machine_ctl";
|
||||
import { sheetWorkCard, sheetWorkOut, type SheetWorkOpts } from "./line_stack_machine_sheet_work";
|
||||
import { buildOut } from "./line_stack_out";
|
||||
import "./line_stack.css";
|
||||
import "./line_stack_machine_sheet.css";
|
||||
@@ -158,6 +160,7 @@ export function createMachineSheet(o: MachineSheetOptions) {
|
||||
const warn = el("div");
|
||||
const ctlBox = el("div");
|
||||
const baseBox = el("div");
|
||||
const workBox = el("div");
|
||||
const root = el("div", {
|
||||
className: "lstk",
|
||||
attrs: { "data-edit": "1", "data-machine-sheet": no },
|
||||
@@ -528,8 +531,24 @@ export function createMachineSheet(o: MachineSheetOptions) {
|
||||
redraw: () => drawRight(),
|
||||
}),
|
||||
);
|
||||
right.append(sheetWorkOut(work()));
|
||||
if (cache.takeMissing()) ask();
|
||||
foot.replaceChildren(docFoot(a));
|
||||
};
|
||||
// 846-2 시간당 작업량 — 지금 줄 `값.작업량`(고침 = 지금 줄 · 저장은 부르는 쪽)
|
||||
const work = (): SheetWorkOpts => ({
|
||||
cur,
|
||||
orig,
|
||||
ro,
|
||||
links: cache.links,
|
||||
miss: () => undefined,
|
||||
changed: () => changed(),
|
||||
});
|
||||
const drawWork = (): void => {
|
||||
const keep = workBox.firstElementChild?.classList.contains("is-collapsed") ?? false;
|
||||
workBox.replaceChildren(sheetWorkCard(work(), keep));
|
||||
if (cache.takeMissing()) ask();
|
||||
};
|
||||
const drawWarn = (): void => {
|
||||
const vals: MachineValues = crewView({ ...engineVals(cur, mine), ...(cur.값 ?? {}) });
|
||||
if (unitOf("손료계수") !== machineUnit("손료계수")) delete vals.손료계수; // 일 단위 손료(임업) = 시간당 범위 아님
|
||||
@@ -541,6 +560,7 @@ export function createMachineSheet(o: MachineSheetOptions) {
|
||||
};
|
||||
const drawLive = (): void => {
|
||||
drawCtl();
|
||||
drawWork();
|
||||
drawRight();
|
||||
drawWarn();
|
||||
};
|
||||
@@ -552,7 +572,7 @@ export function createMachineSheet(o: MachineSheetOptions) {
|
||||
notice.replaceChildren(...(t ? [createText(t, "warning")] : []));
|
||||
};
|
||||
|
||||
left.append(...similarBox(), notice, warn, ctlBox, baseBox);
|
||||
left.append(...similarBox(), notice, warn, ctlBox, workBox, baseBox);
|
||||
drawAll();
|
||||
ask(true);
|
||||
|
||||
|
||||
Reference in New Issue
Block a user