TS 날짜 변경 로직
중도정산근무지정보입력
cellEditEnd(events : any){
for(let event of events){
if(event.dataField =="BegDate"){
this.ss1.setCellValue(event.rowIndex,"BegYm",event.value.substr(0,6));
}
}
}
cellEditEnd(events : any){
for(let event of events){
var getCellValue;
if(event.dataField =="BegYm"){
getCellValue = this.ss1.getCellValue(event.rowIndex,"BegDate");
//날짜 유효성검사
if(this.isDate(event.value+getCellValue.substr(6,2))){
//시작월 데이터를 시작일 UPDATE
this.ss1.setCellValue(event.rowIndex,"BegDate",event.value+getCellValue.substr(6,2));
}else{
//유효하지않으면 해당월에 마지막일(ex.20230231 => 20230228)
this.ss1.setCellValue(event.rowIndex,"BegDate",this.coaonutil.getLastDay(event.value+'01'));
}
}
}
}
isDate(params: any) {
var year = params.substr(0,4);
var month = params.substr(4,2);
var day = params.substr(6,2);
//yyyymmdd 체크
if ((month == '04' || month == '06' || month == '09' || month == '11') && day == '31') {
return false;
}
else if (month == '02') {
//윤달 체크 알고리즘
var isleap = (year % 4 == 0 && (year % 100 != 0 || year % 400 == 0));
if (day > 29 || (day == 29 && !isleap)) {
return false;
}
}
return true
}
cellEditEnd(events : any){
for(let event of events){
var getCellValue;
if(event.dataField =="BegDate"){
this.ss1.setCellValue(event.rowIndex,"BegYm",event.value.substr(0,6));
}
if(event.dataField =="BegYm"){
getCellValue = this.ss1.getCellValue(event.rowIndex,"BegDate");
//getCellValue가 undefined과 ""아니면 getCellValue, undefined과 ""면 시작일
getCellValue = (getCellValue !== undefined && getCellValue !== "" ) ? getCellValue : this.coaonutil.getFirstDay(event.value+'01');
//날짜 유효성검사
if(this.isDate(event.value+getCellValue.substr(6,2))){
//시작월 데이터를 시작일 UPDATE
this.ss1.setCellValue(event.rowIndex,"BegDate",event.value+getCellValue.substr(6,2));
}else{
//유효하지않으면 해당월에 마지막일(ex.20230231 => 20230228)
this.ss1.setCellValue(event.rowIndex,"BegDate",this.coaonutil.getLastDay(event.value+'01'));
}
}
}
}