feat(cupang): 혼합 상자 내용물 편집 (수량 스테퍼 + 이동 + 미배치 풀)

- ③ 센터 분배의 혼합 상자 트리에서 항목마다 [−] n [+] 와 이동 드롭다운
  (다른 혼합 상자 / 새 상자 / 미배치로 빼기). 용량(부피 합)을 넘지 않게 제한
- 센터마다 "미배치 자투리" 풀 + [자동 담기], [+ 새 혼합 상자] 버튼
- 혼합 상자 ✕ 는 내용물을 미배치로 옮기고 상자를 없앤다
- 상자가 비면 자동 제거, 채움률은 헤더에 실시간 표시
- 확정 조건에 "미배치 자투리 0" 추가
- 혼합 상자 키를 위치 index → 상자별 고유 id 로 바꿔 추가/삭제에도 배분 유지
- 미배치 풀은 출고일 탭 전환 시에도 함께 보관

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
2026-09-01 16:26:58 +09:00
parent ba3b3a5ad8
commit f3a681ccfe
7 changed files with 425 additions and 23 deletions
+34
View File
@@ -1422,3 +1422,37 @@ body.cpg-dragging { cursor: grabbing; user-select: none; }
.cpg-list .cpg-ship-meta { padding: 0 10px 8px; font-size: 11px; }
/* 혼합 상자 줄은 굵게 — 어떤 상자인지 바로 보이게 */
.cpg-dist-item.is-mix .cpg-dist-name { font-weight: 600; }
/* ── ③ 혼합 상자 내용물 편집 (수량 스테퍼 / 이동 / 미배치 풀) ── */
.cpg-mix-fill { font-style: normal; font-size: 11px; color: var(--color-midtone-gray); }
.cpg-mix-ctl { display: inline-flex; align-items: center; gap: 4px; flex: 0 0 auto; }
.cpg-mix-step {
width: 20px; height: 20px; line-height: 1;
display: inline-flex; align-items: center; justify-content: center;
border: 1px solid var(--color-subtle-ash); border-radius: 6px;
background: #fff; cursor: pointer; font-size: 13px; padding: 0;
}
.cpg-mix-step:hover:not(:disabled) { background: var(--color-ghost-gray); border-color: var(--color-midtone-gray); }
.cpg-mix-step:disabled { opacity: .35; cursor: not-allowed; }
.cpg-mix-move, .cpg-pool-move {
width: auto; min-width: 74px; max-width: 132px;
padding: 1px 4px; font-size: 11px; line-height: 1.5; cursor: pointer;
}
.cpg-dist-tree .cpg-tree-qty { min-width: 38px; text-align: right; }
.cpg-pool {
margin: 6px 10px 8px;
padding: 8px 10px;
border: 1px dashed var(--color-midtone-gray); border-radius: 10px;
background: var(--color-ghost-gray);
}
.cpg-pool-head {
display: flex; align-items: center; gap: 8px;
font-size: 12px; font-weight: 600; margin-bottom: 4px;
}
.cpg-pool-head > b { font-family: var(--font-geist-mono); }
.cpg-pool-auto { margin-left: auto; padding: 2px 8px; font-size: 11px; line-height: 1.5; }
.cpg-pool .cpg-dist-tree { border-left: 0; padding-left: 0; }
.cpg-pool .cpg-dist-tree li::before { content: ""; }
.cpg-dist-foot { padding: 0 10px 10px; }
.cpg-mix-new { padding: 3px 10px; font-size: 12px; line-height: 1.5; }