- 새 M01_MasterData_UI_LogicLab_Copy.ts — [본떠 만들기] → GET /logic/formula(별칭 폼) 편집 → 표 바꾸기 모달(소요량·계수 검색) · 로직 부르기 그대로/같이 복사 갈래 · 식 줄 고치기·덧줄 더하기 → POST /logic/formula/preview 로 되돌린 실제 식을 buildCalc 로 재사용해 시험 계산 → POST /logic/formula/save 로 자체 로직(GX) 저장 · afterSave 로 LogicLab 이 새 키를 바로 엶 - 서버: POST /logic/formula/preview 새로 더함(저장 없이 별칭만 원문으로 되돌림) · 계약 7장 반영 - LogicLab.ts 는 「본떠 만들기」 단추 한 줄만 붙임(정본 로직 화면·New 화면은 안 건드림) - ORCA 로 13-4-1 을 본떠 저장 — 안 고치면 79,279.668 로 원본과 같음 · 석공 줄 곱 2배로 고치면 131,716.728 로 바뀜 확인 · 시험 흔적(GX000001·로직_자체.json·키대장 GX 번호) 지움·되돌림 - 시험 `test_m01_copy.py` 에 미리보기 시험 둘 더함 · M01 시험 130 통과 · typecheck 통과
124 lines
2.1 KiB
CSS
124 lines
2.1 KiB
CSS
/* M01 로직 개선 시험 — 상세 화면 컨테이너 넷 · 호표 묶음 · 자료 모달 */
|
|
.m01lab__box {
|
|
padding: var(--spacing-12);
|
|
border: 1px solid var(--color-border);
|
|
border-radius: var(--radius-lg);
|
|
}
|
|
|
|
.m01lab__info {
|
|
display: grid;
|
|
grid-template-columns: repeat(auto-fill, minmax(180px, 1fr));
|
|
gap: var(--spacing-8);
|
|
}
|
|
|
|
.m01lab__cell {
|
|
display: flex;
|
|
flex-direction: column;
|
|
gap: var(--spacing-4);
|
|
}
|
|
|
|
.m01lab__cell--wide {
|
|
grid-column: 1 / -1;
|
|
}
|
|
|
|
.m01lab__group {
|
|
margin: var(--spacing-8) 0 var(--spacing-4);
|
|
}
|
|
|
|
.m01lab__ho th:nth-child(2) {
|
|
width: 64px;
|
|
}
|
|
|
|
.m01lab__ho th:nth-child(4),
|
|
.m01lab__ho th:nth-child(5) {
|
|
width: 110px;
|
|
}
|
|
|
|
.m01lab__line {
|
|
cursor: pointer;
|
|
}
|
|
|
|
.m01lab__line:hover,
|
|
.m01lab__line:focus {
|
|
background: var(--color-paper);
|
|
}
|
|
|
|
.m01lab__line--extra {
|
|
font-style: italic;
|
|
}
|
|
|
|
.m01lab__qty,
|
|
.m01lab__expr {
|
|
font-family: var(--font-mono, monospace);
|
|
font-size: var(--text-body-sm);
|
|
white-space: pre-wrap;
|
|
word-break: break-all;
|
|
}
|
|
|
|
.m01lab__subtotal td {
|
|
font-weight: 600;
|
|
background: var(--color-paper);
|
|
}
|
|
|
|
.m01lab__total {
|
|
margin: var(--spacing-8) 0 0;
|
|
font-weight: 700;
|
|
text-align: right;
|
|
}
|
|
|
|
.m01lab__modal {
|
|
overflow: auto;
|
|
}
|
|
|
|
.m01lab__modal-top {
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: space-between;
|
|
gap: var(--spacing-8);
|
|
}
|
|
|
|
.m01lab__modal-body,
|
|
.m01lab__tables {
|
|
display: flex;
|
|
flex-direction: column;
|
|
gap: var(--spacing-8);
|
|
}
|
|
|
|
.m01lab__hit td {
|
|
background: color-mix(in srgb, gold 45%, transparent);
|
|
font-weight: 600;
|
|
}
|
|
|
|
.m01lab__calc > h3 {
|
|
display: none;
|
|
}
|
|
|
|
.m01lab__text {
|
|
font-family: var(--font-mono, monospace);
|
|
font-size: var(--text-body-sm);
|
|
word-break: break-all;
|
|
padding: var(--spacing-4) 0;
|
|
}
|
|
|
|
.m01lab__text--off {
|
|
opacity: 0.55;
|
|
}
|
|
|
|
.m01lab__subtotal-text {
|
|
margin: var(--spacing-4) 0;
|
|
font-weight: 600;
|
|
text-align: right;
|
|
}
|
|
|
|
/* 복사해서 만들기(3-4) — 별칭 꼴 식 시트 */
|
|
.m01copy__sheet {
|
|
width: min(1040px, 94vw);
|
|
max-height: 90vh;
|
|
}
|
|
|
|
.m01copy__head {
|
|
display: grid;
|
|
grid-template-columns: 2fr 1fr;
|
|
gap: var(--spacing-8);
|
|
}
|