diff --git a/WebContent/WEB-INF/view/contractMgmt/orderMgmtList.jsp b/WebContent/WEB-INF/view/contractMgmt/orderMgmtList.jsp index 570d8c2..21283c2 100644 --- a/WebContent/WEB-INF/view/contractMgmt/orderMgmtList.jsp +++ b/WebContent/WEB-INF/view/contractMgmt/orderMgmtList.jsp @@ -253,13 +253,13 @@ function fn_search(){ _tabulGrid.on("renderComplete", function(){ fn_calculateTotalFromGrid(); // 그리드 렌더링 완료 후 높이 계산 - fnc_calculateContentHeight("gridDiv", 20); + fnc_calculateContentHeight("gridDiv", 30); }); } // 윈도우 리사이즈 이벤트 (한 번만 등록) $(window).off("resize.gridHeight").on("resize.gridHeight", function() { - fnc_calculateContentHeight("gridDiv", 20); + fnc_calculateContentHeight("gridDiv", 30); }); } diff --git a/WebContent/WEB-INF/view/productionplanning/mBomHeaderPopup.jsp b/WebContent/WEB-INF/view/productionplanning/mBomHeaderPopup.jsp index d093d44..93bccf5 100644 --- a/WebContent/WEB-INF/view/productionplanning/mBomHeaderPopup.jsp +++ b/WebContent/WEB-INF/view/productionplanning/mBomHeaderPopup.jsp @@ -386,9 +386,32 @@ function fn_saveMbom() { if(data && data.result === "success") { alert("M-BOM이 저장되었습니다."); - // 부모 창 새로고침 - if(window.opener && window.opener.fn_search) { - window.opener.fn_search(); + // 부모 창(M-BOM 목록) 새로고침 + try { + // window.opener가 있으면 (팝업으로 열린 경우) + if(window.opener && !window.opener.closed) { + console.log("window.opener 찾음"); + if(window.opener.fn_search) { + console.log("window.opener.fn_search 호출"); + window.opener.fn_search(); + } else if(window.opener.location) { + console.log("window.opener.location.reload 호출"); + window.opener.location.reload(); + } + } + // window.top이 현재 창이 아니면 (iframe인 경우) + else if(window.top !== window.self && window.top.opener && !window.top.opener.closed) { + console.log("window.top.opener 찾음"); + if(window.top.opener.fn_search) { + console.log("window.top.opener.fn_search 호출"); + window.top.opener.fn_search(); + } else if(window.top.opener.location) { + console.log("window.top.opener.location.reload 호출"); + window.top.opener.location.reload(); + } + } + } catch(e) { + console.error("부모 창 새로고침 실패:", e); } // 현재 창 닫기 diff --git a/WebContent/WEB-INF/view/productionplanning/mBomPopupLeft.jsp b/WebContent/WEB-INF/view/productionplanning/mBomPopupLeft.jsp index 733487c..ee44d64 100644 --- a/WebContent/WEB-INF/view/productionplanning/mBomPopupLeft.jsp +++ b/WebContent/WEB-INF/view/productionplanning/mBomPopupLeft.jsp @@ -425,13 +425,13 @@ function fn_initGrid() { step: 1 }, formatter: function(cell) { - // 초기값은 소재발주수량과 동일 + // 저장된 값이 있으면 그대로 사용, 없으면 항목수량 × 수주수량으로 계산 var value = cell.getValue(); if(value === undefined || value === null || value === '' || value === 0) { var data = cell.getRow().getData(); - // ORDER_QTY 값을 그대로 사용 - value = data.ORDER_QTY || 0; + var itemQty = parseFloat(data.ITEM_QTY) || 0; + value = itemQty * projectQuantity; // 실제 데이터에도 저장 (getMbomTreeData에서 사용) cell.getRow().update({PRODUCTION_QTY: value}, false); diff --git a/WebContent/WEB-INF/view/salesmgmt/salesMgmt/revenueMgmtList.jsp b/WebContent/WEB-INF/view/salesmgmt/salesMgmt/revenueMgmtList.jsp index d21a971..80a1be2 100644 --- a/WebContent/WEB-INF/view/salesmgmt/salesMgmt/revenueMgmtList.jsp +++ b/WebContent/WEB-INF/view/salesmgmt/salesMgmt/revenueMgmtList.jsp @@ -33,11 +33,14 @@ $(document).ready(function(){ _fnc_datepick(); - // 그리드 높이 동적 계산 (Total 합계 영역 + 여유 공간 80px) - fnc_calculateContentHeight("gridDiv", 80); - $(window).resize(function() { - fnc_calculateContentHeight("gridDiv", 80); - }); + // DOM 렌더링 완료 후 그리드 높이 계산 + setTimeout(function() { + fnc_calculateContentHeight("gridDiv", 10); + }, 100); + + $(window).resize(function() { + fnc_calculateContentHeight("gridDiv", 10); + }); // select2가 로드되었을 때만 초기화 if(typeof $.fn !== 'undefined' && typeof $.fn.select2 === 'function') { @@ -200,7 +203,7 @@ var columns = [ //{headerHozAlign : 'center', hozAlign : 'center', width : '120', title : '매출마감', field : 'SALES_STATUS'}, {headerHozAlign : 'center', hozAlign : 'center', width : '120', title : '매출마감', field : 'SALES_DEADLINE_DATE'}, {headerHozAlign : 'center', hozAlign : 'center', width : '100', title : '발주일', field : 'ORDER_DATE'}, - {headerHozAlign : 'center', hozAlign : 'center', width : '120', title : '발주번호', field : 'PO_NO'}, + {headerHozAlign : 'center', hozAlign : 'left', width : '120', title : '발주번호', field : 'PO_NO'}, {headerHozAlign : 'center', hozAlign : 'left', width : '150', title : '고객사', field : 'CUSTOMER'}, {headerHozAlign : 'center', hozAlign : 'center', width : '100', title : '제품구분', field : 'PRODUCT_TYPE'}, {headerHozAlign : 'center', hozAlign : 'left', width : '180', title : '품명', field : 'PRODUCT_NAME'}, @@ -228,8 +231,8 @@ var columns = [ {headerHozAlign : 'center', hozAlign : 'right', width : '100', title : '환율', field : 'SALES_EXCHANGE_RATE', formatter: "money", formatterParams: {thousand: ",", symbolAfter: "", precision: 2} }, - {headerHozAlign : 'center', hozAlign : 'center', width : '120', title : 'S/N', field : 'SERIAL_NO'}, - {headerHozAlign : 'center', hozAlign : 'center', width : '120', title : '품번', field : 'PRODUCT_NO'} + {headerHozAlign : 'center', hozAlign : 'left', width : '120', title : 'S/N', field : 'SERIAL_NO'}, + {headerHozAlign : 'center', hozAlign : 'left', width : '120', title : '품번', field : 'PRODUCT_NO'} // 주석처리된 컬럼들 (필요없는 항목) // {headerHozAlign : 'center', hozAlign : 'center', width : '100', title : '접수일', field : 'RECEIPT_DATE'}, // {headerHozAlign : 'center', hozAlign : 'center', width : '80', title : '유/무상', field : 'PAYMENT_TYPE'}, diff --git a/WebContent/WEB-INF/view/salesmgmt/salesMgmt/salesMgmtList.jsp b/WebContent/WEB-INF/view/salesmgmt/salesMgmt/salesMgmtList.jsp index 061fca3..5e374de 100644 --- a/WebContent/WEB-INF/view/salesmgmt/salesMgmt/salesMgmtList.jsp +++ b/WebContent/WEB-INF/view/salesmgmt/salesMgmt/salesMgmtList.jsp @@ -12,6 +12,14 @@