/* ////////////////////////////////////////////////////////////////////////////////////////////// @ 초기설정 ////////////////////////////////////////////////////////////////////////////////////////////// */ var url_host = "https://" + window.location.host; var url_ajax = url_host + "/page/ajax"; var url_theme = url_host + "/theme/bootstrap5-basic"; var url_search_temp = window.location.search.split("="); var url_search = url_search_temp[1]; var url_path = window.location.pathname; var url_page = url_path.split("/").pop(); const tmp_url = $(location).attr('search'); var urlParams = new URLSearchParams( tmp_url ); // 페이지네이션 출력 갯수 var cf_write_pages = 5; /* ////////////////////////////////////////////////////////////////////////////////////////////// @ 전처리 ////////////////////////////////////////////////////////////////////////////////////////////// */ /*************************************** @ 통합검색 옵션 불러오기 ***************************************/ var hd_qcaid = ``; $("#hd_qcaid option").append(hd_qcaid); /*************************************** @ 로그인 버튼 처리 ***************************************/ if( g5_is_member == "1" ){ out_login(); } /* ////////////////////////////////////////////////////////////////////////////////////////////// @ 이벤트 ////////////////////////////////////////////////////////////////////////////////////////////// */ /* ////////////////////////////////////////////////////////////////////////////////////////////// @ FUNCTION ////////////////////////////////////////////////////////////////////////////////////////////// */ /*************************************** @ 버튼 > 통합검색 ***************************************/ function search_submit(f) { if (f.q.value.length < 2) { alert("검색어는 두글자 이상 입력하십시오."); f.q.select(); f.q.focus(); return false; } return true; } /*************************************** @ ajax > 아웃 로그인 ***************************************/ //sql 실행 function out_login(){ var result = ""; $.ajax({ type : "POST", data : { action : "menu_login" }, async: true, url : url_ajax + "/ajax_common.php", dataType : "html", success:function(data){ // result = data; $("#hd_login").html( data); }, error : function(request, status, error) { console.log("code:"+request.status+"\n"+"message:"+request.responseText+"\n"+"error:"+error); } }); return result; } /*************************************** @ ajax > 메인메뉴 ***************************************/ //sql 실행 function main_menu(){ var result = ""; $.ajax({ type : "POST", data : { action : "main_menu" }, async: true, url : url_ajax + "/ajax_common.php", dataType : "html", success:function(data){ // result = data; $("#main_menu").html( data); }, error : function(request, status, error) { console.log("code:"+request.status+"\n"+"message:"+request.responseText+"\n"+"error:"+error); } }); return result; } /*************************************** @ ajax > 메인메뉴 ***************************************/ //sql 실행 function side_menu(){ var result = ""; $.ajax({ type : "POST", data : { action : "side_menu" }, async: true, url : url_ajax + "/ajax_common.php", dataType : "html", success:function(data){ // result = data; $("#side_menu .offcanvas-body").html( data); }, error : function(request, status, error) { console.log("code:"+request.status+"\n"+"message:"+request.responseText+"\n"+"error:"+error); } }); return result; } /*************************************** @ ajax > 메인베너 ***************************************/ function main_banner(){ var result = ""; $.ajax({ type : "POST", data : { action : "main_banner" }, async: true, url : url_ajax + "/ajax_common.php", dataType : "html", success:function(data){ // result = data; $("#main_banner").html( data); }, error : function(request, status, error) { console.log("code:"+request.status+"\n"+"message:"+request.responseText+"\n"+"error:"+error); } }); return result; } /////////////////////////////////////////////////////////////////////////////////////////// // 공동 함수 /////////////////////////////////////////////////////////////////////////////////////////// /*************************************** @ 리스트 페이지네이션 ***************************************/ function get_pagination( p_total_page, p_total_count ) { let toggle_arrow = ""; let current_page = parseInt( $("#current_page").val() ); let total_page = parseInt( p_total_page ); let total_count = parseInt( p_total_count ); let start_page = 0; let end_page = 0; let write_pages = cf_write_pages; if(total_count > 0) $("#page_nav_div").removeClass(".d-none"); //페이지 정보 출력 $("#page_info").text( current_page + '/' + total_page + ' page' ); $("#total_page").val( total_page ); start_page = (( ((current_page - 1) / write_pages)) * write_pages) + 1; end_page = start_page + write_pages - 1; //페이지네이션 초기화 $(document).find("#nav_page ul").empty(); if( total_page <= 1 ) return false; //첫 페이지로 이동 toggle_arrow = '' if( current_page <= 1 ) toggle_arrow = " disabled "; $(document).find("#nav_page ul").append( '
  • ' + ''+ '
  • '); //이전 페이지로 이동 toggle_arrow = '' if( start_page <= 1 ) toggle_arrow = " disabled "; $(document).find("#nav_page ul").append( '
  • ' + ''+ '
  • '); //페이지 버튼 생성 toggle_arrow = ''; for(let i=0; i < $("#total_page").val(); i++ ){ if( current_page == (i+1) ) toggle_arrow = ' active '; else toggle_arrow=''; $(document).find("#nav_page ul").append( '
  • ' + ''+ '
  • '); } //다음 페이지로 이동 $(document).find("#nav_page ul").append( '
  • ' + ''+ '
  • '); //끝 페이지로 이동 $(document).find("#nav_page ul").append( '
  • ' + ''+ '
  • '); } /*************************************** @ 두 날짜 사이의 일수 계산 etc : getDateGap("2021-09-01", "2021-10-01"); 30 ***************************************/ function getDateGap(date1,date2) { const dt1 = new Date(date1); const dt2 = new Date(date2); const diffDate = dt1.getTime() - dt2.getTime(); //밀리세컨 * 초 * 분 * 시 = 일 return Math.abs(diffDate / (1000*60*60*24)) } /*************************************** @ 년도 개산 etc : calcYear("2021-09-01", 1); 2022-09-01 ***************************************/ function calcYear( date, fint ) { const dt1 = new Date(date); return dt1.setFullYear(dt1.getFullYear() + fint); } /*************************************** @ 오늘날자를 문자형으로 ***************************************/ function getToday() { var date = new Date(); return date.getFullYear() + "-" + ("0"+(date.getMonth()+1)).slice(-2) + "-" + ("0"+date.getDate()).slice(-2); } /*************************************** @ 현재 DATE TIME 을 숫자로 표기 ***************************************/ function getDateTime() { var date = new Date(); return date.getTime(); } /*************************************** @ 오늘날자에서 달계산 ***************************************/ function calc_month( fdate, fmonth ) { var date = new Date( fdate ); date.setMonth( date.getMonth() + fmonth ); return date.toISOString().substring(0,10); } /*************************************** @ 오늘날자에서 이월 다음달 1일 ***************************************/ function next_month( fdate, fmonth ) { var date = new Date( fdate ); return date.getFullYear() + "-" + ("0"+(date.getMonth()+( fmonth + 1 ))).slice(-2) + "-" + "01"; } /*************************************** @ 천단위 콤마 펑션 ***************************************/ function addComma(value){ value = value.toString().replace(/\B(?=(\d{3})+(?!\d))/g, ','); return value } /***************************************************************************************************** @ alert confirm 팝업창 선 // 콜백함수 있을 때 MsgBox.Alert("Alert Message!", function() {MsgBox.Alert("OK");}); // 콜백함수 없을 때 MsgBox.Alert("Alert Message!"); // YES버튼에만 콜백 함수 넣을 경우 MsgBox.Confirm("Confirm Message!", function() {MsgBox.Alert("YES");}); // NO버튼에도 콜백 함수 넣을 경우 MsgBox.Confirm("Confirm Message!", function() {MsgBox.Alert("YES");} , function() {MsgBox.Alert("NO");}); ********************************************************************************************************/ var MsgBox = { /* Alert */ Alert: function(msg, okhandler) { new Promise((resolve, reject) => { $("#msg_popup #btn_confirm").hide(); $("#msg_popup #btn_alert").show(); $("#msg_popup #alert_ok").unbind(); $("#msg_popup .modal-body").html(msg); $('#msg_popup').modal('show'); $("#msg_popup #alert_ok").click(function() { $('#msg_popup').modal('hide'); }); $("#msg_popup").on("hidden.bs.modal", function(e) { e.stopPropagation(); if(okhandler != null) resolve(); else reject(); }); }).then(okhandler).catch(function() {}); }, /* Confirm */ Confirm: function(msg, yeshandler, nohandler) { new Promise((resolve, reject) => { var flag = false; $("#msg_popup #btn_alert").hide(); $("#msg_popup #btn_confirm").show(); $("#msg_popup #confirm_yes").unbind(); $("#msg_popup #confirm_no").unbind(); $("#msg_popup .modal-body").html(msg); $('#msg_popup').modal('show'); $('#msg_popup').on('keypress', function (e) { var keycode = (e.keyCode ? e.keyCode : e.which); if(keycode == '13') { flag = true; $('#msg_popup').modal('hide'); } }); $("#msg_popup #confirm_yes").click(function() { flag = true; $('#msg_popup').modal('hide'); }); $("#msg_popup #confirm_no").click(function() { flag = false; $('#msg_popup').modal('hide'); }); $("#msg_popup").on("hidden.bs.modal", function(e) { e.stopPropagation(); if(yeshandler != null && flag == true) resolve(1); else if(nohandler != null && flag == false) resolve(2); else reject(); }); }).then(function(value) { if(value == 1) yeshandler(); else if(value == 2) nohandler(); }).catch(function() {}); }, }