feat(M01): 준용 고르면 값 따라옴 · 인력 상태 거름 · 유가전력 구분·상세구분 거름

- 인력 준용 고르기 — 값 칸이 고른 직종 값으로 바뀌어 노랑 · 비우면 원래 값
- 저장 때 서버가 준용 직종 값을 다시 읽어 값 칸에 채움(화면 값 불신)
- 인력 왼쪽 패널 「상태」 드롭다운(목록은 서버) · 재료 유가전력 2단 거름
- 시험 2개 더함

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_016WRFJmmhPi4exAzHgPZHMT
This commit is contained in:
2026-09-20 20:03:59 +09:00
co-authored by Claude Sonnet 5
parent 572fb8e5ee
commit 4b1eeec524
8 changed files with 171 additions and 40 deletions
+5 -4
View File
@@ -90,7 +90,7 @@ const remember = (ref: string | null, name?: string): void => {
/** 돌려받은 함수 = 이 화면을 걷을 때 부를 해제. */
export function renderRows(host: HTMLElement, pick: Pick, q: string): () => void {
const { sub, detail } = pick;
const { sub, detail, state } = pick;
const file = pick.file.file;
let page = 1;
let data: RowsPage | null = null;
@@ -233,7 +233,7 @@ export function renderRows(host: HTMLElement, pick: Pick, q: string): () => void
const load = async (): Promise<void> => {
try {
data = await fetchRows(file, page, SIZE, q, unlinked, sub, detail);
data = await fetchRows(file, page, SIZE, q, unlinked, sub, detail, state);
for (const [key, name] of Object.entries(data.refs ?? {})) names.set(key, name);
paint();
} catch (error) {
@@ -295,9 +295,10 @@ function wageCell(row: Row, cur: Row, put?: Put): HTMLTableCellElement {
title: `${L("M01_JobTitle")} · ${cur["이름"] ?? ""}`,
current: text,
seed: "",
onPick: (ref, name) => {
onPick: (ref, name, value) => {
remember(ref, name);
put(withCell(cur, "준용", ref));
// 준용을 고르면 값도 그 직종 값으로 · 비우면 원래 값 (저장 때 서버가 다시 읽음)
put(withCell(withCell(cur, "준용", ref), "값", ref ? value : row["값"]));
},
}),
);