fix: 발주기관 건설현장 수정 시, 건설사 미선정 체크 안 되는 버그 수정
parent
6d56b33796
commit
008767112d
|
|
@ -311,6 +311,16 @@ public class DrillingInquiryServiceImpl implements DrillingInquiryService {
|
|||
data.put("modDt", formattedDate);
|
||||
}
|
||||
|
||||
// 건설사 미선정 여부를 판단한다.
|
||||
boolean contractorTbd = false;
|
||||
String constCompanyCode = MyUtil.getStringFromObject( data.get("constCompanyCode") );
|
||||
String constCompanyAdmin = MyUtil.getStringFromObject( data.get("constCompanyAdmin") );
|
||||
String constCompanyTel = MyUtil.getStringFromObject( data.get("constCompanyTel") );
|
||||
if( constCompanyCode == null && constCompanyAdmin == null && constCompanyTel == null ) {
|
||||
contractorTbd = true;
|
||||
}
|
||||
data.put("contractorTbd", contractorTbd);
|
||||
|
||||
|
||||
}
|
||||
jsonResponse.put("datas", datas);
|
||||
|
|
|
|||
|
|
@ -296,6 +296,54 @@ if (request.getSession().getAttribute("CLS") == null || "2".equals(request.getSe
|
|||
}
|
||||
|
||||
|
||||
/** 건설사 미선정 처리 **/
|
||||
function contractorTbd(ele) {
|
||||
|
||||
document.querySelectorAll('input[id*=unselected-constructor-]').forEach(function (list) {
|
||||
if (!list.contains(ele)) return;
|
||||
|
||||
|
||||
let chgChk = ele.checked; // false: 체크박스해제, true: 체크
|
||||
const userid = list.closest('td')?.querySelector('input[id*=const-user-id]'); // hidden 사용자 id
|
||||
const company = list.closest('td')?.querySelector('input[id*=const-company-dept-]'); // 건설사명
|
||||
const admin = list.closest('td')?.querySelector('input[id*=const-company-admin-]'); // 담당자
|
||||
const tel = list.closest('td')?.querySelector('input[id*=const-company-tel-]'); // 담당자 연락처
|
||||
const pageType = location.href.includes("modify.do") ? "edit" : "add";
|
||||
if (chgChk) { // 건설사 미지정에 체크시 입력정보 초기화
|
||||
if (pageType == 'edit' && orgConstUsr != "") { // 수정하면서 원건설사를 미지정할때 확인진행
|
||||
if (!confirm("건설사에서 입력중인 경우 입력내용이 삭제됩니다. 건설사를 미지정하시겠습니까?")) {
|
||||
return;
|
||||
} else {
|
||||
document.getElementById('const-user-id-1').value = ''
|
||||
}
|
||||
}
|
||||
|
||||
// 건설사 미지정 처리
|
||||
// 입력값 초기화
|
||||
userid.value = '';
|
||||
company.value = '';
|
||||
admin.value = '';
|
||||
tel.value = '';
|
||||
// 입력 불가
|
||||
userid.disabled = true;
|
||||
company.disabled = true;
|
||||
admin.disabled = true;
|
||||
tel.disabled = true;
|
||||
} else {
|
||||
userid.value = orgConstUsr;
|
||||
company.value = orgConstCompany;
|
||||
admin.value = orgConstName;
|
||||
tel.value = orgConstTel;
|
||||
// 입력 허용
|
||||
userid.disabled = false;
|
||||
company.disabled = false;
|
||||
admin.disabled = false;
|
||||
tel.disabled = false;
|
||||
}
|
||||
|
||||
});
|
||||
}
|
||||
|
||||
document.addEventListener('DOMContentLoaded', function() {
|
||||
|
||||
// 'CID' 쿼리스트링 파라미터 확인 및 버튼 숨김 처리
|
||||
|
|
@ -499,49 +547,9 @@ if (request.getSession().getAttribute("CLS") == null || "2".equals(request.getSe
|
|||
|
||||
list.style.display = 'none';
|
||||
});
|
||||
|
||||
// 건설사 미지정 체크시 건설사(계정)정보 초기화
|
||||
document.querySelectorAll('input[id*=unselected-constructor-]').forEach(function (list) {
|
||||
if (!list.contains(e.target)) return;
|
||||
|
||||
let chgChk = e.target.checked // false: 체크박스해제, true: 체크
|
||||
const userid = list.closest('td')?.querySelector('input[id*=const-user-id]'); // hidden 사용자 id
|
||||
const company = list.closest('td')?.querySelector('input[id*=const-company-dept-]'); // 건설사명
|
||||
const admin = list.closest('td')?.querySelector('input[id*=const-company-admin-]'); // 담당자
|
||||
const tel = list.closest('td')?.querySelector('input[id*=const-company-tel-]'); // 담당자 연락처
|
||||
const pageType = location.href.includes("modify.do") ? "edit" : "add";
|
||||
if (chgChk) { // 건설사 미지정에 체크시 입력정보 초기화
|
||||
if (pageType == 'edit' && orgConstUsr != "") { // 수정하면서 원건설사를 미지정할때 확인진행
|
||||
if (!confirm("건설사에서 입력중인 경우 입력내용이 삭제됩니다. 건설사를 미지정하시겠습니까?")) {
|
||||
return;
|
||||
} else {
|
||||
document.getElementById('const-user-id-1').value = ''
|
||||
}
|
||||
}
|
||||
|
||||
// 건설사 미지정 처리
|
||||
// 입력값 초기화
|
||||
userid.value = '';
|
||||
company.value = '';
|
||||
admin.value = '';
|
||||
tel.value = '';
|
||||
// 입력 불가
|
||||
userid.disabled = true;
|
||||
company.disabled = true;
|
||||
admin.disabled = true;
|
||||
tel.disabled = true;
|
||||
} else {
|
||||
userid.value = orgConstUsr;
|
||||
company.value = orgConstCompany;
|
||||
admin.value = orgConstName;
|
||||
tel.value = orgConstTel;
|
||||
// 입력 허용
|
||||
userid.disabled = false;
|
||||
company.disabled = false;
|
||||
admin.disabled = false;
|
||||
tel.disabled = false;
|
||||
}
|
||||
});
|
||||
// 건설사 미지정 체크시 건설사(계정)정보 초기화
|
||||
contractorTbd(e.target);
|
||||
});
|
||||
|
||||
/**
|
||||
|
|
@ -567,7 +575,7 @@ if (request.getSession().getAttribute("CLS") == null || "2".equals(request.getSe
|
|||
}
|
||||
}
|
||||
});
|
||||
})
|
||||
});
|
||||
});
|
||||
|
||||
// 사업 등록 처리
|
||||
|
|
@ -802,6 +810,21 @@ if (request.getSession().getAttribute("CLS") == null || "2".equals(request.getSe
|
|||
orgConstTel = item.constCompanyTel ? item.constCompanyTel : "";
|
||||
orgPrjCd = item.projectCode ? item.projectCode : "";
|
||||
|
||||
|
||||
|
||||
const unselectedConstructor1Ele = document.getElementById('unselected-constructor-1');
|
||||
if( unselectedConstructor1Ele ) {
|
||||
unselectedConstructor1Ele.checked = item.contractorTbd || false; //건설사 미선정 check 처리
|
||||
|
||||
contractorTbd(unselectedConstructor1Ele);
|
||||
// 기존 이벤트 제거 (동일한 함수 참조 전달)
|
||||
//unselectedConstructor1Ele.removeEventListener('change', contractorTbd);
|
||||
|
||||
// 새 이벤트 등록
|
||||
//unselectedConstructor1Ele.addEventListener('change', contractorTbd);
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
// 툴팁에 표시할 아이디 가져오기
|
||||
|
|
|
|||
Loading…
Reference in New Issue