납부자 수정 기능 수정.

main
JoJH 2 weeks ago
parent 0dfa096e39
commit a678def771

@ -4,433 +4,389 @@
<c:set var="prefixName" scope="request">납부자 상세 정보</c:set> <c:set var="prefixName" scope="request">납부자 상세 정보</c:set>
<!-- inner page html --> <!-- inner page html -->
<div class="content-pop"> <div class="content-pop" data-doctx="${pageName}">
<!-- Content --> <!-- Content -->
<div class="container flex-grow-1 px-0"> <div class="container flex-grow-1 px-0">
<div class="card"> <div class="card">
<!-- 입력 영역 --> <!-- 입력 영역 -->
<form id="frmEdit--${pageName}" name="frmEdit"> <form name="frmEdit">
<!-- hidden --> <!-- hidden -->
<input type="hidden" id="sggCd--${pageName}" name="sggCd" data-map="SGG_CD" /> <input type="hidden" name="sggCd" data-map="SGG_CD" />
<input type="hidden" id="taskSeCd--${pageName}" name="taskSeCd" data-map="TASK_SE_CD" /> <input type="hidden" name="taskSeCd" data-map="TASK_SE_CD" />
<input type="hidden" id="crdnId--${pageName}" name="crdnId" data-map="CRDN_ID" /> <input type="hidden" name="crdnId" data-map="CRDN_ID" />
<input type="hidden" id="rtpyrId--${pageName}" name="rtpyrId" data-map="RTPYR_ID" /> <input type="hidden" name="rtpyrId" data-map="RTPYR_ID" />
<input type="hidden" id="addrSn--${pageName}" name="addrSn" data-map="ADDR_SN" /> <input type="hidden" name="addrSn" data-map="ADDR_SN" />
<input type="hidden" id="rtpyrInptSeCd--${pageName}" name="rtpyrInptSeCd" data-map="RTPYR_INPT_SE_CD" /> <input type="hidden" name="rtpyrInptSeCd" data-map="RTPYR_INPT_SE_CD" />
<input type="hidden" id="addrInptSeCd--${pageName}" name="addrInptSeCd" data-map="ADDR_INPT_SE_CD" /> <input type="hidden" name="addrInptSeCd" data-map="ADDR_INPT_SE_CD" />
<div class="row g-1"> <div class="row g-1">
<!-- 단속일시 --> <div class="col-md-6">
<div class="col-md-6"> <label is="name-label" class="col-form-label bg-lighter pe-2 w-px-120 text-sm-end" for="crdnYmdTm">단속일시</label>
<label for="crdnYmdTm--${pageName}" class="w-px-120 bg-lighter pe-2 col-form-label text-sm-end">단속일시</label> <input is="id-input" type="text" class="form-control w-35" name="crdnYmdTm" data-map="CRDN_YMD_TM" data-fmt-type="dt" readonly />
<input type="text" class="form-control w-35" id="crdnYmdTm--${pageName}" name="crdnYmdTm" data-map="CRDN_YMD_TM" readonly /> </div>
</div> <div class="col-md-6">
<!-- 차량번호 --> <label is="name-label" class="col-form-label bg-lighter pe-2 w-px-120 text-sm-end" for="vhrno">차량번호</label>
<div class="col-md-6"> <input is="id-input" type="text" class="form-control w-25" name="vhrno" data-map="VHRNO" readonly />
<label for="vhrno--${pageName}" class="w-px-120 bg-lighter pe-2 col-form-label text-sm-end">차량번호</label> <button type="button" class="btn btn-primary" name="btnVehicle" title="차량 검색">
<input type="text" class="form-control w-25" id="vhrno--${pageName}" name="vhrno" data-map="VHRNO" readonly /> 검색
<button type="button" class="btn btn-sm btn-outline-dark" id="btnVehicle--${pageName}" title="차량 검색""> </button>
검색 </div>
</button> <div class="col-md-6">
</div> <label is="name-label" class="col-form-label bg-lighter pe-2 w-px-120 text-sm-end required" for="rtpyrSeCd">납부자구분</label>
<!-- 납부자 구분 코드 --> <select is="id-select" class="form-select" name="rtpyrSeCd" data-map="RTPYR_SE_CD" required>
<div class="col-md-6"> <option value="">선택하세요</option>
<label for="rtpyrSeCd--${pageName}" class="w-px-120 bg-lighter pe-2 col-form-label text-sm-end required">납부자 구분</label> <c:forEach items="${FIM011List}" var="item">
<select class="form-select" id="rtpyrSeCd--${pageName}" name="rtpyrSeCd" data-map="RTPYR_SE_CD" required> <option value="${item.code}">${item.value}</option>
<option value="">선택하세요</option> </c:forEach>
<c:forEach items="${FIM011List}" var="item"> </select>
<option value="${item.code}">${item.value}</option> </div>
</c:forEach> <div class="col-md-6">
</select> <label is="name-label" class="col-form-label bg-lighter pe-2 w-px-120 text-sm-end required" for="rtpyrSttsCd">납부자상태</label>
</div> <select is="id-select" class="form-select" name="rtpyrSttsCd" data-map="RTPYR_STTS_CD" required>
<!-- 납부자 상태 코드 --> <option value="">선택하세요</option>
<div class="col-md-6"> <c:forEach items="${FIM014List}" var="item">
<label for="rtpyrSttsCd--${pageName}" class="w-px-120 bg-lighter pe-2 col-form-label text-sm-end">납부자 상태</label> <option value="${item.code}">${item.value}</option>
<select class="form-select" id="rtpyrSttsCd--${pageName}" name="rtpyrSttsCd" data-map="RTPYR_STTS_CD"> </c:forEach>
<option value="">선택하세요</option> </select>
<c:forEach items="${FIM014List}" var="item"> </div>
<option value="${item.code}">${item.value}</option> <div class="col-md-6">
</c:forEach> <label is="name-label" class="col-form-label bg-lighter pe-2 w-px-120 text-sm-end required" for="rtpyrNm">납부자성명</label>
</select> <input is="id-input" type="text" class="form-control w-35" name="rtpyrNm" data-map="RTPYR_NM" required />
</div> </div>
<!-- 납부자 명 --> <div class="col-md-6">
<div class="col-md-6"> <label is="name-label" class="col-form-label bg-lighter pe-2 w-px-120 text-sm-end required" for="rtpyrNo">납부자번호</label>
<label for="rtpyrNm--${pageName}" class="w-px-120 bg-lighter pe-2 col-form-label text-sm-end required">납부자 성명</label> <input is="id-input" type="text" class="form-control w-30" name="rtpyrNo" data-map="RTPYR_NO" required />
<input type="text" class="form-control w-35" id="rtpyrNm--${pageName}" name="rtpyrNm" data-map="RTPYR_NM" required /> </div>
</div> <div class="col-md-6">
<!-- 납부자 번호 --> <label is="name-label" class="col-form-label bg-lighter pe-2 w-px-120 text-sm-end" for="rtpyrTelno">전화번호</label>
<div class="col-md-6"> <input is="id-input" type="text" class="form-control w-35" name="rtpyrTelno" data-map="RTPYR_TELNO" />
<label for="rtpyrNo--${pageName}" class="w-px-120 bg-lighter pe-2 col-form-label text-sm-end required">납부자 번호</label> </div>
<input type="text" class="form-control w-30" id="rtpyrNo--${pageName}" name="rtpyrNo" data-map="RTPYR_NO" required /> <div class="col-md-6">
</div> <label is="name-label" class="col-form-label bg-lighter pe-2 w-px-120 text-sm-end" for="rtpyrMblTelno">휴대전화번호</label>
<!-- 납부자 전화번호 --> <input is="id-input" type="text" class="form-control w-35" name="rtpyrMblTelno" data-map="RTPYR_MBL_TELNO" />
<div class="col-md-6"> </div>
<label for="rtpyrTelno--${pageName}" class="w-px-120 bg-lighter pe-2 col-form-label text-sm-end">전화번호</label> <div class="col-md-12">
<input type="text" class="form-control w-35" id="rtpyrTelno--${pageName}" name="rtpyrTelno" data-map="RTPYR_TELNO" /> <label is="name-label" class="col-form-label bg-lighter pe-2 w-px-120 text-sm-end" for="rtpyrEml">이메일</label>
</div> <input is="id-input" type="text" class="form-control w-30" name="rtpyrEml" data-map="RTPYR_EML" />
<!-- 납부자 휴대전화번호 --> </div>
<div class="col-md-6"> <div class="col-md-12">
<label for="rtpyrMblTelno--${pageName}" class="w-px-120 bg-lighter pe-2 col-form-label text-sm-end">휴대전화번호</label> <label is="name-label" class="col-form-label bg-lighter pe-2 w-px-120 text-sm-end" for="addr">주소</label>
<input type="text" class="form-control w-35" id="rtpyrMblTelno--${pageName}" name="rtpyrMblTelno" data-map="RTPYR_MBL_TELNO" /> <input is="id-input" type="text" class="form-control w-70" name="addr" data-map="ADDR" readonly />
</div> <input is="id-input" type="text" class="form-control w-px-75" name="zip" data-map="ZIP" readonly />
<!-- 납부자 이메일 --> <button type="button" class="btn btn-primary" name="btnZipCode" title="우편번호검색">
<div class="col-md-12"> 검색
<label for="rtpyrEml--${pageName}" class="w-px-120 bg-lighter pe-2 col-form-label text-sm-end">이메일</label> </button>
<input type="text" class="form-control w-30" id="rtpyrEml--${pageName}" name="rtpyrEml" data-map="RTPYR_EML" /> </div>
</div> <div class="col-md-12">
<!-- 주소 --><!-- 우편번호 --> <label is="name-label" class="col-form-label bg-lighter pe-2 w-px-120 text-sm-end" for="dtlAddr">주소</label>
<div class="col-md-12"> <input is="id-input" type="text" class="form-control w-78" name="dtlAddr" data-map="DTL_ADDR" readonly />
<label for="addr--${pageName}" class="w-px-120 bg-lighter pe-2 col-form-label text-sm-end required">주소</label> <button type="button" class="btn btn-primary" name="btnEditAddr" title="주소수정">
<input type="text" class="form-control w-70" id="addr--${pageName}" name="addr" data-map="ADDR" required /> 주소수정
<input type="text" class="form-control w-px-75" id="zip--${pageName}" name="zip" data-map="ZIP" required /> </button>
<button type="button" class="btn btn-sm btn-outline-dark" id="btnZipCode--${pageName}" title="우편번호검색"> </div>
검색 <div class="col-md-12">
</button> <label is="name-label" class="col-form-label bg-lighter pe-2 w-px-120 text-sm-end" for="roadNmCd">도로명코드</label>
</div> <input is="id-input" type="text" class="form-control w-px-120" name="roadNmCd" data-map="ROAD_NM_CD" readonly />
<!-- 상세주소 --> <input is="id-input" type="text" class="form-control w-px-40" name="udgdSeCd" data-map="UDGD_SE_CD" readonly />
<div class="col-md-12"> <input is="id-input" type="text" class="form-control w-px-60" name="bmno" data-map="BMNO" readonly />
<label for="dtlAddr--${pageName}" class="w-px-120 bg-lighter pe-2 col-form-label text-sm-end">상세주소</label> <input is="id-input" type="text" class="form-control w-px-60" name="bsno" data-map="BSNO" readonly />
<input type="text" class="form-control w-78" id="dtlAddr--${pageName}" name="dtlAddr" data-map="DTL_ADDR" /> <input is="id-input" type="text" class="form-control w-px-230" name="bldgMngNo" data-map="BLDG_MNG_NO" readonly />
<button type="button" class="btn btn-sm btn-outline-dark" id="btnEditAddr--${pageName}" title="주소수정"> </div>
주소수정 <div class="col-md-6">
</button> <label is="name-label" class="col-form-label bg-lighter pe-2 w-px-120 text-sm-end" for="stdgCd">법정동코드</label>
</div> <input is="id-input" type="text" class="form-control w-px-120" name="stdgCd" data-map="STDG_CD" readonly />
<!-- 도로명 코드 --> <input is="id-input" type="text" class="form-control w-px-40" name="mtnSeCd" data-map="MTN_SE_CD" readonly />
<div class="col-md-12"> <input is="id-input" type="text" class="form-control w-px-60" name="mno" data-map="MNO" readonly />
<label for="roadNmCd--${pageName}" class="w-px-120 bg-lighter pe-2 col-form-label text-sm-end">도로명코드</label> <input is="id-input" type="text" class="form-control w-px-60" name="sno" data-map="SNO" readonly />
<input type="text" class="form-control w-px-120" id="roadNmCd--${pageName}" name="roadNmCd" data-map="ROAD_NM_CD" readonly /> </div>
<input type="text" class="form-control w-px-40" id="udgdSeCd--${pageName}" name="udgdSeCd" data-map="UDGD_SE_CD" readonly /> <div class="col-md-6">
<input type="text" class="form-control w-px-60" id="bmno--${pageName}" name="bmno" data-map="BMNO" readonly /> <label is="name-label" class="col-form-label bg-lighter pe-2 w-px-120 text-sm-end" for="dongCd">행정동코드</label>
<input type="text" class="form-control w-px-60" id="bsno--${pageName}" name="bsno" data-map="BSNO" readonly /> <input is="id-input" type="text" class="form-control w-30" name="dongCd" data-map="DONG_CD" readonly />
<input type="text" class="form-control w-px-230" id="bldgMngNo--${pageName}" name="bldgMngNo" data-map="BLDG_MNG_NO" readonly /> </div>
</div> </div>
<!-- 법정동 코드 --> </form>
<div class="col-md-6"> <!-- 입력 영역 -->
<label for="stdgCd--${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="stdgCd--${pageName}" name="stdgCd" data-map="STDG_CD" readonly /> <!-- 업무 버튼 및 건수 표시 -->
<input type="text" class="form-control w-px-40" id="mtnSeCd--${pageName}" name="mtnSeCd" data-map="MTN_SE_CD" readonly /> <div>
<input type="text" class="form-control w-px-50" id="mno--${pageName}" name="mno" data-map="MNO" readonly /> <span class="container-page-btn">
<input type="text" class="form-control w-px-50" id="sno--${pageName}" name="sno" data-map="SNO" readonly /> <!-- 업무 버튼 -->
</div> <span class="container-window-btn-right">
<!-- 행정동 코드 --> <button type="button" class="btn btn-primary w-px-120" name="btnSave" title="저장">
<div class="col-md-6"> 저장
<label for="dongCd--${pageName}" class="w-px-120 bg-lighter pe-2 col-form-label text-sm-end">행정동코드</label> </button>
<input type="text" class="form-control w-30" id="dongCd--${pageName}" name="dongCd" data-map="DONG_CD" readonly /> </span>
</div> </span>
</div> </div>
</form> <!-- 업무 버튼 및 건수 표시 -->
<!-- 입력 영역 --> </div> <!-- <div class="card"> -->
</div> <!-- <div class="container flex-grow-1 px-0"> -->
<!-- 업무 버튼 및 건수 표시 --> <!-- Content -->
<div>
<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="저장">저장</button>
</span>
</span>
</div>
<!-- 업무 버튼 및 건수 표시 -->
</div> <!-- <div class="card"> -->
</div> <!-- <div class="container flex-grow-1 px-0"> -->
<!-- Content -->
</div> </div>
<!-- / inner page html <div class="content-pop"> --> <!-- / inner page html <div class="content-pop"> -->
<script> <script>
/************************************************************************** LoadScript("payer01020Script", wctx.url("/webjars/js/fims/payer/payer01020.js?ver=${ver}"));
* Global Variable
**************************************************************************/ /**************************************************************************
pageObject["${pageName}"] = {}; * Global Variable
**************************************************************************/
/************************************************************************** pageObject["${pageName}"] = newDoctxFinder("${pageName}");
* script 진입
**************************************************************************/ /**************************************************************************
$(document).ready(function() { * script 진입
// pageObject **************************************************************************/
let $P = pageObject["${pageName}"]; $(document).ready(function() {
// pageObject
// FormFields let $P = pageObject["${pageName}"];
$P.formFields = new FimsFormFields("#frmEdit--${pageName}");
// datasetControl
/************************************************************************** $P.ctrl = newPayer01020Control("${pageName}", "[data-doctx=${pageName}]");
* DatasetControl // infoDialog 호출 용도(view 조회(편집불가), create 등록, update 수정)
**************************************************************************/ $P.callPurpose = "${callPurpose}";
$P.control = new DatasetControl({
prefix: "payer" /**************************************************************************
, prefixName: "납부자" * 사용자 함수(function)
, keymapper: info => info ? info.RTPYR_ID : "" **************************************************************************/
, dataGetter: obj => obj.${infoPrefix}Info // 업무구분에 따른 URL 설정
, formats: { $P.fnSetURL = (taskSeCd) => {
CRDN_YMD_TM: datetimeFormat $P.ctrl.urls.create = wctx.url("/" + taskSeCd + "/payer" + "/createCrdnPayer.do"); // 등록
} }
});
// 차적 조회 결과
/************************************************************************** $P.callbackVehicle = (info) => {
* DatasetControl 이벤트 let pyrSeCd = "";
**************************************************************************/
// 현재 선택 자료 변경 이벤트 switch (info.mber_se_code) {
$P.control.onCurrentChange = (item) => { case "11": pyrSeCd = "01"; break;
if (!item) return; case "12": pyrSeCd = "02"; break;
case "13": pyrSeCd = "03"; break;
// Dataset 셋팅 case "14": pyrSeCd = "04"; break;
$P.formFields.set($P.control, item); case "15": pyrSeCd = "05"; break;
}
// 업무구분에 따른 URL 변경
$P.fnSetURL(item.data.TASK_SE_CD); $P.$findn("rtpyrSeCd").val(pyrSeCd); // 납부자 구분 코드
} $P.$findn("rtpyrNm").val(info.mber_nm); // 납부자 성명
$P.$findn("rtpyrNo").val(info.mber_se_no); // 납부자 번호
// 저장 callback $P.$findn("addr").val(info.road_nm_adres); // 주소
$P.control.onSave = (resp) => { $P.$findn("zip").val(info.zip_code); // 우편번호
$P.$findn("dtlAddr").val(info.use_strnghld_adres_nm); // 사용본거지 상세주소
let dialogTitle = $($("#frmEdit--${pageName}").parents(".modal")[0]).find("h5.modal-title").html(); $P.$findn("roadNmCd").val(info.use_strnghld_road_nm_code); // 사용본거지 도로명 코드
let showMessage = resp.rtnMsg.replace(/[S]|[F]/g, dialogTitle); $P.$findn("udgdSeCd").val(info.usgsrhld_undgrnd_buld_se_code); // 사용본거지 지하 구분 코드
$P.$findn("bmno").val(info.use_strnghld_buld_main_no); // 사용본거지 건물 본번
// 메시지 출력 $P.$findn("bsno").val(info.use_strnghld_buld_sub_no); // 사용본거지 건물 부번
dialog.alert({ $P.$findn("bldgMngNo").val(""); // 건물 관리 번호
content: showMessage $P.$findn("stdgCd").val(info.use_strnghld_legaldong_code); // 사용본거지 법정동 코드
, onOK: () => { } $P.$findn("mtnSeCd").val(info.use_strnghld_mntn); // 사용본거지 산
}); $P.$findn("mno").val(info.use_strnghld_lnbr); // 사용본거지 번지
$P.$findn("sno").val(info.use_strnghld_ho); // 사용본거지 호
if (resp.saved) { $P.$findn("dongCd").val(info.use_strnghld_adstrd_code); // 사용본거지 행정동 코드
dialog.close($("#frmEdit--${pageName}").parents(".modal")[0].id);
} $P.$findn("rtpyrInptSeCd").val("02"); // 납부자 입력 구분 코드(FIM015) 02:자동차관리정보시스템
} $P.$findn("addrInptSeCd").val("02"); // 주소 입력 구분 코드(FIM087) 02:자동차관리정보시스템
}
// 저장
$P.control.save = (info) => { // 우편번호 검색 결과
if (!info) return; $P.callbackSearchAddr = (obj) => {
$P.$findn("addr").val(obj.ADDR); // 주소
if ($("#rtpyrInptSeCd--${pageName}").val() == "") { $P.$findn("zip").val(obj.ZIP); // 우편번호
info.rtpyrInptSeCd = "01"; // 납부자 입력 구분 코드(FIM015) 01:수기입력 $P.$findn("dtlAddr").val(obj.DTL_ADDR); // 상세 주소
} $P.$findn("roadNmCd").val(obj.ROAD_NM_CD); // 도로명 코드
if ($("#addrInptSeCd--${pageName}").val() == "") { $P.$findn("udgdSeCd").val(obj.UDGD_SE_CD); // 지하 구분 코드
info.addrInptSeCd = "01"; // 주소 입력 구분 코드(FIM087) 01:수기입력 $P.$findn("bmno").val(obj.BMNO); // 건물 본번
} $P.$findn("bsno").val(obj.BSNO); // 건물 부번
if (info.rtpyrSeCd == "01") { $P.$findn("bldgMngNo").val(obj.BLDG_MNG_NO); // 건물 관리 번호
info.rtpyrBrdt = info.rtpyrNo.substr(0, 6); // 생년월일 $P.$findn("stdgCd").val(obj.STDG_CD); // 법정동 코드
} $P.$findn("mtnSeCd").val(obj.MTN_SE_CD); // 산
info.wholAddr = info.addr + ", " + info.dtlAddr // 전체 주소 $P.$findn("mno").val(obj.MNO); // 번지
$P.$findn("sno").val(obj.SNO); // 호
ajax.post({ $P.$findn("dongCd").val(obj.DONG_CD); // 행정동
url: $P.control.urls.create
, data: info || {} $P.$findn("rtpyrInptSeCd").val("01"); // 납부자 입력 구분 코드(FIM015) 01:수기입력
, success: resp => $P.control.onSave(resp) $P.$findn("addrInptSeCd").val("01"); // 주소 입력 구분 코드(FIM087) 01:수기입력
}); }
}
/**************************************************************************
/************************************************************************** * 버튼 clickEvent
* 사용자 함수(function) **************************************************************************/
**************************************************************************/ // 차적 검색
// 업무구분에 따른 URL 설정 $P.fnGetVehicle = () => {
$P.fnSetURL = (taskSeCd) => { let crdnYmd = $P.control.getValue("CRDN_YMD");
$P.control.urls.create = wctx.url("/" + taskSeCd + "/payer" + "/createCrdnPayer.do"); // 등록 let vhrno = $("#vhrno--${pageName}").val();
}
if (crdnYmd == "") {
// dialog.alert({
$P.callbackVehicle = (info) => { content: "단속일자를 입력하세요."
let pyrSeCd = ""; });
switch (info.mber_se_code) { return;
case "11": pyrSeCd = "01"; break; }
case "12": pyrSeCd = "02"; break; if (vhrno == "") {
case "13": pyrSeCd = "03"; break; dialog.alert({
case "14": pyrSeCd = "04"; break; content: "차량번호를 입력하세요.",
case "15": pyrSeCd = "05"; break; onClose: function() {
} $("#vhrno--${pageName}").focus();
}
$("#rtpyrSeCd--${pageName}").val(pyrSeCd); // 납부자 구분 코드 });
$("#rtpyrNm--${pageName}").val(info.mber_nm); // 납부자 성명 return;
$("#rtpyrNo--${pageName}").val(info.mber_se_no); // 납부자 번호 }
$("#addr--${pageName}").val(info.road_nm_adres); // 주소
$("#zip--${pageName}").val(info.zip_code); // 우편번호 let params = {
$("#dtlAddr--${pageName}").val(info.use_strnghld_adres_nm); // 사용본거지 상세주소 inqire_se_code: "3"
$("#roadNmCd--${pageName}").val(info.use_strnghld_road_nm_code); // 사용본거지 도로명 코드 , sggCd: $("#sggCd--${pageName}").val()
$("#udgdSeCd--${pageName}").val(info.usgsrhld_undgrnd_buld_se_code); // 사용본거지 지하 구분 코드 , levy_stdde: crdnYmd
$("#bmno--${pageName}").val(info.use_strnghld_buld_main_no); // 사용본거지 건물 본번 , vhrno: vhrno
$("#bsno--${pageName}").val(info.use_strnghld_buld_sub_no); // 사용본거지 건물 부번 }
$("#bldgMngNo--${pageName}").val(""); // 건물 관리 번호
$("#stdgCd--${pageName}").val(info.use_strnghld_legaldong_code); // 사용본거지 법정동 코드 json.post({
$("#mtnSeCd--${pageName}").val(info.use_strnghld_mntn); // 사용본거지 산 url: wctx.url("/payer/vehicle.do")
$("#mno--${pageName}").val(info.use_strnghld_lnbr); // 사용본거지 번지 , data: params || {}
$("#sno--${pageName}").val(info.use_strnghld_ho); // 사용본거지 호 , success: resp => {
$("#dongCd--${pageName}").val(info.use_strnghld_adstrd_code); // 사용본거지 행정동 코드 if (!resp.found) {
$("#rtpyrId--${pageName}").val(""); // 납부자 ID
$("#rtpyrInptSeCd--${pageName}").val("02"); // 납부자 입력 구분 코드(FIM015) 02:자동차관리정보시스템 $("#rtpyrSeCd--${pageName}").val(""); // 납부자 입력 구분 코드
$("#addrInptSeCd--${pageName}").val("02"); // 주소 입력 구분 코드(FIM087) 02:자동차관리정보시스템 $("#rtpyrNm--${pageName}").val(""); // 납부자 성명
} $("#rtpyrNo--${pageName}").val(""); // 납부자 번호
$("#rtpyrTelno--${pageName}").val(""); // 납부자 전화번호
// 우편번호 검색 결과 $("#rtpyrMblTelno--${pageName}").val(""); // 납부자 휴대 전화번호
$P.callbackSearchAddr = (obj) => { $("#rtpyrEml--${pageName}").val(""); // 납부자 이메일
$("#addr--${pageName}").val(obj.ADDR); // 주소 $("#zip--${pageName}").val(""); // 우편번호
$("#zip--${pageName}").val(obj.ZIP); // 우편번호 $("#addr--${pageName}").val(""); // 주소
$("#dtlAddr--${pageName}").val(obj.DTL_ADDR); // 상세 주소 $("#dtlAddr--${pageName}").val(""); // 상세 주소
$("#roadNmCd--${pageName}").val(obj.ROAD_NM_CD); // 도로명 코드 $("#roadNmCd--${pageName}").val(""); // 도로명 코드
$("#udgdSeCd--${pageName}").val(obj.UDGD_SE_CD); // 지하 구분 코드 $("#udgdSeCd--${pageName}").val(""); // 지하 구분 코드
$("#bmno--${pageName}").val(obj.BMNO); // 건물 본번 $("#bmno--${pageName}").val(""); // 건물 본번
$("#bsno--${pageName}").val(obj.BSNO); // 건물 부번 $("#bsno--${pageName}").val(""); // 건물 부번
$("#bldgMngNo--${pageName}").val(obj.BLDG_MNG_NO); // 건물 관리 번호 $("#bldgMngNo--${pageName}").val(""); // 건물 관리 번호
$("#stdgCd--${pageName}").val(obj.STDG_CD); // 법정동 코드 $("#stdgCd--${pageName}").val(""); // 법정동 코드
$("#mtnSeCd--${pageName}").val(obj.MTN_SE_CD); // 산 $("#mtnSeCd--${pageName}").val(""); // 산
$("#mno--${pageName}").val(obj.MNO); // 번지 $("#mno--${pageName}").val(""); // 번지
$("#sno--${pageName}").val(obj.SNO); // 호 $("#sno--${pageName}").val(""); // 호
$("#dongCd--${pageName}").val(obj.DONG_CD); // 행정동 $("#dongCd--${pageName}").val(""); // 행정동 코드
$("#rtpyrInptSeCd--${pageName}").val("01"); // 납부자 입력 구분 코드(FIM015) 01:수기입력 dialog.alert("차량 정보가 없습니다.");
$("#addrInptSeCd--${pageName}").val("01"); // 주소 입력 구분 코드(FIM087) 01:수기입력 } else {
} $("#rtpyrId--${pageName}").val(resp.rtpyrId); // 납부자 ID
$("#addr--${pageName}").attr("readonly", true); // 주소
/************************************************************************** $("#zip--${pageName}").attr("readonly", true); // 우편번호
* 버튼 clickEvent $("#dtlAddr--${pageName}").attr("readonly", true); // 상세 주소
**************************************************************************/
// 차적 검색 $P.callbackVehicle(resp.vehicle);
$P.fnGetVehicle = () => { }
let crdnYmd = $P.control.getValue("CRDN_YMD"); }
let vhrno = $("#vhrno--${pageName}").val(); });
}
if (crdnYmd == "") {
dialog.alert({ // 우편번호 검색
content: "단속일자를 입력하세요." $P.fnZipCode = async() => {
}); let resp = await fetch(wctx.url("/webjars/html/searchAddr.html"));
return; let template = await resp.text();
}
if (vhrno == "") { dialog.open({
dialog.alert({ id: "searchAddrDialog"
content: "차량번호를 입력하세요.", , title: "주소검색"
onClose: function() { , size: "lg"
$("#vhrno--${pageName}").focus(); , content: template
} , init: () => {
}); AppSupport.setDialogZindex();
return;
} $("#searchAddrCallback").val("pageObject['${pageName}'].callbackSearchAddr");
}
let params = { });
inqire_se_code: "3" }
, sggCd: $("#sggCd--${pageName}").val()
, levy_stdde: crdnYmd // 화면에서 보여주는 주소입력 부분 수정
, vhrno: vhrno $P.fnEditAddr = () => {
} $P.$findn("addr").prop("readonly", false); // 주소
$P.$findn("zip").prop("readonly", false); // 우편번호
json.post({ $P.$findn("dtlAddr").prop("readonly", false); // 상세 주소
url: wctx.url("/payer/vehicle.do") $P.$findn("roadNmCd").prop("readonly", false); // 도로명 코드
, data: params || {} $P.$findn("stdgCd").prop("readonly", false); // 법정동 코드
, success: resp => {
if (!resp.found) { // 도로명 주소
$("#rtpyrId--${pageName}").val(""); // 납부자 ID $P.$findn("roadNmCd").val(""); // 도로명 코드
$("#rtpyrSeCd--${pageName}").val(""); // 납부자 입력 구분 코드 $P.$findn("udgdSeCd").val(""); // 지하 구분 코드
$("#rtpyrNm--${pageName}").val(""); // 납부자 성명 $P.$findn("bmno").val(""); // 건물본번
$("#rtpyrNo--${pageName}").val(""); // 납부자 번호 $P.$findn("bsno").val(""); // 건물부번
$("#rtpyrTelno--${pageName}").val(""); // 납부자 전화번호 $P.$findn("bldgMngNo").val(""); // 건물 관리 번호
$("#rtpyrMblTelno--${pageName}").val(""); // 납부자 휴대 전화번호 // 법정동
$("#rtpyrEml--${pageName}").val(""); // 납부자 이메일 $P.$findn("stdgCd").val(""); // 법정동 코드
$("#zip--${pageName}").val(""); // 우편번호 $P.$findn("mtnSeCd").val(""); // 산
$("#addr--${pageName}").val(""); // 주소 $P.$findn("mno").val(""); // 본번
$("#dtlAddr--${pageName}").val(""); // 상세 주소 $P.$findn("sno").val(""); // 부번
$("#roadNmCd--${pageName}").val(""); // 도로명 코드 // 행정동
$("#udgdSeCd--${pageName}").val(""); // 지하 구분 코드 $P.$findn("dongCd").val(""); // 행정동 코드
$("#bmno--${pageName}").val(""); // 건물 본번
$("#bsno--${pageName}").val(""); // 건물 부번 $P.$findn("rtpyrInptSeCd").val("01"); // 납부자 입력 구분 코드(FIM015) 01:수기입력
$("#bldgMngNo--${pageName}").val(""); // 건물 관리 번호 $P.$findn("addrInptSeCd").val("01"); // 주소 입력 구분 코드(FIM087) 01:수기입력
$("#stdgCd--${pageName}").val(""); // 법정동 코드 }
$("#mtnSeCd--${pageName}").val(""); // 산
$("#mno--${pageName}").val(""); // 번지 // 저장 버튼 클릭 이벤트
$("#sno--${pageName}").val(""); // 호 $P.fnSave = () => {
$("#dongCd--${pageName}").val(""); // 행정동 코드 // validate 확인
if (!AppSupport.customValidate($P.$findn("frmEdit").find("input,select,textarea"))) return;
dialog.alert("차량 정보가 없습니다.");
} else { if ($P.$findn("stdgCd").val() == "") {
$("#rtpyrId--${pageName}").val(resp.rtpyrId); // 납부자 ID dialog.alert({
$("#addr--${pageName}").attr("readonly", true); // 주소 content: "법정동 코드가 입력되지 않았습니다."
$("#zip--${pageName}").attr("readonly", true); // 우편번호 , init: () => { AppSupport.setDialogZindex(); }
$("#dtlAddr--${pageName}").attr("readonly", true); // 상세 주소 , onOK: () => { }
});
$P.callbackVehicle(resp.vehicle); return;
} }
} if ($P.$findn("stdgCd").length != 10) {
}); dialog.alert({
} content: "법정동 코드가 잘못되었습니다."
, init: () => { AppSupport.setDialogZindex(); }
// 우편번호 검색 , onOK: () => { }
$P.fnZipCode = async() => { });
let resp = await fetch(wctx.url("/webjars/html/searchAddr.html")); return;
let template = await resp.text(); }
dialog.open({ // formFields
id: "searchAddrDialog" let params = new FimsFormFields($P.selectorn("frmEdit")).get();
, title: "주소검색" params.wholAddr = params.addr + ", " + params.dtlAddr; // 전체 주소
, size: "lg"
, content: template dialog.alert({
, init: () => { content: "현재 " + $P.ctrl.prefixName + " 정보를 저장하시겠습니까?"
$("#searchAddrCallback").val("pageObject['${pageName}'].callbackSearchAddr"); , init: () => { AppSupport.setDialogZindex(); }
AppSupport.setDialogZindex(); , onOK: () => { $P.ctrl.save(params); }
} });
}); }
}
/**************************************************************************
// 화면에서 보여주는 주소입력 부분 수정 * 초기 셋팅
$P.fnEditAddr = () => { **************************************************************************/
$("#addr--${pageName}").prop("readonly", false); // 주소 // 이벤트 설정
$("#zip--${pageName}").prop("readonly", false); // 우편번호 $P.setEvent = () => {
$("#dtlAddr--${pageName}").prop("readonly", false); // 상세 주소 // 버튼 이벤트
// 도로명 주소 $P.$findn("btnVehicle").on("click", () => { $P.fnGetVehicle() }); // 차적 검색 버튼 이벤트
$("#roadNmCd--${pageName}").val(""); // 도로명 코드 $P.$findn("btnZipCode").on("click", () => { $P.fnZipCode() }); // 우편번호 검색 버튼 이벤트
$("#udgdSeCd--${pageName}").val(""); // $P.$findn("btnEditAddr").on("click", () => { $P.fnEditAddr() }); // 주소 수정 버튼 이벤트
$("#bmno--${pageName}").val(""); //
$("#bsno--${pageName}").val(""); // $P.$findn("btnSave").on("click", () => { $P.fnSave() }); // 저장
$("#bldgMngNo--${pageName}").val(""); // }
// 법정동
$("#stdgCd--${pageName}").val(""); // 법정동 코드 // 초기 화면 설정
$("#mtnSeCd--${pageName}").val(""); // 산 $P.fnReset = () => {
$("#mno--${pageName}").val(""); // 본번 // 초기화
$("#sno--${pageName}").val(""); // 부번 $P.findn("frmEdit").reset(); // 화면 초기화
// 행정동
$("#dongCd--${pageName}").val(""); // 행정동 코드 $P.$findn("addr").prop("readonly", true); // 주소
$P.$findn("zip").prop("readonly", true); // 우편번호
$("#rtpyrInptSeCd--${pageName}").val("01"); // 납부자 입력 구분 코드(FIM015) 01:수기입력 $P.$findn("dtlAddr").prop("readonly", true); // 상세 주소
$("#addrInptSeCd--${pageName}").val("01"); // 주소 입력 구분 코드(FIM087) 01:수기입력 }
}
/**************************************************************************
// 저장 버튼 클릭 이벤트 * 최초 실행 함수
$P.fnSave = () => { **************************************************************************/
// validate 확인 // 1. 이벤트 설정
if (!AppSupport.customValidate($("#frmEdit--${pageName}").find("input, select, textarea"))) return; $P.setEvent();
dialog.alert({ // 2. 초기 화면 설정
content: "현재 " + $P.control.prefixName + " 정보를 저장하시겠습니까?" $P.fnReset();
, onOK: () => {
$P.control.save($P.formFields.get()); // formFields // 3. Dataset 설정
} $P.ctrl.setData([${Info}]);
}); });
}
/**************************************************************************
* 초기 셋팅
**************************************************************************/
// 이벤트 설정
$P.setEvent = () => {
$("#btnVehicle--${pageName}").on("click", () => $P.fnGetVehicle()); // 차적 검색 버튼 이벤트
$("#btnZipCode--${pageName}").on("click", () => $P.fnZipCode()); // 우편번호 검색 버튼 이벤트
$("#btnEditAddr--${pageName}").on("click", () => $P.fnEditAddr()); // 주소 수정 버튼 이벤트
$("#btnSave--${pageName}").on("click", () => $P.fnSave()); // 저장 버튼 이벤트
}
// 초기 화면 설정
$P.initForm = () => {
$("#addr--${pageName}").prop("readonly", true); // 주소
$("#zip--${pageName}").prop("readonly", true); // 우편번호
$("#dtlAddr--${pageName}").prop("readonly", true); // 상세 주소
}
/**************************************************************************
* 최초 실행 함수
**************************************************************************/
// 1. 이벤트 설정
$P.setEvent();
// 2. 초기 화면 설정
$P.initForm();
// 3. Dataset 설정
$P.control.setData([${payerInfo}]);
});
</script> </script>

