fix(b09): [업데이트] 때 지운 복사 정보 뺌 — 화면 캐시 기준 수요 · M01 원본 없는 줄 굳힌 값 그대로 (296-1)

- [업데이트] = 화면 캐시(user)를 같이 보냄 · 캐시 그대로 둠(지운 줄 안 되살림 · 저장 안 함)
- 서버 수요 = 캐시 줄이 잇는 서고 사본만(지운 줄의 사본 단가 줄 안 살아남)
- M01 원본이 지워진 키 = 옛 책 줄 그대로 · 낡음 까닭에서 빠짐
- 시험 test_296_b09_update_skip_deleted

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Se7ytqbohmBQnfYpwYFnYf
This commit is contained in:
2026-10-12 21:54:43 +09:00
co-authored by Claude Opus 5.5
parent df574665b1
commit cf396d93ff
5 changed files with 143 additions and 26 deletions
+17 -4
View File
@@ -312,7 +312,14 @@ export function renderB09Estimation(root: HTMLElement): void {
show(current);
};
const run = async (path: string, method: string, done: string, init?: Row): Promise<void> => {
// keep = 화면 캐시 그대로(296 [업데이트] — 지운 줄 · 고친 칸을 안 되살림)
const run = async (
path: string,
method: string,
done: string,
init?: Row,
keep = false,
): Promise<void> => {
if (!projectId) return;
showLoadingOverlay();
try {
@@ -320,8 +327,8 @@ export function renderB09Estimation(root: HTMLElement): void {
method,
...(init ? { body: JSON.stringify(init) } : {}),
});
clearState("b09-estimation", projectId);
apply(next, true);
if (!keep) clearState("b09-estimation", projectId);
apply(next, !keep);
showToast(done, "success");
} catch (error) {
showToast(`하지 못했습니다 — ${String(error)}`, "error");
@@ -340,7 +347,13 @@ export function renderB09Estimation(root: HTMLElement): void {
label: "업데이트",
variant: "ghost",
onClick: () =>
void run("/estimation/prices", "POST", "단가를 지금 M01 값으로 새로 굳혔습니다."),
void run(
"/estimation/prices",
"POST",
"단가를 지금 M01 값으로 새로 굳혔습니다.",
{ user },
true,
),
});
refresh.dataset.b09Refresh = "";
const check = createCheckPanel(refresh, (link) => show(link.tab, link.key));