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

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

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

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

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

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

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

@ -703,16 +703,16 @@
// 이벤트 설정
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);
});

@ -89,7 +89,7 @@
<option value="mdfr">수정자</option>
</select>
<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>
</div>
@ -203,7 +203,7 @@
**************************************************************************/
var ${pageName}Control = new DatasetControl({
prefix : "epostGdcc"
, prefixName : "안내문 관리"
, prefixName : "전자우편 안내문"
, infoSize : "md"
, keymapper : info => info ? info.GDCC_ID : ""
, dataGetter : obj => obj.epostGdccList
@ -260,23 +260,17 @@
};
// 전자우편 안내문 dialog
${pageName}Control.getInfo = (callPurpose, gdccId) => {
//
if (typeof callPurpose == "undefined" || callPurpose == null || callPurpose == "") {
callPurpose = "view";
}
${pageName}Control.getInfo = (params) => {
if (!params) return;
let params = {
callPurpose : callPurpose
, sggCd : $("#sggCd--${pageName}").val() // 시군구 코드
, taskSeCd : $("input[name=taskSeCd]:checked").val() // 업무 구분 코드
};
let dialogTitle = "";
if (callPurpose == "view" || callPurpose == "update") {
// ID가 없다면.. 종료
if (typeof gdccId == "undefined" || gdccId == null || gdccId == "") return;
params.gdccId = gdccId; // 안내문 ID
if (params.callPurpose == "create") {
dialogTitle = ${pageName}Control.prefixName + " 등록";
} else if (params.callPurpose == "update") {
dialogTitle = ${pageName}Control.prefixName + " 수정";
} else {
dialogTitle = ${pageName}Control.prefixName + " 정보";
}
ajax.get({
@ -285,11 +279,10 @@
, success : resp => {
dialog.open({
id : "epostGdccDialog"
, title : "전자우편 안내문 정보"
, title : dialogTitle
, content : resp
, size : ${pageName}Control.infoSize
, init : () => { }
, onClose : () => { ${pageName}Control.load(${pageName}Control.query.pageNum); } // callback
, onClose : () => { refreshList${pageName}(); } // 자료 재조회
});
}
});
@ -298,12 +291,12 @@
// 삭제 callback
${pageName}Control.onRemove = (selected, resp) => {
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);
if (resp.saved) {
${pageName}Control._load();
refreshList${pageName}(); // 자료 재조회
}
}
@ -339,7 +332,7 @@
document.getElementById("${infoPrefix}Row--${pageName}").innerHTML, <%-- from template#${infoPrefix}Row --%>
(str, dataItem) => str
.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);
@ -370,6 +363,13 @@
/**************************************************************************
* 사용자 함수(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} = () => {
${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} = () => {
let gdccId = ${pageName}Control.dataset.getValue("GDCC_ID");
fnUpdate${pageName} = (gdccId) => {
// 안내문 ID 가 없다면.. 입력
if (typeof gdccId == "undefined" || gdccId == null || gdccId == "") {
gdccId = ${pageName}Control.dataset.getValue("GDCC_ID");
}
// 전자우편 안내문 ID 가 없다면.. return
if (typeof gdccId == "undefined" || gdccId == null || gdccId == "") return;
let params = {
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}();
// 보안모드
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);
});

@ -63,10 +63,10 @@
**************************************************************************/
// URL
var ${pageName}PrefixUrl = "/epst/epst02";
// FormFields
var ${pageName}Fields = new FimsFormFields("#frmEdit--${pageName}");
// infoDialog 호출 용도(view 조회(편집불가), create 등록, update 수정)
var ${pageName}CallPurpose = "${callPurpose}";
// FormFields
var ${pageName}Fields = new FimsFormFields("#frmEdit--${pageName}");
/**************************************************************************
* DatasetControl
@ -95,7 +95,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);
@ -108,7 +108,7 @@
${pageName}Control.save = (info) => {
if (!info) return;
let create = (${pageName}CallPurpose == "create"); // if 문
let create = (${pageName}CallPurpose == "create");
ajax.post({
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} = () => {
@ -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 진입
**************************************************************************/
@ -168,14 +187,14 @@
// 이벤트 설정
setEvent${pageName}();
// 화면 초기화
// 초기 기본 설정
initForm${pageName}();
// Dataset 셋팅 - 단건일 경우 setData
// Dataset 설정
${pageName}Control.setData([${epostGdccInfo}]);
// 화면 데이터 셋팅
setForm${pageName}();
// 기본 데이터 설정
setFormData${pageName}();
});
</script>

