diff --git a/src/main/webapp/publish/css/content.css b/src/main/webapp/publish/css/content.css index 1a020753..af1fddbc 100644 --- a/src/main/webapp/publish/css/content.css +++ b/src/main/webapp/publish/css/content.css @@ -613,10 +613,12 @@ button.check_validity:hover {border: 1px solid #a3a3a3;box-shadow: 0px 0px 5px .sub .election .receipt_number_table_wrap .receipt_number_table tbody tr td input{width:60px;} .sub .election .receipt_number_table_wrap .receipt_number_table tbody tr td label{display:inline-block;width:calc(100% - 64px);} .sub .election .receipt_number_table_wrap .put_right .receipt_info{width:calc(100% - 10px);height:calc(100% - 193px);background:#f2f2f2;margin:10px 0 0 10px;padding:10px;border-radius:5px;box-sizing:border-box;} -.sub .election .receipt_number_table_wrap .put_right .receipt_info dt{font-size:15px;font-weight:500;margin:0 0 8px 0;} +.sub .election .receipt_number_table_wrap .put_right .receipt_info dt{display:flex;font-size:15px;font-weight:500;margin:0 0 8px 0;justify-content:space-between;align-items:center;letter-spacing:-0.5px;} .sub .election .receipt_number_table_wrap .put_right .receipt_info dd{font-size:14px;text-align:right;background:#fff;margin:0 0 8px 0;padding:3px 6px;border-radius:5px;} .sub .election .receipt_number_table_wrap .put_right .receipt_info dd:last-child{margin:0 0 0 0;} .sub .election .receipt_number_table_wrap .put_right .receipt_info dd b{font-size:16px;font-weight:500;} +.sub .election .receipt_number_table_wrap .put_right .receipt_info .btn_reset{font-size:14px;font-weight:400;color:#666;} +.sub .election .receipt_number_table_wrap .put_right .receipt_info .btn_reset i{display:inline-block;width:13px;height:13px;margin:-1px 2px 0 0;background:url(/publish/images/icon_reset.png) no-repeat center center;} .sub .election .list_bottom{display:flex;width:100%;align-items:center;justify-content:space-between;padding:0 0 10px 0;} .sub .election .list_bottom .pagination{display:inline-flex;width:auto;margin:0;justify-content:flex-start;} .sub .election .list_bottom .pagination button{height:32px;} @@ -644,6 +646,7 @@ button.check_validity:hover {border: 1px solid #a3a3a3;box-shadow: 0px 0px 5px .sub .election .receipt_number_table_wrap .tbody_ul li .input_wrap{position:relative;width:60px;} .sub .election .receipt_number_table_wrap .tbody_ul li .input_wrap::after{position:absolute;content:"";width:1px;height:16px;background:#d4d4d4;right:0;top:50%;transform:translateY(-50%);} .sub .election .receipt_number_table_wrap .tbody_ul li label{width:calc(100% - 60px);} +.sub .election .send_hover_cont p{line-height:1.5;} /* send_bottom */ .send_bottom {position: relative;margin: 60px 0 0 0;} @@ -2155,7 +2158,7 @@ button.check_validity:hover {border: 1px solid #a3a3a3;box-shadow: 0px 0px 5px .rev_admin_cont .select_btnWrap .btn_right .select_btn{width: 105px;} /* 선거문자 */ - .sub .election .list_bottom{width:72.5%;} + .sub .election .list_bottom{width:100%;} .sub .election .receipt_number_table_wrap+.list_bottom .list_bottom_right button{letter-spacing:-1.4px;} .sub .election .list_bottom .pagination button{width:30px;height:30px;} } diff --git a/src/main/webapp/publish/css/popupLayer.css b/src/main/webapp/publish/css/popupLayer.css index 7979a9eb..9ef8a53d 100644 --- a/src/main/webapp/publish/css/popupLayer.css +++ b/src/main/webapp/publish/css/popupLayer.css @@ -1123,6 +1123,16 @@ .level_popup .layer_in .level_text td{font-size: 15px; font-weight: 300; text-align: center; height: 40px;} .level_popup .pagination{margin-top: 20px;} +/* toast popup */ +.toast_popup{position:fixed;display:inline-flex;min-width:330px;height:50px;padding:10px 16px;border-radius:60px;background:#e5e5e5;justify-content:space-between;align-items:center;left:50%;bottom:-40px;transform:translateX(-50%);z-index:30;opacity:0;transition:all 0.3s;box-sizing:border-box;} +.toast_popup.active{opacity:1;bottom:40px;transition:all 0.3s;} +.toast_popup.success{background:#048848;} +.toast_popup.error{background:#e11900;} +.toast_popup i.icon.check{display:inline-block;width:28px;height:28px;margin:2px 4px 0 0;background:url(/publish/images/icon_toast_success.png) no-repeat center center;} +.toast_popup .title{font-size:16px;font-weight:500;color:#fff;line-height:1.5;} +.toast_popup .btn_close{display:inline-block;width:20px;height:20px;background:url(/publish/images/icon_toast_close.png) no-repeat center center;} + + /* ie */ @media screen and (-ms-high-contrast: active), (-ms-high-contrast: none) { /* 특수문자 */ diff --git a/src/main/webapp/publish/images/icon_reset.png b/src/main/webapp/publish/images/icon_reset.png new file mode 100644 index 00000000..5752d2c7 Binary files /dev/null and b/src/main/webapp/publish/images/icon_reset.png differ diff --git a/src/main/webapp/publish/images/icon_toast_close.png b/src/main/webapp/publish/images/icon_toast_close.png new file mode 100644 index 00000000..343099ca Binary files /dev/null and b/src/main/webapp/publish/images/icon_toast_close.png differ diff --git a/src/main/webapp/publish/images/icon_toast_success.png b/src/main/webapp/publish/images/icon_toast_success.png new file mode 100644 index 00000000..3502a7bd Binary files /dev/null and b/src/main/webapp/publish/images/icon_toast_success.png differ diff --git a/src/main/webapp/publish/js/content.js b/src/main/webapp/publish/js/content.js index 3cf96035..77d55a30 100644 --- a/src/main/webapp/publish/js/content.js +++ b/src/main/webapp/publish/js/content.js @@ -53,7 +53,7 @@ $(document).ready(function () { var jbTxt = $("#textarea").text(); $(".realtime").text(jbTxt); - $("#textarea").on("change keyup paste", function () { + $("#textarea, #smsTxtArea").on("change keyup paste", function () { var crtTxt = $(this).val(); $(".realtime").text(crtTxt); $(".none_txt").empty(); diff --git a/src/main/webapp/publish/js/publish.js b/src/main/webapp/publish/js/publish.js index f6521624..74217e3d 100644 --- a/src/main/webapp/publish/js/publish.js +++ b/src/main/webapp/publish/js/publish.js @@ -1,4 +1,3 @@ - // 마우스 길게 누르는 function var onlongclick = function ($target, time, callback) { $($target).on("mousedown", function () { @@ -12,20 +11,19 @@ var onlongclick = function ($target, time, callback) { var publishCommon = { count: 0, - longMousePressCheck: function (checkTarget, checkTime , $target) { + longMousePressCheck: function (checkTarget, checkTime, $target) { // checkTarget → 체크박스([name='']) / checkTime → 몇초 간격으로 체크 될지 var checkLength = checkTarget.length; // 체크박스 몇개인지 var cnt = 0; // 몇개 체크됐는지 var checkEvent = setInterval(function () { - if (this.count == 0) {} - else if (cnt >= checkLength) { + if (this.count == 0) {} else if (cnt >= checkLength) { clearInterval(checkEvent); // 자동체크 끝. } //$(checkTarget[cnt]).prop('checked', true); // 체크박스 체크. $(checkTarget[cnt]).attr("checked", "checked"); // 체크박스 체크. - $($target).on("mouseup",function(){ - //마우스떼면 멈춤 - clearInterval(checkEvent); + $($target).on("mouseup", function () { + //마우스떼면 멈춤 + clearInterval(checkEvent); }); cnt++; fnChkCallToChange(); @@ -33,51 +31,65 @@ var publishCommon = { }, clickCheck: function (checkTarget) { // 한번 클릭 했을 때 체크, checkTarget → 체크박스([name='']) - - $("input:checkbox[name='chkCallTo']").each(function(){ - - var chkSts = $(this).is(":checked"); - - if(!chkSts){ - $(this).attr("checked", "checked"); - //$(this).prop("checked","true"); - return false; - } - - }); - + + $("input:checkbox[name='chkCallTo']").each(function () { + + var chkSts = $(this).is(":checked"); + + if (!chkSts) { + $(this).attr("checked", "checked"); + //$(this).prop("checked","true"); + return false; + } + + }); + }, - clickCheckAll : function(){ - - var chkCnt = $("input:checkbox[name='chkCallTo']").length; - var chkAllSts = $('input:checkbox[name="receipt_number_check"]').is(':checked'); - //var chkAllSts = $('input:checkbox[name="receipt_number_check"]').attr("checked"); - - if(chkCnt == 0){ - - alert("받는사람을 추가해 주세요."); - return false; - - } - - $("input:checkbox[name='chkCallTo']").each(function(){ - - if(chkAllSts){ - $(this).attr("checked", "checked"); - //$(this).prop("checked",true); - }else{ - $(this).removeAttr("checked"); - //$(this).prop("checked",false); - } - - }); - - + clickCheckAll: function () { + + var chkCnt = $("input:checkbox[name='chkCallTo']").length; + var chkAllSts = $('input:checkbox[name="receipt_number_check"]').is(':checked'); + //var chkAllSts = $('input:checkbox[name="receipt_number_check"]').attr("checked"); + + if (chkCnt == 0) { + + alert("받는사람을 추가해 주세요."); + return false; + + } + + $("input:checkbox[name='chkCallTo']").each(function () { + + if (chkAllSts) { + $(this).attr("checked", "checked"); + //$(this).prop("checked",true); + } else { + $(this).removeAttr("checked"); + //$(this).prop("checked",false); + } + + }); + + }, - clickCheckPrice : function(){ - - fnChkCallToChange(); - + clickCheckPrice: function () { + + fnChkCallToChange(); + + }, + toastsUtil: function (txt, cls, status) { + // txt - 문구 / cls - 활성화 clss / status - 초록색인지 빨간색인지 + var toastText = txt; + $(".toast_popup").find(".title").text(toastText); + if ($(".toast_popup").hasClass("active") == true) { + $(".toast_popup").removeClass(cls).removeClass(status); + } else { + $(".toast_popup").fadeIn(400); + $(".toast_popup").addClass(cls).addClass(status); + setTimeout(function () { + $(".toast_popup").removeClass(cls).removeClass(status); + }, 2000) + } } - -} + +} \ No newline at end of file diff --git a/src/main/webapp/publish/sub_election_2023.html b/src/main/webapp/publish/sub_election_2023.html index 97242a10..91c79def 100644 --- a/src/main/webapp/publish/sub_election_2023.html +++ b/src/main/webapp/publish/sub_election_2023.html @@ -82,6 +82,14 @@
+ + +
+ +

처리가 완료되었습니다.

+ +
+
@@ -1349,7 +1357,7 @@
    -
  • +
  • 번호 @@ -1445,23 +1453,22 @@
    -
  • -
  • +
  • -
  • +
- +
-

휴대폰 번호 입력 시 해당 휴대폰 번호에 대한 형식이 어긋나거나 휴대폰 번호에 오류가 있는지 등을 검사하는 기능

- (예시) 010-1234-0001(O) / 010-123-0001(X) +

마우스를 누르고 있으면 받는사람을 연속적으로 20명까지 선택할 수 있습니다.

@@ -1473,12 +1480,12 @@
-

휴대폰 번호 입력 시 해당 휴대폰 번호에 대한 형식이 어긋나거나 휴대폰 번호에 오류가 있는지 등을 검사하는 기능

+

마우스를 계속 누르고 있으면 받는 사람이 연속으로 선택됩니다.

(예시) 010-1234-0001(O) / 010-123-0001(X)
-
전체 받는사람
+
전체 받는사람

10,000,000

@@ -1629,7 +1636,7 @@
- +