style(malaysia): 랙 입력란 세로 배치 + 레이블 노출

좁은 칸에서 placeholder 가 잘려 안 보이던 문제 해결.
- 각 입력행을 세로 스택(상품 select → 입수량 → 박스 → 합계/삭제)
- '입수량'·'박스' 레이블 항상 표시
- 중복 .rk-del CSS 정리, i18n 키 추가

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
2026-06-14 17:01:40 +09:00
parent 1e0e69fcbe
commit f1eac5eda2
3 changed files with 31 additions and 15 deletions
@@ -2,4 +2,4 @@
<div style="display:flex;justify-content:flex-end;margin-bottom:8px;">
<button type="button" id="mys-lang-toggle" class="erp-btn erp-btn-outline">ENG</button>
</div>
<script src="/static/malaysia.js?v=20260614b"></script>
<script src="/static/malaysia.js?v=20260614c"></script>
@@ -9,13 +9,16 @@
<option value="{{ it.item_code }}" {% if entry and entry.sku_code == it.item_code %}selected{% endif %}>{{ it.item_name }}</option>
{% endfor %}
</select>
<input class="erp-input rk-upb" type="number" min="1" name="rk_upb" placeholder="입수량"
value="{{ entry.units_per_box if entry else '' }}" {% if disabled %}disabled{% endif %} />
<span class="rk-x">×</span>
<input class="erp-input rk-box" type="number" min="1" name="rk_box" placeholder="박스"
value="{{ entry.box_count if entry else '' }}" {% if disabled %}disabled{% endif %} />
<span class="rk-sub">{{ (entry.units_per_box * entry.box_count) if entry else 0 }}</span>
{% if not disabled %}<button type="button" class="rk-del" title="행 삭제">×</button>{% endif %}
<label class="rk-f"><span>입수량</span>
<input class="erp-input rk-upb" type="number" min="1" name="rk_upb"
value="{{ entry.units_per_box if entry else '' }}" {% if disabled %}disabled{% endif %} /></label>
<label class="rk-f"><span>박스</span>
<input class="erp-input rk-box" type="number" min="1" name="rk_box"
value="{{ entry.box_count if entry else '' }}" {% if disabled %}disabled{% endif %} /></label>
<div class="rk-foot">
<span><span class="i18n">합계</span> <b class="rk-sub">{{ (entry.units_per_box * entry.box_count) if entry else 0 }}</b></span>
{% if not disabled %}<button type="button" class="rk-del" title="행 삭제">× <span class="i18n">삭제</span></button>{% endif %}
</div>
</div>
{% endmacro %}
@@ -54,15 +57,26 @@
border:1px solid #94a3b8; background:#fff; border-radius:4px;
width:20px; height:20px; line-height:1; padding:0; cursor:pointer; font-weight:700; flex:0 0 auto;
}
.rk-rows { display:flex; flex-direction:column; gap:4px; }
.rk-row { display:grid; grid-template-columns: minmax(0,1fr) 52px 8px 44px 38px 16px; gap:4px; align-items:center; }
.rk-row .rk-sku { font-size:12px; padding:2px 4px; min-width:0; }
.rk-row .rk-upb, .rk-row .rk-box { font-size:12px; padding:2px 4px; text-align:right; min-width:0; }
.rk-row .rk-x { font-size:11px; color:#94a3b8; text-align:center; }
.rk-row .rk-sub { font-size:12px; text-align:right; color:#2563eb; font-weight:600; }
.rk-rows { display:flex; flex-direction:column; gap:6px; }
/* 입력란 세로 배치 — 좁은 칸에서도 레이블이 보이게 */
.rk-row {
display:flex; flex-direction:column; gap:3px;
border:1px solid #e2e8f0; border-radius:5px; background:#fff; padding:4px;
}
.rk-row .rk-sku { font-size:12px; padding:2px 4px; width:100%; min-width:0; }
.rk-row .rk-f { display:flex; align-items:center; gap:4px; font-size:11px; margin:0; }
.rk-row .rk-f > span { flex:0 0 38px; color:#64748b; }
.rk-row .rk-upb, .rk-row .rk-box {
flex:1 1 auto; min-width:0; font-size:12px; padding:2px 4px; text-align:right;
}
.rk-row .rk-foot {
display:flex; align-items:center; justify-content:space-between;
font-size:11px; color:#475569; margin-top:1px;
}
.rk-row .rk-sub { color:#2563eb; font-weight:600; }
.rk-row .rk-del {
border:none; background:transparent; color:#dc2626; cursor:pointer;
font-size:13px; line-height:1; padding:0;
font-size:11px; line-height:1; padding:0;
}
</style>
{% endblock %}
+2
View File
@@ -21,6 +21,8 @@
"기준 재고조사": "Based on stocktake",
"표시할 재고조사가 없습니다.": "No stocktake to display.",
"박스": "box",
"입수량": "Units/box",
"합계": "Subtotal",
"창고": "Warehouse",
"날짜": "Date",
"메모": "Memo",