Commit c4f6cd4c authored by platyhouse's avatar platyhouse

[goodsshare] 2021-04-23 - encrypted

parent 6b6dabfa
<?php
/** @var string $userId */
?>
<!DOCTYPE html>
<html lang="ko">
<head>
<meta charset="UTF-8">
<link rel="shortcut icon" href="data:image/x-icon" type="image/x-icon">
<meta name="viewport" content="width=device-width,initial-scale=1.0,minimum-scale=1.0,maximum-scale=1.0,user-scalable=no">
<link rel="stylesheet" href="/modules/ptyshop/resources/app.css?<?=time();?>">
<link rel="stylesheet" href="/modules/ptyshop/resources/app2.css">
<!-- <link rel="stylesheet" href="/static/css/v15/app.css?2021021621">-->
<!-- <link rel="stylesheet" href="/static/css/v15/sale09_app.css?2021021621>">-->
<link rel="icon" href="data:;base64,iVBORw0KGgo=">
<script src="/modules/ptyshop/resources/jquery-3.1.1.min.js"></script>
<script src="/modules/ptyshop/resources/clipboard.min.js"></script>
<script src="/modules/ptyshop/resources/common.js?2020092313"></script><!-- // 공통 -->
<script src="/modules/ptyshop/resources/commonLib.js?2020092313"></script><!-- // 앱간 인터페이스 -->
<title></title>
</head> <script type="text/javascript">
function _typeof(obj) {
if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") {
_typeof = function _typeof(obj) {
return typeof obj;
};
} else {
_typeof = function _typeof(obj) {
return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj;
};
}
return _typeof(obj);
}
var scroll;
var PAGE = 1;
var START;
var END;
var LIMIT = 10;
var UID = '<?=$userId?>';
var CDN = ''; // //gcdn.sale09.kr/data/image/';
var DEEP = 'intent://jasonpay_salepoison';
var AGENT = 'android';
var HIDE = [];
var CANCEL = [];
function $number(num) {
return num.toFixed(0).replace(/(\d)(?=(\d{3})+$)/g, "$1,");
}
(function ($) {
$.fn.order = function (orders, type) {
var _this = this;
//주문상세
var info = function info(e, order) {
// scroll = $(window).scrollTop();
var prepaidcnt = 0;
var itemcnt = 0;
var show = false;
for (var i in order.item) {
itemcnt++;
if (CANCEL.indexOf(order.order.ordnum + "-" + i) > -1) {
order.item[i].info.step = '주문취소';
}
if (order.item[i].info.prepaid === 'N') {
prepaidcnt++;
}
if (order.item[i].info.step === '미입금') {
show = true;
}
if (order.item[i].info.step === '주문취소' && order.order.ptype === "VB") {
order.order.vactexpire = 'Y';
}
}
var clipboard = new ClipboardJS('.copybtn');
$('#layer_order_info').prepend(
$('<div />', {"class": "order_inner"}).prepend(
$('<div />', {"class": "layer_header"}).prepend(
$('<p />', {"class": "layer_title"}).html("주문 상세 정보"),
$('<button />', {"class": "layer_close"}).html("닫기").click(function () {
$('body, .my_order_inner').removeClass('layer_open');
$('.order_inner').remove();
$('html, body').scrollTop(scroll);
$('#layer_order_info').hide();
})
),
$('<div />', {"class": "order_info"}).prepend(
$('<div />', {"class": "order_date_info"}).prepend(
$('<strong />', {"class": "date"}).html(order.order.orddate),
$('<span />', {"class": "order_number"}).prepend(
"주문번호 ",
$('<em />', {"class": "number"}).html(order.order.ordnum)
)
), $('<div />', {"class": "order_info_inner"}).prepend(
$('<h1 />', {"class": "title"}).html("무통장 입금정보"),
$('<dl />', {"class": "individual"}).prepend(
$('<dt />').html("입금은행"),
$('<dd />').html(order.order.vactcode)
),
$('<dl />', {"class": "individual"}).prepend(
$('<dt />').html("입금계좌"),
$('<dd />').html(order.order.vactnum)
),
$('<dl />', {"class": "individual"}).prepend(
$('<dt />').html("예금주"),
$('<dd />').html(order.order.vactname)
), $('<dl />', {"class": "individual"}).prepend(
$('<dt />').html("입금기한"),
$('<dd />').html(order.order.vactexpire === "Y" ? "<span class='expire_text'>만료</span>" : order.order.vactdate)
), $('<dl />', {"class": "individual"}).prepend(
$('<dt />').html("총 입금금액"),
$('<dd />', {"class": "total_price"}).prepend(
$('<strong />').html($number(parseInt(order.order.vactprice))),
$('<span />').html("")
)
),
$('<div />', {"class": "button_account"}).prepend($('<button />', {
"class": "button copybtn",
"data-clipboard-text": order.order.vactnum
}).html("계좌번호 복사").click(function () {
clipboard.on('success', function (e) {
$('.layer_notification').prepend(
$('<div />', {"class": "notification_inner"}).prepend(
$('<div />', {"class": "layer_header"}).prepend(
$('<p />', {"class": "layer_title"}).html("알림")),
$('<div />', {"class": "layer_content"}).html("복사가 완료되었습니다."),
$('<div />', {"class": "layer_button_area"}).prepend(
$('<a />', {"class": "button confirm"}).html("확인").click(function (e) {
$('.notification_inner').remove();
$('.layer_notification').hide();
})
)
).css({'display': 'block'})
).css({'display': 'block'});
});
})).css({
"display": ClipboardJS.isSupported() && order.order.ptype === "VB" && order.order.vactexpire === "N" && show === true ? "block" : "none"
})
).addClass(order.order.vactexpire === "Y" ? "expire" : "").css({
"display": order.order.ptype === "VB" ? 'block' : 'none'
}), $('<div />', {"class": "order_info_inner"}).prepend(
$('<h1 />', {"class": "title"}).html("결제 정보"),
$('<dl />', {"class": "individual"}).prepend(
$('<dt />').html("상품금액"),
$('<dd />', {"class": "price"}).prepend(
$('<strong />').html($number(order.order.gprice)),
$('<span />').html("")
)
), $('<dl />', {"class": "individual"}).prepend(
$('<dt />').html("배송비"),
$('<dd />', {"class": "price"}).prepend(
$('<strong />').html(prepaidcnt === itemcnt ? "착불" : $number(order.order.dprice)),
$('<span />').html(prepaidcnt === itemcnt ? "" : "")
)
),
$('<dl />', {"class": "individual"}).append(
$('<dt />'),
$('<dd />', {"class": "price"}).prepend(
$('<strong />').html("(착불포함)"),
$('<span />')
)
).css({'display': prepaidcnt > 0 && itemcnt > 1 ? 'block' : 'none'}),
$('<dl />', {"class": "individual"}).prepend(
$('<dt />').html("총 결제금액"),
$('<dd />', {"class": "total_price"}).prepend(
$('<strong />').html($number(order.order.tprice)),
$('<span />').html("")
)
)
)
), $('<div />', {"class": "list complete"}).prepend(
$('<h1 />', {"class": "title"}).html("상품 정보")
).order([order], 'detail'),
$('<div />', {"class": "delivery_info"}).append(
$('<h1 />', {"class": "title"}).html("배송 정보"),
$('<dl />', {"class": "individual"}).prepend(
$('<dt />').html("수령자"),
$('<dd />').html(order.order.name)
), $('<dl />', {"class": "individual"}).prepend(
$('<dt />').html("배송지"),
$('<dd />').html(order.order.daddr1 + " " + order.order.daddr2)
), $('<dl />', {"class": "individual"}).prepend(
$('<dt />').html("연락처"),
$('<dd />', {"class": "telephone"}).html(order.order.tel)
), $('<dl />', {"class": "individual"}).prepend(
$('<dt />').html("배송메모"),
$('<dd />').html(order.order.dmemo)
)
)
)
).css({
'display': 'block'
});
// $('body, .my_order_inner').addClass('layer_open');
$('.my_order_inner').addClass('layer_open');
return this;
};
//배송조회
var delivery = function delivery(e, order, item) {
if (typeof item.info.invoice === "undefined" || typeof item.info.f_name === "undefined") {
return false;
}
var tbody = $('<tbody />');
$.ajax({
type: 'post',
headers: {
"Content-Type": "application/json"
},
dataType: 'json',
async: false,
url: '/tracking/get/' + item.info.f_name + "/" + item.info.invoice,
success: function success(request) {
if (_typeof(request) === 'object') {
if (request.result === "Y") {
for (var i in request.trackingDetails) {
var detail = request.trackingDetails[i];
var time = detail.timeString.split(" ");
tbody.prepend(
$('<tr />').prepend(
$('<td />').html(time[0].replace(/-/gi, ".") + "<br />" + time[1]),
$('<td />').html(detail.where),
$('<td />').html(detail.kind).addClass(detail.level === 6 ? "point_color" : null)
)
);
}
} else {
tbody.append(
$('<tr />').prepend(
$('<td />', {"colspan": "3"}).html("유효하지 않은 운송장번호 이거나 택배사 코드 입니다.")
)
);
}
}
},
beforeSend: function beforeSend() {
//보내기전 로딩 화면
//$('.wrap-loading').show();
},
complete: function complete() {
//받은후 로딩 닫기
//$('.wrap-loading').hide();
},
error: function error(request, status, _error) {
console.log('code: ' + request.status + "\n" + 'message: ' + request.responseText + "\n" + 'error: ' + _error);
}
});
var clipboard_deliver = new ClipboardJS('.copy_deliver_btn');
$('#layer_deliver_info').prepend(
$('<div />', {"class": "deliver_inner"}).prepend(
$('<div />', {"class": "layer_header"}).prepend(
$('<p />', {"class": "layer_title"}).html("배송상세조회"),
$('<button />', {"class": "layer_close"}).html("닫기").click(function () {
if ($('body, .my_order_inner').hasClass('layer_open2')) {
$('body, .my_order_inner').removeClass('layer_open2');
} else {
$('body, .my_order_inner').removeClass('layer_open');
}
$('.deliver_inner').remove();
$('html, body').scrollTop(scroll);
$('#layer_deliver_info').hide();
})
), $('<div />', {"class": "delivery_info"}).prepend(
$('<h1 />', {"class": "title"}).html("배송 정보"),
$('<dl />', {"class": "individual delivery_num"}).prepend(
$('<dt />').html("운송장번호"),
$('<dd />').html(item.info.invoice),
$('<button />', {"class": "copy_deliver_btn", "data-clipboard-text":item.info.invoice}).html("복사하기").click(function () {
clipboard_deliver.on('success', function (e) {
$('.layer_notification').prepend(
$('<div />', {"class": "notification_inner"}).prepend(
$('<div />', {"class": "layer_header"}).prepend(
$('<p />', {"class": "layer_title"}).html("알림")),
$('<div />', {"class": "layer_content"}).html("운송장 번호가 복사되었습니다."),
$('<div />', {"class": "layer_button_area"}).prepend(
$('<a />', {"class": "button confirm"}).html("확인").click(function (e) {
$('.notification_inner').remove();
$('.layer_notification').hide();
})
)
).css({'display': 'block'})
).css({'display': 'block'});
});
})
), $('<dl />', {"class": "individual"}).prepend(
$('<dt />').html("택배사"),
$('<dd />').html(item.info.f_name)
), $('<dl />', {"class": "individual"}).prepend(
$('<dt />').html("보낸사람"),
$('<dd />').html(item.info.wmsetc)
), $('<dl />', {"class": "individual"}).prepend(
$('<dt />').html("받는사람"),
$('<dd />').html(order.name + "(" + order.tel + ")")
), $('<dl />', {"class": "individual"}).prepend(
$('<dt />').html("수령주소"),
$('<dd />').html(order.daddr1 + " " + order.daddr2)
)
), $('<div />', {"class": "delivery_info"}).prepend(
$('<h1 />', {"class": "title"}).html("배송 상태"),
$('<table />', {"class": "delivery_list"}).prepend(
$('<caption />').html("전체보기 리스트"),
$('<colgroup />').prepend(
$('<col />', {"style": "width:33%;", "span": "3"})
),
$('<thead />').prepend(
$('<tr />').prepend(
$('<th />', {"scope": "col"}).html("처리일시"),
$('<th />', {"scope": "col"}).html("현재위치"),
$('<th />', {"scope": "col"}).html("배송상태")
)
),
tbody
)
)
)
).css({
'display': 'block'
});
if (!$('body, .my_order_inner').hasClass('layer_open')) {
scroll = $(window).scrollTop();
} else {
$('body, .my_order_inner').addClass('layer_open2');
}
$('body, .my_order_inner').addClass('layer_open').scrollTop(scroll);
return this;
};
//주문내역 숨기기
var hide = function hide(e, ordnum, idx) {
scroll = $(window).scrollTop();
var target = e.target;
var item_order = $(target).closest('.item_order');
$('.layer_notification').prepend(
$('<div />', {"class": "notification_inner"}).prepend(
$('<div />', {"class": "layer_header"}).prepend(
$('<p />', {"class": "layer_title"}).html("알림")
), $('<div />', {"class": "layer_content"}).prepend(
"주문/배송 내역 숨김 시<br>복구가 불가능합니다.<br>숨기시겠습니까?"
), $('<div />', {"class": "layer_button_area"}).prepend(
$('<a />', {"class": "button cancel"}).html("취소").click(function (e) {
$('body, .my_order_inner').removeClass('layer_open');
$('.notification_inner').remove();
$('html, body').scrollTop(scroll);
$('.layer_notification').hide();
}), $('<a />', {"class": "button confirm"}).html("확인").click(function (e) {
var params = {
"uid": UID,
"ordnum": ordnum,
"idx": idx
};
$.ajax({
type: 'post',
headers: {
"Content-Type": "application/json"
},
dataType: 'json',
url: '/order/hide',
async: false,
data: JSON.stringify(params),
success: function success(request) {
if (request === 'ok') {
$(target).closest('.order_product').remove();
if (item_order.find('.order_product').length === 0) {
item_order.remove();
if ($('.list:first').children('.item_order').length === 0) {
$('.list').append(
$('<div />', {"class": "goods_none"}).prepend(
$('<p />', {"class": "message"}).html("주문/배송 내역이 없습니다."),
$('<div />', {"class": "button"}).prepend(
$('<a />', {"class": "button_home"}).html("홈으로").click(function () {
window.location.href = DEEP + "?view=home#Intent;scheme=view;end";
})
)
)
);
$('.button_more').hide();
}
}
HIDE.push(ordnum + "-" + idx);
}
},
beforeSend: function beforeSend() {
//보내기전 로딩 화면
//$('.wrap-loading').show();
},
complete: function complete() {
//받은후 로딩 닫기
//$('.wrap-loading').hide();
},
error: function error(request, status, _error) {
console.log('code: ' + request.status + "\n" + 'message: ' + request.responseText + "\n" + 'error: ' + _error);
}
});
$('body, .my_order_inner').removeClass('layer_open');
$('.notification_inner').remove();
$('html, body').scrollTop(scroll);
$('.layer_notification').hide();
})
)
).css({
'display': 'block'
})
).css({
'display': 'block'
});
$('body, .my_order_inner').addClass('layer_open').scrollTop(scroll);
return this;
};
//취소 완료시
var cancelok = function cancelok(status) {
var messgae = "주문취소가 완료되었습니다.<br>결제수단에 따라 1~7일 후<br>취소금액 확인이 가능합니다.";
if (status === 'fail') {
messgae = "주문 취소가 불가능합니다.<br>고객센터 문의를 통해<br>교환 및 반품을 신청 하시면<br>조속히 처리해 드리겠습니다.";
}
scroll = $(window).scrollTop();
$('.layer_notification').prepend(
$('<div />', {"class": "notification_inner"}).prepend(
$('<div />', {"class": "layer_header"}).prepend(
$('<p />', {"class": "layer_title"}).html("알림")
),
$('<div />', {"class": "layer_content"}).prepend(messgae),
$('<div />', {"class": "layer_button_area"}).prepend(
$('<a />', {"class": "button confirm"}).html("확인").click(function (e) {
$('body, .my_order_inner').removeClass('layer_open');
$('.notification_inner').remove();
$('html, body').scrollTop(scroll);
$('.layer_notification').hide();
})
)
).css({
'display': 'block'
})
).css({
'display': 'block'
});
$('body, .my_order_inner').addClass('layer_open').scrollTop(scroll);
return this;
};
//주문내역 목록
var _loop = function _loop(i) {
if (i > LIMIT - 1) {
return "continue";
}
var ptype = orders[i].order.ptype;
var orddate = orders[i].order.orddate;
var ordnum = orders[i].order.ordnum;
var order = $('<div />', {"class": "item_order"});
//리스트 형태일시에
if (type === "list") {
order.append(
$('<div />', {"class": "order_info"}).prepend(
$('<strong />', {"class": "date"}).html(orddate),
$('<span />', {"class": "order_number"}).prepend(
"주문번호 ",
$('<em />', {"class": "number"}).html(ordnum)
), $('<a />', {
"class": "button_order",
"data-ordnum": ordnum
}).html("주문 상세").on('click', function (e) {
console.log(orders[i]);
// location.href = '/ptyshop/order/statusDetail/?userId=<?=urlencode($userId)?>&orderId=' + encodeURIComponent(ordnum);
info(e, orders[i]);
})
)
);
}
//상품내역 목록
var _loop2 = function _loop2(idx) {
if (HIDE.indexOf(ordnum + "-" + idx) > -1) {
return "continue";
}
var item = orders[i].item[idx];
var product = $('<div />', {"class": "order_product", "data-idx": idx});
var step = item.info.step;
var image = item.info.image2;
var title = item.info.title;
var prepaid = item.info.prepaid;
var ul = $('<ul />', {"class": "option"});
var gprice = 0;
var dprice = 0;
for (var o in item.option) {
var option = item.option[o];
var choices = $('<div />', {"class": "different"});
//상품금액, 배송비 합산
gprice += option.uprice * option.cnt;
dprice += option.dprice;
if (item.choice.length > 0) {
for (var _i in item.choice) {
var choice = item.choice[_i];
choices.append(
$('<p />', {"class": "individual"}).prepend(
$('<span />', {"class": "text"}).html(choice[0]),
$('<em />', {"class": "text"}).html(choice[1] + "개")
)
);
}
} else {
choices = "";
}
if (title === option.name) {
ul.append(
$('<li />').prepend(
$('<div />', {"class": "price_amount"}).prepend(
$('<div />', {"class": "price"}).prepend(
$('<strong />').html($number(option.uprice)),
$('<span />').html("원")
), $('<div />', {"class": "amount"}).prepend(
$('<strong />').html(option.cnt),
$('<span />').html("개")
)
)
)
);
} else {
ul.append(
$('<li />').prepend(
$('<p />', {"class": "name"}).html(option.name),
choices,
$('<div />', {"class": "price_amount"}).prepend(
$('<div />', {"class": "price"}).prepend(
$('<strong />').html($number(option.uprice)),
$('<span />').html("원")
), $('<div />', {"class": "amount"}).prepend(
$('<strong />').html(option.cnt),
$('<span />').html("개")
)
)
)
);
}
}
if (item.addbuy.length > 0) {
for (var _o in item.addbuy) {
var addbuy = item.addbuy[_o];
//추가상품금액 더해주기
gprice += addbuy.price * addbuy.cnt;
ul.append(
$('<li />').prepend(
$('<p />', {"class": "name"}).html(addbuy.name),
$('<div />', {"class": "price_amount"}).prepend(
$('<div />', {"class": "price"}).prepend(
$('<strong />').html($number(addbuy.price)),
$('<span />').html("원")
), $('<div />', {"class": "amount"}).prepend(
$('<strong />').html(addbuy.cnt),
$('<span />').html("개")
)
)
)
);
}
}
product.append(
$('<div />', {"class": "state"}).prepend(
$('<span />', {"class": "text"}).html(step),
$('<span />', {"class": "button_hide"}).prepend(
$('<button />', {
"type": "button"
}).html("숨기기").on('click', function (e) {
hide(e, ordnum, idx);
}).css(
type === 'list' && (step === "배송완료" || step === "주문취소") ? {} : {'display': 'none'})
)
), $('<div />', {"class": "product"}).append(
$('<div />', {"class": "thumb"}).prepend(
$('<img />', {"src": CDN + image}).on('error', function () {
$(this).prop('src', '/modules/ptyshop/resources/noimg_pdms.svg');
})
), $('<div />', {"class": "product_info"}).append(
$('<a />', {
"href": AGENT === 'web' ? '/goods/get/?idx=' + idx + '&uid=' + UID : DEEP + "?idx=" + idx + "#Intent;scheme=view;end",
"class": "title"
}).html(title),
ul,
$('<div />', {"class": "calc"}).prepend(
$('<div />', {"class": "price_goods"}).prepend(
$('<span />', {"class": "price_text"}).html("상품금액"),
$('<div />', {"class": "price"}).prepend(
$('<strong />').html($number(gprice)),
$('<span />').html("")
)
), $('<div />', {"class": "price_delivery"}).prepend(
$('<span />', {"class": "price_text"}).html("배송비"),
$('<div />', {"class": "price"}).prepend(
$('<strong />').html(prepaid === "N" ? "착불" : $number(dprice)),
$('<span />').html(prepaid === "N" ? "" : "")
)
)
).css({
"display": type === "detail" ? "block" : "none"
})
)
)
);
//리스트일시에만 취소버튼
if (type === 'list' && (step === "신규주문" && (ptype === "P" || ptype === "CI" || ptype === "C") || step === "미입금" && ptype === "VB")) {
product.append(
$('<div />', {"class": "button_area divide1"}).prepend(
$('<a />', {"class": "button"}).html("주문취소").on('click', function (e) {
scroll = $(window).scrollTop();
var target = e.target;
var item_order = $(target).closest('.item_order');
var txt = $('<div />', {"class": "layer_content"});
if (ptype === "VB") {
txt.append("무통장입금은<br>주문한 상품 모두 취소됩니다.<br>주문을 취소 하시겠습니까?");
} else {
txt.append("선택하신 상품의<br>구매를 취소하시겠습니까?");
}
$('.layer_notification').prepend(
$('<div />', {"class": "notification_inner"}).prepend(
$('<div />', {"class": "layer_header"}).prepend(
$('<p />', {"class": "layer_title"}).html("알림")
),
txt,
$('<div />', {"class": "layer_button_area"}).prepend(
$('<a />', {"class": "button cancel"}).html("취소").click(function (e) {
$('body, .my_order_inner').removeClass('layer_open');
$('.notification_inner').remove();
$('html, body').scrollTop(scroll);
$('.layer_notification').hide();
}), $('<a />', {"class": "button confirm"}).html("확인").click(function (e) {
var params = {
"uid": UID,
"ordnum": ordnum,
"idx": idx
};
$.ajax({
type: 'post',
headers: {
"Content-Type": "application/json"
},
dataType: 'json',
url: '/inicis/cancel',
async: false,
data: JSON.stringify(params),
success: function success(request) {
$('body, .my_order_inner').removeClass('layer_open');
$('.notification_inner').remove();
$('html, body').scrollTop(scroll);
$('.layer_notification').hide();
if (request === 'ok') {
//취소완료시
if (ptype === "VB") {
item_order.find('.order_product').each(function () {
$(this).children('.state').children('.text').text('주문취소');
$(this).children('.state').children('.button_hide').children('button').show();
$(this).children('.button_area').hide();
CANCEL.push(ordnum + "-" + $(this).data('idx'));
});
} else {
$(target).closest('.order_product').children('.state').children('.text').text('주문취소');
$(target).closest('.order_product').children('.state').children('.button_hide').children('button').show();
$(target).closest('.button_area').hide();
CANCEL.push(ordnum + "-" + idx);
}
cancelok('ok');
}
},
beforeSend: function beforeSend() {
//보내기전 로딩 화면
//$('.wrap-loading').show();
},
complete: function complete() {
//받은후 로딩 닫기
//$('.wrap-loading').hide();
},
error: function error(request, status, _error) {
$('body, .my_order_inner').removeClass('layer_open');
$('.notification_inner').remove();
$('html, body').scrollTop(scroll);
$('.layer_notification').hide();
cancelok('fail');
console.log('code: ' + request.status + "\n" + 'message: ' + request.responseText + "\n" + 'error: ' + _error);
}
});
})
)
).css({
'display': 'block'
})
).css({
'display': 'block'
});
$('body, .my_order_inner').addClass('layer_open').scrollTop(scroll);
})
)
);
} else if (step === "배송중") {
product.append(
$('<div />', {"class": "button_area divide1"}).prepend(
$('<a />', {"class": "button"}).html("배송조회").on('click', function (e) {
delivery(e, orders[i].order, orders[i].item[idx]);
})
)
);
} else if (step === "배송완료") {
product.append(
$('<div />', {"class": "button_area divide2"}).prepend(
$('<a />', {"class": "button"}).html("교환/반품/환불").on('click', function (e) {
$('.layer_notification').prepend(
$('<div />', {"class": "notification_inner customer"}).prepend(
$('<div />', {"class": "layer_header"}).prepend(
$('<p />', {"class": "layer_title"}).html("알림"),
$('<button />', {"class": "layer_close"}).html("닫기").click(function () {
if ($('body, .my_order_inner').hasClass('layer_open2')) {
$('body, .my_order_inner').removeClass('layer_open2');
} else {
$('body, .my_order_inner').removeClass('layer_open');
}
$('.notification_inner').remove();
$('html, body').scrollTop(scroll);
$('.layer_notification').hide();
})
), $('<div />', {"class": "layer_content customer"}).prepend(
"현재 교환 및 반품은 고객센터<br> 문의를 통해서만 가능합니다.<br><br> 고객센터 문의는 평일<br> 09:30~18:00에만 가능합니다."),
$('<div />', {"class": "layer_button_area customer"}).prepend(
$('<a />', {
"href": "tel:1544-3530",
"class": "button"
}).html("고객센터 전화하기").click(function (e) {
$('body, .my_order_inner').removeClass('layer_open');
$('.notification_inner').remove();
$('html, body').scrollTop(scroll);
$('.layer_notification').hide();
window.location.href = "tel:1544-3530";
}), $('<a />', {
"class": "button"
}).html("카카오톡 문의하기").click(function (e) {
$('body, .my_order_inner').removeClass('layer_open');
$('.notification_inner').remove();
$('html, body').scrollTop(scroll);
$('.layer_notification').hide();
window.location.href = DEEP + "?view=kakaotalk#Intent;scheme=view;end";
})
)
).css({
'display': 'block'
})
).css({
'display': 'block'
});
if (!$('body, .my_order_inner').hasClass('layer_open')) {
scroll = $(window).scrollTop();
} else {
$('body, .my_order_inner').addClass('layer_open2');
}
$('body, .my_order_inner').addClass('layer_open').scrollTop(scroll);
}), $('<a />', {
"class": "button"
}).html("배송조회").on('click', function (e) {
delivery(e, orders[i].order, orders[i].item[idx]);
})
)
);
}
order.append(product);
};
for (var idx in orders[i].item) {
var _ret2 = _loop2(idx);
if (_ret2 === "continue") continue;
}
_this.append(order);
};
for (var i in orders) {
var _ret = _loop(i);
if (_ret === "continue") continue;
}
return this;
};
})(jQuery);
$(document).ready(function () {
//기본 한달
dateCalc(30);
orderlist();
//조회기간
$('.my_order .button_list button').on('click', function () {
$('.my_order .button_list').find('li').removeClass('active');
$(this).parent().addClass('active');
dateCalc($(this).data('day'));
init();
orderlist();
});
//주문상태조회
$('.select ').on('change', function () {
init();
orderlist();
});
});
//더보기 클릭시
function more() {
PAGE++;
orderlist();
}
//주문내역 렌더딩
function orderlist() {
var params = {
"uid": UID,
"page": PAGE,
"limit": LIMIT,
"start": START,
"end": END
};
$.ajax({
type: 'post',
headers: {
"Content-Type": "application/json"
},
dataType: 'json',
url: '/ptyshop/order/getStatusData/',
async: false,
data: JSON.stringify(params),
success: function success(request) {
if (_typeof(request) === 'object') {
$('.list').order(request.order, 'list');
if (request.order.length < LIMIT + 1) {
$('.button_more').hide();
}
} else {
if ($('.item_order').length === 0) {
$('.list').append(
$('<div />', {
"class": "goods_none"
}).prepend(
$('<p />', {
"class": "message"
}).html("주문/배송 내역이 없습니다."),
$('<div />', {
"class": "button"
}).prepend(
$('<a />', {
"class": "button_home"
}).html("홈으로").click(function () {
window.location.href = DEEP + "?view=home#Intent;scheme=view;end";
})
)
)
);
}
$('.button_more').hide();
}
},
beforeSend: function beforeSend() {
//보내기전 로딩 화면
//$('.wrap-loading').show();
},
complete: function complete() {
//받은후 로딩 닫기
//$('.wrap-loading').hide();
},
error: function error(request, status, _error) {
console.log('code: ' + request.status + "\n" + 'message: ' + request.responseText + "\n" + 'error: ' + _error);
}
});
}
//초기화
function init() {
PAGE = 1;
$('.list').html("");
$('.button_more').show();
}
//조회기간 계산
function dateCalc(n) {
var m = 0;
var date = new Date();
var start = new Date(Date.parse(date) - n * 1000 * 60 * 60 * 24);
var today = new Date(Date.parse(date) - m * 1000 * 60 * 60 * 24);
var yyyy = start.getFullYear();
var mm = start.getMonth() + 1;
var dd = start.getDate();
if (mm < 10) {
mm = "0" + mm;
}
if (dd < 10) {
dd = "0" + dd;
}
var t_yyyy = today.getFullYear();
var t_mm = today.getMonth() + 1;
var t_dd = today.getDate();
if (t_mm < 10) {
t_mm = "0" + t_mm;
}
if (t_dd < 10) {
t_dd = "0" + t_dd;
}
if (n > 0 && n < 7) {
$("#date1").html(yyyy + "." + mm + "." + dd);
$("#date2").html(yyyy + "." + mm + "." + dd);
START = yyyy.toString() + mm.toString() + dd.toString();
END = yyyy.toString() + mm.toString() + dd.toString();
} else {
$("#date1").html(yyyy + "." + mm + "." + dd);
$("#date2").html(t_yyyy + "." + t_mm + "." + t_dd);
START = yyyy.toString() + mm.toString() + dd.toString();
END = t_yyyy.toString() + t_mm.toString() + t_dd.toString();
}
}
</script>
<body class="my_order">
<div class="my_order_inner">
<div class="date_search">
<ul class="button_list">
<li>
<button type="button" data-day="0">오늘</button>
</li>
<li>
<button type="button" data-day="7">1주일</button>
</li>
<li class="active">
<button type="button" data-day="31">1개월</button>
</li>
<li>
<button type="button" data-day="91">3개월</button>
</li>
<li>
<button type="button" data-day="180">6개월</button>
</li>
<li>
<button type="button" data-day="365">12개월</button>
</li>
</ul>
<dl class="period">
<dt>기간</dt>
<dd><span id="date1"></span> ~ <span id="date2"></span></dd>
</dl>
<!--<div class="selectbox">
<select class="select">
<option value="">전체</option>
<option value="R">미입금</option>
<option value="S">입금확인</option>
<option value="C">주문취소</option>
<option value="1R">신규주문</option>
<option value="1C">배송준비</option>
<option value="1D">배송중</option>
<option value="1S">배송완료</option>
<option value="4R">취소/환불 접수</option>
<option value="4S">취소/환불 완료</option>
</select>
</div>-->
<p class="comment">주문/배송내역 확인 불가시 <a href="tel:1544-3530" class="underline">고객센터</a>를 이용해주세요.</p>
</div>
<div class="list"></div>
<div class="button_more">
<button type="button" class="button" onclick="more()">더보기</button>
</div>
</div>
<!-- 주문상세 -->
<div class="layer_order_info" id="layer_order_info"></div>
<!-- 배송조회 -->
<div class="layer_order_info" id="layer_deliver_info"></div>
<!-- 알림 팝업 -->
<div class="layer_notification"></div>
<!-- 로딩
<div class="wrap-loading"></div>
-->
<script>
// 택배사 팝업 화면 0922
// var env = 'production';
// if(env==='development') {
// var $target = $("#layer_deliver_info");
// var sample = `<div class="deliver_inner"><div class="layer_header"><p class="layer_title">배송상세조회</p><button class="layer_close">닫기</button></div><div class="delivery_info"><h1 class="title">배송 정보</h1><dl class="individual"><dt>운송장번호</dt><dd>J10316007519351955220010909</dd><button class="copy_deliver_btn" data-clipboard-text="J10316007519351955220010909">복사하기</button></dl><dl class="individual"><dt>택배사</dt><dd>우체국택배</dd></dl><dl class="individual"><dt>보낸사람</dt><dd>다예벤더</dd></dl><dl class="individual"><dt>받는사람</dt><dd>배지나(010-2040-2582)</dd></dl><dl class="individual"><dt>수령주소</dt><dd>서울 구로구 가마산로 77 (구로동) 123</dd></dl></div><div class="delivery_info"><h1 class="title">배송 상태</h1><table class="delivery_list"><caption>전체보기 리스트</caption><colgroup><col style="width:33%;" span="3"></colgroup><thead><tr><th scope="col">처리일시</th><th scope="col">현재위치</th><th scope="col">배송상태</th></tr></thead><tbody><tr><td colspan="3">유효하지 않은 운송장번호 이거나 택배사 코드 입니다.</td></tr></tbody></table></div></div>`;
// $target.html(sample);
// $target.show();
// $(".layer_close").on("click", function() { $target.hide();})
// }
</script>
</body>
</html>
<?php
/**
* @see \platyFramework\ptyshopOrderController::statusDetail()
*
* @var string $userId 회원ID
* @var string $orderId 주문ID
*/
?>
<!DOCTYPE html>
<html lang="ko">
<head>
<meta charset="UTF-8">
<link rel="shortcut icon" href="data:image/x-icon" type="image/x-icon">
<meta name="viewport" content="width=device-width,initial-scale=1.0,minimum-scale=1.0,maximum-scale=1.0,user-scalable=no">
<link rel="stylesheet" href="/modules/ptyshop/resources/app.css?<?=time();?>">
<link rel="stylesheet" href="/modules/ptyshop/resources/app2.css">
<!-- <link rel="stylesheet" href="/static/css/v15/app.css?2021021621">-->
<!-- <link rel="stylesheet" href="/static/css/v15/sale09_app.css?2021021621>">-->
<link rel="icon" href="data:;base64,iVBORw0KGgo=">
<script src="/modules/ptyshop/resources/jquery-3.1.1.min.js"></script>
<script src="/modules/ptyshop/resources/clipboard.min.js"></script>
<script src="/modules/ptyshop/resources/common.js?2020092313"></script><!-- // 공통 -->
<script src="/modules/ptyshop/resources/commonLib.js?2020092313"></script><!-- // 앱간 인터페이스 -->
<title></title>
</head> <script type="text/javascript">
function _typeof(obj) {
if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") {
_typeof = function _typeof(obj) {
return typeof obj;
};
} else {
_typeof = function _typeof(obj) {
return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj;
};
}
return _typeof(obj);
}
var scroll;
var PAGE = 1;
var START;
var END;
var LIMIT = 10;
var UID = '<?=$userId?>';
var CDN = ''; // //gcdn.sale09.kr/data/image/';
var DEEP = 'intent://jasonpay_salepoison';
var AGENT = 'android';
var HIDE = [];
var CANCEL = [];
var orderId = '<?=$orderId?>';
function $number(num) {
return num.toFixed(0).replace(/(\d)(?=(\d{3})+$)/g, "$1,");
}
(function ($) {
$.fn.order = function (orders, type) {
var _this = this;
//주문상세
var info = function info(e, order) {
// scroll = $(window).scrollTop();
var prepaidcnt = 0;
var itemcnt = 0;
var show = false;
for (var i in order.item) {
itemcnt++;
if (CANCEL.indexOf(order.order.ordnum + "-" + i) > -1) {
order.item[i].info.step = '주문취소';
}
if (order.item[i].info.prepaid === 'N') {
prepaidcnt++;
}
if (order.item[i].info.step === '미입금') {
show = true;
}
if (order.item[i].info.step === '주문취소' && order.order.ptype === "VB") {
order.order.vactexpire = 'Y';
}
}
// var clipboard = new ClipboardJS('.copybtn');
// $('#xlayer_order_info').prepend('1234');
$('#layer_order_info').prepend(
$('<div />', {"class": "order_inner"}).prepend(
$('<div />', {"class": "layer_header"}).prepend(
$('<p />', {"class": "layer_title"}).html("주문 상세 정보"),
$('<button />', {"class": "layer_close"}).html("닫기").click(function () {
$('body, .my_order_inner').removeClass('layer_open');
$('.order_inner').remove();
$('html, body').scrollTop(scroll);
$('#layer_order_info').hide();
})
),
$('<div />', {"class": "order_info"}).prepend(
$('<div />', {"class": "order_date_info"}).prepend(
$('<strong />', {"class": "date"}).html(order.order.orddate),
$('<span />', {"class": "order_number"}).prepend(
"주문번호 ",
$('<em />', {"class": "number"}).html(order.order.ordnum)
)
), $('<div />', {"class": "order_info_inner"}).prepend(
$('<h1 />', {"class": "title"}).html("무통장 입금정보"),
$('<dl />', {"class": "individual"}).prepend(
$('<dt />').html("입금은행"),
$('<dd />').html(order.order.vactcode)
),
$('<dl />', {"class": "individual"}).prepend(
$('<dt />').html("입금계좌"),
$('<dd />').html(order.order.vactnum)
),
$('<dl />', {"class": "individual"}).prepend(
$('<dt />').html("예금주"),
$('<dd />').html(order.order.vactname)
), $('<dl />', {"class": "individual"}).prepend(
$('<dt />').html("입금기한"),
$('<dd />').html(order.order.vactexpire === "Y" ? "<span class='expire_text'>만료</span>" : order.order.vactdate)
), $('<dl />', {"class": "individual"}).prepend(
$('<dt />').html("총 입금금액"),
$('<dd />', {"class": "total_price"}).prepend(
$('<strong />').html($number(parseInt(order.order.vactprice))),
$('<span />').html("")
)
),
$('<div />', {"class": "button_account"}).prepend($('<button />', {
"class": "button copybtn",
"data-clipboard-text": order.order.vactnum
}).html("계좌번호 복사").click(function () {
clipboard.on('success', function (e) {
$('.layer_notification').prepend(
$('<div />', {"class": "notification_inner"}).prepend(
$('<div />', {"class": "layer_header"}).prepend(
$('<p />', {"class": "layer_title"}).html("알림")),
$('<div />', {"class": "layer_content"}).html("복사가 완료되었습니다."),
$('<div />', {"class": "layer_button_area"}).prepend(
$('<a />', {"class": "button confirm"}).html("확인").click(function (e) {
$('.notification_inner').remove();
$('.layer_notification').hide();
})
)
).css({'display': 'block'})
).css({'display': 'block'});
});
})).css({
"display": ClipboardJS.isSupported() && order.order.ptype === "VB" && order.order.vactexpire === "N" && show === true ? "block" : "none"
})
).addClass(order.order.vactexpire === "Y" ? "expire" : "").css({
"display": order.order.ptype === "VB" ? 'block' : 'none'
}), $('<div />', {"class": "order_info_inner"}).prepend(
$('<h1 />', {"class": "title"}).html("결제 정보"),
$('<dl />', {"class": "individual"}).prepend(
$('<dt />').html("상품금액"),
$('<dd />', {"class": "price"}).prepend(
$('<strong />').html($number(order.order.gprice)),
$('<span />').html("")
)
), $('<dl />', {"class": "individual"}).prepend(
$('<dt />').html("배송비"),
$('<dd />', {"class": "price"}).prepend(
$('<strong />').html(prepaidcnt === itemcnt ? "착불" : $number(order.order.dprice)),
$('<span />').html(prepaidcnt === itemcnt ? "" : "")
)
),
$('<dl />', {"class": "individual"}).append(
$('<dt />'),
$('<dd />', {"class": "price"}).prepend(
$('<strong />').html("(착불포함)"),
$('<span />')
)
).css({'display': prepaidcnt > 0 && itemcnt > 1 ? 'block' : 'none'}),
$('<dl />', {"class": "individual"}).prepend(
$('<dt />').html("총 결제금액"),
$('<dd />', {"class": "total_price"}).prepend(
$('<strong />').html($number(order.order.tprice)),
$('<span />').html("")
)
)
)
), $('<div />', {"class": "list complete"}).prepend(
$('<h1 />', {"class": "title"}).html("상품 정보")
).order([order], 'detail'),
$('<div />', {"class": "delivery_info"}).append(
$('<h1 />', {"class": "title"}).html("배송 정보"),
$('<dl />', {"class": "individual"}).prepend(
$('<dt />').html("수령자"),
$('<dd />').html(order.order.name)
), $('<dl />', {"class": "individual"}).prepend(
$('<dt />').html("배송지"),
$('<dd />').html(order.order.daddr1 + " " + order.order.daddr2)
), $('<dl />', {"class": "individual"}).prepend(
$('<dt />').html("연락처"),
$('<dd />', {"class": "telephone"}).html(order.order.tel)
), $('<dl />', {"class": "individual"}).prepend(
$('<dt />').html("배송메모"),
$('<dd />').html(order.order.dmemo)
)
)
)
).css({
'display': 'block'
});
var s = $('#xlayer_order_info');
console.log(s);
console.log(s.html());
// $('body, .my_order_inner').addClass('layer_open');
// $('.my_order_inner').addClass('layer_open');
return this;
};
//배송조회
var delivery = function delivery(e, order, item) {
if (typeof item.info.invoice === "undefined" || typeof item.info.f_name === "undefined") {
return false;
}
var tbody = $('<tbody />');
$.ajax({
type: 'post',
headers: {
"Content-Type": "application/json"
},
dataType: 'json',
async: false,
url: '/tracking/get/' + item.info.f_name + "/" + item.info.invoice,
success: function success(request) {
if (_typeof(request) === 'object') {
if (request.result === "Y") {
for (var i in request.trackingDetails) {
var detail = request.trackingDetails[i];
var time = detail.timeString.split(" ");
tbody.prepend(
$('<tr />').prepend(
$('<td />').html(time[0].replace(/-/gi, ".") + "<br />" + time[1]),
$('<td />').html(detail.where),
$('<td />').html(detail.kind).addClass(detail.level === 6 ? "point_color" : null)
)
);
}
} else {
tbody.append(
$('<tr />').prepend(
$('<td />', {"colspan": "3"}).html("유효하지 않은 운송장번호 이거나 택배사 코드 입니다.")
)
);
}
}
},
beforeSend: function beforeSend() {
//보내기전 로딩 화면
//$('.wrap-loading').show();
},
complete: function complete() {
//받은후 로딩 닫기
//$('.wrap-loading').hide();
},
error: function error(request, status, _error) {
console.log('code: ' + request.status + "\n" + 'message: ' + request.responseText + "\n" + 'error: ' + _error);
}
});
var clipboard_deliver = new ClipboardJS('.copy_deliver_btn');
$('#layer_deliver_info').prepend(
$('<div />', {"class": "deliver_inner"}).prepend(
$('<div />', {"class": "layer_header"}).prepend(
$('<p />', {"class": "layer_title"}).html("배송상세조회"),
$('<button />', {"class": "layer_close"}).html("닫기").click(function () {
if ($('body, .my_order_inner').hasClass('layer_open2')) {
$('body, .my_order_inner').removeClass('layer_open2');
} else {
$('body, .my_order_inner').removeClass('layer_open');
}
$('.deliver_inner').remove();
$('html, body').scrollTop(scroll);
$('#layer_deliver_info').hide();
})
), $('<div />', {"class": "delivery_info"}).prepend(
$('<h1 />', {"class": "title"}).html("배송 정보"),
$('<dl />', {"class": "individual delivery_num"}).prepend(
$('<dt />').html("운송장번호"),
$('<dd />').html(item.info.invoice),
$('<button />', {"class": "copy_deliver_btn", "data-clipboard-text":item.info.invoice}).html("복사하기").click(function () {
clipboard_deliver.on('success', function (e) {
$('.layer_notification').prepend(
$('<div />', {"class": "notification_inner"}).prepend(
$('<div />', {"class": "layer_header"}).prepend(
$('<p />', {"class": "layer_title"}).html("알림")),
$('<div />', {"class": "layer_content"}).html("운송장 번호가 복사되었습니다."),
$('<div />', {"class": "layer_button_area"}).prepend(
$('<a />', {"class": "button confirm"}).html("확인").click(function (e) {
$('.notification_inner').remove();
$('.layer_notification').hide();
})
)
).css({'display': 'block'})
).css({'display': 'block'});
});
})
), $('<dl />', {"class": "individual"}).prepend(
$('<dt />').html("택배사"),
$('<dd />').html(item.info.f_name)
), $('<dl />', {"class": "individual"}).prepend(
$('<dt />').html("보낸사람"),
$('<dd />').html(item.info.wmsetc)
), $('<dl />', {"class": "individual"}).prepend(
$('<dt />').html("받는사람"),
$('<dd />').html(order.name + "(" + order.tel + ")")
), $('<dl />', {"class": "individual"}).prepend(
$('<dt />').html("수령주소"),
$('<dd />').html(order.daddr1 + " " + order.daddr2)
)
), $('<div />', {"class": "delivery_info"}).prepend(
$('<h1 />', {"class": "title"}).html("배송 상태"),
$('<table />', {"class": "delivery_list"}).prepend(
$('<caption />').html("전체보기 리스트"),
$('<colgroup />').prepend(
$('<col />', {"style": "width:33%;", "span": "3"})
),
$('<thead />').prepend(
$('<tr />').prepend(
$('<th />', {"scope": "col"}).html("처리일시"),
$('<th />', {"scope": "col"}).html("현재위치"),
$('<th />', {"scope": "col"}).html("배송상태")
)
),
tbody
)
)
)
).css({
'display': 'block'
});
/*
if (!$('body, .my_order_inner').hasClass('layer_open')) {
scroll = $(window).scrollTop();
} else {
$('body, .my_order_inner').addClass('layer_open2');
}
*/
// $('body, .my_order_inner').addClass('layer_open').scrollTop(scroll);
return this;
};
//주문내역 숨기기
var hide = function hide(e, ordnum, idx) {
scroll = $(window).scrollTop();
var target = e.target;
var item_order = $(target).closest('.item_order');
$('.layer_notification').prepend(
$('<div />', {"class": "notification_inner"}).prepend(
$('<div />', {"class": "layer_header"}).prepend(
$('<p />', {"class": "layer_title"}).html("알림")
), $('<div />', {"class": "layer_content"}).prepend(
"주문/배송 내역 숨김 시<br>복구가 불가능합니다.<br>숨기시겠습니까?"
), $('<div />', {"class": "layer_button_area"}).prepend(
$('<a />', {"class": "button cancel"}).html("취소").click(function (e) {
$('body, .my_order_inner').removeClass('layer_open');
$('.notification_inner').remove();
$('html, body').scrollTop(scroll);
$('.layer_notification').hide();
}), $('<a />', {"class": "button confirm"}).html("확인").click(function (e) {
var params = {
"uid": UID,
"ordnum": ordnum,
"idx": idx
};
$.ajax({
type: 'post',
headers: {
"Content-Type": "application/json"
},
dataType: 'json',
url: '/order/hide',
async: false,
data: JSON.stringify(params),
success: function success(request) {
if (request === 'ok') {
$(target).closest('.order_product').remove();
if (item_order.find('.order_product').length === 0) {
item_order.remove();
if ($('.list:first').children('.item_order').length === 0) {
$('.list').append(
$('<div />', {"class": "goods_none"}).prepend(
$('<p />', {"class": "message"}).html("주문/배송 내역이 없습니다."),
$('<div />', {"class": "button"}).prepend(
$('<a />', {"class": "button_home"}).html("홈으로").click(function () {
window.location.href = DEEP + "?view=home#Intent;scheme=view;end";
})
)
)
);
$('.button_more').hide();
}
}
HIDE.push(ordnum + "-" + idx);
}
},
beforeSend: function beforeSend() {
//보내기전 로딩 화면
//$('.wrap-loading').show();
},
complete: function complete() {
//받은후 로딩 닫기
//$('.wrap-loading').hide();
},
error: function error(request, status, _error) {
console.log('code: ' + request.status + "\n" + 'message: ' + request.responseText + "\n" + 'error: ' + _error);
}
});
$('body, .my_order_inner').removeClass('layer_open');
$('.notification_inner').remove();
$('html, body').scrollTop(scroll);
$('.layer_notification').hide();
})
)
).css({
'display': 'block'
})
).css({
'display': 'block'
});
$('body, .my_order_inner').addClass('layer_open').scrollTop(scroll);
return this;
};
//취소 완료시
var cancelok = function cancelok(status) {
var messgae = "주문취소가 완료되었습니다.<br>결제수단에 따라 1~7일 후<br>취소금액 확인이 가능합니다.";
if (status === 'fail') {
messgae = "주문 취소가 불가능합니다.<br>고객센터 문의를 통해<br>교환 및 반품을 신청 하시면<br>조속히 처리해 드리겠습니다.";
}
scroll = $(window).scrollTop();
$('.layer_notification').prepend(
$('<div />', {"class": "notification_inner"}).prepend(
$('<div />', {"class": "layer_header"}).prepend(
$('<p />', {"class": "layer_title"}).html("알림")
),
$('<div />', {"class": "layer_content"}).prepend(messgae),
$('<div />', {"class": "layer_button_area"}).prepend(
$('<a />', {"class": "button confirm"}).html("확인").click(function (e) {
$('body, .my_order_inner').removeClass('layer_open');
$('.notification_inner').remove();
$('html, body').scrollTop(scroll);
$('.layer_notification').hide();
})
)
).css({
'display': 'block'
})
).css({
'display': 'block'
});
$('body, .my_order_inner').addClass('layer_open').scrollTop(scroll);
return this;
};
//주문내역 목록
var _loop = function _loop(i) {
if (i > LIMIT - 1) {
return "continue";
}
var ptype = orders[i].order.ptype;
var orddate = orders[i].order.orddate;
var ordnum = orders[i].order.ordnum;
var order = $('<div />', {"class": "item_order"});
//리스트 형태일시에
if (type === "list") {
/*
order.append(
$('<div />', {"class": "order_info"}).prepend(
$('<strong />', {"class": "date"}).html(orddate),
$('<span />', {"class": "order_number"}).prepend(
"주문번호 ",
$('<em />', {"class": "number"}).html(ordnum)
), $('<a />', {
"class": "button_order",
"data-ordnum": ordnum
}).html("주문 상세").on('click', function (e) {
console.log(orders[i]);
location.href = '/ptyshop/order/statusDetail/?userId=<?=urlencode($userId)?>&orderId=' + encodeURIComponent(ordnum);
// info(e, orders[i]);
})
)
);
*/
info(null, orders[i]);
// break;
}
//상품내역 목록
var _loop2 = function _loop2(idx) {
if (HIDE.indexOf(ordnum + "-" + idx) > -1) {
return "continue";
}
var item = orders[i].item[idx];
var product = $('<div />', {"class": "order_product", "data-idx": idx});
var step = item.info.step;
var image = item.info.image2;
var title = item.info.title;
var prepaid = item.info.prepaid;
var ul = $('<ul />', {"class": "option"});
var gprice = 0;
var dprice = 0;
for (var o in item.option) {
var option = item.option[o];
var choices = $('<div />', {"class": "different"});
//상품금액, 배송비 합산
gprice += option.uprice * option.cnt;
dprice += option.dprice;
if (item.choice.length > 0) {
for (var _i in item.choice) {
var choice = item.choice[_i];
choices.append(
$('<p />', {"class": "individual"}).prepend(
$('<span />', {"class": "text"}).html(choice[0]),
$('<em />', {"class": "text"}).html(choice[1] + "")
)
);
}
} else {
choices = "";
}
if (title === option.name) {
ul.append(
$('<li />').prepend(
$('<div />', {"class": "price_amount"}).prepend(
$('<div />', {"class": "price"}).prepend(
$('<strong />').html($number(option.uprice)),
$('<span />').html("")
), $('<div />', {"class": "amount"}).prepend(
$('<strong />').html(option.cnt),
$('<span />').html("")
)
)
)
);
} else {
ul.append(
$('<li />').prepend(
$('<p />', {"class": "name"}).html(option.name),
choices,
$('<div />', {"class": "price_amount"}).prepend(
$('<div />', {"class": "price"}).prepend(
$('<strong />').html($number(option.uprice)),
$('<span />').html("")
), $('<div />', {"class": "amount"}).prepend(
$('<strong />').html(option.cnt),
$('<span />').html("")
)
)
)
);
}
}
if (item.addbuy.length > 0) {
for (var _o in item.addbuy) {
var addbuy = item.addbuy[_o];
//추가상품금액 더해주기
gprice += addbuy.price * addbuy.cnt;
ul.append(
$('<li />').prepend(
$('<p />', {"class": "name"}).html(addbuy.name),
$('<div />', {"class": "price_amount"}).prepend(
$('<div />', {"class": "price"}).prepend(
$('<strong />').html($number(addbuy.price)),
$('<span />').html("")
), $('<div />', {"class": "amount"}).prepend(
$('<strong />').html(addbuy.cnt),
$('<span />').html("")
)
)
)
);
}
}
product.append(
$('<div />', {"class": "state"}).prepend(
$('<span />', {"class": "text"}).html(step),
$('<span />', {"class": "button_hide"}).prepend(
$('<button />', {
"type": "button"
}).html("숨기기").on('click', function (e) {
hide(e, ordnum, idx);
}).css(
type === 'list' && (step === "배송완료" || step === "주문취소") ? {} : {'display': 'none'})
)
), $('<div />', {"class": "product"}).append(
$('<div />', {"class": "thumb"}).prepend(
$('<img />', {"src": CDN + image}).on('error', function () {
$(this).prop('src', '/modules/ptyshop/resources/noimg_pdms.svg');
})
), $('<div />', {"class": "product_info"}).append(
$('<a />', {
"href": AGENT === 'web' ? '/goods/get/?idx=' + idx + '&uid=' + UID : DEEP + "?idx=" + idx + "#Intent;scheme=view;end",
"class": "title"
}).html(title),
ul,
$('<div />', {"class": "calc"}).prepend(
$('<div />', {"class": "price_goods"}).prepend(
$('<span />', {"class": "price_text"}).html("상품금액"),
$('<div />', {"class": "price"}).prepend(
$('<strong />').html($number(gprice)),
$('<span />').html("")
)
), $('<div />', {"class": "price_delivery"}).prepend(
$('<span />', {"class": "price_text"}).html("배송비"),
$('<div />', {"class": "price"}).prepend(
$('<strong />').html(prepaid === "N" ? "착불" : $number(dprice)),
$('<span />').html(prepaid === "N" ? "" : "")
)
)
).css({
"display": type === "detail" ? "block" : "none"
})
)
)
);
//리스트일시에만 취소버튼
if (type === 'list' && (step === "신규주문" && (ptype === "P" || ptype === "CI" || ptype === "C") || step === "미입금" && ptype === "VB")) {
product.append(
$('<div />', {"class": "button_area divide1"}).prepend(
$('<a />', {"class": "button"}).html("주문취소").on('click', function (e) {
scroll = $(window).scrollTop();
var target = e.target;
var item_order = $(target).closest('.item_order');
var txt = $('<div />', {"class": "layer_content"});
if (ptype === "VB") {
txt.append("무통장입금은<br>주문한 상품 모두 취소됩니다.<br>주문을 취소 하시겠습니까?");
} else {
txt.append("선택하신 상품의<br>구매를 취소하시겠습니까?");
}
$('.layer_notification').prepend(
$('<div />', {"class": "notification_inner"}).prepend(
$('<div />', {"class": "layer_header"}).prepend(
$('<p />', {"class": "layer_title"}).html("알림")
),
txt,
$('<div />', {"class": "layer_button_area"}).prepend(
$('<a />', {"class": "button cancel"}).html("취소").click(function (e) {
$('body, .my_order_inner').removeClass('layer_open');
$('.notification_inner').remove();
$('html, body').scrollTop(scroll);
$('.layer_notification').hide();
}), $('<a />', {"class": "button confirm"}).html("확인").click(function (e) {
var params = {
"uid": UID,
"ordnum": ordnum,
"idx": idx
};
$.ajax({
type: 'post',
headers: {
"Content-Type": "application/json"
},
dataType: 'json',
url: '/inicis/cancel',
async: false,
data: JSON.stringify(params),
success: function success(request) {
$('body, .my_order_inner').removeClass('layer_open');
$('.notification_inner').remove();
$('html, body').scrollTop(scroll);
$('.layer_notification').hide();
if (request === 'ok') {
//취소완료시
if (ptype === "VB") {
item_order.find('.order_product').each(function () {
$(this).children('.state').children('.text').text('주문취소');
$(this).children('.state').children('.button_hide').children('button').show();
$(this).children('.button_area').hide();
CANCEL.push(ordnum + "-" + $(this).data('idx'));
});
} else {
$(target).closest('.order_product').children('.state').children('.text').text('주문취소');
$(target).closest('.order_product').children('.state').children('.button_hide').children('button').show();
$(target).closest('.button_area').hide();
CANCEL.push(ordnum + "-" + idx);
}
cancelok('ok');
}
},
beforeSend: function beforeSend() {
//보내기전 로딩 화면
//$('.wrap-loading').show();
},
complete: function complete() {
//받은후 로딩 닫기
//$('.wrap-loading').hide();
},
error: function error(request, status, _error) {
$('body, .my_order_inner').removeClass('layer_open');
$('.notification_inner').remove();
$('html, body').scrollTop(scroll);
$('.layer_notification').hide();
cancelok('fail');
console.log('code: ' + request.status + "\n" + 'message: ' + request.responseText + "\n" + 'error: ' + _error);
}
});
})
)
).css({
'display': 'block'
})
).css({
'display': 'block'
});
$('body, .my_order_inner').addClass('layer_open').scrollTop(scroll);
})
)
);
} else if (step === "배송중") {
product.append(
$('<div />', {"class": "button_area divide1"}).prepend(
$('<a />', {"class": "button"}).html("배송조회").on('click', function (e) {
delivery(e, orders[i].order, orders[i].item[idx]);
})
)
);
} else if (step === "배송완료") {
product.append(
$('<div />', {"class": "button_area divide2"}).prepend(
$('<a />', {"class": "button"}).html("교환/반품/환불").on('click', function (e) {
$('.layer_notification').prepend(
$('<div />', {"class": "notification_inner customer"}).prepend(
$('<div />', {"class": "layer_header"}).prepend(
$('<p />', {"class": "layer_title"}).html("알림"),
$('<button />', {"class": "layer_close"}).html("닫기").click(function () {
if ($('body, .my_order_inner').hasClass('layer_open2')) {
$('body, .my_order_inner').removeClass('layer_open2');
} else {
$('body, .my_order_inner').removeClass('layer_open');
}
$('.notification_inner').remove();
$('html, body').scrollTop(scroll);
$('.layer_notification').hide();
})
), $('<div />', {"class": "layer_content customer"}).prepend(
"현재 교환 및 반품은 고객센터<br> 문의를 통해서만 가능합니다.<br><br> 고객센터 문의는 평일<br> 09:30~18:00에만 가능합니다."),
$('<div />', {"class": "layer_button_area customer"}).prepend(
$('<a />', {
"href": "tel:1544-3530",
"class": "button"
}).html("고객센터 전화하기").click(function (e) {
$('body, .my_order_inner').removeClass('layer_open');
$('.notification_inner').remove();
$('html, body').scrollTop(scroll);
$('.layer_notification').hide();
window.location.href = "tel:1544-3530";
}), $('<a />', {
"class": "button"
}).html("카카오톡 문의하기").click(function (e) {
$('body, .my_order_inner').removeClass('layer_open');
$('.notification_inner').remove();
$('html, body').scrollTop(scroll);
$('.layer_notification').hide();
window.location.href = DEEP + "?view=kakaotalk#Intent;scheme=view;end";
})
)
).css({
'display': 'block'
})
).css({
'display': 'block'
});
if (!$('body, .my_order_inner').hasClass('layer_open')) {
scroll = $(window).scrollTop();
} else {
$('body, .my_order_inner').addClass('layer_open2');
}
$('body, .my_order_inner').addClass('layer_open').scrollTop(scroll);
}), $('<a />', {
"class": "button"
}).html("배송조회").on('click', function (e) {
delivery(e, orders[i].order, orders[i].item[idx]);
})
)
);
}
order.append(product);
};
for (var idx in orders[i].item) {
var _ret2 = _loop2(idx);
if (_ret2 === "continue") continue;
}
_this.append(order);
};
for (var i in orders) {
var _ret = _loop(i);
if (_ret === "continue") continue;
// [cpueblo]
break;
}
return this;
};
})(jQuery);
$(document).ready(function () {
//기본 한달
// dateCalc(30);
orderlist();
/*
//조회기간
$('.my_order .button_list button').on('click', function () {
$('.my_order .button_list').find('li').removeClass('active');
$(this).parent().addClass('active');
dateCalc($(this).data('day'));
init();
orderlist();
});
//주문상태조회
$('.select ').on('change', function () {
init();
orderlist();
});
*/
});
//더보기 클릭시
function more() {
PAGE++;
orderlist();
}
//주문내역 렌더딩
function orderlist() {
var params = {
"uid": UID,
"page": PAGE,
"limit": LIMIT,
"start": START,
"end": END,
"orderId": orderId
};
$.ajax({
type: 'post',
headers: {
"Content-Type": "application/json"
},
dataType: 'json',
url: '/ptyshop/order/getStatusData/',
async: true,
data: JSON.stringify(params),
success: function success(request) {
if (_typeof(request) === 'object') {
$('.list').order(request.order, 'list');
if (request.order.length < LIMIT + 1) {
$('.button_more').hide();
}
} else {
if ($('.item_order').length === 0) {
$('.list').append(
$('<div />', {
"class": "goods_none"
}).prepend(
$('<p />', {
"class": "message"
}).html("주문/배송 내역이 없습니다."),
$('<div />', {
"class": "button"
}).prepend(
$('<a />', {
"class": "button_home"
}).html("홈으로").click(function () {
window.location.href = DEEP + "?view=home#Intent;scheme=view;end";
})
)
)
);
}
$('.button_more').hide();
}
},
beforeSend: function beforeSend() {
//보내기전 로딩 화면
//$('.wrap-loading').show();
},
complete: function complete() {
//받은후 로딩 닫기
//$('.wrap-loading').hide();
},
error: function error(request, status, _error) {
console.log('code: ' + request.status + "\n" + 'message: ' + request.responseText + "\n" + 'error: ' + _error);
}
});
}
//초기화
function init() {
PAGE = 1;
$('.list').html("");
$('.button_more').show();
}
//조회기간 계산
function dateCalc(n) {
var m = 0;
var date = new Date();
var start = new Date(Date.parse(date) - n * 1000 * 60 * 60 * 24);
var today = new Date(Date.parse(date) - m * 1000 * 60 * 60 * 24);
var yyyy = start.getFullYear();
var mm = start.getMonth() + 1;
var dd = start.getDate();
if (mm < 10) {
mm = "0" + mm;
}
if (dd < 10) {
dd = "0" + dd;
}
var t_yyyy = today.getFullYear();
var t_mm = today.getMonth() + 1;
var t_dd = today.getDate();
if (t_mm < 10) {
t_mm = "0" + t_mm;
}
if (t_dd < 10) {
t_dd = "0" + t_dd;
}
if (n > 0 && n < 7) {
$("#date1").html(yyyy + "." + mm + "." + dd);
$("#date2").html(yyyy + "." + mm + "." + dd);
START = yyyy.toString() + mm.toString() + dd.toString();
END = yyyy.toString() + mm.toString() + dd.toString();
} else {
$("#date1").html(yyyy + "." + mm + "." + dd);
$("#date2").html(t_yyyy + "." + t_mm + "." + t_dd);
START = yyyy.toString() + mm.toString() + dd.toString();
END = t_yyyy.toString() + t_mm.toString() + t_dd.toString();
}
}
</script>
<body class="my_order">
test
<!-- 주문상세 -->
<div class="layer_order_info" id="layer_order_info" style="z-index:auto; top: inherit; left: inherit; width: inherit; height: inherit;position: relative; display: block;">
hello1
</div>
<div class="xxxlayer_order_info" id="xxxlayer_order_info" style="z-index:-1; top: inherit; left: inherit; width: inherit; height: inherit;position: relative; display: block;">
hello2
</div>
<!-- 배송조회 -->
<div class="layer_order_info" id="layer_deliver_info"></div>
<!-- 알림 팝업 -->
<div class="layer_notification"></div>
<!-- 로딩
<div class="wrap-loading"></div>
-->
<script>
// 택배사 팝업 화면 0922
// var env = 'production';
// if(env==='development') {
// var $target = $("#layer_deliver_info");
// var sample = `<div class="deliver_inner"><div class="layer_header"><p class="layer_title">배송상세조회</p><button class="layer_close">닫기</button></div><div class="delivery_info"><h1 class="title">배송 정보</h1><dl class="individual"><dt>운송장번호</dt><dd>J10316007519351955220010909</dd><button class="copy_deliver_btn" data-clipboard-text="J10316007519351955220010909">복사하기</button></dl><dl class="individual"><dt>택배사</dt><dd>우체국택배</dd></dl><dl class="individual"><dt>보낸사람</dt><dd>다예벤더</dd></dl><dl class="individual"><dt>받는사람</dt><dd>배지나(010-2040-2582)</dd></dl><dl class="individual"><dt>수령주소</dt><dd>서울 구로구 가마산로 77 (구로동) 123</dd></dl></div><div class="delivery_info"><h1 class="title">배송 상태</h1><table class="delivery_list"><caption>전체보기 리스트</caption><colgroup><col style="width:33%;" span="3"></colgroup><thead><tr><th scope="col">처리일시</th><th scope="col">현재위치</th><th scope="col">배송상태</th></tr></thead><tbody><tr><td colspan="3">유효하지 않은 운송장번호 이거나 택배사 코드 입니다.</td></tr></tbody></table></div></div>`;
// $target.html(sample);
// $target.show();
// $(".layer_close").on("click", function() { $target.hide();})
// }
</script>
</body>
</html>
<script>
// info(e, orders[i]);
</script>
\ No newline at end of file
...@@ -5,6 +5,7 @@ namespace platyFramework; ...@@ -5,6 +5,7 @@ namespace platyFramework;
* 주문 성공 창 * 주문 성공 창
* *
* @var ptyshopOrderItemModel $orderItem * @var ptyshopOrderItemModel $orderItem
* @var string $userId
*/ */
?> ?>
<!DOCTYPE html> <!DOCTYPE html>
...@@ -125,8 +126,8 @@ namespace platyFramework; ...@@ -125,8 +126,8 @@ namespace platyFramework;
</div> </div>
<div class="button_area"> <div class="button_area">
<a href="{{home}}/?uid=a27b1d76-d4aa-3f11-b384-d6b8431e6a51" class="button_home">홈으로</a> <a href="{{home}}/?userId=<?=urlencode($userId)?>" class="button_home">홈으로</a>
<a href="/ptyshop/order/get/?uid=a27b1d76-d4aa-3f11-b384-d6b8431e6a51" class="buttom_order">주문/배송 조회</a> <a href="/ptyshop/order/get/?userId=<?=urlencode($userId)?>" class="buttom_order">주문/배송 조회</a>
<!-- <a href="/cart/get/?uid=a27b1d76-d4aa-3f11-b384-d6b8431e6a51" class="button_home">홈으로</a>--> <!-- <a href="/cart/get/?uid=a27b1d76-d4aa-3f11-b384-d6b8431e6a51" class="button_home">홈으로</a>-->
<!-- <a href="/order/get/?uid=a27b1d76-d4aa-3f11-b384-d6b8431e6a51" class="buttom_order">주문/배송 조회</a>--> <!-- <a href="/order/get/?uid=a27b1d76-d4aa-3f11-b384-d6b8431e6a51" class="buttom_order">주문/배송 조회</a>-->
</div> </div>
......
...@@ -1134,7 +1134,9 @@ body.option.bottom {position:absolute; bottom:0; left:0; width:100%; box-sizing: ...@@ -1134,7 +1134,9 @@ body.option.bottom {position:absolute; bottom:0; left:0; width:100%; box-sizing:
.layer_open2 #layer_order_info {overflow:hidden;} /* 이중팝업 */ .layer_open2 #layer_order_info {overflow:hidden;} /* 이중팝업 */
.my_order_inner {position:relative;} .my_order_inner {position:relative;}
.my_order .layer_order_info {display:none; position:absolute; top:0; left:0; z-index:100; width:100%; height:100%; background-color:#f5f5f5; overflow: auto; -webkit-overflow-scrolling: touch;} /* [cpueblo] overflow: auto; 가 안드로이드에서 동작 안됨 */
.my_order .layer_order_info {display:none; position:absolute; top:0; left:0; z-index:100; width:100%; height:100%; background-color:#f5f5f5; overflow: visible; -webkit-overflow-scrolling: touch;}*/
/*.my_order .layer_order_info {display: none; z-index:100; width:100%; height:100%; background-color:#f5f5f5; overflow: visible; -webkit-overflow-scrolling: touch;}*/
.my_order .layer_order_info .order_inner, .my_order .layer_order_info .order_inner,
.my_order .layer_order_info .deliver_inner {padding-top:9px;} .my_order .layer_order_info .deliver_inner {padding-top:9px;}
.my_order .layer_order_info .layer_header {position:relative; box-sizing:border-box; padding:15px 0 0; height:50px; text-align:center; background-color:#fff;} .my_order .layer_order_info .layer_header {position:relative; box-sizing:border-box; padding:15px 0 0; height:50px; text-align:center; background-color:#fff;}
......
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="20" viewBox="0 0 16 20">
<defs>
<style>
.cls-1{fill:#fff;opacity:0}.cls-2{fill:#777;stroke:#777;stroke-linecap:round;stroke-linejoin:round;opacity:.8}
</style>
</defs>
<g id="arrow_and_n" transform="translate(-205.999 -382.9)">
<path id="av" d="M0 0h16v20H0z" class="cls-1" transform="translate(205.999 382.9)"/>
<path id="arrow_n" d="M0 4.809L4.809 0zm9.617 0L4.809 0z" class="cls-2" transform="rotate(180 109.5 198.155)"/>
</g>
</svg>
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="20" viewBox="0 0 16 20">
<defs>
<style>
.cls-1{fill:#fff;opacity:0}.cls-2{fill:#777;stroke:#777;stroke-linecap:round;stroke-linejoin:round}
</style>
</defs>
<g id="arrow_more_n" transform="translate(-205.999 -382.9)">
<path id="av" d="M0 0h16v20H0z" class="cls-1" transform="translate(205.999 382.9)"/>
<path id="arrow_n" d="M0 4.809L4.809 0zm9.617 0L4.809 0z" class="cls-2" transform="rotate(90 -85.947 303.15)"/>
</g>
</svg>
<svg xmlns="http://www.w3.org/2000/svg" width="13" height="14" viewBox="0 0 13 14">
<defs>
<style>
.cls-1{fill:#fff;opacity:0}.cls-2{fill:#777}
</style>
</defs>
<g id="ico_i2" transform="translate(-16 -1235)">
<path id="av" d="M0 0h13v14H0z" class="cls-1" transform="translate(16 1235)"/>
<path id="패스_330" d="M6.5 1.118a6.064 6.064 0 0 0 6.058-6.058A6.064 6.064 0 0 0 6.5-11 6.064 6.064 0 0 0 .442-4.94 6.064 6.064 0 0 0 6.5 1.118zM6.5.7A5.637 5.637 0 0 1 .858-4.94 5.637 5.637 0 0 1 6.5-10.582a5.637 5.637 0 0 1 5.642 5.642A5.637 5.637 0 0 1 6.5.7zm-.455-2.65h.923v-4.68h-.923zm.468-5.577a.565.565 0 0 0 .624-.559.578.578 0 0 0-.624-.585.57.57 0 0 0-.6.585.557.557 0 0 0 .6.559z" class="cls-2" data-name="패스 330" transform="translate(16 1247)"/>
</g>
</svg>
<svg xmlns="http://www.w3.org/2000/svg" width="32" height="36" viewBox="0 0 32 36">
<defs>
<style>
.cls-1{fill:#fff;opacity:0}.cls-2{fill:none;stroke:#555;stroke-linecap:round}
</style>
</defs>
<g id="ico_x2" transform="translate(-318 -430)">
<path id="aV" d="M0 0h32v36H0z" class="cls-1" transform="translate(318 430)"/>
<g id="btn_x">
<path id="선_382" d="M0 0l14 14" class="cls-2" data-name="선 382" transform="translate(328 440)"/>
<path id="선_383" d="M0 0l14 14" class="cls-2" data-name="선 383" transform="rotate(90 -49 391)"/>
</g>
</g>
</svg>
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment