1. 테이블데이터 스크롤링 처리 방식 수정.

main
jjh 11 months ago
parent 3f01f3dd8b
commit a1e319ab84

@ -1,5 +1,6 @@
package cokr.xit.fims.cmmn.service.bean;
import java.text.SimpleDateFormat;
import java.util.List;
import javax.annotation.Resource;
@ -111,22 +112,29 @@ public class CrdnSttsHstryBean extends AbstractComponent {
*/
public boolean createHstryUpdateCrdnSttsCd(CrdnSttsHstry crdnSttsHstry) {
// 변수 선언
boolean retSuccess = false; // DB 처리 결과
boolean rtnScs = false; // DB 처리 결과
// 사용 여부
if (crdnSttsHstry.getUseYN() == null) {
crdnSttsHstry.setUseYN("Y");
}
// 단속 상태 변경 일시
if (crdnSttsHstry.getCrdnSttsChgDt() == null) {
// 현재 날짜 구하기
SimpleDateFormat dateFormat = new SimpleDateFormat("yyyyMMddHHmmss");
crdnSttsHstry.setCrdnSttsChgDt(dateFormat.format(System.currentTimeMillis()));
}
// 단속상태이력(TB_CRDN_STTS_HSTRY) 대장을 등록 한다.
retSuccess = crdnSttsHstryMapper.insert(crdnSttsHstry);
if (!retSuccess) {
rtnScs = crdnSttsHstryMapper.insert(crdnSttsHstry);
if (!rtnScs) {
// 예외를 발생시켜서 오류메세지를 보내고 Database 롤백..
throw new RuntimeException("단속상태이력 대장 등록에 실패하였습니다.");
}
// 단속(TB_CRDN) 대장을 수정 한다.
retSuccess = crdnSttsHstryMapper.updateCrdn(crdnSttsHstry);
if (!retSuccess) {
rtnScs = crdnSttsHstryMapper.updateCrdn(crdnSttsHstry);
if (!rtnScs) {
// 예외를 발생시켜서 오류메세지를 보내고 Database 롤백..
throw new RuntimeException("단속상태이력 정보 등록 중 오류가 발생하였습니다.");
}
@ -143,7 +151,7 @@ public class CrdnSttsHstryBean extends AbstractComponent {
*/
public boolean removeHstryUpdateCrdnSttsCd(String crdnId, String crdnSttsCd, String deleteSttsCd, boolean insertBfrSttsYn) {
// 변수 선언
boolean retSuccess = false; // DB 처리 결과
boolean rtnScs = false; // DB 처리 결과
// 단속 ID에 해당하는 단속상태코드의 단속상태이력(TB_CRDN_STTS_HSTRY) 대장을 조회 한다.
DataObject crdnSttsHstryInfo = crdnSttsHstryMapper.selectCrdnSttsHstryInfo(crdnId, crdnSttsCd, "Y");
@ -158,8 +166,8 @@ public class CrdnSttsHstryBean extends AbstractComponent {
crdnSttsHstry.setSttsHstryId(crdnSttsHstryInfo.string("STTS_HSTRY_ID"));
crdnSttsHstry.setUseYN("N");
retSuccess = crdnSttsHstryMapper.update(crdnSttsHstry);
if (!retSuccess) {
rtnScs = crdnSttsHstryMapper.update(crdnSttsHstry);
if (!rtnScs) {
throw new RuntimeException("단속상태이력 대장에 이력 수정에 실패하였습니다."); // 예외를 발생시켜서 DB Rollback
}
}
@ -180,8 +188,8 @@ public class CrdnSttsHstryBean extends AbstractComponent {
opnnSttsHstry.setSttsHstryId(crdnSttsHstryInfo.string("STTS_HSTRY_ID"));
opnnSttsHstry.setUseYN("N");
retSuccess = crdnSttsHstryMapper.update(opnnSttsHstry);
if (!retSuccess) {
rtnScs = crdnSttsHstryMapper.update(opnnSttsHstry);
if (!rtnScs) {
throw new RuntimeException("단속상태이력 대장에 의견제출접수 이력 수정에 실패하였습니다."); // 예외를 발생시켜서 DB Rollback
}
}
@ -194,8 +202,8 @@ public class CrdnSttsHstryBean extends AbstractComponent {
deleteSttsHstry.setCrdnSttsCd(deleteSttsCd);
deleteSttsHstry.setUseYN("N");
retSuccess = crdnSttsHstryMapper.insert(deleteSttsHstry);
if (!retSuccess) {
rtnScs = crdnSttsHstryMapper.insert(deleteSttsHstry);
if (!rtnScs) {
throw new RuntimeException("삭제 단속상태이력 정보 등록 중 오류가 발생하였습니다."); // 예외를 발생시켜서 DB Rollback
}
}
@ -211,8 +219,8 @@ public class CrdnSttsHstryBean extends AbstractComponent {
crdnSttsHstry.setCrdnSttsChgDt(crdnSttsHstryInfo.string("BFR_STTS_CHG_DT"));
crdnSttsHstry.setUseYN("Y");
retSuccess = createHstryUpdateCrdnSttsCd(crdnSttsHstry);
if (!retSuccess) {
rtnScs = createHstryUpdateCrdnSttsCd(crdnSttsHstry);
if (!rtnScs) {
throw new RuntimeException("단속상태이력 정보 등록 중 오류가 발생하였습니다."); // 예외를 발생시켜서 DB Rollback
}
}

@ -1,5 +1,6 @@
package cokr.xit.fims.levy.service.bean;
import java.text.SimpleDateFormat;
import java.util.List;
import javax.annotation.Resource;
@ -103,15 +104,15 @@ public class LevyBean extends AbstractComponent {
*/
public String createRductLevyList(LevyQuery req) {
// 변수 선언
String retMessage = "[F] "; // 처리 결과 메시지
String rtnMsg = "[F] "; // 처리 결과 메시지
// 최초 조회
List<DataObject> rductLevyTrgtList = levyMapper.selectRductLevyTrgtList(req);
// 조회 건수와 등록 대상 건수 확인
if (!req.getTnocs().equals(rductLevyTrgtList.get(0).string("TNOCS"))) {
retMessage = "[F] 조회된 총건수와 감경부과 등록 대상건수가 다릅니다.";
return retMessage;
rtnMsg = "[F] 조회된 총건수와 감경부과 등록 대상건수가 다릅니다.";
return rtnMsg;
}
// 총 페이지 건수 확인
@ -133,16 +134,16 @@ public class LevyBean extends AbstractComponent {
levy.setFrstDudtYmd(req.getDudtYmd()); // 최초 납기 일자
levy.setDudtYmd(req.getDudtYmd()); // 납기 일자
retMessage = createRductLevy(levy);
if (retMessage.contains("[F]")) {
throw new RuntimeException(retMessage);
rtnMsg = createRductLevy(levy);
if (rtnMsg.contains("[F]")) {
throw new RuntimeException(rtnMsg);
}
}
}
retMessage = "[S] 작업이 정상 처리 되었습니다.";
rtnMsg = "[S] 작업이 정상 처리 되었습니다.";
return retMessage;
return rtnMsg;
}
/** .
@ -154,8 +155,8 @@ public class LevyBean extends AbstractComponent {
*/
public String createRductLevy(Levy levy) {
// 변수 선언
boolean retSuccess = false; // DB 처리 결과
String retMessage = "[F] "; // 처리 결과 메시지
boolean rtnScs = false; // DB 처리 결과
String rtnMsg = "[F] "; // 처리 결과 메시지
// 사용자 정보
ManagedUser managedUser = (ManagedUser)currentUser().getUser();
@ -185,9 +186,9 @@ public class LevyBean extends AbstractComponent {
} else {
levy.setFyr(null); // 회계연도
levy.setLevyNo(null); // 부과 번호
levy.setLevyYmd(null); // 부과 일자
levy.setFrstDudtYmd(null); // 최초 납기 일자
levy.setDudtYmd(null); // 납기 일자
// levy.setLevyYmd(null); // 부과 일자
// levy.setFrstDudtYmd(null); // 최초 납기 일자
// levy.setDudtYmd(null); // 납기 일자
levy.setFfnlgAmt(crdnInfo.number("FFNLG_AMT").intValue()); // 과태료 금액
levy.setLevyPcptax(crdnInfo.number("FFNLG_AMT").intValue()); // 부과 본세
levy.setSumAmt(crdnInfo.number("FFNLG_AMT").intValue()); // 합계 금액
@ -225,38 +226,42 @@ public class LevyBean extends AbstractComponent {
levy.setMngItem6(crdnInfo.string("CRDN_ID")); // 관리 아이템6
levy.setLevySttsNm("부과"); // 부과 상태 명
retSuccess = levyMapper.insert(levy);
if (!retSuccess) {
rtnScs = levyMapper.insert(levy);
if (!rtnScs) {
// 예외를 발생시켜서 오류메세지를 보내고 DB Rollback
throw new RuntimeException("감경부과 대장 등록에 실패하였습니다.");
}
// 현재 날짜 구하기
SimpleDateFormat dateFormat = new SimpleDateFormat("yyyyMMddHHmmss");
// 단속상태이력(TB_CRDN_STTS_HSTRY)
CrdnSttsHstry crdnSttsHstry = new CrdnSttsHstry();
crdnSttsHstry.setCrdnId(crdnInfo.string("CRDN_ID")); // 단속 ID
crdnSttsHstry.setBfrSttsCd(crdnInfo.string("CRDN_STTS_CD")); // 단속 상태 코드
crdnSttsHstry.setBfrSttsChgDt(crdnInfo.string("CRDN_STTS_CHG_DT")); // 단소 상태 변경 일시
crdnSttsHstry.setBfrSttsCd(crdnInfo.string("CRDN_STTS_CD")); // 이전 단속 상태 코드
crdnSttsHstry.setBfrSttsChgDt(crdnInfo.string("CRDN_STTS_CHG_DT")); // 이전 단속 상태 변경 일시
crdnSttsHstry.setCrdnSttsCd("23"); // 단속 상태 코드(FIM010) - 감경부과
crdnSttsHstry.setCrdnSttsChgDt(dateFormat.format(System.currentTimeMillis())); // 단속 상태 변경 일시
crdnSttsHstry.setTaskDtlId(levy.getLevyId()); // 부과 ID
if (crdnInfo.number("CRDN_STTS_CD").intValue() >= 1 && crdnInfo.number("CRDN_STTS_CD").intValue() <= 22 ) {
// 단속 상태 이력(TB_CRDN_STTS_HSTRY) 대장에 등록하고, 단속(TB_CRDN) 대장을 수정한다.
retSuccess = crdnSttsHstryBean.createHstryUpdateCrdnSttsCd(crdnSttsHstry);
if (!retSuccess) {
rtnScs = crdnSttsHstryBean.createHstryUpdateCrdnSttsCd(crdnSttsHstry);
if (!rtnScs) {
throw new RuntimeException("감경부과 등록 중 단속 대장의 단속상태 변경에 실패하였습니다."); // 예외를 발생시켜서 DB Rollback
}
} else {
// 단속상태이력(TB_CRDN_STTS_HSTRY) 대장을 등록 한다.
retSuccess = crdnSttsHstryBean.create(crdnSttsHstry);
if (!retSuccess) {
rtnScs = crdnSttsHstryBean.create(crdnSttsHstry);
if (!rtnScs) {
throw new RuntimeException("감경부과 등록 중 단속 대장의 단속상태 변경에 실패하였습니다."); // 예외를 발생시켜서 DB Rollback
}
}
retMessage = "[S] 작업이 정상 처리 되었습니다.";
rtnMsg = "[S] 작업이 정상 처리 되었습니다.";
return retMessage;
return rtnMsg;
}
/** , , .
@ -268,18 +273,18 @@ public class LevyBean extends AbstractComponent {
*/
public String updateRductLevyYmd(Levy levy) {
// 변수 선언
boolean retSuccess = false; // DB 처리 결과
String retMessage = "[F] "; // 처리 결과 메시지
boolean rtnScs = false; // DB 처리 결과
String rtnMsg = "[F] "; // 처리 결과 메시지
retSuccess = levyMapper.updateRductLevyYmd(levy);
if (!retSuccess) {
rtnScs = levyMapper.updateRductLevyYmd(levy);
if (!rtnScs) {
// 예외를 발생시켜서 오류메세지를 보내고 DB Rollback
throw new RuntimeException("부과 대장에 사전 감경부과 일자 정보 수정에 실패하였습니다.");
}
retMessage = "[S] 작업이 정상 처리 되었습니다.";
rtnMsg = "[S] 작업이 정상 처리 되었습니다.";
return retMessage;
return rtnMsg;
}
/** .
@ -291,18 +296,18 @@ public class LevyBean extends AbstractComponent {
*/
public String updateRcvmtAmt(Levy levy) {
// 변수 선언
boolean retSuccess = false; // DB 처리 결과
String retMessage = "[F] "; // 처리 결과 메시지
boolean rtnScs = false; // DB 처리 결과
String rtnMsg = "[F] "; // 처리 결과 메시지
retSuccess = levyMapper.updateRcvmtAmt(levy);
if (!retSuccess) {
rtnScs = levyMapper.updateRcvmtAmt(levy);
if (!rtnScs) {
// 예외를 발생시켜서 오류메세지를 보내고 DB Rollback
throw new RuntimeException("부과 대장에 수납금액 정보 수정에 실패하였습니다.");
}
retMessage = "[S] 작업이 정상 처리 되었습니다.";
rtnMsg = "[S] 작업이 정상 처리 되었습니다.";
return retMessage;
return rtnMsg;
}
/** .

@ -106,8 +106,10 @@ public class Levy01Controller extends ApplicationController {
rductLevyYmdInfo.put("TNOCS", req.getTnocs());
rductLevyYmdInfo.put("GRAMT", req.getGramt());
return mav.addObject("pageName", "levy01020")
.addObject("levyQuery", json ? req : toJson(req))
return mav
.addObject("pageName", "levy01020")
.addObject("callPurpose", req.getCallPurpose()) // 호출 용도
.addObject("levyQuery", json ? req : toJson(req)) // Query
.addObject("rductLevyYmdInfo", json ? rductLevyYmdInfo : toJson(rductLevyYmdInfo))
;
}
@ -121,9 +123,9 @@ public class Levy01Controller extends ApplicationController {
*/
public ModelAndView createReductionLevyList(LevyQuery req) {
boolean saved = false;
String retMessage = levyService.createRductLevyList(req);
String rtnMsg = levyService.createRductLevyList(req);
if (retMessage.contains("[S]")) {
if (rtnMsg.contains("[S]")) {
saved = true;
} else {
saved = false;
@ -131,7 +133,7 @@ public class Levy01Controller extends ApplicationController {
return new ModelAndView("jsonView")
.addObject("saved", saved)
.addObject("retMessage", retMessage);
.addObject("rtnMsg", rtnMsg);
}
/** (levy/levy01030-main) .

@ -124,6 +124,9 @@
<option value="mdfr">수정자</option>
</select>
<input type="text" class="form-control" id="schDetailRgtrNm--${pageName}" name="schDetailRgtrNm" />
<button type="button" class="btn btn-sm btn-outline-dark" id="btnFindUser--${pageName}" title="사용자 검색" onclick="fnFindUser${pageName}();">
검색
</button>
</div>
</div>
</div>
@ -439,7 +442,7 @@
});
});
// DataTables width 변경 조정
// DataTables width 변경 조정 업무별 그리드가 존재 한다면.. crdn06010-main.jsp 참고
$("#DataTables_Table_0--${pageName}").find("th").resizable( {handles : "e"} );
// DataTables 스크롤 이벤트 생성

@ -13,7 +13,7 @@
<div>
<!-- 상단 버튼 -->
<div class="container-page-btn">
<button type="button" class="btn btn-outline-dark w-px-120" id="btnReset--${pageName}" title="초기화" onclick="fnReset${pageName}();">
<button type="button" class="btn btn-outline-dark w-px-120" id="btnReset--${pageName}" title="초기화" onclick="fnResetAndChangeBiz${pageName}();">
초기화
</button>
<span class="container-window-btn-right">
@ -77,7 +77,7 @@
<input type="text" class="form-control" id="byOutput--${pageName}" value="동적 검색" readonly />
<input type="hidden" id="mainOption--${pageName}" name="mainOption" />
<input type="hidden" id="subOption--${pageName}" name="subOption" />
<input type="text" class="form-control w-px-300" id="term--${pageName}" name="term" />
<input type="text" class="form-control w-px-300" id="term--${pageName}" name="term" autocomplete="off" />
<!-- 상세 검색조건 버튼 -->
<span class="flr">
<button type="button" class="btn btn-open-detail" data-bs-toggle="collapse" data-bs-target="#searchDetail--${pageName}">
@ -114,6 +114,9 @@
<option value="mdfr">단속 수정자</option>
</select>
<input type="text" class="form-control" id="schDetailCrdnRgtrNm--${pageName}" name="schDetailCrdnRgtrNm" />
<button type="button" class="btn btn-sm btn-outline-dark" id="btnFindUser--${pageName}" title="사용자 검색" onclick="fnFindUser${pageName}();">
검색
</button>
</div>
</div>
</div>
@ -132,7 +135,7 @@
</div>
<span class="container-window-btn-right">
<!-- 업무 버튼 -->
<button type="button" class="btn btn-primary w-px-120" id="btnRductLevyInfo--${pageName}" title="감경부과 등록" onclick="fnRductLevyInfo${pageName}();">
<button type="button" class="btn btn-primary w-px-120" id="btnCreate--${pageName}" title="감경부과 등록" onclick="fnCreate${pageName}();">
감경부과 등록
</button>
</span>
@ -246,10 +249,8 @@
, keymapper : info => info ? info.CRDN_ID : ""
, dataGetter : obj => obj.rductLevyTrgtList
, appendData : true
, untilPageNum : 0 // 현재 페이지 번호
, tableRenderComplete : false // dataTables 에 자료 추가 완료 여부
, urls : {
getInfo : wctx.url("/sprt/sprt02/010/main.do") // 개별총정보
}
, formats : {
CRDN_YMD_TM : datetimeFormat
, CVLCPT_RCPT_YMD : dateFormat
@ -266,7 +267,7 @@
**************************************************************************/
// Dataset 변경 이벤트
${pageName}Control.onDatasetChange = obj => {
renderList${pageName}();
renderList${pageName}(obj.${infoPrefix}Total);
$("#paging--${pageName}").setPagingInfo({
list : ${pageName}Control.dataset
@ -289,34 +290,40 @@
$("#tbody--${pageName}").setCurrentRow(key);
};
// 개별총정보 dialog
${pageName}Control.getInfo = (crdnId) => {
if (!crdnId) return;
// 부과 정보 dialog
${pageName}Control.getInfo = (params) => {
if (!params) return;
let params = {
callControlName : "${pageName}Control"
, crdnId : crdnId
let dialogTitle = "";
if (params.callPurpose == "create") {
dialogTitle = ${pageName}Control.prefixName + " 등록";
} else if (params.callPurpose == "update") {
dialogTitle = ${pageName}Control.prefixName + " 수정";
} else {
dialogTitle = ${pageName}Control.prefixName + " 정보";
}
ajax.get({
url : ${pageName}Control.urls.getInfo
url : wctx.url("/" + params.taskSeCd + ${pageName}PrefixUrl + "/020/info.do")
, data : params || {}
, success : resp => {
dialog.open({
id : "totalInfoMainDialog"
, title : "개별총정보"
id : ${pageName}Control.prefixed("Dialog")
, title : dialogTitle
, content : resp
, size : "xxl"
, size : ${pageName}Control.infoSize
, onClose : () => { refreshList${pageName}(); } // 자료 재조회
});
}
});
}
/**************************************************************************
*
* DataTables 이벤트
**************************************************************************/
// DataTables에 click, dbclick 이벤트
renderList${pageName} = () => {
renderList${pageName} = (totalSize) => {
let ${infoPrefix}List = ${pageName}Control.dataset;
let empty = ${infoPrefix}List.empty;
@ -326,116 +333,70 @@
document.getElementById("${infoPrefix}Row--${pageName}").innerHTML, <%-- from template#${infoPrefix}Row --%>
(str, dataItem) => str
.replace(/{onclick}/gi, "${pageName}Control.setCurrent('" + dataItem.getValue("CRDN_ID") + "');")
.replace(/{ondblclick}/gi, "${pageName}Control.getInfo('" + dataItem.getValue("CRDN_ID") + "');")
.replace(/{ondblclick}/gi, "getTotalInfo${pageName}('" + dataItem.getValue("CRDN_ID") + "');")
);
$("#tbody--${pageName}").html(trs.join());
let noMore = (totalSize == ${infoPrefix}List.length);
let initScroll = (${pageName}Control.query.pageNum < 2) && (${pageName}Control.untilPageNum == 0);
$("#table-responsive--${pageName}")[0].changeContent(trs.join(), initScroll, noMore);
if (${pageName}Control.untilPageNum != 0) {
${pageName}Control.query.fetchSize = ${pageName}Control.defaultFetchSize;
${pageName}Control.query.pageNum = ${pageName}Control.untilPageNum;
${pageName}Control.untilPageNum = 0;
}
// checkbox 체크 해제
$("th input[type='checkbox']").prop("checked", false);
//보안모드
fn_securityModeToggle($("#securityMode--top").is(":checked"));
}
// 부과 정보 dialog -> callback 추가
getRductLevyInfo${pageName} = (params) => {
if (!params) return;
// DataTables에 스크롤이 맨 밑으로 이동했을 때 이벤트
scrollDataList${pageName} = () => {
${pageName}Control.tableRenderComplete = false; // dataTables 에 자료 추가 false
ajax.get({
url : wctx.url("/" + params.taskSeCd + ${pageName}PrefixUrl + "/020/info.do")
, data : params || {}
, success : resp => {
dialog.open({
id : "rductLevyDialog"
, title : ${pageName}Control.prefixName + " 정보"
, content : resp
, size : ${pageName}Control.infoSize
, init : () => { }
, onClose : () => { ${pageName}Control.load(${pageName}Control.query.pageNum); } // callback
});
}
});
${pageName}Control.load(${pageName}Control.query.pageNum + 1);
}
/**************************************************************************
* 초기 설정
* 사용자 함수(function)
**************************************************************************/
// 초기화
initForm${pageName} = () => {
// 화면 초기화
$("#frmSearch--${pageName}")[0].reset();
// 개별총정보 dialog
getTotalInfo${pageName} = (crdnId) => {
if (typeof crdnId == "undefined" || crdnId == null || crdnId == "") return;
// dataset 초기화
${pageName}Control.dataset.clear();
let params = {
callControlName : "${pageName}Control"
, sggCd : $("#sggCd--${pageName}").val()
, taskSeCd : $("input[name=taskSeCd]:checked").val()
, crdnId : crdnId
}
// 이벤트
setEvent${pageName} = () => {
// form-date 항목에서 키보드로 입력시 날짜 포맷팅 적용
$("#frmSearch--${pageName}").find(".form-date").each(function() {
$(this).on("input", function() {
let value = this.value.replaceAll("-", "");
if (value.length > 7) {
this.value = value.substring(0, 4) + "-" + value.substring(4, 6) + "-" + value.substring(6);
} else if(value.length > 5) {
this.value = value.substring(0, 4) + "-" + value.substring(4);
}
});
ajax.get({
url : wctx.url(params.taskSeCd + "/sprt/sprt02/010/main.do")
, data : params
, success : resp => {
dialog.open({
id : "totalInfoMainDialog"
, title : "개별총정보"
, content : resp
, size : "xxl"
, init : () => { }
, onClose : () => { }
});
// DataTables width 변경 조정 업무별 그리드가 존재 한다면.. crdn06010-main.jsp 참고
$("#DataTables_Table_0--${pageName}").find("th").resizable( {handles : "e"} );
// DataTables 스크롤 이벤트
$("#table-responsive--${pageName}").scroll(function() {
let el = $(this);
if (el.scrollTop() == 0) {
return;
}
if (!${pageName}Control.tableRenderComplete) {
return;
}
let itemsCnt = ${pageName}Control.dataset._items.length;
let totCnt = ${pageName}Control.dataset.getValue("TOT_CNT"); // let totCnt = ${pageName}Control.dataset.getCurrent("item").data.TOT_CNT;
if (itemsCnt >= totCnt) {
return;
}
if ((el[0].scrollHeight - el.scrollTop() + VERTICAL_SCROLL_HEIGHT) <= el.outerHeight()) {
${pageName}Control.tableRenderComplete = false; // dataTables 에 자료 추가 완료
${pageName}Control.load(${pageName}Control.query.pageNum + 1);
}
});
}
// 화면 초기값 설정
setForm${pageName} = (taskSeCd) => {
// 업무 구분 코드
$("#frmSearch--${pageName} input[name='taskSeCd'][value='" + taskSeCd + "']").prop("checked", true);
// 검색 자료 재조회
refreshList${pageName} = () => {
${pageName}Control.untilPageNum = ${pageName}Control.query.pageNum;
${pageName}Control.query.fetchSize = ${pageName}Control.defaultFetchSize * ${pageName}Control.query.pageNum;
// 최고 관리자 경우 업무구분을 선택할 수 있도록 하자.
$("#frmSearch--${pageName} input[name='taskSeCd']").each(function(i) {
$(this).prop("disabled", "true");
});
// 달력 초기화
initDatepicker("frmSearch--${pageName}");
$("#schCrdnYmdFrom--${pageName}").datepicker("setDate", DateUtil.getDateDay(-465).date);
$("#schCrdnYmdTo--${pageName}").datepicker("setDate", new Date());
// DataTables width 변경 조정
$("#DataTables_Table_0--${pageName}").find("th").resizable( {handles : "e"} );
}
// URL 설정
setURL${pageName} = (taskSeCd) => {
${pageName}Control.urls.load = wctx.url("/" + taskSeCd + ${pageName}PrefixUrl + "/010/list.do"); // 조회
${pageName}Control.urls.getInfo = wctx.url("/" + taskSeCd + "/sprt/sprt02/010/main.do"); // 개별총정보
${pageName}Control.load(1);
}
/**************************************************************************
@ -443,24 +404,19 @@
**************************************************************************/
// 업무 구분 변경
fnResetAndChangeBiz${pageName} = (taskSeCd) => {
// 초기화
initForm${pageName}();
// 업무 구분 코드
if (typeof taskSeCd == "undefined" || taskSeCd == null || taskSeCd == "") {
taskSeCd = $("#layout-navbar input[name='taskSeCd']:checked").val();
}
// 화면 초기값 설정
setForm${pageName}(taskSeCd);
// 초기 기본 설정
initForm${pageName}(taskSeCd);
// URL 설정
setURL${pageName}(taskSeCd);
}
// 초기화 버튼 이벤트
fnReset${pageName} = () => {
fnResetAndChangeBiz${pageName}();
// 기본 데이터 설정
setFormData${pageName}();
}
// 검색 버튼 이벤트
@ -468,11 +424,10 @@
// 검색조건
${pageName}Control.query = ${pageName}Fields.get();
${pageName}Control.query.fetchSize = FETCH_XS; // 한번에 조회되는 자료 건수 FETCH_XS = 30
${pageName}Control.query.fetchSize = ${pageName}Control.defaultFetchSize; // 한번에 조회되는 자료 건수 FETCH_XS = 30
${pageName}Control.query.delYn = "N"; // 삭제 여부
${pageName}Control.query.crdnDelYn = "N"; // 단속 대장 삭제 여부
${pageName}Control.load();
${pageName}Control.load(1);
}
// 엑셀 버튼 이벤트
@ -481,38 +436,102 @@
}
// 사용자 조회 버튼 이벤트
fnUser${pageName} = () => {
fnFindUser${pageName} = () => {
}
// 감경부과등록 버튼 이벤트
fnRductLevyInfo${pageName} = () => {
fnCreate${pageName} = () => {
let params = ${pageName}Control.query;
params.callPurpose = "create";
params.tnocs = ${pageName}Control.dataset.getValue("TNOCS");
params.gramt = ${pageName}Control.dataset.getValue("GRAMT");
getRductLevyInfo${pageName}(params);
${pageName}Control.getInfo(params);
}
/**************************************************************************
* script 진입
* 초기 설정
**************************************************************************/
$(document).ready(function() {
// 이벤트
setEvent${pageName} = () => {
// 동적검색에서 엔터(Enter) 키를 누르면 검색한다.
$("#term--${pageName}").keypress(function(e) {
if (e.keyCode == 13) {
fnSearchList${pageName}();   
}    
});
// form-date 항목에서 키보드로 입력시 날짜 포맷팅 적용
$("#frmSearch--${pageName}").find(".form-date").each(function() {
$(this).on("input", function() {
let value = this.value.replaceAll("-", "");
if (value.length > 7) {
this.value = value.substring(0, 4) + "-" + value.substring(4, 6) + "-" + value.substring(6);
} else if(value.length > 5) {
this.value = value.substring(0, 4) + "-" + value.substring(4);
}
});
});
// DataTables width 변경 조정 업무별 그리드가 존재 한다면.. crdn06010-main.jsp 참고
$("#DataTables_Table_0--${pageName}").find("th").resizable( {handles : "e"} );
// DataTables 스크롤 이벤트 생성
fnMakeScrollableTable($("#table-responsive--${pageName}")[0], scrollDataList${pageName});
}
// 화면 초기 설정
initForm${pageName} = (taskSeCd) => {
// 화면 초기화
$("#frmSearch--${pageName}")[0].reset();
// 업무 구분 코드
$("#frmSearch--${pageName} input[name='taskSeCd'][value='" + taskSeCd + "']").prop("checked", true);
// 최고 관리자 경우 업무구분을 선택할 수 있도록 하자.
$("#frmSearch--${pageName} input[name='taskSeCd']").each(function(i) {
$(this).prop("disabled", "true");
});
// 달력 초기화
initDatepicker("frmSearch--${pageName}");
$("#schCrdnYmdFrom--${pageName}").datepicker("setDate", DateUtil.getDateDay(-465).date);
$("#schCrdnYmdTo--${pageName}").datepicker("setDate", new Date());
// dataset 초기화
${pageName}Control.dataset.clear();
}
// URL 설정
setURL${pageName} = (taskSeCd) => {
${pageName}Control.urls.load = wctx.url(taskSeCd + ${pageName}PrefixUrl + "/010/list.do"); // 조회
}
// 기본 데이터 설정
$("#sggCd--${pageName}").val("${sggCd}"); // 시군구 코드
setFormData${pageName} = () => {
// ${pageName}Control 설정
${pageName}Control.defaultFetchSize = FETCH_XS; // 1 페이지당 조회되는 자료 건수 index.jsp에서 확인 FETCH_XS = 30
}
/**************************************************************************
* script 진입
**************************************************************************/
$(document).ready(function() {
// 이벤트 설정
setEvent${pageName}();
// 보안모드
fn_securityModeToggle($("#securityMode--top").is(":checked"));
// 시군구 코드 설정
$("#sggCd--${pageName}").val("${sggCd}");
// 업무 구분 설정
let defaultBizValue = $("#layout-navbar input[name='taskSeCd']:checked").val();
$("#frmSearch--${pageName} input[name='taskSeCd'][value='" + defaultBizValue + "']").prop("checked", true);
// 보안모드
fn_securityModeToggle($("#securityMode--top").is(":checked"));
// 화면 초기 설정 및 업무 구분 변경
fnResetAndChangeBiz${pageName}(defaultBizValue);
});

@ -20,8 +20,8 @@
<!-- 총건수 -->
<div class="col-md-12">
<label for="tnocs--${pageName}" class="w-px-120 bg-lighter pe-2 col-form-label text-sm-end">총 건수/금액</label>
<input type="text" class="form-control w-px-80 text-end" id="tnocs--${pageName}" name="tnocs" data-map="TNOCS" readonly />
<input type="text" class="form-control w-px-140 text-end" id="gramt--${pageName}" name="gramt" data-map="GRAMT" readonly />
<input type="text" class="form-control w-px-80 text-end" id="tnocs--${pageName}" name="tnocs" data-map="TNOCS" />
<input type="text" class="form-control w-px-140 text-end" id="gramt--${pageName}" name="gramt" data-map="GRAMT" />
</div>
<!-- 회계연도 -->
<div class="col-md-12">
@ -33,14 +33,14 @@
<label for="levyYmd--${pageName}" class="w-px-120 bg-lighter pe-2 col-form-label text-sm-end required">부과일자</label>
<input type="text" class="form-control form-date" id="levyYmd--${pageName}" name="levyYmd" data-map="LEVY_YMD"
data-fmt-type="day" autocomplete="off" title="날짜 선택" maxlength="10" required />
<button type="button" class="bx bx-sm bx-calendar bg-white"></button>
<button type="button" class="bx bx-sm bx-calendar bg-white" id="btnLevyYmd--${pageName}"></button>
</div>
<!-- 납기 일자 -->
<div class="col-md-12">
<label for="dudtYmd--${pageName}" class="w-px-120 bg-lighter pe-2 col-form-label text-sm-end required">납기일자</label>
<input type="text" class="form-control form-date" id="dudtYmd--${pageName}" name="dudtYmd" data-map="DUDT_YMD"
data-fmt-type="day" autocomplete="off" title="날짜 선택" maxlength="10" required />
<button type="button" class="bx bx-sm bx-calendar bg-white"></button>
<button type="button" class="bx bx-sm bx-calendar bg-white" id="btnDudtYmd--${pageName}"></button>
</div>
</div>
</form> <!-- /입력 영역 -->
@ -68,6 +68,8 @@
**************************************************************************/
// URL
var ${pageName}PrefixUrl = "/levy/levy01";
// infoDialog 호출 용도(view 조회(편집불가), create 등록, update 수정)
var ${pageName}CallPurpose = "${callPurpose}";
// FormFields
var ${pageName}Fields = new FimsFormFields("#frmEdit--${pageName}");
// main 의 검색 조건을 그대로 유지
@ -77,7 +79,7 @@
* DatasetControl
**************************************************************************/
var ${pageName}Control = new DatasetControl({
prefix : "rductLevy"
prefix : "rductLevyTrgt"
, prefixName : "감경부과"
, keymapper : info => info ? info.CRDN_ID : ""
, dataGetter : obj => obj.rductLevyInfo
@ -99,6 +101,7 @@
// 업무구분에 따른 url 변경
${pageName}Control.urls.create = wctx.url(item.data.TASK_SE_CD + ${pageName}PrefixUrl + "/020/createRductLevyList.do");
// ${pageName}Control.urls.update = wctx.url(item.data.TASK_SE_CD + ${pageName}PrefixUrl + "/020/updateRductLevyList.do");
}
/**************************************************************************
@ -107,7 +110,7 @@
// 저장 callback
${pageName}Control.onSave = (resp) => {
let dialogTitle = $("#" + ${pageName}Control.prefix + "Dialog").find("h5.modal-title").html();
let showMessage = resp.retMessage.replace(/[S]|[F]/g, dialogTitle);
let showMessage = resp.rtnMsg.replace(/[S]|[F]/g, dialogTitle);
dialog.alert(showMessage);
@ -121,14 +124,36 @@
if (!info) return;
let params = $.extend({}, ${pageName}Query, info); // 객체를 합친다.
let create = (${pageName}CallPurpose == "create");
ajax.post({
url : info.taskSeCd + ${pageName}PrefixUrl + "/020/createRductLevyList.do"
url : !create ? ${pageName}Control.urls.update : ${pageName}Control.urls.create
, data : params
, success : resp => ${pageName}Control.onSave(resp)
});
}
/**************************************************************************
* 사용자 함수(function)
**************************************************************************/
/**************************************************************************
* 버튼 clickEvent
**************************************************************************/
// 저장 버튼 클릭 이벤트
fnSave${pageName} = () => {
// validate 확인
if (!customValidate($("#frmEdit--${pageName}").find("input, select, textarea"))) return;
dialog.alert({
content : "현재 " + ${pageName}Control.prefixName + " 정보를 저장하시겠습니까?"
, onOK : () => {
${pageName}Control.save(${pageName}Fields.get());
}
});
}
/**************************************************************************
* 초기 셋팅
**************************************************************************/
@ -155,8 +180,11 @@
});
}
// 검색조건 초기값 셋팅
setForm${pageName} = () => {
// 화면 초기 설정
initForm${pageName} = () => {
// 화면 초기화
$("#frmEdit--${pageName}")[0].reset();
// 달력 초기화
initDatepicker("frmEdit--${pageName}");
@ -164,20 +192,23 @@
$("#dudtYmd--${pageName}").datepicker("setDate", new Date());
}
/**************************************************************************
* 버튼 click Event
**************************************************************************/
// 저장 버튼 클릭 이벤트
fnSave${pageName} = () => {
// validate 확인
if (!customValidate($("#frmEdit--${pageName}").find("input, select, textarea"))) return;
dialog.alert({
content : "현재 " + ${pageName}Control.prefixName + " 정보를 저장하시겠습니까?"
, onOK : () => {
${pageName}Control.save(${pageName}Fields.get());
// 기본 데이터 설정
setFormData${pageName} = () => {
$("#tnocs--${pageName}").prop("readonly", true); // 총건수
$("#gramt--${pageName}").prop("readonly", true); // 총금액
if (${pageName}CallPurpose == "view") {
// input 요소들을 disabled
$("#frmEdit--${pageName}").find("input,textarea,select").prop("disabled", true);
// button 요소들을 disabled
$("#btnLevyYmd--${pageName}").prop("disabled", true); // 부과 일자 버튼
$("#btnDudtYmd--${pageName}").prop("disabled", true); // 납기 일자 버튼
$("#btnSave--${pageName}").prop("disabled", true); // 저장 버튼
} else if (${pageName}CallPurpose == "create") {
//
} else if (${pageName}CallPurpose == "update") {
//
}
});
}
/**************************************************************************
@ -187,11 +218,14 @@
// 이벤트 설정
setEvent${pageName}();
// 화면 초기 설정
setForm${pageName}();
// 초기 기본 설정
initForm${pageName}();
// Dataset 셋팅
// Dataset 설정
${pageName}Control.setData([${rductLevyYmdInfo}]);
// 기본 데이터 설정
setFormData${pageName}();
});
</script>

@ -13,7 +13,7 @@
<div>
<!-- 상단 버튼 -->
<div class="container-page-btn">
<button type="button" class="btn btn-outline-dark w-px-120" id="btnReset--${pageName}" title="초기화" onclick="fnReset${pageName}();">
<button type="button" class="btn btn-outline-dark w-px-120" id="btnReset--${pageName}" title="초기화" onclick="fnResetAndChangeBiz${pageName}();">
초기화
</button>
<span class="container-window-btn-right">
@ -143,16 +143,6 @@
<!-- 상세 조건 -->
<div id="searchDetail--${pageName}" class="container-search container-search-detail collapse">
<div class="row g-1">
<!-- 진술자명 -->
<div class="col-6">
<label class="form-label fw-bold form-search-title text-end">진술자명</label>
<input type="text" class="form-control w-px-150" id="schSttrNm--${pageName}" name="schSttrNm" />
</div>
<!-- 납부자명 -->
<div class="col-6">
<label class="form-label fw-bold form-search-title text-end">납부자명</label>
<input type="text" class="form-control w-px-150" id="schRtpyrNm--${pageName}" name="schRtpyrNm" />
</div>
<!-- 등록일자, 수정일자 -->
<div class="col-6">
<select class="form-select text-center" id="schDetailRegDtOpt--${pageName}" name="schDetailRegDtOpt">
@ -176,6 +166,9 @@
<option value="mdfr">수정자</option>
</select>
<input type="text" class="form-control" id="schDetailRgtrNm--${pageName}" name="schDetailRgtrNm" />
<button type="button" class="btn btn-sm btn-outline-dark" id="btnFindUser--${pageName}" title="사용자 검색" onclick="fnFindUser${pageName}();">
검색
</button>
</div>
</div>
</div>
@ -371,10 +364,8 @@
, keymapper : info => info ? info.LEVY_ID : ""
, dataGetter : obj => obj.levyList
, appendData : true
, untilPageNum : 0 // 현재 페이지 번호
, tableRenderComplete : false // dataTables 에 자료 추가 완료 여부
, urls : {
getInfo : wctx.url("/sprt/sprt02/010/main.do") // 개별총정보
}
, formats : {
LEVY_YMD : dateFormat
, FRST_DUDT_YMD : dateFormat
@ -403,7 +394,7 @@
**************************************************************************/
// Dataset 변경
${pageName}Control.onDatasetChange = obj => {
renderList${pageName}();
renderList${pageName}(obj.${infoPrefix}Total);
$("#paging--${pageName}").setPagingInfo({
list : ${pageName}Control.dataset
@ -438,17 +429,79 @@
});
};
// 부과 정보 dialog
${pageName}Control.getInfo = (params) => {
if (!params) return;
let dialogTitle = "";
if (params.callPurpose == "create") {
dialogTitle = ${pageName}Control.prefixName + " 등록";
} else if (params.callPurpose == "update") {
dialogTitle = ${pageName}Control.prefixName + " 수정";
} else {
dialogTitle = ${pageName}Control.prefixName + " 정보";
}
}
/**************************************************************************
* DataTables 이벤트
**************************************************************************/
// DataTables에 click, dbclick 이벤트
renderList${pageName} = (totalSize) => {
let ${infoPrefix}List = ${pageName}Control.dataset;
let empty = ${infoPrefix}List.empty;
let trs = empty ?
[document.getElementById("${infoPrefix}NotFound--${pageName}").innerHTML] : <%-- from template#${infoPrefix}NotFound --%>
${infoPrefix}List.inStrings(
document.getElementById("${infoPrefix}Row--${pageName}").innerHTML, <%-- from template#${infoPrefix}Row --%>
(str, dataItem) => str
.replace(/{onclick}/gi, "${pageName}Control.setCurrent('" + dataItem.getValue("LEVY_ID") + "');")
.replace(/{ondblclick}/gi, "getTotalInfo${pageName}('" + dataItem.getValue("CRDN_ID") + "');")
);
let noMore = (totalSize == ${infoPrefix}List.length);
let initScroll = (${pageName}Control.query.pageNum < 2) && (${pageName}Control.untilPageNum == 0);
$("#table-responsive--${pageName}")[0].changeContent(trs.join(), initScroll, noMore);
if (${pageName}Control.untilPageNum != 0) {
${pageName}Control.query.fetchSize = ${pageName}Control.defaultFetchSize;
${pageName}Control.query.pageNum = ${pageName}Control.untilPageNum;
${pageName}Control.untilPageNum = 0;
}
// checkbox 체크 해제
$("th input[type='checkbox']").prop("checked", false);
//보안모드
fn_securityModeToggle($("#securityMode--top").is(":checked"));
}
// DataTables에 스크롤이 맨 밑으로 이동했을 때 이벤트
scrollDataList${pageName} = () => {
${pageName}Control.tableRenderComplete = false; // dataTables 에 자료 추가 false
${pageName}Control.load(${pageName}Control.query.pageNum + 1);
}
/**************************************************************************
* 사용자 함수(function)
**************************************************************************/
// 개별총정보 dialog
${pageName}Control.getInfo = (crdnId) => {
getTotalInfo${pageName} = (crdnId) => {
if (typeof crdnId == "undefined" || crdnId == null || crdnId == "") return;
let params = {
callControlName : "${pageName}Control"
, sggCd : $("#sggCd--${pageName}").val()
, taskSeCd : $("input[name=taskSeCd]:checked").val()
, crdnId : crdnId
}
ajax.get({
url : ${pageName}Control.urls.getInfo
url : wctx.url(params.taskSeCd + "/sprt/sprt02/010/main.do")
, data : params
, success : resp => {
dialog.open({
@ -456,49 +509,74 @@
, title : "개별총정보"
, content : resp
, size : "xxl"
, init : () => { }
, onClose : () => { }
});
}
});
}
// 검색 자료 재조회
refreshList${pageName} = () => {
${pageName}Control.untilPageNum = ${pageName}Control.query.pageNum;
${pageName}Control.query.fetchSize = ${pageName}Control.defaultFetchSize * ${pageName}Control.query.pageNum;
${pageName}Control.load(1);
}
/**************************************************************************
*
* 버튼 clickEvent
**************************************************************************/
// DataTables에 click, dbclick 이벤트
renderList${pageName} = () => {
let ${infoPrefix}List = ${pageName}Control.dataset;
let empty = ${infoPrefix}List.empty;
// 업무 구분 변경
fnResetAndChangeBiz${pageName} = (taskSeCd) => {
// 업무 구분 코드
if (typeof taskSeCd == "undefined" || taskSeCd == null || taskSeCd == "") {
taskSeCd = $("#layout-navbar input[name='taskSeCd']:checked").val();
}
let trs = empty ?
[document.getElementById("${infoPrefix}NotFound--${pageName}").innerHTML] : <%-- from template#${infoPrefix}NotFound --%>
${infoPrefix}List.inStrings(
document.getElementById("${infoPrefix}Row--${pageName}").innerHTML, <%-- from template#${infoPrefix}Row --%>
(str, dataItem) => str
.replace(/{onclick}/gi, "${pageName}Control.setCurrent('" + dataItem.getValue("LEVY_ID") + "');")
.replace(/{ondblclick}/gi, "${pageName}Control.getInfo('" + dataItem.getValue("CRDN_ID") + "');")
);
// 초기 기본 설정
initForm${pageName}(taskSeCd);
$("#tbody--${pageName}").html(trs.join());
$("th input[type='checkbox']").prop("checked", false);
// URL 설정
setURL${pageName}(taskSeCd);
//보안모드
fn_securityModeToggle($("#securityMode--top").is(":checked"));
// 기본 데이터 설정
setFormData${pageName}();
}
/**************************************************************************
* 초기 셋팅
**************************************************************************/
// 초기화
initForm${pageName} = () => {
// 화면 초기화
$("#frmSearch--${pageName}")[0].reset();
// 검색 버튼 이벤트
fnSearchList${pageName} = () => {
// 검색조건
${pageName}Control.query = ${pageName}Fields.get();
${pageName}Control.query.fetchSize = ${pageName}Control.defaultFetchSize; // 한번에 조회되는 자료 건수 FETCH_XS = 30
${pageName}Control.query.delYn = "N"; // 삭제 여부
${pageName}Control.load(1);
}
// 엑셀 버튼 이벤트
fnExcel${pageName} = () => {
// dataset 초기화
${pageName}Control.dataset.clear();
}
// 사용자 조회 버튼 이벤트
fnFindUser${pageName} = () => {
}
/**************************************************************************
* 초기 설정
**************************************************************************/
// 이벤트
setEvent${pageName} = () => {
// 동적검색에서 엔터(Enter) 키를 누르면 검색한다.
$("#term--${pageName}").keypress(function(e) {
if (e.keyCode == 13) {
fnSearchList${pageName}();   
}    
});
// form-date 항목에서 키보드로 입력시 날짜 포맷팅 적용
$("#frmSearch--${pageName}").find(".form-date").each(function() {
$(this).on("input", function() {
@ -512,40 +590,20 @@
});
});
// DataTables width 변경 조정
// DataTables width 변경 조정 업무별 그리드가 존재 한다면.. crdn06010-main.jsp 참고
$("#DataTables_Table_0--${pageName}").find("th").resizable( {handles : "e"} );
// DataTables 스크롤 이벤트
$("#table-responsive--${pageName}").scroll(function() {
let el = $(this);
if (el.scrollTop() == 0) {
return;
// DataTables 스크롤 이벤트 생성
fnMakeScrollableTable($("#table-responsive--${pageName}")[0], scrollDataList${pageName});
}
if (!${pageName}Control.tableRenderComplete) {
return;
}
let itemsCnt = ${pageName}Control.dataset._items.length;
let totCnt = ${pageName}Control.dataset.getValue("TOT_CNT");
if (itemsCnt >= totCnt) {
return;
}
if ((el[0].scrollHeight - el.scrollTop() + VERTICAL_SCROLL_HEIGHT) <= el.outerHeight()) {
${pageName}Control.tableRenderComplete = false; // dataTables 에 자료 추가 완료
${pageName}Control.load(${pageName}Control.query.pageNum + 1);
}
});
}
// 화면 초기 설정
initForm${pageName} = (taskSeCd) => {
// 화면 초기화
$("#frmSearch--${pageName}")[0].reset();
// 화면 초기값 셋팅
setForm${pageName} = (taskSeCd) => {
// 업무 구분 코드
$("#frmSearch--${pageName} input[name='taskSeCd'][value='" + taskSeCd + "']").prop("checked", true);
// 최고 관리자 경우 업무구분을 선택할 수 있도록 하자.
$("#frmSearch--${pageName} input[name='taskSeCd']").each(function(i) {
$(this).prop("disabled", "true");
@ -563,67 +621,32 @@
// URL 설정
setURL${pageName} = (taskSeCd) => {
${pageName}Control.urls.load = wctx.url("/" + taskSeCd + ${pageName}PrefixUrl + "/050/list.do"); // 조회
${pageName}Control.urls.load = wctx.url(taskSeCd + ${pageName}PrefixUrl + "/050/list.do"); // 조회
}
/**************************************************************************
* 버튼 clickEvent
**************************************************************************/
// 업무 구분 변경
fnResetAndChangeBiz${pageName} = (taskSeCd) => {
// 초기화
initForm${pageName}();
// 업무 구분 코드
if (typeof taskSeCd == "undefined" || taskSeCd == null || taskSeCd == "") {
taskSeCd = $("#layout-navbar input[name='taskSeCd']:checked").val();
}
// 화면 초기값 설정
setForm${pageName}(taskSeCd);
// URL 설정
setURL${pageName}(taskSeCd);
}
// 초기화 버튼 이벤트
fnReset${pageName} = () => {
fnResetAndChangeBiz${pageName}();
}
// 검색 버튼 이벤트
fnSearchList${pageName} = () => {
// 검색조건
${pageName}Control.query = ${pageName}Fields.get();
${pageName}Control.query.fetchSize = FETCH_XS; // 한번에 조회되는 자료 건수 FETCH_XS = 30
${pageName}Control.query.delYn = "N"; // 삭제 여부
${pageName}Control.load();
}
// 엑셀 버튼 이벤트
fnExcel${pageName} = () => {
// 기본 데이터 설정
setFormData${pageName} = () => {
// ${pageName}Control 설정
${pageName}Control.defaultFetchSize = FETCH_XS; // 1 페이지당 조회되는 자료 건수 index.jsp에서 확인 FETCH_XS = 30
}
/**************************************************************************
* script 진입
**************************************************************************/
$(document).ready(function() {
// 기본 데이터 설정
$("#sggCd--${pageName}").val("${sggCd}"); // 시군구 코드
// 이벤트 설정
setEvent${pageName}();
// 보안모드
fn_securityModeToggle($("#securityMode--top").is(":checked"));
// 시군구 코드 설정
$("#sggCd--${pageName}").val("${sggCd}");
// 업무 구분 설정
let defaultBizValue = $("#layout-navbar input[name='taskSeCd']:checked").val();
$("#frmSearch--${pageName} input[name='taskSeCd'][value='" + defaultBizValue + "']").prop("checked", true);
// 보안모드
fn_securityModeToggle($("#securityMode--top").is(":checked"));
// 화면 초기 설정 및 업무 구분 변경
fnResetAndChangeBiz${pageName}(defaultBizValue);
});

Loading…
Cancel
Save