|
|
|
|
@ -454,73 +454,27 @@
|
|
|
|
|
window.CrdnDetailViewOwnrInfo.removeSelectedOwnrs();
|
|
|
|
|
}
|
|
|
|
|
});
|
|
|
|
|
},
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* 그리드 모듈 등록 함수
|
|
|
|
|
* 각 개별 그리드 모듈에서 자신을 등록할 때 사용
|
|
|
|
|
*/
|
|
|
|
|
registerGrid: function(gridName, gridModule) {
|
|
|
|
|
this.grids[gridName] = gridModule;
|
|
|
|
|
console.log(gridName + ' 그리드 모듈이 등록되었습니다.');
|
|
|
|
|
},
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* 소유자 버튼 상태 제어 함수
|
|
|
|
|
* 위치정보 그리드 데이터 유무에 따라 소유자 선택/제거 버튼을 활성화/비활성화
|
|
|
|
|
*/
|
|
|
|
|
updateOwnrButtonsState: function(hasLocationData) {
|
|
|
|
|
var $ownrSelectBtn = $('#ownrSelectBtn');
|
|
|
|
|
var $ownrRemoveBtn = $('#ownrRemoveBtn');
|
|
|
|
|
|
|
|
|
|
if (hasLocationData) {
|
|
|
|
|
// 위치정보가 있을 때 버튼 활성화
|
|
|
|
|
$ownrSelectBtn.prop('disabled', false);
|
|
|
|
|
$ownrRemoveBtn.prop('disabled', false);
|
|
|
|
|
$ownrSelectBtn.removeClass('disabled');
|
|
|
|
|
$ownrRemoveBtn.removeClass('disabled');
|
|
|
|
|
} else {
|
|
|
|
|
// 위치정보가 없을 때 버튼 비활성화
|
|
|
|
|
$ownrSelectBtn.prop('disabled', true);
|
|
|
|
|
$ownrRemoveBtn.prop('disabled', true);
|
|
|
|
|
$ownrSelectBtn.addClass('disabled');
|
|
|
|
|
$ownrRemoveBtn.addClass('disabled');
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* 모듈 초기화
|
|
|
|
|
*/
|
|
|
|
|
init: function() {
|
|
|
|
|
var self = this;
|
|
|
|
|
|
|
|
|
|
// 중요로직: 소유자 선택/제거 버튼 초기 비활성화 설정
|
|
|
|
|
this.updateOwnrButtonsState(false);
|
|
|
|
|
|
|
|
|
|
// 이벤트 핸들러 설정
|
|
|
|
|
this.eventBindEvents();
|
|
|
|
|
|
|
|
|
|
// 단속 데이터 로딩
|
|
|
|
|
this.loadCrdnData();
|
|
|
|
|
|
|
|
|
|
// 팝업에서 선택된 조사원 정보 수신 콜백 설정 (한글 주석: 팝업 → 부모창 데이터 전달 수신)
|
|
|
|
|
window.onExmnrSelected = function(selectedExmnrs) {
|
|
|
|
|
if (selectedExmnrs && selectedExmnrs.length > 0) {
|
|
|
|
|
// 선택된 조사원명들을 콤마로 연결하여 입력필드에 설정
|
|
|
|
|
var exmnrNames = selectedExmnrs.map(function (exmnr) { return exmnr.exmnr; }).join(',');
|
|
|
|
|
$('#exmnr').val(exmnrNames);
|
|
|
|
|
}
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
// 중요로직: 불법행위 정보 등록 버튼 클릭 이벤트
|
|
|
|
|
$('#actInfoRegistBtn').on('click', function() {
|
|
|
|
|
var crdnYr = $('#crdnYr').val();
|
|
|
|
|
var crdnNo = $('#crdnNo').val();
|
|
|
|
|
if (!crdnYr || !crdnNo) {
|
|
|
|
|
var pstnInfoId = '';
|
|
|
|
|
if (CrdnDetailViewPstn && CrdnDetailViewPstn.grid && CrdnDetailViewPstn.grid.instance) {
|
|
|
|
|
var pstnData = CrdnDetailViewPstn.grid.instance.getData();
|
|
|
|
|
if (pstnData && pstnData.length > 0) {
|
|
|
|
|
pstnInfoId = pstnData[0].pstnInfoId;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
if (!crdnYr || !crdnNo || !pstnInfoId) {
|
|
|
|
|
alert('단속 기본정보가 없습니다.');
|
|
|
|
|
return;
|
|
|
|
|
}
|
|
|
|
|
var url = '<c:url value="/crdn/crndRegistAndView/crdnActInfo/crdnActInfoRegistPopup.do"/>' + '?crdnYr=' + encodeURIComponent(crdnYr) + '&crdnNo=' + encodeURIComponent(crdnNo) + '&mode=C';
|
|
|
|
|
var url = '<c:url value="/crdn/crndRegistAndView/crdnActInfo/crdnActInfoRegistPopup.do"/>'
|
|
|
|
|
+ '?crdnYr=' + encodeURIComponent(crdnYr)
|
|
|
|
|
+ '&pstnInfoId=' + encodeURIComponent(pstnInfoId)
|
|
|
|
|
+ '&crdnNo=' + encodeURIComponent(crdnNo)
|
|
|
|
|
+ '&mode=C';
|
|
|
|
|
var w = 1200, h = 480;
|
|
|
|
|
var left = Math.max(0, (screen.width - w) / 2);
|
|
|
|
|
var top = Math.max(0, (screen.height - h) / 2);
|
|
|
|
|
@ -533,21 +487,21 @@
|
|
|
|
|
alert('불법행위 정보 그리드가 초기화되지 않았습니다.');
|
|
|
|
|
return;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
var checkedRows = window.CrdnDetailView.grids.actInfo.grid.instance.getCheckedRows();
|
|
|
|
|
if (checkedRows.length === 0) {
|
|
|
|
|
alert('삭제할 항목을 선택해 주세요.');
|
|
|
|
|
return;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
if (!confirm('선택된 ' + checkedRows.length + '건의 불법행위 정보를 삭제하시겠습니까?')) {
|
|
|
|
|
return;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
var deleteIds = checkedRows.map(function(row) {
|
|
|
|
|
return row.actInfoId;
|
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// 중요로직: 서버에 삭제 요청
|
|
|
|
|
$.ajax({
|
|
|
|
|
url: '<c:url value="/crdn/crndRegistAndView/crdnActInfo/delete.ajax"/>',
|
|
|
|
|
@ -573,6 +527,63 @@
|
|
|
|
|
}
|
|
|
|
|
});
|
|
|
|
|
});
|
|
|
|
|
},
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* 그리드 모듈 등록 함수
|
|
|
|
|
* 각 개별 그리드 모듈에서 자신을 등록할 때 사용
|
|
|
|
|
*/
|
|
|
|
|
registerGrid: function(gridName, gridModule) {
|
|
|
|
|
this.grids[gridName] = gridModule;
|
|
|
|
|
//console.log(gridName + ' 그리드 모듈이 등록되었습니다.');
|
|
|
|
|
},
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* 소유자 버튼 상태 제어 함수
|
|
|
|
|
* 위치정보 그리드 데이터 유무에 따라 소유자 선택/제거 버튼을 활성화/비활성화
|
|
|
|
|
*/
|
|
|
|
|
updateOwnrButtonsState: function(hasLocationData) {
|
|
|
|
|
var $ownrSelectBtn = $('#ownrSelectBtn');
|
|
|
|
|
var $ownrRemoveBtn = $('#ownrRemoveBtn');
|
|
|
|
|
|
|
|
|
|
if (hasLocationData) {
|
|
|
|
|
// 위치정보가 있을 때 버튼 활성화
|
|
|
|
|
$ownrSelectBtn.prop('disabled', false);
|
|
|
|
|
$ownrRemoveBtn.prop('disabled', false);
|
|
|
|
|
$ownrSelectBtn.removeClass('disabled');
|
|
|
|
|
$ownrRemoveBtn.removeClass('disabled');
|
|
|
|
|
} else {
|
|
|
|
|
// 위치정보가 없을 때 버튼 비활성화
|
|
|
|
|
$ownrSelectBtn.prop('disabled', true);
|
|
|
|
|
$ownrRemoveBtn.prop('disabled', true);
|
|
|
|
|
$ownrSelectBtn.addClass('disabled');
|
|
|
|
|
$ownrRemoveBtn.addClass('disabled');
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* 모듈 초기화
|
|
|
|
|
*/
|
|
|
|
|
init: function() {
|
|
|
|
|
var self = this;
|
|
|
|
|
|
|
|
|
|
// 중요로직: 소유자 선택/제거 버튼 초기 비활성화 설정
|
|
|
|
|
this.updateOwnrButtonsState(false);
|
|
|
|
|
|
|
|
|
|
// 이벤트 핸들러 설정
|
|
|
|
|
this.eventBindEvents();
|
|
|
|
|
|
|
|
|
|
// 단속 데이터 로딩
|
|
|
|
|
this.loadCrdnData();
|
|
|
|
|
|
|
|
|
|
// 팝업에서 선택된 조사원 정보 수신 콜백 설정 (한글 주석: 팝업 → 부모창 데이터 전달 수신)
|
|
|
|
|
window.onExmnrSelected = function(selectedExmnrs) {
|
|
|
|
|
if (selectedExmnrs && selectedExmnrs.length > 0) {
|
|
|
|
|
// 선택된 조사원명들을 콤마로 연결하여 입력필드에 설정
|
|
|
|
|
var exmnrNames = selectedExmnrs.map(function (exmnr) { return exmnr.exmnr; }).join(',');
|
|
|
|
|
$('#exmnr').val(exmnrNames);
|
|
|
|
|
}
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
console.log('단속 상세보기 통합 모듈이 초기화되었습니다.');
|
|
|
|
|
}
|
|
|
|
|
|