Merge remote-tracking branch 'origin/dev' into dev

dev
dg_kim 3 months ago
commit c9dda20970

@ -228,6 +228,35 @@
});
// 그리드 렌더링 및 데이터 업데이트 완료 이벤트
this.instance.on('onGridUpdated', function() {
// hidden 이 아닌 첫번째 컬럼을 가져옴.
const firstVisibleColumn = self.instance.getColumns().find(column => !column.hidden);
var allRows = self.instance.getData();
var rowKey = null;
allRows.forEach(function(row) {
if( CrdnDetailView.actInfoId === null ){
rowKey = allRows[0].rowKey;
CrdnDetailView.actInfoId = row.actInfoId;
}else if (row.actInfoId === CrdnDetailView.actInfoId) {
rowKey = row.rowKey
}
// 1. 체크박스 선택
//self.instance.check(rowKey);
// 2. 행 전체 선택 (파란색 배경)
self.instance.setSelectionRange({
start: [rowKey, 0],
end: [rowKey, self.instance.getColumns().length - 1]
});
// 3. 첫 번째 보이는 컬럼으로 포커스 이동 및 스크롤
self.instance.focus(rowKey, firstVisibleColumn.name, true);
});
});
// 행 클릭 이벤트
this.instance.on('click', function(ev) {
if (ev.rowKey !== undefined && ev.rowKey !== null) {

@ -98,7 +98,7 @@
processData: true
}
},
initialRequest: true, // 초기 데이터 요청 여부
initialRequest: false, // 초기 데이터 요청 여부
serializer: function(params) {
// 기본 파라미터 (페이지 정보 등)
var defaultParams = $.param(params);
@ -134,6 +134,7 @@
// 데이터 로딩 완료 이벤트
this.instance.on('successResponse', function(ev) {
// 중요로직: 그리드 데이터 건수에 따른 "위치정보 추가" 버튼 활성화/비활성화 처리
var responseObj = JSON.parse(ev.xhr.response);
var totalCount = 0;
@ -141,46 +142,63 @@
totalCount = responseObj.data.contents.length;
}
var $pstnInfoRegistBtn = $('#pstnInfoRegistBtn');
if (totalCount >= 1) {
// 데이터가 1건 이상 있을 경우 버튼 비활성화
$pstnInfoRegistBtn.prop('disabled', true);
$pstnInfoRegistBtn.addClass('disabled');
window.CrdnDetailView.pstnInfoId = responseObj.data.contents[0].pstnInfoId;
// 중요로직: 데이터가 있을 때 첫 번째 row를 선택(하이라이트) 처리, 참고, 삭제 불가
//setInterval(function() {
// var firstRowKey = self.instance.getRowAt(0);
// if (firstRowKey !== null && firstRowKey !== undefined) {
// self.instance.focus(firstRowKey.rowKey, null, true);
// }
//}, 100);
CrdnDetailView.pstnInfoId = responseObj.data.contents[0].pstnInfoId;
} else {
// 데이터가 0건일 경우 버튼 활성화
$pstnInfoRegistBtn.prop('disabled', false);
$pstnInfoRegistBtn.removeClass('disabled');
window.CrdnDetailView.pstnInfoId = null;
}
// 중요로직: 위치정보 데이터 유무에 따른 소유자 선택/제거 버튼 상태 제어
if (window.CrdnDetailView && window.CrdnDetailView.updateOwnrButtonsState) {
var hasLocationData = totalCount > 0;
window.CrdnDetailView.updateOwnrButtonsState(hasLocationData);
}
// 중요로직: 위치정보 로딩 완료 후 나머지 그리드들 순차적 로딩 실행
if (window.CrdnDetailView && window.CrdnDetailView.refreshOtherGridsAfterLocation) {
window.CrdnDetailView.refreshOtherGridsAfterLocation();
}
});
// 그리드 렌더링 및 데이터 업데이트 완료 이벤트
this.instance.on('onGridUpdated', function() {
// hidden 이 아닌 첫번째 컬럼을 가져옴.
const firstVisibleColumn = self.instance.getColumns().find(column => !column.hidden);
var allRows = self.instance.getData();
var rowKey = null;
allRows.forEach(function(row) {
if( CrdnDetailView.pstnInfoId === null ){
rowKey = allRows[0].rowKey;
CrdnDetailView.pstnInfoId = row.pstnInfoId;
}else if (row.pstnInfoId === CrdnDetailView.pstnInfoId) {
rowKey = row.rowKey
}
// 1. 체크박스 선택
//self.instance.check(rowKey);
// 2. 행 전체 선택 (파란색 배경)
self.instance.setSelectionRange({
start: [rowKey, 0],
end: [rowKey, self.instance.getColumns().length - 1]
});
// 3. 첫 번째 보이는 컬럼으로 포커스 이동 및 스크롤
self.instance.focus(rowKey, firstVisibleColumn.name, true);
});
});
// 행 클릭 이벤트
this.instance.on('click', function(ev) {
if (ev.rowKey !== undefined && ev.rowKey !== null) {
var rowData = self.instance.getRow(ev.rowKey);
console.log('위치 정보 행 클릭:', rowData);
//console.log('위치 정보 행 클릭:', rowData);
CrdnDetailView.pstnInfoId = rowData.pstnInfoId;
}
});
@ -188,9 +206,9 @@
this.instance.on('dblclick', function(ev) {
var rowKey = ev.rowKey;
var rowData = self.instance.getRow(rowKey);
//console.log('위치 정보 행 더블클릭:', rowData);
if (rowData) {
console.log('위치 정보 행 더블클릭:', rowData);
// 중요로직: 수정 팝업 호출
CrdnDetailView.pstnInfoId = rowData.pstnInfoId;
self.openEditPopup(rowData);
}
});
@ -286,10 +304,6 @@
return;
}
//console.log( CrdnDetailView.grids.ownrInfo.grid.instance.getData() && CrdnDetailView.grids.ownrInfo.grid.instance.getData().length > 0 );
//console.log( CrdnDetailView.grids.actInfo.grid.instance.getData() && CrdnDetailView.grids.actInfo.grid.instance.getData().length > 0 );
//console.log( CrdnDetailView.grids.actrInfo.grid.instance.getData() && CrdnDetailView.grids.actrInfo.grid.instance.getData().length > 0 );
if( (CrdnDetailView.grids.ownrInfo.grid.instance.getData() && CrdnDetailView.grids.ownrInfo.grid.instance.getData().length > 0)
|| (CrdnDetailView.grids.actInfo.grid.instance.getData() && CrdnDetailView.grids.actInfo.grid.instance.getData().length > 0)
|| (CrdnDetailView.grids.actrInfo.grid.instance.getData() && CrdnDetailView.grids.actrInfo.grid.instance.getData().length > 0)

@ -522,6 +522,9 @@
// 단속 데이터 로딩
this.loadCrdnData();
// 최초 위치 정보 호출
this.grids.pstn.search();
// 팝업에서 선택된 조사원 정보 수신 콜백 설정 (한글 주석: 팝업 → 부모창 데이터 전달 수신)
window.onExmnrSelected = function(selectedExmnrs) {

Loading…
Cancel
Save