ui(malaysia): 입출고 3분할 레이아웃 — 좌(옵션)·중(낱개)·우(세트)

종류/날짜/메모+적용버튼을 좌측 카드로, 낱개·세트 그리드를 중/우로 배치

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
2026-06-11 15:58:53 +09:00
parent 4fdb5c181e
commit 300f4e23c8
@@ -13,12 +13,16 @@
{% set active_tab = 'move' %}
{% include "malaysia/_nav.html" %}
<!-- 낱개 + 세트 한 화면 일괄 (버튼 하나) -->
<!-- 3분할: 좌(옵션) · 중(낱개) · 우(세트), 버튼 하나 -->
<form method="post" action="/malaysia/movements/apply">
<input type="hidden" name="warehouse_code" value="{{ selected_wh }}" />
<div style="display:grid;grid-template-columns:280px 1fr 1fr;gap:16px;align-items:start;">
<!-- 좌: 종류 / 날짜 / 메모 -->
<div class="erp-card">
<div style="display:flex;gap:10px;flex-wrap:wrap;align-items:end;">
<div class="cpg-card-head"><h2>등록 옵션</h2></div>
<div style="display:flex;flex-direction:column;gap:10px;margin-top:8px;">
<label class="erp-field"><span>이동 종류 (낱개)</span>
<select class="erp-select" name="movement_type" required>
<option value="IN">IN (입고)</option>
@@ -27,24 +31,27 @@
</select></label>
<label class="erp-field"><span>날짜</span>
<input class="erp-input" type="date" name="movement_date" value="{{ today }}" required /></label>
<label class="erp-field" style="flex:1 1 240px"><span>메모</span>
<label class="erp-field"><span>메모</span>
<input class="erp-input" type="text" name="memo" /></label>
</div>
<p class="erp-muted" style="margin-top:10px;">세트는 항상 <b>출고(OUT)</b> · BOM 분해. 빈칸/0 제외.</p>
<div class="erp-page-actions" style="margin-top:12px;">
<button type="submit" class="erp-btn erp-btn-primary">일괄 적용</button>
</div>
</div>
<div style="display:grid;grid-template-columns:1fr 1fr;gap:16px;align-items:start;margin-top:12px;">
<!-- 좌: 낱개 -->
<!-- 중: 낱개 -->
<div class="erp-card">
<div class="cpg-card-head"><h2>낱개 아이템</h2></div>
<div class="erp-table-wrap" style="margin-top:8px;">
<table class="erp-table">
<thead><tr><th>Code</th><th>Name</th><th style="width:120px">Qty</th></tr></thead>
<thead><tr><th>Code</th><th>Name</th><th style="width:100px">Qty</th></tr></thead>
<tbody>
{% for it in individual_items %}
<tr>
<td>{{ it.item_code }}</td>
<td>{{ it.item_name }}</td>
<td><input class="erp-input" type="number" name="qty_{{ it.item_code }}" placeholder="—" style="width:100px" /></td>
<td><input class="erp-input" type="number" name="qty_{{ it.item_code }}" placeholder="—" style="width:90px" /></td>
</tr>
{% endfor %}
</tbody>
@@ -52,18 +59,18 @@
</div>
</div>
<!-- 우: 세트 (출고 전용) -->
<!-- 우: 세트 -->
<div class="erp-card">
<div class="cpg-card-head"><h2>세트 아이템 — 출고(OUT) · BOM 분해</h2></div>
<div class="cpg-card-head"><h2>세트 아이템 — 출고(OUT)</h2></div>
<div class="erp-table-wrap" style="margin-top:8px;">
<table class="erp-table">
<thead><tr><th>Set Code</th><th>Set Name</th><th style="width:120px">Qty (OUT)</th></tr></thead>
<thead><tr><th>Set Code</th><th>Set Name</th><th style="width:100px">Qty (OUT)</th></tr></thead>
<tbody>
{% for it in set_items %}
<tr>
<td>{{ it.item_code }}</td>
<td>{{ it.item_name }}</td>
<td><input class="erp-input" type="number" min="0" name="qty_{{ it.item_code }}" placeholder="—" style="width:100px" /></td>
<td><input class="erp-input" type="number" min="0" name="qty_{{ it.item_code }}" placeholder="—" style="width:90px" /></td>
</tr>
{% endfor %}
</tbody>
@@ -71,10 +78,6 @@
</div>
</div>
</div>
<div class="erp-page-actions" style="margin-top:12px;">
<button type="submit" class="erp-btn erp-btn-primary">일괄 적용</button>
</div>
</form>
<!-- 이동 이력 -->