ui(cupang): 폼 프레임 크기 고정 + 라인 추가/삭제 버튼 하단 우측
- 공통 헤더 450px, 품목 라인 900x900 내부 스크롤 - 저장/취소 위 구분선 제거 - 라인 추가 + 라인 삭제 버튼을 품목 라인 하단 우측에 배치 - 행별 ✕ 삭제 제거 → "라인 삭제"가 마지막 라인 삭제(최소 1줄 유지) Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
+11
-3
@@ -75,8 +75,7 @@
|
||||
'<td><input class="erp-input cpg-qty" type="number" min="1" /></td>' +
|
||||
'<td><input class="erp-input cpg-upb" type="number" min="1" placeholder="입수량" /></td>' +
|
||||
'<td><span class="cpg-line-calc">—</span></td>' +
|
||||
'<td><input class="erp-input cpg-memo" type="text" /></td>' +
|
||||
'<td><button type="button" class="erp-btn erp-btn-outline cpg-line-del">✕</button></td>';
|
||||
'<td><input class="erp-input cpg-memo" type="text" /></td>';
|
||||
|
||||
var code = data.product_code || "";
|
||||
var nameSel = buildNameSelect(code);
|
||||
@@ -104,7 +103,6 @@
|
||||
}
|
||||
});
|
||||
|
||||
tr.querySelector(".cpg-line-del").addEventListener("click", function () { tr.remove(); renumber(); });
|
||||
tr.querySelector(".cpg-qty").addEventListener("input", function () { recalc(tr); });
|
||||
tr.querySelector(".cpg-upb").addEventListener("input", function () { recalc(tr); });
|
||||
|
||||
@@ -123,6 +121,16 @@
|
||||
// 초기 라인
|
||||
if (initLines.length) { initLines.forEach(makeRow); } else { makeRow(); }
|
||||
document.getElementById("cpg-add-line").addEventListener("click", function () { makeRow(); });
|
||||
// 마지막 라인 삭제 (최소 1줄 유지)
|
||||
var delBtn = document.getElementById("cpg-del-line");
|
||||
if (delBtn) {
|
||||
delBtn.addEventListener("click", function () {
|
||||
var rows = body.querySelectorAll("tr");
|
||||
if (rows.length <= 1) { alert("최소 1개 라인은 필요합니다."); return; }
|
||||
rows[rows.length - 1].remove();
|
||||
renumber();
|
||||
});
|
||||
}
|
||||
|
||||
// 제출: 라인 직렬화
|
||||
form.addEventListener("submit", function (e) {
|
||||
|
||||
Reference in New Issue
Block a user