diff --git a/src/main/webapp/WEB-INF/jsp/fims/rent/rent01010-main.jsp b/src/main/webapp/WEB-INF/jsp/fims/rent/rent01010-main.jsp index b0a3cd72..a654a07e 100644 --- a/src/main/webapp/WEB-INF/jsp/fims/rent/rent01010-main.jsp +++ b/src/main/webapp/WEB-INF/jsp/fims/rent/rent01010-main.jsp @@ -53,10 +53,10 @@ - - @@ -77,7 +77,7 @@ No. 사용자계정 - 사용자명 + 사용자명 기업구분 기업명 법인(사업자)번호 diff --git a/src/main/webapp/WEB-INF/jsp/fims/rent/rent01020-info.jsp b/src/main/webapp/WEB-INF/jsp/fims/rent/rent01020-info.jsp index bc9db46f..86c61a22 100644 --- a/src/main/webapp/WEB-INF/jsp/fims/rent/rent01020-info.jsp +++ b/src/main/webapp/WEB-INF/jsp/fims/rent/rent01020-info.jsp @@ -17,7 +17,7 @@ - diff --git a/src/main/webapp/WEB-INF/jsp/fims/rent/rent01030-info.jsp b/src/main/webapp/WEB-INF/jsp/fims/rent/rent01030-info.jsp index f647f945..b8bbae18 100644 --- a/src/main/webapp/WEB-INF/jsp/fims/rent/rent01030-info.jsp +++ b/src/main/webapp/WEB-INF/jsp/fims/rent/rent01030-info.jsp @@ -77,7 +77,7 @@ - diff --git a/src/main/webapp/WEB-INF/jsp/fims/rent/rent02010-main.jsp b/src/main/webapp/WEB-INF/jsp/fims/rent/rent02010-main.jsp index fda06870..c565abf0 100644 --- a/src/main/webapp/WEB-INF/jsp/fims/rent/rent02010-main.jsp +++ b/src/main/webapp/WEB-INF/jsp/fims/rent/rent02010-main.jsp @@ -1,7 +1,7 @@ <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8" isELIgnored="false" session="false"%> <%@ include file="/WEB-INF/jsp/include/taglib.jsp"%> -임대계약서 관리 +임대차계약서 등록
@@ -76,10 +76,13 @@
- - + @@ -98,14 +101,14 @@ @@ -126,6 +129,7 @@ 업무구분 + 대상여부 단속일시 차량번호 납부자구분 @@ -150,6 +154,7 @@ {ROW_NUM} {TASK_SE_NM} + {TRGT_YN} {CRDN_YMD_TM} {VHRNO} {RTPYR_SE_NM} @@ -207,95 +212,9 @@ // formFields $P.formFields = new FimsFormFields($P.selectorn("frmSearch")); - // paging - $P.pagingSupport = new FimsPagingSupport({ - doq: $P - , linkContainer: "[name='dataPaging']" - }); - // datasetControl - $P.ctrl = newRent02010Control($P, "${pageName}", "[data-doctx=${pageName}]"); - - /************************************************************************** - * DataTable 이벤트 - **************************************************************************/ - // DataTable에 click, dbclick 이벤트 - $P.renderList = (obj, option) => { - // 데이터 셋 - let dataList = $P.ctrl.dataset; - let empty = dataList.empty; - - // 업무별 DataTables(그리드) tr, td - let foundContent = $P.findn("tmpltRows").content; - let foundTr = $(foundContent).find("tr")[0].cloneNode(false); - let foundTds = $(foundContent).find(".cmn"); - - foundTds.each(function() { - foundTr.appendChild(this.cloneNode(true)); - }); - - let replacer = (str, dataItem) => str - .replace(/{onclick}/gi, "pageObject['${pageName}'].dataTableClick('{DATA-INDEX}');") - .replace(/{ondblclick}/gi, "pageObject['${pageName}'].dataTableDblClick('{CRDN_ID}');"); - - let trs = empty ? - [$P.findn("tmpltNotFound").content.querySelector(".cmn").outerHTML] - : dataList.inStrings(foundTr.outerHTML, replacer); - - let noMore = (dataList.length >= obj["Total"]); - let initScroll = ($P.ctrl.query.pageNum < 2); - - if (option != null && option.reloaded) { - initScroll = false; - } - - // pagingInfo - $P.pagingSupport.setPagingInfo(obj); - - $P.findn("tableRspns").changeContent(trs.join(), initScroll, noMore); - - // checkbox 체크 해제 - $P.$findn("gridAllCheckbox").prop("checked", false); - - // 보안모드 - fn_securityModeToggle($("#securityMode--top").is(":checked")); - } - - // dataTable 체크박스 클릭 이벤트 - $P.dataTableCheckbox = (element, bool) => { - GRID.checkbox.sync(element, bool); - - let atLeastOne = GRID.checkbox.countChecked(element) > 0; - - // 버튼 - $P.$findn("btnRemove").prop("disabled", !atLeastOne); - Apply.toDataset.selection($P.ctrl.dataset, element, bool); - } - - // dataTable 클릭 이벤트 - $P.dataTableClick = (dataIndex) => { - if (dataIndex == "") return; - - $P.$findn("tbodyList").setCurrentRow(dataIndex); - - Apply.toDataset.current($P.ctrl.dataset, dataIndex); - } - - // dataTable 더블 클릭 이벤트 - $P.dataTableDblClick = (dataKey) => { - let params = { - callPurpose: "update" - , crdnId: dataKey - , lsctId: $P.ctrl.getValue("LSCT_ID") - }; - - $P.ctrl.getInfo(params); - } - - // DataTables에 스크롤이 맨 밑으로 이동했을 때 이벤트 - $P.scrollDataList = () => { - $P.ctrl.load($P.ctrl.query.pageNum + 1); - } + // datasetControl + $P.ctrl = newRent02010Control("${pageName}", "[data-doctx=${pageName}]"); /************************************************************************** * 사용자 함수(function) @@ -331,12 +250,17 @@ $P.$findn("schCrdnYmdTo").datepicker("setDate", TODAY()); // 단속 일자 종료 $P.$findn("schVhrno").val("167하9750"); // 차량번호 - // URL 설정 - $P.fnSetUrl("${prefixUrl}"); + // + $P.$findn("btnCreate").prop("disabled", true); + $P.$findn("btnUpdate").prop("disabled", true); + $P.$findn("btnRemove").prop("disabled", true); // dataset 초기화 $P.ctrl.dataset.clear(); + // URL 설정 + $P.fnSetUrl("${prefixUrl}"); + // 그리드 th let colContent = $P.findn("tmpltCols").content; let cols = $(colContent).find(".cmn"); @@ -356,12 +280,17 @@ $P.ctrl.query.delYn = "N"; // 삭제 여부 // tab - if (tabName == "단속") { - $P.ctrl.query.nxrpCrdnLinkYn = "N"; - } else if (tabName == "세외수입") { - $P.ctrl.query.nxrpCrdnLinkYn = "Y"; + if (tabName == "대상") { + $P.ctrl.query.regTrgtYn = "Y"; + $P.$findn("btnCreate").prop("disabled", false); + } else if (tabName == "등록") { + $P.ctrl.query.regTrgtYn = "N"; + $P.$findn("btnUpdate").prop("disabled", false); + $P.$findn("btnRemove").prop("disabled", false); } else { - $P.ctrl.query.nxrpCrdnLinkYn = "N"; + $P.$findn("btnCreate").prop("disabled", true); + $P.$findn("btnUpdate").prop("disabled", true); + $P.$findn("btnRemove").prop("disabled", true); } // 임대기업번호가 전체라면.. diff --git a/src/main/webapp/WEB-INF/jsp/fims/rent/rent02020-info.jsp b/src/main/webapp/WEB-INF/jsp/fims/rent/rent02020-info.jsp new file mode 100644 index 00000000..aa1e2e5b --- /dev/null +++ b/src/main/webapp/WEB-INF/jsp/fims/rent/rent02020-info.jsp @@ -0,0 +1,500 @@ +<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8" isELIgnored="false" session="false"%> +<%@ include file="/WEB-INF/jsp/include/taglib.jsp"%> + +임대차계약서 상세 정보 + + +
+ +
+
+ +
+ + + + + +
+ + + +
+ + + + + +
+ + + +
+ + +
+ +
    +
