diff --git a/src/main/webapp/WEB-INF/views/crdn/crndRegistAndView/main/crdnLevyPrvntc/levyPrvntcPopup.jsp b/src/main/webapp/WEB-INF/views/crdn/crndRegistAndView/main/crdnLevyPrvntc/levyPrvntcPopup.jsp index 879f825..cb4cf31 100644 --- a/src/main/webapp/WEB-INF/views/crdn/crndRegistAndView/main/crdnLevyPrvntc/levyPrvntcPopup.jsp +++ b/src/main/webapp/WEB-INF/views/crdn/crndRegistAndView/main/crdnLevyPrvntc/levyPrvntcPopup.jsp @@ -182,7 +182,7 @@ 시가표준액
(1,000원미만절삭) - + X X @@ -201,16 +201,16 @@ = - - + + - - - - - - + + + + + + @@ -455,10 +455,17 @@ } else { rate = ""; } - $('#bscsCstrnRt').val(rate); + $('#bscsCstrnRt').val(rate).trigger('input'); + + // 자동계산 함수 호출 + calculateAuto(); } } }); + + // 계산에 사용되는 입력 필드 변경 시 자동 계산 호출 + var calculationInputs = '#bldgNewPrcCrtrAmt, #strctIdx, #usgIdx, #pstnIdx, #elpsYrRdvlrt'; + $(document).on('change', calculationInputs, calculateAuto); }, /** @@ -569,6 +576,31 @@ }; + /** + * 자동 계산 + * @description 각 항목의 값을 곱하여 건축물과세시가와 시가표준액을 계산합니다. + * - 건축물과세시가 = 건물기준시가액 * 구조지수 * 용도지수 * 위치지수 * 경과년수별잔가율 * 기초공사율 + * - 시가표준액 = 건축물과세시가에서 1,000원 미만 절사 + */ + function calculateAuto() { + var bldgNewPrcCrtrAmt = parseFloat($('#bldgNewPrcCrtrAmt').inputmask('unmaskedvalue')) || 0; + var strctIdx = parseFloat($('#strctIdx').inputmask('unmaskedvalue')) || 0; + var usgIdx = parseFloat($('#usgIdx').inputmask('unmaskedvalue')) || 0; + var pstnIdx = parseFloat($('#pstnIdx').inputmask('unmaskedvalue')) || 0; + var elpsYrRdvlrt = parseFloat($('#elpsYrRdvlrt').inputmask('unmaskedvalue')) || 0; + var bscsCstrnRt = parseFloat($('#bscsCstrnRt').inputmask('unmaskedvalue')) || 0; + + // 건축물과세시가 계산 + var taxableMarketPrice = bldgNewPrcCrtrAmt * strctIdx * usgIdx * pstnIdx * elpsYrRdvlrt * bscsCstrnRt; + + // 시가표준액 계산: 1,000원 미만 절사 + var standardMarketPrice = Math.floor(taxableMarketPrice / 1000) * 1000; + + // 계산된 값을 input 필드에 설정 + $('#taxableMarketPrice').val(Math.round(taxableMarketPrice)).trigger('focus'); + $('#standardMarketPrice').val(standardMarketPrice).trigger('focus'); + } + /** * 그리드 행 선택시 실행되는 함수 * @param rowData @@ -577,8 +609,8 @@ if (!rowData) return; $('#bscsCstrnRt').val(''); - $('#bldgNewPrcCrtrAmt_nm').val(rowData.bldgNewPrcCrtrAmt ? parseFloat(rowData.bldgNewPrcCrtrAmt).toLocaleString() : ''); - $('#bldgNewPrcCrtrAmt').val(); + $('#bldgNewPrcCrtrAmt_nm').val(rowData.bldgNewPrcCrtrAmt).trigger('focus'); + $('#bldgNewPrcCrtrAmt').val(rowData.bldgNewPrcCrtrAmt).trigger('focus'); $('#strctIdx_nm').val(rowData.strctIdxCdNm); $('#strctIdx').val(rowData.strctIdx); diff --git a/src/main/webapp/WEB-INF/views/layouts/base/default.jsp b/src/main/webapp/WEB-INF/views/layouts/base/default.jsp index 97c611c..68933b4 100644 --- a/src/main/webapp/WEB-INF/views/layouts/base/default.jsp +++ b/src/main/webapp/WEB-INF/views/layouts/base/default.jsp @@ -56,7 +56,10 @@ - + <%----%> + <%-- inputmask 변경 테스트 필요 --%> + <%----%> + <%-- tui grid --%> diff --git a/src/main/webapp/WEB-INF/views/layouts/popup/default.jsp b/src/main/webapp/WEB-INF/views/layouts/popup/default.jsp index 2304a34..87034a8 100644 --- a/src/main/webapp/WEB-INF/views/layouts/popup/default.jsp +++ b/src/main/webapp/WEB-INF/views/layouts/popup/default.jsp @@ -52,7 +52,10 @@ - + <%----%> + <%-- inputmask 변경 테스트 필요 --%> + <%----%> + <%-- tui grid --%> diff --git a/src/main/webapp/resources/xit/common_util.js b/src/main/webapp/resources/xit/common_util.js index 25aa10c..e6a63f4 100644 --- a/src/main/webapp/resources/xit/common_util.js +++ b/src/main/webapp/resources/xit/common_util.js @@ -84,6 +84,7 @@ $(document).ready(function () { }); }); + // 중요로직: Strct_Idx_Cd 전용 마스크 - 숫자 3자리 $("body").on("focus", ".strctIdxCdMask", function () { $(this).inputmask({