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

2. 기타 수정.
main
jjh 11 months ago
parent 02b2c17bef
commit 3f01f3dd8b

@ -57,7 +57,8 @@ public class Epst02Controller extends ApplicationController {
// View(jsp)에서 사용할 공통코드를 조회 // View(jsp)에서 사용할 공통코드를 조회
Map<String, List<CommonCode>> commonCodes = getCodesOf("FIM054"); Map<String, List<CommonCode>> commonCodes = getCodesOf("FIM054");
return mav.addObject("pageName", "epst02010") // View(jsp)에서 사용할 id 뒤에 붙일 suffix return mav
.addObject("pageName", "epst02010") // View(jsp)에서 사용할 id 뒤에 붙일 suffix
.addObject("infoPrefix", "epostGdcc") // prefix .addObject("infoPrefix", "epostGdcc") // prefix
.addObject("sggCd", managedUser.getOrgID()) // 시군구 코드(SGG_CD) .addObject("sggCd", managedUser.getOrgID()) // 시군구 코드(SGG_CD)
.addObject("FIM054List", commonCodes.get("FIM054")) // 업무 구분 코드(TASK_SE_CD) .addObject("FIM054List", commonCodes.get("FIM054")) // 업무 구분 코드(TASK_SE_CD)
@ -119,9 +120,9 @@ public class Epst02Controller extends ApplicationController {
*/ */
public ModelAndView createEpostGuidanceDocument(EpostGdcc epostGdcc) { public ModelAndView createEpostGuidanceDocument(EpostGdcc epostGdcc) {
boolean saved = false; boolean saved = false;
String retMessage = epostGdccService.createEpostGdcc(epostGdcc); String rtnMsg = epostGdccService.createEpostGdcc(epostGdcc);
if (retMessage.contains("[S]")) { if (rtnMsg.contains("[S]")) {
saved = true; saved = true;
} else { } else {
saved = false; saved = false;
@ -129,7 +130,7 @@ public class Epst02Controller extends ApplicationController {
return new ModelAndView("jsonView") return new ModelAndView("jsonView")
.addObject("saved", saved) .addObject("saved", saved)
.addObject("retMessage", retMessage); .addObject("rtnMsg", rtnMsg);
} }
/** . /** .
@ -141,9 +142,9 @@ public class Epst02Controller extends ApplicationController {
*/ */
public ModelAndView updateEpostGuidanceDocument(EpostGdcc epostGdcc) { public ModelAndView updateEpostGuidanceDocument(EpostGdcc epostGdcc) {
boolean saved = false; boolean saved = false;
String retMessage = epostGdccService.updateEpostGdcc(epostGdcc); String rtnMsg = epostGdccService.updateEpostGdcc(epostGdcc);
if (retMessage.contains("[S]")) { if (rtnMsg.contains("[S]")) {
saved = true; saved = true;
} else { } else {
saved = false; saved = false;
@ -151,7 +152,7 @@ public class Epst02Controller extends ApplicationController {
return new ModelAndView("jsonView") return new ModelAndView("jsonView")
.addObject("saved", saved) .addObject("saved", saved)
.addObject("retMessage", retMessage); .addObject("rtnMsg", rtnMsg);
} }
/** . /** .
@ -164,9 +165,9 @@ public class Epst02Controller extends ApplicationController {
*/ */
public ModelAndView removeEpostGuidanceDocument(EpostGdcc epostGdcc) { public ModelAndView removeEpostGuidanceDocument(EpostGdcc epostGdcc) {
boolean saved = false; boolean saved = false;
String retMessage = epostGdccService.removeEpostGdcc(epostGdcc); String rtnMsg = epostGdccService.removeEpostGdcc(epostGdcc);
if (retMessage.contains("[S]")) { if (rtnMsg.contains("[S]")) {
saved = true; saved = true;
} else { } else {
saved = false; saved = false;
@ -174,7 +175,7 @@ public class Epst02Controller extends ApplicationController {
return new ModelAndView("jsonView") return new ModelAndView("jsonView")
.addObject("saved", saved) .addObject("saved", saved)
.addObject("retMessage", retMessage); .addObject("rtnMsg", rtnMsg);
} }
/** . /** .

@ -120,10 +120,10 @@ public class Excl01Controller extends ApplicationController {
.addObject("saveCallbackFuncName", saveCallbackFuncName) // .addObject("saveCallbackFuncName", saveCallbackFuncName) //
.addObject("savedCallbackFuncName", savedCallbackFuncName) // .addObject("savedCallbackFuncName", savedCallbackFuncName) //
.addObject("pageName", "excl01020") // .addObject("pageName", "excl01020") //
.addObject("callPurpose", req.getCallPurpose()) // 호출 용도
.addObject("FIM021List", commonCodes.get("FIM021")) // 부과 제외 구분 코드(LEVY_EXCL_SE_CD) .addObject("FIM021List", commonCodes.get("FIM021")) // 부과 제외 구분 코드(LEVY_EXCL_SE_CD)
.addObject("FIM022List", commonCodes.get("FIM022")) // 부과 제외 사유 코드(LEVY_EXCL_RSN_CD) .addObject("FIM022List", commonCodes.get("FIM022")) // 부과 제외 사유 코드(LEVY_EXCL_RSN_CD)
.addObject("FIM054List", commonCodes.get("FIM054")) // 업무 구분 코드(TASK_SE_CD) .addObject("FIM054List", commonCodes.get("FIM054")) // 업무 구분 코드(TASK_SE_CD)
.addObject("callPurpose", req.getCallPurpose()) // 호출 용도
.addObject("levyExclInfo", json ? levyExclInfo : toJson(levyExclInfo)) // 부과제외 정보 .addObject("levyExclInfo", json ? levyExclInfo : toJson(levyExclInfo)) // 부과제외 정보
; ;
} }

@ -127,12 +127,12 @@ public class Excl02Controller extends ApplicationController {
return mav return mav
.addObject("pageName", "excl02020") .addObject("pageName", "excl02020")
.addObject("callPurpose", req.getCallPurpose()) // 호출 용도
.addObject("FIM029List", commonCodes.get("FIM029")) // 접수 구분 코드(RCPT_SE_CD) .addObject("FIM029List", commonCodes.get("FIM029")) // 접수 구분 코드(RCPT_SE_CD)
.addObject("FIM030List", commonCodes.get("FIM030")) // 통보 구분 코드(NTFCTN_SE_CD) .addObject("FIM030List", commonCodes.get("FIM030")) // 통보 구분 코드(NTFCTN_SE_CD)
.addObject("FIM032List", commonCodes.get("FIM032")) // 소유주 관계 구분 코드(OWNR_REL_CD) .addObject("FIM032List", commonCodes.get("FIM032")) // 소유주 관계 구분 코드(OWNR_REL_CD)
.addObject("FIM033List", commonCodes.get("FIM033")) // 의견 제출 구분 코드(OPNN_SBMSN_SE_CD) .addObject("FIM033List", commonCodes.get("FIM033")) // 의견 제출 구분 코드(OPNN_SBMSN_SE_CD)
.addObject("FIM054List", commonCodes.get("FIM054")) // 업무 구분 코드(TASK_SE_CD) .addObject("FIM054List", commonCodes.get("FIM054")) // 업무 구분 코드(TASK_SE_CD)
.addObject("callPurpose", req.getCallPurpose()) // 호출 용도
.addObject("opnnSbmsnInfo", json ? opnnSbmsnInfo : toJson(opnnSbmsnInfo)) // 의견제출 정보 .addObject("opnnSbmsnInfo", json ? opnnSbmsnInfo : toJson(opnnSbmsnInfo)) // 의견제출 정보
; ;
} }

@ -61,12 +61,12 @@ public class Sprt04ServiceBean extends AbstractServiceBean implements Sprt04Serv
@Override @Override
public String removeCvlcptDscsnList(CvlcptDscsnQuery req) { public String removeCvlcptDscsnList(CvlcptDscsnQuery req) {
// 변수 선언 // 변수 선언
String retMessage = ""; // 처리 결과 메시지 String rtnMsg = ""; // 처리 결과 메시지
// 민원 상담 IDs 건수를 확인하여 1건이하면.. 종료 // 민원 상담 IDs 건수를 확인하여 1건이하면.. 종료
if (req.getCvlcptDscsnIDs().length < 1) { if (req.getCvlcptDscsnIDs().length < 1) {
retMessage = "작업 중 선택 자료가 존재하지 않습니다."; rtnMsg = "작업 중 선택 자료가 존재하지 않습니다.";
return retMessage; return rtnMsg;
} }
// 민원 상담 IDs 만큼 반복.. // 민원 상담 IDs 만큼 반복..
@ -77,14 +77,14 @@ public class Sprt04ServiceBean extends AbstractServiceBean implements Sprt04Serv
cvlcptDscsn.setDelRsn(req.getDelRsn()); // 삭제 사유 cvlcptDscsn.setDelRsn(req.getDelRsn()); // 삭제 사유
// 부과제외 삭제 호출 // 부과제외 삭제 호출
retMessage = sprt04Bean.removeCvlcptDscsn(cvlcptDscsn); rtnMsg = sprt04Bean.removeCvlcptDscsn(cvlcptDscsn);
// 오류가 발생하였으면 종료.. // 오류가 발생하였으면 종료..
if (retMessage.contains("[F]")) { if (rtnMsg.contains("[F]")) {
return retMessage; return rtnMsg;
} }
} }
return retMessage; return rtnMsg;
} }
@Override @Override

@ -91,7 +91,7 @@ public class Sprt04Controller extends ApplicationController {
* }</pre> * }</pre>
*/ */
public ModelAndView getCvlcptDscsnInfo(CvlcptDscsnQuery req) { public ModelAndView getCvlcptDscsnInfo(CvlcptDscsnQuery req) {
DataObject cvlcptDscsn = sprt04Service.getCvlcptDscsnInfo(req); DataObject cvlcptDscsnInfo = sprt04Service.getCvlcptDscsnInfo(req);
boolean json = jsonResponse(); boolean json = jsonResponse();
@ -103,7 +103,8 @@ public class Sprt04Controller extends ApplicationController {
return mav return mav
.addObject("pageName", "sprt04020") // .addObject("pageName", "sprt04020") //
.addObject("FIM065List", commonCodes.get("FIM065")) // 민원 접수 구분 코드(CVLCPT_RCPT_SE_CD) .addObject("FIM065List", commonCodes.get("FIM065")) // 민원 접수 구분 코드(CVLCPT_RCPT_SE_CD)
.addObject("cvlcptDscsn", json ? cvlcptDscsn : toJson(cvlcptDscsn)) .addObject("callPurpose", req.getCallPurpose()) // 호출 용도
.addObject("cvlcptDscsnInfo", json ? cvlcptDscsnInfo : toJson(cvlcptDscsnInfo)) // 민원 상담 정보
; ;
} }
@ -116,9 +117,9 @@ public class Sprt04Controller extends ApplicationController {
*/ */
public ModelAndView createCvlcptDscsn(CvlcptDscsn cvlcptDscsn) { public ModelAndView createCvlcptDscsn(CvlcptDscsn cvlcptDscsn) {
boolean saved = false; boolean saved = false;
String retMessage = sprt04Service.createCvlcptDscsn(cvlcptDscsn); String rtnMsg = sprt04Service.createCvlcptDscsn(cvlcptDscsn);
if (retMessage.contains("[S]")) { if (rtnMsg.contains("[S]")) {
saved = true; saved = true;
} else { } else {
saved = false; saved = false;
@ -126,7 +127,7 @@ public class Sprt04Controller extends ApplicationController {
return new ModelAndView("jsonView") return new ModelAndView("jsonView")
.addObject("saved", saved) .addObject("saved", saved)
.addObject("retMessage", retMessage); .addObject("rtnMsg", rtnMsg);
} }
/** . /** .
@ -138,9 +139,9 @@ public class Sprt04Controller extends ApplicationController {
*/ */
public ModelAndView updateCvlcptDscsn(CvlcptDscsn cvlcptDscsn) { public ModelAndView updateCvlcptDscsn(CvlcptDscsn cvlcptDscsn) {
boolean saved = false; boolean saved = false;
String retMessage = sprt04Service.updateCvlcptDscsn(cvlcptDscsn); String rtnMsg = sprt04Service.updateCvlcptDscsn(cvlcptDscsn);
if (retMessage.contains("[S]")) { if (rtnMsg.contains("[S]")) {
saved = true; saved = true;
} else { } else {
saved = false; saved = false;
@ -148,7 +149,7 @@ public class Sprt04Controller extends ApplicationController {
return new ModelAndView("jsonView") return new ModelAndView("jsonView")
.addObject("saved", saved) .addObject("saved", saved)
.addObject("retMessage", retMessage); .addObject("rtnMsg", rtnMsg);
} }
/** . /** .
@ -161,9 +162,9 @@ public class Sprt04Controller extends ApplicationController {
*/ */
public ModelAndView removeCvlcptDscsnList(CvlcptDscsnQuery req) { public ModelAndView removeCvlcptDscsnList(CvlcptDscsnQuery req) {
boolean saved = false; boolean saved = false;
String retMessage = sprt04Service.removeCvlcptDscsnList(req); String rtnMsg = sprt04Service.removeCvlcptDscsnList(req);
if (retMessage.contains("[S]")) { if (rtnMsg.contains("[S]")) {
saved = true; saved = true;
} else { } else {
saved = false; saved = false;
@ -171,7 +172,7 @@ public class Sprt04Controller extends ApplicationController {
return new ModelAndView("jsonView") return new ModelAndView("jsonView")
.addObject("saved", saved) .addObject("saved", saved)
.addObject("retMessage", retMessage); .addObject("rtnMsg", rtnMsg);
} }
/** . /** .
@ -184,9 +185,9 @@ public class Sprt04Controller extends ApplicationController {
*/ */
public ModelAndView removeCvlcptDscsn(CvlcptDscsn cvlcptDscsn) { public ModelAndView removeCvlcptDscsn(CvlcptDscsn cvlcptDscsn) {
boolean saved = false; boolean saved = false;
String retMessage = sprt04Service.removeCvlcptDscsn(cvlcptDscsn); String rtnMsg = sprt04Service.removeCvlcptDscsn(cvlcptDscsn);
if (retMessage.contains("[S]")) { if (rtnMsg.contains("[S]")) {
saved = true; saved = true;
} else { } else {
saved = false; saved = false;
@ -194,7 +195,7 @@ public class Sprt04Controller extends ApplicationController {
return new ModelAndView("jsonView") return new ModelAndView("jsonView")
.addObject("saved", saved) .addObject("saved", saved)
.addObject("retMessage", retMessage); .addObject("rtnMsg", rtnMsg);
} }
} }

@ -703,16 +703,16 @@
// 이벤트 설정 // 이벤트 설정
setEvent${pageName}(); setEvent${pageName}();
// 보안모드 // 시군구 코드 설정
fn_securityModeToggle($("#securityMode--top").is(":checked"));
// 시군구 코드
$("#sggCd--${pageName}").val("${sggCd}"); $("#sggCd--${pageName}").val("${sggCd}");
// 업무 구분 설정 // 업무 구분 설정
let defaultBizValue = $("#layout-navbar input[name='taskSeCd']:checked").val(); let defaultBizValue = $("#layout-navbar input[name='taskSeCd']:checked").val();
$("#frmSearch--${pageName} input[name='taskSeCd'][value='" + defaultBizValue + "']").prop("checked", true); $("#frmSearch--${pageName} input[name='taskSeCd'][value='" + defaultBizValue + "']").prop("checked", true);
// 보안모드
fn_securityModeToggle($("#securityMode--top").is(":checked"));
// 화면 초기 설정 및 업무 구분 변경 // 화면 초기 설정 및 업무 구분 변경
fnResetAndChangeBiz${pageName}(defaultBizValue); fnResetAndChangeBiz${pageName}(defaultBizValue);
}); });

@ -89,7 +89,7 @@
<option value="mdfr">수정자</option> <option value="mdfr">수정자</option>
</select> </select>
<input type="text" class="form-control w-px-160" id="schDetailRgtrNm--${pageName}" name="schDetailRgtrNm" autocomplete="off" /> <input type="text" class="form-control w-px-160" id="schDetailRgtrNm--${pageName}" name="schDetailRgtrNm" autocomplete="off" />
<button type="button" class="btn btn-sm btn-outline-dark" id="btnUser--${pageName}" title="사용자 검색" onclick="fnUser${pageName}();"> <button type="button" class="btn btn-sm btn-outline-dark" id="btnFindUser--${pageName}" title="사용자 검색" onclick="fnFindUser${pageName}();">
검색 검색
</button> </button>
</div> </div>
@ -203,7 +203,7 @@
**************************************************************************/ **************************************************************************/
var ${pageName}Control = new DatasetControl({ var ${pageName}Control = new DatasetControl({
prefix : "epostGdcc" prefix : "epostGdcc"
, prefixName : "안내문 관리" , prefixName : "전자우편 안내문"
, infoSize : "md" , infoSize : "md"
, keymapper : info => info ? info.GDCC_ID : "" , keymapper : info => info ? info.GDCC_ID : ""
, dataGetter : obj => obj.epostGdccList , dataGetter : obj => obj.epostGdccList
@ -260,23 +260,17 @@
}; };
// 전자우편 안내문 dialog // 전자우편 안내문 dialog
${pageName}Control.getInfo = (callPurpose, gdccId) => { ${pageName}Control.getInfo = (params) => {
// if (!params) return;
if (typeof callPurpose == "undefined" || callPurpose == null || callPurpose == "") {
callPurpose = "view";
}
let params = { let dialogTitle = "";
callPurpose : callPurpose
, sggCd : $("#sggCd--${pageName}").val() // 시군구 코드
, taskSeCd : $("input[name=taskSeCd]:checked").val() // 업무 구분 코드
};
if (callPurpose == "view" || callPurpose == "update") { if (params.callPurpose == "create") {
// ID가 없다면.. 종료 dialogTitle = ${pageName}Control.prefixName + " 등록";
if (typeof gdccId == "undefined" || gdccId == null || gdccId == "") return; } else if (params.callPurpose == "update") {
dialogTitle = ${pageName}Control.prefixName + " 수정";
params.gdccId = gdccId; // 안내문 ID } else {
dialogTitle = ${pageName}Control.prefixName + " 정보";
} }
ajax.get({ ajax.get({
@ -285,11 +279,10 @@
, success : resp => { , success : resp => {
dialog.open({ dialog.open({
id : "epostGdccDialog" id : "epostGdccDialog"
, title : "전자우편 안내문 정보" , title : dialogTitle
, content : resp , content : resp
, size : ${pageName}Control.infoSize , size : ${pageName}Control.infoSize
, init : () => { } , onClose : () => { refreshList${pageName}(); } // 자료 재조회
, onClose : () => { ${pageName}Control.load(${pageName}Control.query.pageNum); } // callback
}); });
} }
}); });
@ -298,12 +291,12 @@
// 삭제 callback // 삭제 callback
${pageName}Control.onRemove = (selected, resp) => { ${pageName}Control.onRemove = (selected, resp) => {
let btnTitle = $("#btnRemove--${pageName}").attr("title"); let btnTitle = $("#btnRemove--${pageName}").attr("title");
let showMessage = resp.retMessage.replace(/[S]|[F]/g, btnTitle); let showMessage = resp.rtnMsg.replace(/[S]|[F]/g, btnTitle);
dialog.alert(showMessage); dialog.alert(showMessage);
if (resp.saved) { if (resp.saved) {
${pageName}Control._load(); refreshList${pageName}(); // 자료 재조회
} }
} }
@ -339,7 +332,7 @@
document.getElementById("${infoPrefix}Row--${pageName}").innerHTML, <%-- from template#${infoPrefix}Row --%> document.getElementById("${infoPrefix}Row--${pageName}").innerHTML, <%-- from template#${infoPrefix}Row --%>
(str, dataItem) => str (str, dataItem) => str
.replace(/{onclick}/gi, "${pageName}Control.setCurrent('" + dataItem.getValue("GDCC_ID") + "');") .replace(/{onclick}/gi, "${pageName}Control.setCurrent('" + dataItem.getValue("GDCC_ID") + "');")
.replace(/{ondblclick}/gi, "${pageName}Control.getInfo('update', '" + dataItem.getValue("GDCC_ID") + "');") .replace(/{ondblclick}/gi, "fnUpdate${pageName}('" + dataItem.getValue("GDCC_ID") + "');")
); );
let noMore = (totalSize == ${infoPrefix}List.length); let noMore = (totalSize == ${infoPrefix}List.length);
@ -370,6 +363,13 @@
/************************************************************************** /**************************************************************************
* 사용자 함수(function) * 사용자 함수(function)
**************************************************************************/ **************************************************************************/
// 검색 자료 재조회
refreshList${pageName} = () => {
${pageName}Control.untilPageNum = ${pageName}Control.query.pageNum;
${pageName}Control.query.fetchSize = ${pageName}Control.defaultFetchSize * ${pageName}Control.query.pageNum;
${pageName}Control.load(1);
}
/************************************************************************** /**************************************************************************
@ -415,17 +415,31 @@
// 전자우편 안내문 등록 버튼 이벤트 // 전자우편 안내문 등록 버튼 이벤트
fnCreate${pageName} = () => { fnCreate${pageName} = () => {
${pageName}Control.getInfo("create"); let params = {
callPurpose : "create"
, sggCd : ${pageName}Control.dataset.getValue("SGG_CD") // 시군구 코드
, taskSeCd : ${pageName}Control.dataset.getValue("TASK_SE_CD") // 업무 구분 코드
};
${pageName}Control.getInfo(params);
} }
// 전자우편 안내문 수정 버튼 이벤트 // 전자우편 안내문 수정 버튼 이벤트
fnUpdate${pageName} = () => { fnUpdate${pageName} = (gdccId) => {
let gdccId = ${pageName}Control.dataset.getValue("GDCC_ID"); // 안내문 ID 가 없다면.. 입력
if (typeof gdccId == "undefined" || gdccId == null || gdccId == "") {
gdccId = ${pageName}Control.dataset.getValue("GDCC_ID");
}
// 전자우편 안내문 ID 가 없다면.. return let params = {
if (typeof gdccId == "undefined" || gdccId == null || gdccId == "") return; callPurpose : "update"
, sggCd : ${pageName}Control.dataset.getValue("SGG_CD") // 시군구 코드
, taskSeCd : ${pageName}Control.dataset.getValue("TASK_SE_CD") // 업무 구분 코드
, gdccId : gdccId // 안내문 ID
};
${pageName}Control.getInfo("update", gdccId); ${pageName}Control.getInfo(params);
} }
// 전자우편 안내문 삭제 버튼 이벤트 // 전자우편 안내문 삭제 버튼 이벤트
@ -509,16 +523,16 @@
// 이벤트 설정 // 이벤트 설정
setEvent${pageName}(); setEvent${pageName}();
// 보안모드 // 시군구 코드 설정
fn_securityModeToggle($("#securityMode--top").is(":checked"));
// 시군구 코드
$("#sggCd--${pageName}").val("${sggCd}"); $("#sggCd--${pageName}").val("${sggCd}");
// 업무 구분 설정 // 업무 구분 설정
let defaultBizValue = $("#layout-navbar input[name='taskSeCd']:checked").val(); let defaultBizValue = $("#layout-navbar input[name='taskSeCd']:checked").val();
$("#frmSearch--${pageName} input[name='taskSeCd'][value='" + defaultBizValue + "']").prop("checked", true); $("#frmSearch--${pageName} input[name='taskSeCd'][value='" + defaultBizValue + "']").prop("checked", true);
// 보안모드
fn_securityModeToggle($("#securityMode--top").is(":checked"));
// 화면 초기 설정 및 업무 구분 변경 // 화면 초기 설정 및 업무 구분 변경
fnResetAndChangeBiz${pageName}(defaultBizValue); fnResetAndChangeBiz${pageName}(defaultBizValue);
}); });

@ -63,10 +63,10 @@
**************************************************************************/ **************************************************************************/
// URL // URL
var ${pageName}PrefixUrl = "/epst/epst02"; var ${pageName}PrefixUrl = "/epst/epst02";
// FormFields
var ${pageName}Fields = new FimsFormFields("#frmEdit--${pageName}");
// infoDialog 호출 용도(view 조회(편집불가), create 등록, update 수정) // infoDialog 호출 용도(view 조회(편집불가), create 등록, update 수정)
var ${pageName}CallPurpose = "${callPurpose}"; var ${pageName}CallPurpose = "${callPurpose}";
// FormFields
var ${pageName}Fields = new FimsFormFields("#frmEdit--${pageName}");
/************************************************************************** /**************************************************************************
* DatasetControl * DatasetControl
@ -95,7 +95,7 @@
// 저장 callback // 저장 callback
${pageName}Control.onSave = (resp) => { ${pageName}Control.onSave = (resp) => {
let dialogTitle = $("#" + ${pageName}Control.prefix + "Dialog").find("h5.modal-title").html(); 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); dialog.alert(showMessage);
@ -108,7 +108,7 @@
${pageName}Control.save = (info) => { ${pageName}Control.save = (info) => {
if (!info) return; if (!info) return;
let create = (${pageName}CallPurpose == "create"); // if 문 let create = (${pageName}CallPurpose == "create");
ajax.post({ ajax.post({
url : !create ? ${pageName}Control.urls.update : ${pageName}Control.urls.create url : !create ? ${pageName}Control.urls.update : ${pageName}Control.urls.create
@ -118,35 +118,12 @@
} }
/************************************************************************** /**************************************************************************
* 초기 셋팅 * 사용자 함수(function)
**************************************************************************/ **************************************************************************/
// 이벤트 설정
setEvent${pageName} = () => {
}
// 초기 기본 설정
initForm${pageName} = () => {
if (${pageName}CallPurpose == "view") {
$("#sndngSeCd--${pageName}").attr("disabled", true);
$("#ttlNm--${pageName}").attr("disabled", true);
$("#wordsCn--${pageName}").attr("disabled", true);
$("#btnSave--${pageName}").attr("disabled", true);
} else {
$("#sndngSeCd--${pageName}").attr("disabled", false);
$("#ttlNm--${pageName}").attr("disabled", false);
$("#wordsCn--${pageName}").attr("disabled", false);
$("#btnSave--${pageName}").attr("disabled", false);
}
}
// 기본 데이터 설정
setForm${pageName} = () => {
}
/************************************************************************** /**************************************************************************
* function * 버튼 clickEvent
**************************************************************************/ **************************************************************************/
// 저장 // 저장
fnSave${pageName} = () => { fnSave${pageName} = () => {
@ -161,6 +138,48 @@
}); });
} }
/**************************************************************************
* 초기 셋팅
**************************************************************************/
// 이벤트 설정
setEvent${pageName} = () => {
// form-date 항목에서 키보드로 입력시 날짜 포맷팅 적용
$("#frmEdit--${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);
}
});
});
}
// 초기 기본 설정
initForm${pageName} = () => {
// 화면 초기화
$("#frmEdit--${pageName}")[0].reset();
// 달력 초기화
initDatepicker("frmEdit--${pageName}");
}
// 기본 데이터 설정
setFormData${pageName} = () => {
if (${pageName}CallPurpose == "view") {
// input 요소들을 disabled
$("#frmEdit--${pageName}").find("input,textarea,select").prop("disabled", true);
// button 요소들을 disabled
$("#btnSave--${pageName}").prop("disabled", true); // 저장 버튼
} else if (${pageName}CallPurpose == "create") {
//
} else if (${pageName}CallPurpose == "update") {
//
}
}
/************************************************************************** /**************************************************************************
* script 진입 * script 진입
**************************************************************************/ **************************************************************************/
@ -168,14 +187,14 @@
// 이벤트 설정 // 이벤트 설정
setEvent${pageName}(); setEvent${pageName}();
// 화면 초기화 // 초기 기본 설정
initForm${pageName}(); initForm${pageName}();
// Dataset 셋팅 - 단건일 경우 setData // Dataset 설정
${pageName}Control.setData([${epostGdccInfo}]); ${pageName}Control.setData([${epostGdccInfo}]);
// 화면 데이터 셋팅 // 기본 데이터 설정
setForm${pageName}(); setFormData${pageName}();
}); });
</script> </script>

@ -389,9 +389,8 @@
dialog.alert(showMessage); // 메시지 출력 dialog.alert(showMessage); // 메시지 출력
// 자료 재조회
if (resp.saved) { if (resp.saved) {
refreshList${pageName}(); refreshList${pageName}(); // 자료 재조회
} }
} }
@ -478,7 +477,7 @@
}); });
} }
// 삭제 // 삭제 callback
callbackRemove${pageName} = (obj) => { callbackRemove${pageName} = (obj) => {
let selected = ${pageName}Control.dataset.getKeys("selected"); let selected = ${pageName}Control.dataset.getKeys("selected");
@ -571,7 +570,7 @@
// 삭제 사유 입력 // 삭제 사유 입력
let callbackFuncName = "callbackRemove${pageName}"; let callbackFuncName = "callbackRemove${pageName}";
let popupWidth = 640; let popupWidth = 640;
let popupHeight = 360; let popupHeight = 240;
let popupX = (window.screen.width / 2) - (popupWidth / 2); let popupX = (window.screen.width / 2) - (popupWidth / 2);
let popupY= (window.screen.height / 2) - (popupHeight / 2); let popupY= (window.screen.height / 2) - (popupHeight / 2);
@ -660,16 +659,16 @@
// 이벤트 설정 // 이벤트 설정
setEvent${pageName}(); setEvent${pageName}();
// 보안모드 // 시군구 코드 설정
fn_securityModeToggle($("#securityMode--top").is(":checked"));
// 시군구 코드
$("#sggCd--${pageName}").val("${sggCd}"); $("#sggCd--${pageName}").val("${sggCd}");
// 업무 구분 설정 // 업무 구분 설정
let defaultBizValue = $("#layout-navbar input[name='taskSeCd']:checked").val(); let defaultBizValue = $("#layout-navbar input[name='taskSeCd']:checked").val();
$("#frmSearch--${pageName} input[name='taskSeCd'][value='" + defaultBizValue + "']").prop("checked", true); $("#frmSearch--${pageName} input[name='taskSeCd'][value='" + defaultBizValue + "']").prop("checked", true);
// 보안모드
fn_securityModeToggle($("#securityMode--top").is(":checked"));
// 화면 초기 설정 및 업무 구분 변경 // 화면 초기 설정 및 업무 구분 변경
fnResetAndChangeBiz${pageName}(defaultBizValue); fnResetAndChangeBiz${pageName}(defaultBizValue);
}); });