@ -389,9 +389,8 @@
dialog.alert(showMessage); // 메시지 출력
// 자료 재조회
if (resp.saved) {
refreshList${pageName}();
refreshList${pageName}(); // 자료 재조회
}
}
@ -478,7 +477,7 @@
});
}
// 삭제
// 삭제 callback
callbackRemove${pageName} = (obj) => {
let selected = ${pageName}Control.dataset.getKeys("selected");
@ -571,7 +570,7 @@
// 삭제 사유 입력
let callbackFuncName = "callbackRemove${pageName}";
let popupWidth = 640;
let popupHeight = 360;
let popupHeight = 240;
let popupX = (window.screen.width / 2) - (popupWidth / 2);
let popupY= (window.screen.height / 2) - (popupHeight / 2);
@ -660,16 +659,16 @@
// 이벤트 설정
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);
});

@ -21,12 +21,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>
<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 class="col-md-12">
<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" />
</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>
<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 />
<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 class="col-md-12">
@ -77,7 +77,7 @@
**************************************************************************/
// URL
var ${pageName}PrefixUrl = "/excl/excl01";
// 호출 용도
// infoDialog 호출 용도(view 조회(편집불가), create 등록, update 수정)
var ${pageName}CallPurpose = "${callPurpose}";
// FormFields
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");
// 부과제외구분에 따른 부과제외사유 셋팅
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];
$("#levyExclSeCd--${pageName}").val(cmnCode.code);
@ -205,6 +205,9 @@
// 화면 초기화
initForm${pageName} = () => {
// 화면 초기화
$("#frmEdit--${pageName}")[0].reset();
// 달력 초기화
initDatepicker("frmEdit--${pageName}");
$("#levyExclYmd--${pageName}").datepicker("setDate", new Date());
@ -219,9 +222,19 @@
// 기본 데이터 설정
setFormData${pageName} = () => {
// create 로 호출됐을 경우..
if (${pageName}CallPurpose == "create") {
$("#levyExclYmd--${pageName}").datepicker("setDate", new Date());
$("#vhrno--${pageName}").prop("readonly", true); // 차량번호
$("#levyExclSeNm--${pageName}").prop("readonly", true); // 부과 제외 구분
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);
// 자료 재조회
if (resp.saved) {
refreshList${pageName}();
refreshList${pageName}(); // 자료 재조회
}
}
@ -503,7 +502,7 @@
});
}
// 삭제
// 삭제 callback
callbackRemove${pageName} = (obj) => {
let selected = ${pageName}Control.dataset.getKeys("selected");
@ -611,7 +610,7 @@
// 삭제 사유 입력
let callbackFuncName = "callbackRemove${pageName}";
let popupWidth = 640;
let popupHeight = 360;
let popupHeight = 240;
let popupX = (window.screen.width / 2) - (popupWidth / 2);
let popupY= (window.screen.height / 2) - (popupHeight / 2);
@ -679,6 +678,7 @@
// dataset 초기화
${pageName}Control.dataset.clear();
}
// URL 설정
setURL${pageName} = (taskSeCd) => {
${pageName}Control.urls.load = wctx.url( taskSeCd + ${pageName}PrefixUrl + "/010/list.do"); // 조회
@ -700,16 +700,16 @@
// 이벤트 설정
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);
});

