부과예고 -> 이행정보 처리 계획

1. 이행강제금 산출조사서, 2 이행정보 탭 형식 구분 (진행중)
2. 리스트에서 부과예고 선택 시 체크하여 1,2번 탭 구분하여 이동
3. 이행강제금이 모두 등록되지 않았을 경우, 2번 탭 이동 불가
4. 이행강제금 산출조사서 등록, 수정, 삭제 이벤트 발생시 2번탭 이동 가능여부 체크
dev
박성영 3 months ago
parent caac5ee566
commit 126dfc5fc7

@ -18,6 +18,21 @@
<a href="#" class="pop-x-btn modalclose" id="btnCloseTop"></a>
</div>
<%-- 부과예고 경우에만 탭 표출 --%>
<c:if test="${impltTaskSeCd eq '4'}">
<!-- 탭 메뉴 -->
<div class="tab-container">
<ul class="tab-menu">
<li class="tab-item" data-tab="levy">
<a href="#" class="tab-link">1. 이행강제금 산출조사서</a>
</li>
<li class="tab-item active" data-tab="implt">
<a href="#" class="tab-link">2. 이행정보</a>
</li>
</ul>
</div>
</c:if>
<div class="popup_con">
<div class="cash_tables">
<form id="impltTaskForm" name="impltTaskForm">
@ -268,6 +283,12 @@
language: "kr"
});
// 탭 전환 이벤트
$('.tab-link').on('click', function(e) {
e.preventDefault();
self.switchTab($(this).parent().data('tab'));
});
// 저장 버튼
$('#btnSave').on('click', function() {
self.save();
@ -288,6 +309,42 @@
window.close();
},
/**
* 탭 전환 처리
* @param {string} tabType - 전환할 탭 타입 ('levy' 또는 'implt')
*/
switchTab: function(tabType) {
if (tabType === 'levy') {
// 이행 강제금 산출조사서 탭으로 전환 - 새 팝업 열기
$.ajax({
url: '<c:url value="/crdn/crndRegistAndView/crdnLevyPrvntc/selectLevyInfoFirstCheck.ajax"/>',
type: 'GET',
data: {
crdnYr: ImpltTaskPopup.crdnYr,
crdnNo: ImpltTaskPopup.crdnNo,
impltTaskSeCd: ImpltTaskPopup.impltTaskSeCd
},
success: function(response) {
var mode = (response && response.success && response.data > 0) ? 'U' : 'C';
var url = '<c:url value="/crdn/crndRegistAndView/crdnLevyPrvntc/levyPrvntcPopup.do"/>?mode=' + mode +
'&crdnYr=' + encodeURIComponent(ImpltTaskPopup.crdnYr) +
'&crdnNo=' + encodeURIComponent(ImpltTaskPopup.crdnNo) +
'&impltTaskSeCd=' + encodeURIComponent(ImpltTaskPopup.impltTaskSeCd);
var newWindow = openPopup(url, 1600, 1200, 'levyPrvntcPopup');
if (newWindow) {
window.close();
} else {
alert('팝업이 차단되었습니다. 팝업 차단을 해제해주세요.');
}
}
});
} else {
// 이행정보 탭은 현재 페이지이므로 별도 처리 없음
$('.tab-item').removeClass('active');
$('.tab-item[data-tab="' + tabType + '"]').addClass('active');
}
},
/**
* 저장

@ -18,6 +18,18 @@
<a href="#" class="pop-x-btn modalclose" id="btnCloseTop"></a>
</div>
<!-- 탭 메뉴 -->
<div class="tab-container">
<ul class="tab-menu">
<li class="tab-item active" data-tab="levy">
<a href="#" class="tab-link">1. 이행강제금 산출조사서</a>
</li>
<li class="tab-item" data-tab="implt">
<a href="#" class="tab-link">2. 이행정보</a>
</li>
</ul>
</div>
<div class="popup_con">
<div class="cash_tables">
<form id="impltTaskForm" name="impltTaskForm">
@ -31,7 +43,7 @@
</div>
<!-- 위치정보 영역 -->
<div class="box_column mt-20">
<div class="box_column">
<ul class="box_title">
<li class="tit">위치 정보</li>
</ul>
@ -676,6 +688,12 @@
language: "kr"
});
// 탭 전환 이벤트
$('.tab-link').on('click', function(e) {
e.preventDefault();
self.switchTab($(this).parent().data('tab'));
});
// 저장 버튼
$('#btnSave').on('click', function () {
self.save();
@ -774,6 +792,42 @@
window.close();
},
/**
* 탭 전환 처리
* @param {string} tabType - 전환할 탭 타입 ('levy' 또는 'implt')
*/
switchTab: function(tabType) {
if (tabType === 'implt') {
// 이행정보 탭으로 전환 - 새 팝업 열기
$.ajax({
url: '<c:url value="/crdn/crndRegistAndView/crdnImpltTask/selectImpltInfo.ajax"/>',
type: 'GET',
data: {
crdnYr: LevyPrvntcPopup.crdnYr,
crdnNo: LevyPrvntcPopup.crdnNo,
impltTaskSeCd: LevyPrvntcPopup.impltTaskSeCd
},
success: function(response) {
var mode = (response && response.success && response.data) ? 'U' : 'C';
var url = '<c:url value="/crdn/crndRegistAndView/crdnImpltTask/impltTaskPopup.do"/>?mode=' + mode +
'&crdnYr=' + encodeURIComponent(LevyPrvntcPopup.crdnYr) +
'&crdnNo=' + encodeURIComponent(LevyPrvntcPopup.crdnNo) +
'&impltTaskSeCd=' + encodeURIComponent(LevyPrvntcPopup.impltTaskSeCd);
var newWindow = openPopup(url, 1200, 658, 'impltTaskPopup');
if (newWindow) {
window.close();
} else {
alert('팝업이 차단되었습니다. 팝업 차단을 해제해주세요.');
}
}
});
} else {
// 이행강제금 산출조사서 탭은 현재 페이지이므로 별도 처리 없음
$('.tab-item').removeClass('active');
$('.tab-item[data-tab="' + tabType + '"]').addClass('active');
}
},
openAddMinusPopup: function (type) {
var adsbmtnRtCd = "";
if( type === '1' ){

@ -244,4 +244,61 @@
margin: 8px 0;
font-size: 13px;
line-height: 1.4;
}
}
/* 탭 스타일 */
.tab-container {
background-color: #f8f9fa;
border-bottom: 1px solid #dee2e6;
margin-bottom: 0px;
}
.tab-menu {
display: flex;
list-style: none;
margin: 0;
padding: 0;
background-color: #f8f9fa;
}
.tab-item {
margin: 0;
border-right: 1px solid #dee2e6;
}
.tab-item:last-child {
border-right: none;
}
.tab-link {
display: block;
padding: 12px 20px;
text-decoration: none;
color: #6c757d;
background-color: #f8f9fa;
border: none;
border-bottom: 3px solid transparent;
transition: all 0.3s ease;
font-weight: 500;
}
.tab-link:hover {
color: #495057;
background-color: #e9ecef;
text-decoration: none;
}
.tab-item.active .tab-link {
color: #007bff;
background-color: #fff;
border-bottom: 3px solid #007bff;
font-weight: 600;
}
.tab-content {
display: none;
}
.tab-content.active {
display: block;
}
Loading…
Cancel
Save