@ -21,12 +21,12 @@
<!-- 차량번호 --> <!-- 차량번호 -->
<div class="col-md-12"> <div class="col-md-12">
<label for="vhrno--${pageName}" class="w-px-120 bg-lighter pe-2 col-form-label text-sm-end">차량번호</label> <label for="vhrno--${pageName}" class="w-px-120 bg-lighter pe-2 col-form-label text-sm-end">차량번호</label>
<input type="text" class="form-control w-px-120" id="vhrno--${pageName}" name="vhrno" data-map="VHRNO" autocomplete="off" readonly /> <input type="text" class="form-control w-px-120" id="vhrno--${pageName}" name="vhrno" data-map="VHRNO" autocomplete="off" />
</div> </div>
<!-- 부과 제외 구분 --> <!-- 부과 제외 구분 -->
<div class="col-md-12"> <div class="col-md-12">
<label for="levyExclSeNm--${pageName}" class="w-px-120 bg-lighter pe-2 col-form-label text-sm-end required">부과제외구분</label> <label for="levyExclSeNm--${pageName}" class="w-px-120 bg-lighter pe-2 col-form-label text-sm-end required">부과제외구분</label>
<input type="text" class="form-control w-px-120" id="levyExclSeNm--${pageName}" autocomplete="off" readonly /> <input type="text" class="form-control w-px-120" id="levyExclSeNm--${pageName}" autocomplete="off" />
<input type="hidden" id="levyExclSeCd--${pageName}" name="levyExclSeCd" data-map="LEVY_EXCL_SE_CD" /> <input type="hidden" id="levyExclSeCd--${pageName}" name="levyExclSeCd" data-map="LEVY_EXCL_SE_CD" />
</div> </div>
<!-- 부과 제외 일자 --> <!-- 부과 제외 일자 -->
@ -34,7 +34,7 @@
<label for="levyExclYmd--${pageName}" class="w-px-120 bg-lighter pe-2 col-form-label text-sm-end required">부과제외일자</label> <label for="levyExclYmd--${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="levyExclYmd--${pageName}" name="levyExclYmd" data-map="LEVY_EXCL_YMD" <input type="text" class="form-control form-date" id="levyExclYmd--${pageName}" name="levyExclYmd" data-map="LEVY_EXCL_YMD"
data-fmt-type="day" autocomplete="off" title="날짜 선택" maxlength="10" required /> 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="btnLevyExclYmd--${pageName}"></button>
</div> </div>
<!-- 부과 제외 사유 --> <!-- 부과 제외 사유 -->
<div class="col-md-12"> <div class="col-md-12">
@ -77,7 +77,7 @@
**************************************************************************/ **************************************************************************/
// URL // URL
var ${pageName}PrefixUrl = "/excl/excl01"; var ${pageName}PrefixUrl = "/excl/excl01";
// 호출 용도 // infoDialog 호출 용도(view 조회(편집불가), create 등록, update 수정)
var ${pageName}CallPurpose = "${callPurpose}"; var ${pageName}CallPurpose = "${callPurpose}";
// FormFields // FormFields
var ${pageName}Fields = new FimsFormFields("#frmEdit--${pageName}"); var ${pageName}Fields = new FimsFormFields("#frmEdit--${pageName}");
@ -110,7 +110,7 @@
${pageName}Control.urls.update = wctx.url(item.data.TASK_SE_CD + ${pageName}PrefixUrl + "/020/update.do"); ${pageName}Control.urls.update = wctx.url(item.data.TASK_SE_CD + ${pageName}PrefixUrl + "/020/update.do");
// 부과제외구분에 따른 부과제외사유 셋팅 // 부과제외구분에 따른 부과제외사유 셋팅
setFim021(item.data.LEVY_EXCL_SE_CD, item.data.LEVY_EXCL_RSN_CD); setFim021${pageName}(item.data.LEVY_EXCL_SE_CD, item.data.LEVY_EXCL_RSN_CD);
} }
/************************************************************************** /**************************************************************************
@ -154,7 +154,7 @@
* 사용자 함수 * 사용자 함수
**************************************************************************/ **************************************************************************/
// 부과제외 구분에 따른 부과제외 사유 코드 설정 // 부과제외 구분에 따른 부과제외 사유 코드 설정
setFim021 = (seCode, rsnCode) => { setFim021${pageName} = (seCode, rsnCode) => {
let cmnCode = FIM021[seCode]; let cmnCode = FIM021[seCode];
$("#levyExclSeCd--${pageName}").val(cmnCode.code); $("#levyExclSeCd--${pageName}").val(cmnCode.code);
@ -205,6 +205,9 @@
// 화면 초기화 // 화면 초기화
initForm${pageName} = () => { initForm${pageName} = () => {
// 화면 초기화
$("#frmEdit--${pageName}")[0].reset();
// 달력 초기화 // 달력 초기화
initDatepicker("frmEdit--${pageName}"); initDatepicker("frmEdit--${pageName}");
$("#levyExclYmd--${pageName}").datepicker("setDate", new Date()); $("#levyExclYmd--${pageName}").datepicker("setDate", new Date());
@ -219,9 +222,19 @@
// 기본 데이터 설정 // 기본 데이터 설정
setFormData${pageName} = () => { setFormData${pageName} = () => {
// create 로 호출됐을 경우.. $("#vhrno--${pageName}").prop("readonly", true); // 차량번호
if (${pageName}CallPurpose == "create") { $("#levyExclSeNm--${pageName}").prop("readonly", true); // 부과 제외 구분
$("#levyExclYmd--${pageName}").datepicker("setDate", new Date());
if (${pageName}CallPurpose == "view") {
// input 요소들을 disabled
$("#frmEdit--${pageName}").find("input,textarea,select").prop("disabled", true);
// button 요소들을 disabled
$("#btnLevyExclYmd--${pageName}").prop("disabled", true); // 부과제외 일자 달력 버튼
$("#btnSave--${pageName}").prop("disabled", true); // 저장 버튼
} else if (${pageName}CallPurpose == "create") {
$("#levyExclYmd--${pageName}").datepicker("setDate", new Date()); // 부과제외 일자
} else if (${pageName}CallPurpose == "update") {
//
} }
} }

@ -397,9 +397,8 @@
dialog.alert(showMessage); dialog.alert(showMessage);
// 자료 재조회
if (resp.saved) { if (resp.saved) {
refreshList${pageName}(); refreshList${pageName}(); // 자료 재조회
} }
} }
@ -503,7 +502,7 @@
}); });
} }
// 삭제 // 삭제 callback
callbackRemove${pageName} = (obj) => { callbackRemove${pageName} = (obj) => {
let selected = ${pageName}Control.dataset.getKeys("selected"); let selected = ${pageName}Control.dataset.getKeys("selected");
@ -611,7 +610,7 @@
// 삭제 사유 입력 // 삭제 사유 입력
let callbackFuncName = "callbackRemove${pageName}"; let callbackFuncName = "callbackRemove${pageName}";
let popupWidth = 640; let popupWidth = 640;
let popupHeight = 360; let popupHeight = 240;
let popupX = (window.screen.width / 2) - (popupWidth / 2); let popupX = (window.screen.width / 2) - (popupWidth / 2);
let popupY= (window.screen.height / 2) - (popupHeight / 2); let popupY= (window.screen.height / 2) - (popupHeight / 2);
@ -679,6 +678,7 @@
// dataset 초기화 // dataset 초기화
${pageName}Control.dataset.clear(); ${pageName}Control.dataset.clear();
} }
// URL 설정 // URL 설정
setURL${pageName} = (taskSeCd) => { setURL${pageName} = (taskSeCd) => {
${pageName}Control.urls.load = wctx.url( taskSeCd + ${pageName}PrefixUrl + "/010/list.do"); // 조회 ${pageName}Control.urls.load = wctx.url( taskSeCd + ${pageName}PrefixUrl + "/010/list.do"); // 조회
@ -700,16 +700,16 @@
// 이벤트 설정 // 이벤트 설정
setEvent${pageName}(); setEvent${pageName}();
// 보안모드 // 시군구 코드 설정
fn_securityModeToggle($("#securityMode--top").is(":checked"));
// 시군구 코드
$("#sggCd--${pageName}").val("${sggCd}"); $("#sggCd--${pageName}").val("${sggCd}");
// 업무 구분 설정 // 업무 구분 설정
let defaultBizValue = $("#layout-navbar input[name='taskSeCd']:checked").val(); let defaultBizValue = $("#layout-navbar input[name='taskSeCd']:checked").val();
$("#frmSearch--${pageName} input[name='taskSeCd'][value='" + defaultBizValue + "']").prop("checked", true); $("#frmSearch--${pageName} input[name='taskSeCd'][value='" + defaultBizValue + "']").prop("checked", true);
// 보안모드
fn_securityModeToggle($("#securityMode--top").is(":checked"));
// 화면 초기 설정 및 업무 구분 변경 // 화면 초기 설정 및 업무 구분 변경
fnResetAndChangeBiz${pageName}(defaultBizValue); fnResetAndChangeBiz${pageName}(defaultBizValue);
}); });

