var languages = App.getSessionLanguages(); var App = (function () { 'use strict'; App.login = function () { let form_data = serialrizeData($('#form01')); let mprogress = new Mprogress(); var timeout; $.ajax({ "type": "POST", "url": "api/login", "dataType": "json", "data": JSON.stringify(form_data), "beforeSend": function (xhr) { mprogress.start(); timeout = setTimeout(function () { mprogress.inc(); }, 1000); }, "success": function (result) { // console.log(result); let referrer = getReferrer(); mprogress.end(); clearTimeout(timeout); if (result.message == "LOGIN_SUCCESS") { sessionStorage.setItem('CURRENT_DATE', result.server_date); sessionStorage.setItem('REPORT_DATE', result.server_date); sessionStorage.setItem('EMP_NAME_TH', result.data.fullname); sessionStorage.setItem('EMP_NAME_EN', result.data.fullname_en); sessionStorage.setItem('CHANG_PASSWD', result.data.changepasswordurl); if (referrer != '' && referrer != undefined) { location.href = referrer; } else { location.href = "request/home"; } } else if (result.message == "LOGIN_FAIL") { var changePassword = '#'; if (result.data != null) { changePassword = result.data.changepasswordurl; } Swal.fire({ title: languages["loginErrorTitle"], html: result.errormsg || languages["loginErrorMsg"], confirmButtonText: languages["closeBtn"], cancelButtonText: languages["changePasswordBtn"], showCloseButton: false, showCancelButton: true, }).then((result) => { // console.log('x'); if (result.dismiss == 'cancel') { location.href = changePassword; } }); } }, "error": function (e) { console.log(e.responseText); mprogress.end(); handleError(e); }, }); }; return App; })(App || {}); function handleError(result) { if (result.status == 400) { location.href = "400"; } else if (result.status == 401) { location.href = "401"; } else if (result.status == 403) { location.href = "403"; } else if (result.status == 404) { location.href = "404"; } else if (result.status == 502) { location.href = "502"; } else { // console.log(result.status); Swal.fire({ text: languages["somethingWrong"], type: 'error', confirmButtonText: languages["confirmBtn"], showCloseButton: false, customClass: 'content-text-center' }); } } function serialrizeData(form) { var unIndexed_array = form.serializeArray(); var indexed_array = {}; $.map(unIndexed_array, function (n, i) { indexed_array[n["name"]] = n["value"]; }); return indexed_array; } function getReferrer() { const urlSearchParams = new URLSearchParams(window.location.search); const params = Object.fromEntries(urlSearchParams.entries()); return params.referrer; }