feat(805-1): M01 요율 「시트 | 리스트」 보기 단추 · 우클릭 서로 이동 · 시트 ↔ RT 전수 대조

- 요율 화면 오른쪽 위 보기 단추 둘(기본 시트 · 세션 기억) — 한 번에 하나만 보임
- 우클릭: 리스트 줄 「시트에서 보기」 · 시트 칸 「리스트에서 보기」 · 대응 없으면 흐림 + 대응 요율 없음(메뉴 부품에 disabled 항목 · 시트 부품에 cellMenu 옵션)
- 시트 칸 → RT 줄 찾기 순수 함수(UI_RateSheet_Map.ts) · 병합 칸 보정 · 겹치면 좁은 범위
- 책 대응 범위를 상자 표제 칸까지 넓힘(RT000004 값 칸 BR51 누락 바로잡음) — 값 · RT 정본 그대로
- 대조 스크립트 audit_요율대조.py(RT 잎 216 · 시트 칸 없음 8 · 시트에만 있는 칸 1 · B09 사용 표시)
- 시험: test_805_1_rate_views 신설 · test_798_1 대응표 전수 추가 · 옛 「줄 누르면 이동」은 우클릭 메뉴로 대체

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
This commit is contained in:
2026-11-08 16:15:08 +09:00
co-authored by Claude Sonnet 5.5
parent 21bba5a027
commit 7c2efde22f
13 changed files with 915 additions and 76 deletions
+29 -4
View File
@@ -1,4 +1,18 @@
/* 요율 화면 — 위 조달청 제비율 엑셀(읽기만) · 아래 RT 표 (798-1) */
/* 요율 화면 — 「시트 | 리스트」 보기 단추 · 한 번에 하나 (798-1 · 805-1) */
.m01-rate {
position: relative;
display: flex;
flex-direction: column;
gap: var(--spacing-12);
min-width: 0;
}
.m01-rate__sheet[hidden],
.m01-rate__rows[hidden],
.m01-rate__zoom[hidden] {
display: none;
}
.m01-rate__bar {
flex: none;
}
@@ -9,16 +23,27 @@
font-size: var(--text-caption);
}
.m01-rate__zoom {
display: inline-flex;
gap: var(--spacing-4);
}
/* 시트 보기 = 화면 높이에 맞춤 (리스트와 같이 있지 않으므로 넓게) */
.m01-rate__sheet {
flex: none;
height: clamp(260px, 44vh, 480px);
height: clamp(320px, 74vh, 900px);
border: 1px solid var(--color-border);
border-radius: var(--radius-sm);
overflow: hidden;
}
.m01-rate__rows .m01-master__grid tr[data-key] {
cursor: pointer;
/* 시트에서 「리스트에서 보기」로 온 줄 — 시트 칠(danger)과 같은 색 */
.m01-rate__rows .m01-master__grid tr.is-focus td {
background: color-mix(in srgb, var(--color-danger) 14%, var(--color-canvas));
}
.m01-rate__rows .m01-master__grid tr.is-focus td:first-child {
box-shadow: inset 3px 0 var(--color-danger);
}
/* 어두운 화면 — 엑셀 원본 채움(연분홍 · 연파랑 · 연초록)은 밝은 색 그대로라 그 칸 글자만 어둡게 */