@ -21,33 +21,33 @@
<!-- 차량번호 --> <!-- 차량번호 -->
<div class="col-md-4"> <div class="col-md-4">
<label for="vhrno--${pageName}" class="w-px-120 bg-lighter pe-2 col-form-label text-sm-end">차량번호</label> <label for="vhrno--${pageName}" class="w-px-120 bg-lighter pe-2 col-form-label text-sm-end">차량번호</label>
<input type="text" class="form-control w-35" id="vhrno--${pageName}" name="vhrno" data-map="VHRNO" readonly /> <input type="text" class="form-control w-35" id="vhrno--${pageName}" name="vhrno" data-map="VHRNO" />
</div> </div>
<!-- 단속일시 --> <!-- 단속일시 -->
<div class="col-md-4"> <div class="col-md-4">
<label for="crdnYmd--${pageName}" class="w-px-120 bg-lighter pe-2 col-form-label text-sm-end">단속일시</label> <label for="crdnYmd--${pageName}" class="w-px-120 bg-lighter pe-2 col-form-label text-sm-end">단속일시</label>
<input type="text" class="form-control w-30" id="crdnYmd--${pageName}" name="crdnYmd" data-map="CRDN_YMD" readonly /> <input type="text" class="form-control w-30" id="crdnYmd--${pageName}" name="crdnYmd" data-map="CRDN_YMD" data-fmt-type="day" />
</div> </div>
<!-- 납부자 명 --> <!-- 납부자 명 -->
<div class="col-md-4"> <div class="col-md-4">
<label for="rtpyrNm--${pageName}" class="w-px-120 bg-lighter pe-2 col-form-label text-sm-end">납부자</label> <label for="rtpyrNm--${pageName}" class="w-px-120 bg-lighter pe-2 col-form-label text-sm-end">납부자</label>
<input type="text" class="form-control w-55" id="rtpyrNm--${pageName}" name="rtpyrNm" data-map="RTPYR_NM" readonly /> <input type="text" class="form-control w-55" id="rtpyrNm--${pageName}" name="rtpyrNm" data-map="RTPYR_NM" />
</div> </div>
<!-- 접수 번호 --> <!-- 접수 번호 -->
<div class="col-md-4"> <div class="col-md-4">
<label for="rcptNo--${pageName}" class="w-px-120 bg-lighter pe-2 col-form-label text-sm-end">접수 번호</label> <label for="rcptNo--${pageName}" class="w-px-120 bg-lighter pe-2 col-form-label text-sm-end">접수번호</label>
<input type="text" class="form-control w-35" id="rcptNo--${pageName}" name="rcptNo" data-map="RCPT_NO" /> <input type="text" class="form-control w-35" id="rcptNo--${pageName}" name="rcptNo" data-map="RCPT_NO" />
</div> </div>
<!-- 접수 일자 --> <!-- 접수 일자 -->
<div class="col-md-4"> <div class="col-md-4">
<label for="rcptYmd--${pageName}" class="w-px-120 bg-lighter pe-2 col-form-label text-sm-end required">접수 일자</label> <label for="rcptYmd--${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="rcptYmd--${pageName}" name="rcptYmd" data-map="RCPT_YMD" <input type="text" class="form-control form-date" id="rcptYmd--${pageName}" name="rcptYmd" data-map="RCPT_YMD"
data-fmt-type="day" title="날짜 선택" maxlength="10" required /> data-fmt-type="day" 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="btnRcptYmd--${pageName}"></button>
</div> </div>
<!-- 접수 구분 --> <!-- 접수 구분 -->
<div class="col-md-4"> <div class="col-md-4">
<label for="rcptSeCd--${pageName}" class="w-px-120 bg-lighter pe-2 col-form-label text-sm-end required">접수 구분</label> <label for="rcptSeCd--${pageName}" class="w-px-120 bg-lighter pe-2 col-form-label text-sm-end required">접수구분</label>
<select class="form-select" id="rcptSeCd--${pageName}" name="rcptSeCd" data-map="RCPT_SE_CD" required> <select class="form-select" id="rcptSeCd--${pageName}" name="rcptSeCd" data-map="RCPT_SE_CD" required>
<option value="">선택하세요</option> <option value="">선택하세요</option>
<c:forEach items="${FIM029List}" var="item"> <c:forEach items="${FIM029List}" var="item">
@ -70,7 +70,7 @@
</div> </div>
<!-- 소유주 관계 구분 코드 --> <!-- 소유주 관계 구분 코드 -->
<div class="col-md-4"> <div class="col-md-4">
<label for="ownrRelCd--${pageName}" class="w-px-120 bg-lighter pe-2 col-form-label text-sm-end">소유주 관계 구분</label> <label for="ownrRelCd--${pageName}" class="w-px-120 bg-lighter pe-2 col-form-label text-sm-end">소유주관계</label>
<select class="form-select" id="ownrRelCd--${pageName}" name="ownrRelCd" data-map="OWNR_REL_CD"> <select class="form-select" id="ownrRelCd--${pageName}" name="ownrRelCd" data-map="OWNR_REL_CD">
<option value="">선택하세요</option> <option value="">선택하세요</option>
<c:forEach items="${FIM032List}" var="item"> <c:forEach items="${FIM032List}" var="item">
@ -89,7 +89,7 @@
</div> </div>
<!-- 진술자 상세주소 --> <!-- 진술자 상세주소 -->
<div class="col-md-12"> <div class="col-md-12">
<label for="sttrDaddr--${pageName}" class="w-px-120 bg-lighter pe-2 col-form-label text-sm-end">상세 주소</label> <label for="sttrDaddr--${pageName}" class="w-px-120 bg-lighter pe-2 col-form-label text-sm-end">상세주소</label>
<input type="text" class="form-control w-87" id="sttrDaddr--${pageName}" name="sttrDaddr" data-map="STTR_DADDR" /> <input type="text" class="form-control w-87" id="sttrDaddr--${pageName}" name="sttrDaddr" data-map="STTR_DADDR" />
</div> </div>
<!-- 진술자 연락처 --> <!-- 진술자 연락처 -->
@ -104,12 +104,12 @@
</div> </div>
<!-- 의견 제출 내용 --> <!-- 의견 제출 내용 -->
<div class="col-md-12"> <div class="col-md-12">
<label for="opnnSbmsnCn--${pageName}" class="w-px-120 bg-lighter pe-2 col-form-label text-sm-end">의견제출 내용</label> <label for="opnnSbmsnCn--${pageName}" class="w-px-120 bg-lighter pe-2 col-form-label text-sm-end">의견제출내용</label>
<textarea type="text" class="form-control w-87" id="opnnSbmsnCn--${pageName}" name="opnnSbmsnCn" data-map="OPNN_SBMSN_CN" rows="5" data-maxlengthb="4000"></textarea> <textarea type="text" class="form-control w-87" id="opnnSbmsnCn--${pageName}" name="opnnSbmsnCn" data-map="OPNN_SBMSN_CN" rows="5" data-maxlengthb="4000"></textarea>
</div> </div>
<!-- 의견 제출 구분 코드 --> <!-- 의견 제출 구분 코드 -->
<div class="col-md-4"> <div class="col-md-4">
<label for="opnnSbmsnSeCd--${pageName}" class="w-px-120 bg-lighter pe-2 col-form-label text-sm-end required">의견제출 구분</label> <label for="opnnSbmsnSeCd--${pageName}" class="w-px-120 bg-lighter pe-2 col-form-label text-sm-end required">의견제출구분</label>
<select class="form-select" id="opnnSbmsnSeCd--${pageName}" name="opnnSbmsnSeCd" data-map="OPNN_SBMSN_SE_CD" required> <select class="form-select" id="opnnSbmsnSeCd--${pageName}" name="opnnSbmsnSeCd" data-map="OPNN_SBMSN_SE_CD" required>
<option value="">선택하세요</option> <option value="">선택하세요</option>
<c:forEach items="${FIM033List}" var="item"> <c:forEach items="${FIM033List}" var="item">
@ -119,12 +119,12 @@
</div> </div>
<!-- 의견 제출 요지 --> <!-- 의견 제출 요지 -->
<div class="col-md-8"> <div class="col-md-8">
<label for="opnnSbmsnGist--${pageName}" class="w-px-120 bg-lighter pe-2 col-form-label text-sm-end">의견제출 요지</label> <label for="opnnSbmsnGist--${pageName}" class="w-px-120 bg-lighter pe-2 col-form-label text-sm-end">의견제출요지</label>
<input type="text" class="form-control w-80" id="opnnSbmsnGist--${pageName}" name="opnnSbmsnGist" data-map="OPNN_SBMSN_GIST" data-maxlengthb="300" /> <input type="text" class="form-control w-80" id="opnnSbmsnGist--${pageName}" name="opnnSbmsnGist" data-map="OPNN_SBMSN_GIST" data-maxlengthb="300" />
</div> </div>
<!-- 담당자 검토 의견 --> <!-- 담당자 검토 의견 -->
<div class="col-md-12"> <div class="col-md-12">
<label for="picRvwOpnn--${pageName}" class="w-px-120 bg-lighter pe-2 col-form-label text-sm-end">검토 의견</label> <label for="picRvwOpnn--${pageName}" class="w-px-120 bg-lighter pe-2 col-form-label text-sm-end">검토의견</label>
<textarea class="form-control w-87" id="picRvwOpnn--${pageName}" name="picRvwOpnn" data-map="PIC_RVW_OPNN" rows="3" data-maxlengthb="1000"> <textarea class="form-control w-87" id="picRvwOpnn--${pageName}" name="picRvwOpnn" data-map="PIC_RVW_OPNN" rows="3" data-maxlengthb="1000">
</textarea> </textarea>
</div> </div>
@ -139,7 +139,7 @@
</form> </form>
<div class="row g-1"> <div class="row g-1">
<div class="col-md-12"> <div class="col-md-12">
<button type="button" class="btn btn-blue" id="btnAddFile--${pageName}" title="첨부파일 추가">파일 추가</button> <button type="button" class="btn btn-blue - w-px-120" id="btnAddFile--${pageName}" title="첨부파일 추가">파일추가</button>
</div> </div>
</div> </div>
<!-- 첨부 파일 테이블 --> <!-- 첨부 파일 테이블 -->
@ -153,7 +153,8 @@
<th class="text-center" style="width: 120px">다운로드</th> <th class="text-center" style="width: 120px">다운로드</th>
<th class="text-center" style="width: 120px">삭제</th> <th class="text-center" style="width: 120px">삭제</th>
</thead> </thead>
<tbody></tbody> <tbody>
</tbody>
</table> </table>
</div> <!-- 첨부 파일 테이블 <div class="table-responsive"> --> </div> <!-- 첨부 파일 테이블 <div class="table-responsive"> -->
</div> <!-- 첨부 파일 <div class="card"> --> </div> <!-- 첨부 파일 <div class="card"> -->
@ -164,7 +165,7 @@
<span class="container-page-btn"> <span class="container-page-btn">
<span class="container-window-btn-right"> <span class="container-window-btn-right">
<!-- 업무 버튼 --> <!-- 업무 버튼 -->
<button type="button" class="btn btn-primary w-px-80" id="btnSave--${pageName}" title="저장" onclick="fnSave${pageName}()">저장</button> <button type="button" class="btn btn-primary w-px-120" id="btnSave--${pageName}" title="저장" onclick="fnSave${pageName}()">저장</button>
</span> </span>
</span> </span>
</div> </div>
@ -179,7 +180,7 @@
**************************************************************************/ **************************************************************************/
// URL // URL
var ${pageName}PrefixUrl = "/excl/excl02"; var ${pageName}PrefixUrl = "/excl/excl02";
// 호출 용도 // infoDialog 호출 용도(view 조회(편집불가), create 등록, update 수정)
var ${pageName}CallPurpose = "${callPurpose}"; var ${pageName}CallPurpose = "${callPurpose}";
// FormFields // FormFields
var ${pageName}Fields = new FimsFormFields("#frmEdit--${pageName}"); var ${pageName}Fields = new FimsFormFields("#frmEdit--${pageName}");
@ -232,7 +233,7 @@
if (!info) return; if (!info) return;
let formData = new FormData(); let formData = new FormData();
let create = isEmpty(info.opnnId); let create = (${pageName}CallPurpose == "create");
// 첨부파일 배열에 있는 내용을 등록 // 첨부파일 배열에 있는 내용을 등록
for (let iLoop = 0; iLoop < $fileListArr.length; iLoop++) { for (let iLoop = 0; iLoop < $fileListArr.length; iLoop++) {
@ -269,9 +270,7 @@
// 납부자 정보를 진술자 정보로 입력한다. // 납부자 정보를 진술자 정보로 입력한다.
fnPayer${pageName} = () => { fnPayer${pageName} = () => {
// 수정이라면 동작하지 않게 한다. // 수정이라면 동작하지 않게 한다.
if (${pageName}Control.getValue("OPNN_ID") != "") { if (${pageName}Control.getValue("OPNN_ID") != "") return;
return;
}
$("select[name='ownrRelCd'] option:contains('본인')").attr("selected", "selected"); $("select[name='ownrRelCd'] option:contains('본인')").attr("selected", "selected");
$("#sttrNm--${pageName}").val(${pageName}Control.getValue("RTPYR_NM")); $("#sttrNm--${pageName}").val(${pageName}Control.getValue("RTPYR_NM"));
@ -454,24 +453,34 @@
// 화면 초기 설정 // 화면 초기 설정
initForm${pageName} = () => { initForm${pageName} = () => {
// 화면 초기화
$("#frmEdit--${pageName}")[0].reset();
// 달력 초기화 // 달력 초기화
initDatepicker("frmEdit--${pageName}"); initDatepicker("frmEdit--${pageName}");
$("#rcptYmd--${pageName}").datepicker("setDate", new Date()); $("#rcptYmd--${pageName}").datepicker("setDate", new Date());
// view 로 호출됐을 경우..
if (${pageName}CallPurpose == "view") {
$("btnSave--${pageName}").attr("disabled", true);
} else {
$("btnSave--${pageName}").attr("disabled", false);
}
} }
// 기본 데이터 설정 // 기본 데이터 설정
setFormData${pageName} = () => { setFormData${pageName} = () => {
// create 로 호출됐을 경우.. $("#vhrno--${pageName}").prop("readonly", true); // 차량번호
if (${pageName}CallPurpose == "create") { $("#crdnYmd--${pageName}").prop("readonly", true); // 단속 일자
$("#rcptNo--${pageName}").prop("readonly", true); $("#rtpyrNm--${pageName}").prop("readonly", true); // 납부자 명
$("#rcptYmd--${pageName}").datepicker("setDate", new Date());
if (${pageName}CallPurpose == "view") {
// input 요소들을 disabled
$("#frmEdit--${pageName}").find("input,textarea,select").prop("disabled", true);
// button 요소들을 disabled
$("#btnRcptYmd--${pageName}").prop("disabled", true); // 접수 일자 달력 버튼
$("#btnPayer--${pageName}").prop("disabled", true); // 납부자 버튼
$("#btnZip--${pageName}").prop("disabled", true); // 우편번호 버튼
$("#btnAddFile--${pageName}").prop("disabled", true); // 파일 추가 버튼
$("#btnSave--${pageName}").prop("disabled", true); // 저장 버튼
} else if (${pageName}CallPurpose == "create") {
$("#rcptNo--${pageName}").prop("readonly", true); // 접수 번호
$("#rcptYmd--${pageName}").datepicker("setDate", new Date()); // 접수 일자
} else if (${pageName}CallPurpose == "update") {
//
} }
} }
@ -482,13 +491,13 @@
// 이벤트 설정 // 이벤트 설정
setEvent${pageName}(); setEvent${pageName}();
// 화면 초기 설정 // 초기 기본 설정
initForm${pageName}(); initForm${pageName}();
// Dataset 설정 // Dataset 설정
${pageName}Control.setData([${opnnSbmsnInfo}]); ${pageName}Control.setData([${opnnSbmsnInfo}]);
// 화면 데이터 셋팅 // 기본 데이터 설정
setFormData${pageName}(); setFormData${pageName}();
}); });

