//var loadingPopup = window.createPopup(); var onLoadYN = "N"; /** * Form validate함수 포함한 Submit * SubmitForm : 폼명 * Gubun : 명령어 * Url : 폼액션URL * Target : 폼타겟 * TblType : Action 분류명 * isValidate : 유효성 체크여부(true, false) */ function goSave(SubmitForm, Gubun, Url, Target, isValidate){ if(isValidate){ if(!validate(SubmitForm)) return; } SubmitForm.mode.value = Gubun; SubmitForm.action = Url; SubmitForm.target = Target; SubmitForm.submit(); //goSaveProcessing(); } /** * Form validate함수/확인메시지 포함한 Submit * SubmitForm : 폼명 * Gubun : 명령어(mode값) * Url : 폼액션URL * Target : 폼타겟 * sMsgAdd : 확인메시지 * sMsgCd : 확인메시지코드 * isValidate : 유효성체크여부 */ function goSaveConf(SubmitForm, Gubun, Url, Target, sMsgAdd, sMsgCd, isValidate){ if(isValidate){ if(!validate(SubmitForm)) return; } if ( !showConfirmMessage(sMsgAdd, sMsgCd, false) ) { return; } SubmitForm.mode.value = Gubun; SubmitForm.action = Url; SubmitForm.target = Target; SubmitForm.submit(); //goSaveProcessing(); } /** * Form 공지사항 첨부파일 포함한 Submit * SubmitForm : 폼명 * Gubun : 명령어 * Url : 폼액션URL * Target : 폼타겟 * TblType : Action 분류명 * sMsgAdd : 확인메시지 * sMsgCd : 확인메시지코드 */ function goSaveFile(SubmitForm, Gubun, Url, Target, sMsgAdd, sMsgCd, isValidate){ if(isValidate){ if(!validate(SubmitForm)) return; } if ( !showConfirmMessage(sMsgAdd, sMsgCd, false) ) { return; } SubmitForm.mode.value = Gubun; SubmitForm.action = Url; SubmitForm.encoding = "multipart/form-data"; SubmitForm.target = Target; SubmitForm.submit(); //goSaveProcessing(); } /** * Form validate함수 포함한 검색 Submit * SubmitForm : 폼명 * Gubun : 명령어 * Url : 폼액션URL * Target : 폼타겟 * TblType : Action 분류명 */ function goSearch(SubmitForm, Gubun, Url, Target){ if(!validate(SubmitForm)) return; SubmitForm.mode.value = Gubun; SubmitForm.action = Url; SubmitForm.target = Target; SubmitForm.submit(); //goSaveProcessing(); } /** * Form validate함수 포함한 검색 Submit * 검색기간을 1년으로 제한함. * SubmitForm : 폼명 * Gubun : 명령어 * Url : 폼액션URL * Target : 폼타겟 * TblType : Action 분류명 */ function goDateSearch(SubmitForm, Gubun, Url, Target, TblType){ if(!validate(SubmitForm)) return; var from_yy, from_mm, from_dd; var to_curdate, to_comdate; if(eval(js_removeChar(SubmitForm.txtToDate.value,'-')) < eval(js_removeChar(SubmitForm.txtFromDate.value,'-'))){ showMessage( "시작일자는 끝나는 일자보다 먼저여야 합니다.", "CO0", false); return; } if(form1.reqPage != null){ form1.reqPage.value = "1"; } from_yy = SubmitForm.txtFromDate.value.substring(0,4); from_mm = SubmitForm.txtFromDate.value.substring(5,7); from_dd = SubmitForm.txtFromDate.value.substring(8,10); to_yy = SubmitForm.txtToDate.value.substring(0,4); to_mm = SubmitForm.txtToDate.value.substring(5,7); to_dd = SubmitForm.txtToDate.value.substring(8,10); to_curdate = to_yy + to_mm + to_dd; to_yy = eval(from_yy) + 1; to_comdate = to_yy + from_mm + from_dd; if(to_curdate <= to_comdate){ SubmitForm.mode.value = Gubun; SubmitForm.tbltype.value = TblType; SubmitForm.srh.value = "Y"; SubmitForm.action = Url; SubmitForm.target = Target; SubmitForm.submit(); }else{ showMessage( "기간은 1년 이내여야 합니다.", "CO0", false); return; } } /* * 날짜 조회기간 체크 * SubmitForm : 폼명 * addmonth : 조회가능 기간 */ function checkMonth(SubmitForm, addmonth){ var from_yy, from_mm, from_dd; var to_curdate, to_comdate; var txtFromDate = TrimNum(SubmitForm.txtFromDate.value); var txtToDate = TrimNum(SubmitForm.txtToDate.value); from_yy = txtFromDate.substring(0,4); from_mm = txtFromDate.substring(4,6); if(txtFromDate.length == 6) from_dd = "01"; else from_dd = txtFromDate.substring(6,8); to_yy = txtToDate.substring(0,4); to_mm = txtToDate.substring(4,6); if(txtToDate.length == 6) to_dd = "01"; else to_dd = txtToDate.substring(6,8); to_curdate = to_yy + to_mm + to_dd; to_mm = eval(from_mm) + eval(addmonth); if(to_mm < 10){ to_mm = "0" + to_mm; } if(eval(to_mm) > 12){ to_comdate = (eval(from_yy)+1) + "0"+(eval(to_mm)-12) + from_dd ; }else{ to_comdate = from_yy + to_mm + from_dd; } if(to_curdate <= to_comdate){ return true; }else{ return false; } } /** * 세금계산서작성 * SubmitForm : 폼명 * Gubun : 명령어 * Url : 폼액션URL * Target : 폼타겟 */ function goWrite(SubmitForm, Gubun, Url, Target){ SubmitForm.mode.value = Gubun; SubmitForm.action = Url; SubmitForm.target = Target; SubmitForm.submit(); } /** * Form 확인메시지 포함한 Submit * SubmitForm : 폼명 * Gubun : 명령어 * Url : 폼액션URL * Target : 폼타겟 * TblType : Action 분류명 * sMsgAdd : 확인메시지 * sMsgCd : 확인메시지코드 */ function goWriteConf(SubmitForm, Gubun, Url, Target, sMsgAdd, sMsgCd){ if ( !showConfirmMessage(sMsgAdd, sMsgCd, false) ) { return; } SubmitForm.mode.value = Gubun; SubmitForm.action = Url; SubmitForm.target = Target; SubmitForm.submit(); //goSaveProcessing(); } /********************************** * 팝업 설정 ***********************************/ function goPopup(sPageID, sWidth, sHeight, sScrollbar, sPopNm) { nWidth = ""; nHeight = ""; nScrollbar = ""; sPopupName = ""; sConfig = ""; nWidth = sWidth; nHeight = sHeight; nScrollbar = sScrollbar; sPopupName = sPopNm; sConfig = "top = " + (screen.height - nHeight) / 2 + "," + "left = " + (screen.width - nWidth ) / 2 + "," + "width = " + nWidth + "," + "height = " + nHeight + "," + "resizable = " + "NO " + "," + "scrollbars= " + nScrollbar + "," + "menubar = " + "NO "; sOpenWin = window.open(sPageID , sPopupName, sConfig); } /** * Form validate함수 포함한 검색 Submit * SubmitForm : 폼명 * Url : 폼액션URL * Target : 폼타겟 * isValidate : 필수값 입력확인 여부 * goPopUp으로 오픈화면을 설정하고 form에서 타겟을 오픈창을 춤. */ function goOpen(SubmitForm, Url, Target, isValidate){ if(isValidate){ if(!validate(SubmitForm)){ sOpenWin.close(); return; } } SubmitForm.target = Target; SubmitForm.action = Url; SubmitForm.submit(); } /** * 게시판 리스트 호출 함수 * SubmitForm : 폼명 * Gubun : 명령어 * Url : 폼액션URL * Target : 폼타겟 * TblType : Action 분류명 * Seq : 세금계산서관리번호 */ function goList(SubmitForm, Gubun, Url, Target){ SubmitForm.mode.value = Gubun; SubmitForm.action = Url; SubmitForm.target = Target; SubmitForm.submit(); } /** * 세금계산서 세부내용보기 * SubmitForm : 폼명 * Gubun : 명령어 * Url : 폼액션URL * Target : 폼타겟 * TblType : Action 분류명 * Seq : 세금계산서관리번호 */ function goView(SubmitForm, Gubun, Url, Target){ SubmitForm.mode.value = Gubun; SubmitForm.action = Url; SubmitForm.target = Target; SubmitForm.submit(); } /** * Form validate함수 포함하지 않은 삭제Submit * SubmitForm : 폼명 * Gubun : 명령어 * Url : 폼액션URL * Target : 폼타겟 * downType : 다운로드구분 * att_File_Nm : 다운로드파일명 * att_File_Path : 저장경로 * att_Str0_Nm : 실제저장파일명 * isValidate : 유효성체크 */ function goDownload(SubmitForm, Gubun, Url, Target, downType, att_File_Nm, att_File_Path, att_Str0_Nm, isValidate){ if(isValidate){ if(!validate(SubmitForm)) return; } SubmitForm.downType.value = downType; SubmitForm.atch_File_Name.value = att_File_Nm; SubmitForm.atch_File_Path.value = att_File_Path; SubmitForm.atch_Str0_Name.value = att_Str0_Nm; SubmitForm.mode.value = Gubun; SubmitForm.action = Url; SubmitForm.target = Target; SubmitForm.submit(); } /** * Form validate함수 포함하지 않은 삭제Submit * SubmitForm : 폼명 * Gubun : 명령어 * Url : 폼액션URL * Target : 폼타겟 * sMsgAdd : 확인메시지 * sMsgCd : 확인메시지코드 */ function goDelete(SubmitForm, Gubun, Url, Target, sMsgAdd, sMsgCd){ if ( !showConfirmMessage(sMsgAdd, sMsgCd, false) ) { return; } SubmitForm.mode.value = Gubun; SubmitForm.action = Url; SubmitForm.target = Target; SubmitForm.submit(); } /** * 전체선택 및 전체해제 */ //var select_mode = 0; function CheckboxAll(bForm, select_mode) { var flag; if ( select_mode == '0' ) { flag = true; //select_mode = 1; } else { flag = false; //select_mode = 0; } if(bForm.chk != null){ //= 체크박스가 하나라도 있으면 if(bForm.chk.length){ for (var i=0; i< bForm.chk.length; i++) { bForm.chk[i].checked = flag; } }else{ bForm.chk.checked = flag; } } } // 체크박스에서 체크했는지 확인 function isCheckBlank(theField) { var iCnt = 0; if (theField.length) //CheckBox 가 한개 이상 있는 경우 입니다. { for(var i =0 ; i < theField.length; i++) { if(theField[i].checked) iCnt++; } } else //CheckBox 가 한개인 경우 { if (theField.checked) iCnt++; } return(iCnt==0) ? true : false; } // 체크박스에서 체크했는지 확인 function isMinCheckBlank(theField, minchk) { var iCnt = 0; if (theField.length) //CheckBox 가 한개 이상 있는 경우 입니다. { for(var i =0 ; i < theField.length; i++) { if(theField[i].checked) iCnt++; } } else //CheckBox 가 한개인 경우 { if (theField.checked) iCnt++; } return(iCnt==0 || iCnt < eval(minchk)) ? true : false; } // 전체선택,선택취소 버튼 클릭시 function chkFlag(k) { var flag; if ( k == 'Y' ) { flag = true; select_mode = 1; bForm.chkFlag.value='Y'; } else { flag = false; select_mode = 0; bForm.chkFlag.value='N'; } if(bForm.chk != null){ if(bForm.chk.length ){ for (var i=0; i타입의 시작지점 var _input_e = html.indexOf(">", _input_s); // 타입의 종료지점 var _replace_str = html.slice(_input_s, eval(_input_e)+1); //alert(_input_s + '|' +_input_e + '|' + _replace_str+ '|' +el); html = html.replace(_replace_str, '&'+el+'&'); _input_pre_s = _input_s; // 사업자번호 체크 /* var tag = el.indexOf('['); if(tag > -1){ var col_nm1 = el.substring(0, tag-3); var col_nm2 = el.substring(tag-3, el.length); //var col_nm3 = el.substring(tag, el.length); if(html.indexOf('busi_n'+col_nm2) == -1) _validate = false; }*/ _input_text = _input_text + '|' + el; } /*=======================================*/ /*====== select box 찾기 ====== */ /*======================================*/ var _input_pre_s = "0"; allColl = document.all._html.all.tags("select"); for (var i=0; i타입의 시작지점 var _input_e = html.indexOf("", _input_s)+8; // 타입의 종료지점(<지점 + /select>8자리 더한값) var _replace_str = html.slice(_input_s, eval(_input_e)+1); //alert(_input_s + '|' +_input_e + '|' + _replace_str+ '|' +el); html = html.replace(_replace_str, '&'+el+'&'); _input_pre_s = _input_s; _input_text = _input_text + '|' + el; } /*=======================================*/ /*====== img 찾기 ====== */ /*======================================*/ var _input_pre_s = "0"; allColl = document.all._html.all.tags("img"); // select 찾기 for (var i=0; i타입의 시작지점 var _input_e = html.indexOf(">", _input_s); // 타입의 종료지점 var _replace_str = html.slice(_input_s, eval(_input_e)+1); if(el != 'logo' && el!= 'contStamp' && el.indexOf('start') == -1 && el.indexOf('end') == -1){ html = html.replace(_replace_str, ''); }else{ _input_s = _input_e; // 시작점을 끝나는 점으로 변경 } _input_pre_s = _input_s; } if(!_validate){ alert( "입력하신 내용이 규칙에 어긋납니다.\n규칙에 어긋나는 내용을 바로 잡아주세요.\n\n" + "[사업자번호] 가 누락되었습니다."); return false; }else{ SubmitForm.form_View.value = html; // 계약서 상세화면 if(SubmitForm.form_Inpu != null) SubmitForm.form_Inpu.value = _input_text; // 계약서 INPUT TAG } } // 계약서 작성시 계약서 입력폼 변경하는 경우도 발생하기 때문에 // 입력양식을 재 읽어, 계약서 작성과 상세화면을 재구성함 function goReplaceTextnHTML(SubmitForm, flag){ var html ; html = document.all.inputForm.innerHTML; /*= ┳┳┳┳┳┳┳┳┳┳┳┳┳ 계약서 작성 폼 새로 구성 ┳┳┳┳┳┳┳┳┳┳┳┳ =*/ /* input 찾아서 값 지우기. cont_Text를 새로 생성하기 위해 */ // 계약양식폼 새로 구성 SubmitForm.cont_Text.value = html; /*= ┻┻┻┻┻┻┻┻┻┻┻┻┻┻┻┻ OK ┻┻┻┻┻┻┻┻┻┻┻┻┻┻┻┻┻┻┻-=*/ /*= ┳┳┳┳┳┳┳┳┳┳┳┳┳ 계약서 상세 폼 새로 구성 ┳┳┳┳┳┳┳┳┳┳┳┳ =*/ var _input_pre_s = "0"; var _validate = true; var _input_text = ""; // 입력태그명만 취합 var btnitemFlag = false; // 항목추가 계약서인지 확인 /*=======================================*/ /*====== img 찾아서 지우기 ====== */ /*======================================*/ allColl = document.getElementsByTagName("img"); // select 찾기 for (var i=0; i타입의 시작지점 var _input_e = html.indexOf(">", _input_s); // 타입의 종료지점 var _replace_str = html.slice(_input_s, eval(_input_e)+1); //html = html.replace(_replace_str, ''); if(el != 'logo' && el!= 'contStamp' && el.indexOf('start') == -1 && el.indexOf('end') == -1){ html = html.replace(_replace_str, ''); }else{ _input_s = _input_e; // 시작점을 끝나는 점으로 변경 } _input_pre_s = _input_s; } // ★★★ 상품항목을 추가하지 않는 계약서는 계약입력을 수정하지 않기 때문에 // 아래 프로세스를 하지 않아도 됨. 즉 파라미터의 form_View를 그대로 사용함. if(!btnitemFlag && !flag) return true; /*=======================================*/ /*====== input 찾기 ====== */ /*======================================*/ var _input_pre_s = "0"; allColl = document.all.inputForm.all.tags('input'); for (var i=0; i타입의 시작지점 var _input_e = html.indexOf(">", _input_s); // 타입의 종료지점 var _replace_str = html.slice(_input_s, eval(_input_e)+1); //alert(_input_s + '|' +_input_e + '|' + _replace_str+ '|' +el); html = html.replace(_replace_str, '&'+el+'&'); _input_pre_s = _input_s; // 사업자번호 체크 /* var tag = el.indexOf('['); if(tag > -1){ var col_nm1 = el.substring(0, tag-3); var col_nm2 = el.substring(tag-3, el.length); //var col_nm3 = el.substring(tag, el.length); if(html.indexOf('busi_n'+col_nm2) == -1) _validate = false; }*/ _input_text = _input_text + '|' + el; } /*=======================================*/ /*====== select box 찾기 ====== */ /*======================================*/ var _input_pre_s = "0"; allColl = document.all.inputForm.all.tags("select"); for (var i=0; i타입의 시작지점 var _input_e = html.indexOf("", _input_s)+8; // 타입의 종료지점(<지점 + /select>8자리 더한값) var _replace_str = html.slice(_input_s, eval(_input_e)+1); //alert(_input_s + '|' +_input_e + '|' + _replace_str+ '|' +el); html = html.replace(_replace_str, '&'+el+'&'); _input_pre_s = _input_s; _input_text = _input_text + '|' + el; } /*= ┻┻┻┻┻┻┻┻┻┻┻┻┻┻┻┻ OK ┻┻┻┻┻┻┻┻┻┻┻┻┻┻┻┻┻┻┻-=*/ if(!_validate){ alert( "입력하신 내용이 규칙에 어긋납니다.\n규칙에 어긋나는 내용을 바로 잡아주세요.\n\n" + "[사업자번호] 가 누락되었습니다."); return false; }else{ SubmitForm.form_View.value = html; // 계약서 상세화면 if(SubmitForm.form_Inpu != null) SubmitForm.form_Inpu.value = _input_text; // 계약서 INPUT TAG } } /** * 금액 입력하고 OnBlur시 금액형식 표시, 소스점 이하 반올림 표시하기 * 계약서 양식폼 작성시 * formObject : 오브젝트 * sMsg : 오류메시지 */ function blur_Amou(formObject, sMsg){ //= 금액이 있으면 if(formObject.value != ""){ if(amt_FormatNumChk(formObject, sMsg)){ formObject.value = CommaNum(formObject.value); //= 금액,, 소수점 0자리 } } } // Enter 키(날짜년월만있는곳) function enterClick0(SubmitForm, mode, url, target){ if( event.keyCode == 13 ) { fnSearch(SubmitForm, mode, url, target); } } // Enter 키 function enterClick(){ if( event.keyCode == 13 ) { fnSearch(); } } function getDayInterval(f) { var day1 = f.txtFromDate.value var day2 = f.txtToDate.value //20060101 : 날짜포멧 변경 day1 = day1.replace(/-/g,""); day2 = day2.replace(/-/g,""); day1 = day1.substr(0,4) + "/" + day1.substr(4,2) + "/" + day1.substr(6,2); day2 = day2.substr(0,4) + "/" + day2.substr(4,2) + "/" + day2.substr(6,2); var dayFr = new Date(day1) var dayTo = new Date(day2) var diff = dayTo.getTime() - dayFr.getTime(); var days = Math.floor(diff / (1000 * 60 * 60 * 24)); return days; } // 일괄 전자서명 function fnMultiSign(SubmitForm, URL){ if(SubmitForm.chk !=null){ if(!isCheckBlank(SubmitForm.chk)){ // 선택여부 확인 // 전자서명은 상태가 미발행만 가능. // 세금계산서 진행상태 체크 var message = fnChk(SubmitForm.chk, 'sign'); if( message != ''){ showMessage( eval("CO999") + "[진행상태]\n"+message, "CO0", false); } if(!isCheckBlank(SubmitForm.chk)){ goSave(SubmitForm, 'save', URL, 'tmpFrm'); //goSaveProcessing(); } }else{ alert('목록에서 선택을 먼저 하십시요.'); return; } }else{ alert('선택할 항목이 없습니다.'); return; } } // 선택 출력 function fnSelectedPrint(SubmitForm, url, type){ if(SubmitForm.chk !=null){ if(!isCheckBlank(SubmitForm.chk)){ // 출력은 상태가 발행만 가능. // 세금계산서 진행상태 체크 var message = fnChk(SubmitForm.chk, type); if( message != ''){ showMessage( eval("CO999") + "[진행상태]\n"+message, "CO0", false); } if(!isCheckBlank(SubmitForm.chk)){ SubmitForm.mode.value = "select"; goPopup('', '300', '140', 'No', 'multi'); goOpen(SubmitForm, url, 'multi', false); } }else{ alert('목록에서 선택을 먼저 하십시요.'); return; } }else{ alert('선택할 항목이 없습니다.'); return; } } // 계약서 목록 업체 검색 function fnVendSearch(SubmitForm, url){ SubmitForm.mode.value = "select"; goPopup('', '570', '400', 'YES', 'vend'); goOpen(SubmitForm, url, 'vend', false); } // 계약 로그 function fnContLogs(SubmitForm, url){ SubmitForm.mode.value = "select"; goPopup('', '660', '300', 'YES', 'logs'); goOpen(SubmitForm, url, 'logs', false); } // 변경계약 확인 function fnContChng(SubmitForm, url){ SubmitForm.mode.value = "select"; goPopup('', '800', '400', 'YES', 'chng'); goOpen(SubmitForm, url, 'chng', false); } // 만료연장계약 확인 function fnContExpire(SubmitForm, url){ SubmitForm.mode.value = "select"; goPopup('', '800', '400', 'YES', 'expire'); goOpen(SubmitForm, url, 'expire', false); } // 계약서중 상품목록의 라인 추가 function fnInputAdd(gbn_code){ var form1 = document.contForm; var codeAttr = maxCodeAttr(gbn_code); oRow = document.createElement('tr'); oCel0 = document.createElement('td'); oCel1 = document.createElement('td'); oCel2 = document.createElement('td'); oCel3 = document.createElement('td'); oCel4 = document.createElement('td'); //oRow.height = '40'; //oCel0.className='input2'; //oCel1.className='input2'; //oCel2.className='input2'; //oCel3.className='input2'; //oCel4.className='input2'; oCel0.align='center'; oCel1.align='center'; oCel2.align='right'; oCel3.align='right'; oCel4.align='left'; oRow.appendChild(oCel0); oRow.appendChild(oCel1); oRow.appendChild(oCel2); oRow.appendChild(oCel3); oRow.appendChild(oCel4); oCel0.innerHTML=""; oCel1.innerHTML=""; oCel2.innerHTML=""; oCel3.innerHTML=""; oCel4.innerHTML=""; document.getElementById('prodTable').children(0).appendChild(oRow); } // 계약서중 상품목록의 라인 제거 function fnInputDel(){ var form1 = document.contForm; var tbody = document.getElementById('prodTable').getElementsByTagName("TBODY")[0]; if(tbody.rows.length > 1) tbody.deleteRow(tbody.rows.length-1); } // cont_attr의 맥스값을 구한다. function maxCodeAttr(gbn_code){ allColl = document.all.tags('input'); var maxNum = "0"; var curval = ""; for (var i=0; i -1 ){ curval = el.substring(el.lastIndexOf('_')); if(eval(TrimNum(curval)) > eval(maxNum)) maxNum = TrimNum(curval); } } return eval(maxNum)+1; } // 거부사유 레이어 function fnDisplayReject(num){ if(document.all.reje != null){ if(document.all.reje.length){ for(var i=0; i