1var cmmCtrl = (function(){ 2 3 "use strict"; 4 5 var fn_replace_null = function(val, chgStr) 6 { 7 if (val == undefined || val == null || val == "") 8 { 9 return chgStr; 10 } 11 else 12 { 13 return val; 14 } 15 }; 16 17 /* Ajax Normal */ 18 var fn_ajax = function(callbackAjax, url, dataType, loading, sync) 19 { 20 if (typeof dataType == "undefined") { 21 dataType = "json"; 22 } 23 24 if (typeof sync == "undefined") { 25 sync = true; 26 } 27 28 jQuery.ajax({ 29 url : url, 30 type : "post", 31 timeout: 30000, 32 dataType : dataType, 33 async: sync, 34 cache : false, 35 beforeSend : function(){ 36 if (loading) { 37 jQuery(".loading-area").stop().fadeIn(200); 38 } 39 }, 40 success : function(data, status, xhr){ 41 if(data.errors != null){ 42 fn_ajax_error(data, status, xhr); 43 } 44 else 45 { 46 formObj.data("submitFlag", "N"); 47 if (callbackAjax) { 48 callbackAjax(data); 49 } 50 } 51 }, 52 error : function(data, status, xhr){ 53 fn_ajax_error(data, status, xhr); 54 }, 55 complete : function(){ 56 if (loading) { 57 jQuery(".loading-area").stop().fadeOut(200); 58 } 59 } 60 }); 61 }; 62 63 /* Ajax Form Data */ 64 var fn_ajax_data = function(callbackAjax, url, formObj, formActionType, dataRespType, loading, sync) 65 { 66 //í¼ ì ì¡ íì 67 if (typeof formActionType == "undefined") { 68 formActionType = "POST"; 69 } 70 if(typeof loading == "undefined" || loading =="") { 71 loading = true; 72 } 73 //ë¹ë기 ì¬ë¶ 74 if (typeof sync == "undefined") { 75 sync = true; 76 } 77 //application header json 78 if (typeof dataRespType == "undefined") { 79 dataRespType = "json"; 80 } 81 //ë°ëí° ë°°ì´ ì²ë¦¬ 82 if (formObj.data("submitFlag") != "Y") { 83 jQuery.ajax({ 84 url : url, 85 type : formActionType, 86 timeout: 30000, 87 data : formObj.serializeArray(), 88 dataType : dataRespType, 89 async: sync, 90 cache : false, 91 beforeSend : function(){ 92 formObj.data("submitFlag", "Y"); 93 if (loading) { 94 jQuery(".loading-area").stop().fadeIn(200); 95 } 96 }, 97 success : function(data, status, xhr){ 98 //ë¹ë기ì¼ë errors ì²ë¦¬ 99 if(data.errors != null){ 100 if(typeof data.statusCode == "undefined"){ 101 formObj.data("submitFlag", "N"); 102 } 103 fn_ajax_error(data, status, xhr); 104 } 105 else 106 { 107 formObj.data("submitFlag", "N"); 108 if (callbackAjax) { 109 callbackAjax(data); 110 } 111 } 112 }, 113 error : function(data, status, xhr){ 114 formObj.data("submitFlag", "N"); 115 fn_ajax_error(data, status, xhr); 116 }, 117 complete : function(){ 118 if (loading) { 119 jQuery(".loading-area").stop().fadeOut(200); 120 } 121 } 122 }); 123 } 124 }; 125
126 //리ì¤í¸ ì¡°í data ê°ì ¸ì¤ê¸° 127 var fn_list_frm_set_data = function(formObj){ 128 var array = new Array(); 129 formObj.find("input:text, input:checkbox, select").each(function(){ 130 if($(this).data("name") != undefined) 131 { 132 //ìì 133 formObj.find("input[type=hidden][name="+$(this).data("name")+"]").remove(); 134 } 135 }); 136 formObj.find("input:text, input:checkbox, select").each(function(){ 137 if($(this).data("name") != undefined) 138 { 139 var inputTag = ""; 140 var tagType = $(this).attr("type"); 141 if(tagType == "checkbox") 142 { 143 if( $(this).is(":checked")) 144 { 145 inputTag = $("<input />", { 146 type : "hidden", 147 class : "form-notRequired notRequired", 148 name : $(this).data("name"), 149 value : $(this).val() 150 }); 151 formObj.append(inputTag); 152 } 153 } 154 else 155 { 156 inputTag = $("<input />", { 157 type : "hidden", 158 class : "form-notRequired notRequired", 159 name : $(this).data("name"), 160 value : $(this).val() 161 }); 162 formObj.append(inputTag); 163 } 164 } 165 }) 166 } 167 /* 리ì¤í¸ ì¡°í Ajax Form Data */ 168 var fn_list_ajax_data = function(callbackAjax, url, formObj, formActionType, dataRespType, loading, sync) 169 { 170 //í¼ ì ì¡ íì 171 if (typeof formActionType == "undefined") { 172 formActionType = "POST"; 173 } 174 //ë¹ë기 ì¬ë¶ 175 if (typeof sync == "undefined") { 176 sync = true; 177 } 178 //application header json 179 if (typeof dataRespType == "undefined") { 180 dataRespType = "json"; 181 } 182 //ë°ëí° ë°°ì´ ì²ë¦¬ 183 if (formObj.data("submitFlag") != "Y") { 184 jQuery.ajax({ 185 url : url, 186 type : formActionType, 187 timeout: 30000, 188 data : formObj.serializeArray(), 189 dataType : dataRespType, 190 async: sync, 191 cache : false, 192 beforeSend : function(){ 193 formObj.data("submitFlag", "Y"); 194 if (loading) { 195 jQuery(".loading-area").stop().fadeIn(200); 196 } 197 }, 198 success : function(data, status, xhr){ 199 //ë¹ë기ì¼ë errors ì²ë¦¬ 200 if(data.errors != null){ 201 if(typeof data.statusCode == "undefined"){ 202 formObj.data("submitFlag", "N"); 203 } 204 fn_ajax_error(data, status, xhr); 205 } 206 else 207 { 208 formObj.data("submitFlag", "N"); 209 if (callbackAjax) { 210 callbackAjax(data); 211 } 212 } 213 }, 214 error : function(data, status, xhr){ 215 formObj.data("submitFlag", "N"); 216 fn_ajax_error(data, status, xhr); 217 }, 218 complete : function(){ 219 if (loading) { 220 jQuery(".loading-area").stop().fadeOut(200); 221 } 222 } 223 }); 224 } 225 }; 226 227 /* Ajax Param Data */ 228 var fn_ajax_param_data = function(callbackAjax, url, paramData, dataType, loading, sync, type) 229 { 230 if (typeof dataType == "undefined") { 231 dataType = "json"; 232 } 233 234 if (typeof sync == "undefined") { 235 sync = true; 236 } 237 238 if (typeof type == "undefined") { 239 type = "POST"; 240 } 241 jQuery.ajax({ 242 url : url, 243 type : type, 244 timeout: 300000, 245 data : paramData, 246 dataType : dataType, 247 async: sync, 248 cache : false, 249 beforeSend : function() { 250 if (loading) { 251 jQuery(".loading-area").stop().fadeIn(200); 252 } 253 }, 254 success : function(data, status, xhr) { 255 if(data.errors != null){ 256 fn_ajax_error(data, status, xhr); 257 } 258 else 259 { 260 if (callbackAjax) { 261 callbackAjax(data); 262 } 263 } 264 }, 265 error : function(data, status, xhr) { 266 console.log(data) 267 fn_ajax_error(data, status, xhr); 268 }, 269 complete : function() { 270 if (loading) { 271 jQuery(".loading-area").stop().fadeOut(200); 272 } 273 } 274 }); 275 }; 276 277 /* Ajax Param Data */ 278 var fn_json_ajax_data = function(callbackAjax, url, paramData, dataType, loading, sync) 279 { 280 if (typeof dataType == "undefined") { 281 dataType = "json"; 282 } 283 284 if (typeof sync == "undefined") { 285 sync = false; 286 } 287 var jsonStrData = JSON.stringify(paramData); 288 jQuery.ajax({ 289 headers: { 290 'X-Requested-With': 'XMLHttpRequest', 291 'X-CSRF-TOKEN': $('meta[name=X-CSRF-TOKEN]').attr('content') 292 }, 293 url : url, 294 type : "POST", 295 timeout: 300000, 296 data : jsonStrData, 297 dataType : dataType, 298 async: sync, 299 contentType: "application/json; charset=utf-8", 300 beforeSend : function() { 301 if (loading) { 302 jQuery(".loading-area").stop().fadeIn(200); 303 } 304 }, 305 success : function(data, status, xhr) { 306 if(data.errors != null){ 307 fn_ajax_error(data, status, xhr); 308 } 309 else 310 {
311 if (callbackAjax) { 312 callbackAjax(data); 313 } 314 } 315 }, 316 error : function(data, status, xhr) { 317 fn_ajax_error(data, status, xhr); 318 }, 319 complete : function() { 320 if (loading) { 321 jQuery(".loading-area").stop().fadeOut(200); 322 } 323 } 324 }); 325 }; 326 327 /* Ajax Error */ 328 var fn_ajax_error = function(data, status, xhr) 329 { 330 var loginFlag = true, statusCode = data.status; 331 if (statusCode == 401 || statusCode == 403 || statusCode == 406) 332 { 333 alert(msgCtrl.getMsg("fail.http.status.C" + statusCode)); 334 if (statusCode != 403) 335 { 336 loginFlag = false; 337 } 338 } 339 else if(status == "success" && data.respCd == "500"){ 340 // Valid ì¤í¨ 341 $.each(data.errors, function(index, resp){ 342 $("#"+resp.fieldNm).focus(); 343 var msg = ""; 344 if(resp.msg.indexOf("empty") > -1) 345 { 346 var title = $("#"+resp.fieldNm).attr("title"); 347 if(typeof title != "undefined") 348 { 349 msg = title + ((title.charAt(title.length - 1).charCodeAt(0) - 44032 ) % 28 ? "ì" : "를") + eval(resp.msg); 350 } 351 } 352 else 353 { 354 msg = eval(resp.msg); 355 } 356 //var html = '<p style="color:red">'+msg+'</p>'; 357 //$("#"+resp.fieldNm).after(html); 358 alert(msg); 359 return false; 360 }); 361 } 362 else 363 { 364 alert(msgCtrl.getMsg("fail.act")); 365 } 366 367 if (!loginFlag) 368 { 369 location.href = "/"; 370 } 371 }; 372 373 /* Set Period */ 374 var fn_set_period = function(obj, periodGubun, trgtPeriod, isStrtFocus) 375 { 376 377 var isVaild = false; 378 var today = new Date($("body").data("curtDt")); 379 if (periodGubun && typeof trgtPeriod === "number") 380 { 381 var year = today.getFullYear(); 382 var month = today.getMonth() + 1; 383 var day = today.getDate(); 384 385 var trgtDay; 386 387 if (periodGubun == "y") 388 { 389 var tempDay = new Date(year - trgtPeriod, month - 1, day); 390 391 var trgtYear = tempDay.getFullYear(); 392 var trgtMonth = tempDay.getMonth() + 1; 393 var trgtDay = tempDay.getDate(); 394 395 if (trgtMonth < 10) 396 { 397 trgtMonth = "0" + trgtMonth; 398 } 399 400 if (trgtDay < 10) 401 { 402 trgtDay = "0" + trgtDay; 403 } 404 405 trgtDay = trgtYear + "-" + trgtMonth + "-" + trgtDay; 406 } 407 else if (periodGubun == "m") 408 { 409 var tempDay = new Date(year, month - 1, 1); 410 411 tempDay.setMonth(tempDay.getMonth() - (trgtPeriod - 1)); 412 tempDay.setDate(tempDay.getDate() - 1); 413 414 var trgtYear = tempDay.getFullYear(); 415 var trgtMonth = tempDay.getMonth() + 1; 416 var trgtDay = tempDay.getDate(); 417 418 if (trgtMonth < 10) 419 { 420 trgtMonth = "0" + trgtMonth; 421 } 422 423 if (day < trgtDay) 424 { 425 trgtDay = day; 426 } 427 428 if (trgtDay < 10) 429 { 430 trgtDay = "0" + trgtDay; 431 } 432 433 trgtDay = trgtYear + "-" + trgtMonth + "-" + trgtDay; 434 } 435 else if (periodGubun == "d") 436 { 437 var tempDay = new Date(year, month - 1, day - trgtPeriod); 438 439 var trgtYear = tempDay.getFullYear(); 440 var trgtMonth = tempDay.getMonth() + 1; 441 var trgtDay = tempDay.getDate(); 442 443 if (trgtMonth < 10) 444 { 445 trgtMonth = "0" + trgtMonth; 446 } 447 448 if (trgtDay < 10) 449 { 450 trgtDay = "0" + trgtDay; 451 } 452 453 trgtDay = trgtYear + "-" + trgtMonth + "-" + trgtDay; 454 } 455 456 if (trgtDay) 457 { 458 isVaild = true; 459 } 460 } 461 462 var formObj= obj ? jQuery(obj).closest("form") : jQuery("#frmSearch"); 463 464 var strtDtObj = formObj.find(".datetimepicker_strtDt"); 465 var strtDtObj2 = formObj.find(".datetimepicker_strtDtm"); 466 var endDtObj = formObj.find(".datetimepicker_endDt"); 467 var endDtObj2 = formObj.find(".datetimepicker_endDtm"); 468 469 strtDtObj = $(obj).closest("fieldset").find(".datetimepicker_strtDt"); 470 strtDtObj2 = $(obj).closest("fieldset").find(".datetimepicker_strtDtm"); 471 endDtObj = $(obj).closest("fieldset").find(".datetimepicker_endDt"); 472 endDtObj2 = $(obj).closest("fieldset").find(".datetimepicker_endDtm"); 473 474 if (isVaild) 475 { 476 strtDtObj.datetimepicker("setOptions", { maxDate : new Date(today), value : trgtDay }); 477 strtDtObj2.datetimepicker("setOptions", { maxDate : new Date(today), defaultTime : "00:00" });
478 endDtObj.datetimepicker("setOptions", { maxDate : new Date('2050-12-31'), minDate : trgtDay, value : today }); 479 endDtObj2.datetimepicker("setOptions", { maxDate : new Date('2050-12-31'), minDate : trgtDay, defaultTime : "00:00" }); 480 } 481 else 482 { 483 if(isStrtFocus == undefined || (isStrtFocus)){ 484 strtDtObj.focus(); 485 } 486 487 strtDtObj.datetimepicker("setOptions", { value : today, defaultDate: new Date($("body").data("curtDt")) , maxDate : new Date('2050-12-31'), minDate: new Date('1950-01-01') }); 488 strtDtObj2.datetimepicker("setOptions", { defaultDate: new Date($("body").data("curtDt")), defaultTime: "00:00" }); 489 strtDtObj.datetimepicker("reset").val(""); 490 strtDtObj2.datetimepicker("reset").val(""); 491 492 endDtObj.datetimepicker("setOptions", { value : today, defaultDate: new Date($("body").data("curtDt")), maxDate : new Date('2050-12-31'), minDate: new Date('1950-01-01')}); 493 endDtObj2.datetimepicker("setOptions", { defaultDate: new Date($("body").data("curtDt")), defaultTime: "00:00" });
494 endDtObj.datetimepicker("reset").val(""); 495 endDtObj2.datetimepicker("reset").val(""); 496 497 } 498 499 }; 500 501 /* ë¬ë ¥ ì´ê¸°í */ 502 var fn_init_calendar = function(obj) { 503 504 $(obj).parent().parent().find("input").each(function(index) { 505 if ($.trim($(this).val()) == "") { 506 // max, min date ì¤ì ë° ê° ì´ê¸°í 507 $(this).datetimepicker("setOptions", { 508 minDate: new Date('1950-01-01'), 509 maxDate: new Date('2050-12-31') 510 }); 511 $(this).datetimepicker("reset").val(""); 512 } 513 }); 514 } 515 516 /* Init Code */ 517 var fn_init_code = function() 518 { 519 $.each(jQuery(".selectbox_code"), function(index, obj){ 520 var slctVal = jQuery(obj).data("slctVal"); 521 522 if (slctVal) 523 { 524 cmmCtrl.paramAjax(function(data){ 525 var rtnList = data.rtnList; 526 527 if (rtnList && rtnList.length > 0) 528 { 529 $.each(rtnList, function(index, data){ 530 jQuery(obj).val(data.cd).trigger("change"); 531 532 obj = jQuery(obj).next(); 533 }); 534 } 535 }, "/mngwserc/co/coe/parnt-data.ajax", { cdId : jQuery(obj).data("cdId"), cd : slctVal }); 536 } 537 }); 538 }; 539 540 541 //íì¼ ì ë³´ ì¡ì 542 var fn_ajax_file_data = function(callbackAjax, url, formObj, dataType, sync, loading){ 543 if (typeof dataType == "undefined") { 544 dataType = "json"; 545 } 546 if (typeof sync == "undefined") { 547 sync = true; 548 } 549 if (formObj.data("submitFlag") != "Y") 550 { 551 var frmData = formObj.serializeArray(); 552 var fileIndex = 0; 553 formObj.find("input[type=file]").each(function(){ 554 if($(this).data("tempSuccessFileData") != undefined) 555 { 556 $.each($(this).data("tempSuccessFileData"), function(idx, data){ 557 //altê° dataì ë£ì´ì£¼ê¸°. 558 for (let i in data) { 559 if (data.hasOwnProperty(i)) { 560 frmData.push({ 561 name: "fileList["+(fileIndex)+"]." + i, value: data[i] 562 });
563 } 564 } 565 fileIndex = fileIndex + 1; 566 }) 567 } 568 }); 569 fileIndex = 0; 570 jQuery.ajax({ 571 headers: { 572 'X-Requested-With': 'XMLHttpRequest', 573 'X-CSRF-TOKEN': $('meta[name=X-CSRF-TOKEN]').attr('content') 574 }, 575 url : url, 576 type : "POST", 577 timeout: 30000, 578 data : frmData, 579 dataType : dataType, 580 async: sync, 581 cache : false, 582 beforeSend : function() { 583 formObj.data("submitFlag", "Y"); 584 if (loading) { 585 $(".dimd").stop().fadeIn(100); 586 } 587 }, 588 success : function(data, status, xhr) { 589 formObj.data("submitFlag", "N"); 590 if (callbackAjax) { 591 callbackAjax(data); 592 } 593 }, 594 error : function(data, status, xhr) { 595 formObj.data("submitFlag", "N"); 596 fn_ajax_error(data, status, xhr); 597 }, 598 complete : function() { 599 if (loading) { 600 $(".dimd").stop().fadeOut(100); 601 } 602 } 603 }); 604 } 605 } 606 607 /* Ajax File Data */ 608 var fn_ajax_file = function(callbackAjax, url, formObj, dataType, loading, sync) 609 { 610 if (typeof dataType == "undefined") { 611 dataType = "json"; 612 } 613 614 if (typeof sync == "undefined") { 615 sync = true; 616 } 617 618 if (formObj.data("submitFlag") != "Y") 619 { 620 jQuery.ajax({ 621 url : url, 622 type : "post", 623 timeout: 30000, 624 data : new FormData(formObj[0]), 625 dataType : dataType, 626 async: sync, 627 cache : false, 628 contentType: false, 629 processData: false, 630 beforeSend : function() { 631 formObj.data("submitFlag", "Y"); 632 if (loading) { 633 $(".dimd").stop().fadeIn(100); 634 jQuery(".loading-area").stop().fadeIn(200); 635 } 636 }, 637 success : function(data, status, xhr) { 638 formObj.data("submitFlag", "N"); 639 640 if (callbackAjax) { 641 callbackAjax(data); 642 } 643 }, 644 error : function(data, status, xhr) { 645 formObj.data("submitFlag", "N"); 646 647 fn_ajax_error(data, status, xhr); 648 }, 649 complete : function() { 650 if (loading) { 651 $(".dimd").stop().fadeOut(100); 652 } 653 } 654 }); 655 } 656 }; 657 //FORMíê·¸ì íì¼ ê°ì²´ ì´ê¸°í 658 var fn_input_file_init = function(fileObj){ 659 var agent = navigator.userAgent.toLowerCase();
660 if ( (navigator.appName == 'Netscape' && navigator.userAgent.search('Trident') != -1) || (agent.indexOf("msie") != -1) ) 661 { 662 fileObj.replaceWith(fileObj.clone(true)); 663 } 664 else 665 { 666 fileObj.val(""); 667 } 668 return fileObj; 669 } 670 671 /* Set Popup */ 672 var fn_set_popup = function(pUrl, pName, pSw, pSh) 673 { 674 //ì¤í¬ë¦°ì í¬ê¸° 675 var cw = screen.availWidth; 676 var ch = screen.availHeight; 677 var sw = pSw; 678 var sh = pSh; 679 var ml = (cw - sw) / 2; 680 var mt = (ch - sh) / 2; 681 682 window.open(pUrl, pName, "width="+sw+",height="+sh+",top="+mt+",left="+ml+",location=no,menubar=no,toolbar=no,scrollbars=yes,resizable=no,copyhistory=no"); 683 }; 684 685 /* Check Maxlength */ 686 var fn_check_maxlength = function(obj) 687 { 688 var maxLength = obj.maxLength; 689 690 if (obj.value.length > maxLength) 691 { 692 obj.value = obj.value.slice(0, maxLength); 693 } 694 return obj.value.length; 695 }; 696 697 /* Check Continuous String */ 698 var check_cont_string = function(str, limit) 699 { 700 var o, d, p, n = 0, l = limit == null ? 4 : limit; 701 702 for (var i = 0; i < str.length; i++) 703 { 704 var c = str.charCodeAt(i); 705 706 if (i > 0 && (p = o - c) > -2 && p < 2 && (n = p == d ? n + 1 : 0) > l - 3) 707 { 708 return false; 709 } 710 711 d = p, o = c; 712 } 713 714 return true; 715 }; 716 717 718 // ì릿ì ë§í¼ 0 ë¶ì´ê¸° 719 var fn_pad = function(num, size){ 720 var s = "000000000" + num; 721 return s.substring(s.length-size); 722 } 723 724 // URL ì í¨ì± ì²´í¬ 725 var fn_check_url = function(urlObj) { 726 var url = urlObj.val(); 727 728 var startUrl = /^\/[^\/]/; // / (//ë ì ë¨) 729 var expUrl = /^http[s]?\:\/\//i; // http://, https:// 730 731 if(startUrl.test(url) || url.startsWith("javascript") || expUrl.test(url)) { 732 return true; 733 } else { 734 alert(msgCtrl.getMsg("fail.notValidUrl")); 735 // urlObj.addClass("error").val("").focus(); 736 urlObj.val("").focus(); 737 return false; 738 } 739 } 740 741 // Back/forward cache(ë¤ë¡/ìì¼ë¡ ê°ê¸°) ì²´í¬ 742 window.onpageshow = function(event){ 743 history.scrollRestoration = "manual"; 744 if (event.persisted) 745 { 746 location.reload(); 747 } 748 }; 749 750 /* íë¼ë¯¸í° ì¶ì¶ */ 751 jQuery.extend({ 752 getXssVal : function(targetValue){ 753 var returnValue = targetValue; 754 755 if (returnValue) 756 { 757 returnValue = returnValue.replace(/&/g, "&"); 758 returnValue = returnValue.replace(/</g, "<"); 759 returnValue = returnValue.replace(/>/g, ">"); 760 returnValue = returnValue.replace(/"/g, "\""); 761 returnValue = returnValue.replace(/%/g, "%"); 762 returnValue = returnValue.replace(/'/g, "\'"); 763 } 764 765 return returnValue; 766 }, 767 getURLParam : function(strParamName) { 768 var strHref = window.location.href; 769 var cmpstring = strParamName + "="; 770 var bFound = false; 771 var strReturn = ""; 772 773 if (strHref.indexOf("?") > -1) 774 { 775 var aQueryString = strHref.substr(strHref.indexOf("?") + 1).split("&"); 776 777 for (var iParam = 0, length = aQueryString.length; iParam < length; iParam++) 778 { 779 if (aQueryString[iParam].substr(0, cmpstring.length) == cmpstring) 780 { 781 strReturn = aQueryString[iParam].split("=")[1]; 782 bFound = true; 783 break; 784 } 785 } 786 } 787 788 if (bFound == false) 789 { 790 return null; 791 } 792 793 return strReturn; 794 }, 795 getURLParams: function(){ 796 return location.search 797 } 798 }); 799 800 /* clearForm */ 801 jQuery.fn.clearForm = function(){ 802 return this.each(function(){ 803 var type = this.type, tag = this.tagName.toLowerCase(); 804 805 if (tag === "form") 806 { 807 return jQuery(":input", this).clearForm(); 808 } 809 if (type === "text" || type === "password" || type === "hidden" || tag === "textarea") 810 { 811 this.value = ""; 812 } 813 else if (type === "checkbox" || type === "radio") 814 { 815 this.checked = false; 816 } 817 else if (tag === "select") 818 { 819 this.selectedIndex = 0; 820 } 821 }); 822 }; 823 824 /* form strPam */ 825 jQuery.fn.strPam = function(){ 826 var formObj = this, tmpObj = { }, strPam = ""; 827 828 $.each(formObj.serializeArray(), function(){ 829 var $type = formObj.find("[name='" + this.name + "']").prop("type"); 830 831 if (tmpObj[this.name]) 832 { 833 if ($type == "checkbox") 834 { 835 tmpObj[this.name] = tmpObj[this.name] + "," + "|" + this.value + "|"; 836 } 837 else 838 { 839 tmpObj[this.name] = tmpObj[this.name] + "," + this.value; 840 } 841 } 842 else 843 { 844 if ($type == "checkbox") 845 { 846 tmpObj[this.name] = "|" + this.value + "|"; 847 } 848 else 849 { 850 tmpObj[this.name] = this.value; 851 } 852 } 853 }); 854 855 $.each(Object.keys(tmpObj), function(){ 856 if (strPam) 857 { 858 strPam += "&"; 859 } 860 861 strPam += this + "=" + tmpObj[this]; 862 }); 863 864 return strPam; 865 }; 866
867 //íì´ì§ ì²ë¦¬ 868 var fn_paging = function(totCnt, $formObj, listFormId, pagingFormId){ 869 870 // íì´ì§ ì¸í 871 const pageRowSize = parseInt($formObj.find("input[name=listRowSize]").val()); // í íì´ì§ì ë³´ì¬ì§ë ë°ì´í°ì ì 872 const pageButtonSize = parseInt($formObj.find("input[name=pageRowSize]").val()); // í ë²ì ë³´ì¬ì§ íì´ì§ ë²í¼ì ì (íìì¬ì¼ë§ í¨) 873 const totalCount = parseInt(totCnt); // ì ì²´ ë°ì´í° ì 874 const totalPage = parseInt((totalCount-1)/pageRowSize) + 1; // ì ì²´ íì´ì§ ì 875 876 let data = { 877 pageRowSize: pageRowSize, 878 pageButtonSize: pageButtonSize, 879 880 totalCount: totalCount, 881 totalPage: totalPage, 882 883 now:0, 884 prev:0, 885 next:0, 886 887 start: 0, 888 end:0, 889 }; 890 891 data.now = parseInt( $formObj.find("#pageIndex").val() ); 892 893 // this.totalCount = this.$root.totalCount; 894 data.totalPage = Math.ceil(data.totalCount / data.pageRowSize); 895 // ê²ìê²°ê³¼ ìë ê²½ì° totalPage = 1ë¡ ì¤ì 896 data.totalPage = data.totalPage == 0 ? 1 : data.totalPage ; 897 898 // data.prev = (data.now > 1) ? data.now - 1 : null 899 data.prev = (data.now > 1) ? data.now - 1 : data.now 900 // data.next = (data.totalPage !== data.now && data.totalPage != 0) ? data.now + 1 : null 901 data.next = (data.totalPage !== data.now && data.totalPage != 0) ? data.now + 1 : data.now 902 903 data.start = (Math.ceil(data.now / data.pageButtonSize) - 1) * data.pageButtonSize + 1; 904 data.end = ((data.start + data.pageButtonSize) > data.totalPage ? data.totalPage : (data.start + data.pageButtonSize - 1)) 905 var button=''; 906 907 for(var i=data.start; i<=data.end; i++){ 908 if(i==data.now){ 909 button += '<li aria-disabled="false" class="active" aria-selected="false" ><a href="javascript:" class="pageSet" value="'+ i +'" data-page="'+ i +'">' + i + '</a></li>'; 910 }else { 911 button += '<li aria-disabled="false" aria-selected="false" ><a href="javascript:" class="pageSet" value="' + i + '" data-page="'+ i +'">' + i + '</a></li>'; 912 } 913 } 914 915 // íì´ì§ ë²í¼ 916 var template = '<div class="text-center">' + 917 '<div class="col-sm-12">' + 918 '<ul class="pagination">' + 919 '<li><a href="javascript: " class="pageSet button" value="1" data-page="1"><<</a></li>'+ 920 '<li><a href="javascript:" class="pageSet button" value="' + data.prev + '" data-page="' + data.prev + '"><</a></li>' + 921 button + 922 '<li><a href="javascript:" class="pageSet button" value="' + data.next + '" data-page="' + data.next + '">></a></li>' + 923 '<li><a href="javascript:" class="pageSet button" value="' + data.totalPage + '" data-page="' + data.totalPage + '">>></a></li>' + 924 '</ul>' + 925 '</div>' + 926 '</div>'; 927 928 // íë©´ ë¶ì´ê¸° 929 $formObj.find("#"+pagingFormId).html(template); 930 } 931 932 //ë보기 íì´ì§ ì²ë¦¬ 933 var fn_more_paging = function(totCnt, $formObj, listFormId, pagingFormId){ 934 935 // íì´ì§ ì¸í 936 const pageRowSize = parseInt($formObj.find("input[name=listRowSize]").val()); // í íì´ì§ì ë³´ì¬ì§ë ë°ì´í°ì ì 937 const pageButtonSize = parseInt($formObj.find("input[name=pageRowSize]").val()); // í ë²ì ë³´ì¬ì§ íì´ì§ ë²í¼ì ì (íìì¬ì¼ë§ í¨) 938 const totalCount = parseInt(totCnt); // ì ì²´ ë°ì´í° ì 939 const trRowCount = $formObj.find("#"+listFormId).find("tr").size(); 940 if(totalCount <= trRowCount || totalCount == 0){ 941 $formObj.find("#"+pagingFormId).hide(); 942 }else{ 943 // íì´ì§ ë²í¼ 944 var template = '<span>ë보기</span>' + 945 '<span class="item-count">('+trRowCount+'/'+totalCount+')</span>'; 946 // íë©´ ë¶ì´ê¸° 947 $formObj.find("#"+pagingFormId).html(template); 948 } 949 } 950 951 //ì¹´ì¹´ì¤ ì£¼ì í¸ì¶ 952 var fn_postData = function(width , height , zipcode ,bscAddr , dtlAddr){ 953 new daum.Postcode({ 954 width: width, //ìì±ìì í¬ê¸° ê°ì ëª ìì ì¼ë¡ ì§ì í´ì¼ í©ëë¤. 955 height: height, 956 oncomplete: function(data) { 957 // íì ìì ê²ìê²°ê³¼ í목ì í´ë¦íìë ì¤íí ì½ë를 ìì±íë ë¶ë¶. 958 959 // ê° ì£¼ìì ë ¸ì¶ ê·ì¹ì ë°ë¼ 주ì를 ì¡°í©íë¤. 960 // ë´ë ¤ì¤ë ë³ìê° ê°ì´ ìë ê²½ì°ì 공백('')ê°ì ê°ì§ë¯ë¡, ì´ë¥¼ ì°¸ê³ íì¬ ë¶ê¸° íë¤. 961 var addr = ''; // 주ì ë³ì 962 var extraAddr = ''; // ì°¸ê³ í목 ë³ì 963 964 //ì¬ì©ìê° ì íí 주ì íì ì ë°ë¼ í´ë¹ 주ì ê°ì ê°ì ¸ì¨ë¤. 965 if (data.userSelectedType === 'R') { // ì¬ì©ìê° ëë¡ëª 주ì를 ì ííì ê²½ì° 966 addr = data.roadAddress; 967 } else { // ì¬ì©ìê° ì§ë² 주ì를 ì ííì ê²½ì°(J) 968 addr = data.jibunAddress; 969 } 970 971 // ì¬ì©ìê° ì íí 주ìê° ëë¡ëª íì ì¼ë ì°¸ê³ í목ì ì¡°í©íë¤. 972 if(data.userSelectedType === 'R'){ 973 // ë²ì ëëª ì´ ìì ê²½ì° ì¶ê°íë¤. (ë²ì 리ë ì ì¸) 974 // ë²ì ëì ê²½ì° ë§ì§ë§ 문ìê° "ë/ë¡/ê°"ë¡ ëëë¤. 975 if(data.bname !== '' && /[ë|ë¡|ê°]$/g.test(data.bname)){ 976 extraAddr += data.bname; 977 } 978 // ê±´ë¬¼ëª ì´ ìê³ , ê³µë주íì¼ ê²½ì° ì¶ê°íë¤. 979 if(data.buildingName !== '' && data.apartment === 'Y'){ 980 extraAddr += (extraAddr !== '' ? ', ' + data.buildingName : data.buildingName); 981 } 982 // íìí ì°¸ê³ íëª©ì´ ìì ê²½ì°, ê´í¸ê¹ì§ ì¶ê°í ìµì¢ 문ìì´ì ë§ë ë¤. 983 if(extraAddr !== ''){
984 extraAddr = ' (' + extraAddr + ')'; 985 } 986 } 987 988 // ì°í¸ë²í¸ì 주ì ì 보를 í´ë¹ íëì ë£ëë¤. 989 $("#"+zipcode).val(data.zonecode); 990 $("#"+bscAddr).val(addr); 991 // 방문êµì¡ì êµì¡ì¥ì ë°ìì¤ê¸° 992 $("#edctnPlaceAddr").val(data.sido + " " + data.sigungu); 993 // 커ì를 ìì¸ì£¼ì íëë¡ ì´ëíë¤. 994 $("#"+dtlAddr).focus(); 995 996 } 997 }).open({ 998 left: (document.body.offsetWidth / 2) - (200 / 2), 999 top: (window.screen.height / 2) - (300 / 2) 1000 }); 1001 } 1002 1003 /** 1004 * nice ì¸ì¦ íì 1005 * @param params 1006 * "no" ~ ìì ì íì´ì§ ì´ë x 1007 * "/id-ref-ff" : íì´ì§ ì´ë 1008 * &íë¼ë¯¸í° ì¶ê°ë¡ ëê¸°ê³ ìíë ë°ì´í° ì ì¡ ìµë 5ê° /id-find-res&ex1&ex2 ìµë 5ê° 1009 */ 1010 1011 function fn_nice_certification(params) { 1012 jQuery.ajax({ 1013 url : "/nice/my-idnttvrfct", 1014 type : "post", 1015 data : 1016 { 1017 "receivedata" : params 1018 }, 1019 success : function(data) 1020 { 1021 const {form} = document; 1022 1023 const option = `status=no, menubar=no, toolbar=no, resizable=no, width=500, height=600`; 1024 document.getElementById('enc_data').value = data.enc_data; // enc_data ê°ì ì¤ì 1025 document.getElementById('integrity_value').value = data.integrity_value; // integrity_value ê°ì ì¤ì 1026 document.getElementById('token_version_id').value = data.token_version_id; // integrity_value ê°ì ì¤ì 1027 1028 window.open('', 'nicePopup', option); 1029 1030 form.target = 'nicePopup'; 1031 document.getElementById('form').submit(); 1032 1033 }, 1034 error : function(xhr, ajaxSettings, thrownError) 1035 { 1036 cmmCtrl.errorAjax(xhr); 1037 jQuery.jstree.rollback(data.rlbk); 1038 } 1039 }); 1040 } 1041 1042 var fn_email_validation_chk = function (email) { 1043 let splitEmail = email.toString().split("@"); 1044 var atRegex = /[^@]+@[^@]+/; //@ ì²´í¬ 1045 var atDupRegex = /.*@.*@.*/; //@ 2ê° ì´ì ì²´í¬ 1046 var spaceRegex = /\s/; //공백 ì²´í¬ 1047 var commaRegex = /\./; 1048 let multiRegex = /[&=ï¼,+<>()]+|(\.{2,})/; //& = , ' + , í¬í¨ ê²½ì° 1049 let lastRegex = /[0-9!@#$%^&*()_+{}\[\]:;<>,.?\\|`~-]+$/; 1050 return atRegex.test(email) && 1051 !atDupRegex.test(email) && 1052 commaRegex.test(splitEmail[1]) && 1053 !spaceRegex.test(email) && 1054 !multiRegex.test(email) && 1055 !lastRegex.test(email) && 1056 splitEmail[0].length < 64 && 1057 splitEmail[1].length < 255 1058 } 1059 1060 var fn_set_calendar = function(){ 1061 1062 jQuery.datetimepicker.setLocale("ko"); 1063 1064 $.each(jQuery(".datetimepicker_input"), function(i, obj){ 1065 jQuery(obj).datetimepicker({ 1066 timepicker : false, 1067 format : "Y-m-d", 1068 defaultDate : new Date(), 1069 defaultTime : "00:00", 1070 scrollInput : false, 1071 scrollMonth : false, 1072 scrollTime : false, 1073 onSelectDate : function(selectedDate, selectedObj) { 1074 selectedObj.blur(); 1075 } 1076 }); 1077 }); 1078 1079 // ê²ì기ê°(ì¼ì) Start ----- 1080 $.each(jQuery(".datetimepicker_strtDt"), function(i, obj){ 1081 jQuery(obj).datetimepicker({ 1082 timepicker : false, 1083 format : "Y.m.d", 1084 defaultDate : "", 1085 defaultTime : "00:00", 1086 scrollInput : false, 1087 scrollMonth : false, 1088 scrollTime : false, 1089 todayButton: false, 1090 onSelectDate : function(selectedDate, selectedObj) { 1091 var strtDt = selectedDate; 1092 var endDtObj = selectedObj.find(".datetimepicker_endDt"); 1093 var endDt = new Date(endDtObj.val()); 1094 1095 if (strtDt.getTime() / (1000 * 3600 * 24) > endDt.getTime() / (1000 * 3600 * 24)) 1096 { 1097 endDtObj.val(selectedObj.val()); 1098 } 1099 1100 endDtObj.datetimepicker("setOptions", { minDate : strtDt, value : endDtObj.val() }); 1101 1102 selectedObj.blur(); 1103 } 1104 }); 1105 }); 1106 1107 1108 $.each(jQuery(".datetimepicker_endDt"), function(i, obj){ 1109 jQuery(obj).datetimepicker({ 1110 timepicker : false, 1111 format : "Y.m.d", 1112 defaultDate : "", 1113 defaultTime : "00:00", 1114 scrollMonth : false, 1115 scrollTime : false, 1116 todayButton: false, 1117 onSelectDate : function(selectedDate, selectedObj) { 1118 var strtDtObj = selectedObj.find(".datetimepicker_strtDt"); 1119 var strtDt = new Date(strtDtObj.val()); 1120 var endDt = selectedDate; 1121 1122 if (strtDt.getTime() / (1000 * 3600 * 24) > endDt.getTime() / (1000 * 3600 * 24)) 1123 { 1124 strtDtObj.val(selectedObj.val()); 1125 } 1126 1127 selectedObj.blur(); 1128 } 1129 }); 1130 }); 1131 } 1132 1133 var fn_calendar = function(beforeMonth,afterMonth){ 1134 jQuery.datetimepicker.setLocale("ko"); 1135 1136 // ê²ì기ê°(ì¼ì) Start ----- 1137 $.each(jQuery(".datetimepicker_strtDt"), function(i, obj){ 1138 jQuery(obj).datetimepicker({ 1139 timepicker : false, 1140 format : "Y.m.d", 1141 defaultDate : "", 1142 defaultTime : "00:00", 1143 scrollInput : false, 1144 scrollMonth : false, 1145 scrollTime : false,
1146 todayButton: false, 1147 }).on('change',function(e){ 1148 var strtDtObj = jQuery(".datetimepicker_strtDt"); 1149 var strtDt = new Date($(this).val()); 1150 var endDtObj = jQuery(".datetimepicker_endDt"); 1151 var endDt = new Date(endDtObj.val()); 1152 1153 if((endDt.getTime() > 0) && (strtDt.getTime() / (1000 * 3600 * 24) >= endDt.getTime() / (1000 * 3600 * 24))) { 1154 strtDtObj.datetimepicker("setOptions", { maxDate : endDt }); 1155 endDtObj.datetimepicker("setOptions", { minDate : strtDt }); 1156 strtDtObj.val(endDtObj.val()); 1157 } else { 1158 strtDtObj.datetimepicker("setOptions", { maxDate : endDt }); 1159 endDtObj.datetimepicker("setOptions", { minDate : strtDt }); 1160 } 1161 }); 1162 }); 1163 1164 1165 $.each(jQuery(".datetimepicker_endDt"), function(i, obj){ 1166 jQuery(obj).datetimepicker({ 1167 timepicker : false, 1168 format : "Y.m.d", 1169 defaultDate : "", 1170 defaultTime : "00:00", 1171 scrollInput : false, 1172 scrollMonth : false, 1173 scrollTime : false, 1174 todayButton: false, 1175 }).on('change',function(e){ 1176 var strtDtObj = jQuery(".datetimepicker_strtDt"); 1177 var strtDt = new Date(strtDtObj.val()); 1178 var endDtObj = jQuery(".datetimepicker_endDt"); 1179 var endDt = new Date($(this).val()); 1180 1181 if((strtDt.getTime() > 0) && (strtDt.getTime() / (1000 * 3600 * 24) >= endDt.getTime() / (1000 * 3600 * 24))) { 1182 strtDtObj.datetimepicker("setOptions", { maxDate : endDt }); 1183 endDtObj.datetimepicker("setOptions", { minDate : strtDt }); 1184 endDtObj.val(strtDtObj.val()); 1185 } else { 1186 strtDtObj.datetimepicker("setOptions", { maxDate : endDt }); 1187 endDtObj.datetimepicker("setOptions", { minDate : strtDt }); 1188 } 1189 }); 1190 }); 1191 1192 1193 var date = new Date(); 1194 var strtObj = jQuery(".datetimepicker_strtDt"); 1195 strtObj.datetimepicker("setOptions", { value : date_format(beforeMonth) }); 1196 1197 var endObj = jQuery(".datetimepicker_endDt"); 1198 endObj.datetimepicker("setOptions", { value : date_format(afterMonth)}); 1199 1200 var strtDt = new Date(strtObj.val()); 1201 var endDt = new Date(endObj.val()); 1202 strtObj.datetimepicker("setOptions", { maxDate : endDt }); 1203 endObj.datetimepicker("setOptions", { minDate : strtDt }); 1204 } 1205 1206 var date_format = function(trgtPerid){ 1207 var today = new Date(); 1208 var year = today.getFullYear(); 1209 var month = today.getMonth() + 1; 1210 var day = today.getDate(); 1211 1212 var tempDay = new Date(year, month - 1, 1); 1213 1214 1215 tempDay.setMonth(tempDay.getMonth() - (trgtPerid - 1)); 1216 tempDay.setDate(tempDay.getDate() - 1); 1217 1218 var trgtYear = tempDay.getFullYear(); 1219 var trgtMonth = tempDay.getMonth() + 1; 1220 var trgtDay = tempDay.getDate(); 1221 1222 if (trgtMonth < 10) 1223 { 1224 trgtMonth = "0" + trgtMonth; 1225 } 1226 1227 if (day < trgtDay) 1228 { 1229 trgtDay = day; 1230 } 1231 1232 if (trgtDay < 10) 1233 { 1234 trgtDay = "0" + trgtDay; 1235 } 1236 1237 return trgtDay = trgtYear + "." + trgtMonth + "." + trgtDay; 1238 } 1239 1240 var search_memory = function(){ 1241 1242 cmmCtrl.jsonAjax(function(data){ 1243 var rtnData = JSON.parse(data); 1244 1245 var now = rtnData.nowMemory; 1246 var max = rtnData.maxMemory; 1247 1248 console.log(Math.round((now/max)*100, 2)+"%"); 1249 1250 1251 }, "/searchMemory", "", "text"); 1252 1253 } 1254 1255 var clear_memory = function(){ 1256 1257 cmmCtrl.jsonAjax(function(data){ 1258 1259 search_memory(); 1260 1261 }, "/clearMemory", "", "text"); 1262 1263 } 1264 1265 1266 return { 1267 nvl : fn_replace_null, 1268 bscAjax : fn_ajax, 1269 frmAjax : fn_ajax_data, 1270 listFrmAjax : fn_list_ajax_data, 1271 paramAjax : fn_ajax_param_data, 1272 errorAjax : fn_ajax_error, 1273 setPeriod: fn_set_period, 1274 initCode : fn_init_code, 1275 fileFrmAjax: fn_ajax_file_data, 1276 fileFrm: fn_ajax_file, 1277 inputFileInit: fn_input_file_init, 1278 setPopup : fn_set_popup, 1279 checkMaxlength : fn_check_maxlength, 1280 checkContString : check_cont_string, 1281 listPaging : fn_paging, 1282 morePaging : fn_more_paging, 1283 setFormData: fn_list_frm_set_data, 1284 pad: fn_pad, 1285 checkUrl: fn_check_url, 1286 initCalendar: fn_init_calendar, 1287 niceCertification : fn_nice_certification, 1288 searchPostCode : fn_postData, 1289 setCalendar: fn_set_calendar, 1290 setCalendarInit : fn_calendar, 1291 1292 //jsoníìì ë°ì´í°ë¥¼ 문ìì´ë¡ ë³í í ìë° ì»¨í¸ë¡¤ë¬ìì @RequestBody BaseDTO baseDto ë¡ ë°ëë¤ 1293 jsonAjax : fn_json_ajax_data, 1294 1295 // ì´ë©ì¼_ì²´í¬ 1296 getEmailChk : fn_email_validation_chk, 1297 1298 searchMemory : search_memory, 1299 1300 clearMemory : clear_memory 1301 1302 } 1303}());
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.