// 사용자 암호화 사용유무 var encryption_yn = false; var click_count = 0; var metis_version; var btlms_version; var btlms_type; let loginHistory; let preOption; let authPcYn = false; let mac_address = ''; //23.03.20 각도서관 색상 및 기관명 저장_향후 DB로 변경 요망. => 24.03.22 ui 정보는 ALPAS_VIEW_LAYOUT_TBL, lib_name 정보는 ctrl로 이관 let custom_lib_data = []; custom_lib_data.national_aviation_museum = { "color_one" : "#4184BF", "color_two" : "#fff", "color_three" : "#ADC8D9", "color_background" : "#4184BF", "library_name" : "국립항공박물관" } ;(function($) { /*body에서 화면옵션 제어 위한 class remove. * 사유 : 로그인 ID/PW 입력창 text style에 영향 * 관련 함수 callLayoutForAllpage(); */ $("body").removeClass(); var system_name = $('#system_name').val(); if (system_name == "KLAS") { $('#main_logo').css("background-image","url(/METIS/img/logo_klas.png)"); } else { $('#main_logo').css("background-image","url(/METIS/img/logo.png)"); } var login_save_chk_hidden = $('#login_save_chk_hidden').val(); if (login_save_chk_hidden == "N") { var id = localStorage.getItem('save_id'); var pw = localStorage.getItem('save_pw'); if (id != undefined && null != id && "" != id) { $('#idSaveCh').prop('checked',true); $('#user_id').val(id); } if (pw != undefined && null != pw && "" != pw) { $('#pwSaveCh').prop('checked',true); $('#user_pw').val(pw); } } else { $('#idSaveCh').prop('checked',false); $('#pwSaveCh').prop('checked',false); var id = localStorage.setItem('save_id',''); var pw = localStorage.setItem('save_pw',''); $('.login_forms-check').css('display','none'); } //메뉴그리기 2018.04.05 박아름 추가 localStorage.setItem('menu_inner', 'MENU_START'); // 암호화 사용유무 조회 //getEncryption(); // 로그인화면 옵션 조회 let preLoginOption = checkPreLoginOption(); if (preLoginOption) { excutePreLoginProcess(preLoginOption); } else { getPreLoginOption(); } })(jQuery); $(document).ready(function(){ $('#user_id').focus(); }); // DB에 저장된 도서관 이름이 없을 시 catalina 확인한다. function get_lib_name() { // 로컬에 저장한 데이터가 있는지 먼저 확인하고 있을 경우 해당 데이터 사용하고 없을 경우 조회하고 저장. let getLocalPreOption = localStorage.getItem('preOption'); let getPreOption; let preOption; if (getLocalPreOption) { getPreOption = JSON.parse(getLocalPreOption); if (getPreOption && getPreOption?.catalina) { if (getPreOption.catalina?.lib_name) { preOption = getPreOption.catalina; change_login_page(preOption); // 해당 케이스는 항공도서관이거나 catalina에 lib_name은 있으나 DB에 ui정보를 저장하지 않은 도서관으로 상정 return; } else { $('#login_forms_wrap').css("display", 'block'); return; } } } // 로컬에 정보가 없을 경우 catalina 조회 $.ajax({ type: "POST", url: "/METIS/Login/getLibName.do", dataType: "json", async : true, data:{}, success: function(data) { // 로컬에 저장 if (getLocalPreOption) { let parseData = JSON.parse(getLocalPreOption); if (parseData) { parseData.catalina = data; localStorage.setItem('preOption', JSON.stringify(parseData)); } } // lib_name 있는지 확인하고 로그인 화면 구성 if (data.lib_name == "" || data.lib_name == null || data.lib_name == undefined) { //디폴트 화면 실행 $('#login_forms_wrap').css("display", 'block'); } else { // 도서관 설정 화면 실행. change_login_page(data); // 해당 케이스는 항공도서관이거나 catalina에 lib_name은 있으나 DB에 ui정보를 저장하지 않은 도서관으로 상정 } } }); } function change_login_page(data, flag) { /*READ ME 사용할 로고 이미지는 "반드시" 아래의 규칙을 따라야 합니다. 1. 파일명이 catalina.properties 혹은 DB(ctrl_000_3)에 작성한 LIB_NAME과 동일해야 합니다. 2. png형식이어야 합니다. */ let lib_name = data.lib_name; let lib_name_kor = data.lib_name_kor; let convert_string = "custom_lib_data."+lib_name; //개별도서관 정보 가져오기(개별도서관 색상 및 도서관명) let call_custom_lib_data = (new Function ('return ' + convert_string))(); // 항공박물관 대응 문제로 분기. 이외의 도서관은 lib_name과 ui정보가 DB에 저장되어 있어야 합니다. if (flag) { call_custom_lib_data = data; } else { call_custom_lib_data = (new Function ('return ' + convert_string))(); } // ui정보가 없을 경우 return; if (!call_custom_lib_data) { $('#login_forms_wrap').css("display", 'block'); return; } document.getElementById('login_forms_wrap').classList.add('individual_lib'); //개별도서관 로고를 추가(확장자 .png) let logo_img = 'url(/METIS/img/lib_logo/'+ lib_name + '.png)'; $('#custom_log').css({"display": "block", "background-image": logo_img, "background-size": "contain", "background-repeat": "no-repeat", "background-position": "center"}); //개별도서관 이름 불러오기 if (lib_name_kor != null && lib_name_kor != undefined && lib_name_kor != "") { $('#lib_name_text').text(lib_name_kor); document.getElementById('lib_name_text').classList.add('display_block'); } else if (call_custom_lib_data.library_name != undefined && call_custom_lib_data.library_name != '' && call_custom_lib_data.library_name != null){ $('#lib_name_text').text(call_custom_lib_data.library_name); document.getElementById('lib_name_text').classList.add('display_block'); } else { $('#custom_log').css({"top": "120px"}); } //백그라운드 색상 변경 if (call_custom_lib_data != null && call_custom_lib_data != undefined) { if (call_custom_lib_data.color_background != null && call_custom_lib_data.color_background != undefined) { $('#login_container_background').css({"background": "none"}); //색상값이 있을 경우 디폴트 백그라운드 이미지 닫아둠 $('#login_container_background').css("background-color", call_custom_lib_data.color_background); } } //개별도서관 백그라운드 이미지 추가(확장자 .png) let background_img = 'url(/METIS/img/lib_logo/'+ lib_name + '_background.png)'; $('#login_container_background').css({"background-image": background_img, "background-repeat": "no-repeat", "background-size": "100%, 100%"}); //개별도서관 색상 및 이름 변경 if (call_custom_lib_data != undefined && call_custom_lib_data != null) { if (call_custom_lib_data.color_one != undefined && call_custom_lib_data.color_one != null) { $('#login_design_div').css("background", call_custom_lib_data.color_one); } if (call_custom_lib_data.color_two != undefined && call_custom_lib_data.color_two != null) { $('#login_forms_wrap').css("background", call_custom_lib_data.color_two); } if (call_custom_lib_data.color_three != undefined && call_custom_lib_data.color_three != null) { $('.btn-login').css("background", call_custom_lib_data.color_three); } if (call_custom_lib_data.color_four != undefined && call_custom_lib_data.color_four != null) { $('#login_forms_wrap').css("color", call_custom_lib_data.color_four); } if (call_custom_lib_data.backgroundImgYN != undefined && call_custom_lib_data.backgroundImgYN != null && call_custom_lib_data.backgroundImgYN == 'N'){ let background_img = 'url(/METIS/img/ecolas_background_image.png)'; $('#login_container_background').css({"background-image": background_img, "background-repeat": "no-repeat", "background-size": "100%, 100%"}); } } //개별 도서관 설정 반영이 종료되면 로그인 입력화면을 block상태로 변경 $('#login_forms_wrap').css("display", 'block'); $('#before_loading').css("display", 'none'); } // 개인정보처리방침 페이지 function openUserPrivacyPolicy() { window.open("/METIS/UserPrivacyPolicy.jsp","_blank"); } // 암호화 사용유무 조회 //function getEncryption() { // $.ajax({ // type: "POST", // url: "/METIS/Login/UserPWEncryption_YN.do", // dataType: "json", // async : true, // data:{}, // success: function(data) { // if (data != null) { // var obj = data; // // var alpas_version = obj.alpas_version; // metis_version = alpas_version // btlms_version = obj.btlms_version; // btlms_type = obj.btlms_type; // // if(alpas_version != null && alpas_version != ''){ // alpas_version = alpas_version.substr(11); // } // // $('#index_alpas_version').text("Version : " + alpas_version); // // if(obj.status == "SUCCESS") { // if(obj.value_1 == 'Y') { // encryption_yn = true; // } else { // encryption_yn = false; // } // } else { // encryption_yn = false; // } // // //HoldOn.close(); // if(data.REMEMBER_LOGIN != undefined && data.REMEMBER_LOGIN == 'N') // $('.login_forms-check').remove(); // // } else { // encryption_yn = false; // } // } // }); //} // 로그인 전 옵션 조회 function getPreLoginOption() { $.ajax({ type: "POST", url: "/METIS/Login/getPreLoginOption.do", dataType: "json", async : true, data:{}, success: function(data) { if (data != undefined && data != null) { if (data.status == "SUCCESS") { // 로컬에 옵션 저장 let makePreOption = Object.assign({preOptionList: data},{saveTime: Date.now()}); localStorage.setItem('preOption', JSON.stringify(makePreOption)); // 옵션으로 이후 플로우 진행 excutePreLoginProcess(data); } else { localStorage.setItem('preOption', ''); if (data.versionInfo && data.versionInfo?.status == "SUCCESS") { setEncryption(data.versionInfo); } excutePreLoginProcess(); } } else { localStorage.setItem('preOption', ''); excutePreLoginProcess(); } } }); } // 로그인 전 옵션 조회 후 -> 해당 데이터 처리 function excutePreLoginProcess(data) { if (data) { preOption = data; } else { preOption = null; } // 도서관 이름 확인 후 -> 로그인화면 UI 구성 if (preOption?.libData?.LIB_NAME && preOption?.libData?.LOGIN_UI?.list?.length > 0) { let preLibUiDate = preOption.libData.LOGIN_UI.list; let libUiData = getLayoutData(preLibUiDate, "login_page_all"); if (!libUiData) { get_lib_name(); // catalina.propertis에 lib_name이 있는지 확인하고 다음 단계 진행 } libUiData.lib_name = preOption.libData.LIB_NAME; if (preOption?.libData?.LIB_NAME_KOR) { libUiData.lib_name_kor = preOption.libData.LIB_NAME_KOR; } else { libUiData.lib_name_kor = ""; } change_login_page(libUiData, "DB"); } else { get_lib_name(); // catalina.propertis에 lib_name이 있는지 확인하고 다음 단계 진행 } // 인증 PC if ((preOption?.authPc?.AUTH_PC_YN && preOption?.authPc?.AUTH_PC_YN == 'Y') && (preOption?.authPc?.AUTH_PC_YN && preOption?.authPc?.ISEXIST_ALPAS_AUTH_PC_TBL >= '1') && (preOption?.authPc?.AUTH_PC_YN && preOption?.authPc?.AGENT_PORT != null && preOption?.authPc?.AUTH_PC_YN && preOption?.authPc?.AGENT_PORT != "")) { authPcYn = true; getPersonalAuthPc(preOption.authPc.AGENT_PORT); } // 암호화 및 버전정보 if (preOption?.versionInfo && preOption?.versionInfo?.status == "SUCCESS" && preOption?.pwEncryption) { setEncryption(preOption.versionInfo, preOption.pwEncryption); } else if (preOption?.versionInfo && preOption?.versionInfo?.status == "SUCCESS") { setEncryption(preOption.versionInfo); } else { setEncryption(); } } function login_excute(otp) { $('#loading_flag').val('false'); HoldOn.open({ theme:"custom", content:'', backgroundColor:"#000" }); var id = $('#user_id').val(); var pw = $('#user_pw').val(); if(id == "") { onlyMessage("아이디를 입력해 주세요"); return; } else if(pw == "") { onlyMessage("패스워드를 입력해 주세요"); return; } let loginParam = {}; loginParam.login_id = id.toUpperCase(); // 무조건 대문자로 변경 loginParam.login_pwd = pw.toUpperCase(); loginParam.result_type = "JSON"; if (otp != undefined && otp != null) { loginParam.otp = otp; } if (authPcYn) { if (mac_address == "") { onlyMessage("MAC 주소를 확인할 수 없습니다. DEVICE AGENT를 실행해주세요."); return; } loginParam.auth_pc = "Y"; loginParam.mac_address = mac_address; } $('#user_id').val(loginParam.login_id); $('#user_pw').val(loginParam.login_pwd); $.ajax({ type: "POST", url: "/METIS/Login/getLoginExcute.do", dataType: "json", async : true, data: loginParam, success: function(data) { if(data != null) { var obj = data; if(obj.status == "otpSent") { otpPopupOpen(); } else if(obj.status == "requiredAuthPcReg") { Message_callback("미인증 PC입니다.", openInsertAuthPcPopup); } else if(obj.status == "SUCCESS") { // 성공한경우 아이디와 패스워드 저장여부에 따라 저장한다. if($('#idSaveCh').prop('checked') == true) { localStorage.setItem('save_id',$('#user_id').val()); } else { localStorage.setItem('save_id',""); } if($('#pwSaveCh').prop('checked') == true) { localStorage.setItem('save_pw',$('#user_pw').val()); } else { localStorage.setItem('save_pw',""); } // 기존 정보 삭제 // 유지해야 하는 항목들이 있기때문에 모든 데이터를 삭제하는것은 하지 않음 //localStorage.clear(); localStorage.setItem('current_user_manage_code',obj.manageCode); localStorage.setItem('current_user_lib_name',obj.lib_name); localStorage.setItem('current_user_lib_code',obj.lib_code); localStorage.setItem('current_user_id',obj.userInfo.ID); localStorage.setItem('current_user_info', JSON.stringify(obj.userInfo)); localStorage.setItem('current_user_key', obj.userInfo.REC_KEY); localStorage.setItem('current_user_name', obj.userInfo.NAME); localStorage.setItem('current_user_email', obj.userInfo.E_MAIL); localStorage.setItem('privacy_access_level', obj.userInfo.PRIVACY_ACCESS_LEVEL); localStorage.setItem('union_access_level', obj.userInfo.UNION_ACCESS_LEVEL); localStorage.setItem('privacy_print_level', obj.userInfo.PRIVACY_PRINT_LEVEL); localStorage.setItem('auto_exit_minute', obj.userInfo.AUTO_EXIT_MINUTE); localStorage.setItem('loan_user_access_auth', obj.userInfo.LOAN_USER_ACCESS_AUTH); localStorage.setItem('current_user_permition', obj.userInfo.PERMITION); localStorage.setItem("MN_LIBINFO2_LIST",null); // 기본 도서관 정보 삭제 localStorage.setItem("debug_mode","N"); localStorage.setItem('loan_view_set', JSON.stringify(obj.alpas_mn_user_option_tbl_list)); // 대출반납화면 설정 저장 loginHistory = obj.loginHistory; // 기타 설정정보 조회 getTotalInfo(); //getBookMark(); // 로그인시 로컬스토리지에 도서관 정보 입력 localStorage_LIBINFO(); } else if(obj.status == "SAME_LOGIN") { // 중복 로그인이고, 기존 접속 정보에서 로그아웃 처리가 되었을때 재로그인 onlyMessage(obj.statusDescription,null,setTimeout(function() { login_excute() }, 2000)); } else { onlyMessage(obj.statusDescription); } //HoldOn.close(); } } }); } function getTotalInfo() { $('#loading_flag').val('false'); HoldOn.open({ theme:"custom", content:'', backgroundColor:"#000" }); var year = 2016; var dt = new Date(); year = dt.getFullYear(); var user_key = localStorage.getItem('current_user_key'); $.ajax({ type: "POST", url: "/METIS/Login/getTotalInfo.do", dataType: "html", async : true, data:{ "year" : year, "result_type" : "JSON", "user_key" : user_key }, success: function(data) { var obj = JSON.parse(data); // 신규 정보 세팅 localStorage.setItem('CodePattern', JSON.stringify(obj.CodePattern.patternList)); localStorage.setItem('LibInfo', JSON.stringify(obj.LibInfo.mnLibInfo)); localStorage.setItem('TotalSmsEnv', JSON.stringify(obj.TotalSmsEnv.totalEnvInfo).replace(/\s/g, "").replace(/-/gi, "")); localStorage.setItem('SMSTypeEnv', JSON.stringify(obj.SMSTypeEnv.totalenvList)); localStorage.setItem('getMailType', JSON.stringify(obj.getMailType.resultList)); localStorage.setItem('OauthkeyCheck', JSON.stringify(obj.OauthkeyCheck)); if(undefined != obj.OauthkeyCheck && null != obj.OauthkeyCheck) { localStorage.setItem('addressSearchKey', obj.OauthkeyCheck.oauthKey); } localStorage.setItem('TotalEslList', JSON.stringify(obj.TotalEslList.eslList)); localStorage.setItem('IllManageInfoList', JSON.stringify(obj.IllManageInfoList.illManageInfoList)); localStorage.setItem('CoPsvManageInfoList', JSON.stringify(obj.CoPsvManageInfoList.coPsvManageInfoList)); localStorage.setItem('TotalCdClassCode', JSON.stringify(obj.TotalCdClassCode.cdClassCodeList)); localStorage.setItem('TotalCdCode', JSON.stringify(obj.TotalCdCode.codeList)); localStorage.setItem('excuteSearchHoliday', JSON.stringify(obj.excuteSearchHoliday.holidayinfo)); localStorage.setItem('MnUserCode', JSON.stringify(obj.MnUserCode.code_key_list)); localStorage.setItem('RealNameConfirm', JSON.stringify(obj.RealNameConfirm.realNameInfo)); //localStorage.setItem('BookMarkInfo', JSON.stringify(obj.BookMarkInfo.bookMarkList)); localStorage.setItem('BookMarkInfo', JSON.stringify(obj.BookMarkInfo.accessAndBookMarkList)); localStorage.setItem('UserMemoInfo', obj.UserMemoInfo.memo); localStorage.setItem('AllMenuInfo', JSON.stringify(obj.AllMenuInfo.accessList)); localStorage.setItem('AccessAuthInfo', JSON.stringify(obj.AccessAuthInfo.accessAndBookMarkList)); localStorage.setItem('DISPERSION_SYS_USE_YN', obj.DispersinIllInfo.DISPERSION_SYS_USE_YN); if(localStorage.DISPERSION_SYS_USE_YN == "Y"){ localStorage.setItem('DispersionLibList', JSON.stringify(obj.DispersinIllInfo.DispersionLibList)); /*23.11.28 김길준 추가 분산 상호대차 지역별 요청정보 및 현재관 지역정보 정리 로직 작성 */ if(localStorage.DispersionLibList !=="undefined"){ let dispersionList = JSON.parse(localStorage.DispersionLibList); let regionList =[]; dispersionList.forEach(function(e){ if(localStorage.current_user_lib_code == e.LIB_CODE){ localStorage.setItem('current_dispersion_region', e.DISPERSION_REGION); localStorage.setItem('current_dispersion_use', "Y"); }else{ regionList.push(e.DISPERSION_REGION); } let filteredList = []; regionList.forEach((element) => { if (!filteredList.includes(element)) { filteredList.push(element); } }); filteredList = filteredList.filter((e)=> e !== localStorage.current_dispersion_region); localStorage.setItem('target_dispersion_region', filteredList); }) } } if(undefined != obj.LayoutOptionInfo) { if(obj.LayoutOptionInfo.table_exist == 'Y') { localStorage.setItem('LayoutOptionInfo', JSON.stringify(obj.LayoutOptionInfo.list)); } else { localStorage.setItem('LayoutOptionInfo', ''); } } var smartLibrary_chk = getViewOptionData('ECO스마트도서관',localStorage.getItem('current_user_manage_code')); if(smartLibrary_chk.length > 0) { var smartLibrary_YN = smartLibrary_chk[0].VALUE; } else { var smartLibrary_YN = ''; } localStorage.setItem('ViewOptionInfo',JSON.stringify(obj.ViewOptionInfo.viewOptionList)); var full_menu_print_chk = getViewOptionData('전체메뉴표시',localStorage.getItem('current_user_manage_code')); if(full_menu_print_chk.length > 0) { localStorage.setItem('MenuPrint_Used',getViewOptionData('전체메뉴표시',localStorage.getItem('current_user_manage_code'))[0].VALUE); } else { localStorage.setItem('MenuPrint_Used','Y'); } //메뉴그리기 2018.04.05 박아름 추가 //권한있는 메뉴만 표시 유무 if(localStorage.getItem('MenuPrint_Used')=='N') { // 권한있는 메뉴만 표시 menuPrint(); } var online_yn = getViewOptionData_value('온라인 문의 사용여부',localStorage.getItem('current_user_manage_code')); if(undefined != online_yn && online_yn == "Y") {//20201211 온라인 문의를 알파스 옵션만으로 보기로 수정 localStorage.setItem('cs_available', "Y"); } else { localStorage.setItem('cs_available', "N"); } //메모정보 (저장할 때 set으로 다시 설정) //전체 url정보 // 통합도서 관련 사항 설정 // 데쉬 보드에서 하는것으로 수정함 // 2020/01/30 권명호 //SetIntegrationConfig(); HoldOn.close(); if(obj.status == "SUCCESS") { // Message_callback("로그인 성공",dashborad_move); let loginHisotryYn = getViewOptionData_value('최종 로그인 이력 표시',CURRENT_MANAGE_CODE); if(loginHisotryYn == 'Y' && null != loginHistory && undefined != loginHistory) { Message_callback('최종 접속 시간 : ' + loginHistory.login_date + '
접속 IP : ' + loginHistory.worker_ip+ '
시스템명 : ' + loginHistory.worker_sys, function() { dashborad_move(); }); } else { dashborad_move(); } } else { onlyMessage(obj.statusDescription); } } }); } function SetIntegrationConfig() { var CURRENT_MANAGE_CODE = localStorage.getItem('current_user_manage_code'); var IsUnityLibrary = getEslOneBoolean("통합도서서비스", "통합도서서비스", CURRENT_MANAGE_CODE, "Y"); if ( IsUnityLibrary == false ) return; var searchValue = {}; searchValue.operator_manage_code = CURRENT_MANAGE_CODE; searchValue.serviceName = "IL_K43_LOC_B01_SERVICE.do"; asynchronousAjax("/METIS/Integratebook/IntegratebookService.do", searchValue, function(data) { if ( data == null || data == "" ) return; var obj = JSON.parse(data); var status = obj.status; if ( status != "SUCCESS" ) { return; } var isFree = stringToBoolean(obj.지역내택배비무료여부); localStorage.setItem('IS_LOCAL_PARCEL_FREE', isFree); isFree = stringToBoolean(obj.지역외택배비무료여부); localStorage.setItem('IS_OUTSIDE_PARCEL_FREE', isFree); isFree = stringToBoolean(obj.자동발송여부); localStorage.setItem('IS_INTEGRATION_AUTO_SEND', isFree); IntegrationLocalLibInfo(); }); } function IntegrationLocalLibInfo() { var IsUnityLibrary = getEslOneBoolean("통합도서서비스", "통합도서서비스", CURRENT_MANAGE_CODE, "Y"); if ( IsUnityLibrary == false ) return; var CURRENT_MANAGE_CODE = localStorage.getItem('current_user_manage_code'); var searchValue = {}; searchValue.operator_manage_code = CURRENT_MANAGE_CODE; searchValue.serviceName = "IL_K17_LOC_B01_SERVICE.do"; asynchronousAjax("/METIS/Integratebook/IntegratebookService.do", searchValue, function(data) { if ( data == null || data == "" ) return; var obj = JSON.parse(data); var status = obj.status; if ( status != "SUCCESS" ) { return; } localStorage.setItem('INTEGRATION_LOCAL_LIB_INFO', JSON.stringify(obj.libInfoList)); }); } function keydown_event(evt) { var keyCode = evt.which?evt.which:event.keyCode; if(keyCode == '13') { login_excute(); } } // 로그인 완료후 대시보드로 이동 function dashborad_move(division) { window.location = "/METIS/view/Dashboard/DashboardMain.jsp"; } // 아이디를 무조건 대문자로 변경하기 위해 실행 function user_id_focus_out() { //무조건 대문자로 변경 var id = $('#user_id').val(); id = id.toUpperCase(); $('#user_id').val(id); } //메뉴그리기 2018.04.05 박아름 추가 function menuPrint(){ var allMenuList = JSON.parse(localStorage.getItem('AllMenuInfo')); var accessList = JSON.parse(localStorage.getItem('AccessAuthInfo')); //단행자료 - 첫번째줄 var MOLI_01_HTML = '' ; //단행자료 - 두번째줄 var MOLI_02_HTML = '' ; //연속자료 - 첫번째줄 var SELI_01_HTML = '' ; //공통자료 - 첫번째줄 var COLI_01_HTML = '' ; //공통자료 - 둘번째줄 var COLI_02_HTML = '' ; //공통자료 - 세번째줄 var COLI_03_HTML = '' ; //단행 - 열람 var MORD = '' //시스템권한 var system = ''; //연속- 통계 var se_sta= ''; for(var h in accessList){ var access = accessList[h]; for(var i in allMenuList){ var menu = allMenuList[i]; if(menu.control_flag != 'N'){ if(access.access_code == menu.code){ if(menu.parent_code == 'MOAC'){ // 수서대상관리 if(MOLI_01_HTML.indexOf('MOAC') == -1){ MOLI_01_HTML += ''; MOLI_01_HTML += "
  • "+menu.label+"
  • "; }else{ MOLI_01_HTML += "
  • "+menu.label+"
  • "; } }else if(menu.parent_code == 'MOPC'){ //구입 if(MOLI_01_HTML.indexOf('MOPC') == -1){ MOLI_01_HTML += ''; MOLI_01_HTML += "
  • "+menu.label+"
  • "; }else{ MOLI_01_HTML += "
  • "+menu.label+"
  • "; } }else if(menu.parent_code == 'MODN'){ //기증 if(MOLI_01_HTML.indexOf('MODN') == -1){ MOLI_01_HTML += ''; MOLI_01_HTML += "
  • "+menu.label+"
  • "; }else{ MOLI_01_HTML += "
  • "+menu.label+"
  • "; } }else if(menu.parent_code == 'MORG'){ //등록 if(MOLI_02_HTML.indexOf('MORG') == -1){ MOLI_02_HTML += ''; MOLI_02_HTML += "
  • "+menu.label+"
  • "; }else{ MOLI_02_HTML += "
  • "+menu.label+"
  • "; } }else if(menu.parent_code == 'MOAR'){ //정리 if(MOLI_02_HTML.indexOf('MOAR') == -1){ MOLI_02_HTML += ''; MOLI_02_HTML += "
  • "+menu.label+"
  • "; }else{ MOLI_02_HTML += "
  • "+menu.label+"
  • "; } }else if(menu.parent_code == 'MORD'){ //열람 if(MORD.indexOf('MORD') == -1){ /* MOLI_02_HTML += ''; MOLI_02_HTML += "
  • "+menu.label+"
  • "; */ MORD += ''; MORD += "
  • "+menu.label+"
  • "; }else{ /* MOLI_02_HTML += "
  • "+menu.label+"
  • ";*/ MORD += "
  • "+menu.label+"
  • "; } }else if(menu.parent_code == 'SEPC'){ //연속 - 구입 if(menu.code != "SEPC004"){ //구입 if(SELI_01_HTML.indexOf('SEPC') == -1){ SELI_01_HTML += ''; SELI_01_HTML += "
  • "+menu.label+"
  • "; }else{ SELI_01_HTML +="
  • "+menu.label+"
  • "; } }else{ se_sta += ''; se_sta += "
  • "+menu.label+"
  • "; } }else if(menu.parent_code == 'SERG'){ //연속 - 등록 //등록 if(SELI_01_HTML.indexOf('SERG') == -1){ SELI_01_HTML += ''; SELI_01_HTML += "
  • "+menu.label+"
  • "; }else{ SELI_01_HTML += "
  • "+menu.label+"
  • "; } }else if(menu.parent_code == 'SERD'){ //연속 - 열람 //열람 if(SELI_01_HTML.indexOf('SERD') == -1){ SELI_01_HTML += ''; SELI_01_HTML += "
  • "+menu.label+"
  • "; }else{ SELI_01_HTML += "
  • "+menu.label+"
  • "; } }else if(menu.parent_code == 'COLR'){ //공통 //20.04.24 이현주 - DB에서 수정 안해도 되도록 여기서 책밴드 => 상호대차 용어 변경. menu.label = menu.label.indexOf("책밴드") > -1 ? menu.label.replace("책밴드", "상호대차") : menu.label; if(COLI_01_HTML.indexOf('COLR') == -1){ COLI_01_HTML += ' '; COLI_01_HTML += "
  • "+menu.label+"
  • "; }else{ COLI_01_HTML += "
  • "+menu.label+"
  • "; // label에 책반납통계 = 책두레통계 수정해야함 } }else if(menu.parent_code == 'COSM'){ //공통 if(COLI_01_HTML.indexOf('COSM') == -1){ COLI_01_HTML += ' '; COLI_01_HTML +="
  • "+menu.label+"
  • "; }else{ COLI_01_HTML += "
  • "+menu.label+"
  • "; } }else if(menu.parent_code == 'COBB'){ //공통 //20.04.24 이현주 - DB에서 수정 안해도 되도록 여기서 책밴드 => 상호대차 용어 변경. menu.label = menu.label.indexOf("책밴드") > -1 ? menu.label.replace("책밴드", "상호대차") : menu.label; if(COLI_02_HTML.indexOf('COBB') == -1){ COLI_02_HTML += ' '; COLI_02_HTML += "
  • "+menu.label+"
  • "; }else{ COLI_02_HTML += "
  • "+menu.label+"
  • "; } }else if(menu.parent_code == 'KOLIS'){ //공통 if(COLI_02_HTML.indexOf('KOLIS') == -1){ COLI_02_HTML +=""; } else{ COLI_02_HTML +="
  • "+menu.label+"
  • "; } }else if(menu.parent_code == 'CODR'){ //공통, 원문신청관리 if(COLI_02_HTML.indexOf('CODR') == -1){ COLI_02_HTML += ' '; COLI_02_HTML += "
  • "+menu.label+"
  • "; } else{ COLI_02_HTML +="
  • "+menu.label+"
  • "; } }else if(menu.parent_code == 'COADW'){ //공통 if(COLI_03_HTML.indexOf('COADW') == -1){ COLI_03_HTML += ' '; COLI_03_HTML += '
  • 업무환경설정
  • '; COLI_03_HTML += ""; }else{ COLI_03_HTML += ""; } }else if(menu.parent_code == 'COADS'){ //공통 if(system.indexOf('COADS') == -1){ system += '
  • 시스템환경설정
  • '; system += ""; }else{ system += ""; } } else if(menu.parent_code == 'COSC'){ //공통 if(menu.code == 'COSC001') { COLI_02_HTML +=""; } else{ COLI_01_HTML += ""; } } else if(menu.parent_code == 'COUI'){ //공통 if(COLI_02_HTML.indexOf('COUI') == -1) { COLI_02_HTML +=''; COLI_02_HTML +="
  • "+menu.label+"
  • "; } else{ COLI_02_HTML +="
  • "+menu.label+"
  • "; } } } } } } MOLI_02_HTML += MORD; COLI_03_HTML += system; SELI_01_HTML += se_sta; if(MOLI_01_HTML==''){ $('#MOLI_01_div').css('display','none'); }else{ $('#MOLI_01_HTML').empty().append(MOLI_01_HTML); } if(MOLI_02_HTML==''){ $('#MOLI_02_div').css('display','none'); }else{ $('#MOLI_02_HTML').empty().append(MOLI_02_HTML); } if(SELI_01_HTML=='' ){ $('#SELI_01_div').css('display','none'); }else{ $('#SELI_01_HTML').empty().append(SELI_01_HTML); } if(COLI_01_HTML==''){ $('#COLI_01_div').css('display','none'); }else{ $('#COLI_01_HTML').empty().append(COLI_01_HTML); } if(COLI_02_HTML==''){ $('#COLI_02_div').css('display','none'); }else{ $('#COLI_02_HTML').empty().append(COLI_02_HTML); } if(COLI_03_HTML==''){ $('#COLI_03_div').css('display','none'); }else{ $('#COLI_03_HTML').empty().append(COLI_03_HTML); } localStorage.setItem('menu_inner', $('.hiddenMenu_inner').html()); } function makeid(length) { var result = ''; var characters = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789!@#$%^&*()'; var charactersLength = characters.length; for ( var i = 0; i < length; i++ ) { result += characters.charAt(Math.floor(Math.random() * charactersLength)); } return result; } $("#index_alpas_version").on("click",function(){ if(click_count < 8){ click_count++; return; }else{ click_count = 0; console.log("["+metis_version+"]["+btlms_version+"]"); metis_version = strReplaceAll(metis_version,"\\.","."); btlms_version = strReplaceAll(btlms_version,"\\.","."); onlyMessage("METIS Version : " + metis_version + "
    " + "BTLMS Version : " + btlms_version + "
    " + "BTLMS_TYPE : " + btlms_type); } }) //2차 입증 otp번호 입력 popup 호출 function otpPopupOpen() { $.ajax({ type: "POST", url: "/METIS/view/Dashboard/OtpInsertPopup.jsp", dataType: "html", async : true, data:{}, success: function(data) { openDivPopupHtml(data); } }); } // 2차 인증 otp 번호 입력 function otpNumberOk() { let otp = $('#insert_otp_number').val() if(otp == '') { onlyMessage("OTP를 입력하세요"); return; } login_excute($('#insert_otp_number').val()); } // 인증pc 서비스 위해 mac주소 확인 function getPersonalAuthPc(AGENT_PORT) { let param = {}; param.cmd = "CMD014"; let url; let agent_port = AGENT_PORT; if (preOption.authPc?.AGENT_PORT) { url = "http://127.0.0.1:"+agent_port+"/eco_device/any.asp"; } try { $.post( url ,param ,function(data) { var obj = $.parseJSON(data); if(obj.status == "SUCCESS") { localStorage.setItem('mac_address', obj.mac_address); mac_address = obj.mac_address; } else { localStorage.setItem('mac_address',''); mac_address = ''; onlyMessage("MAC 주소를 확인할 수 없습니다. DEVICE AGENT를 실행해주세요."); return false; } } ).fail(function(respense) { localStorage.setItem('mac_address',''); mac_address = ''; onlyMessage("MAC 주소를 확인할 수 없습니다. DEVICE AGENT를 실행해주세요."); return false; }); } catch(e) { localStorage.setItem('mac_address', ''); mac_address = ''; onlyMessage("MAC 주소를 확인할 수 없습니다. DEVICE AGENT를 실행해주세요."); return false; } } function openInsertAuthPcPopup() { // mac 등록 팝업을 띄운다. $.ajax({ type: "POST", url: "/METIS/view/Dashboard/macAddressInsertPopup.jsp", dataType: "html", async: true, data: {}, success: function(data) { openDivPopupHtml(data, function() { $('#insert_networkadapterid').val(mac_address); // PC접근제어사용 기능과 인증PC사용은 동시에 사용 불가 -> onclick 함수 변경 const parentNode = document.getElementById("insertMacAddressWrap") while (parentNode.firstChild) { parentNode.removeChild(parentNode.firstChild); } $("#insertMacAddressWrap").append($(``)) document.getElementById("auth_pc_info").innerText = `관리자에게 PC 인증을 요청 합니다. 인증할 이용자의 ID와 PW를 입력해주세요.`; }); } }); } function requestAuthPc() { let param = {}; param.mac_address = $('#insert_networkadapterid').val(); param.remark = $('#insert_remark').val(); param.login_id = $('#insert_auth_id').val(); param.login_pwd = $('#insert_auth_pwd').val(); if (param.networkadapterid == "") { onlyMessage("MAC정보가 존재하지 않습니다."); return; } if (param.remark == "") { onlyMessage("비고정보가 존재하지 않습니다."); return; } if (param.auth_id == "") { onlyMessage("등록 ID가 존재하지 않습니다."); return; } if (param.auth_pwd == "") { onlyMessage("등록 PW가 존재하지 않습니다."); return; } $.ajax({ type: "POST", url: "/METIS/AuthPc/requestAuthPc.do", dataType: "json", data: param, success: function(data) { if (data.status == "SUCCESS") { onlyMessage(data.statusDescription); // 요청 성공 시 저장 버튼 -> 닫기 버튼 const parentNode = document.getElementById("insertMacAddressWrap") while (parentNode.firstChild) { parentNode.removeChild(parentNode.firstChild); } $("#insertMacAddressWrap").append($(``)) } else { onlyMessage(data.statusDescription); } } }); } // 버전 정보 및 암호화 여부 세팅 function setEncryption(versionData, encryptionYN) { if (versionData) { var alpas_version = versionData.alpas_version; metis_version = versionData.alpas_version btlms_version = versionData.BTLMSVesion; btlms_type = versionData.BTLMS_TYPE; if(alpas_version != null && alpas_version != ''){ alpas_version = alpas_version.substr(11); } $('#index_alpas_version').text("Version : " + alpas_version); if(versionData.REMEMBER_LOGIN != undefined && versionData.REMEMBER_LOGIN == 'N') $('.login_forms-check').remove(); } // success 여부 판단하기 if (encryptionYN) { if (encryptionYN == 'Y') { encryption_yn = true; } else { encryption_yn = false; } } else { encryption_yn = false; } } // local에 24시간 이내에 저장한 preOption이 있는지 확인 function checkPreLoginOption() { let currentDate = Date.now(); let oneDay = 24*60*60*1000; let getLocalPreOption = localStorage.getItem('preOption'); let getPreOption; let preOption; if (getLocalPreOption) { getPreOption = JSON.parse(getLocalPreOption); if (getPreOption.saveTime && getPreOption.saveTime + oneDay > currentDate) { preOption = getPreOption.preOptionList; } else { localStorage.setItem('preOption', ''); } } return preOption; } // 로그인시 로컬스토리지에 도서관 정보 입력 function localStorage_LIBINFO() { var MN_LIBINFO2_LIST = []; var tempStr = localStorage.getItem('MN_LIBINFO2_LIST'); var jsonArray = null; if (tempStr != null && tempStr.length > 0) { jsonArray = JSON.parse(tempStr); if (jsonArray != null) { MN_LIBINFO2_LIST = MN_LIBINFO2_LIST; } } if (MN_LIBINFO2_LIST == null || MN_LIBINFO2_LIST.length <= 0) { tempStr = localStorage.getItem('LibInfo'); jsonArray = JSON.parse(tempStr); if (jsonArray != null){ for (i=0; i< jsonArray.length; i++) { let paramobj = {}; paramobj.REC_KEY = jsonArray[i].rec_key; paramobj.MANAGE_CODE = jsonArray[i].manage_code; paramobj.LIB_CODE = jsonArray[i].lib_code; paramobj.LIB_NAME = jsonArray[i].lib_name; MN_LIBINFO2_LIST.push(paramobj) } } } localStorage.setItem("MN_LIBINFO2_LIST", JSON.stringify(MN_LIBINFO2_LIST)); }