+
+ + + + + + +
+
+ + + +
+ +
+ +
+
+ +
+ + + diff --git a/src/main/webapp/WEB-INF/jsp/fims/rent/rent02030-info.jsp b/src/main/webapp/WEB-INF/jsp/fims/rent/rent02030-info.jsp new file mode 100644 index 00000000..b8bbae18 --- /dev/null +++ b/src/main/webapp/WEB-INF/jsp/fims/rent/rent02030-info.jsp @@ -0,0 +1,237 @@ +<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8" isELIgnored="false" session="false"%> +<%@ include file="/WEB-INF/jsp/include/taglib.jsp"%> + +임대기업 정보 + + +
+ +
+
+ +
+ + + +
+ +
+ + +
+ +
+ + +
+ +
+ + +
+ +
+ + +
+ +
+ + +
+ +
+ + +
+ +
+ + +
+ +
+ + + + +
+ +
+ + +
+
+
+ + + +
+ + + + + + +
+ +
+
+ +
+ + + diff --git a/src/main/webapp/WEB-INF/jsp/fims/rent/rent02040-main.jsp b/src/main/webapp/WEB-INF/jsp/fims/rent/rent02040-main.jsp new file mode 100644 index 00000000..ab2d18ab --- /dev/null +++ b/src/main/webapp/WEB-INF/jsp/fims/rent/rent02040-main.jsp @@ -0,0 +1,475 @@ +<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8" isELIgnored="false" session="false"%> +<%@ include file="/WEB-INF/jsp/include/taglib.jsp"%> + +임대계약서 관리 + + +
+ +
+
+ +
+ + + + + +
+ + + +
+ + + + + +
+ + + +
+
+ +
+ +
    +
