login.js 9.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315
  1. var CookieID = "etecebid_loginid";
  2. /**
  3. * 로그인 처리후 Forward 될 URI
  4. * sign_on.jsp에서 call
  5. */
  6. var forward_uri = "";
  7. /**
  8. * 로그인 처리
  9. */
  10. function doLogin() {
  11. var f = document.loginForm;
  12. if ( isEmpty(f.login_id) ) {
  13. ErrMsg(f.login_id, "'ID'를 입력해 주세요.");
  14. return;
  15. }
  16. if ( isEmpty(f.login_pw) ) {
  17. ErrMsg(f.login_pw, "'PASSWORD'를 입력해 주세요.");
  18. return;
  19. }
  20. if( f.chk_save_id != null ) {
  21. if ( f.chk_save_id.checked ) {
  22. setCookie(CookieID, f.login_id.value);
  23. } else {
  24. removeCookie(CookieID);
  25. }
  26. }
  27. $.get("/sign_on_check?login_id=" + f.login_id.value + "&login_pw=" + f.login_pw.value + "&chk_save_id=on", function(data, textStatus, xhr) {
  28. var $response = $($.parseXML(xhr.responseText));
  29. var $result = $(xhr.responseText).find("SUCCESS");
  30. if ($result.attr("value") == "false") { //패스워드 오류
  31. alert($result.text());
  32. return;
  33. }else if ($result.attr("value") == "pw_valid") { //패스워드 유효기간 만료
  34. alert($result.text());
  35. var url = "/jsp/ko_KR/buyer/sycs/user/ChangeExpiredPwd.screen";
  36. var win_id = "_changeExpiredPwd";
  37. var link = url;
  38. link += "?pop_win_id="+win_id;
  39. link += "&login_id="+f.login_id.value;
  40. link += "&sModule=LM";
  41. fLayerPop(win_id, link, 400,140, '', '', 'NO');
  42. return;
  43. }else if ($result.attr("value") == "pw_cnt") { //패스워드5회 이상 오류
  44. alert($result.text());
  45. location.href="/sign_off.screen";
  46. return;
  47. }
  48. location.replace("/main.screen");
  49. });
  50. // setFormDisabled(true);
  51. // if ( !submitXmlRequest("/sign_on_check", "", f, "valueobject") ) {
  52. // alert("Log in progress..");
  53. // };
  54. }
  55. function doLoginPortal() {
  56. var f = document.loginForm;
  57. if ( isEmpty(f.login_id) ) {
  58. ErrMsg(f.login_id, "'ID'를 입력해 주세요.");
  59. return;
  60. }
  61. if ( isEmpty(f.login_pw) ) {
  62. ErrMsg(f.login_pw, "'PASSWORD'를 입력해 주세요.");
  63. return;
  64. }
  65. if( f.chk_save_id != null ) {
  66. if ( f.chk_save_id.checked ) {
  67. setCookie(CookieID, f.login_id.value);
  68. } else {
  69. removeCookie(CookieID);
  70. }
  71. }
  72. $.get("/sign_on_portal_check?login_id=" + f.login_id.value + "&login_pw=" + f.login_pw.value + "&chk_save_id=on", function(data, textStatus, xhr) {
  73. var $response = $($.parseXML(xhr.responseText));
  74. var $result = $(xhr.responseText).find("SUCCESS");
  75. if ($result.attr("value") == "false") {
  76. alert($result.text());
  77. return;
  78. }
  79. location.replace("/mainPortal.screen");
  80. });
  81. // setFormDisabled(true);
  82. // if ( !submitXmlRequest("/sign_on_portal_check", "", f, "valueobject") ) {
  83. // alert("Log in progress..");
  84. // };
  85. }
  86. /**
  87. * 로그인 폼 Enabled/Disabled Set
  88. */
  89. function setFormDisabled(isDisabled) {
  90. try {
  91. var f = document.loginForm;
  92. f.login_id.disabled = isDisabled;
  93. f.login_pw.disabled = isDisabled;
  94. f.chk_save_id.disabled = isDisabled;
  95. if( isDisabled )
  96. document.all.login_btn.style.display = "none";
  97. else
  98. document.all.login_btn.style.display = "";
  99. }
  100. catch(errorObject) {
  101. }
  102. }
  103. /**
  104. * 로그인 페이지의 입력항목 초기화
  105. */
  106. function doReset() {
  107. var f = document.loginForm;
  108. f.isSubmit = false;
  109. f.login_id.value = "";
  110. f.login_pw.value = "";
  111. }
  112. /**
  113. * 로그인 처리후 Forward 될 URI를 세팅
  114. */
  115. function setForwardUri(forward_uri) {
  116. this.forward_uri = forward_uri;
  117. }
  118. /**
  119. * 문자열 변경함수
  120. * trim()
  121. */
  122. String.prototype.trim = function() {
  123. return this.replace(/(^\s*)|(\s*$)/gi, "");
  124. };
  125. /**
  126. * 문자열 변경함수
  127. * replaceAll
  128. */
  129. String.prototype.replaceAll = function(str1, str2) {
  130. var temp_str = "";
  131. if (this.trim() != "" && str1 != str2) {
  132. temp_str = this.trim();
  133. while (temp_str.indexOf(str1) > -1) {
  134. temp_str = temp_str.replace(str1, str2);
  135. }
  136. }
  137. return temp_str;
  138. };
  139. /**
  140. * 로그인 처리 결과
  141. */
  142. function doResult(resultObj) {
  143. var f = document.loginForm;
  144. try {
  145. if( resultObj.getRequestEvent() == "USER_APPR_CHK")
  146. {
  147. document.loginForm.isSubmit = false;
  148. var corp_status_name = resultObj.getValueObject().get("corp_status_name");
  149. var status_code = resultObj.getValueObject().get("status_code");
  150. var comment = resultObj.getValueObject().get("comment");
  151. if(corp_status_name == "END_DATE")
  152. {
  153. alert("이용기간이 종료되어 이용하실 수 없습니다. 관리자에게 문의하세요.");
  154. return;
  155. }
  156. /*if(status_code == "91") 2018.05.17 거래중지 로그인 가능
  157. {
  158. var win_id = "_searchChkUser";
  159. var link = "/loginChkUser.screen";
  160. link += "?pop_win_id="+win_id+"&layerYn=Y";
  161. link += "&title="+ encodeURIComponent("거래중지") + "&comment=" + encodeURIComponent(comment.replace(/\n/gi, "<br/>"));
  162. fLayerPop(win_id, link, 300,100, '', '', 'auto');
  163. return;
  164. }*/
  165. /*if(status_code == "99") 2018.05.17 거래취소사유 보이지 않도록 .doLoginPortal 에서 상태값 99는 로그인 못함.
  166. {
  167. var win_id = "_searchChkUser";
  168. var link = "/loginChkUser.screen";
  169. link += "?pop_win_id="+win_id+"&layerYn=Y";
  170. link += "&title="+ encodeURIComponent("거래취소") + "&comment=" + encodeURIComponent(comment.replace(/\n/gi, "<br/>"));
  171. fLayerPop(win_id, link, 300,100, '', '', 'auto');
  172. return;
  173. }*/
  174. doLoginPortal();
  175. }
  176. else
  177. {
  178. if( resultObj.getType() == "VALUEOBJECT" ) {
  179. if( resultObj.getSuccess() ) {
  180. try {
  181. var vo = resultObj.getValueObject();
  182. if( vo.get("login_pw_mod_period") > 0 || vo.get("login_pw_encription") >0 ) {
  183. alert("만료 페이지 보여주어야 함");
  184. self.location.href = "/expired.screen";
  185. }else if(vo.get("portal_check") == "LOGIN_POTAL"){
  186. self.location.href = "/mainPortal.screen";
  187. } else{
  188. self.location.href = "/main.screen";
  189. }
  190. } catch(errorObject) {
  191. }
  192. } else {
  193. //dlgErrorMsg(resultObj);
  194. alert("로그인에 실패 하였습니다.\n아이디 또는 비밀번호를 확인 바랍니다.");
  195. f.isSubmit = false;
  196. setFormDisabled(false);
  197. return;
  198. }
  199. }
  200. }
  201. } catch(errorObject) {
  202. showErrorDlg("doResult()", errorObject);
  203. setFormDisabled(false);
  204. }
  205. }
  206. /**
  207. * Enter 처리
  208. */
  209. function enter(index, portal) {
  210. var f = document.loginForm;
  211. if( event.keyCode == 13 ) {
  212. if( index == 1 ) {
  213. f.login_pw.focus();
  214. } else if( index == 2 ) {
  215. if(portal=="Y")doLoginPortal();
  216. else doLogin();
  217. }
  218. }
  219. }
  220. /**
  221. * 로그인 ID Save 처리
  222. */
  223. function chkSaveID(obj) {
  224. if( obj.checked ) {
  225. var msg = "로그인 ID를 저장하시면 로그인시에 로그인 ID가 자동으로 입력됩니다.\n\n"
  226. + "여러 사용자가 같이 사용하시는 PC에 경우 ID가 다른 사용자에게 공개될 수 있습니다.\n\n"
  227. + "ID를 저장 하시겠습니까 ?";
  228. if( !confirm(msg) ) {
  229. obj.checked = !obj.checked;
  230. }
  231. }
  232. }
  233. /**
  234. * Cookie 저장
  235. */
  236. function setCookie( name, value ) {
  237. var todayDate = new Date();
  238. todayDate.setDate( todayDate.getDate() + 365 );
  239. document.cookie = name + "=" + escape( value ) + "; path=/;expires="+ todayDate.toGMTString() +";";
  240. }
  241. /**
  242. * Cookie 제거
  243. */
  244. function removeCookie( name ) {
  245. var todayDate = new Date();
  246. todayDate.setDate( todayDate.getDate() - 1 );
  247. document.cookie = name + "=; path=/; expires="+ todayDate.toGMTString() +";";
  248. }
  249. /**
  250. * Cookie 읽기
  251. */
  252. function getCookie( name ) {
  253. var nameOfCookie = name + "=";
  254. var x = 0;
  255. while ( x <= document.cookie.length ) {
  256. var y = (x+nameOfCookie.length);
  257. if ( document.cookie.substring( x, y ) == nameOfCookie ) {
  258. if ( (endOfCookie=document.cookie.indexOf( ";", y )) == -1 )
  259. endOfCookie = document.cookie.length;
  260. return unescape( document.cookie.substring( y, endOfCookie ) );
  261. }
  262. x = document.cookie.indexOf( " ", x ) + 1;
  263. if ( x == 0 )
  264. break;
  265. }
  266. return "";
  267. }
  268. function findLoginID() {
  269. alert('findLoginID');
  270. }
  271. function findLoginPW() {
  272. alert('findLoginPW');
  273. }
  274. function changeExpiredPwdClose(result){
  275. setTimeout(function(){fLayerPopClose('_changeExpiredPwd');},100);
  276. location.href="/sign_off.screen";
  277. }