var _siteURL = "/uib"; var _swURL = "https://kiup.ibk.co.kr/IBK/uib/sw"; /** * PDF 출력 팝업 */ function pdfPopupgridInit() { // 그리드 옵션 복제 var parentGridView = IBUtil.getGridView("grid_area"); var gridView = IBUtil.getGridView("popup_grid_area"); gridView.gridCfg = parentGridView.gridCfg; // 감춰진 행을 제외하고 데이터 추출하자 var gridData = parentGridView.GetSaveJson({AllSave:1, IncludeRowIndex:"RIDX"}), sr = parentGridView.GetDataFirstRow(),er = parentGridView.GetDataLastRow(); for(var i = er ; i >= sr ; i-- ){ if(parentGridView.GetRowHidden( i )){ gridData.Data.splice(i-sr, 1); } } gridView.LoadSearchData(gridData ,{Sync:1}); } /** * 인쇄를 위한 다이얼로그 호출 * @ callbackFunction : 콜백 함수명 */ function popupGridInitialize (callbackFunction) { var isheet = new IBKSheet("인쇄 다이얼로그 그리드", "popup_grid_area", true, false, true, pdfPopupgridInit, afterJob); var parentGridView = IBUtil.getGridView("grid_area"); var displayColumns = IBUtil.getDisplayColumns("grid_area"); var tgridCfg = $.extend(true, {},parentGridView.gridCfg); var lc = parentGridView.LastCol(); // 보여지는 컬럼만으로 시트를 생성하자. for(var c = lc ; c >-1 ; c--){ //감춰진 컬럼은 제외시킴 if(parentGridView.GetColHidden2(c)){ tgridCfg["Cols"].splice(c, 1); } } //체크박스 제거 tgridCfg["Cols"].splice(1,1); delete tgridCfg["Cfg"]["FrozenCol"]; isheet.gridCfg["Cfg"] = tgridCfg["Cfg"]; isheet.gridCfg["Cols"] = tgridCfg["Cols"]; //ibsheet Header Complete isheet.completeColumnHeader("100%", "285"); //data load var gridData = parentGridView.GetSaveJson({AllSave:1, IncludeRowIndex:"RIDX"}), sr = parentGridView.GetDataFirstRow(),er = parentGridView.GetDataLastRow(); for(var i = er ; i >= sr ; i-- ){ if(parentGridView.GetRowHidden( i )){ gridData.Data.splice(i-sr, 1); } } IBUtil.getSheet("popup_grid_area").LoadSearchData(gridData ); } /* * 그리드 프린트 */ function uf_ShowPrintXgrid() { var popupUrl = _siteURL + "/jsp/common/comm_gridPdfPrintPopup2.jsp"; var layerUrl = _siteURL + "/jsp/common/comm_gridPdfPrint2.jsp"; var fileName = document.location.pathname.split("/").pop(); var fileId = fileName.split(".")[0]; var gridTitle = ""; // iframe내에서 호출하는 경우 if( typeof parent != "undefined" && parent != null && parent != "" && parent.document.getElementById("ifrmDetail") ) { if( document.getElementById("grid_area") ) { var dataProvider = IBUtil.getSheet("grid_area"); if( dataProvider && dataProvider.RowCount() > 0 ) { gridTitle = dataProvider.getGridTitle(); var frm = document.createElement("form"); frm.target = ""; createHiddenField(frm, "fileId", fileId); if("" == gridTitle) { try { gridTitle = parent.$(".stit3").text(); } catch(e) { } } createHiddenField(frm, "gridTitle", gridTitle); $("body").append(frm); uf_newWin3(frm, popupUrl, "GRID_PDF_POP_VIEW", "860", "804"); } else { uf_alert("저장할 데이터가 없습니다."); return; } } else { uf_alert("그리드 화면에서만 파일저장이 가능합니다."); return; } // 일반적인 화면에 그리드가 있고 그리드 객체내에 레코드가 있으면 } else if ( document.getElementById("grid_area") ) { //그리드가 있고 그리드 객체내에 레코드가 있으면 var dataProvider = IBUtil.getSheet("grid_area"); if(dataProvider && dataProvider.RowCount() > 0) { gridTitle = dataProvider.getGridTitle(); var frm = document.createElement("form"); frm.target = ""; createHiddenField(frm, "fileId", fileId); if( !is_Null(opener) && document.location.href != opener.document.location.href ) { if("" == gridTitle) { try { gridTitle = $(".stit").text(); } catch(e) { } } createHiddenField(frm, "gridTitle", gridTitle); $("body").append(frm); uf_newWin3(frm, popupUrl, "GRID_PDF_POP_VIEW", "860", "804"); } else { if("" == gridTitle) { gridTitle = $(".stit3").text(); } createHiddenField(frm, "gridTitle", gridTitle); open_ajax(layerUrl, frm, popupGridInitialize, true); } } else { //그냥 if( !is_Null(opener) && document.location.href != opener.document.location.href ) { PTMPrintWebPage({elementid:'#' + $(".dvpop").attr("id"), formurl: _swURL + '/printmade3/server_files/form.txt'}); } else { PTMPrintWebPage({elementid:'#ibkContent', formurl: _swURL + '/printmade3/server_files/form.txt'}); } } // [ifrmDetail] iframe에 그리드가 존재하는 경우 } else if( document.getElementById("ifrmDetail") && document.getElementById("ifrm") ) { var iframeWindow = $("#ifrm").get(0).contentWindow || $("#ifrm").get(0).contentDocument.defaultView; if( iframeWindow.document.getElementById("grid_area") ) { var dataProvider = iframeWindow.IBUtil.getSheet("grid_area"); if( dataProvider && dataProvider.RowCount() > 0 ) { fileName = iframeWindow.document.location.pathname.split("/").pop(); fileId = fileName.split(".")[0]; gridTitle = dataProvider.getGridTitle(); var frm = iframeWindow.document.createElement("form"); frm.target = ""; createHiddenField(frm, "fileId", fileId); if("" == gridTitle) { try { gridTitle = $(".stit3").text(); } catch(e) { } } createHiddenField(frm, "gridTitle", gridTitle); $("body").append(frm); iframeWindow.uf_newWin3(frm, popupUrl, "GRID_PDF_POP_VIEW", "860", "804"); } else { uf_alert("저장할 데이터가 없습니다."); return; } } else { uf_alert("그리드 화면에서만 파일저장이 가능합니다."); return; } } else { PTMPrintWebPage({elementid:'#ibkContent', formurl: _swURL + '/printmade3/server_files/form.txt'}); } } /** * 지정항목 인쇄 * @ id : Grid 오브젝트 아이디 */ function uf_ShowPrint(id) { if( document.getElementById("grid_area") ) { try { if(typeof id == "undefined") id = "grid_area"; uf_ShowPrintXgrid(id); } catch(e){} } else { printDiv(); } } /** * ibsheet 저장(파일 다운로드) */ function uf_SaveToFile(id){ if( document.getElementById("grid_area") ) { try { if(typeof id == "undefined") id = "grid_area"; IBUtil.saveToFile(id); } catch(e){} } else { uf_alert("그리드 화면에서만 파일저장이 가능합니다."); return; } }