@ -258,6 +258,9 @@
// 화면 초기 설정 // 화면 초기 설정
initForm${pageName} = () => { initForm${pageName} = () => {
// 화면 초기화
$("#frmEdit--${pageName}")[0].reset();
// 달력 초기화 // 달력 초기화
initDatepicker("frmEdit--${pageName}"); initDatepicker("frmEdit--${pageName}");

@ -277,37 +277,6 @@
$("#tbody--${pageName}").setCurrentRow(key); $("#tbody--${pageName}").setCurrentRow(key);
}; };
// 개별총정보 dialog
${pageName}Control.getInfo = (crdnId, callSection) => {
let callControlName = "";
if (typeof crdnId == "undefined" || crdnId == null || crdnId == "") return;
if (typeof callSection == "undefined" || callSection == null || callSection == "") {
callControlName = "${pageName}Control";
} else {
callControlName = callSection;
}
let params = {
callControlName : callControlName
, crdnId : crdnId
}
ajax.get({
url : ${pageName}Control.urls.getInfo
, data : params
, success : resp => {
dialog.open({
id : "totalInfoMainDialog"
, title : "개별총정보"
, content : resp
, size : "xxl"
});
}
});
}
/************************************************************************** /**************************************************************************
* DataTables 이벤트 * DataTables 이벤트
**************************************************************************/ **************************************************************************/
@ -322,7 +291,7 @@
document.getElementById("${infoPrefix}Row--${pageName}").innerHTML, <%-- from template#${infoPrefix}Row --%> document.getElementById("${infoPrefix}Row--${pageName}").innerHTML, <%-- from template#${infoPrefix}Row --%>
(str, dataItem) => str (str, dataItem) => str
.replace(/{onclick}/gi, "${pageName}Control.setCurrent('" + dataItem.getValue("RE_REG_ID") + "');") .replace(/{onclick}/gi, "${pageName}Control.setCurrent('" + dataItem.getValue("RE_REG_ID") + "');")
.replace(/{ondblclick}/gi, "${pageName}Control.getInfo('" + dataItem.getValue("CRDN_ID") + "');") .replace(/{ondblclick}/gi, "getTotalInfo${pageName}('" + dataItem.getValue("CRDN_ID") + "');")
); );
let noMore = (totalSize == ${infoPrefix}List.length); let noMore = (totalSize == ${infoPrefix}List.length);
@ -353,6 +322,38 @@
/************************************************************************** /**************************************************************************
* 사용자 함수(function) * 사용자 함수(function)
**************************************************************************/ **************************************************************************/
// 개별총정보 dialog
getTotalInfo${pageName} = (crdnId, callSection) => {
if (typeof crdnId == "undefined" || crdnId == null || crdnId == "") return;
let callControlName = "";
if (typeof callSection == "undefined" || callSection == null || callSection == "") {
callControlName = "${pageName}Control";
} else {
callControlName = callSection;
}
let params = {
callControlName : callControlName
, sggCd : $("#sggCd--${pageName}").val()
, taskSeCd : $("input[name=taskSeCd]:checked").val()
, crdnId : crdnId
}
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"
});
}
});
}
// 검색 자료 재조회 // 검색 자료 재조회
refreshList${pageName} = () => { refreshList${pageName} = () => {
${pageName}Control.untilPageNum = ${pageName}Control.query.pageNum; ${pageName}Control.untilPageNum = ${pageName}Control.query.pageNum;
@ -410,7 +411,7 @@
if (typeof bfrCrdnId == "undefined" || bfrCrdnId == null || bfrCrdnId == "") return; if (typeof bfrCrdnId == "undefined" || bfrCrdnId == null || bfrCrdnId == "") return;
// 개별총정보 dialog // 개별총정보 dialog
${pageName}Control.getInfo(bfrCrdnId, "noControlName"); getTotalInfo${pageName}(bfrCrdnId, "noControlName");
} }
/************************************************************************** /**************************************************************************
@ -459,7 +460,6 @@
// 달력 초기화 // 달력 초기화
initDatepicker("frmSearch--${pageName}"); initDatepicker("frmSearch--${pageName}");
$("#schReRegYmdFrom--${pageName}").datepicker("setDate", new Date()); $("#schReRegYmdFrom--${pageName}").datepicker("setDate", new Date());
$("#schReRegYmdTo--${pageName}").datepicker("setDate", new Date()); $("#schReRegYmdTo--${pageName}").datepicker("setDate", new Date());
@ -484,19 +484,19 @@
* script 진입 * script 진입
**************************************************************************/ **************************************************************************/
$(document).ready(function() { $(document).ready(function() {
// 기본 데이터 설정
$("#sggCd--${pageName}").val("${sggCd}"); // 시군구 코드
// 이벤트 설정 // 이벤트 설정
setEvent${pageName}(); setEvent${pageName}();
// 보안모드 // 시군구 코드 설정
fn_securityModeToggle($("#securityMode--top").is(":checked")); $("#sggCd--${pageName}").val("${sggCd}");
// 업무 구분 설정 // 업무 구분 설정
let defaultBizValue = $("#layout-navbar input[name='taskSeCd']:checked").val(); let defaultBizValue = $("#layout-navbar input[name='taskSeCd']:checked").val();
$("#frmSearch--${pageName} input[name='taskSeCd'][value='" + defaultBizValue + "']").prop("checked", true); $("#frmSearch--${pageName} input[name='taskSeCd'][value='" + defaultBizValue + "']").prop("checked", true);
// 보안모드
fn_securityModeToggle($("#securityMode--top").is(":checked"));
// 화면 초기 설정 및 업무 구분 변경 // 화면 초기 설정 및 업무 구분 변경
fnResetAndChangeBiz${pageName}(defaultBizValue); fnResetAndChangeBiz${pageName}(defaultBizValue);
}); });