+
+ + + + + +
+
+ + + + + + + +
+ +
+ +
+
+ + +
+
+ + + diff --git a/src/main/webapp/resources/js/fims/rent/rent02010.js b/src/main/webapp/resources/js/fims/rent/rent02010.js index dd93e362..1da7d929 100644 --- a/src/main/webapp/resources/js/fims/rent/rent02010.js +++ b/src/main/webapp/resources/js/fims/rent/rent02010.js @@ -1,4 +1,4 @@ -function newRent02010Control(pageObj, pageName, doctx="[data-doctx='rent02010']") { +function newRent02010Control(pageName, doctx="[data-doctx='rent02010']") { let ctrl = new DatasetControl({ doctx: doctx , prefix: "lsct" @@ -27,7 +27,7 @@ function newRent02010Control(pageObj, pageName, doctx="[data-doctx='rent02010']" // paging pagingSupport = new FimsPagingSupport({ - doq: pageObj + doq: ctrl , linkContainer: "[name='dataPaging']" }); @@ -36,9 +36,6 @@ function newRent02010Control(pageObj, pageName, doctx="[data-doctx='rent02010']" **************************************************************************/ // Dataset 변경 이벤트 ctrl.onDatasetChange = (obj, option) => { -// pageObj.renderList(obj, option); - - // 데이터 셋 let dataList = ctrl.dataset; let empty = dataList.empty; @@ -53,14 +50,14 @@ function newRent02010Control(pageObj, pageName, doctx="[data-doctx='rent02010']" }); let replacer = (str, dataItem) => str - .replace(/{onclick}/gi, "pageObject['" + pageName + "'].dataTableClick('{DATA-INDEX}');") - .replace(/{ondblclick}/gi, "pageObject['" + pageName + "'].dataTableDblClick('{CRDN_ID}');"); + .replace(/{onclick}/gi, "dataTableClick('{DATA-INDEX}');") + .replace(/{ondblclick}/gi, "dataTableDblClick('{CRDN_ID}');"); let trs = empty ? [ctrl.find("[name='tmpltNotFound']").content.querySelector(".cmn").outerHTML] : dataList.inStrings(foundTr.outerHTML, replacer); - let noMore = (dataList.length >= obj["Total"]); + let noMore = (dataList.length >= obj["Total"]); // 전체 건수 let initScroll = (ctrl.query.pageNum < 2); if (option != null && option.reloaded) { @@ -75,9 +72,6 @@ function newRent02010Control(pageObj, pageName, doctx="[data-doctx='rent02010']" // pagingInfo pagingSupport.setPagingInfo(obj); - - // 보안모드 - fn_securityModeToggle($("#securityMode--top").is(":checked")); }; // 현재 선택 자료 변경 이벤트 @@ -147,5 +141,33 @@ function newRent02010Control(pageObj, pageName, doctx="[data-doctx='rent02010']" }); } + /************************************************************************** + * DataTable 이벤트 + **************************************************************************/ + // dataTable 클릭 이벤트 + dataTableClick = (dataIndex) => { + if (dataIndex == "") return; + + $(ctrl.find("[name='tbodyList']")).setCurrentRow(dataIndex); + + Apply.toDataset.current(ctrl.dataset, dataIndex); + } + + // dataTable 더블 클릭 이벤트 + dataTableDblClick = (dataKey) => { + let params = { + callPurpose: "update" + , crdnId: dataKey + , lsctId: ctrl.getValue("LSCT_ID") + }; + + ctrl.getInfo(params); + } + + // DataTables에 스크롤이 맨 밑으로 이동했을 때 이벤트 + scrollDataList = () => { + ctrl.load(ctrl.query.pageNum + 1); + } + return ctrl; } diff --git a/src/main/webapp/resources/js/fims/rent/rent02020.js b/src/main/webapp/resources/js/fims/rent/rent02020.js new file mode 100644 index 00000000..f0ce8f1f --- /dev/null +++ b/src/main/webapp/resources/js/fims/rent/rent02020.js @@ -0,0 +1,173 @@ +function newRent02010Control(pageName, doctx="[data-doctx='rent02020']") { + let ctrl = new DatasetControl({ + doctx: doctx + , prefix: "lsct" + , prefixName: "임대차계약" + , dataGetter: obj => obj["List"] + , keys: ["CRDN_ID"] + , appendData: true + , infoSize: "xl" + , urls: { + load: "/list.do" + , getInfo: "/info.do" + , create: "/create.do" + , update: "/update.do" + , remove: "/remove.do" + } + , formats: { + CRDN_YMD_TM: datetimeFormat + , FFNLG_CRDN_AMT: numberFormat + , REG_DT: datetimeFormat + , MDFCN_DT: datetimeFormat + } + }); + + // 검색 조건 + ctrl.query = { pageNum: 1, fetchSize: DEFAULT_FETCH_SIZE }; // 1 페이지당 자료 건수 index.jsp에서 확인 + + // paging + pagingSupport = new FimsPagingSupport({ + doq: ctrl + , linkContainer: "[name='dataPaging']" + }); + + /************************************************************************** + * DatasetControl Events + **************************************************************************/ + // Dataset 변경 이벤트 + ctrl.onDatasetChange = (obj, option) => { + // 데이터 셋 + let dataList = ctrl.dataset; + let empty = dataList.empty; + + // 업무별 DataTables(그리드) tr, td + let foundContent = ctrl.find("[name='tmpltRows']").content; + let foundTr = $(foundContent).find("tr")[0].cloneNode(false); + let foundTds = $(foundContent).find(".cmn"); + + foundTds.each(function() { + foundTr.appendChild(this.cloneNode(true)); + }); + + let replacer = (str, dataItem) => str + .replace(/{onclick}/gi, "dataTableClick('{DATA-INDEX}');") + .replace(/{ondblclick}/gi, "dataTableDblClick('{CRDN_ID}');"); + + let trs = empty ? + [ctrl.find("[name='tmpltNotFound']").content.querySelector(".cmn").outerHTML] + : dataList.inStrings(foundTr.outerHTML, replacer); + + let noMore = (dataList.length >= obj["Total"]); // 전체 건수 + let initScroll = (ctrl.query.pageNum < 2); + + if (option != null && option.reloaded) { + initScroll = false; + } + + // + ctrl.find("[name='tableRspns']").changeContent(trs.join(), initScroll, noMore); + + // checkbox 체크 해제 + $(ctrl.find("[name='gridAllCheckbox']")).prop("checked", false); + + // pagingInfo + pagingSupport.setPagingInfo(obj); + }; + + // 현재 선택 자료 변경 이벤트 + ctrl.onCurrentChange = (item) => { + Apply.fromDataset.currentRow(ctrl.dataset, item, ctrl.find("[name='tbodyList']")); + }; + + // 선택(체크) 변경 이벤트 + ctrl.onSelectionChange = (selectedArr) => { + // gridCheckbox + Apply.fromDataset.gridCheckbox(ctrl.dataset, ctrl.find("[name='tbodyList']"), 1, selectedArr); + // 삭제 버튼 + Apply.fromDataset.gridButton(ctrl.dataset, ctrl.find("[name='btnRemove']"), selectedArr); + }; + + // 상세 정보 dialog + ctrl.getInfo = (params) => { + if (!params) return; + + ajax.get({ + url: ctrl.urls.getInfo + , data: params || {} + , success: (resp) => { + let dialogName = ctrl.prefixed("Dialog"); + let dialogId = dialogName + "-" + uuid(); + + dialog.open({ + id: dialogId + , title: ctrl.prefixName + " 정보" + , size: ctrl.infoSize + , content: resp + , init: () => { + $("#" + dialogId).attr("name", dialogName); + $("#" + dialogId).attr("data-ref-doctx", pageName); + + AppSupport.setDialogZindex(); + } + , onClose: () => { ctrl.reload({ all: true }); } + }); + } + }); + } + + // 삭제 callback + ctrl.onRemove = (params, resp) => { + let showMessage = resp.rtnMsg.replace(/[S]|[F]/g, ctrl.prefixName); + + // 메시지 출력 + dialog.alert({ + content: showMessage + , init: () => { AppSupport.setDialogZindex(); } + , onOK: () => { } + , onClose: () => { + if (resp.saved) { ctrl.reload({ all: true }); } + } + }); + } + + // 삭제 + ctrl.remove = (params) => { + if (!params) return; + + ajax.post({ + url: ctrl.urls.remove + , data: params || {} + , success: (resp) => { ctrl.onRemove(params, resp); } + }); + } + + /************************************************************************** + * DataTable 이벤트 + **************************************************************************/ + // dataTable 클릭 이벤트 + dataTableClick = (dataIndex) => { + if (dataIndex == "") return; + + $(ctrl.find("[name='tbodyList']")).setCurrentRow(dataIndex); + + Apply.toDataset.current(ctrl.dataset, dataIndex); + } + + // dataTable 더블 클릭 이벤트 + dataTableDblClick = (dataKey) => { + let params = { + callPurpose: "update" + , crdnId: dataKey + , lsctId: ctrl.getValue("LSCT_ID") + }; + + ctrl.getInfo(params); + } + + // DataTables에 스크롤이 맨 밑으로 이동했을 때 이벤트 + scrollDataList = () => { + ctrl.load(ctrl.query.pageNum + 1); + } + + return ctrl; +} diff --git a/src/main/webapp/resources/js/fims/rent/rent02030.js b/src/main/webapp/resources/js/fims/rent/rent02030.js new file mode 100644 index 00000000..68a2dd2b --- /dev/null +++ b/src/main/webapp/resources/js/fims/rent/rent02030.js @@ -0,0 +1,177 @@ +function newRent02010Control(pageName, doctx="[data-doctx='rent02010']") { + let ctrl = new DatasetControl({ + doctx: doctx + , prefix: "lsct" + , prefixName: "임대차계약" + , dataGetter: obj => obj["List"] + , keys: ["CRDN_ID"] +// , keymapper: info => info ? info.CRDN_ID : "" + , appendData: true + , infoSize: "xl" + , urls: { + load: "/list.do" + , getInfo: "/info.do" + , create: "/create.do" + , update: "/update.do" + , remove: "/remove.do" + } + , formats: { + CRDN_YMD_TM: datetimeFormat + , FFNLG_CRDN_AMT: numberFormat + , REG_DT: datetimeFormat + , MDFCN_DT: datetimeFormat + } + }); + + // 검색 조건 + ctrl.query = { pageNum: 1, fetchSize: DEFAULT_FETCH_SIZE }; // 1 페이지당 자료 건수 index.jsp에서 확인 + + // paging + pagingSupport = new FimsPagingSupport({ + doq: ctrl + , linkContainer: "[name='dataPaging']" + }); + + /************************************************************************** + * DatasetControl Events + **************************************************************************/ + // Dataset 변경 이벤트 + ctrl.onDatasetChange = (obj, option) => { + // 데이터 셋 + let dataList = ctrl.dataset; + let empty = dataList.empty; + + // 업무별 DataTables(그리드) tr, td + let foundContent = ctrl.find("[name='tmpltRows']").content; + let foundTr = $(foundContent).find("tr")[0].cloneNode(false); + let foundTds = $(foundContent).find(".cmn"); + + foundTds.each(function() { + foundTr.appendChild(this.cloneNode(true)); + }); + + let replacer = (str, dataItem) => str + .replace(/{onclick}/gi, "dataTableClick('{DATA-INDEX}');") + .replace(/{ondblclick}/gi, "dataTableDblClick('{CRDN_ID}');"); + +// .replace(/{onclick}/gi, "pageObject['" + pageName + "'].dataTableClick('{DATA-INDEX}');") +// .replace(/{ondblclick}/gi, "pageObject['" + pageName + "'].dataTableDblClick('{CRDN_ID}');"); + + let trs = empty ? + [ctrl.find("[name='tmpltNotFound']").content.querySelector(".cmn").outerHTML] + : dataList.inStrings(foundTr.outerHTML, replacer); + + let noMore = (dataList.length >= obj["Total"]); // 전체 건수 + let initScroll = (ctrl.query.pageNum < 2); + + if (option != null && option.reloaded) { + initScroll = false; + } + + // + ctrl.find("[name='tableRspns']").changeContent(trs.join(), initScroll, noMore); + + // checkbox 체크 해제 + $(ctrl.find("[name='gridAllCheckbox']")).prop("checked", false); + + // pagingInfo + pagingSupport.setPagingInfo(obj); + }; + + // 현재 선택 자료 변경 이벤트 + ctrl.onCurrentChange = (item) => { + Apply.fromDataset.currentRow(ctrl.dataset, item, ctrl.find("[name='tbodyList']")); + }; + + // 선택(체크) 변경 이벤트 + ctrl.onSelectionChange = (selectedArr) => { + // gridCheckbox + Apply.fromDataset.gridCheckbox(ctrl.dataset, ctrl.find("[name='tbodyList']"), 1, selectedArr); + // 삭제 버튼 + Apply.fromDataset.gridButton(ctrl.dataset, ctrl.find("[name='btnRemove']"), selectedArr); + }; + + // 상세 정보 dialog + ctrl.getInfo = (params) => { + if (!params) return; + + ajax.get({ + url: ctrl.urls.getInfo + , data: params || {} + , success: (resp) => { + let dialogName = ctrl.prefixed("Dialog"); + let dialogId = dialogName + "-" + uuid(); + + dialog.open({ + id: dialogId + , title: ctrl.prefixName + " 정보" + , size: ctrl.infoSize + , content: resp + , init: () => { + $("#" + dialogId).attr("name", dialogName); + $("#" + dialogId).attr("data-ref-doctx", pageName); + + AppSupport.setDialogZindex(); + } + , onClose: () => { ctrl.reload({ all: true }); } + }); + } + }); + } + + // 삭제 callback + ctrl.onRemove = (params, resp) => { + let showMessage = resp.rtnMsg.replace(/[S]|[F]/g, ctrl.prefixName); + + // 메시지 출력 + dialog.alert({ + content: showMessage + , init: () => { AppSupport.setDialogZindex(); } + , onOK: () => { } + , onClose: () => { + if (resp.saved) { ctrl.reload({ all: true }); } + } + }); + } + + // 삭제 + ctrl.remove = (params) => { + if (!params) return; + + ajax.post({ + url: ctrl.urls.remove + , data: params || {} + , success: (resp) => { ctrl.onRemove(params, resp); } + }); + } + + /************************************************************************** + * DataTable 이벤트 + **************************************************************************/ + // dataTable 클릭 이벤트 + dataTableClick = (dataIndex) => { + if (dataIndex == "") return; + + $(ctrl.find("[name='tbodyList']")).setCurrentRow(dataIndex); + + Apply.toDataset.current(ctrl.dataset, dataIndex); + } + + // dataTable 더블 클릭 이벤트 + dataTableDblClick = (dataKey) => { + let params = { + callPurpose: "update" + , crdnId: dataKey + , lsctId: ctrl.getValue("LSCT_ID") + }; + + ctrl.getInfo(params); + } + + // DataTables에 스크롤이 맨 밑으로 이동했을 때 이벤트 + scrollDataList = () => { + ctrl.load(ctrl.query.pageNum + 1); + } + + return ctrl; +}