[RAPID-micro] Machine 수량분할 제거 + 결재여부 기본정보 2행 배치

- 견적요청등록/수주통합등록: fn_handleMachineExpansion 및 blur 핸들러 제거
- 견적요청등록: 기본정보 2행 빈칸을 결재여부(필요/불필요) 필드로 채움

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
2026-03-27 10:14:14 +09:00
parent 2abe151da0
commit 0914eece46
2 changed files with 2 additions and 116 deletions

View File

@@ -583,10 +583,6 @@
fn_calculateTotal();
});
// Machine 수량 분할: 수주수량 입력 완료 시 체크
$("#" + itemId + " .item-order-quantity").on("blur", function() {
fn_handleMachineExpansion(itemId);
});
// 품목 정보 저장
var itemData = {
@@ -645,60 +641,6 @@
itemList.push(itemData);
}
// Machine(0000928) 제품구분 수량 분할 처리
function fn_handleMachineExpansion(itemId) {
var $row = $("#" + itemId);
var productVal = $row.find(".item-product").val();
if(productVal !== '0000928') return;
var qtyInput = $row.find(".item-order-quantity").val().replace(/,/g, "").trim();
var qty = parseInt(qtyInput);
if(isNaN(qty) || qty <= 1) return;
// 현재 행의 데이터 수집
var partObjId = $row.find(".item-part-objid").val();
var partNo = $row.find(".item-part-no").val();
var partName = $row.find(".item-part-name").val();
var dueDate = $row.find(".item-due-date").val();
var returnReason = $row.find(".item-return-reason").val();
var customerRequest = $row.find(".item-customer-request").val();
var orderUnitPrice = $row.find(".item-order-unit-price").val();
// 현재 행의 수량을 1로 변경
$row.find(".item-order-quantity").val("1");
fn_calculateItemAmount(itemId);
// 나머지 qty-1개 행 추가
for(var i = 1; i < qty; i++) {
fn_addItemRow();
var $lastRow = $("#itemListBody .item-row:last");
var lastItemId = $lastRow.attr("id");
// 제품구분 설정
fnc_getCodeListAppend("0000001", "PRODUCT_" + lastItemId, "0000928");
$("#PRODUCT_" + lastItemId).select2({ width: '100%' });
// 품번/품명 설정
if(partObjId) {
$lastRow.find(".item-part-objid").val(partObjId);
$lastRow.find(".item-part-no").val(partNo);
$lastRow.find(".item-part-name").val(partName);
var $pnSelect = $("#PART_NO_" + lastItemId);
var $pnameSelect = $("#PART_NAME_" + lastItemId);
$pnSelect.append(new Option(partNo, partObjId, true, true));
$pnameSelect.append(new Option(partName, partObjId, true, true));
}
$lastRow.find(".item-order-quantity").val("1");
if(orderUnitPrice) $lastRow.find(".item-order-unit-price").val(orderUnitPrice);
if(dueDate) $lastRow.find(".item-due-date").val(dueDate);
if(returnReason) $lastRow.find(".item-return-reason").val(returnReason).trigger('change');
if(customerRequest) $lastRow.find(".item-customer-request").val(customerRequest);
fn_calculateItemAmount(lastItemId);
}
fn_calculateTotal();
}
// 기존 품목 데이터 로드 (수정 모드)
function fn_loadExistingItems() {
<%

View File

@@ -1543,10 +1543,6 @@
$(this).val(formatInteger($(this).val().replace(/[^0-9]/g, "")));
});
// Machine 수량 분할: 수량 입력 완료 시 체크
$("#" + itemId + " .item-quantity").on("blur", function() {
fn_handleMachineExpansion(itemId);
});
// 품목 정보 저장
itemList.push({
@@ -1555,53 +1551,6 @@
});
}
// Machine(0000928) 제품구분 수량 분할 처리
function fn_handleMachineExpansion(itemId) {
var $row = $("#" + itemId);
var productVal = $row.find(".item-product").val();
if(productVal !== '0000928') return;
var qtyInput = $row.find(".item-quantity").val().replace(/,/g, "").trim();
var qty = parseInt(qtyInput);
if(isNaN(qty) || qty <= 1) return;
var partObjId = $row.find(".item-part-objid").val();
var partNo = $row.find(".item-part-no").val();
var partName = $row.find(".item-part-name").val();
var dueDate = $row.find(".item-due-date").val();
var returnReason = $row.find(".item-return-reason").val();
var customerRequest = $row.find(".item-customer-request").val();
// 현재 행의 수량을 1로 변경
$row.find(".item-quantity").val("1");
// 나머지 qty-1개 행 추가
for(var i = 1; i < qty; i++) {
fn_addItemRow();
var $lastRow = $("#itemListBody .item-row:last");
var lastItemId = $lastRow.attr("id");
// 제품구분 설정
fnc_getCodeListAppend("0000001", "PRODUCT_" + lastItemId, "0000928");
$("#PRODUCT_" + lastItemId).select2({ width: '100%' });
// 품번/품명 설정
if(partObjId) {
$lastRow.find(".item-part-objid").val(partObjId);
$lastRow.find(".item-part-no").val(partNo);
$lastRow.find(".item-part-name").val(partName);
var $pnSelect = $("#PART_NO_" + lastItemId);
var $pnameSelect = $("#PART_NAME_" + lastItemId);
$pnSelect.append(new Option(partNo, partObjId, true, true));
$pnameSelect.append(new Option(partName, partObjId, true, true));
}
$lastRow.find(".item-quantity").val("1");
if(dueDate) $lastRow.find(".item-due-date").val(dueDate);
if(returnReason) $lastRow.find(".item-return-reason").val(returnReason).trigger('change');
if(customerRequest) $lastRow.find(".item-customer-request").val(customerRequest);
}
}
// 품번/품명 셀렉트박스 옵션 채우기 (Select2 AJAX)
function fn_fillPartOptions(itemId, selectedObjId, savedPartNo, savedPartName) {
@@ -2260,13 +2209,8 @@
<td>
<input type="text" name="exchange_rate" id="exchange_rate" reqTitle="환율" value="${info.EXCHANGE_RATE}" numberOnly />
</td>
<td colspan="2"></td>
</tr>
<!-- 세번째 행: 결재여부 -->
<tr>
<td class="input_title"><label>결재여부 <span style="color:red;">*</span></label></td>
<td colspan="7">
<td>
<label style="margin-right:15px; cursor:pointer;">
<input type="checkbox" name="approval_required_chk" value="Y"
${info.APPROVAL_REQUIRED eq 'Y' ? 'checked' : ''}
@@ -2277,7 +2221,7 @@
${info.APPROVAL_REQUIRED ne 'Y' ? 'checked' : ''}
onchange="fn_toggleApprovalRequired(this)" /> 불필요
</label>
<input type="hidden" name="approval_required" id="approval_required"
<input type="hidden" name="approval_required" id="approval_required"
value="${info.APPROVAL_REQUIRED ne 'Y' ? 'N' : 'Y'}" />
</td>
</tr>