|
|
|
|
@ -62,6 +62,14 @@
|
|
|
|
|
</c:forEach>
|
|
|
|
|
</select>
|
|
|
|
|
</li>
|
|
|
|
|
<li class="th">가중 부과 대상</li>
|
|
|
|
|
<li>
|
|
|
|
|
<select id="schAgrvtnLevyTrgtYn" name="schAgrvtnLevyTrgtYn" class="input" style="width: 120px;">
|
|
|
|
|
<option value="">전체</option>
|
|
|
|
|
<option value="Y" <c:if test="${param.schAgrvtnLevyTrgtYn eq 'Y'}">selected</c:if>>대상</option>
|
|
|
|
|
<option value="N" <c:if test="${param.schAgrvtnLevyTrgtYn eq 'N'}">selected</c:if>>비대상</option>
|
|
|
|
|
</select>
|
|
|
|
|
</li>
|
|
|
|
|
</ul>
|
|
|
|
|
<ul class="rig2">
|
|
|
|
|
<li><button type="button" id="search_btn" class="newbtnss bg1">검색</button></li>
|
|
|
|
|
@ -74,8 +82,15 @@
|
|
|
|
|
<div class="box_column">
|
|
|
|
|
<ul class="box_title" style="display: flex; justify-content: space-between; align-items: center;">
|
|
|
|
|
<li class="tit">단속 목록</li>
|
|
|
|
|
<li style="text-align: right;">
|
|
|
|
|
<span id="totalCount" class="total-count" style="padding-right: 25px;">총 0건</span>
|
|
|
|
|
<li class="rig">
|
|
|
|
|
<button type="button" id="btnDsps" class="newbtn bg2-1">처분사전</button>
|
|
|
|
|
<button type="button" id="btnCrcCmd" class="newbtn bg2-1">시정명령</button>
|
|
|
|
|
<button type="button" id="btnCrcUrg" class="newbtn bg2-1">시정촉구</button>
|
|
|
|
|
<button type="button" id="btnLevyPrvntc" class="newbtn bg2-1">부과예고</button>
|
|
|
|
|
<button type="button" id="btnLevy" class="newbtn bg2-1">부과</button>
|
|
|
|
|
<button type="button" id="btnPayUrg" class="newbtn bg2-1">납부촉구</button>
|
|
|
|
|
|
|
|
|
|
<span id="totalCount" class="total-count" style="padding-left: 25px;padding-right: 25px;">총 0건</span>
|
|
|
|
|
<select id="perPageSelect" class="input" style="width: 112px; ">
|
|
|
|
|
<option value="15">페이지당 15</option>
|
|
|
|
|
<option value="50">페이지당 50</option>
|
|
|
|
|
@ -113,6 +128,7 @@
|
|
|
|
|
var schDsclMthdCd = $.trim(nvl($("#schDsclMthdCd").val(), ""));
|
|
|
|
|
var schExmnr = $.trim(nvl($("#schExmnr").val(), ""));
|
|
|
|
|
var schCrdnPrcsSttsCd = $.trim(nvl($("#schCrdnPrcsSttsCd").val(), ""));
|
|
|
|
|
var schAgrvtnLevyTrgtYn = $.trim(nvl($("#schAgrvtnLevyTrgtYn").val(), ""));
|
|
|
|
|
|
|
|
|
|
SEARCH_COND.schCrdnYr = schCrdnYr;
|
|
|
|
|
SEARCH_COND.schCrdnNo = schCrdnNo;
|
|
|
|
|
@ -120,6 +136,7 @@
|
|
|
|
|
SEARCH_COND.schDsclMthdCd = schDsclMthdCd;
|
|
|
|
|
SEARCH_COND.schExmnr = schExmnr;
|
|
|
|
|
SEARCH_COND.schCrdnPrcsSttsCd = schCrdnPrcsSttsCd;
|
|
|
|
|
SEARCH_COND.schAgrvtnLevyTrgtYn = schAgrvtnLevyTrgtYn;
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
@ -230,6 +247,15 @@
|
|
|
|
|
return e.value === 'Y' ? '재부과' : '일반';
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
header: '가중부과대상',
|
|
|
|
|
name: 'agrvtnLevyTrgtYn',
|
|
|
|
|
align: 'center',
|
|
|
|
|
width: 100,
|
|
|
|
|
formatter: function(e) {
|
|
|
|
|
return e.value === 'Y' ? '대상' : '비대상';
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
header: '진행단계',
|
|
|
|
|
name: 'crdnPrcsSttsCdNm',
|
|
|
|
|
@ -373,6 +399,57 @@
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* 단속 상태를 업데이트합니다.
|
|
|
|
|
* 선택된 행이 있을 때만 상태를 업데이트합니다.
|
|
|
|
|
*
|
|
|
|
|
* @param statusCode 변경할 상태 코드
|
|
|
|
|
* @param statusName 상태명 (확인 메시지용)
|
|
|
|
|
*/
|
|
|
|
|
updateStatus: function(statusCode, statusName) {
|
|
|
|
|
var self = this;
|
|
|
|
|
|
|
|
|
|
// 선택된 행 확인
|
|
|
|
|
if (!this.selectedRow) {
|
|
|
|
|
alert('상태를 변경할 단속 건을 선택해주세요.');
|
|
|
|
|
return;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
var crdnYr = this.selectedRow.crdnYr;
|
|
|
|
|
var crdnNo = this.selectedRow.crdnNo;
|
|
|
|
|
|
|
|
|
|
// 확인 메시지
|
|
|
|
|
if (!confirm(crdnYr + '-' + crdnNo + ' 단속 건의 상태를 [' + statusName + ']으로 변경하시겠습니까?')) {
|
|
|
|
|
return;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
// AJAX 요청으로 상태 업데이트
|
|
|
|
|
$.ajax({
|
|
|
|
|
url: '<c:url value="/crdn/crndRegistAndView/updateStatus.ajax"/>',
|
|
|
|
|
type: 'POST',
|
|
|
|
|
data: {
|
|
|
|
|
crdnYr: crdnYr,
|
|
|
|
|
crdnNo: crdnNo,
|
|
|
|
|
crdnPrcsSttsCd: statusCode
|
|
|
|
|
},
|
|
|
|
|
success: function(response) {
|
|
|
|
|
if (response && response.success) {
|
|
|
|
|
alert('단속 상태가 성공적으로 변경되었습니다.');
|
|
|
|
|
// 목록 새로고침
|
|
|
|
|
self.refreshList();
|
|
|
|
|
// 선택된 행 초기화
|
|
|
|
|
self.selectedRow = null;
|
|
|
|
|
} else {
|
|
|
|
|
alert(response.message || '상태 변경에 실패했습니다.');
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
error: function(xhr, status, error) {
|
|
|
|
|
console.error('상태 업데이트 요청 실패:', error);
|
|
|
|
|
alert('상태 변경 중 오류가 발생했습니다.');
|
|
|
|
|
}
|
|
|
|
|
});
|
|
|
|
|
},
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* 이벤트 핸들러 설정
|
|
|
|
|
*/
|
|
|
|
|
@ -407,6 +484,31 @@
|
|
|
|
|
self.openRegisterPopup();
|
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
// 상태 업데이트 버튼 클릭 이벤트들
|
|
|
|
|
$("#btnDsps").on('click', function() {
|
|
|
|
|
self.updateStatus('20', '처분사전');
|
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
$("#btnCrcCmd").on('click', function() {
|
|
|
|
|
self.updateStatus('30', '시정명령');
|
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
$("#btnCrcUrg").on('click', function() {
|
|
|
|
|
self.updateStatus('40', '시정촉구');
|
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
$("#btnLevyPrvntc").on('click', function() {
|
|
|
|
|
self.updateStatus('50', '부과예고');
|
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
$("#btnLevy").on('click', function() {
|
|
|
|
|
self.updateStatus('60', '부과');
|
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
$("#btnPayUrg").on('click', function() {
|
|
|
|
|
self.updateStatus('70', '납부촉구');
|
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
// 엔터키 검색
|
|
|
|
|
$(".gs_b_top input").on('keypress', function(e) {
|
|
|
|
|
if (e.which === 13) {
|
|
|
|
|
|