feat(721-1): M02 단가산출 상세 단추 이름 · 자리 — 「기본 로직 선택」을 「항목 추가」 왼쪽 · 「줄 더하기」 → 「항목 추가」
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
@@ -5,7 +5,7 @@
|
||||
* 시험 계산(`Logic_Calc` · 바탕 M01 로직) · 텍스트 수식(바탕 M01 로직 식) · 기본정보 = 바탕 로직(맨 위 접힘)
|
||||
* 고침 = SK 덮개 · 더한줄(`Sangeun_Pick`) · 뺀줄(꼴 = 서버 `M02_Sangeun_Doc`) · 값 = 서버 셈 길 최신 응답만
|
||||
* 시험 입력 = SK 셈 `입력값`(저장 안 함) · [저장] = 화면 문서 → 서버가 다시 셈(원값 · 바탕판)
|
||||
* 바탕 없는 SK = [M01 로직 고름] → 바탕 · 단위 · 바탕 없이 줄만도 됨
|
||||
* 바탕 없는 SK = [기본 로직 선택] → 바탕 · 단위 · 바탕 없이 줄만도 됨
|
||||
* ========================================================================== */
|
||||
|
||||
import { createBadge } from "@ui/ui_template_badge";
|
||||
@@ -96,6 +96,20 @@ export function mountSangeunDetail(
|
||||
}),
|
||||
});
|
||||
addButton.hidden = !edit;
|
||||
const pick = createButton({
|
||||
label: L("M02_SangeunPickBase"),
|
||||
variant: "filled",
|
||||
size: 28,
|
||||
onClick: () =>
|
||||
openLogicPicker((x) => {
|
||||
doc.바탕 = { 로직: x.키 };
|
||||
delete doc.바탕판; // 새 바탕 — 개정 견줄 판 없음
|
||||
if (!doc.단위 || doc.단위 === "식") doc.단위 = unitOf(x.결과단위) || doc.단위;
|
||||
touch(false);
|
||||
void loadBase();
|
||||
}),
|
||||
});
|
||||
pick.hidden = true; // 보임은 drawHead 가 정함
|
||||
const baseHint = createText(L("M02_SangeunBaseViews"));
|
||||
host.replaceChildren(
|
||||
el("div", {
|
||||
@@ -104,7 +118,7 @@ export function mountSangeunDetail(
|
||||
children: [
|
||||
head,
|
||||
notes,
|
||||
el("div", { className: "m02-sk__head", children: [views.root, addButton, baseHint] }),
|
||||
el("div", { className: "m02-sk__head", children: [views.root, pick, addButton, baseHint] }),
|
||||
editor,
|
||||
],
|
||||
}),
|
||||
@@ -164,19 +178,6 @@ export function mountSangeunDetail(
|
||||
const baseName = base ? `${base.logic.키} ${base.logic.이름}` : null;
|
||||
const baseText = baseName ?? doc.바탕?.참조?.키 ?? L("M02_SangeunNoBase");
|
||||
const revised = !!(doc.바탕판 && ans?.바탕판 && doc.바탕판 !== ans.바탕판);
|
||||
const pick = createButton({
|
||||
label: L("M02_SangeunPickBase"),
|
||||
variant: "filled",
|
||||
size: 28,
|
||||
onClick: () =>
|
||||
openLogicPicker((x) => {
|
||||
doc.바탕 = { 로직: x.키 };
|
||||
delete doc.바탕판; // 새 바탕 — 개정 견줄 판 없음
|
||||
if (!doc.단위 || doc.단위 === "식") doc.단위 = unitOf(x.결과단위) || doc.단위;
|
||||
touch(false);
|
||||
void loadBase();
|
||||
}),
|
||||
});
|
||||
pick.hidden = !edit || !!doc.바탕 || !!doc.뺀줄?.length || !!Object.keys(doc.덮개 ?? {}).length;
|
||||
head.replaceChildren(
|
||||
field(L("M02_Name"), "이름"),
|
||||
@@ -191,7 +192,6 @@ export function mountSangeunDetail(
|
||||
...(opened() ? [createBadge(L("M02_SangeunScaleOnly"), "warning")] : []),
|
||||
],
|
||||
}),
|
||||
pick,
|
||||
);
|
||||
}
|
||||
|
||||
|
||||
@@ -202,8 +202,8 @@ export const ui_locales_m2 = {
|
||||
M02_SangeunRemoved: ["뺀 줄", "Removed rows"],
|
||||
M02_SangeunUnit: ["단위(1 단위 값)", "Unit (value per 1)"],
|
||||
M02_SangeunNeed: ["비우면 저장 안 됨", "Required"],
|
||||
M02_SangeunPickBase: ["M01 로직 고름", "Pick M01 logic"],
|
||||
M02_SangeunAddLine: ["줄 더하기", "Add row"],
|
||||
M02_SangeunPickBase: ["기본 로직 선택", "Select base logic"],
|
||||
M02_SangeunAddLine: ["항목 추가", "Add item"],
|
||||
M02_SangeunDrop: ["빼기", "Remove"],
|
||||
M02_SangeunRestore: ["되살리기", "Restore"],
|
||||
M02_SangeunWas: ["바탕", "Base"],
|
||||
|
||||
Reference in New Issue
Block a user