친구톡 전송결과 프로그래스바 생성
This commit is contained in:
parent
5b98807cad
commit
b3c25e021e
@ -700,7 +700,7 @@ function sendTemplateInfo(){
|
|||||||
success: function (data) {
|
success: function (data) {
|
||||||
console.log('data : ', data);
|
console.log('data : ', data);
|
||||||
|
|
||||||
/* var status = data.status;
|
var status = data.status;
|
||||||
if("OK" == status){
|
if("OK" == status){
|
||||||
var resultSts = data.object.resultSts;
|
var resultSts = data.object.resultSts;
|
||||||
var reserYn = data.object.reserYn;
|
var reserYn = data.object.reserYn;
|
||||||
@ -715,7 +715,7 @@ function sendTemplateInfo(){
|
|||||||
}else{
|
}else{
|
||||||
alert(data.message);
|
alert(data.message);
|
||||||
return false;
|
return false;
|
||||||
} */
|
}
|
||||||
|
|
||||||
|
|
||||||
// if(data == 'success'){
|
// if(data == 'success'){
|
||||||
@ -762,7 +762,7 @@ function sendTemplateInfo(){
|
|||||||
// $('.loading_layer').removeClass('active');
|
// $('.loading_layer').removeClass('active');
|
||||||
|
|
||||||
// 프로그래스 바 종료
|
// 프로그래스 바 종료
|
||||||
progressComplete();;
|
progressComplete();
|
||||||
}
|
}
|
||||||
,error: function (e) {
|
,error: function (e) {
|
||||||
console.log("ERROR : ", e);
|
console.log("ERROR : ", e);
|
||||||
|
|||||||
@ -963,6 +963,8 @@ function fn_sendMsgData(){
|
|||||||
console.log("최종 formData:", JSON.stringify(formData));
|
console.log("최종 formData:", JSON.stringify(formData));
|
||||||
|
|
||||||
|
|
||||||
|
// 프로그래스파 시간을 위한 계산
|
||||||
|
var estimtedTime = calculateEstimatedTime(tableL.getRows().length);
|
||||||
|
|
||||||
|
|
||||||
$.ajax({
|
$.ajax({
|
||||||
@ -971,10 +973,25 @@ function fn_sendMsgData(){
|
|||||||
, data: JSON.stringify(formData)
|
, data: JSON.stringify(formData)
|
||||||
, contentType: 'application/json'
|
, contentType: 'application/json'
|
||||||
, dataType: 'json'
|
, dataType: 'json'
|
||||||
, success: function (returnData) {
|
, success: function (data) {
|
||||||
|
console.log('data : ', data);
|
||||||
|
|
||||||
console.log('returnData : ', returnData);
|
var status = data.status;
|
||||||
|
if("OK" == status){
|
||||||
|
var resultSts = data.object.resultSts;
|
||||||
|
var reserYn = data.object.reserYn;
|
||||||
|
var resText = (reserYn === 'Y') ? '예약' : '발송';
|
||||||
|
|
||||||
|
$('.pop_msg_success').css({'display':'block','opacity':'1','left':'50%','top':'50%','transform':'translate(-50%,-50%)'});
|
||||||
|
$('.pop_msg_success .msg_text').html(resText+" 성공 : <strong>"+ resultSts + "</strong>건의<br>친구톡이 " + resText + " 되었습니다.");
|
||||||
|
|
||||||
|
}else if("UNAUTHORIZED" == status){
|
||||||
|
alert(data.message);
|
||||||
|
location.reload();
|
||||||
|
}else{
|
||||||
|
alert(data.message);
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
if(status == 'success'){
|
if(status == 'success'){
|
||||||
@ -1012,11 +1029,13 @@ function fn_sendMsgData(){
|
|||||||
}
|
}
|
||||||
,beforeSend : function(xmlHttpRequest) {
|
,beforeSend : function(xmlHttpRequest) {
|
||||||
//로딩창 show
|
//로딩창 show
|
||||||
$('.loading_layer').addClass('active');
|
// $('.loading_layer').addClass('active');
|
||||||
|
progressStart(estimtedTime);
|
||||||
}
|
}
|
||||||
,complete : function(xhr, textStatus) {
|
,complete : function(xhr, textStatus) {
|
||||||
//로딩창 hide
|
//로딩창 hide
|
||||||
$('.loading_layer').removeClass('active');
|
// $('.loading_layer').removeClass('active');
|
||||||
|
progressComplete();
|
||||||
}
|
}
|
||||||
,error: function (e) {
|
,error: function (e) {
|
||||||
console.log("ERROR : ", e);
|
console.log("ERROR : ", e);
|
||||||
@ -1026,6 +1045,74 @@ function fn_sendMsgData(){
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//프로그레스바
|
||||||
|
var start, change;
|
||||||
|
var progressInterval = null; // 전역 변수로 타이머 ID 관리
|
||||||
|
function progressStart(time) {
|
||||||
|
// 기존 타이머 정지 및 초기화
|
||||||
|
if (progressInterval !== null) {
|
||||||
|
clearInterval(progressInterval); // 이전 타이머 정지
|
||||||
|
progressInterval = null; // 타이머 ID 초기화
|
||||||
|
}
|
||||||
|
resetProgressBar(); // 프로그레스바 초기화
|
||||||
|
|
||||||
|
// 프로그레스바 보이기
|
||||||
|
$(".progress_bar_wrap").css("display", "flex");
|
||||||
|
|
||||||
|
// 프로그레스바 요소 가져오기
|
||||||
|
var timeText = document.querySelector(".time_text");
|
||||||
|
var bar = document.querySelector(".change_bar");
|
||||||
|
|
||||||
|
// 초기 상태 설정
|
||||||
|
var width = 1;
|
||||||
|
var totalTime = time * 1000; // 총 실행 시간 (밀리초)
|
||||||
|
var cmpWid = totalTime / 100; // width 증가 간격 (밀리초)
|
||||||
|
|
||||||
|
// 새 타이머 시작
|
||||||
|
progressInterval = setInterval(changeWidth, cmpWid);
|
||||||
|
|
||||||
|
function changeWidth() {
|
||||||
|
if (width >= 100) {
|
||||||
|
// 프로그레스바 100% 도달
|
||||||
|
clearInterval(progressInterval); // 타이머 종료
|
||||||
|
progressInterval = null; // 타이머 ID 초기화
|
||||||
|
|
||||||
|
timeText.innerHTML = "100%";
|
||||||
|
|
||||||
|
setTimeout(function () {
|
||||||
|
// 100% 표시 후 "잠시만 기다려주세요" 변경
|
||||||
|
timeText.innerHTML = "잠시만 기다려주세요...";
|
||||||
|
$(".time_text").addClass("animation");
|
||||||
|
}, 1000);
|
||||||
|
} else {
|
||||||
|
// 프로그레스바 진행
|
||||||
|
width++;
|
||||||
|
bar.style.width = width + "%";
|
||||||
|
timeText.innerHTML = width + "%";
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
//선택된 데이터의 길이에 따라 예상 시간 계산 함수
|
||||||
|
function calculateEstimatedTime(selectedCount) {
|
||||||
|
//기준값
|
||||||
|
// const processTimePerBatch = 130; // 130초
|
||||||
|
|
||||||
|
|
||||||
|
// 30만건 기준 10분으로 기준을 잡아서
|
||||||
|
// 시간계산함
|
||||||
|
const processTimePerBatch = 600;
|
||||||
|
const batchSize = 300000;
|
||||||
|
|
||||||
|
// 1건당 처리 시간
|
||||||
|
const timePerRecord = processTimePerBatch / batchSize;
|
||||||
|
|
||||||
|
// 예상 시간 계산
|
||||||
|
const estimatedTimeInSeconds = selectedCount * timePerRecord;
|
||||||
|
|
||||||
|
return estimatedTimeInSeconds.toFixed(2);
|
||||||
|
}
|
||||||
|
|
||||||
//빈 값이나 null 값을 제거하는 함수
|
//빈 값이나 null 값을 제거하는 함수
|
||||||
function removeEmptyValues(obj) {
|
function removeEmptyValues(obj) {
|
||||||
Object.keys(obj).forEach(function(key) {
|
Object.keys(obj).forEach(function(key) {
|
||||||
@ -1247,13 +1334,7 @@ function goToKakaoTestPopUp(){
|
|||||||
|
|
||||||
function msgResultLink(){
|
function msgResultLink(){
|
||||||
var reserYn = $("input[name=reserYn]:checked").val(); // 예약 발송 여부 확인
|
var reserYn = $("input[name=reserYn]:checked").val(); // 예약 발송 여부 확인
|
||||||
if(reserYn == 'Y'){
|
|
||||||
|
|
||||||
location.href="/web/mjon/reservmsg/selectReservKaKaoView.do";
|
|
||||||
|
|
||||||
}else{
|
|
||||||
location.href="/web/kakao/sent/selectKakaoSentView.do";
|
location.href="/web/kakao/sent/selectKakaoSentView.do";
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
function updateButtons(){
|
function updateButtons(){
|
||||||
@ -1270,6 +1351,19 @@ function updateButtons(){
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
|
||||||
|
<div class="progress_bar_wrap">
|
||||||
|
<div class="progress_box">
|
||||||
|
<p class="time_text">0%</p>
|
||||||
|
<div class="bar">
|
||||||
|
<span class="change_bar"></span>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="btn_wrap">
|
||||||
|
</div>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
|
||||||
<div class="inner">
|
<div class="inner">
|
||||||
<div class="send_top">
|
<div class="send_top">
|
||||||
<!-- tab button -->
|
<!-- tab button -->
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user