@ -972,33 +972,6 @@
// 화면 데이터 셋팅 // 화면 데이터 셋팅
setFormData${pageName} = () => { setFormData${pageName} = () => {
// 화면 호출(callPurpose)이 view 라면 버튼 비활성화
if (${pageNameMain}CallPurpose == "view") {
$("#btnViewCvlcptOrgnl--${pageName}").prop("disabled", true);
$("#btnViewAnswerPreview--${pageName}").prop("disabled", true);
$("#btnUpdateCrdn--${pageName}").prop("disabled", true);
$("#btnRemoveCrdn--${pageName}").prop("disabled", true);
$("#btnCreateCrdnReReg--${pageName}").prop("disabled", true);
$("#btnPrintNotice--${pageName}").prop("disabled", true);
$("#btnUpdateCrdnSttsCd--${pageName}").prop("disabled", true);
$("#btnUpdatePayer--${pageName}").prop("disabled", true);
$("#btnEditPhoto--${pageName}").prop("disabled", true);
$("#btnAddFile--${pageName}").prop("disabled", true);
$("#btnDeleteFile--${pageName}").prop("disabled", true);
} else {
$("#btnViewCvlcptOrgnl--${pageName}").prop("disabled", false);
$("#btnViewAnswerPreview--${pageName}").prop("disabled", false);
$("#btnUpdateCrdn--${pageName}").prop("disabled", false);
$("#btnRemoveCrdn--${pageName}").prop("disabled", false);
$("#btnCreateCrdnReReg--${pageName}").prop("disabled", false);
$("#btnPrintNotice--${pageName}").prop("disabled", false);
$("#btnUpdateCrdnSttsCd--${pageName}").prop("disabled", false);
$("#btnUpdatePayer--${pageName}").prop("disabled", false);
$("#btnEditPhoto--${pageName}").prop("disabled", false);
$("#btnAddFile--${pageName}").prop("disabled", false);
$("#btnDeleteFile--${pageName}").prop("disabled", false);
}
// jquery를 이용한 show/hide (style이 유지) // jquery를 이용한 show/hide (style이 유지)
$("#divBlank1--${pageName}").hide(); // 빈 칸1 $("#divBlank1--${pageName}").hide(); // 빈 칸1
$("#divBlank2--${pageName}").hide(); // 빈 칸2 $("#divBlank2--${pageName}").hide(); // 빈 칸2
@ -1037,6 +1010,35 @@
$("#divBlank2--${pageName}").show(); // 빈칸 $("#divBlank2--${pageName}").show(); // 빈칸
$("#divCrdnBgngTm--${pageName}").show(); // 단속 시작 시각 ~ 단속 종료 시각 $("#divCrdnBgngTm--${pageName}").show(); // 단속 시작 시각 ~ 단속 종료 시각
} }
// 화면 호출(callPurpose)이 view 라면 버튼 비활성화
if (${pageNameMain}CallPurpose == "view") {
// button 요소들을 disabled = true
$("#btnViewCvlcptOrgnl--${pageName}").prop("disabled", true);
$("#btnViewAnswerPreview--${pageName}").prop("disabled", true);
$("#btnUpdateCrdn--${pageName}").prop("disabled", true);
$("#btnRemoveCrdn--${pageName}").prop("disabled", true);
$("#btnCreateCrdnReReg--${pageName}").prop("disabled", true);
$("#btnPrintNotice--${pageName}").prop("disabled", true);
$("#btnUpdateCrdnSttsCd--${pageName}").prop("disabled", true);
$("#btnUpdatePayer--${pageName}").prop("disabled", true);
$("#btnEditPhoto--${pageName}").prop("disabled", true);
$("#btnAddFile--${pageName}").prop("disabled", true);
$("#btnDeleteFile--${pageName}").prop("disabled", true);
} else {
// button 요소들을 disabled = false
$("#btnViewCvlcptOrgnl--${pageName}").prop("disabled", false);
$("#btnViewAnswerPreview--${pageName}").prop("disabled", false);
$("#btnUpdateCrdn--${pageName}").prop("disabled", false);
$("#btnRemoveCrdn--${pageName}").prop("disabled", false);
$("#btnCreateCrdnReReg--${pageName}").prop("disabled", false);
$("#btnPrintNotice--${pageName}").prop("disabled", false);
$("#btnUpdateCrdnSttsCd--${pageName}").prop("disabled", false);
$("#btnUpdatePayer--${pageName}").prop("disabled", false);
$("#btnEditPhoto--${pageName}").prop("disabled", false);
$("#btnAddFile--${pageName}").prop("disabled", false);
$("#btnDeleteFile--${pageName}").prop("disabled", false);
}
} }
/************************************************************************** /**************************************************************************

@ -523,12 +523,14 @@
// 화면 호출(callPurpose)이 view 라면 버튼 비활성화 // 화면 호출(callPurpose)이 view 라면 버튼 비활성화
if (${pageNameMain}CallPurpose == "view") { if (${pageNameMain}CallPurpose == "view") {
// button 요소들을 disabled = true
$("#btnCreateOpnnSbmsn--${pageName}").prop("disabled", true); $("#btnCreateOpnnSbmsn--${pageName}").prop("disabled", true);
$("#btnUpdateOpnnSbmsn--${pageName}").prop("disabled", true); $("#btnUpdateOpnnSbmsn--${pageName}").prop("disabled", true);
$("#btnRemoveOpnnSbmsn--${pageName}").prop("disabled", true); $("#btnRemoveOpnnSbmsn--${pageName}").prop("disabled", true);
$("#btnPrintDlbrtLtfr--${pageName}").prop("disabled", true); $("#btnPrintDlbrtLtfr--${pageName}").prop("disabled", true);
$("#btnUpdateOpnnSbmsnDlbrt--${pageName}").prop("disabled", true); $("#btnUpdateOpnnSbmsnDlbrt--${pageName}").prop("disabled", true);
} else { } else {
// button 요소들을 disabled = false
$("#btnCreateOpnnSbmsn--${pageName}").prop("disabled", false); $("#btnCreateOpnnSbmsn--${pageName}").prop("disabled", false);
$("#btnUpdateOpnnSbmsn--${pageName}").prop("disabled", false); $("#btnUpdateOpnnSbmsn--${pageName}").prop("disabled", false);
$("#btnRemoveOpnnSbmsn--${pageName}").prop("disabled", false); $("#btnRemoveOpnnSbmsn--${pageName}").prop("disabled", false);

@ -12,13 +12,13 @@
<label class="w-px-120 bg-label-danger pe-2 col-form-label text-sm-center">민원상담 이력</label> <label class="w-px-120 bg-label-danger pe-2 col-form-label text-sm-center">민원상담 이력</label>
<!-- 버튼 우측 정렬 --> <!-- 버튼 우측 정렬 -->
<span class="container-window-btn-right"> <span class="container-window-btn-right">
<button type="button" class="btn btn-primary" id="btnCreateCvlcptDscsn--${pageName}" title="민원상담 등록" onclick="fnCreateCvlcptDscsn${pageName}();"> <button type="button" class="btn btn-primary w-px-120" id="btnCreate--${pageName}" title="민원상담 등록" onclick="fnCreate${pageName}();">
민원상담 등록 민원상담 등록
</button> </button>
<button type="button" class="btn btn-primary" id="btnUpdateCvlcptDscsn--${pageName}" title="민원상담 수정" onclick="fnUpdateCvlcptDscsn${pageName}();"> <button type="button" class="btn btn-primary w-px-120" id="btnUpdate--${pageName}" title="민원상담 수정" onclick="fnUpdate${pageName}();">
민원상담 수정 민원상담 수정
</button> </button>
<button type="button" class="btn btn-primary" id="btnRemoveCvlcptDscsn--${pageName}" title="민원상담 삭제" onclick="fnRemoveCvlcptDscsn${pageName}();"> <button type="button" class="btn btn-primary w-px-120" id="btnRemove--${pageName}" title="민원상담 삭제" onclick="fnRemove${pageName}();">
민원상담 삭제 민원상담 삭제
</button> </button>
</span> <!-- <span class="container-window-btn-right"> --> </span> <!-- <span class="container-window-btn-right"> -->
@ -262,29 +262,11 @@
}); });
} }
/**************************************************************************
* 초기 셋팅
**************************************************************************/
// 화면 초기화
initForm${pageName} = () => {
$("#frmEdit--${pageName}")[0].reset(); // 화면 초기화
}
// 이벤트 설정
setEvent${pageName} = () => {
}
// 화면 초기값 설정
setForm${pageName} = () => {
}
/************************************************************************** /**************************************************************************
* 버튼 clickEvent * 버튼 clickEvent
**************************************************************************/ **************************************************************************/
// 민원 상담 내용 등록 // 민원 상담 내용 등록
fnCreateCvlcptDscsn${pageName} = () => { fnCreate${pageName} = () => {
let crdnId = $("#crdnId--${pageNameMain}").val(); let crdnId = $("#crdnId--${pageNameMain}").val();
// 단속 ID 가 없다면.. return // 단속 ID 가 없다면.. return
@ -301,7 +283,7 @@
} }
// 민원 상담 내용 수정 // 민원 상담 내용 수정
fnUpdateCvlcptDscsn${pageName} = () => { fnUpdate${pageName} = () => {
let cvlcptDscsnId = ${pageName}Control.dataset.getValue("CVLCPT_DSCSN_ID"); let cvlcptDscsnId = ${pageName}Control.dataset.getValue("CVLCPT_DSCSN_ID");
// 민원 상담 ID 가 없다면.. return // 민원 상담 ID 가 없다면.. return
@ -319,7 +301,7 @@
} }
// 민원상담 내용 삭제 // 민원상담 내용 삭제
fnRemoveCvlcptDscsn${pageName} = () => { fnRemove${pageName} = () => {
// 민원상담 ID // 민원상담 ID
let cvlcptDscsnId = ${pageName}Control.dataset.getValue("CVLCPT_DSCSN_ID"); let cvlcptDscsnId = ${pageName}Control.dataset.getValue("CVLCPT_DSCSN_ID");
@ -343,20 +325,64 @@
} }
/************************************************************************** /**************************************************************************
* script 진입 * 초기 셋팅
**************************************************************************/ **************************************************************************/
$(document).ready(function() { // 이벤트 설정
setEvent${pageName} = () => {
// form-date 항목에서 키보드로 입력시 날짜 포맷팅 적용
$("#frmEdit--${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);
}
});
});
}
// 화면 초기 설정 // 화면 초기 설정
initForm${pageName}(); initForm${pageName} = () => {
// 화면 초기화
$("#frmEdit--${pageName}")[0].reset();
// 달력 초기화
initDatepicker("frmEdit--${pageName}");
}
// 기본 데이터 설정
setFormData${pageName} = () => {
// 화면 호출(callPurpose)이 view 라면 버튼 비활성화
if (${pageNameMain}CallPurpose == "view") {
// button 요소들을 disabled = true
$("#btnCreate--${pageName}").prop("disabled", true);
$("#btnUpdate--${pageName}").prop("disabled", true);
$("#btnRemove--${pageName}").prop("disabled", true);
} else {
// button 요소들을 disabled = false
$("#btnCreate--${pageName}").prop("disabled", true);
$("#btnUpdate--${pageName}").prop("disabled", true);
$("#btnRemove--${pageName}").prop("disabled", true);
}
}
/**************************************************************************
* script 진입
**************************************************************************/
$(document).ready(function() {
// 이벤트 설정 // 이벤트 설정
setEvent${pageName}(); setEvent${pageName}();
// 화면 초기값 설정 // 초기 기본 설정
setForm${pageName}(); initForm${pageName}();
// Data 셋팅 // Dataset 설정
${pageName}Control.setData(${cvlcptDscsn}); ${pageName}Control.setData(${cvlcptDscsn});
// 기본 데이터 설정
setFormData${pageName}();
}); });
</script> </script>