@ -0,0 +1,62 @@
function newPayer01020Control(pageName, doctx="[data-doctx='payer01020']") {
let ctrl = new DatasetControl({
doctx: doctx
, prefix: "payer"
, prefixName: "납부자"
, dataGetter: obj => obj["Info"]
, keys: ["RTPYR_ID"]
, urls: {
load: "/list.do"
, create: "/create.do"
, update: "/update.do"
}
, formats: {
CRDN_YMD_TM: datetimeFormat
}
});
/**************************************************************************
* DatasetControl Events
**************************************************************************/
// 현재 선택 자료 변경 이벤트
ctrl.onCurrentChange = (item) => {
if (!item) return;
// 화면에 단속 Dataset 셋팅
let formFields = new FimsFormFields(ctrl.selector("[name='frmEdit']"));
formFields.set(ctrl, item);
// 업무구분에 따른 URL 변경
pageObject[pageName].fnSetURL(item.data.TASK_SE_CD);
};
// 저장 callback
ctrl.onSave = (params, resp) => {
let modalId = $(document.querySelector(doctx)).parents(".modal")[0].id;
let dialogTitle = $("#" + modalId).find("h5.modal-title").html();
let showMessage = resp.rtnMsg.replace(/[S]|[F]/g, dialogTitle);
// 메시지 출력
dialog.alert({
content: showMessage
, init: () => { AppSupport.setDialogZindex(); }
, onOK: () => { }
, onClose: () => {
if (resp.saved) { dialog.close(modalId); }
}
});
}
// 저장
ctrl.save = (params) => {
if (!params) return;
ajax.post({
url: ctrl.urls.create
, data: params || {}
, success: (resp) => { ctrl.onSave(params, resp); }
});
}
return ctrl;
}
Loading…
Cancel
Save