@ -21,33 +21,33 @@
<!-- 차량번호 -->
<div class="col-md-4">
<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 class="col-md-4">
<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 class="col-md-4">
<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 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" />
</div>
<!-- 접수 일자 -->
<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"
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 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>
<option value="">선택하세요</option>
<c:forEach items="${FIM029List}" var="item">
@ -70,7 +70,7 @@
</div>
<!-- 소유주 관계 구분 코드 -->
<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">
<option value="">선택하세요</option>
<c:forEach items="${FIM032List}" var="item">
@ -89,7 +89,7 @@
</div>
<!-- 진술자 상세주소 -->
<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" />
</div>
<!-- 진술자 연락처 -->
@ -104,12 +104,12 @@
</div>
<!-- 의견 제출 내용 -->
<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>
</div>
<!-- 의견 제출 구분 코드 -->
<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>
<option value="">선택하세요</option>
<c:forEach items="${FIM033List}" var="item">
@ -119,12 +119,12 @@
</div>
<!-- 의견 제출 요지 -->
<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" />
</div>
<!-- 담당자 검토 의견 -->
<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>
</div>
@ -139,7 +139,7 @@
</form>
<div class="row g-1">
<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>
<!-- 첨부 파일 테이블 -->
@ -153,7 +153,8 @@
<th class="text-center" style="width: 120px">다운로드</th>
<th class="text-center" style="width: 120px">삭제</th>
</thead>
<tbody></tbody>
<tbody>
</tbody>
</table>
</div> <!-- 첨부 파일 테이블 <div class="table-responsive"> -->
</div> <!-- 첨부 파일 <div class="card"> -->
@ -164,7 +165,7 @@
<span class="container-page-btn">
<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>
</div>
@ -179,7 +180,7 @@
**************************************************************************/
// URL
var ${pageName}PrefixUrl = "/excl/excl02";
// 호출 용도
// infoDialog 호출 용도(view 조회(편집불가), create 등록, update 수정)
var ${pageName}CallPurpose = "${callPurpose}";
// FormFields
var ${pageName}Fields = new FimsFormFields("#frmEdit--${pageName}");
@ -232,7 +233,7 @@
if (!info) return;
let formData = new FormData();
let create = isEmpty(info.opnnId);
let create = (${pageName}CallPurpose == "create");
// 첨부파일 배열에 있는 내용을 등록
for (let iLoop = 0; iLoop < $fileListArr.length; iLoop++) {
@ -269,9 +270,7 @@
// 납부자 정보를 진술자 정보로 입력한다.
fnPayer${pageName} = () => {
// 수정이라면 동작하지 않게 한다.
if (${pageName}Control.getValue("OPNN_ID") != "") {
return;
}
if (${pageName}Control.getValue("OPNN_ID") != "") return;
$("select[name='ownrRelCd'] option:contains('본인')").attr("selected", "selected");
$("#sttrNm--${pageName}").val(${pageName}Control.getValue("RTPYR_NM"));
@ -454,24 +453,34 @@
// 화면 초기 설정
initForm${pageName} = () => {
// 화면 초기화
$("#frmEdit--${pageName}")[0].reset();
// 달력 초기화
initDatepicker("frmEdit--${pageName}");
$("#rcptYmd--${pageName}").datepicker("setDate", new Date());
// view 로 호출됐을 경우..
if (${pageName}CallPurpose == "view") {
$("btnSave--${pageName}").attr("disabled", true);
} else {
$("btnSave--${pageName}").attr("disabled", false);
}
}
// 기본 데이터 설정
setFormData${pageName} = () => {
// create 로 호출됐을 경우..
if (${pageName}CallPurpose == "create") {
$("#rcptNo--${pageName}").prop("readonly", true);
$("#rcptYmd--${pageName}").datepicker("setDate", new Date());
$("#vhrno--${pageName}").prop("readonly", true); // 차량번호
$("#crdnYmd--${pageName}").prop("readonly", true); // 단속 일자
$("#rtpyrNm--${pageName}").prop("readonly", true); // 납부자 명
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}();
// 화면 초기 설정
// 초기 기본 설정
initForm${pageName}();
// Dataset 설정
${pageName}Control.setData([${opnnSbmsnInfo}]);
// 화면 데이터 셋팅
// 기본 데이터 설정
setFormData${pageName}();
});

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

@ -277,37 +277,6 @@
$("#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 이벤트
**************************************************************************/
@ -322,7 +291,7 @@
document.getElementById("${infoPrefix}Row--${pageName}").innerHTML, <%-- from template#${infoPrefix}Row --%>
(str, dataItem) => str
.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);
@ -353,6 +322,38 @@
/**************************************************************************
* 사용자 함수(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} = () => {
${pageName}Control.untilPageNum = ${pageName}Control.query.pageNum;
@ -410,7 +411,7 @@
if (typeof bfrCrdnId == "undefined" || bfrCrdnId == null || bfrCrdnId == "") return;
// 개별총정보 dialog
${pageName}Control.getInfo(bfrCrdnId, "noControlName");
getTotalInfo${pageName}(bfrCrdnId, "noControlName");
}
/**************************************************************************
@ -459,7 +460,6 @@
// 달력 초기화
initDatepicker("frmSearch--${pageName}");
$("#schReRegYmdFrom--${pageName}").datepicker("setDate", new Date());
$("#schReRegYmdTo--${pageName}").datepicker("setDate", new Date());
@ -484,19 +484,19 @@
* 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);
});

@ -972,33 +972,6 @@
// 화면 데이터 셋팅
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이 유지)
$("#divBlank1--${pageName}").hide(); // 빈 칸1
$("#divBlank2--${pageName}").hide(); // 빈 칸2
@ -1037,6 +1010,35 @@
$("#divBlank2--${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 라면 버튼 비활성화
if (${pageNameMain}CallPurpose == "view") {
// button 요소들을 disabled = true
$("#btnCreateOpnnSbmsn--${pageName}").prop("disabled", true);
$("#btnUpdateOpnnSbmsn--${pageName}").prop("disabled", true);
$("#btnRemoveOpnnSbmsn--${pageName}").prop("disabled", true);
$("#btnPrintDlbrtLtfr--${pageName}").prop("disabled", true);
$("#btnUpdateOpnnSbmsnDlbrt--${pageName}").prop("disabled", true);
} else {
// button 요소들을 disabled = false
$("#btnCreateOpnnSbmsn--${pageName}").prop("disabled", false);
$("#btnUpdateOpnnSbmsn--${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>
<!-- 버튼 우측 정렬 -->
<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 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 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>
</span> <!-- <span class="container-window-btn-right"> -->
@ -262,29 +262,11 @@
});
}
/**************************************************************************
* 초기 셋팅
**************************************************************************/
// 화면 초기화
initForm${pageName} = () => {
$("#frmEdit--${pageName}")[0].reset(); // 화면 초기화
}
// 이벤트 설정
setEvent${pageName} = () => {
}
// 화면 초기값 설정
setForm${pageName} = () => {
}
/**************************************************************************
* 버튼 clickEvent
**************************************************************************/
// 민원 상담 내용 등록
fnCreateCvlcptDscsn${pageName} = () => {
fnCreate${pageName} = () => {
let crdnId = $("#crdnId--${pageNameMain}").val();
// 단속 ID 가 없다면.. return
@ -301,7 +283,7 @@
}
// 민원 상담 내용 수정
fnUpdateCvlcptDscsn${pageName} = () => {
fnUpdate${pageName} = () => {
let cvlcptDscsnId = ${pageName}Control.dataset.getValue("CVLCPT_DSCSN_ID");
// 민원 상담 ID 가 없다면.. return
@ -319,7 +301,7 @@
}
// 민원상담 내용 삭제
fnRemoveCvlcptDscsn${pageName} = () => {
fnRemove${pageName} = () => {
// 민원상담 ID
let cvlcptDscsnId = ${pageName}Control.dataset.getValue("CVLCPT_DSCSN_ID");
@ -342,21 +324,65 @@
);
}
/**************************************************************************
* 초기 셋팅
**************************************************************************/
// 이벤트 설정
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} = () => {
// 화면 호출(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() {
// 화면 초기 설정
initForm${pageName}();
// 이벤트 설정
setEvent${pageName}();
// 화면 초기값 설정
setForm${pageName}();
// 초기 기본 설정
initForm${pageName}();
// Data 셋팅
// Dataset 설정
${pageName}Control.setData(${cvlcptDscsn});
// 기본 데이터 설정
setFormData${pageName}();
});
</script>

@ -13,14 +13,14 @@
<div>
<!-- 상단 버튼 -->
<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>
<span class="container-window-btn-right">
<button type="button" class="btn btn-search w-px-120" id="btnSearch--${pageName}" title="검색" onclick="fnSearchList${pageName}();">
검색
</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>
</span>
@ -122,7 +122,7 @@
<option value="mdfr">수정자</option>
</select>
<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>
</div>
@ -239,12 +239,13 @@
**************************************************************************/
var ${pageName}Control = new DatasetControl({
prefix : "cvlcptDscsn"
, prefixName : "민원상담내용"
, prefixName : "민원상담"
, infoSize : "lg"
, keymapper : info => info ? info.CVLCPT_DSCSN_ID : ""
, dataGetter : obj => obj.cvlcptDscsnList
, appendData : true
, tableRenderComplete : false // dataTables 에 자료 추가 완료 여부
, untilPageNum : 0 // 현재 페이지 번호
, tableRenderComplete : false // dataTables 에 자료 추가 완료 여부
, formats : {
DSCSN_YMD : dateFormat
, REG_DT : datetimeFormat
@ -257,7 +258,7 @@
**************************************************************************/
// Dataset 변경 이벤트
${pageName}Control.onDatasetChange = obj => {
renderList${pageName}();
renderList${pageName}(obj.${infoPrefix}Total);
$("#paging--${pageName}").setPagingInfo({
list : ${pageName}Control.dataset
@ -268,7 +269,7 @@
, func : "${pageName}Control.load({index})"
});
${pageName}Control.tableRenderComplete = true; // dataTables 에 자료 추가 완료
${pageName}Control.tableRenderComplete = true; // dataTables 에 자료 추가 완료
};
// 현재 선택 자료 변경 이벤트
@ -295,17 +296,18 @@
};
// 민원상담 dialog
${pageName}Control.getInfo = (cvlcptDscsnId) => {
if (typeof cvlcptDscsnId == "undefined" || cvlcptDscsnId == null || cvlcptDscsnId == "") {
return;
}
${pageName}Control.getInfo = (params) => {
if (!params) return;
let params = {
callPurpose : "update"
, sggCd : ${pageName}Control.dataset.getValue("SGG_CD")
, taskSeCd : ${pageName}Control.dataset.getValue("TASK_SE_CD")
, cvlcptDscsnId : cvlcptDscsnId
};
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 : wctx.url(params.taskSeCd + ${pageName}PrefixUrl + "/020/info.do")
@ -313,52 +315,43 @@
, success : resp => {
dialog.open({
id : ${pageName}Control.prefixed("Dialog")
, title : ${pageName}Control.prefixName + " 수정"
, title : dialogTitle
, content : resp
, size : "lg"
, init : () => { }
, onClose : () => { ${pageName}Control.load(${pageName}Control.query.pageNum); } // callback 자료 재조회
, onClose : () => { refreshList${pageName}(); } // 자료 재조회
});
}
});
}
// 삭제 callback
${pageName}Control.onRemove = (selected, resp) => {
let btnTitle = $("#btnRemove--${pageName}").attr("title");
let showMessage = resp.retMessage.replace(/[S]|[F]/g, btnTitle);
${pageName}Control.onRemove = (resp) => {
let btnTitle = $("#btnRemove--${pageName}").attr("title");
let showMessage = resp.rtnMsg.replace(/[S]|[F]/g, btnTitle);
dialog.alert(showMessage);
if (resp.saved) {
${pageName}Control._load();
refreshList${pageName}(); // 자료 재조회
}
}
// 삭제
${pageName}Control.remove = (params) => {
let selected = ${pageName}Control.dataset.getKeys("selected");
if (selected.length < 1) return;
if (!params) {
params = {};
params[${pageName}Control.prefixed("IDs")] = selected.join(",");
}
if (!params) return;
ajax.post({
url : ${pageName}Control.urls.remove
, data : params
, success : resp => ${pageName}Control.onRemove(selected, resp)
, success : resp => ${pageName}Control.onRemove(resp)
});
}
/**************************************************************************
*
* DataTables 이벤트
**************************************************************************/
// DataTables에 click, dbclick 이벤트
renderList${pageName} = () => {
renderList${pageName} = (totalSize) => {
let ${infoPrefix}List = ${pageName}Control.dataset;
let empty = ${infoPrefix}List.empty;
@ -368,93 +361,79 @@
document.getElementById("${infoPrefix}Row--${pageName}").innerHTML, <%-- from template#${infoPrefix}Row --%>
(str, dataItem) => str
.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);
//보안모드
fn_securityModeToggle($("#securityMode--top").is(":checked"));
}
/**************************************************************************
* 초기 셋팅
**************************************************************************/
// 이벤트
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);
}
});
});
// 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");
if (itemsCnt >= totCnt) {
return;
}
// DataTables에 스크롤이 맨 밑으로 이동했을 때 이벤트
scrollDataList${pageName} = () => {
${pageName}Control.tableRenderComplete = false; // dataTables 에 자료 추가 false
if ((el[0].scrollHeight - el.scrollTop() + VERTICAL_SCROLL_HEIGHT) <= el.outerHeight()) {
${pageName}Control.tableRenderComplete = false; // dataTables 에 자료 추가 완료
${pageName}Control.load(${pageName}Control.query.pageNum + 1);
}
});
${pageName}Control.load(${pageName}Control.query.pageNum + 1);
}
// 화면 초기값 셋팅
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");
});
/**************************************************************************
* 사용자 함수(function)
**************************************************************************/
// 삭제 callback
callbackRemove${pageName} = (obj) => {
let selected = ${pageName}Control.dataset.getKeys("selected");
// 달력 초기화
initDatepicker("frmSearch--${pageName}");
if (selected.length < 1) return;
$("#schDscsnYmdFrom--${pageName}").datepicker("setDate", DateUtil.getDateDay(-1).date);
$("#schDscsnYmdTo--${pageName}").datepicker("setDate", new Date());
// 서버에 전송할 data(파라미터) 생성
let params = {
callPurpose : "remove" // 호출 용도
, delRsn : obj.reason // 삭제 사유
};
params[${pageName}Control.prefixed("IDs")] = selected.join(","); // IDs
// DataTables width 변경 조정
$("#DataTables_Table_0--${pageName}").find("th").resizable( {handles : "e"} );
${pageName}Control.remove(params);
}
// 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"); // 개별총정보
// 검색 자료 재조회
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
**************************************************************************/
// 초기화 버튼 이벤트
fnReset${pageName} = () => {
fnResetAndChangeBiz${pageName}();
// 업무 구분 변경
fnResetAndChangeBiz${pageName} = (taskSeCd) => {
// 업무 구분 코드
if (typeof taskSeCd == "undefined" || taskSeCd == null || taskSeCd == "") {
taskSeCd = $("#layout-navbar input[name='taskSeCd']:checked").val();
}
// 초기 기본 설정
initForm${pageName}(taskSeCd);
// URL 설정
setURL${pageName}(taskSeCd);
// 기본 데이터 설정
setFormData${pageName}();
}
// 검색 버튼 이벤트
@ -462,8 +441,8 @@
// 검색조건
${pageName}Control.query = ${pageName}Fields.get();
${pageName}Control.query.fetchSize = FETCH_XS; // 한번에 조회되는 자료 건수 FETCH_XS = 30
${pageName}Control.query.delYn = "N"; // 삭제 여부
${pageName}Control.query.fetchSize = ${pageName}Control.defaultFetchSize; // 한번에 조회되는 자료 건수 FETCH_XS = 30
${pageName}Control.query.delYn = "N"; // 삭제 여부
${pageName}Control.load();
}
@ -473,61 +452,137 @@
}
// 업무 구분 변경
fnResetAndChangeBiz${pageName} = (taskSeCd) => {
// 화면 초기화
$("#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);
// URL 설정
setURL${pageName}(taskSeCd);
}
// 사용자 조회 버튼 이벤트
fnUser${pageName} = () => {
fnFindUser${pageName} = () => {
}
// 수정 버튼 이벤트
fnUpdate${pageName} = () => {
${pageName}Control.getInfo(${pageName}Control.dataset.getValue("CVLCPT_DSCSN_ID"));
fnUpdate${pageName} = (cvlcptDscsnId) => {
// 민원상담 ID 가 없다면.. 입력
if (typeof cvlcptDscsnId == "undefined" || cvlcptDscsnId == null || cvlcptDscsnId == "") {
cvlcptDscsnId = ${pageName}Control.dataset.getValue("CVLCPT_DSCSN_ID");
}
let params = {
callPurpose : "update"
, sggCd : ${pageName}Control.dataset.getValue("SGG_CD") // 시군구 코드
, taskSeCd : ${pageName}Control.dataset.getValue("TASK_SE_CD") // 업무 구분 코드
, cvlcptDscsnId : cvlcptDscsnId // 민원상담 ID
};
${pageName}Control.getInfo(params);
}
// 삭제 버튼 이벤트
fnRemove${pageName} = () => {
// 삭제 메세지 확인
dialog.alert({
content : "선택한 민원상담 정보를 삭제하시겠습니까?"
content : "선택하신 " + ${pageName}Control.prefixName + " 정보를 삭제하시겠습니까?"
, 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 진입
**************************************************************************/
$(document).ready(function() {
// 보안모드
fn_securityModeToggle($("#securityMode--top").is(":checked"));
// 이벤트 설정
setEvent${pageName}();
// 시군구 코드 설정
$("#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);
});

@ -4,7 +4,7 @@
<!-- inner page html -->
<div class="content-wrapper">
<!-- 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>
<!-- Page Body -->
@ -43,7 +43,7 @@
<!-- 상담 내용 -->
<div class="col-md-12">
<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>
</form> <!-- /입력 영역 -->
@ -69,6 +69,8 @@
**************************************************************************/
// URL
var ${pageName}PrefixUrl = "/sprt/sprt04";
// 호출 용도
var ${pageName}CallPurpose = "${callPurpose}";
// FormFields
var ${pageName}Fields = new FimsFormFields("#frmEdit--${pageName}");
@ -79,20 +81,15 @@
prefix : "cvlcptDscsn"
, prefixName : "민원상담"
, keymapper : info => info ? info.CVLCPT_DSCSN_ID : ""
, dataGetter : obj => obj.cvlcptDscsn
, dataGetter : obj => obj.cvlcptDscsnInfo
});
${pageName}Control.onCurrentChange = item => {
if (!item) return;
// Dataset 셋팅
${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 변경
${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");
@ -104,7 +101,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);
@ -127,20 +124,12 @@
}
/**************************************************************************
* 초기 셋팅
* 사용자 함수(function)
**************************************************************************/
// 검색조건 초기값 셋팅
initForm${pageName} = () => {
}
// 이벤트 설정
setEvent${pageName} = () => {
}
/**************************************************************************
* function
* 버튼 clickEvent
**************************************************************************/
// 저장
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 진입
**************************************************************************/
@ -162,11 +193,14 @@
// 이벤트 설정
setEvent${pageName}();
// 화면 초기 설정
// 초기 기본 설정
initForm${pageName}();
// Data 셋팅
${pageName}Control.setData([${cvlcptDscsn}]);
// Dataset 설정
${pageName}Control.setData([${cvlcptDscsnInfo}]);
// 기본 데이터 설정
setFormData${pageName}();
});
</script>

@ -33,12 +33,14 @@
<!-- 사유 -->
<div class="col-md-12">
<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>
</form>
<p></p>
<div>
<span class="container-page-btn">
<span class="container-window-btn-right">

Loading…
Cancel
Save