@ -13,14 +13,14 @@
<div> <div>
<!-- 상단 버튼 --> <!-- 상단 버튼 -->
<div class="container-page-btn"> <div class="container-page-btn">
<button type="button" class="btn btn-outline-dark" 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> </button>
<span class="container-window-btn-right"> <span class="container-window-btn-right">
<button type="button" class="btn btn-search w-px-120" id="btnSearch--${pageName}" title="검색" onclick="fnSearchList${pageName}();"> <button type="button" class="btn btn-search w-px-120" id="btnSearch--${pageName}" title="검색" onclick="fnSearchList${pageName}();">
검색 검색
</button> </button>
<button type="button" class="btn btn-excel w-px-120" id="btnExcel--${pageName}" title="엑셀 저장" onclick="fnExcel${pageName}();"> <button type="button" class="btn btn-excel w-px-120" id="btnExcel--${pageName}" title="엑셀" onclick="fnExcel${pageName}();">
엑셀 엑셀
</button> </button>
</span> </span>
@ -122,7 +122,7 @@
<option value="mdfr">수정자</option> <option value="mdfr">수정자</option>
</select> </select>
<input type="text" class="form-control w-px-160" id="schDetailRgtrNm--${pageName}" name="schDetailRgtrNm" autocomplete="off" /> <input type="text" class="form-control w-px-160" id="schDetailRgtrNm--${pageName}" name="schDetailRgtrNm" autocomplete="off" />
<button type="button" class="btn btn-sm btn-outline-dark" id="btnUser--${pageName}" title="사용자 검색" onclick="fnUser${pageName}();"> <button type="button" class="btn btn-sm btn-outline-dark" id="btnFindUser--${pageName}" title="사용자 검색" onclick="fnFindUser${pageName}();">
검색 검색
</button> </button>
</div> </div>
@ -239,11 +239,12 @@
**************************************************************************/ **************************************************************************/
var ${pageName}Control = new DatasetControl({ var ${pageName}Control = new DatasetControl({
prefix : "cvlcptDscsn" prefix : "cvlcptDscsn"
, prefixName : "민원상담내용" , prefixName : "민원상담"
, infoSize : "lg" , infoSize : "lg"
, keymapper : info => info ? info.CVLCPT_DSCSN_ID : "" , keymapper : info => info ? info.CVLCPT_DSCSN_ID : ""
, dataGetter : obj => obj.cvlcptDscsnList , dataGetter : obj => obj.cvlcptDscsnList
, appendData : true , appendData : true
, untilPageNum : 0 // 현재 페이지 번호
, tableRenderComplete : false // dataTables 에 자료 추가 완료 여부 , tableRenderComplete : false // dataTables 에 자료 추가 완료 여부
, formats : { , formats : {
DSCSN_YMD : dateFormat DSCSN_YMD : dateFormat
@ -257,7 +258,7 @@
**************************************************************************/ **************************************************************************/
// Dataset 변경 이벤트 // Dataset 변경 이벤트
${pageName}Control.onDatasetChange = obj => { ${pageName}Control.onDatasetChange = obj => {
renderList${pageName}(); renderList${pageName}(obj.${infoPrefix}Total);
$("#paging--${pageName}").setPagingInfo({ $("#paging--${pageName}").setPagingInfo({
list : ${pageName}Control.dataset list : ${pageName}Control.dataset
@ -295,17 +296,18 @@
}; };
// 민원상담 dialog // 민원상담 dialog
${pageName}Control.getInfo = (cvlcptDscsnId) => { ${pageName}Control.getInfo = (params) => {
if (typeof cvlcptDscsnId == "undefined" || cvlcptDscsnId == null || cvlcptDscsnId == "") { if (!params) return;
return;
}
let params = { let dialogTitle = "";
callPurpose : "update"
, sggCd : ${pageName}Control.dataset.getValue("SGG_CD") if (params.callPurpose == "create") {
, taskSeCd : ${pageName}Control.dataset.getValue("TASK_SE_CD") dialogTitle = ${pageName}Control.prefixName + " 등록";
, cvlcptDscsnId : cvlcptDscsnId } else if (params.callPurpose == "update") {
}; dialogTitle = ${pageName}Control.prefixName + " 수정";
} else {
dialogTitle = ${pageName}Control.prefixName + " 정보";
}
ajax.get({ ajax.get({
url : wctx.url(params.taskSeCd + ${pageName}PrefixUrl + "/020/info.do") url : wctx.url(params.taskSeCd + ${pageName}PrefixUrl + "/020/info.do")
@ -313,52 +315,43 @@
, success : resp => { , success : resp => {
dialog.open({ dialog.open({
id : ${pageName}Control.prefixed("Dialog") id : ${pageName}Control.prefixed("Dialog")
, title : ${pageName}Control.prefixName + " 수정" , title : dialogTitle
, content : resp , content : resp
, size : "lg" , size : "lg"
, init : () => { } , onClose : () => { refreshList${pageName}(); } // 자료 재조회
, onClose : () => { ${pageName}Control.load(${pageName}Control.query.pageNum); } // callback 자료 재조회
}); });
} }
}); });
} }
// 삭제 callback // 삭제 callback
${pageName}Control.onRemove = (selected, resp) => { ${pageName}Control.onRemove = (resp) => {
let btnTitle = $("#btnRemove--${pageName}").attr("title"); let btnTitle = $("#btnRemove--${pageName}").attr("title");
let showMessage = resp.rtnMsg.replace(/[S]|[F]/g, btnTitle);
let showMessage = resp.retMessage.replace(/[S]|[F]/g, btnTitle);
dialog.alert(showMessage); dialog.alert(showMessage);
if (resp.saved) { if (resp.saved) {
${pageName}Control._load(); refreshList${pageName}(); // 자료 재조회
} }
} }
// 삭제 // 삭제
${pageName}Control.remove = (params) => { ${pageName}Control.remove = (params) => {
let selected = ${pageName}Control.dataset.getKeys("selected"); if (!params) return;
if (selected.length < 1) return;
if (!params) {
params = {};
params[${pageName}Control.prefixed("IDs")] = selected.join(",");
}
ajax.post({ ajax.post({
url : ${pageName}Control.urls.remove url : ${pageName}Control.urls.remove
, data : params , data : params
, success : resp => ${pageName}Control.onRemove(selected, resp) , success : resp => ${pageName}Control.onRemove(resp)
}); });
} }
/************************************************************************** /**************************************************************************
* * DataTables 이벤트
**************************************************************************/ **************************************************************************/
// DataTables에 click, dbclick 이벤트 // DataTables에 click, dbclick 이벤트
renderList${pageName} = () => { renderList${pageName} = (totalSize) => {
let ${infoPrefix}List = ${pageName}Control.dataset; let ${infoPrefix}List = ${pageName}Control.dataset;
let empty = ${infoPrefix}List.empty; let empty = ${infoPrefix}List.empty;
@ -368,93 +361,79 @@
document.getElementById("${infoPrefix}Row--${pageName}").innerHTML, <%-- from template#${infoPrefix}Row --%> document.getElementById("${infoPrefix}Row--${pageName}").innerHTML, <%-- from template#${infoPrefix}Row --%>
(str, dataItem) => str (str, dataItem) => str
.replace(/{onclick}/gi, "${pageName}Control.setCurrent('" + dataItem.getValue("CVLCPT_DSCSN_ID") + "');") .replace(/{onclick}/gi, "${pageName}Control.setCurrent('" + dataItem.getValue("CVLCPT_DSCSN_ID") + "');")
.replace(/{ondblclick}/gi, "${pageName}Control.getInfo('" + dataItem.getValue("CVLCPT_DSCSN_ID") + "');") .replace(/{ondblclick}/gi, "fnUpdate${pageName}('" + dataItem.getValue("CVLCPT_DSCSN_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); $("th input[type='checkbox']").prop("checked", false);
//보안모드 //보안모드
fn_securityModeToggle($("#securityMode--top").is(":checked")); fn_securityModeToggle($("#securityMode--top").is(":checked"));
} }
/************************************************************************** // DataTables에 스크롤이 맨 밑으로 이동했을 때 이벤트
* 초기 셋팅 scrollDataList${pageName} = () => {
**************************************************************************/ ${pageName}Control.tableRenderComplete = false; // dataTables 에 자료 추가 false
// 이벤트
setEvent${pageName} = () => {
// form-date 항목에서 키보드로 입력시 날짜 포맷팅 적용
$("#frmSearch--${pageName}").find(".form-date").each(function() {
$(this).on("input", function() {
let value = this.value.replaceAll("-", "");
if (value.length > 7) { ${pageName}Control.load(${pageName}Control.query.pageNum + 1);
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 스크롤 이벤트 /**************************************************************************
$("#table-responsive--${pageName}").scroll(function() { * 사용자 함수(function)
let el = $(this); **************************************************************************/
// 삭제 callback
callbackRemove${pageName} = (obj) => {
let selected = ${pageName}Control.dataset.getKeys("selected");
if (el.scrollTop() == 0) { if (selected.length < 1) return;
return;
}
if (!${pageName}Control.tableRenderComplete) {
return;
}
let itemsCnt = ${pageName}Control.dataset._items.length; // 서버에 전송할 data(파라미터) 생성
let totCnt = ${pageName}Control.dataset.getValue("TOT_CNT"); let params = {
callPurpose : "remove" // 호출 용도
, delRsn : obj.reason // 삭제 사유
};
params[${pageName}Control.prefixed("IDs")] = selected.join(","); // IDs
if (itemsCnt >= totCnt) { ${pageName}Control.remove(params);
return;
} }
if ((el[0].scrollHeight - el.scrollTop() + VERTICAL_SCROLL_HEIGHT) <= el.outerHeight()) { // 검색 자료 재조회
${pageName}Control.tableRenderComplete = false; // dataTables 에 자료 추가 완료 refreshList${pageName} = () => {
${pageName}Control.untilPageNum = ${pageName}Control.query.pageNum;
${pageName}Control.query.fetchSize = ${pageName}Control.defaultFetchSize * ${pageName}Control.query.pageNum;
${pageName}Control.load(${pageName}Control.query.pageNum + 1); ${pageName}Control.load(1);
}
});
} }
// 화면 초기값 셋팅 /**************************************************************************
setForm${pageName} = (taskSeCd) => { * 버튼 clickEvent
**************************************************************************/
// 업무 구분 변경
fnResetAndChangeBiz${pageName} = (taskSeCd) => {
// 업무 구분 코드 // 업무 구분 코드
$("#frmSearch--${pageName} input[name='taskSeCd'][value='" + taskSeCd + "']").prop("checked", true); if (typeof taskSeCd == "undefined" || taskSeCd == null || taskSeCd == "") {
taskSeCd = $("#layout-navbar input[name='taskSeCd']:checked").val();
// 최고 관리자 경우 업무구분을 선택할 수 있도록 하자.
$("#frmSearch--${pageName} input[name='taskSeCd']").each(function(i) {
$(this).prop("disabled", "true");
});
// 달력 초기화
initDatepicker("frmSearch--${pageName}");
$("#schDscsnYmdFrom--${pageName}").datepicker("setDate", DateUtil.getDateDay(-1).date);
$("#schDscsnYmdTo--${pageName}").datepicker("setDate", new Date());
// DataTables width 변경 조정
$("#DataTables_Table_0--${pageName}").find("th").resizable( {handles : "e"} );
} }
// 초기 기본 설정
initForm${pageName}(taskSeCd);
// URL 설정 // URL 설정
setURL${pageName} = (taskSeCd) => { setURL${pageName}(taskSeCd);
${pageName}Control.urls.load = wctx.url("/" + taskSeCd + ${pageName}PrefixUrl + "/010/list.do"); // 조회
${pageName}Control.urls.remove = wctx.url("/" + taskSeCd + ${pageName}PrefixUrl + "/010/removes.do"); // 삭제
${pageName}Control.urls.getInfo = wctx.url("/" + taskSeCd + "/sprt/sprt02/010/main.do"); // 개별총정보
}
/************************************************************************** // 기본 데이터 설정
* 버튼 clickEvent setFormData${pageName}();
**************************************************************************/
// 초기화 버튼 이벤트
fnReset${pageName} = () => {
fnResetAndChangeBiz${pageName}();
} }
// 검색 버튼 이벤트 // 검색 버튼 이벤트
@ -462,7 +441,7 @@
// 검색조건 // 검색조건
${pageName}Control.query = ${pageName}Fields.get(); ${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.delYn = "N"; // 삭제 여부
${pageName}Control.load(); ${pageName}Control.load();
@ -473,61 +452,137 @@
} }
// 업무 구분 변경 // 사용자 조회 버튼 이벤트
fnResetAndChangeBiz${pageName} = (taskSeCd) => { fnFindUser${pageName} = () => {
// 화면 초기화
$("#frmSearch--${pageName}")[0].reset();
// dataset 초기화
${pageName}Control.dataset.clear();
// 업무 구분 코드
if (typeof taskSeCd == "undefined" || taskSeCd == null || taskSeCd == "") {
taskSeCd = $("#layout-navbar input[name='taskSeCd']:checked").val();
} }
// 화면 초기값 설정 // 수정 버튼 이벤트
setForm${pageName}(taskSeCd); fnUpdate${pageName} = (cvlcptDscsnId) => {
// URL 설정 // 민원상담 ID 가 없다면.. 입력
setURL${pageName}(taskSeCd); if (typeof cvlcptDscsnId == "undefined" || cvlcptDscsnId == null || cvlcptDscsnId == "") {
cvlcptDscsnId = ${pageName}Control.dataset.getValue("CVLCPT_DSCSN_ID");
} }
// 사용자 조회 버튼 이벤트 let params = {
fnUser${pageName} = () => { callPurpose : "update"
, sggCd : ${pageName}Control.dataset.getValue("SGG_CD") // 시군구 코드
} , taskSeCd : ${pageName}Control.dataset.getValue("TASK_SE_CD") // 업무 구분 코드
, cvlcptDscsnId : cvlcptDscsnId // 민원상담 ID
};
// 수정 버튼 이벤트 ${pageName}Control.getInfo(params);
fnUpdate${pageName} = () => {
${pageName}Control.getInfo(${pageName}Control.dataset.getValue("CVLCPT_DSCSN_ID"));
} }
// 삭제 버튼 이벤트 // 삭제 버튼 이벤트
fnRemove${pageName} = () => { fnRemove${pageName} = () => {
// 삭제 메세지 확인
dialog.alert({ dialog.alert({
content : "선택한 민원상담 정보를 삭제하시겠습니까?" content : "선택하신 " + ${pageName}Control.prefixName + " 정보를 삭제하시겠습니까?"
, onOK : () => { , onOK : () => {
${pageName}Control.remove(); // 삭제 사유 입력
let callbackFuncName = "callbackRemove${pageName}";
let popupWidth = 640;
let popupHeight = 240;
let popupX = (window.screen.width / 2) - (popupWidth / 2);
let popupY= (window.screen.height / 2) - (popupHeight / 2);
window.open(
wctx.url("/resources/html/inputRsnDialog.html"
+ "?callbackFuncName=" + callbackFuncName
+ "&USE_PURPOSE=" + "삭제"
)
, "inputDelRsnDialog"
, 'status=no, height=' + popupHeight + ', width=' + popupWidth + ', left='+ popupX + ', top='+ popupY
);
}
});
}
/**************************************************************************
* 초기 셋팅
**************************************************************************/
// 이벤트
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 변경 조정
$("#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}");
$("#schDscsnYmdFrom--${pageName}").datepicker("setDate", DateUtil.getDateDay(-1).date);
$("#schDscsnYmdTo--${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"); // 조회
${pageName}Control.urls.remove = wctx.url(taskSeCd + ${pageName}PrefixUrl + "/010/removes.do"); // 삭제
${pageName}Control.urls.getInfo = wctx.url(taskSeCd + "/sprt/sprt02/010/main.do"); // 개별총정보
}
// 기본 데이터 설정
setFormData${pageName} = () => {
// ${pageName}Control 설정
${pageName}Control.defaultFetchSize = FETCH_XS; // 1 페이지당 조회되는 자료 건수 index.jsp에서 확인 FETCH_XS = 30
} }
/************************************************************************** /**************************************************************************
* script 진입 * script 진입
**************************************************************************/ **************************************************************************/
$(document).ready(function() { $(document).ready(function() {
// 보안모드
fn_securityModeToggle($("#securityMode--top").is(":checked"));
// 이벤트 설정 // 이벤트 설정
setEvent${pageName}(); setEvent${pageName}();
// 시군구 코드 설정 // 시군구 코드 설정
$("#sggCd--${pageName}").val("${sggCd}"); $("#sggCd--${pageName}").val("${sggCd}");
// 업무 구분 설정 // 업무 구분 설정
let defaultBizValue = $("#layout-navbar input[name='taskSeCd']:checked").val(); let defaultBizValue = $("#layout-navbar input[name='taskSeCd']:checked").val();
$("#frmSearch--${pageName} input[name='taskSeCd'][value='" + defaultBizValue + "']").prop("checked", true); $("#frmSearch--${pageName} input[name='taskSeCd'][value='" + defaultBizValue + "']").prop("checked", true);
// 업무 구분 및 화면 초기 설정 // 보안모드
fn_securityModeToggle($("#securityMode--top").is(":checked"));
// 화면 초기 설정 및 업무 구분 변경
fnResetAndChangeBiz${pageName}(defaultBizValue); fnResetAndChangeBiz${pageName}(defaultBizValue);
}); });

@ -4,7 +4,7 @@
<!-- inner page html --> <!-- inner page html -->
<div class="content-wrapper"> <div class="content-wrapper">
<!-- Content --> <!-- Content -->
<div class="container-xxl flex-grow-1 px-0"> <div class="container flex-grow-1 px-0">
<c:set var="prefixName" scope="request">민원 상담 내용 정보</c:set> <c:set var="prefixName" scope="request">민원 상담 내용 정보</c:set>
<!-- Page Body --> <!-- Page Body -->
@ -43,7 +43,7 @@
<!-- 상담 내용 --> <!-- 상담 내용 -->
<div class="col-md-12"> <div class="col-md-12">
<label for="dscsnCn--${pageName}" class="w-px-120 bg-lighter pe-2 col-form-label text-sm-end">상담 내용</label> <label for="dscsnCn--${pageName}" class="w-px-120 bg-lighter pe-2 col-form-label text-sm-end">상담 내용</label>
<textarea type="text" class="form-control w-80" id="dscsnCn--${pageName}" name="dscsnCn" data-map="DSCSN_CN" rows="5" data-maxlengthb="4000"></textarea> <textarea type="text" class="form-control w-85" id="dscsnCn--${pageName}" name="dscsnCn" data-map="DSCSN_CN" rows="5" data-maxlengthb="4000"></textarea>
</div> </div>
</div> </div>
</form> <!-- /입력 영역 --> </form> <!-- /입력 영역 -->
@ -69,6 +69,8 @@
**************************************************************************/ **************************************************************************/
// URL // URL
var ${pageName}PrefixUrl = "/sprt/sprt04"; var ${pageName}PrefixUrl = "/sprt/sprt04";
// 호출 용도
var ${pageName}CallPurpose = "${callPurpose}";
// FormFields // FormFields
var ${pageName}Fields = new FimsFormFields("#frmEdit--${pageName}"); var ${pageName}Fields = new FimsFormFields("#frmEdit--${pageName}");
@ -79,20 +81,15 @@
prefix : "cvlcptDscsn" prefix : "cvlcptDscsn"
, prefixName : "민원상담" , prefixName : "민원상담"
, keymapper : info => info ? info.CVLCPT_DSCSN_ID : "" , keymapper : info => info ? info.CVLCPT_DSCSN_ID : ""
, dataGetter : obj => obj.cvlcptDscsn , dataGetter : obj => obj.cvlcptDscsnInfo
}); });
${pageName}Control.onCurrentChange = item => { ${pageName}Control.onCurrentChange = item => {
if (!item) return;
// Dataset 셋팅 // Dataset 셋팅
${pageName}Fields.set(item); ${pageName}Fields.set(item);
// 민원상담을 등록시 접수구분을 선택할 수 있게 한다.
if (item.data.CVLCPT_DSCSN_ID == null || item.data.CVLCPT_DSCSN_ID == "") {
$("#cvlcptRcptSeCd--${pageName}").prop("disabled", false);
} else {
$("#cvlcptRcptSeCd--${pageName}").prop("disabled", true);
}
// 업무구분에 따른 url 변경 // 업무구분에 따른 url 변경
${pageName}Control.urls.create = wctx.url(item.data.TASK_SE_CD + ${pageName}PrefixUrl + "/020/create.do"); ${pageName}Control.urls.create = wctx.url(item.data.TASK_SE_CD + ${pageName}PrefixUrl + "/020/create.do");
${pageName}Control.urls.update = wctx.url(item.data.TASK_SE_CD + ${pageName}PrefixUrl + "/020/update.do"); ${pageName}Control.urls.update = wctx.url(item.data.TASK_SE_CD + ${pageName}PrefixUrl + "/020/update.do");
@ -104,7 +101,7 @@
// 저장 callback // 저장 callback
${pageName}Control.onSave = (resp) => { ${pageName}Control.onSave = (resp) => {
let dialogTitle = $("#" + ${pageName}Control.prefix + "Dialog").find("h5.modal-title").html(); 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); dialog.alert(showMessage);
@ -127,20 +124,12 @@
} }
/************************************************************************** /**************************************************************************
* 초기 셋팅 * 사용자 함수(function)
**************************************************************************/ **************************************************************************/
// 검색조건 초기값 셋팅
initForm${pageName} = () => {
}
// 이벤트 설정
setEvent${pageName} = () => {
}
/************************************************************************** /**************************************************************************
* function * 버튼 clickEvent
**************************************************************************/ **************************************************************************/
// 저장 // 저장
fnSave${pageName} = () => { fnSave${pageName} = () => {
@ -155,6 +144,48 @@
}); });
} }
/**************************************************************************
* 초기 셋팅
**************************************************************************/
// 이벤트 설정
setEvent${pageName} = () => {
// form-date 항목에서 키보드로 입력시 날짜 포맷팅 적용
$("#frmEdit--${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);
}
});
});
}
// 화면 초기 설정
initForm${pageName} = () => {
// 화면 초기화
$("#frmEdit--${pageName}")[0].reset();
// 달력 초기화
initDatepicker("frmEdit--${pageName}");
}
// 기본 데이터 설정
setFormData${pageName} = () => {
if (${pageName}CallPurpose == "view") { // view
// input 요소들을 disabled
$("#frmEdit--${pageName}").find("input,textarea,select").prop("disabled", true);
// button 요소들을 disabled
$("btnSave--${pageName}").prop("disabled", true);
} else if (${pageName}CallPurpose == "create") { // create
//
} else if (${pageName}CallPurpose == "update") { // update
$("#cvlcptRcptSeCd--${pageName}").prop("disabled", true);
}
}
/************************************************************************** /**************************************************************************
* script 진입 * script 진입
**************************************************************************/ **************************************************************************/
@ -162,11 +193,14 @@
// 이벤트 설정 // 이벤트 설정
setEvent${pageName}(); setEvent${pageName}();
// 화면 초기 설정 // 초기 기본 설정
initForm${pageName}(); initForm${pageName}();
// Data 셋팅 // Dataset 설정
${pageName}Control.setData([${cvlcptDscsn}]); ${pageName}Control.setData([${cvlcptDscsnInfo}]);
// 기본 데이터 설정
setFormData${pageName}();
}); });
</script> </script>

@ -33,12 +33,14 @@
<!-- 사유 --> <!-- 사유 -->
<div class="col-md-12"> <div class="col-md-12">
<label for="reason" class="w-px-120 bg-lighter pe-2 col-form-label text-end" id="ttlNm" >사유</label> <label for="reason" class="w-px-120 bg-lighter pe-2 col-form-label text-end" id="ttlNm" >사유</label>
<textarea type="text" class="form-control w-75" id="reason" name="reason" autocomplete="off" rows="2" data-maxlengthb="1000"></textarea> <textarea type="text" class="form-control w-75" id="reason" name="reason" autocomplete="off" rows="3" data-maxlengthb="1000"></textarea>
</div> </div>
</div> </div>
</div> </div>
</form> </form>
<p></p>
<div> <div>
<span class="container-page-btn"> <span class="container-page-btn">
<span class="container-window-btn-right"> <span class="container-window-btn-right">

Loading…
Cancel
Save