4825 lines
266 KiB
Plaintext
4825 lines
266 KiB
Plaintext
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
|
||
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
|
||
<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions"%>
|
||
<%@ taglib prefix="spring" uri="http://www.springframework.org/tags"%>
|
||
<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt"%>
|
||
<%@ taglib prefix="ui" uri="http://www.winbit.kr/ctl/ui"%>
|
||
<%@ taglib prefix="f" uri="/WEB-INF/tlds/f.tld"%>
|
||
<spring:eval expression="@environment.getProperty('currency-unit.default')" var="curUnit"/>
|
||
<spring:eval expression="@environment.getProperty('currency-unit.KR')" var="krUnit"/>
|
||
<%--
|
||
Class Name : SubsvcPurchsC.jsp
|
||
Description : 회원 구독상품 구매하기
|
||
Modification Information
|
||
|
||
수정일 수정자 수정내용
|
||
------- -------- ---------------------------
|
||
2026-02-23 이대환 최초 생성
|
||
--%>
|
||
<!DOCTYPE html>
|
||
<html lang="ko">
|
||
<head>
|
||
|
||
|
||
<%-- 공통 include --%>
|
||
<jsp:include page="/WEB-INF/views/comm/Include.jsp"/>
|
||
|
||
<script src="<c:url value='/js/dlvylc/dlvylc.js'/>"></script>
|
||
|
||
<script>
|
||
$(document).ready(function() {
|
||
fn_event();
|
||
fn_init();
|
||
fn_modal_init();
|
||
});
|
||
var curUnit = '${curUnit}';
|
||
|
||
/* ********************************************************
|
||
* 초기 설정
|
||
**********************************************************/
|
||
const fn_modal_init = function() {
|
||
$('.gcpayGuideSlick').slick({
|
||
dots: true,
|
||
slidesToShow: 1,
|
||
slidesToScroll: 1,
|
||
arrows: false,
|
||
});
|
||
$('#gcpay-info').on($.modal.OPEN, function (event, modal) {
|
||
$('.gcpayGuideSlick').slick('setPosition').slick(); // 모달 팝업 열었을 때 slick 재설정
|
||
});
|
||
|
||
|
||
// gcpay 사용안할 경우 기본 세팅
|
||
const gcpayCardUseAt = $('#gcpayCardUseAt').val();
|
||
let gcpayAt = ( gcpayCardUseAt === 'Y')? 'Y' : 'N';
|
||
const setleTy = $('#setleSetupTyCd').val();
|
||
let setleTyCd = '#pg04';
|
||
if(setleTy==='01')setleTyCd = '#pg04'; //kcp
|
||
else if(setleTy==='02')setleTyCd = '#pg03'; //toss
|
||
else if(setleTy==='03')setleTyCd = '#pg06'; //kiwoom
|
||
|
||
if (gcpayAt === 'N') {
|
||
$(setleTyCd).click();
|
||
}
|
||
}
|
||
const fn_init = function() {
|
||
localStorage.clear();
|
||
|
||
const isDftDlvylc = $('#isDftDlvylc').val();
|
||
const dlvylcZip = $('#dlvylcZip').val();
|
||
const dlvylcAreaCd = $('#dlvylcAreaCd').val();
|
||
const prefcd = $('#prefcd').val();
|
||
|
||
if ('N' === isDftDlvylc) {
|
||
$('input[name="dlvylcDvCd"][value="New"]').trigger('click');
|
||
$('input[name="dlvylcDvCd"][value="Default"]').prop('disabled', true);
|
||
}
|
||
|
||
localStorage.setItem("dlvylcZip", dlvylcZip);
|
||
localStorage.setItem("dlvylcAreaCd", dlvylcAreaCd);
|
||
localStorage.setItem("prefcd", prefcd);
|
||
|
||
const mbrDvCd = $('#mbrDvCd').val();
|
||
const mbrId = $('#mbrId').val();
|
||
const sopmalCd = $('#sopmalCd').val();
|
||
const mbrInnb = ${data.purchsr.mbrInnb};
|
||
const subsvcInnb = ${data.subsvcOne.subsvcInnb};
|
||
|
||
let param = {
|
||
'mbrDvCd':mbrDvCd,
|
||
'mbrId':mbrId,
|
||
'sopmalCd':sopmalCd,
|
||
'mbrInnb':mbrInnb,
|
||
'subsvcInnb':subsvcInnb
|
||
};
|
||
|
||
fn_get_goods_list(param, null);
|
||
|
||
fn_get_setle_amt();
|
||
|
||
fn_set_ordrty(); // 주문 유형별 영역 제어
|
||
|
||
let multiDlvyAt = '<c:out value="${ data.shopInfo.multiDlvyAt }"/>';
|
||
let giftDlvyAt = '<c:out value="${ data.shopInfo.giftDlvyAt }"/>';
|
||
|
||
if (multiDlvyAt === 'Y') {
|
||
|
||
} else if (giftDlvyAt === 'Y') {
|
||
|
||
} else {
|
||
$('.ordrTySec').hide();
|
||
}
|
||
}
|
||
|
||
/**
|
||
* 숫자 변경
|
||
* @param amount
|
||
* @returns {number|number|number}
|
||
*/
|
||
function parseAmount(amount) {
|
||
if (!amount) return 0;
|
||
return parseInt(amount.replace(/,/g, '').split('.')[0], 10) || 0;
|
||
}
|
||
|
||
/**
|
||
* 상품 목록 비교 함수
|
||
* @param list1
|
||
* @param list2
|
||
* @returns {boolean}
|
||
*/
|
||
const fn_compare_goodslists = function(list1, list2) {
|
||
// 리스트 길이 체크
|
||
if (list1.length !== list2.length) {
|
||
return false;
|
||
}
|
||
|
||
// 상품별 값 비교
|
||
for (let i = 0; i < list1.length; i++) {
|
||
const goods1 = list1[i];
|
||
const goods2 = list2[i];
|
||
|
||
if (
|
||
goods1.sopmalCd !== goods2.sopmalCd || // 쇼핑몰코드
|
||
goods1.goodsInnb !== goods2.goodsInnb || // 상품고유번호
|
||
goods1.goodsOptnInnb !== goods2.goodsOptnInnb || // 상품옵션 고유번호
|
||
goods1.qy !== goods2.qy // 주문 수량
|
||
) {
|
||
return false; // 상품 정보 중 하나로 다르면 false
|
||
}
|
||
}
|
||
|
||
return true;
|
||
}
|
||
|
||
/* ********************************************************
|
||
* 이벤트 설정
|
||
**********************************************************/
|
||
const fn_event = function() {
|
||
/* ****************************
|
||
* 공통
|
||
******************************/
|
||
/* input 숫자만 입력 */
|
||
$(document).on('input', '.number-only', function() {
|
||
$(this).val(($(this).val().replace(/[^0-9]/g, '')).replace(/^0+/, ''));
|
||
});
|
||
|
||
/* 배송지정보 > 배송지 선택 라디오 박스 선택 이벤트 */
|
||
$('input[name="dlvylcDvCd"]').on('click', function() {
|
||
$('[class*="deliveryAddress"]').hide();
|
||
$('.deliveryAddress' + $(this).val()).show();
|
||
|
||
$('#dlvylcForm').find('.new').val('');
|
||
|
||
if ('New' === $(this).val()) {
|
||
$('#btnDlvylcMngr').show();
|
||
} else {
|
||
$('#btnDlvylcMngr').hide();
|
||
|
||
// 기본 배송지 최신화
|
||
fn_get_dftdlvylc();
|
||
}
|
||
|
||
const dlvylcZip = $('#dlvylcZip').val();
|
||
const dlvylcAreaCd = $('#dlvylcAreaCd').val();
|
||
const prefcd = $('#prefcd').val();
|
||
localStorage.setItem("dlvylcZip", dlvylcZip);
|
||
localStorage.setItem("dlvylcAreaCd", dlvylcAreaCd);
|
||
localStorage.setItem("prefcd", prefcd);
|
||
|
||
fn_get_setle_amt();
|
||
|
||
if ($(this).val() === 'Gift') {
|
||
$('.order-method-normal__btn-container').find('.order-method-normal__btn:not(.gift_pay)').hide();
|
||
} else {
|
||
$('.order-method-normal__btn-container').find('.order-method-normal__btn').show();
|
||
}
|
||
|
||
});
|
||
|
||
/* 배송지정보 > 배송지 관리 버튼 선택 이벤트 */
|
||
$(document).on('click', '.btnDlvylcMngr', function() {
|
||
const form = $(this).closest('form');
|
||
const formId = $(form).attr('id');
|
||
|
||
if (formId === 'dlvylcForm') {
|
||
const dlvylcDvCd = $('input[name="dlvylcDvCd"]:checked').val();
|
||
|
||
if ('Default' === dlvylcDvCd) {
|
||
return false;
|
||
}
|
||
}
|
||
|
||
fn_move_dlvylc_manage_pop(1, 'fn_set_dlvylc', formId);
|
||
});
|
||
|
||
//배송지정보 > 배송 요청사항 직접입력 글자수제한 숫자표시
|
||
$(document).on('change', '.deliveryRequestSelect', function() {
|
||
const form = $(this).closest('form');
|
||
|
||
const value = $(this).val();
|
||
|
||
|
||
if ('write' === value) {
|
||
$(form).find('.deliveryRequestDetail').show();
|
||
$(form).find('input[name="dlvyMssageCn"]').val('');
|
||
} else {
|
||
$(form).find('.deliveryRequestDetail').hide();
|
||
$(form).find('input[name="dlvyMssageCn"]').val(value.trim());
|
||
}
|
||
});
|
||
|
||
// 배송지정보 > 배송 요청사항 직접입력 글자수제한 숫자표시
|
||
$('input[name="dlvyMssageCn"]').on("input", function () {
|
||
$(".inputLimit__current").text($(this).val().length);
|
||
});
|
||
|
||
/* 배송지정보 > 우편번호 찾기 버튼 선택 이벤트 */
|
||
$(document).on('click', '#btnPost', function() {
|
||
const button = $(this);
|
||
|
||
new daum.Postcode({
|
||
oncomplete: function (data) {
|
||
const postcode = data.zonecode;
|
||
const roadAddr = data.roadAddress;
|
||
const jibunAddress = data.jibunAddress;
|
||
|
||
let addressType = '';
|
||
let extraRoadAddr = '';
|
||
|
||
// userSelectedType R/J 검색 결과에서 사용자가 선택한 주소의 타입(R : 도로명, J : 지번)
|
||
if (data.userSelectedType === 'R') {
|
||
addressType = 'street';
|
||
} else {
|
||
addressType = 'zibun';
|
||
}
|
||
|
||
// 법정동명이 있을 경우 추가한다. (법정리는 제외)
|
||
// 법정동의 경우 마지막 문자가 "동/로/가"로 끝난다.
|
||
if (data.bname !== '' && /[동|로|가]$/g.test(data.bname)) {
|
||
extraRoadAddr += data.bname;
|
||
}
|
||
|
||
// 건물명이 있고, 공동주택일 경우 추가한다.
|
||
if (data.buildingName !== '' && data.apartment === 'Y') {
|
||
extraRoadAddr += (extraRoadAddr !== '' ? ', ' + data.buildingName : data.buildingName);
|
||
}
|
||
// 표시할 참고항목이 있을 경우, 괄호까지 추가한 최종 문자열을 만든다.
|
||
if (extraRoadAddr !== '' && roadAddr !== '') {
|
||
extraRoadAddr = ' (' + extraRoadAddr + ')';
|
||
}
|
||
|
||
fn_set_dlvylc({
|
||
postcode:postcode,
|
||
roadAddress:roadAddr,
|
||
jibunAddress:jibunAddress,
|
||
addressType:'street' === addressType ? '01' : '02',
|
||
extraAddress:extraRoadAddr
|
||
}, button);
|
||
}
|
||
}).open();
|
||
|
||
});
|
||
|
||
// 마일리지 입력 글자수제한 숫자표시
|
||
/*$('input[name="btnAllUseMlgAmt"]').on("input", function () {
|
||
$(".inputLimit__current").text($(this).val().length);
|
||
});*/
|
||
|
||
/* 배송지정보 > 배송비 쿠폰 선택 이벤트 */
|
||
/*$(document).on('change', '.dlvylcCouponList', function() {
|
||
// fn_check_dplct_lmtt_coupon('02', $(this));
|
||
if (!$(this).data('fromProductCoupon')) {
|
||
fn_check_dplct_lmtt_coupon('02', $(this));
|
||
}
|
||
|
||
const option = $('option:selected', this);
|
||
const couponInnb = $(option).attr('coupon-innb');
|
||
const dwldCouponInnb = $(this).val();
|
||
const dplctDscntAt = $(option).attr('dplct-dscnt-at'); // 중복 할인 여부
|
||
const otrCouponSmtmUseAt = $(option).attr('otr-coupon-smtm_use-at');
|
||
|
||
const form = $(this).closest('form');
|
||
|
||
$(form).find('input[name="couponInnb"]').val(couponInnb);
|
||
$(form).find('input[name="dwldCouponInnb"]').val(dwldCouponInnb);
|
||
$(form).find('input[name="dplctDscntAt"]').val(dplctDscntAt);
|
||
$(form).find('input[name="otrCouponSmtmUseAt"]').val(otrCouponSmtmUseAt);
|
||
|
||
localStorage.removeItem('dlvylc');
|
||
|
||
let ordrTyCd = $('input[name="ordrTy"]:checked').val();
|
||
if (ordrTyCd === '05') { // 여러곳 배송
|
||
|
||
$('.multiOrdrInnerShipping').each(function (idx) {
|
||
const innerForm = $(this).find('form');
|
||
const shippingUseDwldCoupon = parseAmount($(innerForm).find('input[name="dwldCouponInnb"]').val());
|
||
const thisDwldCoupon = parseAmount(dwldCouponInnb);
|
||
|
||
if (form.attr('id') !== innerForm.attr('id')) {
|
||
|
||
if (thisDwldCoupon === shippingUseDwldCoupon) {
|
||
$(innerForm).find('input[name="couponInnb"]').val(null);
|
||
$(innerForm).find('input[name="dwldCouponInnb"]').val(0);
|
||
$(innerForm).find('input[name="dplctDscntAt"]').val(null);
|
||
$(innerForm).find('input[name="otrCouponSmtmUseAt"]').val(null);
|
||
}
|
||
}
|
||
})
|
||
|
||
fn_set_multiordrdlcylc(); // 배송지별 상품 세팅
|
||
fn_get_dlvylc_coupon_list_multi();
|
||
} else {
|
||
fn_get_dlvylc_coupon_list();
|
||
}
|
||
|
||
fn_get_setle_amt();
|
||
});*/
|
||
|
||
/* 주문 상품 > 상품 쿠폰 선택 이벤트 */
|
||
/*$(document).on('change', '.useCoupons', function() {
|
||
|
||
$('#dlvylcCouponList').data('fromProductCoupon', true); // 플래그 설정
|
||
$('#dlvylcCouponList option:first').prop('selected', true).change();
|
||
$('#dlvylcCouponList').removeData('fromProductCoupon'); // 플래그 제거
|
||
|
||
$('#cartCouponList').data('fromProductCoupon', true); // 플래그 설정
|
||
$('#cartCouponList option:first').prop('selected', true).change();
|
||
$('#cartCouponList').removeData('fromProductCoupon'); // 플래그 제거
|
||
|
||
$('#useMlgAmt').val(0);
|
||
$('#useCashMlgAmt').val(0);
|
||
fn_set_enuri();
|
||
|
||
fn_check_dplct_lmtt_coupon('01', $(this));
|
||
|
||
const tbody = $('#goodsList');
|
||
|
||
const goodsTr = $(this).closest('tr').prev();
|
||
const useGoodsInnb = $(goodsTr).find('.goodsInnb').val();
|
||
const useGoodsOptnInnb = $(goodsTr).find('.goodsOptnInnb').val();
|
||
|
||
const option = $('option:selected', this);
|
||
const dplctDscntAt = $(option).attr('dplct-dscnt-at');
|
||
const otrCouponSmtmUseAt = $(option).attr('otr-coupon-smtm_use-at');
|
||
const couponInnb = $(option).attr('coupon-innb');
|
||
const dwldCouponInnb = $(this).val();
|
||
|
||
|
||
if ('Y' === otrCouponSmtmUseAt) {
|
||
if (!confirm('본 쿠폰은 다른 쿠폰과 함께 사용할 수 없는 단독사용쿠폰입니다.\n적용하시겠습니까?')) {
|
||
if ('0' !== dwldCouponInnb) {
|
||
$(this).val('0').change();
|
||
} else {
|
||
$(this).val('0').attr('selected', true).niceSelect('update');
|
||
}
|
||
|
||
return false;
|
||
}
|
||
}
|
||
|
||
const mbrDvCd = $('#mbrDvCd').val();
|
||
const mbrId = $('#mbrId').val();
|
||
const sopmalCd = $('#sopmalCd').val();
|
||
|
||
let isNonDwldCoupon = 'N' === dplctDscntAt ? '|' + couponInnb + '-' + dwldCouponInnb : '';
|
||
let goodsList = [];
|
||
|
||
$(tbody).find('.ordrGoods').each(function () {
|
||
const goodsInnb = $(this).find('.goodsInnb').val();
|
||
const goodsOptnInnb = $(this).find('.goodsOptnInnb').val();
|
||
const qy = $(this).find('.qy').val();
|
||
const inputOptn = $(this).find('.inputOptn').val();
|
||
let selected = false;
|
||
|
||
if (useGoodsInnb === goodsInnb && useGoodsOptnInnb === goodsOptnInnb) {
|
||
$(this).find('.usedCoupons').val('');
|
||
|
||
selected = true;
|
||
}
|
||
|
||
const usedCoupons = 'Y' !== otrCouponSmtmUseAt ? $(this).find('.usedCoupons').val() : '';
|
||
|
||
let goods = {
|
||
'sopmalCd': sopmalCd,
|
||
'goodsInnb': goodsInnb,
|
||
'goodsOptnInnb': goodsOptnInnb,
|
||
'qy': qy,
|
||
'mbrDvCd': mbrDvCd,
|
||
'inputOptn': inputOptn,
|
||
'couponInnb': selected ? couponInnb : '',
|
||
'dwldCouponInnb': selected ? dwldCouponInnb : '',
|
||
'dplctDscntAt': selected ? dplctDscntAt : '',
|
||
'otrCouponSmtmUseAt': selected ? otrCouponSmtmUseAt : '',
|
||
'usedCoupons': 'N' === dplctDscntAt ? usedCoupons.replaceAll(isNonDwldCoupon, '') : usedCoupons
|
||
};
|
||
|
||
goodsList.push(goods);
|
||
});
|
||
|
||
let param = {
|
||
'goodsList': goodsList
|
||
}
|
||
|
||
|
||
fn_get_goods_list(param, $(this));
|
||
|
||
let ordrTyCd = $('input[name="ordrTy"]:checked').val();
|
||
if (ordrTyCd === '05') { // 여러곳 배송
|
||
fn_update_product_remain(); // 상품 쿠폰 사용시 배송지별 상품 금액 갱신
|
||
|
||
fn_set_multiordrdlcylc(); // 배송지별 상품 세팅
|
||
|
||
fn_get_dlvylc_coupon_list_multi(); // 배송비 쿠폰 갱신
|
||
}
|
||
|
||
fn_get_setle_amt();
|
||
|
||
});*/
|
||
|
||
/* 할인 정보 > 장바구니 쿠폰 선택 이벤트 */
|
||
/*$('#cartCouponList').on('change', function() {
|
||
|
||
if (!$(this).data('fromProductCoupon')) {
|
||
fn_check_dplct_lmtt_coupon('03', $(this));
|
||
}
|
||
|
||
const option = $('option:selected', this);
|
||
const dplctDscntAt = $(option).attr('dplct-dscnt-at');
|
||
const otrCouponSmtmUseAt = $(option).attr('otr-coupon-smtm_use-at');
|
||
const couponInnb = $(option).attr('coupon-innb');
|
||
const dwldCouponInnb = $(this).val();
|
||
|
||
const form = $(this).closest('form');
|
||
|
||
$(form).find('#couponInnb').val(couponInnb);
|
||
$(form).find('#dwldCouponInnb').val(dwldCouponInnb);
|
||
$(form).find('#dplctDscntAt').val(dplctDscntAt);
|
||
$(form).find('#otrCouponSmtmUseAt').val(otrCouponSmtmUseAt);
|
||
|
||
fn_get_cart_coupon_list();
|
||
|
||
let enuri = JSON.parse(localStorage.getItem('enuri')) || {}; // 기존 값 가져오기
|
||
let preUseMlgAmt = $('#useMlgAmt').val();
|
||
|
||
let modifiedAmt = parseAmount(enuri.setleAmt) + parseAmount(preUseMlgAmt);
|
||
enuri.setleAmt = (modifiedAmt).toString();
|
||
localStorage.setItem('enuri', JSON.stringify(enuri));
|
||
$('#useMlgAmt').val(0);
|
||
$('#useCashMlgAmt').val(0);
|
||
fn_set_enuri();
|
||
|
||
fn_get_setle_amt();
|
||
|
||
});*/
|
||
|
||
/* 할인 정보 > 마일리지 할인 포커스 아웃 이벤트 */
|
||
/*$('#useMlgAmt').focusout(function() {
|
||
$('#useCashMlgAmt').val(0);
|
||
const useMlgAmt = $(this).val();
|
||
const mlgAmt = parseInt(!fn_is_empty(useMlgAmt) ? useMlgAmt : '0');
|
||
const ableMlgAmt = $(this).closest('div').find('input[name="ableMlgAmt"]').val();
|
||
|
||
|
||
fn_set_enuri();
|
||
fn_get_setle_amt();
|
||
});*/
|
||
|
||
/* 할인 정보 > GC 머니 할인 포커스 아웃 이벤트 */
|
||
/*$('#useCashMlgAmt').focusout(function() {
|
||
const useCashMlgAmt = $(this).val();
|
||
const cashMlgAmt = parseInt(!fn_is_empty(useCashMlgAmt) ? useCashMlgAmt : '0');
|
||
const ableCashMlgAmt = $(this).closest('div').find('input[name="ableCashMlgAmt"]').val();
|
||
|
||
fn_set_enuri();
|
||
fn_get_setle_amt();
|
||
|
||
$('#pg03').click();
|
||
});*/
|
||
|
||
/* 할인 정보 > 마일리지 모두사용 버튼 선택 이벤트 */
|
||
/*$('#btnAllUseMlgAmt').on('click', function() {
|
||
$('#useCashMlgAmt').val(0);
|
||
const ableMlgAmt = parseInt($(this).closest('div').find('input[name="ableMlgAmt"]').val(), 10);
|
||
const lmttUseMlg = parseInt($('#lmttUseMlg').val(), 10);
|
||
|
||
const useMlgAmt = lmttUseMlg > ableMlgAmt ? ableMlgAmt : lmttUseMlg;
|
||
$(this).closest('div').find('input[name="useMlgAmt"]').val(useMlgAmt)
|
||
|
||
fn_set_enuri();
|
||
fn_get_setle_amt();
|
||
});*/
|
||
|
||
/* 할인 정보 > GC 머니 모두사용 버튼 선택 이벤트 */
|
||
/*$('#btnAllUseCashMlgAmt').on('click', function() {
|
||
const ableCashMlgAmt = parseInt($(this).closest('div').find('input[name="ableCashMlgAmt"]').val(), 10);
|
||
const lmttUseCashMlg = parseInt($('#lmttUseCashMlg').val(), 10);
|
||
|
||
const useCashMlgAmt = lmttUseCashMlg > ableCashMlgAmt ? ableCashMlgAmt : lmttUseCashMlg;
|
||
$(this).closest('div').find('input[name="useCashMlgAmt"]').val(useCashMlgAmt)
|
||
|
||
fn_set_enuri();
|
||
fn_get_setle_amt();
|
||
|
||
$('#pg03').click();
|
||
});*/
|
||
|
||
/* 결제정보 결제수단 버튼 선택 이벤트 */
|
||
$('input[name="pg"]').on('click', function() {
|
||
const form = $(this).closest('#setleForm')
|
||
const id = $(this).attr('id');
|
||
const pgCmpnyNm = $(this).val();
|
||
|
||
$(form).find('.pgContent').hide();
|
||
$(form).find('#' + id + 'Content').show();
|
||
|
||
//$(form).find('#setleSetupTyCd').val() === '01' ? $(form).find('#pg04Content').show() : $(form).find('#pg03Content').show();
|
||
if($(form).find('#setleSetupTyCd').val() === '01'){$(form).find('#pg04Content').show();}
|
||
else if($(form).find('#setleSetupTyCd').val() === '02'){$(form).find('#pg03Content').show();}
|
||
else if($(form).find('#setleSetupTyCd').val() === '03'){$(form).find('#pg06Content').show();}
|
||
|
||
$('.order-method-normal__btn').removeClass('active');
|
||
$(form).find('#pgCmpnyNm').val(pgCmpnyNm);
|
||
|
||
if ('pg01' === id || 'pg02' === id) { //GC페이
|
||
if ('pg02' === id) {
|
||
$('#gc-pay-bank-cash-receipt').prop('checked', true).trigger("click");
|
||
|
||
$(form).find('#gc-pay-bank-cash-receipt').on('click', function () {
|
||
const checked = $(this).is(':checked');
|
||
|
||
if (checked) {
|
||
$('#' + $(this).attr('id') + '-content-inner').show();
|
||
|
||
fn_set_csh_rcipt_issu($(this).attr('id'));
|
||
} else {
|
||
$('#' + $(this).attr('id') + '-content-inner').hide();
|
||
}
|
||
});
|
||
}
|
||
|
||
$(form).find('#setleTyCd').val('pg01' === id ? '01' : '03');
|
||
|
||
$('.bankSlideW, .cardSlideW').slick('setPosition');
|
||
} else if('pg05' === id){ //퀵계좌이체
|
||
$('#transfer-cash-receipt').prop('checked', true).trigger("click");
|
||
|
||
$(form).find('#transfer-cash-receipt').on('click', function () {
|
||
const checked = $(this).is(':checked');
|
||
|
||
if (checked) {
|
||
$('#' + $(this).attr('id') + '-content-inner').show();
|
||
|
||
fn_set_csh_rcipt_issu($(this).attr('id')); //퀵계좌 헌금영수증 폼
|
||
} else {
|
||
$('#' + $(this).attr('id') + '-content-inner').hide();
|
||
}
|
||
});
|
||
|
||
$(form).find('#setleTyCd').val('03');
|
||
} else {
|
||
$(form).find('#setleTyCd').val('');
|
||
|
||
$('.order-method-normal__btn').removeClass('active');
|
||
$('.order-method-normal__content').hide();
|
||
}
|
||
});
|
||
|
||
/* 결제정보 > 일반결제 > 결제수단 버튼 선택 이벤트 */
|
||
$('.order-method-normal__btn').on('click', function() {
|
||
const index = $(this).index();
|
||
const content = $('.order-method-normal__content');
|
||
const useCashMlgAmt = $('#useCashMlgAmt').val();
|
||
|
||
//$('#setleSetupTyCd').val() === '01' ? $('#pg04').click() : $('#pg03').click();
|
||
if($('#setleSetupTyCd').val() === '01'){$('#pg04').click();}
|
||
else if($('#setleSetupTyCd').val() === '02'){$('#pg03').click();}
|
||
else if($('#setleSetupTyCd').val() === '03'){$('#pg06').click();}
|
||
|
||
$('.order-method-normal__btn').removeClass('active');
|
||
$(this).addClass('active');
|
||
|
||
$(content).hide();
|
||
$(content[index]).show();
|
||
|
||
const id = $(this).attr('id');
|
||
const setleTyCd = $(this).attr('name');
|
||
const form = $(this).closest('#setleForm')
|
||
|
||
$(form).find('#isKeyIn').val('N'); // 수기결제여부
|
||
|
||
if ('tosspay' === id || 'naverpay' === id || 'kakaopay' === id) {
|
||
$(form).find('#pgCmpnyNm').val(id);
|
||
$(form).find('#setleTyCd').val('01');
|
||
|
||
if (useCashMlgAmt > 0) {
|
||
$('#' + id + '-content').show();
|
||
fn_set_csh_rcipt_issu(id);
|
||
}
|
||
} else {
|
||
$(form).find('#pgCmpnyNm').val($('input[name="pg"]:checked').val());
|
||
|
||
if ('hndwr-card' !== id) {
|
||
if ('payco' === id || 'card' === id) {
|
||
$('#' + id + '-content').show();
|
||
|
||
if (useCashMlgAmt > 0) {
|
||
fn_set_csh_rcipt_issu(id);
|
||
}
|
||
} else {
|
||
fn_set_csh_rcipt_issu(id);
|
||
}
|
||
} else {
|
||
$(form).find('#isKeyIn').val('Y');
|
||
|
||
$('#hndwr-card-content-inner').find('.order-method-hndwr-card').val('');
|
||
}
|
||
|
||
$(form).find('#setleTyCd').val(setleTyCd);
|
||
}
|
||
});
|
||
|
||
/* 결제예정금액 > 약관 전체동의 선택 이벤트 */
|
||
$('#termCheckAll').click(function () {
|
||
if ($('#termCheckAll').is(':checked')) {
|
||
$('.termCheck').prop('checked', true);
|
||
} else {
|
||
$('.termCheck').prop('checked', false);
|
||
}
|
||
});
|
||
|
||
/* 결제예정금액 > 약관 전체 선택 이벤트 */
|
||
$('.termCheck').click(function () {
|
||
if ($('.termCheck').length === $('.termCheck:checked').length) {
|
||
$('#termCheckAll').prop('checked', true);
|
||
} else {
|
||
$('#termCheckAll').prop('checked', false);
|
||
}
|
||
});
|
||
|
||
/* 결제예정금액 > 구매하기 버튼 선택 이벤트 */
|
||
$('#btnBuy').click(function () {
|
||
let data = null;
|
||
|
||
/* 광고 수신 동의 체크 */
|
||
if(!fn_is_empty($("#marktRecptnAgreAt"))) {
|
||
if ($("#agreeChkAt").val() === 'N' && !$("#marktRecptnAgreAt").is(":checked")) { //광고 수신 동의 체크 안할 시 재확인 모달 창 띄우기
|
||
fn_select_clause('05','Y');//마케팅 동의 모달
|
||
}else{
|
||
data = fn_validate();
|
||
}
|
||
}else{
|
||
data = fn_validate();
|
||
}
|
||
|
||
|
||
if (!data) {
|
||
return false;
|
||
}
|
||
|
||
disableButton('#btnBuy');
|
||
$.ajax({
|
||
type: 'post',
|
||
contentType: 'application/json',
|
||
url: '<c:url value="/sopmal/ordr/selectBlclist"/>',
|
||
data: JSON.stringify(data),
|
||
success: function (resultData) {
|
||
let result = JSON.parse(resultData.resBody.result);
|
||
|
||
if(result.result == 'Y') {
|
||
alert(result.message);
|
||
}else {
|
||
$.ajax({
|
||
type: 'post',
|
||
contentType: 'application/json',
|
||
url: '<c:url value="/sopmal/ordr/insertOrder"/>',
|
||
data: JSON.stringify(data),
|
||
success: function (html) {
|
||
$('#setleDiv').html(html);
|
||
},
|
||
error: function (data) {
|
||
enableButton('#btnBuy');
|
||
alert('<spring:message code="error.internal-server"/>');
|
||
}
|
||
});
|
||
}
|
||
|
||
}
|
||
});
|
||
});
|
||
|
||
$('.ordrrInfoSet').on('change', function () {
|
||
const form = $(this).closest('form');
|
||
|
||
const radioValue = $('input[name="dlvylcDvCd"]:checked').val();
|
||
|
||
if (radioValue === 'Default') {
|
||
if ($(this).is(':checked')) {
|
||
$('#recpntNm').val($('#mbrNm').val());
|
||
$('.recpntNm_ordrInfo_text').text($('#mbrNm').val());
|
||
|
||
$('#recpntMbtlnb').val($('#mbtlnb').val());
|
||
$('.recpntMbtlnb_ordrInfo_text').text($('#mbtlnb').val());
|
||
|
||
$('#cstmclerCd').val($('#cstmclerCd').val());
|
||
$('.cstmclerCd_ordrInfo_text').text($('#cstmclerCd').val());
|
||
|
||
} else {
|
||
|
||
let data = {
|
||
'mbrInnb' : '<c:out value="${data.purchsr.mbrInnb}"/>',
|
||
'mbrDvCd' : '<c:out value="${data.purchsr.mbrDvCd}"/>'
|
||
}
|
||
|
||
$.ajax({
|
||
type: 'post',
|
||
contentType: 'application/json',
|
||
url: '<c:url value="/sopmal/ordr/selectDftDlvylc"/>',
|
||
data: JSON.stringify(data),
|
||
success: function (data) {
|
||
let parseJson = JSON.parse(data.resBody.result);
|
||
$('#recpntNm').val(parseJson.dftDlvylc.recpntNm);
|
||
$('.recpntNm_ordrInfo_text').text($('#recpntNm').val());
|
||
$('#recpntMbtlnb').val(parseJson.dftDlvylc.mbtlnb);
|
||
$('.recpntMbtlnb_ordrInfo_text').text($('#recpntMbtlnb').val());
|
||
$('#cstmclerCd').val(parseJson.dftDlvylc.cstmclerCd);
|
||
$('.cstmclerCd_ordrInfo_text').text($('#cstmclerCd').val());
|
||
|
||
}
|
||
});
|
||
|
||
<%--$('#recpntNm').val('<c:out value="${data.purchsr.dftDlvylc.recpntNm}"/>');--%>
|
||
<%--$('.recpntNm_ordrInfo_text').text('<c:out value="${data.purchsr.dftDlvylc.recpntNm}"/>');--%>
|
||
<%--$('#recpntMbtlnb').val('<c:out value="${data.purchsr.dftDlvylc.mbtlnb}"/>');--%>
|
||
<%--$('.recpntMbtlnb_ordrInfo_text').text('<c:out value="${data.purchsr.dftDlvylc.mbtlnb}"/>');--%>
|
||
}
|
||
} else {
|
||
|
||
if ($(this).is(':checked')) {
|
||
$(form).find('input[name="recpntNm"]').val($('#mbrNm').val());
|
||
$(form).find('input[name="recpntMbtlnb"]').val($('#mbtlnb').val());
|
||
} else {
|
||
$(form).find('input[name="recpntNm"]').val('');
|
||
$(form).find('input[name="recpntMbtlnb"]').val('');
|
||
}
|
||
}
|
||
|
||
});
|
||
|
||
|
||
let lastChecked = $('input[name="ordrTy"]:checked').val();
|
||
$('input[name="ordrTy"]').on('click', function (e) {
|
||
if ($(this).val() === lastChecked) {
|
||
e.preventDefault();
|
||
} else {
|
||
lastChecked = $(this).val();
|
||
fn_set_ordrty(); // 주문 유형별 제어
|
||
}
|
||
});
|
||
|
||
/* 여러곳 배송 > 배송지 추가 버튼 클릭 이벤트 */
|
||
$('#multiDlvylcAdd').on('click', function() {
|
||
fn_set_multi_dlvylc();
|
||
});
|
||
|
||
|
||
/* 여러곳 배송 > 배송지별 수량 클릭 이벤트 */
|
||
$(document).on('click', '.product-count__amount-btn', function() {
|
||
const tr = $(this).closest('tr');
|
||
const tbodyClass = $(this).closest('tbody').attr('class');
|
||
|
||
|
||
const goodsInnb = $(tr).find('.goodsInnb').val();
|
||
const goodsOptnInnb = $(tr).find('.goodsOptnInnb').val();
|
||
|
||
const trClass = tr.attr('class');
|
||
|
||
if (trClass && trClass.includes("ordrPrsnt")) {
|
||
/** ----------------------------------------- 사은품 수량 체크 ----------------------------------------- */
|
||
let qy_prsnt = $(tr).find('.product-count__amount-number').text();
|
||
|
||
let qyObject_prsnt = fn_update_product_count_prsnt(goodsOptnInnb);
|
||
|
||
let total_prsnt = 0;
|
||
let used_prsnt = 0;
|
||
let remain_prsnt = 0;
|
||
total_prsnt = parseInt(qyObject_prsnt.total);
|
||
used_prsnt = parseInt(qyObject_prsnt.used);
|
||
remain_prsnt = parseInt(qyObject_prsnt.remain);
|
||
|
||
|
||
|
||
if ($(this).hasClass("plus")) {
|
||
qy_prsnt = parseInt(qy_prsnt) + 1
|
||
used_prsnt = parseInt(used_prsnt) + 1
|
||
} else {
|
||
qy_prsnt = parseInt(qy_prsnt) - 1
|
||
used_prsnt = parseInt(used_prsnt) - 1
|
||
}
|
||
|
||
if (total_prsnt < used_prsnt) { // 최대 선택 수량 : total
|
||
return false;
|
||
}
|
||
|
||
if (qy_prsnt < 0) { // 최소 선택 수량 : 0
|
||
return false;
|
||
}
|
||
|
||
let prsnt = {
|
||
'goodsInnb': parseInt(goodsInnb),
|
||
'goodsOptnInnb': parseInt(goodsOptnInnb),
|
||
'qy': qy_prsnt
|
||
};
|
||
|
||
|
||
|
||
fn_set_multi_prsnt_qy_update(tbodyClass, prsnt); // 상품 수량 갱신
|
||
|
||
fn_set_multiordrdlcylc(); // 배송지별 상품 세팅
|
||
/** ----------------------------------------- 사은품 수량 체크 ----------------------------------------- */
|
||
} else {
|
||
|
||
let qy = $(tr).find('.product-count__amount-number').text();
|
||
|
||
let qyObject = fn_update_product_count(goodsOptnInnb);
|
||
|
||
let total = 0;
|
||
let used = 0;
|
||
let remain = 0;
|
||
total = parseInt(qyObject.total);
|
||
used = parseInt(qyObject.used);
|
||
remain = parseInt(qyObject.remain);
|
||
|
||
|
||
|
||
if ($(this).hasClass("plus")) {
|
||
qy = parseInt(qy) + 1
|
||
used = parseInt(used) + 1
|
||
} else {
|
||
qy = parseInt(qy) - 1
|
||
used = parseInt(used) - 1
|
||
}
|
||
|
||
if (total < used) { // 최대 선택 수량 : total
|
||
return false;
|
||
}
|
||
|
||
if (qy < 0) { // 최소 선택 수량 : 0
|
||
return false;
|
||
}
|
||
|
||
let goods = {
|
||
'goodsInnb': parseInt(goodsInnb),
|
||
'goodsOptnInnb': parseInt(goodsOptnInnb),
|
||
'qy': qy
|
||
};
|
||
|
||
|
||
|
||
let trgForm = $(this).closest('.multiOrdrInnerShipping').find('form');
|
||
|
||
trgForm.find('.dlvylcCouponList option:first').prop('selected', true).change(); // 수량 변경으로 인한 배송비 쿠폰 초기화
|
||
|
||
fn_set_multi_goods_qy_update(tbodyClass, goods); // 수량 갱신
|
||
|
||
fn_set_multiordrdlcylc(); // 배송지별 상품 세팅
|
||
|
||
// fn_get_dlvylc_coupon_list_multi();
|
||
|
||
fn_get_setle_amt();
|
||
|
||
}
|
||
});
|
||
|
||
}
|
||
|
||
/* ********************************************************
|
||
* function
|
||
**********************************************************/
|
||
|
||
/**
|
||
* 기본배송지 최신화
|
||
*/
|
||
const fn_get_dftdlvylc = function() {
|
||
let data = {
|
||
'mbrInnb' : '<c:out value="${data.purchsr.mbrInnb}"/>',
|
||
'mbrDvCd' : '<c:out value="${data.purchsr.mbrDvCd}"/>'
|
||
}
|
||
|
||
$.ajax({
|
||
type: 'post',
|
||
contentType: 'application/json',
|
||
url: '<c:url value="/sopmal/ordr/selectDftDlvylc"/>',
|
||
data: JSON.stringify(data),
|
||
success: function (data) {
|
||
let parseJson = JSON.parse(data.resBody.result);
|
||
|
||
$('#recpntNm').val(parseJson.dftDlvylc.recpntNm);
|
||
$('#dlvylcAdresDvCd').val(parseJson.dftDlvylc.adresDv);
|
||
$('#dlvylcZip').val(parseJson.dftDlvylc.zip);
|
||
$('#dlvylcLnbAdres').val(parseJson.dftDlvylc.lnbAdres);
|
||
$('#dlvylcRnmAdres').val(parseJson.dftDlvylc.rnmAdres);
|
||
$('#dlvylcAdresDtl').val(parseJson.dftDlvylc.dtlAdres);
|
||
$('#recpntMbtlnb').val(parseJson.dftDlvylc.mbtlnb);
|
||
$('#dlvylcAreaCd').val(parseJson.dftDlvylc.dlvylcAreaCd);
|
||
$('#prefcd').val(parseJson.dftDlvylc.prefcd);
|
||
|
||
let adress = '(' + $('#dlvylcZip').val() + ')' + parseJson.dftDlvylc.adres + $('#dlvylcAdresDtl').val();
|
||
|
||
$('.recpntNm_ordrInfo_text').text($('#recpntNm').val());
|
||
$('.recpntNm_adress_text').text(adress);
|
||
$('.recpntMbtlnb_ordrInfo_text').text($('#recpntMbtlnb').val());
|
||
|
||
}
|
||
});
|
||
|
||
}
|
||
|
||
|
||
/* 여러곳 배송 > 배송지정보 > 배송지 쿠폰 목록 조회 */
|
||
/*const fn_get_dlvylc_coupon_list_multi = function() {
|
||
let dlvylcMulti = {};
|
||
dlvylcMulti['multiOrdrDlvylc'] = JSON.parse(localStorage.getItem('multiOrdrDlvylc'));
|
||
|
||
|
||
if (!fn_is_empty(dlvylcMulti)) {
|
||
|
||
$.ajax({
|
||
type: 'post',
|
||
contentType: 'application/json',
|
||
url: '<c:url value="/sopmal/ordr/selectDlvylcCouponListMulti"/>',
|
||
data: JSON.stringify(dlvylcMulti),
|
||
dataType: 'json',
|
||
async: false,
|
||
success: function (data) {
|
||
if (data.resBody != null) {
|
||
|
||
const result = JSON.parse(data.resBody.result);
|
||
|
||
// JSON 문자열을 실제 배열로 파싱
|
||
const resultArray = JSON.parse(data.resBody.result);
|
||
|
||
// 원본 객체 가져오기
|
||
let dlvylcMulti = JSON.parse(localStorage.getItem('multiOrdrDlvylc'));
|
||
|
||
let dlvyMessageIndex = 0;
|
||
// 배열인 경우 반복
|
||
resultArray.forEach((dlvylcResult, index) => {
|
||
|
||
|
||
if (!fn_is_empty(dlvylcResult.message)) {
|
||
|
||
let dlvyMessage = dlvylcResult.message;
|
||
dlvyMessageIndex = (index + 1);
|
||
|
||
if (index > 0) {
|
||
$('#dlvylcForm' + dlvyMessageIndex).find('.dlvyMultiAlertArea').html('<span style="color: #ff6b6b !important;">(' + dlvyMessage + ')</span>');
|
||
$('#dlvylcForm' + dlvyMessageIndex).find('#dlvylcCouponList' + dlvyMessageIndex).val('0').attr('selected', true).niceSelect('update');
|
||
} else {
|
||
$('#dlvylcForm').find('.dlvyMultiAlertArea').html('<span style="color: #ff6b6b !important;">(' + dlvyMessage + ')</span>');
|
||
$('#dlvylcForm').find('#dlvylcCouponList').val('0').attr('selected', true).niceSelect('update');
|
||
}
|
||
} else {
|
||
if (index > 0) {
|
||
$('#dlvylcForm' + dlvyMessageIndex).find('.dlvyMultiAlertArea').empty();
|
||
} else {
|
||
$('#dlvylcForm').find('.dlvyMultiAlertArea').empty();
|
||
}
|
||
|
||
}
|
||
|
||
const dlvylcCouponList = dlvylcResult.dlvylcCouponList;
|
||
|
||
if (!fn_is_empty(dlvylcCouponList)) {
|
||
fn_set_dlvylc_coupon_list_multi(dlvylcResult, index + 1);
|
||
}
|
||
|
||
// 배송지 쿠폰 스토리지 세팅
|
||
if (dlvylcMulti && dlvylcMulti.dlvylc && dlvylcMulti.dlvylc[index] && !fn_is_empty(dlvylcResult.dlvylcCouponList)) {
|
||
|
||
// Object.assign(dlvylcMulti.dlvylc[index], dlvylcResult);
|
||
|
||
dlvylcMulti.dlvylc[index].usedDlvylcCouponList = dlvylcResult.usedDlvylcCouponList;
|
||
dlvylcMulti.dlvylc[index].dlvylcCouponList = dlvylcResult.dlvylcCouponList;
|
||
dlvylcMulti.dlvylc[index].dlvylcDscntDtls = dlvylcResult.dlvylcDscntDtls;
|
||
}
|
||
|
||
localStorage.setItem('multiOrdrDlvylc', JSON.stringify(dlvylcMulti));
|
||
|
||
});
|
||
|
||
}
|
||
},
|
||
error: function (data) {
|
||
alert('<spring:message code="error.internal-server"/>');
|
||
}
|
||
});
|
||
}
|
||
}*/
|
||
|
||
/* 여러곳 배송 > 배송지정보 > 배송지 쿠폰 목록 세팅 */
|
||
/*const fn_set_dlvylc_coupon_list_multi = function(data, formIndex) {
|
||
|
||
if (!fn_is_empty(data)) {
|
||
let form = $('#dlvylcForm');
|
||
let select = $(form).find('#dlvylcCouponList');
|
||
|
||
if (formIndex > 1) {
|
||
form = $('#dlvylcForm' + formIndex);
|
||
select = $(form).find('#dlvylcCouponList' + formIndex);
|
||
}
|
||
|
||
|
||
|
||
const dlvylcCouponList = data.dlvylcCouponList;
|
||
|
||
if (!fn_is_empty(dlvylcCouponList)) {
|
||
const couponCnt = dlvylcCouponList.length;
|
||
|
||
let option = '<option value="0">선택</option>';
|
||
|
||
for (let i = 0; i < couponCnt; i++) {
|
||
const coupon = dlvylcCouponList[i];
|
||
|
||
option += '<option value="' + coupon.dwldCouponInnb +
|
||
'" coupon-innb="' + coupon.couponInnb +
|
||
'" dplct-dscnt-at="' + coupon.dplctDscntAt +
|
||
'" otr-coupon-smtm_use-at="' + coupon.otrCouponSmtmUseAt + '" ' + ('Y' == coupon.isUse ? 'selected' : '') + '/>';
|
||
option += ('Y' == coupon.otrCouponSmtmUseAt ? '' : '') + coupon.coupNm;
|
||
option += '</option>';
|
||
}
|
||
|
||
$(select).empty().append(option).niceSelect('update');
|
||
} else {
|
||
$(select).empty().append('<option value="0" selected>선택</option>').niceSelect('update');
|
||
}
|
||
|
||
if (!fn_is_empty(data.dlvyAmt)) {
|
||
$(form).find('.dlvyAmt').val(data.dlvyAmt);
|
||
}
|
||
}
|
||
}*/
|
||
|
||
|
||
/* 여러곳 배송 > 배송지별 상품목록 동기화 */
|
||
const fn_set_multiordrdlcylc = function() {
|
||
localStorage.removeItem('multiOrdrDlvylc');
|
||
const mbrDvCd = $('#mbrDvCd').val();
|
||
const mbrId = $('#mbrId').val();
|
||
const sopmalCd = $('#sopmalCd').val();
|
||
|
||
let multiOrdrDlvylc = {
|
||
dlvylc: []
|
||
};
|
||
|
||
const dlvylcDvCd = $('input[name="dlvylcDvCd"]:checked').val();
|
||
|
||
$('.multiOrdrInnerShipping').each(function (idx) {
|
||
let form = $(this).find('form');
|
||
|
||
let dftDlvyAmt = parseAmount($(form).find('input[name="dftDlvyAmt"]').val());
|
||
let dlvyAmt = parseAmount($(form).find('input[name="dlvyAmt"]').val());
|
||
let couponInnb = parseAmount($(form).find('input[name="couponInnb"]').val());
|
||
let dwldCouponInnb = parseAmount($(form).find('input[name="dwldCouponInnb"]').val());
|
||
let dplctDscntAt = $(form).find('input[name="dplctDscntAt"]').val();
|
||
let otrCouponSmtmUseAt = $(form).find('input[name="otrCouponSmtmUseAt"]').val();
|
||
let mngrFreeDlvyUseAt = $(form).find('input[name="mngrFreeDlvyUseAt"]').val();
|
||
|
||
let dlvylcZip = '';
|
||
let dlvylcAreaCd = '';
|
||
let prefcd = '';
|
||
let recpntNm = '';
|
||
let recpntMbtlnb = '';
|
||
let dlvylcAdresDvCd = '';
|
||
let dlvylcLnbAdres = '';
|
||
let dlvylcRnmAdres = '';
|
||
let dlvylcAdresDtl = '';
|
||
let dlvyMssageCn = '';
|
||
|
||
if ('Default' === dlvylcDvCd) {
|
||
if (idx < 1) { // 첫번째 배송지만
|
||
dlvylcZip = $(form).find('#dlvylcZip').val();
|
||
dlvylcAreaCd = $(form).find('#dlvylcAreaCd').val();
|
||
prefcd = $(form).find('#prefcd').val();
|
||
recpntNm = $(form).find('#recpntNm').val();
|
||
recpntMbtlnb = $(form).find('#recpntMbtlnb').val();
|
||
dlvylcAdresDvCd = $(form).find('#dlvylcAdresDvCd').val();
|
||
dlvylcLnbAdres = $(form).find('#dlvylcLnbAdres').val();
|
||
dlvylcRnmAdres = $(form).find('#dlvylcRnmAdres').val();
|
||
dlvylcAdresDtl = $(form).find('#dlvylcAdresDtl').val();
|
||
dlvyMssageCn = $(form).find('#dlvyMssageCn').val();
|
||
} else { // 나머지 배송지
|
||
dlvylcZip = $(form).find('input[name="dlvylcZip"]').val();
|
||
dlvylcAreaCd = $(form).find('#dlvylcAreaCd').val();
|
||
prefcd = $(form).find('#prefcd').val();
|
||
recpntNm = $(form).find('input[name="recpntNm"]').val();
|
||
recpntMbtlnb = $(form).find('input[name="recpntMbtlnb"]').val();
|
||
dlvylcAdresDvCd = $(form).find('input[name="dlvylcAdresDvCd"]').val();
|
||
dlvylcLnbAdres = $(form).find('input[name="dlvylcLnbAdres"]').val();
|
||
dlvylcRnmAdres = $(form).find('input[name="dlvylcRnmAdres"]').val();
|
||
dlvylcAdresDtl = $(form).find('input[name="dlvylcAdresDtl"]').val();
|
||
dlvyMssageCn = $(form).find('input[name="dlvyMssageCn"]').val();
|
||
}
|
||
} else {
|
||
dlvylcZip = $(form).find('input[name="dlvylcZip"]').val();
|
||
dlvylcAreaCd = $(form).find('#dlvylcAreaCd').val();
|
||
prefcd = $(form).find('#prefcd').val();
|
||
recpntNm = $(form).find('input[name="recpntNm"]').val();
|
||
recpntMbtlnb = $(form).find('input[name="recpntMbtlnb"]').val();
|
||
dlvylcAdresDvCd = $(form).find('input[name="dlvylcAdresDvCd"]').val();
|
||
dlvylcLnbAdres = $(form).find('input[name="dlvylcLnbAdres"]').val();
|
||
dlvylcRnmAdres = $(form).find('input[name="dlvylcRnmAdres"]').val();
|
||
dlvylcAdresDtl = $(form).find('input[name="dlvylcAdresDtl"]').val();
|
||
dlvyMssageCn = $(form).find('input[name="dlvyMssageCn"]').val();
|
||
}
|
||
|
||
let dlvylc = {
|
||
dftDlvyAmt: dftDlvyAmt,
|
||
dlvyAmt: dlvyAmt,
|
||
couponInnb: couponInnb,
|
||
dwldCouponInnb: dwldCouponInnb,
|
||
dplctDscntAt: dplctDscntAt,
|
||
otrCouponSmtmUseAt: otrCouponSmtmUseAt,
|
||
mngrFreeDlvyUseAt: mngrFreeDlvyUseAt,
|
||
dlvylcZip: dlvylcZip,
|
||
dlvylcAreaCd: dlvylcAreaCd,
|
||
prefcd: prefcd,
|
||
recpntNm: recpntNm,
|
||
recpntMbtlnb: recpntMbtlnb,
|
||
dlvylcAdresDvCd: dlvylcAdresDvCd,
|
||
dlvylcLnbAdres: dlvylcLnbAdres,
|
||
dlvylcRnmAdres: dlvylcRnmAdres,
|
||
dlvylcAdresDtl: dlvylcAdresDtl,
|
||
dlvyMssageCn: dlvyMssageCn,
|
||
goodsList: [],
|
||
prsntList: [],
|
||
};
|
||
|
||
$(this).find('tr.productRow').each(function () {
|
||
let goodsInnb = $(this).find('.goodsInnb').val();
|
||
let goodsOptnInnb = $(this).find('.productGoodsOptnInnb').val();
|
||
let qy = parseAmount($(this).find('.product-count__amount-number').text());
|
||
let dscntApplyAmt = parseAmount($(this).find('.product-dscntApplyAmt').text());
|
||
let dlvyGroupInnb = parseAmount($(this).find('.product-dlvyGroupInnb').val());
|
||
let slepric = parseAmount($(this).find('.product-slepric').val());
|
||
let subSlepric = parseAmount($(this).find('.product-slepric').val()) * qy;
|
||
let dscntAmt = parseAmount($(this).find('.product-dscntAmt').val());
|
||
let mbrInnb = parseAmount($(this).find('.product-mbrInnb').val());
|
||
|
||
let goods = {
|
||
goodsInnb: parseInt(goodsInnb),
|
||
goodsOptnInnb: parseInt(goodsOptnInnb),
|
||
qy: qy,
|
||
dscntApplyAmt: dscntApplyAmt,
|
||
dlvyGroupInnb: dlvyGroupInnb,
|
||
slepric: slepric,
|
||
subSlepric: subSlepric,
|
||
dscntAmt: dscntAmt,
|
||
mbrInnb: mbrInnb,
|
||
mbrDvCd: mbrDvCd,
|
||
sopmalCd: sopmalCd
|
||
};
|
||
|
||
if (qy > 0) {
|
||
dlvylc.goodsList.push(goods);
|
||
}
|
||
});
|
||
|
||
$(this).find('tr.productRow_prsnt').each(function () {
|
||
let goodsInnb = $(this).find('.goodsInnb').val();
|
||
let goodsOptnInnb = $(this).find('.productGoodsOptnInnb').val();
|
||
let qy = parseAmount($(this).find('.product-count__amount-number').text());
|
||
let evtInnb = parseAmount($(this).find('.productEvtInnb').text());
|
||
let isRcvPrsnt = $(this).find('.productIsRcvPrsnt').val();
|
||
// let mbrInnb = parseAmount($(this).find('.product-mbrInnb').val());
|
||
|
||
let prsnt = {
|
||
goodsInnb: parseInt(goodsInnb),
|
||
goodsOptnInnb: parseInt(goodsOptnInnb),
|
||
provdCnt: qy,
|
||
evtInnb: evtInnb,
|
||
isRcvPrsnt: isRcvPrsnt
|
||
// mbrInnb: mbrInnb,
|
||
// mbrDvCd: mbrDvCd,
|
||
// sopmalCd: sopmalCd
|
||
};
|
||
|
||
if (qy > 0) {
|
||
dlvylc.prsntList.push(prsnt);
|
||
}
|
||
});
|
||
|
||
|
||
|
||
multiOrdrDlvylc.dlvylc.push(dlvylc);
|
||
});
|
||
|
||
localStorage.setItem('multiOrdrDlvylc', JSON.stringify(multiOrdrDlvylc));
|
||
}
|
||
|
||
|
||
|
||
/**
|
||
* 여러곳 배송 > 배송지별 남은 수량 갱신
|
||
*/
|
||
const fn_update_product_remain = function() {
|
||
|
||
$('.multiOrdrInnerShipping').each(function (idx) {
|
||
let tbodyClass = $(this).closest('tbody').attr('class');
|
||
|
||
$(this).find('tr.productRow').each(function (idx2) {
|
||
let goodsInnb = $(this).find('.goodsInnb').val();
|
||
let goodsOptnInnb = $(this).find('.productGoodsOptnInnb').val();
|
||
let qy = $(this).find('.productQtyInput').val();
|
||
|
||
let qyObject = fn_update_product_count(goodsOptnInnb);
|
||
|
||
let goods = {
|
||
'goodsInnb': parseInt(goodsInnb),
|
||
'goodsOptnInnb': parseInt(goodsOptnInnb),
|
||
'qy': parseInt(qy)
|
||
};
|
||
|
||
|
||
|
||
fn_set_multi_goods_qy_update(tbodyClass, goods);
|
||
});
|
||
|
||
|
||
$(this).find('tr.productRow_prsnt').each(function (idx2) {
|
||
let goodsInnb = $(this).find('.goodsInnb').val();
|
||
let goodsOptnInnb = $(this).find('.productGoodsOptnInnb').val();
|
||
let qy = $(this).find('.productQtyInput').val();
|
||
|
||
let qyObject = fn_update_product_count_prsnt(goodsOptnInnb);
|
||
|
||
let prsnt = {
|
||
'goodsInnb': parseInt(goodsInnb),
|
||
'goodsOptnInnb': parseInt(goodsOptnInnb),
|
||
'qy': parseInt(qy)
|
||
};
|
||
|
||
|
||
|
||
fn_set_multi_prsnt_qy_update(tbodyClass, prsnt);
|
||
});
|
||
|
||
});
|
||
|
||
};
|
||
|
||
|
||
/**
|
||
* 여러곳 배송 > 배송지 삭제
|
||
* @param multiShippingId
|
||
*/
|
||
const fn_delete_multi_shipping = function(multiShippingId, btn) {
|
||
if (confirm("정말 삭제하시겠습니까?")) {
|
||
let trgForm = $('#' + multiShippingId).find('form');
|
||
|
||
trgForm.find('.dlvylcCouponList option:first').prop('selected', true).change(); // 수량 변경으로 인한 배송비 쿠폰 초기화
|
||
|
||
$('#' + multiShippingId).remove();
|
||
$(btn).closest('h3').remove();
|
||
|
||
fn_renumber_multi_shipping();
|
||
|
||
fn_update_product_remain(); // 배송지별 남은수량 갱신
|
||
|
||
fn_set_multiordrdlcylc();
|
||
|
||
// fn_get_dlvylc_coupon_list_multi();
|
||
|
||
fn_get_setle_amt();
|
||
}
|
||
};
|
||
|
||
|
||
/**
|
||
* 여러곳 배송 > 총 상품 수량 계산
|
||
* @param multiGoodsOptnInnb
|
||
*/
|
||
const fn_update_product_count = function(multiGoodsOptnInnb) {
|
||
const total = parseAmount($('#goodsList .ordrGoods[data-product-id="'+ multiGoodsOptnInnb +'"]').find('.productQtyInput').val());
|
||
let used = 0;
|
||
let remain = 0;
|
||
|
||
$('.multiOrdrInnerShipping').each(function (idx) {
|
||
$(this).find('tr.productRow[data-product-id="'+ multiGoodsOptnInnb +'"]').each(function (idx2) {
|
||
let thisUseQy = parseAmount($(this).find('.product-count__amount-number').text());
|
||
|
||
used += thisUseQy;
|
||
});
|
||
});
|
||
|
||
remain = total - used;
|
||
|
||
let qyObject = {
|
||
'total' : total,
|
||
'used' : used,
|
||
'remain' : remain
|
||
};
|
||
|
||
return qyObject;
|
||
};
|
||
|
||
|
||
/**
|
||
* 여러곳 배송 > 총 상품 수량 계산
|
||
* @param multiGoodsOptnInnb
|
||
*/
|
||
const fn_update_product_count_prsnt = function(multiGoodsOptnInnb) {
|
||
const total = parseAmount($('#prsntList .ordrPrsnt[data-product-id="'+ multiGoodsOptnInnb +'"]').find('.productQtyInput').val());
|
||
let used = 0;
|
||
let remain = 0;
|
||
|
||
$('.multiOrdrInnerShipping').each(function (idx) {
|
||
$(this).find('tr.productRow_prsnt[data-product-id="'+ multiGoodsOptnInnb +'"]').each(function (idx2) {
|
||
let thisUseQy = parseAmount($(this).find('.product-count__amount-number').text());
|
||
|
||
used += thisUseQy;
|
||
});
|
||
});
|
||
|
||
remain = total - used;
|
||
|
||
let qyObject = {
|
||
'total' : total,
|
||
'used' : used,
|
||
'remain' : remain
|
||
};
|
||
|
||
return qyObject;
|
||
};
|
||
|
||
|
||
/**
|
||
* 여러곳 배송 > 배송지 번호 재정렬 함수
|
||
*/
|
||
const fn_renumber_multi_shipping = function() {
|
||
// 남은 배송지 재정렬
|
||
$('.multiOrdr .multiOrdrInnerShipping').each(function(index) {
|
||
const newIndex = index + 1;
|
||
if (newIndex > 1) {
|
||
const newDivId = 'multiShippingId' + newIndex;
|
||
|
||
// 배송지 ID 변경
|
||
$(this).attr('id', newDivId);
|
||
|
||
// 제목 텍스트 수정
|
||
$(this).prev('h3').html('배송지 정보 ' + newIndex + ' <button class="btn sm outline" type="button" onclick="fn_delete_multi_shipping(\'' + newDivId + '\', this)">삭제 -</button>');
|
||
|
||
// 상품 컨테이너 클래스 정리 및 재설정
|
||
$(this).find('[class^="multiOrdrGoodsList"]').removeClass(function (i, className) {
|
||
return (className.match(/multiOrdrGoodsList\d+/g) || []).join(' ');
|
||
}).addClass('multiOrdrGoodsList' + newIndex);
|
||
|
||
$(this).find('[id]').each(function () {
|
||
const oldId = $(this).attr('id');
|
||
const newId = oldId.replace(/(\D+)\d+$/, '$1' + newIndex);
|
||
$(this).attr('id', newId);
|
||
});
|
||
|
||
$(this).find('[name]').each(function () {
|
||
const oldName = $(this).attr('name');
|
||
const newName = oldName.replace(/(\D+)\d+$/, '$1' + newIndex);
|
||
$(this).attr('name', newName);
|
||
});
|
||
}
|
||
});
|
||
};
|
||
|
||
|
||
/**
|
||
* 여러곳 배송 > 수량 변경 text 업데이트
|
||
* @param multiGoodsOptnInnb
|
||
*/
|
||
const fn_set_multi_goods_qy_update = function(tbodyClass, goods) {
|
||
const tr = $('.' + tbodyClass).find('.ordrGoods[data-product-id="' + goods.goodsOptnInnb + '"]');
|
||
tr.find('.product-count__amount-number').text(goods.qy);
|
||
|
||
let product_subCnsmrpric = parseAmount($('#goodsList .ordrGoods[data-product-id="'+ goods.goodsOptnInnb +'"]').find('.product-subCnsmrpric').text());
|
||
let product_dscntAmt = parseAmount($('#goodsList .ordrGoods[data-product-id="'+ goods.goodsOptnInnb +'"]').find('.product-dscntAmt').val());
|
||
let product_dscntAmt_text = parseAmount($('#goodsList .ordrGoods[data-product-id="'+ goods.goodsOptnInnb +'"]').find('.product-dscntAmt-text').text());
|
||
let product_dscntApplyAmt = parseAmount($('#goodsList .ordrGoods[data-product-id="'+ goods.goodsOptnInnb +'"]').find('.product-dscntApplyAmt').text());
|
||
|
||
let subCnsmrpric = 0;
|
||
let dscntAmt = 0;
|
||
let dscntAmt_text = 0;
|
||
let dscntApplyAmt = 0;
|
||
|
||
let qyObject = fn_update_product_count(goods.goodsOptnInnb);
|
||
|
||
|
||
const total = qyObject.total;
|
||
|
||
$('.multiOrdrInnerShipping').each(function (idx) {
|
||
$(this).find('tr.productRow[data-product-id="'+ goods.goodsOptnInnb +'"]').each(function (idx2) {
|
||
// 남은 수량 최신화
|
||
$(this).find('.product-remain-qy').text(qyObject.remain);
|
||
$(this).find('.product-total-qy').text(qyObject.total);
|
||
|
||
let used = parseAmount($(this).find('.product-count__amount-number').text());
|
||
|
||
subCnsmrpric = product_subCnsmrpric * used / total;
|
||
dscntAmt = product_dscntAmt * used / total;
|
||
dscntAmt_text = product_dscntAmt_text * used / total;
|
||
dscntApplyAmt = product_dscntApplyAmt * used / total;
|
||
|
||
// 히든값 최신화
|
||
$(this).find('.product-dscntAmt').text(Math.floor(dscntAmt));
|
||
$(this).find('.product-dscntAmt').val(Math.floor(dscntAmt));
|
||
|
||
// 화면에 보이는 금액 최신화
|
||
$(this).find('.product-subCnsmrpric').text(Math.floor(subCnsmrpric).toLocaleString());
|
||
$(this).find('.product-dscntAmt-text').text(Math.floor(dscntAmt_text).toLocaleString());
|
||
$(this).find('.product-dscntApplyAmt').text(Math.floor(dscntApplyAmt).toLocaleString());
|
||
});
|
||
});
|
||
};
|
||
|
||
|
||
/**
|
||
* 여러곳 배송 > 사은품 수량 변경 text 업데이트
|
||
* @param multiGoodsOptnInnb
|
||
*/
|
||
const fn_set_multi_prsnt_qy_update = function(tbodyClass, goods) {
|
||
const tr = $('.' + tbodyClass).find('.ordrPrsnt[data-product-id="' + goods.goodsOptnInnb + '"]');
|
||
tr.find('.product-count__amount-number').text(goods.qy);
|
||
|
||
let qyObject = fn_update_product_count_prsnt(goods.goodsOptnInnb);
|
||
|
||
|
||
$('.multiOrdrInnerShipping').each(function (idx) {
|
||
$(this).find('tr.productRow_prsnt[data-product-id="'+ goods.goodsOptnInnb +'"]').each(function (idx2) {
|
||
// 남은 수량 최신화
|
||
$(this).find('.product-remain-qy').text(qyObject.remain);
|
||
$(this).find('.product-total-qy').text(qyObject.total);
|
||
});
|
||
});
|
||
};
|
||
|
||
|
||
/**
|
||
* 여러곳 배송 > 배송지 추가
|
||
* @param data multiDlvylcAdd
|
||
*/
|
||
const fn_set_multi_dlvylc = function() {
|
||
let count = 0;
|
||
count = $('.multiOrdr .multiOrdrInnerShipping').length + 1;
|
||
|
||
|
||
let html = '';
|
||
html += '<h3 class="orderInfo__sectionTitle">배송지 정보 ' + count + ' <button class="btn sm outline" type="button" onclick="fn_delete_multi_shipping(\'multiShippingId' + count + '\', this)">삭제 -</button></h3>';
|
||
html += '<div class="order-payment__recipient-wrapper multiOrdrInnerShipping" id="multiShippingId' + count + '">';
|
||
html += ' <div class="order-payment__multiDelivery-address address-hide">';
|
||
|
||
html += ' <form id="dlvylcForm' + count + '">';
|
||
html += ' <input type="hidden" name="dftDlvyAmt" >';
|
||
html += ' <input type="hidden" name="dlvyAmt" >';
|
||
html += ' <input type="hidden" name="couponInnb">';
|
||
html += ' <input type="hidden" name="dwldCouponInnb" value= "0">';
|
||
html += ' <input type="hidden" name="dplctDscntAt">';
|
||
html += ' <input type="hidden" name="otrCouponSmtmUseAt">';
|
||
html += ' <input type="hidden" name="mngrFreeDlvyUseAt" value="N">';
|
||
html += ' <div class="table-wrapper orderInfo__table">';
|
||
html += ' <table class="table">';
|
||
html += ' <caption>배송지 정보</caption>';
|
||
html += ' <!-- 각 열 width 설정 -->';
|
||
html += ' <colgroup>';
|
||
html += ' <col style="width: 180px;">';
|
||
html += ' <col style="width: auto;">';
|
||
html += ' </colgroup>';
|
||
html += ' <tbody>';
|
||
html += ' <tr class="" >';
|
||
html += ' <th><span class="orderInfo__title">받는분</span></th>';
|
||
html += ' <td><input type="text" name="recpntNm" class="new rqrd input-text" title="받는분 이름" placeholder="받는분 이름을 입력하세요.">';
|
||
html += ' <a href="javascript:void(0);" id="btnDlvylcMngr'+ count +'" class="btn md outline orderInfo__editBtn btnDlvylcMngr" >배송지 관리</a>';
|
||
html += ' </td>';
|
||
html += ' </tr>';
|
||
html += ' <tr class="" >';
|
||
html += ' <th><span class="orderInfo__title">주소</span></th>';
|
||
html += ' <td>';
|
||
html += ' <div class="inputAddress">';
|
||
html += ' <div class="inputAddress__postalCode">';
|
||
html += ' <input type="text" id="postcode' + count + '" name="dlvylcZip" class="new input-text rqrd" title="우편번호" placeholder="" readonly>';
|
||
html += ' <button type="button" id="btnPost1' + count + '" onclick="fn_select_postcode(fn_set_postcode, this); return false;" class="btn md theme outline">우편번호 찾기</button>';
|
||
html += ' </div>';
|
||
html += ' <input type="text" name="dlvylcAdres" class="new rqrd input-text full" title="주소" placeholder="" readonly>';
|
||
html += ' <input type="text" name="dlvylcAdresDtl" class="new rqrd input-text full" title="나머지 주소" placeholder="나머지 주소를 입력해 주세요.">';
|
||
html += ' <input type="hidden" name="dlvylcAdresDvCd" class="new">';
|
||
html += ' <input type="hidden" name="dlvylcLnbAdres" class="new">';
|
||
html += ' <input type="hidden" name="dlvylcRnmAdres" class="new">';
|
||
html += ' <input type="hidden" name="dlvylcAreaCd" class="new">';
|
||
html += ' <input type="hidden" name="prefcd" class="new">';
|
||
html += ' </div>';
|
||
html += ' </td>';
|
||
html += ' </tr>';
|
||
html += ' <tr class="">';
|
||
html += ' <th> <span class="orderInfo__title">휴대폰번호</span></th>';
|
||
html += ' <td>';
|
||
html += ' <input type="text" name="recpntMbtlnb" oninput="fn_set_event(this, \'keyup\', fn_fmt_telno)" maxlength="13" class="new rqrd input-text number" title="휴대폰번호" placeholder="휴대폰번호 입력 (’-’ 없이)">';
|
||
html += ' </td>';
|
||
html += ' </tr>';
|
||
html += ' <tr class="">';
|
||
html += ' <th> <span class="orderInfo__title">개인통관번호</span></th>';
|
||
html += ' <td>';
|
||
html += ' <input type="text" name="cstmclerCd" maxlength="13" class="m-input" title="개인통관번호" placeholder="P로 시작하는 13자리 부호를 입력하세요">';
|
||
html += ' </td>';
|
||
html += ' </tr>';
|
||
html += ' <!-- 신규 배송지 선택 시 End -->';
|
||
html += ' <tr>';
|
||
html += ' <th><span class="orderInfo__title">배송요청사항</span></th>';
|
||
html += ' <td>';
|
||
html += ' <div class="orderInfo__deliveryRequest">';
|
||
html += ' <div class="select-box">';
|
||
html += ' <select class="deliveryRequestSelect" title="배송요청사항">';
|
||
html += ' <option value="" selected>배송 시 요청 사항을 선택해주세요</option>';
|
||
html += ' <option value="배송 전 연락 주세요">배송 전 연락 주세요.</option>';
|
||
html += ' <option value="부재 시 문 앞에 놓아 주세요">부재 시 문 앞에 놓아 주세요</option>';
|
||
html += ' <option value="부재 시 경비실에 맡겨 주세요.">부재 시 경비실에 맡겨 주세요.</option>';
|
||
html += ' <option value="write">직접입력</option>';
|
||
html += ' </select>';
|
||
html += ' </div>';
|
||
html += ' <div class="inputLimit deliveryRequestDetail" style="display:none;">';
|
||
html += ' <input type="text" name="dlvyMssageCn" id="dlvyMssageCn' + count + '" maxlength="50" class="input-text dft" title="배송요청사항" placeholder="50자 이내로 입력해 주세요.">';
|
||
html += ' <span class="inputLimit__text">';
|
||
html += ' <span class="inputLimit__current">0</span>';
|
||
html += ' <span class="inputLimit__divider">/</span>';
|
||
html += ' <span class="inputLimit__total">50</span>';
|
||
html += ' </span>';
|
||
html += ' </div>';
|
||
html += ' </div>';
|
||
html += ' </td>';
|
||
html += ' </tr>';
|
||
// html += ' <tr>';
|
||
// html += ' <th><span class="orderInfo__title">배송비쿠폰</span></th>';
|
||
// html += ' <td>';
|
||
// html += ' <div class="cartItem__footer">';
|
||
// html += ' <div class="select-box">';
|
||
// html += ' <select name="dlvylcCouponList' + count + '" id="dlvylcCouponList' + count + '" class="lg dlvylcCouponList" title="배송지 쿠폰할인">';
|
||
// html += ' <option value="" selected>선택</option>';
|
||
// html += ' </select>';
|
||
// html += ' </div>';
|
||
// html += ' </div>';
|
||
// html += ' <div class="dlvyMultiAlertArea">';
|
||
// html += ' </div>';
|
||
// html += ' </td>';
|
||
// html += ' </tr>';
|
||
html += ' </tbody>';
|
||
html += ' </table>';
|
||
html += ' </div>';
|
||
html += ' </form>';
|
||
|
||
html += ' </div>';
|
||
html += ' <div class="cartOrder__list">';
|
||
html += ' <div class="table-wrapper">';
|
||
html += ' <table class="table vertical">';
|
||
html += ' <caption>해당 테이블에 대한 설명</caption>';
|
||
html += ' <!-- 각 열 width 설정 -->';
|
||
html += ' <colgroup>';
|
||
html += ' <col style="width: 400px;">';
|
||
html += ' <col style="width: 120px">';
|
||
html += ' <col style="width: 120px">';
|
||
html += ' <col style="width: auto;">';
|
||
html += ' </colgroup>';
|
||
html += ' <thead>';
|
||
html += ' <tr>';
|
||
html += ' <th>상품명</th>';
|
||
html += ' <th>주문수량</th>';
|
||
html += ' <th>할인금액</th>';
|
||
html += ' <th>상품금액</th>';
|
||
html += ' </tr>';
|
||
html += ' </thead>';
|
||
html += ' <tbody class="multiOrdrGoodsList' + count + '">';
|
||
|
||
html += ' </tbody>';
|
||
html += ' </table>';
|
||
html += ' </div>';
|
||
html += ' </div>';
|
||
html += '</div>';
|
||
|
||
$('#lastDlvylcArea').before(html);
|
||
$('#multiShippingId' + count).find('select').niceSelect();
|
||
|
||
$('#goodsList .ordrGoods').each(function () {
|
||
let cloneGoods = $(this).clone();
|
||
|
||
cloneGoods.addClass('productRow');
|
||
|
||
cloneGoods.find('td.qyTd').html(`
|
||
<div class="product-count__amount-counter">
|
||
<button class="product-count__amount-btn minus">
|
||
<span class="visually-hidden">감소</span>
|
||
</button>
|
||
<span class="product-count__amount-number">0</span>
|
||
<button class="product-count__amount-btn plus">
|
||
<span class="visually-hidden">추가</span>
|
||
</button>
|
||
</div>
|
||
<div>
|
||
( <span class="red-4 product-remain-qy">0</span> / <span class="gray-6 product-total-qy">0</span> )
|
||
</div>
|
||
`);
|
||
|
||
$('.multiOrdrGoodsList' + count).append(cloneGoods);
|
||
});
|
||
|
||
$('#prsntList .ordrPrsnt').each(function () {
|
||
let clonePrsnt = $(this).clone();
|
||
|
||
clonePrsnt.addClass('productRow_prsnt');
|
||
|
||
clonePrsnt.find('td.removeTd').remove();
|
||
|
||
clonePrsnt.find('td.qyTd').html(`
|
||
<div class="product-count__amount-counter">
|
||
<button class="product-count__amount-btn minus">
|
||
<span class="visually-hidden">감소</span>
|
||
</button>
|
||
<span class="product-count__amount-number">0</span>
|
||
<button class="product-count__amount-btn plus">
|
||
<span class="visually-hidden">추가</span>
|
||
</button>
|
||
</div>
|
||
<div>
|
||
( <span class="red-4 product-remain-qy">0</span> / <span class="gray-6 product-total-qy">0</span> )
|
||
</div>
|
||
`);
|
||
|
||
|
||
|
||
$('.multiOrdrGoodsList' + count).append(clonePrsnt);
|
||
});
|
||
|
||
fn_update_product_remain();
|
||
|
||
fn_set_multiordrdlcylc();
|
||
|
||
// fn_get_dlvylc_coupon_list_multi();
|
||
}
|
||
|
||
|
||
/**
|
||
* 여러곳 배송 > 주문 유형별 영역 제어
|
||
* @param data
|
||
*/
|
||
const fn_set_ordrty = function () {
|
||
let ordrTyValue = $('input[name="ordrTy"]:checked').val();
|
||
const dlvylcDvCd = $('input[name="dlvylcDvCd"]:checked').val();
|
||
|
||
if ('01' === ordrTyValue || '04' === ordrTyValue) { // 일분 주문, 선물하기
|
||
$('.dftOrdr').show();
|
||
$('.multiOrdr').hide();
|
||
$('.multiFrstDlvylc #dlvylcForm').appendTo('.dftOrdr');
|
||
$('.multiOrdrGoodsList1').empty();
|
||
|
||
$('.multiOrdrInnerShipping').each(function (idx) {
|
||
if (idx > 0) {
|
||
$(this).remove();
|
||
}
|
||
});
|
||
|
||
$('.multiOrdr h3').each(function (idx) {
|
||
if (idx > 0) {
|
||
$(this).remove();
|
||
}
|
||
});
|
||
|
||
localStorage.removeItem('multiOrdrDlvylc');
|
||
|
||
// fn_get_dlvylc_coupon_list();
|
||
|
||
fn_get_setle_amt(); // 결제예정금액 조회
|
||
} else if ('05' === ordrTyValue) { // 여러곳 배송
|
||
$('.dftOrdr').hide();
|
||
$('.multiOrdr').show();
|
||
$('#dlvylcForm').appendTo('.multiFrstDlvylc');
|
||
|
||
$('.multiOrdrGoodsList1').empty();
|
||
$('#goodsList .ordrGoods').each(function () {
|
||
let goodsQy = 0;
|
||
// goodsQy = $(this).find('.productQtyInput').val(); // (2025-06-05) CJH : 수량이 많아질 경우 분배하기 어려워서 기본 1세팅으로 수정.
|
||
goodsQy = 1;
|
||
|
||
|
||
let cloneGoods = $(this).clone();
|
||
|
||
cloneGoods.addClass('productRow');
|
||
|
||
let multiGoodsOptnInnb = $(this).find('.productGoodsOptnInnb').val();
|
||
let multiGoodsInnb = $(this).find('.goodsInnb').val();
|
||
|
||
cloneGoods.find('td.qyTd').html(`
|
||
<div class="product-count__amount-counter">
|
||
<button class="product-count__amount-btn minus">
|
||
<span class="visually-hidden">감소</span>
|
||
</button>
|
||
<span class="product-count__amount-number">0</span>
|
||
<button class="product-count__amount-btn plus">
|
||
<span class="visually-hidden">추가</span>
|
||
</button>
|
||
</div>
|
||
<div>
|
||
( <span class="red-4 product-remain-qy">0</span> / <span class="gray-6 product-total-qy">0</span> )
|
||
</div>
|
||
`);
|
||
|
||
$('.multiOrdrGoodsList1').append(cloneGoods);
|
||
|
||
let goods = {
|
||
'goodsInnb': parseInt(multiGoodsInnb),
|
||
'goodsOptnInnb': parseInt(multiGoodsOptnInnb),
|
||
'qy': parseInt(goodsQy)
|
||
};
|
||
|
||
fn_set_multi_goods_qy_update('multiOrdrGoodsList1', goods); // 남은 수량 갱신
|
||
});
|
||
|
||
$('#prsntList .ordrPrsnt').each(function () {
|
||
let goodsQy = 0;
|
||
// goodsQy = $(this).find('.productQtyInput').val(); // (2025-06-05) CJH : 수량이 많아질 경우 분배하기 어려워서 기본 1세팅으로 수정.
|
||
goodsQy = 1;
|
||
|
||
|
||
let clonePrsnt = $(this).clone();
|
||
|
||
clonePrsnt.addClass('productRow_prsnt');
|
||
|
||
let multiGoodsOptnInnb = $(this).find('.productGoodsOptnInnb').val();
|
||
let multiGoodsInnb = $(this).find('.goodsInnb').val();
|
||
|
||
clonePrsnt.find('td.removeTd').remove();
|
||
|
||
clonePrsnt.find('td.qyTd').html(`
|
||
<div class="product-count__amount-counter">
|
||
<button class="product-count__amount-btn minus">
|
||
<span class="visually-hidden">감소</span>
|
||
</button>
|
||
<span class="product-count__amount-number">0</span>
|
||
<button class="product-count__amount-btn plus">
|
||
<span class="visually-hidden">추가</span>
|
||
</button>
|
||
</div>
|
||
<div>
|
||
( <span class="red-4 product-remain-qy">0</span> / <span class="gray-6 product-total-qy">0</span> )
|
||
</div>
|
||
`);
|
||
|
||
$('.multiOrdrGoodsList1').append(clonePrsnt);
|
||
|
||
let prsnt = {
|
||
'goodsInnb': parseInt(multiGoodsInnb),
|
||
'goodsOptnInnb': parseInt(multiGoodsOptnInnb),
|
||
'qy': parseInt(goodsQy)
|
||
};
|
||
|
||
fn_set_multi_prsnt_qy_update('multiOrdrGoodsList1', prsnt); // 남은 수량 갱신
|
||
});
|
||
|
||
fn_set_multiordrdlcylc(); // 배송지별 상품객체 세팅
|
||
|
||
// fn_get_dlvylc_coupon_list_multi();
|
||
|
||
fn_get_setle_amt(); // 결제예정금액 조회
|
||
}
|
||
|
||
if ('04' === ordrTyValue) { // 선물하기
|
||
$('#dlvylcNew').click();
|
||
$('input[name="dlvylcDvCd"]').prop('disabled', true);
|
||
|
||
$('.presentArea').hide();
|
||
$('.presentArea').find('input').prop('disabled', true);
|
||
$('.cstmclerArea').hide();
|
||
$('.cstmclerArea').find('input').prop('disabled', true);
|
||
$('.presentShowArea').show();
|
||
$('.presentShowArea').find('input').prop('disabled', false);
|
||
|
||
|
||
$('.order-method-normal__btn-container').find('.order-method-normal__btn:not(.gift_pay)').hide(); // 결제 유형 제어
|
||
|
||
$('#pg03').click();
|
||
} else {
|
||
|
||
$('.order-method-normal__btn-container').find('.order-method-normal__btn').show(); // 결제 유형 제어
|
||
|
||
if ('05' === ordrTyValue) {
|
||
$('.order-method-normal__btn-container').find('.not_multi_pay').hide(); // 결제 유형 제어
|
||
}
|
||
|
||
$('input[name="dlvylcDvCd"]').prop('disabled', false);
|
||
|
||
if (dlvylcDvCd === 'New') {
|
||
$('.presentArea').show();
|
||
$('.presentArea').find('input').prop('disabled', false);
|
||
$('.cstmclerArea').show();
|
||
$('.cstmclerArea').find('input').prop('disabled', false);
|
||
$('.presentShowArea').hide();
|
||
$('.presentShowArea').find('input').prop('disabled', true);
|
||
}
|
||
|
||
const isDftDlvylc = $('#isDftDlvylc').val();
|
||
|
||
if ('N' === isDftDlvylc) {
|
||
$('input[name="dlvylcDvCd"][value="New"]').trigger('click');
|
||
$('input[name="dlvylcDvCd"][value="Default"]').prop('disabled', true);
|
||
}
|
||
|
||
$('#pg03').click();
|
||
}
|
||
}
|
||
|
||
|
||
/* 배송지정보 > 신규 배송지 정보 세팅 */
|
||
const fn_set_dlvylc = function(data, formId) {
|
||
// const form = $('#dlvylcForm');
|
||
|
||
// $(form).find('input[name="recpntNm"]').val(data.recpntNm);
|
||
// let mbtlnb = fn_format_mbtlnb(data.mbtlnb);
|
||
//
|
||
// $(form).find('input[name="recpntMbtlnb"]').val(mbtlnb);
|
||
// $(form).find('input[name="dlvylcZip"]').val(data.postcode);
|
||
// $(form).find('input[name="dlvylcAdresDvCd"]').val(data.addressType);
|
||
// $(form).find('input[name="dlvylcLnbAdres"]').val(data.jibunAddress);
|
||
// $(form).find('input[name="dlvylcRnmAdres"]').val(data.roadAddress);
|
||
// $(form).find('input[name="dlvylcAdresDtl"]').val(data.dtlAdres);
|
||
// $(form).find('input[name="dlvylcAdres"]').val('01' === $(form).find('input[name="dlvylcAdresDvCd"]').val() ? $(form).find('input[name="dlvylcRnmAdres"]').val() : $(form).find('input[name="dlvylcLnbAdres"]').val());
|
||
|
||
|
||
if (!fn_is_empty(formId)) {
|
||
const form = $('#' + formId);
|
||
|
||
if (!fn_is_empty(data)) {
|
||
$(form).find('input[name="recpntNm"]').val(data.recpntNm);
|
||
let mbtlnb = fn_format_mbtlnb(data.mbtlnb);
|
||
|
||
$(form).find('input[name="recpntMbtlnb"]').val(mbtlnb);
|
||
$(form).find('input[name="dlvylcZip"]').val(data.postcode);
|
||
$(form).find('input[name="dlvylcAreaCd"]').val(data.dlvylcAreaCd);
|
||
$(form).find('input[name="prefcd"]').val(data.prefcd);
|
||
$(form).find('input[name="cstmclerCd"]').val(data.cstmclerCd);
|
||
$(form).find('input[name="dlvylcAdresDvCd"]').val(data.addressType);
|
||
$(form).find('input[name="dlvylcLnbAdres"]').val(data.jibunAddress);
|
||
$(form).find('input[name="dlvylcRnmAdres"]').val(data.roadAddress);
|
||
$(form).find('input[name="dlvylcAdresDtl"]').val(data.dtlAdres);
|
||
$(form).find('input[name="dlvylcAdres"]').val('01' === $(form).find('input[name="dlvylcAdresDvCd"]').val() ? $(form).find('input[name="dlvylcRnmAdres"]').val() : $(form).find('input[name="dlvylcLnbAdres"]').val());
|
||
|
||
let dlvylcAreaCd = $(form).find('input[name="dlvylcAreaCd"]').val();
|
||
|
||
if('JP' === dlvylcAreaCd){
|
||
|
||
$('.cstmclerArea').hide();
|
||
$('.cstmclerArea').find('input').prop('disabled', true);
|
||
} else {
|
||
$('.cstmclerArea').show();
|
||
$('.cstmclerArea').find('input').prop('disabled', false);
|
||
}
|
||
|
||
// 배송지 정보 세팅 이후 결제예정금액 재계산
|
||
fn_get_setle_amt();
|
||
}
|
||
|
||
}
|
||
|
||
|
||
}
|
||
|
||
/* 배송지정보 > 배송지 쿠폰 목록 조회 */
|
||
/*const fn_get_dlvylc_coupon_list = function() {
|
||
let goodsList = localStorage.getItem('goodsList');
|
||
|
||
if (!fn_is_empty(goodsList)) {
|
||
let formData = fn_get_form_obj('dlvylcForm');
|
||
|
||
formData['goodsList'] = JSON.parse(goodsList);
|
||
|
||
$.ajax({
|
||
type: 'post',
|
||
contentType: 'application/json',
|
||
url: '<c:url value="/sopmal/ordr/selectDlvylcCouponList"/>',
|
||
data: JSON.stringify(formData),
|
||
dataType: 'json',
|
||
async: false,
|
||
success: function (data) {
|
||
if (data.resBody != null) {
|
||
const result = JSON.parse(data.resBody.result);
|
||
if (!fn_is_empty(result.message)) {
|
||
alert(result.message);
|
||
|
||
$('#dlvylcForm').find('#dlvylcCouponList').val('0').attr('selected', true).niceSelect('update');
|
||
|
||
return false;
|
||
}
|
||
|
||
const dlvylcCouponList = result.dlvylcCouponList;
|
||
|
||
if (!fn_is_empty(dlvylcCouponList)) {
|
||
fn_set_dlvylc_coupon_list(result);
|
||
|
||
localStorage.setItem('dlvylc', JSON.stringify(result));
|
||
}
|
||
}
|
||
},
|
||
error: function (data) {
|
||
alert('<spring:message code="error.internal-server"/>');
|
||
}
|
||
});
|
||
}
|
||
}*/
|
||
|
||
/* 배송지정보 > 배송지 쿠폰 목록 세팅 */
|
||
/*const fn_set_dlvylc_coupon_list = function(data) {
|
||
|
||
if (!fn_is_empty(data)) {
|
||
const form = $('#dlvylcForm');
|
||
const select = $(form).find('#dlvylcCouponList');
|
||
|
||
const dlvylcCouponList = data.dlvylcCouponList;
|
||
|
||
if (!fn_is_empty(dlvylcCouponList)) {
|
||
const couponCnt = dlvylcCouponList.length;
|
||
|
||
let option = '<option value="0">선택</option>';
|
||
|
||
for (let i = 0; i < couponCnt; i++) {
|
||
const coupon = dlvylcCouponList[i];
|
||
|
||
option += '<option value="' + coupon.dwldCouponInnb +
|
||
'" coupon-innb="' + coupon.couponInnb +
|
||
'" dplct-dscnt-at="' + coupon.dplctDscntAt +
|
||
'" otr-coupon-smtm_use-at="' + coupon.otrCouponSmtmUseAt + '" ' + ('Y' == coupon.isUse ? 'selected' : '') + '/>';
|
||
option += ('Y' == coupon.otrCouponSmtmUseAt ? '' : '') + coupon.coupNm;
|
||
option += '</option>';
|
||
}
|
||
|
||
$(select).empty().append(option).niceSelect('update');
|
||
} else {
|
||
$(select).empty().append('<option value="0" selected>선택</option>').niceSelect('update');
|
||
}
|
||
|
||
if (!fn_is_empty(data.dlvyAmt)) {
|
||
$(form).find('.dlvyAmt').val(data.dlvyAmt);
|
||
}
|
||
}
|
||
}*/
|
||
|
||
/* 배송지정보 > 배송지 정보 조회 */
|
||
const fn_get_dlvylc_data = function() {
|
||
const dlvylcDvCd = $('input[name="dlvylcDvCd"]:checked').val();
|
||
let data = {};
|
||
|
||
if ('Default' === dlvylcDvCd) {
|
||
const form = $('#dlvylcForm');
|
||
|
||
$(form).find('.dft').each(function() {
|
||
const id = $(this).attr('id');
|
||
|
||
data[id] = $(this).val();
|
||
});
|
||
} else {
|
||
data = fn_get_form_obj('dlvylcForm');
|
||
}
|
||
|
||
return data;
|
||
}
|
||
|
||
/* 주문 상품 > 상품목록 조회 */
|
||
const fn_get_goods_list = function(param, obj) {
|
||
let setle = {};
|
||
setle['enuri'] = JSON.parse(localStorage.getItem('enuri'));
|
||
let requestData = Object.assign({}, param, setle);
|
||
|
||
$.ajax({
|
||
type: 'post',
|
||
contentType: 'application/json',
|
||
url: '<c:url value="/sopmal/ordr/selectOrderSubsvcList"/>',
|
||
data: JSON.stringify(param),
|
||
// data: JSON.stringify(requestData),
|
||
dataType: 'json',
|
||
async: false,
|
||
success: function (data) {
|
||
if (data.resBody != null) {
|
||
const result = JSON.parse(data.resBody.result);
|
||
|
||
if (!fn_is_empty(result.message)) {
|
||
alert(result.message);
|
||
|
||
if (!fn_is_empty(obj)) {
|
||
$(obj).val('0').attr('selected', true).niceSelect('update');
|
||
}
|
||
|
||
return false;
|
||
}
|
||
|
||
localStorage.setItem('goodsList', JSON.stringify(result));
|
||
|
||
fn_set_goods_list(result);
|
||
|
||
// fn_set_prsnt_list(result.prsnt);
|
||
|
||
// fn_get_dlvylc_coupon_list();
|
||
}
|
||
},
|
||
error: function (data) {
|
||
alert('<spring:message code="error.internal-server"/>');
|
||
}
|
||
});
|
||
}
|
||
|
||
/* 주문 상품 > 상품목록 세팅 */
|
||
const fn_set_goods_list = function(data) {
|
||
const tbody = $('#goodsList');
|
||
|
||
const sopmalCd = $('#sopmalCd').val();
|
||
const cdnurl = $('#cdnurl').val(); // 이미지 주소
|
||
let tr = '';
|
||
|
||
if (!fn_is_empty(data)) {
|
||
for (let i = 0; i < data.length; i++) {
|
||
const goods = data[i];
|
||
|
||
tr += '<tr class="ordrGoods" data-product-id="' + fn_nvl(goods.subsvcInnb, '') + '">';
|
||
tr += ' <td>';
|
||
tr += ' <div class="cartItem">';
|
||
tr += ' <div class="cartItem__image">';
|
||
tr += ' <a href="/sopmal/main/selectSubscribeForm?subsvcInnb=' + goods.subsvcInnb + '">';
|
||
tr += ' <img src="' + cdnurl + goods.img + '" onerror="this.src=\'<c:url value="/pc/images/image_placeholder.png"/>\'" alt="' + goods.subsvcConcatNm + '">';
|
||
tr += ' </a>';
|
||
tr += ' </div>';
|
||
tr += ' <div class="cartItem__productInfo">';
|
||
tr += ' <a href="javascript:void(0);" class="cartItem__productTitle">' + goods.subsvcNm + '</a>';
|
||
tr += ' <span class="cartItem__productOption"><span class="option-badge">옵션</span> ' + goods.subsvcGnrNm + '</span>';
|
||
|
||
// if (!fn_is_empty(goods.inputOptnText)) {
|
||
// tr += ' <span class="cartItem__productOption">' + goods.inputOptnText + '</span>';
|
||
// }
|
||
|
||
tr += ' </div>';
|
||
tr += ' </div>'
|
||
// tr += ' <input type="hidden" class="dplctLmttCoupon" value="' + fn_nvl(goods.dplctLmttCoupon, '') + '"/>';
|
||
// tr += ' <input type="hidden" class="dplctLmttEvtnm" value="' + fn_nvl(goods.dplctLmttEvtnm, '') + '"/>';
|
||
tr += ' <input type="hidden" class="subsvcInnb" value="' + fn_nvl(goods.subsvcInnb, '') + '"/>';
|
||
// tr += ' <input type="hidden" class="goodsOptnInnb productGoodsOptnInnb" value="' + fn_nvl(goods.goodsOptnInnb, '') + '"/>';
|
||
// tr += ' <input type="hidden" class="inputOptn" value="' + fn_nvl(goods.inputOptn, '') + '"/>';
|
||
// tr += ' <input type="hidden" class="inputOptnText" value="' + fn_nvl(goods.inputOptnText, '') + '"/>';
|
||
tr += ' <input type="hidden" class="qy productQtyInput" value="' + fn_nvl(goods.qy, '') + '"/>';
|
||
// tr += ' <input type="hidden" class="usedCoupons" value="' + fn_nvl(goods.usedCoupons, '') + '"/>';
|
||
tr += ' <input type="hidden" class="product-dlvyGroupInnb" value="' + fn_nvl(goods.dlvyGroupInnb, '') + '"/>';
|
||
// tr += ' <input type="hidden" class="product-slepric" value="' + fn_nvl(goods.slepric, '') + '"/>';
|
||
// tr += ' <input type="hidden" class="product-dscntAmt" value="' + fn_nvl(goods.dscntAmt, '') + '"/>';
|
||
// tr += ' <input type="hidden" class="product-mbrInnb" value="' + fn_nvl(goods.mbrInnb, '') + '"/>';
|
||
tr += ' </td>';
|
||
tr += ' <td class="qyTd">';
|
||
tr += ' <span>' + goods.qy + '</span>';
|
||
tr += ' </td>';
|
||
tr += ' <td>';
|
||
tr += ' <span class="cartItem__discountPrice"><span class="cartItem__discountMinus">(-)</span><span class="comma product-dscntAmt-text">' + 0 + '</span><span class="priceUnit">' + curUnit + '</span></span>';
|
||
tr += ' </td>';
|
||
tr += ' <td>';
|
||
tr += ' <span class="cartItem__beforePrice"><span class="comma product-subCnsmrpric">' + (goods.cnsmrpric).toLocaleString() + '</span>' + curUnit + '</span>';
|
||
tr += ' <span class="cartItem__afterPrice"><span class="comma product-dscntApplyAmt">' + (goods.slepric).toLocaleString() + '</span><span class="priceUnit">' + curUnit + '</span></span>';
|
||
tr += ' </td>';
|
||
tr += '</tr>';
|
||
|
||
// if (!fn_is_empty(goods.goodsCouponList)) {
|
||
// tr += '<tr>';
|
||
// tr += ' <td>';
|
||
// tr += ' <div class="cartItem__footer">';
|
||
// tr += ' <div class="select-box">';
|
||
// tr += ' <select class="useCoupons lg" title="상품쿠폰">';
|
||
// tr += ' <option value="0" selected>선택</option>';
|
||
//
|
||
// for (let j = 0; j < goods.goodsCouponList.length; j++) {
|
||
// const coupon = goods.goodsCouponList[j];
|
||
//
|
||
// tr += ' <option value="' + coupon.dwldCouponInnb + '" coupon-innb="' + coupon.couponInnb + '" dplct-dscnt-at="' + coupon.dplctDscntAt + '" otr-coupon-smtm_use-at="' + coupon.otrCouponSmtmUseAt + '" ' + ('Y' == coupon.isUse ? 'selected' : '') + '/>';
|
||
// tr += ' ' + ('Y' === coupon.otrCouponSmtmUseAt ? '' : '') + coupon.coupNm;
|
||
// tr += ' </option>';
|
||
// }
|
||
//
|
||
// tr += ' </select>';
|
||
// tr += ' </div>';
|
||
// tr += ' </div>';
|
||
// tr += ' </td>';
|
||
// tr += '</tr>';
|
||
// }
|
||
}
|
||
} else {
|
||
tr += '<tr><td colSpan="100%"><spring:message code="common.nodata"/></td></tr>';
|
||
}
|
||
|
||
$(tbody).empty().append(tr);
|
||
$(tbody).closest('table').find('.select-box select').niceSelect();
|
||
}
|
||
|
||
/* 주문 상품 > 사은품 목록 세팅 */
|
||
/*const fn_set_prsnt_list = function(data) {
|
||
if (!fn_is_empty(data)) {
|
||
const tbody = $('#prsntList');
|
||
const keys = Object.keys(data);
|
||
const cdnurl = $('#cdnurl').val(); // 이미지 주소
|
||
let tr = '';
|
||
|
||
for (let j = 0; j < keys.length; j++) {
|
||
const key = keys[j];
|
||
const prsntList = data[key];
|
||
|
||
for (let i = 0; i < prsntList.length; i++) {
|
||
const prsnt = prsntList[i];
|
||
|
||
tr += '<tr class="prsnt_' + key + ' ordrPrsnt" data-product-id="' + fn_nvl(prsnt.goodsOptnInnb, '') + '">';
|
||
tr += ' <td>';
|
||
tr += ' <div class="cartItem">';
|
||
tr += ' <div class="cartItem__image">';
|
||
tr += ' <a href=""><img src="' + cdnurl + prsnt.goodsImgCours + '" onerror="this.src=\'/pc/images/image_placeholder.png\'" alt="' + prsnt.goodsNm + '"/>"></a>';
|
||
tr += ' </div>';
|
||
tr += ' <div class="cartItem__productInfo">';
|
||
tr += ' <a href="javascript:void(0);" class="cartItem__productTitle">' + prsnt.goodsNm + '</a>';
|
||
tr += ' </div>';
|
||
tr += ' </div>';
|
||
tr += ' <input type="hidden" class="goodsInnb" value="' + fn_nvl(prsnt.goodsInnb, '') + '"/>';
|
||
tr += ' <input type="hidden" class="goodsOptnInnb productGoodsOptnInnb" value="' + fn_nvl(prsnt.goodsOptnInnb, '') + '"/>';
|
||
tr += ' <input type="hidden" class="goodsNm" value="' + fn_nvl(prsnt.goodsNm, '') + '"/>';
|
||
tr += ' <input type="hidden" class="goodsImgCours" value="' + fn_nvl(prsnt.goodsImgCours, '') + '"/>';
|
||
tr += ' <input type="hidden" class="evtInnb productEvtInnb" value="' + fn_nvl(prsnt.evtInnb, '') + '"/>';
|
||
tr += ' <input type="hidden" class="provdCnt productQtyInput" value="' + fn_nvl(prsnt.provdCnt, '') + '"/>';
|
||
tr += ' <input type="hidden" class="isRcvPrsnt productIsRcvPrsnt" value="Y"/>';
|
||
tr += ' </td>';
|
||
tr += ' <td class="qyTd"><span>' + (prsnt.provdCnt).toLocaleString() + '</span></td>';
|
||
|
||
if (i === 0) {
|
||
tr += ' <td rowspan="' + prsntList.length + '" class="removeTd">';
|
||
tr += ' <div class="custom-radio-container">';
|
||
tr += ' <div class="custom-radio">';
|
||
tr += ' <input type="radio" name="isRcvPrsnt' + prsnt.evtInnb + '" id="Y' + prsnt.evtInnb + '" class="rcvPrsnt" value="Y" checked>';
|
||
tr += ' <label for="Y' + prsnt.evtInnb + '">수령</label>';
|
||
tr += ' </div>';
|
||
tr += ' <div class="custom-radio">';
|
||
tr += ' <input type="radio" name="isRcvPrsnt' + prsnt.evtInnb + '" id="N' + prsnt.evtInnb + '" value="N" class="rcvPrsnt">';
|
||
tr += ' <label for="N' + prsnt.evtInnb + '">미수령</label>';
|
||
tr += ' </div>';
|
||
tr += ' </div>';
|
||
tr += ' </td>';
|
||
}
|
||
|
||
tr += '</tr>';
|
||
}
|
||
}
|
||
|
||
$(tbody).empty().append(tr);
|
||
$(tbody).closest('table').find('.select-box select').niceSelect();
|
||
|
||
/!* 수령여부 라디오 선택 이벤트 *!/
|
||
$(tbody).find('.rcvPrsnt').on('click', function () {
|
||
const evtInnb = $(this).closest('tr').find('.evtInnb').val();// $(this).attr('evtInnb')
|
||
const isRcvPrsnt = $(this).val();
|
||
|
||
$(this).closest('table').find('.prsnt_' + evtInnb).each(function() {
|
||
$(this).find('.isRcvPrsnt').val(isRcvPrsnt);
|
||
});
|
||
|
||
$('.multiOrdrInnerShipping').each(function() {
|
||
$(this).find('tr.productRow_prsnt').each(function (idx2) {
|
||
$(this).find('.productIsRcvPrsnt').val(isRcvPrsnt);
|
||
if (isRcvPrsnt === 'N') {
|
||
$(this).find('.product-count__amount-btn').prop('disabled', true);
|
||
} else {
|
||
$(this).find('.product-count__amount-btn').prop('disabled', false);
|
||
}
|
||
});
|
||
});
|
||
|
||
});
|
||
} else {
|
||
$('#prsnt').hide();
|
||
}
|
||
}*/
|
||
|
||
/* 사은품 데이타 세팅 */
|
||
/*const fn_get_prsnt_data = function(goodsInnb) {
|
||
const rows = $('#prsntList').find('[class*=prsnt_]');
|
||
|
||
let prsnts = [];
|
||
|
||
$(rows).each(function() {
|
||
const goodsInnb = $(this).find('.goodsInnb').val();
|
||
const goodsOptnInnb = $(this).find('.goodsOptnInnb').val();
|
||
const goodsNm = $(this).find('.goodsNm').val();
|
||
const goodsImgCours = $(this).find('.goodsImgCours').val();
|
||
const evtInnb = $(this).find('.evtInnb').val();
|
||
const provdCnt = $(this).find('.provdCnt').val();
|
||
const isRcvPrsnt = $(this).find('.isRcvPrsnt').val();
|
||
|
||
let prsnt = {
|
||
'goodsInnb':Number(goodsInnb),
|
||
'goodsOptnInnb':Number(goodsOptnInnb),
|
||
'goodsNm':goodsNm,
|
||
'goodsImgCours':goodsImgCours,
|
||
'evtInnb':Number(evtInnb),
|
||
'provdCnt':Number(provdCnt),
|
||
'isRcvPrsnt':isRcvPrsnt
|
||
}
|
||
|
||
prsnts.push(prsnt);
|
||
});
|
||
|
||
if (!fn_is_empty(goodsInnb)) {
|
||
return prsnts.filter(data => data['goodsInnb'] === goodsInnb)[0];
|
||
}
|
||
|
||
return prsnts;
|
||
}*/
|
||
|
||
/* 할인 정보 > 장바구니 쿠폰 목록 조회 */
|
||
/*const fn_get_cart_coupon_list = function() {
|
||
let formData = fn_get_form_obj('enuriForm');
|
||
|
||
formData.setleAmt = String(Number(formData.setleAmt) - Number(formData.dlvyAmt));
|
||
|
||
$.ajax({
|
||
type: 'post',
|
||
contentType: 'application/json',
|
||
url: '<c:url value="/sopmal/ordr/selectCartCouponList"/>',
|
||
data: JSON.stringify(formData),
|
||
dataType: 'json',
|
||
async: false,
|
||
success: function (data) {
|
||
if (data.resBody != null) {
|
||
const result = JSON.parse(data.resBody.result);
|
||
|
||
if (!fn_is_empty(result)) {
|
||
if (!fn_is_empty(result.message)) {
|
||
alert(result.message);
|
||
|
||
return false;
|
||
}
|
||
|
||
fn_set_cart_coupon_list(result);
|
||
|
||
if (!fn_is_empty(result.dscntAmt > 0)) {
|
||
localStorage.setItem('cartCoupon', JSON.stringify(result));
|
||
|
||
fn_set_enuri();
|
||
}
|
||
}
|
||
}
|
||
},
|
||
error: function (data) {
|
||
alert('<spring:message code="error.internal-server"/>');
|
||
}
|
||
});
|
||
}*/
|
||
|
||
/* 할인 정보 > 장바구니 쿠폰 목록 세팅 */
|
||
/*const fn_set_cart_coupon_list = function(data) {
|
||
if (!fn_is_empty(data)) {
|
||
const select = $('#cartCouponList');
|
||
const cartCouponList = data.cartCouponList;
|
||
|
||
if (!fn_is_empty(cartCouponList)) {
|
||
let option = '<option value="0">선택</option>';
|
||
|
||
for (let i = 0; i < cartCouponList.length; i++) {
|
||
const coupon = cartCouponList[i];
|
||
|
||
option += '<option value="' + coupon.dwldCouponInnb +
|
||
'" coupon-innb="' + coupon.couponInnb +
|
||
'" dplct-dscnt-at="' + coupon.dplctDscntAt +
|
||
'" otr-coupon-smtm_use-at="' + coupon.otrCouponSmtmUseAt + '" ' + ('Y' == coupon.isUse ? 'selected' : '') + '/>';
|
||
option += ('Y' === coupon.otrCouponSmtmUseAt ? '' : '') + coupon.coupNm;
|
||
option += '</option>';
|
||
}
|
||
|
||
$(select).empty().append(option).niceSelect('update');
|
||
} else {
|
||
let option = '<option value="0">선택</option>';
|
||
|
||
$(select).empty().append(option).niceSelect('update');
|
||
}
|
||
}
|
||
}*/
|
||
|
||
/* 결제정보 > 일반결제 현금영수증 화면 세팅*/
|
||
const fn_set_csh_rcipt_issu = function(id) {
|
||
let div = $('#' + id + '-content-inner');
|
||
|
||
if ('tosspay' === id) {
|
||
div = $('#acount-content-inner');
|
||
}
|
||
|
||
let table = '';
|
||
|
||
if ('gc-pay-bank-cash-receipt' !== id && 'transfer-cash-receipt' !== id) {
|
||
table += '<table class="table-transparent" id="payCashReceipt">';
|
||
table += ' <colgroup>';
|
||
table += ' <col style="width:16%;">';
|
||
table += ' <col style="width:auto;">';
|
||
table += ' </colgroup>';
|
||
table += ' <tbody>';
|
||
|
||
if ('bank' === id) {
|
||
table += ' <tr>';
|
||
table += ' <th>입금자명</th>';
|
||
table += ' <td>';
|
||
table += ' <div class="td-inner">';
|
||
table += ' <input type="text" name="rcpmnyerNm" id="rcpmnyerNm" class="order-method-bank input-text md" maxlength="15" title="입금자명" placeholder="입금자명">';
|
||
table += ' </div>';
|
||
table += ' </td>';
|
||
table += ' </tr>';
|
||
table += ' <tr>';
|
||
table += ' <th>입금은행</th>';
|
||
table += ' <td>';
|
||
table += ' <div class="td-inner">';
|
||
table += ' <div class="select-box">';
|
||
table += ' <input type="hidden" name="dpstrNm" id="dpstrNm" value="">';
|
||
table += ' <input type="hidden" name="bnnkNm" id="bnnkNm" value="">';
|
||
table += ' <select name="rcpmnyAcntnb" id="rcpmnyAcntnb" class="order-method-bank md" title="입금은행">';
|
||
table += ' <option value="" selected>입금은행을 선택해 주세요.</option>';
|
||
table += ' </select>';
|
||
table += ' </div>';
|
||
table += ' </div>';
|
||
table += ' </td>';
|
||
table += ' </tr>';
|
||
}
|
||
|
||
table += ' <tr>';
|
||
table += ' <th>발급정보</th>';
|
||
table += ' <td>';
|
||
table += ' <div class="td-inner">';
|
||
table += ' <div class="custom-radio-container">';
|
||
table += ' <div class="custom-radio is-medium">';
|
||
table += ' <input type="radio" name="cshRciptIssuAt" id="cshRciptIssuAtN_' + id + '" value="" checked>';
|
||
table += ' <label for="cshRciptIssuAtN_' + id + '">발급안함</label>';
|
||
table += ' </div>';
|
||
table += ' <div class="custom-radio is-medium">';
|
||
table += ' <input type="radio" name="cshRciptIssuAt" id="cshRciptIssuAtY_' + id + '" value="01" >';
|
||
table += ' <label for="cshRciptIssuAtY_' + id + '">현금영수증</label>';
|
||
table += ' </div>';
|
||
table += ' </div>';
|
||
table += ' </div>';
|
||
table += ' </td>';
|
||
table += ' </tr>';
|
||
table += ' <tr>';
|
||
table += ' <th></th>';
|
||
table += ' <td>';
|
||
table += ' <div id="cshRciptIssu" style="display: none">';
|
||
table += ' <div>';
|
||
table += ' <span class="visually-hidden">발급안함</span>';
|
||
table += ' </div>';
|
||
table += ' <div class="td-inner vertical">';
|
||
table += ' <div class="custom-radio-container cashReceipt-borderTop">';
|
||
table += ' <div class="custom-radio is-medium">';
|
||
table += ' <input type="radio" name="issuTrgetDvCd" id="issuTrgetDvCd0_' + id + '" value="01" checked>';
|
||
table += ' <label for="issuTrgetDvCd0_' + id + '">개인 소득공제</label>';
|
||
table += ' </div>';
|
||
table += ' <div class="custom-radio is-medium">';
|
||
table += ' <input type="radio" name="issuTrgetDvCd" id="issuTrgetDvCd1_' + id + '" value="02">';
|
||
table += ' <label for="issuTrgetDvCd1_' + id + '">사업자 지출증빙</label>';
|
||
table += ' </div>';
|
||
table += ' </div>';
|
||
table += ' <div class="w-full">';
|
||
table += ' <input type="text" name="issuTrgetMbtlnb" id="issuTrgetMbtlnb" oninput="fn_set_event(this, \'keyup\', fn_fmt_telno);" class="input-text md csh-rcipt-issu" maxlength="13" title="휴대폰번호" placeholder="휴대폰번호(\' - \'없이 입력)">';
|
||
table += ' <input type="text" name="issuTrgetBsnmNb" id="issuTrgetBsnmNb" class="number-only input-text md csh-rcipt-issu" maxlength="10" title="사업자번호" placeholder="사업자번호(\' - \'없이 입력)" style="display: none">';
|
||
table += ' </div>';
|
||
table += ' <p class="fyi gray-7 mt-10 ml-10">결제창에서 다시 현금영수증을 신청하지 마세요. 중복발행 됩니다.</p>';
|
||
table += ' </div>';
|
||
table += ' </div>';
|
||
table += ' </td>';
|
||
table += ' </tr>';
|
||
table += ' </tbody>';
|
||
table += '</table>';
|
||
|
||
$('.easyPayCashReceipt').empty(); //기존의 발급영역 제거
|
||
} else {
|
||
table += '<div class="easyPayCashReceipt" id="cshRciptIssu">';
|
||
table += ' <table class="table-transparent">';
|
||
table += ' <colgroup>';
|
||
table += ' <col style="width:auto;">';
|
||
table += ' </colgroup>';
|
||
table += ' <tbody>';
|
||
table += ' <tr>';
|
||
table += ' <td>';
|
||
table += ' <div class="td-inner vertical">';
|
||
table += ' <div class="custom-radio-container radio-tab-trigger" data-radiotab="radio-tab-1">';
|
||
table += ' <div class="custom-radio is-medium">';
|
||
table += ' <input type="radio" name="issuTrgetDvCd" id="issuTrgetDvCd0_' + id + '" value="01" checked>';
|
||
table += ' <label for="issuTrgetDvCd0_' + id + '">개인 소득공제</label>';
|
||
table += ' </div>';
|
||
table += ' <div class="custom-radio is-medium">';
|
||
table += ' <input type="radio" name="issuTrgetDvCd" id="issuTrgetDvCd1_' + id + '" value="02">';
|
||
table += ' <label for="issuTrgetDvCd1_' + id + '">사업자 지출증빙</label>';
|
||
table += ' </div>';
|
||
table += ' </div>';
|
||
table += ' <div class="radio-tab-content w-full" id="radio-tab-1">';
|
||
table += ' <input type="text" name="issuTrgetMbtlnb" id="issuTrgetMbtlnb" oninput="fn_set_event(this, \'keyup\', fn_fmt_telno);" class="input-text md csh-rcipt-issu" maxlength="13" title="휴대폰번호" placeholder="휴대폰번호(\' - \'없이 입력)">';
|
||
table += ' <input type="text" name="issuTrgetBsnmNb" id="issuTrgetBsnmNb" class="number-only input-text md csh-rcipt-issu" maxlength="10" title="사업자번호" placeholder="사업자번호(\' - \'없이 입력)" style="display: none">';
|
||
table += ' <input type="hidden" name="cshRciptIssuAt" value="" >';
|
||
table += ' </div>';
|
||
table += ' <p class="textInfo">';
|
||
table += ' <p class="fyi gray-7 mt-10 ml-10">결제창에서 다시 현금영수증을 신청하지 마세요. 중복발행 됩니다.</p>';
|
||
table += ' </p>';
|
||
table += ' </div>';
|
||
table += ' </td>';
|
||
table += ' </tr>';
|
||
table += ' </tbody>';
|
||
table += ' </table>';
|
||
table += '</div>';
|
||
|
||
$('#payCashReceipt').empty(); //기존의 발급영역 제거
|
||
}
|
||
|
||
if ('card' === id || 'payco' === id || 'tosspay' === id || 'naverpay' === id || 'kakaopay' === id) {
|
||
$(div).find('.noempty').nextAll().remove();
|
||
$(div).find('.noempty').after(table);
|
||
} else {
|
||
$(div).empty().append(table);
|
||
}
|
||
|
||
$(div).find('.select-box select').niceSelect();
|
||
|
||
if ('bank' === id) {
|
||
fn_get_rcpmny_acntnb_list();
|
||
}
|
||
|
||
/* 결제정보 > 일반결제 현금영수증 발급 라디오 선택 이벤트 */
|
||
$(div).find('input[name="cshRciptIssuAt"]').on('click', function () {
|
||
$(this).prop("checked", true);
|
||
|
||
if ('01' === $(this).val()) {
|
||
$(this).closest('table').find('#cshRciptIssu').show();
|
||
} else {
|
||
$(this).closest('table').find('#cshRciptIssu').hide();
|
||
}
|
||
});
|
||
|
||
/* 결제정보 > 일반결제 현금영수증 발급 라디오 선택 이벤트 */
|
||
$(div).find('input[name="issuTrgetDvCd"]').on('click', function () {
|
||
const div = $(this).closest('#cshRciptIssu');
|
||
|
||
$(div).find('.input-text').hide();
|
||
$(div).find('.input-text').val('');
|
||
|
||
if ('01' === $(this).val()) {
|
||
$(div).find('#issuTrgetMbtlnb').show();
|
||
} else {
|
||
$(div).find('#issuTrgetBsnmNb').show();
|
||
}
|
||
});
|
||
|
||
/* 결제정보 > 무통장 입금은행 선택 이벤트 */
|
||
$(div).find('#rcpmnyAcntnb').on('change', function () {
|
||
const option = $('option:selected', this);
|
||
const dpstrNm = $(option).attr('dpstr-nm');
|
||
const bnnkNm = $(option).attr('bnnk-nm');
|
||
|
||
const td = $(this).closest('td');
|
||
|
||
$(td).find('#dpstrNm').val(dpstrNm);
|
||
$(td).find('#bnnkNm').val(bnnkNm);
|
||
});
|
||
|
||
/* 결제정보 > 휴대폰번호 입력 이벤트 */
|
||
$(div).find('#issuTrgetMbtlnb').on('input', function () {
|
||
fn_set_event($(this), 'keyup', fn_fmt_telno)
|
||
});
|
||
}
|
||
|
||
/* 할인 정보 > 할인 정보 정보 세팅 */
|
||
/*const fn_set_enuri = function() {
|
||
let enuri = fn_get_form_obj('enuriForm');
|
||
const cartCoupon = JSON.parse(localStorage.getItem('cartCoupon'));
|
||
|
||
if (!fn_is_empty(cartCoupon)) {
|
||
enuri = Object.assign({}, enuri, cartCoupon);
|
||
}
|
||
|
||
localStorage.setItem('enuri', JSON.stringify(enuri));
|
||
}*/
|
||
|
||
/* 결제예정금액 > 결제금액 조회 */
|
||
const fn_get_setle_amt = function() {
|
||
let setle = {};
|
||
|
||
// let dlvylc = JSON.parse(localStorage.getItem('dlvylc'));
|
||
|
||
// if (!fn_is_empty(dlvylc)) {
|
||
// dlvylc = Object.assign({}, fn_get_dlvylc_data(), dlvylc);
|
||
// } else {
|
||
// dlvylc = fn_get_dlvylc_data();
|
||
// }
|
||
// setle['shipping'] = dlvylc;
|
||
|
||
setle['sopmalCd'] = $('#sopmalCd').val();
|
||
setle['dlvylc'] = JSON.parse(localStorage.getItem('dlvylc'));
|
||
setle['goodsList'] = JSON.parse(localStorage.getItem('goodsList'));
|
||
// setle['enuri'] = JSON.parse(localStorage.getItem('enuri'));
|
||
setle['dlvylcZip'] = localStorage.getItem('dlvylcZip');
|
||
setle['dlvylcAreaCd'] = localStorage.getItem('dlvylcAreaCd');
|
||
setle['prefcd'] = localStorage.getItem('prefcd');
|
||
setle['multiOrdrDlvylc'] = JSON.parse(localStorage.getItem('multiOrdrDlvylc'));
|
||
setle['ordrTyCd'] = $('input[name="ordrTy"]:checked').val();
|
||
|
||
$.ajax({
|
||
type: 'post',
|
||
contentType: 'application/json',
|
||
url: '<c:url value="/sopmal/ordr/selectSubsvcSetleExpectAmt"/>',
|
||
data: JSON.stringify(setle),
|
||
dataType: 'json',
|
||
async : false,
|
||
success:function(data) {
|
||
|
||
if (data.resBody != null) {
|
||
let parseData = JSON.parse(data.resBody.result);
|
||
if (parseData.status === '1') {
|
||
alert(parseData.message);
|
||
|
||
// let useMilg = $('.useMilg').text().replace(/,/g, '');
|
||
// if (!fn_is_empty(parseData.mlgMxmmUseAmt)) {
|
||
// let mlgMxmmUseAmt = parseAmount(parseData.mlgMxmmUseAmt);
|
||
// useMilg = mlgMxmmUseAmt;
|
||
// }
|
||
|
||
// $('#useMlgAmt').val(useMilg);
|
||
|
||
// let useCashMilg = $('.useCashMilg').text().replace(/,/g, '');
|
||
|
||
// $('#useCashMlgAmt').val(useCashMilg);
|
||
|
||
// fn_set_enuri();
|
||
|
||
fn_get_setle_amt();
|
||
} else {
|
||
|
||
const result = JSON.parse(data.resBody.result);
|
||
|
||
localStorage.setItem('goodsList', JSON.stringify(result.goodsList));
|
||
|
||
fn_set_setle_amt(result.setleExpectAmt);
|
||
|
||
let ordrTyCd = $('input[name="ordrTy"]:checked').val();
|
||
if (ordrTyCd === '05') { // 여러곳 배송
|
||
fn_set_multiordrdlcylc();
|
||
|
||
// fn_get_dlvylc_coupon_list_multi();
|
||
} else {
|
||
// fn_get_dlvylc_coupon_list();
|
||
}
|
||
|
||
// fn_get_cart_coupon_list();
|
||
|
||
}
|
||
}
|
||
},
|
||
error: function (data) {
|
||
alert('<spring:message code="error.internal-server"/>');
|
||
}
|
||
});
|
||
}
|
||
|
||
/* 결제예정금액 > 결제금액 세팅 */
|
||
const fn_set_setle_amt = function(data) {
|
||
if (!fn_is_empty(data)) {
|
||
const ul = $('.cartOrderBox__list');
|
||
|
||
$(ul).find('#goodsAmtSapn').text((data.goodsAmt).toLocaleString());
|
||
$(ul).find('#dlvyAmtSapn').text((data.dlvyAmt).toLocaleString());
|
||
$(ul).find('#dscntAmtSapn').text((data.dscntAmt).toLocaleString());
|
||
|
||
$('#accmlMlgAmtSapn').text((data.accmlMlgAmt).toLocaleString());
|
||
$('#setleAmtSapn').text((data.setleAmt).toLocaleString());
|
||
$('#setleAmtKrSapn').text((data.setleAmtKr).toLocaleString());
|
||
|
||
let li = '';
|
||
|
||
// if (data.evtDscntAmt > 0) {
|
||
// li += '<li class="cartOrderBox__miscItem first">';
|
||
// li += ' <span class="cartOrderBox__miscTh">이벤트</span>';
|
||
// li += ' <span class="cartOrderBox__miscTd"><span class="comma">' + (data.evtDscntAmt).toLocaleString() + '</span><span class="priceUnit">' + curUnit + '</span></span>';
|
||
// li += '</li>';
|
||
// }
|
||
|
||
// if (data.goodsCouponDscntAmt > 0) {
|
||
// li += '<li class="cartOrderBox__miscItem">';
|
||
// li += ' <span class="cartOrderBox__miscTh">상품 쿠폰</span>';
|
||
// li += ' <span class="cartOrderBox__miscTd"><span class="comma">' + (data.goodsCouponDscntAmt).toLocaleString() + '</span><span class="priceUnit">' + curUnit + '</span></span>';
|
||
// li += '</li>';
|
||
// }
|
||
|
||
// if (data.dlvyCouponDscntAmt > 0) {
|
||
// li += '<li class="cartOrderBox__miscItem">';
|
||
// li += ' <span class="cartOrderBox__miscTh">배송비 쿠폰</span>';
|
||
// li += ' <span class="cartOrderBox__miscTd"><span class="comma">' + (data.dlvyCouponDscntAmt).toLocaleString() + '</span><span class="priceUnit">' + curUnit + '</span></span>';
|
||
// li += '</li>';
|
||
// }
|
||
|
||
// if (data.cartCouponDscntAmt > 0) {
|
||
// li += '<li class="cartOrderBox__miscItem">';
|
||
// li += ' <span class="cartOrderBox__miscTh">장바구니 쿠폰</span>';
|
||
// li += ' <span class="cartOrderBox__miscTd"><span class="comma">' + (data.cartCouponDscntAmt).toLocaleString() + '</span><span class="priceUnit">' + curUnit + '</span></span>';
|
||
// li += '</li>';
|
||
// }
|
||
|
||
// if (data.useMlgAmt > 0) {
|
||
// li += '<li class="cartOrderBox__miscItem">';
|
||
// li += ' <span class="cartOrderBox__miscTh">마일리지 할인</span>';
|
||
// li += ' <span class="cartOrderBox__miscTd"><span class="comma useMilg">' + (data.useMlgAmt).toLocaleString() + '</span><span class="priceUnit">점</span></span>';
|
||
// li += '</li>';
|
||
// }
|
||
|
||
// if (data.useCashMlgAmt > 0) {
|
||
// li += '<li class="cartOrderBox__miscItem">';
|
||
// li += ' <span class="cartOrderBox__miscTh">GC 머니 할인</span>';
|
||
// li += ' <span class="cartOrderBox__miscTd"><span class="comma useCashMilg">' + (data.useCashMlgAmt).toLocaleString() + '</span><span class="priceUnit">' + curUnit + '</span></span>';
|
||
// li += '</li>';
|
||
// }
|
||
|
||
if (!fn_is_empty(data.dlvyAmtMap)) {
|
||
const form = $('#dlvylcForm');
|
||
const dlvyMap = data.dlvyAmtMap;
|
||
|
||
$(form).find('input[name="dlvyGroupInnb"]').val(dlvyMap.dlvyGroupInnb);
|
||
$(form).find('input[name="dftDlvyAmt"]').val(dlvyMap.dftDlvyAmt);
|
||
$(form).find('input[name="dlvyAmt"]').val(dlvyMap.dlvyAmt);
|
||
}
|
||
|
||
|
||
let ordrTyCd = $('input[name="ordrTy"]:checked').val();
|
||
if (ordrTyCd === '05') { // 여러곳 배송
|
||
if (!fn_is_empty(data.dlvyAmtMulti)) {
|
||
const dlvyAmtMulti = data.dlvyAmtMulti;
|
||
|
||
$('.multiOrdrInnerShipping').each(function (idx) {
|
||
|
||
|
||
let form = $(this).find('form');
|
||
const dlvyAmtKey = 'shippingDlvyAmt' + idx;
|
||
const dlvyAmt = dlvyAmtMulti[dlvyAmtKey];
|
||
|
||
const dftDlvyAmtKey = 'shippingDftDlvyAmt' + idx;
|
||
const dftDlvyAmt = dlvyAmtMulti[dftDlvyAmtKey];
|
||
|
||
$(form).find('input[name="dlvyAmt"]').val(dlvyAmt);
|
||
$(form).find('input[name="dftDlvyAmt"]').val(dftDlvyAmt);
|
||
});
|
||
}
|
||
}
|
||
|
||
|
||
if (!fn_is_empty(data.setleAmt)) {
|
||
$('#enuriForm').find('#setleAmt').val(data.setleAmt);
|
||
$('#enuriForm').find('#stdrGoodsSetleAmt').val(data.stdrGoodsSetleAmt);
|
||
$('#enuriForm').find('#cartCoupondlvyAmt').val(data.dlvyAmt);
|
||
$('#setleForm').find('#rlSetleAmt').val(data.setleAmt);
|
||
$('#setleForm').find('#wonRlSetleAmt').val(data.setleAmtKr);
|
||
}
|
||
|
||
if (!fn_is_empty(data.lmttUseMlg)) {
|
||
$('#lmttUseMlg').val(data.lmttUseMlg); // 사용 가능 마일리지 한도
|
||
}
|
||
|
||
if (!fn_is_empty(data.lmttUseCashMlg)) {
|
||
$('#lmttUseCashMlg').val(data.lmttUseCashMlg); // 사용 가능 마일리지 한도
|
||
}
|
||
|
||
$(ul).find('.cartOrderBox__miscItem').remove();
|
||
$(ul).append(li);
|
||
}
|
||
}
|
||
|
||
/* 결제예정금액 > 정합성 검사 */
|
||
const fn_validate = function() {
|
||
let order = {};
|
||
let isValid = true;
|
||
|
||
// let localGoods = localStorage.getItem('goodsList');
|
||
// let goodsLists = JSON.parse(localGoods);
|
||
|
||
const ordrTyCd = $('input[name="ordrTy"]:checked').val();
|
||
|
||
// 상품 고유번호로 그룹화
|
||
/*let groupedGoods = goodsLists.reduce((groups, item) => {
|
||
if (!groups[item.goodsInnb]) {
|
||
groups[item.goodsInnb] = [];
|
||
}
|
||
groups[item.goodsInnb].push(item);
|
||
return groups;
|
||
}, {});
|
||
|
||
Object.keys(groupedGoods).forEach(goodsInnb => {
|
||
let items = groupedGoods[goodsInnb];
|
||
|
||
let all03 = items.every(item => item.optnTy === '03');
|
||
|
||
if (all03) {
|
||
alert(`추가상품만 구매할 수 없습니다. 기본상품을 같이 구매해주세요.`);
|
||
|
||
isValid = false;
|
||
|
||
return false;
|
||
}
|
||
});*/
|
||
|
||
|
||
/* 배송지 정합성 검사 시작 */
|
||
const dlvylcDvCd = $('input[name="dlvylcDvCd"]:checked').val();
|
||
|
||
/* 선물하기 > 정합성 검사 시작 */
|
||
if (ordrTyCd === '04') {
|
||
$('#dlvylcForm').find('.rqrd_gift').each(function () {
|
||
const val = $(this).val();
|
||
const name = $(this).attr('name');
|
||
const title = $(this).attr('title');
|
||
|
||
if (fn_is_empty(val) && (name === 'recpntNm' || name === 'recpntMbtlnb')) {
|
||
$('#dlvylcForm').find('input[name="' + name + '"]').focus();
|
||
alert(title + '을 입력해 주십시오');
|
||
isValid = false;
|
||
|
||
return false;
|
||
}
|
||
});
|
||
|
||
/* 선물하기 > 정합성 검사 종료 */
|
||
|
||
} else {
|
||
// console.log("dlvylcDvCd : ",dlvylcDvCd);
|
||
const requiredMap = {
|
||
KR: 'cstmclerCd',
|
||
JP: 'prefcd'
|
||
};
|
||
|
||
if ('New' === dlvylcDvCd) {
|
||
const dlvylcAreaCdNew = $('#dlvylcForm').find('input[name="dlvylcAreaCd"]').val();
|
||
// console.log("dlvylcAreaCd(new) : ",dlvylcAreaCdNew);
|
||
|
||
$('#dlvylcForm').find('.rqrd').each(function () {
|
||
const val = $(this).val();
|
||
|
||
if (fn_is_empty(val)) {
|
||
const name = $(this).attr('name');
|
||
const title = $(this).attr('title');
|
||
|
||
$('#dlvylcForm').find('input[name="' + name + '"]').focus();
|
||
alert(title + '을 입력해 주십시오');
|
||
isValid = false;
|
||
|
||
return false;
|
||
}
|
||
});
|
||
|
||
const required = requiredMap[dlvylcAreaCdNew];
|
||
if (required) {
|
||
const $input = $('input.new[name="' + required + '"]');
|
||
const title = $input.attr('title');
|
||
const value = $input.val();
|
||
|
||
if (fn_is_empty(value)) {
|
||
alert(title + '을 입력해 주십시오');
|
||
isValid = false;
|
||
|
||
return false;
|
||
}
|
||
}
|
||
|
||
} else {
|
||
const dlvylcAreaCd = $('#dlvylcAreaCd').val();
|
||
// console.log("dlvylcAreaCd(dft) : ",dlvylcAreaCd);
|
||
|
||
const required = requiredMap[dlvylcAreaCd];
|
||
if (required) {
|
||
const $input = $('#' + required);
|
||
const title = $input.attr('title');
|
||
const value = $input.val();
|
||
|
||
if (fn_is_empty(value)) {
|
||
alert(title + '을 입력해 주십시오');
|
||
isValid = false;
|
||
|
||
return false;
|
||
}
|
||
} else {
|
||
alert('배송지역코드를 입력해 주십시오');
|
||
isValid = false;
|
||
|
||
return false;
|
||
}
|
||
}
|
||
}
|
||
|
||
|
||
if (!isValid) {
|
||
return false;
|
||
}
|
||
|
||
let dlvylc = JSON.parse(localStorage.getItem('dlvylc'));
|
||
|
||
if (!fn_is_empty(dlvylc)) {
|
||
dlvylc = Object.assign({}, fn_get_dlvylc_data(), dlvylc);
|
||
} else {
|
||
dlvylc = fn_get_dlvylc_data();
|
||
}
|
||
|
||
order['shipping'] = dlvylc;
|
||
/* 배송지 정합성 검사 종료 */
|
||
|
||
order['dlvylcZip'] = localStorage.getItem('dlvylcZip');
|
||
order['dlvylcAreaCd'] = localStorage.getItem('dlvylcAreaCd');
|
||
order['prefcd'] = localStorage.getItem('prefcd');
|
||
|
||
order['subsvcInnb'] = ${data.subsvcOne.subsvcInnb};
|
||
// order['subsvcAt'] = 'Y';
|
||
|
||
/* 여러곳 배송 > 배송지별 정합성 검사 시작 */
|
||
if (ordrTyCd === '05') { // 여러곳 배송
|
||
|
||
fn_set_multiordrdlcylc();
|
||
// fn_get_dlvylc_coupon_list_multi();
|
||
|
||
// 상품 수량 채크
|
||
$('.multiOrdrInnerShipping').each(function (idx) {
|
||
let form = $(this).find('form');
|
||
|
||
|
||
if (idx > 0) {
|
||
$(form).find('.rqrd').each(function () {
|
||
let val = $(this).val();
|
||
|
||
if (fn_is_empty(val)) {
|
||
let name = $(this).attr('name');
|
||
let title = $(this).attr('title');
|
||
|
||
alert(title + '을 입력해 주십시오');
|
||
|
||
$(form).find('input[name="' + name + '"]').focus();
|
||
|
||
isValid = false;
|
||
return false;
|
||
}
|
||
});
|
||
}
|
||
|
||
if (!isValid) {
|
||
return false;
|
||
}
|
||
|
||
// 수량 체크
|
||
$(this).find('tr.productRow').each(function (idx2) {
|
||
let remain = parseAmount($(this).find('.product-remain-qy').text());
|
||
|
||
if (remain > 0) {
|
||
alert("주문 수량과 분배 수량이 맞지 않습니다. 다시 확인해주세요.");
|
||
isValid = false;
|
||
return false;
|
||
}
|
||
});
|
||
|
||
const isRcvPrscnt = $('.rcvPrsnt:checked').val(); // 사은품 수령여부
|
||
if (isRcvPrscnt === 'Y') {
|
||
// 사은품 수량 체크
|
||
$(this).find('tr.productRow_prsnt').each(function (idx2) {
|
||
let remain = parseAmount($(this).find('.product-remain-qy').text());
|
||
|
||
if (remain > 0) {
|
||
alert("사은품 분배 수량이 맞지 않습니다. 다시 확인해주세요.");
|
||
isValid = false;
|
||
return false;
|
||
}
|
||
});
|
||
}
|
||
|
||
// 배송지별 최소수량 체크
|
||
let shippingGoodsCntTot = 0;
|
||
$(this).find('tr.productRow').each(function (idx2) {
|
||
let plus_amount = parseAmount($(this).find('.product-count__amount-number').text());
|
||
shippingGoodsCntTot = shippingGoodsCntTot + plus_amount;
|
||
});
|
||
|
||
if (shippingGoodsCntTot < 1) {
|
||
alert("상품이 없는 배송지가 있습니다. 상품을 추가해 주세요.");
|
||
isValid = false;
|
||
return false;
|
||
}
|
||
|
||
if (!isValid) {
|
||
return false;
|
||
}
|
||
});
|
||
|
||
order['multiOrdrDlvylc'] = JSON.parse(localStorage.getItem('multiOrdrDlvylc'));
|
||
|
||
if (!isValid) {
|
||
return false;
|
||
}
|
||
}
|
||
/* 여러곳 배송 > 배송지별 정합성 검사 종료 */
|
||
|
||
/* 주문자 정보 정합성 검사 시작 */
|
||
const purchsrForm = $('#purchsrForm');
|
||
|
||
$(purchsrForm).find('.input-text').each(function () {
|
||
const val = $(this).val();
|
||
|
||
if (fn_is_empty(val)) {
|
||
const id = $(this).attr('id');
|
||
const title = $(this).attr('title');
|
||
|
||
alert(title + ' 항목을 입력해 주십시오');
|
||
|
||
$('#' + id).focus();
|
||
|
||
isValid = false;
|
||
|
||
return false;
|
||
}
|
||
});
|
||
|
||
if (!isValid) {
|
||
return false;
|
||
}
|
||
|
||
let purchsr = {};
|
||
|
||
$(purchsrForm).find('input').each(function () {
|
||
const id = $(this).attr('id');
|
||
const val = $(this).val().trim();
|
||
|
||
purchsr[id] = val;
|
||
});
|
||
|
||
order['sopmalCd'] = $(purchsrForm).find('#sopmalCd').val();
|
||
|
||
order['purchsr'] = purchsr;
|
||
/* 주문자 정보 정합성 검사 종료 */
|
||
|
||
/* 결제정보 정합성 검사 시작 */
|
||
let pgCmpnyNm = $('input[name="pg"]:checked').val();
|
||
let setleTyCd = $('#setleTyCd').val();
|
||
|
||
const setleAmt = parseInt(!fn_is_empty($('#rlSetleAmt').val()) ? $('#rlSetleAmt').val() : '0');
|
||
const useMlgAmt = parseInt(!fn_is_empty($('#useMlgAmt').val()) ? $('#useMlgAmt').val() : '0');
|
||
const useCashMlgAmt = parseInt(!fn_is_empty($('#useCashMlgAmt').val()) ? $('#useCashMlgAmt').val() : '0');
|
||
|
||
if(setleAmt === 0 && useMlgAmt > 0 && useCashMlgAmt === 0){
|
||
pgCmpnyNm = "mileage";
|
||
setleTyCd = "08";
|
||
|
||
$('#setleForm').find('#pgCmpnyNm').val(pgCmpnyNm);
|
||
$('#setleForm').find('#setleTyCd').val(setleTyCd);
|
||
} else if( setleAmt===0 && useMlgAmt === 0 && useCashMlgAmt > 0 ){
|
||
pgCmpnyNm = "cash";
|
||
setleTyCd = "12";
|
||
|
||
$('#setleForm').find('#pgCmpnyNm').val(pgCmpnyNm);
|
||
$('#setleForm').find('#setleTyCd').val(setleTyCd);
|
||
}
|
||
|
||
|
||
if (fn_is_empty(pgCmpnyNm)) {
|
||
alert('결제유형을 선택해 주십시오.');
|
||
|
||
return false;
|
||
}
|
||
|
||
if ('kcp' === pgCmpnyNm || 'toss' === pgCmpnyNm || 'kiwoom' === pgCmpnyNm) {
|
||
const div = $('#setleForm').find('.order-method-normal');
|
||
|
||
if (!$(div).find('.order-method-normal__btn-container button').hasClass('active')) {
|
||
alert('결제방법을 선택해 주십시오.');
|
||
|
||
isValid = false;
|
||
|
||
return false;
|
||
}
|
||
|
||
if ('02' === setleTyCd) {
|
||
const div = $('#bank-content-inner');
|
||
const input = $(div).find('#rcpmnyerNm');
|
||
|
||
if (fn_is_empty($(input).val())) {
|
||
alert($(input).attr('title') + ' 항목을 입력해 주십시오');
|
||
|
||
$('#' + $(input).attr('id')).focus();
|
||
|
||
isValid = false;
|
||
|
||
return false;
|
||
}
|
||
|
||
const rcpmnyAcntnb = $(div).find('#rcpmnyAcntnb option:selected');
|
||
|
||
if (fn_is_empty($(rcpmnyAcntnb).val())) {
|
||
alert($(div).find('#rcpmnyAcntnb').attr('title') + ' 항목을 선택해 주십시오');
|
||
|
||
return false;
|
||
}
|
||
}
|
||
|
||
const cshRciptIssuAt = $('input[name="cshRciptIssuAt"]:checked').val();
|
||
|
||
if (!fn_is_empty(cshRciptIssuAt) && '01' === cshRciptIssuAt) {
|
||
const issuTrgetDvCd = $('input[name="issuTrgetDvCd"]:checked').val();
|
||
const id = '01' === issuTrgetDvCd ? 'issuTrgetMbtlnb' : 'issuTrgetBsnmNb';
|
||
let rlPgCmpnyNm = $('#pgCmpnyNm').val();
|
||
|
||
let pgCont = "";
|
||
if('kiwoom' === pgCmpnyNm) pgCont='pg06Content';
|
||
else if('kcp' === pgCmpnyNm) pgCont='pg04Content';
|
||
else pgCont='pg03Content';
|
||
let setleTyId = $('#'+pgCont).find('button[name="' + setleTyCd + '"]').attr('id');
|
||
|
||
|
||
if ('tosspay' === rlPgCmpnyNm) {
|
||
setleTyId = 'acount'
|
||
}
|
||
|
||
const div = $('#' + setleTyId + '-content-inner');
|
||
|
||
const input = $(div).find('#' + id);
|
||
|
||
if (fn_is_empty($(input).val())) {
|
||
alert($(div).find('#' + id).attr('title') + ' 항목을 입력해 주십시오');
|
||
|
||
$(div).find('#' + id).focus();
|
||
|
||
isValid = false;
|
||
|
||
return false;
|
||
}
|
||
}
|
||
} else if ('toss03' === pgCmpnyNm){ //퀵계좌이체(추가된 결제수단이라 기존코드 유지위해 toss03이름으로 임시지정 후 toss로 변환)
|
||
|
||
const isChecked = $('#transfer-cash-receipt').is(':checked');
|
||
|
||
if (isChecked) {
|
||
const div = $('#transfer-cash-receipt').closest('.selectWrap');
|
||
const issuTrgetDvCd = $(div).find('input[name="issuTrgetDvCd"]:checked').val();
|
||
const id = '01' === issuTrgetDvCd ? 'issuTrgetMbtlnb' : 'issuTrgetBsnmNb';
|
||
const content = $(div).find('#transfer-cash-receipt-content-inner');
|
||
const input = $(content).find('#' + id);
|
||
|
||
if (fn_is_empty($(input).val())) {
|
||
alert($(content).find('#' + id).attr('title') + ' 항목을 입력해 주십시오');
|
||
|
||
$(content).find('#' + id).focus();
|
||
|
||
isValid = false;
|
||
|
||
return false;
|
||
}else{
|
||
$('#setleForm').find('input[name="cshRciptIssuAt"]').val('01');
|
||
}
|
||
}
|
||
|
||
pgCmpnyNm = "toss";
|
||
setleTyCd = "03";
|
||
|
||
$('#setleForm').find('#pgCmpnyNm').val(pgCmpnyNm);
|
||
$('#setleForm').find('#setleTyCd').val(setleTyCd);
|
||
} else { //gc페이
|
||
if ('01' === setleTyCd) { // 카드
|
||
const index = $('.cardSlideW').slick('slickCurrentSlide');
|
||
const curCardId = $('#gcCardId' + index).val();
|
||
const curCardInstallmentPlan = $('#instl-month-' + index).val();
|
||
const curUseCardPoint = $('#use-card-point' + index);
|
||
|
||
if (!fn_is_empty(curCardId)) {
|
||
$('#gcpayMethodId').val(curCardId);
|
||
$('#gcpayCardInstallmentPlan').val(curCardInstallmentPlan);
|
||
$('#gcpayUseCardPoint').val(!!$(curUseCardPoint).is(':checked'));
|
||
} else {
|
||
alert('GCpay 간편결제의 선택된 카드가 없습니다.');
|
||
|
||
isValid = false;
|
||
|
||
return false;
|
||
}
|
||
} else if ('03' === setleTyCd){
|
||
const accountId = $('.bankSlideW').slick('slickCurrentSlide');
|
||
const curAccountId = $('#gcAccId' + accountId).val();
|
||
|
||
if (!fn_is_empty(curAccountId)) {
|
||
$('#gcpayMethodId').val(curAccountId);
|
||
} else {
|
||
alert('GCpay 간편결제의 선택된 계좌가 없습니다.');
|
||
|
||
isValid = false;
|
||
|
||
return false;
|
||
}
|
||
|
||
const isChecked = $('#gc-pay-bank-cash-receipt').is(':checked');
|
||
|
||
if (isChecked) {
|
||
const div = $('#gc-pay-bank-cash-receipt').closest('.selectWrap');
|
||
const issuTrgetDvCd = $(div).find('input[name="issuTrgetDvCd"]:checked').val();
|
||
const id = '01' === issuTrgetDvCd ? 'issuTrgetMbtlnb' : 'issuTrgetBsnmNb';
|
||
const content = $(div).find('#gc-pay-bank-cash-receipt-content-inner');
|
||
const input = $(content).find('#' + id);
|
||
|
||
if (fn_is_empty($(input).val())) {
|
||
alert($(content).find('#' + id).attr('title') + ' 항목을 입력해 주십시오');
|
||
|
||
$(content).find('#' + id).focus();
|
||
|
||
isValid = false;
|
||
|
||
return false;
|
||
}
|
||
}
|
||
}
|
||
}
|
||
|
||
if (!isValid) {
|
||
return false;
|
||
}
|
||
|
||
order['setle'] = fn_get_form_obj('setleForm');
|
||
/* 결제정보 정합성 검사 종료 */
|
||
|
||
/* 주문상품, 사은품 데이터 세팅 시작 */
|
||
let goodsList = localStorage.getItem('goodsList');
|
||
|
||
if (!fn_is_empty(goodsList)) {
|
||
order['goodsList'] = JSON.parse(goodsList);
|
||
}
|
||
|
||
// order['prsnt'] = fn_get_prsnt_data();
|
||
/* 주문상품, 사은품 데이터 세팅 종료 */
|
||
|
||
/* 에누리 데이터 세팅 시작 */
|
||
// const enuri = localStorage.getItem('enuri');
|
||
|
||
// if (!fn_is_empty(enuri)) {
|
||
// order['enuri'] = JSON.parse(enuri);
|
||
// }
|
||
/* 에누리 데이터 세팅 종료 */
|
||
|
||
|
||
/* ********************* 실 결제금액 세팅 결제금액 비교 시작 ********************* */
|
||
const ordrCheckMsg = "구매 정보가 갱신되었습니다. 확인 후 다시 진행해주세요.";
|
||
const sopmalCd = $('#sopmalCd').val();
|
||
let stdrGoodsList = [];
|
||
|
||
$('#goodsList').find('.ordrGoods').each(function () {
|
||
const subsvcInnb = $(this).find('.subsvcInnb').val();
|
||
// const goodsOptnInnb = $(this).find('.goodsOptnInnb').val();
|
||
const qy = $(this).find('.qy').val();
|
||
|
||
let goods = {
|
||
'sopmalCd': sopmalCd,
|
||
'subsvcInnb': subsvcInnb,
|
||
// 'goodsOptnInnb': goodsOptnInnb,
|
||
'qy': qy
|
||
};
|
||
|
||
stdrGoodsList.push(goods);
|
||
});
|
||
|
||
let storageGoodsList = [];
|
||
if (!fn_is_empty(goodsList)) {
|
||
let storageTempGoodsList = JSON.parse(goodsList);
|
||
|
||
storageTempGoodsList.forEach((item, index) => {
|
||
let goods = {
|
||
'sopmalCd': sopmalCd,
|
||
'subsvcInnb': item.subsvcInnb.toString(),
|
||
// 'goodsOptnInnb': item.goodsOptnInnb.toString(),
|
||
'qy': item.qy.toString()
|
||
};
|
||
|
||
storageGoodsList.push(goods);
|
||
});
|
||
}
|
||
|
||
if (!fn_compare_goodslists(stdrGoodsList, storageGoodsList)) {
|
||
alert(ordrCheckMsg);
|
||
location.reload();
|
||
return false;
|
||
}
|
||
|
||
|
||
const setleAmtFromOrder = order['setle']['rlSetleAmt']; // 실 결제금액
|
||
|
||
// const enuriObj = JSON.parse(enuri);
|
||
// const setleAmtFromEnuri = enuriObj['setleAmt']; // 계산된 결제금액
|
||
const setleAmtFromSubsvc = order.goodsList.reduce(function(sum, item){
|
||
return sum + Number(item.slepric || 0); // 계산된 결제금액
|
||
}, 0);
|
||
|
||
if (setleAmtFromOrder !== setleAmtFromSubsvc.toString()) {
|
||
alert(ordrCheckMsg);
|
||
location.reload();
|
||
return false;
|
||
}
|
||
/* ********************* 실 결제금액 세팅 결제금액 비교 종료 ********************* */
|
||
|
||
if (ordrTyCd === '04') { // 선물하기
|
||
order['ordrTyCd'] = '04';
|
||
} else if (ordrTyCd === '05') { // 여러곳 배송
|
||
order['ordrTyCd'] = '05';
|
||
} else {
|
||
order['ordrTyCd'] = '01'; // 일반 주문
|
||
}
|
||
|
||
/* 광고 수신 동의 체크 */
|
||
if(!fn_is_empty($("#marktRecptnAgreAt"))) {
|
||
if ($("#marktRecptnAgreAt").is(":checked")) {
|
||
order['marktRecptnAgreAt'] = 'Y';
|
||
} else {
|
||
order['marktRecptnAgreAt'] = 'N';
|
||
}
|
||
}
|
||
|
||
return order;
|
||
}
|
||
|
||
/* 무통장 입금 계좌번호 목록 조회 */
|
||
const fn_get_rcpmny_acntnb_list = function() {
|
||
$.ajax({
|
||
type:'post',
|
||
contentType:'application/json',
|
||
url:'<c:url value="/sopmal/ordr/selectRcpmnyAcntnbList"/>',
|
||
data:JSON.stringify({'sopmalCd':$('#sopmalCd').val()}),
|
||
dataType:'json',
|
||
success:function(data) {
|
||
if (data.resBody != null) {
|
||
const result = JSON.parse(data.resBody.result);
|
||
|
||
if (!fn_is_empty(result)) {
|
||
const setupNbkDpstVOList = result.setupNbkDpstVOList;
|
||
const div = $('#bank-content #bank-content-inner');
|
||
|
||
for (let i = 0; i < setupNbkDpstVOList.length; i++) {
|
||
const setup = setupNbkDpstVOList[i];
|
||
const title = setup.bankNm + ' ' + setup.acntnb + ' ' + setup.dpstrNm;
|
||
|
||
const option = '<option value="' + setup.acntnb + '" bnnk-nm="' + setup.bankNm + '" dpstr-nm="' + setup.dpstrNm + '">' + title + '</option>';
|
||
|
||
$(div).find('table tr #rcpmnyAcntnb').append(option);
|
||
}
|
||
|
||
$(div).find('.select-box select').niceSelect('update');
|
||
}
|
||
}
|
||
},
|
||
error:function(data) {
|
||
alert('<spring:message code="error.internal-server"/>');
|
||
}
|
||
});
|
||
}
|
||
|
||
/* 중복제한 쿠폰 체크 */
|
||
/*const fn_check_dplct_lmtt_coupon = function(cpnDvCd, obj) {
|
||
const objGoodsOptnInnb = obj.closest('tr').prev('tr').find('.goodsOptnInnb').val(); // 이벤트 발생 상품옵션고유번호
|
||
|
||
$('#goodsList').find('.ordrGoods').each(function () {
|
||
const dplctLmttCoupon = $(this).find('.dplctLmttCoupon').val();
|
||
const thisGoodsOptnInnb = $(this).find('.goodsOptnInnb').val();
|
||
|
||
// 이벤트 중복제한 체크
|
||
const dplctLmttCheck = () => {
|
||
if (!fn_is_empty(dplctLmttCoupon)) {
|
||
const dplctLmttEvtnm = $(this).find('.dplctLmttEvtnm').val();
|
||
|
||
if (dplctLmttCoupon.includes(cpnDvCd)) {
|
||
alert(dplctLmttEvtnm + '의 할인이 적용된경우 해당 쿠폰을 적용 할 수 없습니다.');
|
||
|
||
$(obj).val('0').attr('selected', true).niceSelect('update');
|
||
|
||
return false;
|
||
}
|
||
}
|
||
}
|
||
|
||
if (cpnDvCd === '01') { // 상품쿠폰은 적용상품만 제한
|
||
if (thisGoodsOptnInnb === objGoodsOptnInnb) {
|
||
dplctLmttCheck();
|
||
}
|
||
} else { // 배송비, 장바구니 쿠폰은 대상상품 포함시 모두 제한
|
||
dplctLmttCheck();
|
||
}
|
||
});
|
||
|
||
return false;
|
||
}*/
|
||
|
||
/* form 정보 조회 */
|
||
const fn_get_form_obj = function(id) {
|
||
let formObj = {};
|
||
const inputs = $('#' + id).serializeArray();
|
||
|
||
// let cartCoupon = localStorage.getItem('cartCoupon');
|
||
// let dscntAmt = 0;
|
||
|
||
// if (cartCoupon) {
|
||
// let parsedCoupon = JSON.parse(cartCoupon);
|
||
// if (parsedCoupon && parsedCoupon.dscntAmt) {
|
||
// dscntAmt = parseFloat(parsedCoupon.dscntAmt);
|
||
// }
|
||
// }
|
||
|
||
// let enuri = localStorage.getItem('enuri');
|
||
// let useMlgAmt = 0;
|
||
|
||
// if (enuri) {
|
||
// let parsedUseMlg = JSON.parse(enuri);
|
||
// if (parsedUseMlg && parsedUseMlg.useMlgAmt) {
|
||
// useMlgAmt = parseFloat(parsedUseMlg.useMlgAmt);
|
||
// }
|
||
// }
|
||
|
||
// let goodsList = localStorage.getItem('goodsList');
|
||
// let parsedGoodsList = JSON.parse(goodsList);
|
||
// let goodsDscntDtlsList = parsedGoodsList[0].goodsDscntDtlsList;
|
||
|
||
let totalDscntAmt = 0;
|
||
|
||
// goodsDscntDtlsList.forEach(item => {
|
||
// totalDscntAmt += item.dscntAmt;
|
||
// });
|
||
|
||
let goodsDscntAmt = 0;
|
||
|
||
// if (goodsList) {
|
||
// let parsedGoodsList = JSON.parse(goodsList);
|
||
// if (parsedGoodsList && parsedGoodsList.useMlgAmt) {
|
||
// goodsDscntAmt = parseFloat(parsedGoodsList.useMlgAmt);
|
||
// }
|
||
// }
|
||
|
||
// $('#cartDscntAmt').val(dscntAmt);
|
||
// $('#milgDscntAmt').val(useMlgAmt);
|
||
$('#totalGoodsDscntAmt').val(totalDscntAmt);
|
||
|
||
$.each(inputs, function (i, input) {
|
||
formObj[input.name] = input.value.trim();
|
||
});
|
||
|
||
return formObj;
|
||
}
|
||
|
||
/* ********************************************************
|
||
* 우편번호 찾기
|
||
******************************************************** */
|
||
const fn_set_postcode = function(data, btn) {
|
||
|
||
|
||
const form = $(btn).closest('form');
|
||
|
||
// $('#postcode').val(data.postcode);
|
||
$(form).find('input[name="dlvylcZip"]').val(data.postcode);
|
||
|
||
if (data.addressType == '02' ) {
|
||
$(form).find('input[name="dlvylcAdresDvCd"]').val(data.addressType);
|
||
$(form).find('input[name="dlvylcLnbAdres"]').val(data.jibunAddress);
|
||
$(form).find('input[name="dlvylcAdres"]').val($(form).find('input[name="dlvylcLnbAdres"]').val());
|
||
} else if (data.addressType == '01') {
|
||
$(form).find('input[name="dlvylcAdresDvCd"]').val(data.addressType);
|
||
$(form).find('input[name="dlvylcRnmAdres"]').val(data.roadAddress);
|
||
$(form).find('input[name="dlvylcAdres"]').val($(form).find('input[name="dlvylcRnmAdres"]').val());
|
||
}
|
||
|
||
const dlvylcZip = $('#postcode').val();
|
||
localStorage.setItem("dlvylcZip", dlvylcZip);
|
||
fn_get_setle_amt();
|
||
|
||
}
|
||
|
||
/* 약관 상세 보기, 마케팅동의여부 모달 데이터 정제*/
|
||
const fn_select_clause = (stplatDvCd,agreeAt) => {
|
||
$.ajax({
|
||
type: 'post',
|
||
url: "/sopmal/main/selectIndvdlInfoProcsCn",
|
||
data: {stplatDvCd: stplatDvCd},
|
||
success: function (data) {
|
||
data = JSON.parse(data.resBody.result);
|
||
//약관 내용
|
||
const clauseList = data.clauseList;
|
||
let stplatCn = '';
|
||
let sj = '' ;
|
||
if (!fn_is_empty(clauseList)) {
|
||
let i = 0;
|
||
clauseList.forEach(function (item) {
|
||
if (i === 0) {
|
||
stplatCn = item.stplatCn;
|
||
return false;
|
||
}
|
||
});
|
||
}
|
||
//약관제목
|
||
const stplatList = data.stplat;
|
||
let clauseSj = '';
|
||
if (!fn_is_empty(stplatList)) {
|
||
clauseSj = stplatList.filter(stplatList => stplatList.cd === stplatDvCd);
|
||
if (!fn_is_empty(clauseSj)) {
|
||
sj = clauseSj[0].cdNm;
|
||
}
|
||
}
|
||
const sjCn = {sj: sj,
|
||
cn: stplatCn};
|
||
fn_select_clause2(sjCn,agreeAt);
|
||
}
|
||
});
|
||
}
|
||
|
||
/*약관동의, 마케팅동의 재확인 모달 값 세팅*/
|
||
const fn_select_clause2 = (data, agreeAt) => {
|
||
const sj = data.sj;
|
||
const cn = data.cn;
|
||
let tgtModalNm = '';
|
||
let tgtModalSj = ''
|
||
let tgtModalCn = ''
|
||
//마케팅 동의 여부 모달
|
||
if(agreeAt === 'Y'){
|
||
tgtModalNm = "nmbrClauseAgree";
|
||
tgtModalSj = "nmbrClauseAgree-sj";
|
||
tgtModalCn = "nmbrClauseAgree-content";
|
||
}else{ //약관동의 모달
|
||
tgtModalNm = "nmbrClause";
|
||
tgtModalSj = "nmbrClause-sj";
|
||
tgtModalCn = "nmbrClause-content";
|
||
}
|
||
$("#"+tgtModalCn).html(cn);
|
||
$("#"+tgtModalCn).addClass("ck-content");
|
||
$("#"+tgtModalSj).text(sj);
|
||
$("#"+tgtModalNm).modal('open');
|
||
}
|
||
</script>
|
||
|
||
<script>
|
||
/****************************************************************/
|
||
/* m_Completepayment 설명 */
|
||
/****************************************************************/
|
||
/* 인증완료시 재귀 함수 */
|
||
/* 해당 함수명은 절대 변경하면 안됩니다. */
|
||
/* 해당 함수의 위치는 kcp_spay_hub.js 보다먼저 선언되어여 합니다. */
|
||
/* Web 방식의 경우 리턴 값이 form 으로 넘어옴 */
|
||
/****************************************************************/
|
||
function m_Completepayment(FormOrJson, closeEvent) {
|
||
var frm = document.order_info;
|
||
|
||
/********************************************************************/
|
||
/* FormOrJson은 가맹점 임의 활용 금지 */
|
||
/* frm 값에 FormOrJson 값이 설정 된 frm 값으로 활용 하셔야 됩니다. */
|
||
/********************************************************************/
|
||
GetField(frm, FormOrJson);
|
||
|
||
if (frm.res_cd.value == "0000"){
|
||
/* 결제인증 완료 후 결제승인 요청을 위한 비즈니스 로직 구현 */
|
||
frm.submit();
|
||
} else {
|
||
/* 결제인증 실패에 대한 처리 */
|
||
alert( "[" + frm.res_cd.value + "] " + frm.res_msg.value );
|
||
|
||
location.reload();
|
||
|
||
closeEvent();
|
||
}
|
||
}
|
||
</script>
|
||
|
||
<c:choose>
|
||
<c:when test="${data.payInfo.kcpMid eq 'T0007'}">
|
||
<script type="text/javascript" src="https://testspay.kcp.co.kr/plugin/kcp_spay_hub.js"></script>
|
||
</c:when>
|
||
<c:otherwise>
|
||
<script type="text/javascript" src="https://spay.kcp.co.kr/plugin/kcp_spay_hub.js"></script>
|
||
</c:otherwise>
|
||
</c:choose>
|
||
|
||
<script>
|
||
/* 표준웹 실행 */
|
||
function jsf__pay(form) {
|
||
try {
|
||
KCP_Pay_Execute_Web(form);
|
||
} catch (e) {
|
||
console.log(e)
|
||
/* IE 에서 결제 정상종료시 throw로 스크립트 종료 */
|
||
}
|
||
}
|
||
</script>
|
||
|
||
<script src="https://js.tosspayments.com/v1"></script>
|
||
|
||
<script>
|
||
let tossPayments = TossPayments("${data.payInfo.tossClntKey}");
|
||
|
||
function pay(method, requestJson, pgNm) {
|
||
|
||
if(pgNm === "naverpay"||pgNm === "kakaopay")
|
||
tossPayments = TossPayments("${data.payInfo.easypayClntKey}");
|
||
|
||
tossPayments.requestPayment(method, requestJson)
|
||
.catch(function (error) {
|
||
if (error.code === "USER_CANCEL") {
|
||
alert("결제를 취소하였습니다.");
|
||
|
||
location.reload();
|
||
} else {
|
||
alert(error.message);
|
||
}
|
||
});
|
||
}
|
||
</script>
|
||
|
||
<script>
|
||
function kiwoom_Completepayment() {
|
||
var frm = document.order_info;
|
||
const encoded = btoa(unescape(encodeURIComponent(frm.ordrrNm.value)));
|
||
frm.ordrrNm.value = encoded;
|
||
frm.submit();
|
||
}
|
||
</script>
|
||
</head>
|
||
<body>
|
||
<%-- 공통 Header --%>
|
||
<jsp:include page="/WEB-INF/views/comm/Header.jsp"/>
|
||
|
||
<!-- 메인 컨텐츠 영역 -->
|
||
<main>
|
||
<div class="sub-wrapper">
|
||
<div class="sub-content">
|
||
<div class="cartOrder">
|
||
<spring:eval expression="@environment.getProperty('sopmalfo.common.fileupload.cdnurl')" var="cdnurl"/>
|
||
<input type="hidden" id="cdnurl" value="${cdnurl}"/>
|
||
<h2 class="cartOrder__title">구독서비스 결제</h2>
|
||
<div class="cartOrder__inner">
|
||
<div class="cartOrder__left">
|
||
<div class="orderInfo">
|
||
<form id="purchsrForm">
|
||
<c:set var="purchsr" value="${data.purchsr}"/>
|
||
<input type="hidden" name="sopmalCd" id="sopmalCd" value="<c:out value="${purchsr.sopmalCd}"/>">
|
||
<input type="hidden" name="mbrId" id="mbrId" value="<c:out value="${purchsr.mbrId}"/>">
|
||
<input type="hidden" name="mbrDvCd" id="mbrDvCd" value="<c:out value="${purchsr.mbrDvCd}"/>">
|
||
<input type="hidden" name="mbrTyCd" id="mbrTyCd" value="<c:out value="${purchsr.mbrTyCd}"/>">
|
||
<input type="hidden" name="deviceType" id="deviceType" value="<c:out value="${deviceType}"/>">
|
||
<div class="orderInfo__section ordrTySec">
|
||
<div id="ordrTyRadio" class="custom-radio-container">
|
||
<div class="custom-radio">
|
||
<input type="radio" name="ordrTy" id="ordrTy01" value="01" checked>
|
||
<label for="ordrTy01">일반 주문</label>
|
||
</div>
|
||
<c:if test = "${data.shopInfo.multiDlvyAt eq 'Y'}">
|
||
<div class="custom-radio">
|
||
<input type="radio" name="ordrTy" id="ordrTy02" value="05">
|
||
<label for="ordrTy02">여러곳 배송</label>
|
||
</div>
|
||
</c:if>
|
||
<c:if test="${ data.shopInfo.giftDlvyAt eq 'Y'}">
|
||
<div class="custom-radio">
|
||
<input type="radio" name="ordrTy" id="ordrTy03" value="04">
|
||
<label for="ordrTy03">선물하기</label>
|
||
</div>
|
||
</c:if>
|
||
</div>
|
||
</div>
|
||
<div class="orderInfo__section">
|
||
<h3 class="orderInfo__sectionTitle">주문자 정보</h3>
|
||
<div class="table-wrapper orderInfo__table">
|
||
<table class="table">
|
||
<caption>주문자 정보</caption>
|
||
<colgroup>
|
||
<col style="width: 180px;">
|
||
<col style="width: auto;">
|
||
</colgroup>
|
||
<tbody>
|
||
<tr>
|
||
<th><span class="orderInfo__title">이름</span></th>
|
||
<td>
|
||
<input type="text" name="mbrNm" id="mbrNm" value="<c:out value="${purchsr.mbrNm}"/>" class="input-text" title="이름" placeholder=""
|
||
<c:if test="${ not empty purchsr.mbrNm }">
|
||
readonly
|
||
</c:if>
|
||
>
|
||
</td>
|
||
</tr>
|
||
<tr>
|
||
<th><span class="orderInfo__title">휴대폰 번호</span></th>
|
||
<td><input type="text" name="mbtlnb" id="mbtlnb" oninput="fn_set_event(this, 'keyup', fn_fmt_telno)" maxlength="13" value="<c:out value="${purchsr.mbtlnb}"/>" class="input-text number" title="휴대폰번호" placeholder="휴대폰번호 입력 (’-’ 없이)"></td>
|
||
</tr>
|
||
<tr>
|
||
<th><span class="orderInfo__title">이메일</span></th>
|
||
<td><input type="text" name="email" id="email" value="<c:out value="${purchsr.email}"/>" class="input-text" title="이메일" placeholder="이메일을 입력하세요."></td>
|
||
</tr>
|
||
</tbody>
|
||
</table>
|
||
</div>
|
||
</div>
|
||
</form>
|
||
<div class="orderInfo__section dftOrdr">
|
||
<h3 class="orderInfo__sectionTitle">배송지 정보</h3>
|
||
<form id="dlvylcForm">
|
||
<input type="hidden" id="isDftDlvylc" value="<c:out value="${not empty data.purchsr.dftDlvylc ? 'Y' : 'N'}"/>">
|
||
<input type="hidden" name="dlvyGroupInnb" id="dlvyGroupInnb" class="dft">
|
||
<input type="hidden" name="dftDlvyAmt" id="dftDlvyAmt" class="dft">
|
||
<input type="hidden" name="dlvyAmt" id="dlvyAmt" class="dft">
|
||
<input type="hidden" name="couponInnb">
|
||
<input type="hidden" name="dwldCouponInnb">
|
||
<input type="hidden" name="dplctDscntAt">
|
||
<input type="hidden" name="otrCouponSmtmUseAt">
|
||
<input type="hidden" name="mngrFreeDlvyUseAt" value="N">
|
||
|
||
<c:set var="dftDlvylc" value="${data.purchsr.dftDlvylc}"/>
|
||
<c:set var="multiDlvyAt" value="${data.shopInfo.multiDlvyAt}"/>
|
||
<c:set var="fdrmDlvyAt" value="${data.shopInfo.fdrmDlvyAt}"/>
|
||
<c:set var="giftDlvyAt" value="${data.shopInfo.giftDlvyAt}"/>
|
||
<div class="table-wrapper orderInfo__table">
|
||
<table class="table">
|
||
<caption>배송지 정보</caption>
|
||
<!-- 각 열 width 설정 -->
|
||
<colgroup>
|
||
<col style="width: 180px;">
|
||
<col style="width: auto;">
|
||
</colgroup>
|
||
<tbody>
|
||
<tr>
|
||
<th><span class="orderInfo__title">배송지 선택</span></th>
|
||
<td class="td-inner vertical">
|
||
<div id="deliveryAddressRadio" class="custom-radio-container">
|
||
<div class="custom-radio is-medium">
|
||
<input type="radio" name="dlvylcDvCd" id="dlvylcDft" value="Default" checked>
|
||
<label for="dlvylcDft">기본 배송지</label>
|
||
</div>
|
||
<div class="custom-radio is-medium">
|
||
<input type="radio" name="dlvylcDvCd" id="dlvylcNew" value="New">
|
||
<label for="dlvylcNew">신규 배송지</label>
|
||
</div>
|
||
<%-- <c:if test="${ giftDlvyAt eq 'Y'}">--%>
|
||
<%-- <div class="custom-radio is-medium">--%>
|
||
<%-- <input type="radio" name="dlvylcDvCd" id="dlvylcGift" value="Gift">--%>
|
||
<%-- <label for="dlvylcGift">선물하기</label>--%>
|
||
<%-- </div>--%>
|
||
<%-- </c:if>--%>
|
||
</div>
|
||
<a href="javascript:void(0);" id="btnDlvylcMngr" class="btn md outline orderInfo__editBtn btnDlvylcMngr presentArea" style="display: none;">배송지 관리</a>
|
||
<%--일본 배송지 추가 - 일부 기능 삭제--%>
|
||
<%-- <label class="b-checkbox checkbox">--%>
|
||
<%-- <input type="checkbox" class="ordrrInfoSet" value="">--%>
|
||
<%-- <span class="check"></span>--%>
|
||
<%-- <span class="control-label">주문자와 동일</span>--%>
|
||
<%-- </label>--%>
|
||
</td>
|
||
</tr>
|
||
<!-- 기본 배송지 선택 시 Start -->
|
||
<tr class="deliveryAddressDefault">
|
||
<th><span class="orderInfo__title">받는분</span></th>
|
||
<td>
|
||
<input type="hidden" id="recpntNm" class="dft" value="<c:out value="${dftDlvylc.recpntNm}"/>">
|
||
<span class="orderInfo__text recpntNm_ordrInfo_text"><c:out value="${dftDlvylc.recpntNm}"/></span>
|
||
</td>
|
||
</tr>
|
||
<tr class="deliveryAddressDefault">
|
||
<th><span class="orderInfo__title">주소</span></th>
|
||
<td>
|
||
<input type="hidden" id="dlvylcAdresDvCd" class="dft" value="<c:out value="${dftDlvylc.adresDv}"/>">
|
||
<input type="hidden" id="dlvylcZip" class="dft" value="<c:out value="${dftDlvylc.zip}"/>">
|
||
<input type="hidden" id="dlvylcAreaCd" class="dft" value="<c:out value="${dftDlvylc.dlvylcAreaCd}"/>">
|
||
<input type="hidden" id="prefcd" class="dft" title="도도부현코드" value="<c:out value="${dftDlvylc.prefcd}"/>">
|
||
<input type="hidden" id="dlvylcLnbAdres" class="dft" value="<c:out value="${dftDlvylc.lnbAdres}"/>">
|
||
<input type="hidden" id="dlvylcRnmAdres" class="dft" value="<c:out value="${dftDlvylc.rnmAdres}"/>">
|
||
<input type="hidden" id="dlvylcAdresDtl" class="dft" value="<c:out value="${dftDlvylc.dtlAdres}"/>">
|
||
<span class="orderInfo__text recpntNm_adress_text">
|
||
<c:out value="${not empty dftDlvylc.zip ? '(' += dftDlvylc.zip += ')' : ''}"/>
|
||
<c:out value="${dftDlvylc.adres}"/>
|
||
<c:out value="${dftDlvylc.dtlAdres}"/>
|
||
</span>
|
||
</td>
|
||
</tr>
|
||
<tr class="deliveryAddressDefault">
|
||
<th><span class="orderInfo__title">휴대폰번호</span></th>
|
||
<td>
|
||
<input type="hidden" id="recpntMbtlnb" class="dft" value="<c:out value="${dftDlvylc.mbtlnb}"/>">
|
||
<span class="orderInfo__text recpntMbtlnb_ordrInfo_text"><c:out value="${dftDlvylc.mbtlnb}"/></span>
|
||
</td>
|
||
</tr>
|
||
<c:if test="${dftDlvylc.dlvylcAreaCd eq 'KR'}">
|
||
<tr class="deliveryAddressDefault">
|
||
<th><span class="orderInfo__title">개인통관번호</span></th>
|
||
<td>
|
||
<input type="hidden" id="cstmclerCd" class="dft" title="개인통관번호" value="<c:out value="${dftDlvylc.cstmclerCd}"/>">
|
||
<span class="orderInfo__text cstmclerCd_ordrInfo_text">
|
||
<c:choose>
|
||
<c:when test="${not empty dftDlvylc.cstmclerCd}">
|
||
<c:out value="${dftDlvylc.cstmclerCd}"/>
|
||
</c:when>
|
||
<c:otherwise>
|
||
배송지 관리에서 입력하세요.
|
||
</c:otherwise>
|
||
</c:choose>
|
||
</span>
|
||
</td>
|
||
</tr>
|
||
</c:if>
|
||
<!-- 기본 배송지 선택 시 End -->
|
||
<!-- 신규 배송지 선택 시 Start -->
|
||
<tr class="deliveryAddressNew" style="display:none;">
|
||
<th><span class="orderInfo__title">받는분</span></th>
|
||
<td><input type="text" name="recpntNm" class="new rqrd input-text rqrd_gift" title="받는분 이름" placeholder="받는분 이름을 입력하세요." readonly></td>
|
||
</tr>
|
||
<tr class="deliveryAddressNew presentArea" style="display:none;">
|
||
<th><span class="orderInfo__title">주소</span></th>
|
||
<td>
|
||
<div class="inputAddress">
|
||
<div class="inputAddress__postalCode">
|
||
<input type="text" id="postcode" name="dlvylcZip" class="new rqrd input-text" title="우편번호" placeholder="" readonly>
|
||
<%--일본 배송지 추가 - 일부 기능 삭제--%>
|
||
<%-- <button type="button" id="btnPost1" onclick="fn_select_postcode(fn_set_postcode, this); return false;" class="btn md theme outline">우편번호 찾기</button>--%>
|
||
</div>
|
||
<input type="text" name="dlvylcAdres" class="new rqrd input-text full" title="주소" placeholder="" readonly>
|
||
<input type="text" name="dlvylcAdresDtl" class="new rqrd input-text full" title="나머지 주소" placeholder="나머지 주소를 입력해 주세요." readonly>
|
||
<input type="hidden" name="dlvylcAdresDvCd" class="new">
|
||
<input type="hidden" name="dlvylcLnbAdres" class="new">
|
||
<input type="hidden" name="dlvylcRnmAdres" class="new">
|
||
<input type="hidden" name="dlvylcAreaCd" class="new rqrd" title="배송지역코드">
|
||
<input type="hidden" name="prefcd" class="new" title="도도부현코드">
|
||
</div>
|
||
</td>
|
||
</tr>
|
||
<tr class="deliveryAddressNew" style="display:none;">
|
||
<th> <span class="orderInfo__title">휴대폰번호</span></th>
|
||
<td>
|
||
<input type="text" name="recpntMbtlnb" oninput="fn_set_event(this, 'keyup', fn_fmt_telno)" maxlength="13" class="new rqrd input-text number rqrd_gift" title="휴대폰번호" placeholder="휴대폰번호 입력 (’-’ 없이)" readonly>
|
||
</td>
|
||
</tr>
|
||
<tr class="deliveryAddressNew cstmclerArea" style="display:none;">
|
||
<th> <span class="orderInfo__title">개인통관번호</span></th>
|
||
<td>
|
||
<input type="text" name="cstmclerCd" maxlength="13" class="new input-text" title="개인통관번호" placeholder="배송지 관리에서 입력하세요." readonly>
|
||
</td>
|
||
</tr>
|
||
<!-- 신규 배송지 선택 시 End -->
|
||
<tr class="presentShowArea" style="display:none;">
|
||
<th> <span class="orderInfo__title">선물메세지</span></th>
|
||
<td>
|
||
<input type="text" name="giftMssageCn" class="gift input-text" title="선물메세지" placeholder="선물 메세지를 입력하세요.">
|
||
</td>
|
||
</tr>
|
||
<!-- 선물하기 선택 시 Start -->
|
||
<%-- <tr class="deliveryAddressGift" style="display:none;">--%>
|
||
<%-- <th><span class="orderInfo__title">받는분</span></th>--%>
|
||
<%-- <td><input type="text" name="recpntNm" class="gift rqrd_gift input-text" title="받는분 이름" placeholder="받는분 이름을 입력하세요."></td>--%>
|
||
<%-- </tr>--%>
|
||
<%-- <tr class="deliveryAddressGift" style="display:none;">--%>
|
||
<%-- <th> <span class="orderInfo__title">휴대폰번호</span></th>--%>
|
||
<%-- <td>--%>
|
||
<%-- <input type="text" name="recpntMbtlnb" oninput="fn_set_event(this, 'keyup', fn_fmt_telno)" maxlength="13" class="gift rqrd_gift input-text number" title="휴대폰번호" placeholder="휴대폰번호 입력 (’-’ 없이)">--%>
|
||
<%-- </td>--%>
|
||
<%-- </tr>--%>
|
||
<%-- <tr class="deliveryAddressGift" style="display:none;">--%>
|
||
<%-- <th> <span class="orderInfo__title">선물메세지</span></th>--%>
|
||
<%-- <td>--%>
|
||
<%-- <input type="text" name="giftMssageCn" class="gift input-text" title="선물메세지" placeholder="선물 메세지를 입력하세요.">--%>
|
||
<%-- </td>--%>
|
||
<%-- </tr>--%>
|
||
<!-- 선물하기 선택 시 End -->
|
||
<tr>
|
||
<th><span class="orderInfo__title">배송요청사항</span></th>
|
||
<td>
|
||
<div class="orderInfo__deliveryRequest">
|
||
<div class="select-box">
|
||
<select class="deliveryRequestSelect" title="배송요청사항">
|
||
<option value="" selected>배송 시 요청 사항을 선택해주세요</option>
|
||
<option value="배송 전 연락 주세요">배송 전 연락 주세요.</option>
|
||
<option value="부재 시 문 앞에 놓아 주세요">부재 시 문 앞에 놓아 주세요</option>
|
||
<option value="부재 시 경비실에 맡겨 주세요.">부재 시 경비실에 맡겨 주세요.</option>
|
||
<option value="write">직접입력</option>
|
||
</select>
|
||
</div>
|
||
<div class="inputLimit deliveryRequestDetail" style="display:none;">
|
||
<input type="text" name="dlvyMssageCn" id="dlvyMssageCn" maxlength="50" class="input-text dft" title="배송요청사항" placeholder="50자 이내로 입력해 주세요.">
|
||
<span class="inputLimit__text">
|
||
<span class="inputLimit__current">0</span>
|
||
<span class="inputLimit__divider">/</span>
|
||
<span class="inputLimit__total">50</span>
|
||
</span>
|
||
</div>
|
||
</div>
|
||
</td>
|
||
</tr>
|
||
<%-- <tr>--%>
|
||
<%-- <th><span class="orderInfo__title">배송비쿠폰</span></th>--%>
|
||
<%-- <td>--%>
|
||
<%-- <div class="cartItem__footer">--%>
|
||
<%-- <div class="select-box">--%>
|
||
<%-- <select name="dlvylcCouponList" id="dlvylcCouponList" class="lg dlvylcCouponList" title="배송지 쿠폰할인">--%>
|
||
<%-- <option value="" selected>선택</option>--%>
|
||
<%-- </select>--%>
|
||
<%-- </div>--%>
|
||
<%-- </div>--%>
|
||
<%-- <div class="dlvyMultiAlertArea">--%>
|
||
|
||
<%-- </div>--%>
|
||
<%-- </td>--%>
|
||
<%-- </tr>--%>
|
||
</tbody>
|
||
</table>
|
||
</div>
|
||
</form>
|
||
</div>
|
||
<div class="orderInfo__section">
|
||
<h3 class="orderInfo__sectionTitle">주문 상품</h3>
|
||
<div class="cartOrder__list">
|
||
<div class="table-wrapper">
|
||
<table class="table vertical">
|
||
<caption>주문 상품</caption>
|
||
<colgroup>
|
||
<col style="width: 400px;">
|
||
<col style="width: 120px">
|
||
<col style="width: 128px">
|
||
<col style="width: 128px">
|
||
<col style="width: auto;">
|
||
</colgroup>
|
||
<thead>
|
||
<tr>
|
||
<th>상품명</th>
|
||
<th>주문수량</th>
|
||
<th>할인금액</th>
|
||
<th>상품금액</th>
|
||
</tr>
|
||
</thead>
|
||
<tbody id="goodsList"></tbody>
|
||
</table>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
|
||
<%--<div id="prsnt" class="orderInfo__section">
|
||
<h3 class="orderInfo__sectionTitle">사은품</h3>
|
||
<div class="cartOrder__list">
|
||
<div class="table-wrapper">
|
||
<table class="table vertical">
|
||
<caption>사은품</caption>
|
||
<colgroup>
|
||
<col style="width: 400px;">
|
||
<col style="width: 128px">
|
||
<col style="width: 128px">
|
||
<col style="width: auto;">
|
||
</colgroup>
|
||
<thead>
|
||
<tr>
|
||
<th>상품명</th>
|
||
<th>수량</th>
|
||
<th>수령여부</th>
|
||
</tr>
|
||
</thead>
|
||
<tbody id="prsntList"></tbody>
|
||
</table>
|
||
</div>
|
||
</div>
|
||
</div>--%>
|
||
|
||
<div class="orderInfo__section multiDeliveryAddress multiOrdr">
|
||
<h3 class="orderInfo__sectionTitle">배송지 정보 1</h3>
|
||
<div class="order-payment__recipient-wrapper multiOrdrInnerShipping multiShippingId1">
|
||
<div class="order-payment__multiDelivery-address address-hide multiFrstDlvylc">
|
||
|
||
</div>
|
||
<div class="cartOrder__list">
|
||
<div class="table-wrapper">
|
||
<table class="table vertical">
|
||
<caption>해당 테이블에 대한 설명</caption>
|
||
<!-- 각 열 width 설정 -->
|
||
<colgroup>
|
||
<col style="width: 400px;">
|
||
<col style="width: 120px">
|
||
<col style="width: 120px">
|
||
<col style="width: auto;">
|
||
</colgroup>
|
||
<thead>
|
||
<tr>
|
||
<th>상품명</th>
|
||
<th>주문수량</th>
|
||
<th>할인금액</th>
|
||
<th>상품금액</th>
|
||
</tr>
|
||
</thead>
|
||
<tbody class="multiOrdrGoodsList1">
|
||
<%-- <tr>--%>
|
||
<%-- <td>--%>
|
||
<%-- <div class="cartItem">--%>
|
||
<%-- <div class="cartItem__image">--%>
|
||
<%-- <a href="">--%>
|
||
<%-- <img src="../resources/images/상품이미지01.png"--%>
|
||
<%-- alt="">--%>
|
||
<%-- </a>--%>
|
||
<%-- </div>--%>
|
||
<%-- <div class="cartItem__productInfo">--%>
|
||
<%-- <a href="" class="cartItem__productTitle">초임계--%>
|
||
<%-- 식물성 알티지 오메가3 fd fd</a>--%>
|
||
<%-- <span class="cartItem__productOption">--%>
|
||
<%-- <span class="option-badge">옵션</span>--%>
|
||
<%-- 식물성알티지오메가3 1박스--%>
|
||
<%-- </span>--%>
|
||
<%-- </div>--%>
|
||
<%-- </div>--%>
|
||
<%-- </td>--%>
|
||
<%-- <td>--%>
|
||
<%-- <div class="product-count__amount-counter">--%>
|
||
<%-- <button--%>
|
||
<%-- class="product-count__amount-btn minus"><span--%>
|
||
<%-- class="visually-hidden">감소</span></button>--%>
|
||
<%-- <span class="product-count__amount-number">1</span>--%>
|
||
<%-- <button class="product-count__amount-btn plus"><span--%>
|
||
<%-- class="visually-hidden">추가</span></button>--%>
|
||
<%-- </div>--%>
|
||
<%-- <div>--%>
|
||
<%-- ( <span class="red-4">2</span> / <span class="gray-6">10</span> )--%>
|
||
<%-- </div>--%>
|
||
<%-- </td>--%>
|
||
<%-- <td>--%>
|
||
<%-- <span class="cartItem__discountPrice"><span--%>
|
||
<%-- class="cartItem__discountMinus">(-)</span><span--%>
|
||
<%-- class="comma">20000</span><span--%>
|
||
<%-- class="priceUnit">${curUnit}</span></span>--%>
|
||
<%-- </td>--%>
|
||
<%-- <td>--%>
|
||
<%-- <span class="cartItem__beforePrice"><span--%>
|
||
<%-- class="comma">79000</span>${curUnit}</span>--%>
|
||
<%-- <span class="cartItem__afterPrice"><span--%>
|
||
<%-- class="comma">59000</span><span--%>
|
||
<%-- class="priceUnit">${curUnit}</span></span>--%>
|
||
<%-- </td>--%>
|
||
<%-- <td>--%>
|
||
<%-- <span class="cartItem__shippingFee"><span--%>
|
||
<%-- class=" comma">3000</span><span--%>
|
||
<%-- class="priceUnit">${curUnit}</span></span>--%>
|
||
<%-- </td>--%>
|
||
<%-- </tr>--%>
|
||
</tbody>
|
||
</table>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
|
||
|
||
|
||
<div id="lastDlvylcArea">
|
||
|
||
</div>
|
||
|
||
<div class="center">
|
||
<button class="theme btn sm outline" id="multiDlvylcAdd">
|
||
배송지 추가 +
|
||
</button>
|
||
</div>
|
||
</div>
|
||
|
||
|
||
|
||
|
||
<%--<div class="orderInfo__section">
|
||
<h3 class="orderInfo__sectionTitle">할인 정보</h3>
|
||
<form id="enuriForm">
|
||
<input type="hidden" name="setleAmt" id="setleAmt" value="">
|
||
<input type="hidden" name="stdrGoodsSetleAmt" id="stdrGoodsSetleAmt" value="">
|
||
<input type="hidden" name="dlvyAmt" id="cartCoupondlvyAmt" value="">
|
||
<input type="hidden" name="couponInnb" id="couponInnb" value="">
|
||
<input type="hidden" name="dwldCouponInnb" id="dwldCouponInnb" value="">
|
||
<input type="hidden" name="dplctDscntAt" id="dplctDscntAt" value="">
|
||
<input type="hidden" name="otrCouponSmtmUseAt" id="otrCouponSmtmUseAt" value="">
|
||
<input type="hidden" name="mngrFreeDlvyUseAt" value="N">
|
||
<input type="hidden" name="sopmalCd" id="sopmalCd" value="<c:out value="${purchsr.sopmalCd}"/>">
|
||
<input type="hidden" name="mbrDvCd" id="mbrDvCd" value="<c:out value="${purchsr.mbrDvCd}"/>">
|
||
<input type="hidden" name="cartDscntAmt" id="cartDscntAmt" value="0">
|
||
<input type="hidden" name="totalGoodsDscntAmt" id="totalGoodsDscntAmt" value="0">
|
||
<div class="table-wrapper orderInfo__table">
|
||
<table class="table">
|
||
<caption>할인 정보</caption>
|
||
<colgroup>
|
||
<col style="width: 180px;">
|
||
<col style="width: auto;">
|
||
</colgroup>
|
||
<tbody>
|
||
<tr>
|
||
<th><span class="orderInfo__title">장바구니 쿠폰</span></th>
|
||
<td>
|
||
<div class="select-box orderInfo__cartCoupon">
|
||
<select name="cartCouponList" id="cartCouponList" class="lg" title="장바구니 쿠폰">
|
||
<option value="" selected>선택</option>
|
||
</select>
|
||
</div>
|
||
</td>
|
||
</tr>
|
||
<tr>
|
||
<th><span class="orderInfo__title">마일리지</span></th>
|
||
<td>
|
||
<div class="orderInfo__mileage">
|
||
<div class="inputWithBtn">
|
||
<input type="hidden" name="ableMlgAmt" id="ableMlgAmt" value="<c:out value="${purchsr.ableMlgAmt}"/>">
|
||
<input type="text" name="useMlgAmt" id="useMlgAmt" class="input-text text-right number" title="마일리지" placeholder="0">
|
||
<button type="button" id="btnAllUseMlgAmt" class="btn md outline">모두 사용</button>
|
||
</div>
|
||
<span class="orderInfo__mileageText">사용가능 마일리지 : <em><span class="comma"><c:out value="${purchsr.ableMlgAmt}"/></span>점</em></span>
|
||
</div>
|
||
</td>
|
||
</tr>
|
||
<c:if test = "${data.shopInfo.cashAt eq 'Y'}">
|
||
<tr>
|
||
<th><span class="orderInfo__title">GC 머니</span></th>
|
||
<td>
|
||
<div class="orderInfo__mileage">
|
||
<div class="inputWithBtn">
|
||
<input type="hidden" name="ableCashMlgAmt" id="ableCashMlgAmt" value="<c:out value="${purchsr.ableCashMlgAmt}"/>">
|
||
<input type="text" name="useCashMlgAmt" id="useCashMlgAmt" class="input-text text-right number" title="마일리지" placeholder="0">
|
||
<button type="button" id="btnAllUseCashMlgAmt" class="btn md outline">모두 사용</button>
|
||
</div>
|
||
<span class="orderInfo__mileageText">사용가능 GC 머니 : <em><span class="comma"><c:out value="${purchsr.ableCashMlgAmt}"/></span>${curUnit}</em></span>
|
||
</div>
|
||
</td>
|
||
</tr>
|
||
</c:if>
|
||
</tbody>
|
||
</table>
|
||
</div>
|
||
</form>
|
||
<div class="infoBox">
|
||
<div class="infoBox" id="saveMlg">예상 적립혜택</div>
|
||
<ul class="infoBox__list">
|
||
<li> 구매 확정 시 <i id="accmlMlgAmtSapn"></i> 적립
|
||
<c:forEach var="ntc" items="${data.mlgAccmlNtcList}">
|
||
<li>
|
||
<c:choose>
|
||
<c:when test="${'06' == ntc.bbsTyCd}">
|
||
리뷰 작성시 일반리뷰 <i><c:out value="${ntc.gnrlRvwAmt}"/>점</i> 적립, 사진리뷰 <i><c:out value="${ntc.photoRvwAmt}"/>점</i> 적립
|
||
</c:when>
|
||
<c:otherwise>
|
||
한달리뷰 <i><c:out value="${ntc.photoRvwAmt}"/>점</i> 적립
|
||
</c:otherwise>
|
||
</c:choose>
|
||
<c:if test="${not empty ntc.bgnDe && not empty ntc.endDe}">
|
||
<fmt:parseDate value="${ntc.bgnDe}" var="bgnDeDate" pattern="yyyyMMdd"/>
|
||
<fmt:formatDate value="${bgnDeDate}" var="bgnDe" pattern="yyyy-MM-dd"/>
|
||
<fmt:parseDate value="${ntc.endDe}" var="endDeDate" pattern="yyyyMMdd"/>
|
||
<fmt:formatDate value="${endDeDate}" var="endDe" pattern="yyyy-MM-dd"/>
|
||
|
||
(<c:out value="${bgnDe}"/> ~ <c:out value="${endDe}"/> 까지 <i><c:out value="${ntc.aditMlgAmt}"/>점</i> 추가 적립)
|
||
</c:if>
|
||
</li>
|
||
</c:forEach>
|
||
</ul>
|
||
</div>
|
||
</div>--%>
|
||
|
||
<div class="orderInfo__section">
|
||
|
||
<c:set var="payInfo" value="${data.payInfo}"/>
|
||
<c:set var="gcpayCardUseAt" value="${'Y' == payInfo.gcpayCardUseAt}"/>
|
||
<c:set var="gcpayAcntnbUseAt" value="${'Y' == payInfo.gcpayAcntnbUseAt}"/>
|
||
|
||
<c:choose>
|
||
<c:when test="${gcpayCardUseAt || gcpayAcntnbUseAt}"><%-- GCpay 일때만 보여줌 --%>
|
||
<div class="orderInfo__sectionHeader">
|
||
<h3 class="orderInfo__sectionTitle">결제 정보</h3>
|
||
<div class="orderInfo__btnContainer">
|
||
<a href="#gcpay-cardInfo-pop" rel="modal:open" class="btn sm outline"><i class="icon icon_info"></i>GC PAY 카드 무이자 할부 행사 안내</a>
|
||
<a href="#gcpay-info" rel="modal:open" class="btn sm outline"><i class="icon icon_info"></i>GC PAY 안내</a>
|
||
<a href="javascript:void(0);" id="gcpay_set" class="btn sm outline">GC PAY 설정</a>
|
||
</div>
|
||
</div>
|
||
<div class="orderInfo__orderInfoTop">
|
||
<div class="gcpayEvent">
|
||
<img class="gcpayEvent__icon" src="/pc/images/icon_couponEvent.png" alt="">
|
||
<p class="gcpayEvent__title">[EVENT] GC PAY 간편결제 등록 시 500점 쿠폰 증정 <span class="misc">(계정당 최초 1회)</span></p>
|
||
<p class="gcpayEvent__content">사용 조건 : 3000${curUnit} 이상 구매 시 사용 가능 (자사몰, 오프라인 매장)<br>유효 기간 : 발급일 기준 15일 이내 사용 가능</p>
|
||
</div>
|
||
<p class="textInfo textInfo--dot">GC PAY 기존 등록 고객은 <em>"[GC PAY 설정]을 눌러 본인인증 후 좌측상단의 [<]를 클릭"</em>하시면 목록에 보입니다.</p>
|
||
</div>
|
||
</c:when>
|
||
<c:otherwise>
|
||
<div class="orderInfo__sectionHeader">
|
||
<h3 class="orderInfo__sectionTitle">결제 정보</h3>
|
||
</div>
|
||
</c:otherwise>
|
||
</c:choose>
|
||
|
||
<form id="setleForm">
|
||
<input type="hidden" name="rlSetleAmt" id="rlSetleAmt" value="">
|
||
<input type="hidden" name="wonRlSetleAmt" id="wonRlSetleAmt" value="">
|
||
<input type="hidden" name="lmttUseMlg" id="lmttUseMlg" value="">
|
||
<input type="hidden" name="lmttUseCashMlg" id="lmttUseCashMlg" value="">
|
||
<input type="hidden" name="siteCdMid" id="siteCdMid" value="<c:out value="${payInfo.kcpMid}"/>">
|
||
<input type="hidden" name="dueDt" id="dueDt" value="<c:out value="${payInfo.dueDt}"/>">
|
||
|
||
<c:choose>
|
||
<c:when test="${gcpayCardUseAt || gcpayAcntnbUseAt}">
|
||
<input type="hidden" name="pgCmpnyNm" id="pgCmpnyNm" value="gcpay">
|
||
<input type="hidden" name="setleTyCd" id="setleTyCd" value="${gcpayCardUseAt ? '01' : '03'}">
|
||
</c:when>
|
||
<c:otherwise>
|
||
<input type="hidden" name="pgCmpnyNm" id="pgCmpnyNm" value="">
|
||
<input type="hidden" name="setleTyCd" id="setleTyCd" value="">
|
||
</c:otherwise>
|
||
</c:choose>
|
||
|
||
<input type="hidden" name="ordrDvCd" id="ordrDvCd" value="01">
|
||
<input type="hidden" name="gcpayCardUseAt" id="gcpayCardUseAt" value="${payInfo.gcpayCardUseAt}">
|
||
<input type="hidden" name="gcpayAcntnbUseAt" id="gcpayAcntnbUseAt" value="${payInfo.gcpayAcntnbUseAt}">
|
||
<input type="hidden" name="gcpayMethodId" id="gcpayMethodId" value="">
|
||
<input type="hidden" name="gcpayCardInstallmentPlan" id="gcpayCardInstallmentPlan" value="">
|
||
<input type="hidden" name="gcpayUseCardPoint" id="gcpayUseCardPoint" value="">
|
||
<input type="hidden" name="setleSetupTyCd" id="setleSetupTyCd" value="${payInfo.setleSetupTyCd}">
|
||
|
||
<div class="order-method ${gcpayCardUseAt || gcpayAcntnbUseAt ? 'order_gcPay' : ''}">
|
||
<c:if test="${gcpayCardUseAt}">
|
||
<div class="custom-radio is-medium listW chk_on">
|
||
<input type="radio" name="pg" id="pg01" value="gcpay" ${gcpayCardUseAt ? 'checked' : ''}>
|
||
<label for="pg01"><i class="icon icon_gcpay ml-5 mr-5"></i>카드간편결제</label>
|
||
</div>
|
||
<!--간편결제 영역-->
|
||
<div id="pg01Content" class="conW pgContent">
|
||
<div class="slideW cardSlideW">
|
||
</div>
|
||
<!--무이자 할부 하단영역-->
|
||
<div class="slideDep selectWrap">
|
||
</div>
|
||
<!--//무이자 할부 영역-->
|
||
</div>
|
||
<div id="cardMonth"></div>
|
||
<!--//간편결제 영역-->
|
||
</c:if>
|
||
|
||
<c:if test="${gcpayAcntnbUseAt}">
|
||
<div class="custom-radio is-medium ${gcpayCardUseAt ? '' : 'listW chk_on'}">
|
||
<input type="radio" name="pg" id="pg02" value="gcpay" ${gcpayCardUseAt ? '' : 'checked'}>
|
||
<label for="pg02"><i class="icon icon_gcpay ml-5 mr-5"></i>계좌간편결제</label>
|
||
</div>
|
||
<div id="pg02Content" class="conW pgContent" ${gcpayCardUseAt ? 'style="display: none"' : ''}>
|
||
<div class="slideW bankSlideW">
|
||
</div>
|
||
<div class="selectWrap">
|
||
<div class="b-checkbox-container cashReceipt-container">
|
||
<label class="b-checkbox checkbox is-medium" id="cashReceipt-check">
|
||
<input type="checkbox" id="gc-pay-bank-cash-receipt" value="">
|
||
<span class="check"></span>
|
||
<span class="control-label">현금영수증 신청하기</span>
|
||
</label>
|
||
</div>
|
||
<div id="gc-pay-bank-cash-receipt-content-inner"></div>
|
||
</div>
|
||
</div>
|
||
</c:if>
|
||
|
||
<%-- 퀵계좌이체 시작 --%>
|
||
<c:if test="${'Y' eq payInfo.rltmAcntUseAt}">
|
||
<div class="custom-radio is-medium">
|
||
<input type="radio" name="pg" id="pg05" value="toss03">
|
||
<label for="pg05">퀵계좌이체(0.5% 즉시할인)</label>
|
||
</div>
|
||
<div id="pg05Content" class="pgContent" style="display: none">
|
||
<div class="selectWrap">
|
||
<div class="b-checkbox-container cashReceipt-container">
|
||
<label class="b-checkbox checkbox is-medium" id="transfer-cashReceipt-check">
|
||
<input type="checkbox" id="transfer-cash-receipt" value="">
|
||
<span class="check"></span>
|
||
<span class="control-label">현금영수증 신청하기</span>
|
||
</label>
|
||
</div>
|
||
<div id="transfer-cash-receipt-content-inner"></div>
|
||
</div>
|
||
</div>
|
||
</c:if>
|
||
<%-- 퀵계좌이체 끝 --%>
|
||
|
||
<%-- toss 결제 시작 --%>
|
||
<c:if test="${'02' eq payInfo.setleSetupTyCd}">
|
||
<div class="custom-radio is-medium">
|
||
<input type="radio" name="pg" id="pg03" value="toss">
|
||
<label for="pg03">일반결제</label>
|
||
</div>
|
||
<div id="pg03Content" class="pgContent order-method-normal" <%-- style="display: none"--%>>
|
||
<div class="order-method-normal__btn-container">
|
||
<c:if test="${'Y' eq payInfo.cardUseAt}">
|
||
<button type="button" name="01" id="card" class="order-method-normal__btn gift_pay">
|
||
<div class="order-method-normal__icon order-method-normal__icon--card"></div>신용카드
|
||
</button>
|
||
</c:if>
|
||
<%--
|
||
<c:if test="${'Y' eq payInfo.rltmAcntUseAt}">
|
||
<button type="button" name="03" id="acount" class="order-method-normal__btn gift_pay">
|
||
<div class="order-method-normal__icon order-method-normal__icon--transfer"></div>실시간 계좌이체
|
||
</button>
|
||
</c:if>
|
||
--%>
|
||
<c:if test="${'Y' eq payInfo.virtlAcntUseAt}">
|
||
<button type="button" name="04" id="virtual" class="order-method-normal__btn">
|
||
<div class="order-method-normal__icon order-method-normal__icon--account"></div>가상계좌
|
||
</button>
|
||
</c:if>
|
||
<c:if test="${'Y' eq payInfo.virtlAcntEscwUseAt}">
|
||
<button type="button" name="05" id="escrow-virtual" class="order-method-normal__btn not_multi_pay">
|
||
<div class="order-method-normal__icon order-method-normal__icon--account"></div>가상계좌(에스크로)
|
||
</button>
|
||
</c:if>
|
||
<c:if test="${'Y' eq payInfo.nbkkUseAt}">
|
||
<button type="button" name="02" id="bank" class="order-method-normal__btn">
|
||
<div class="order-method-normal__icon order-method-normal__icon--deposit"></div>무통장
|
||
</button>
|
||
</c:if>
|
||
<c:if test="${'Y' eq payInfo.paycoUseAt}">
|
||
<button type="button" name="10" id="payco" class="order-method-normal__btn gift_pay">
|
||
<div class="order-method-normal__icon order-method-normal__icon--payco"></div>PAYCO
|
||
</button>
|
||
</c:if>
|
||
<c:if test="${'Y' eq payInfo.tpayUseAt}">
|
||
<button type="button" name="tosspay" id="tosspay" class="order-method-normal__btn gift_pay">
|
||
<div class="order-method-normal__icon order-method-normal__icon--toss"></div>토스페이
|
||
</button>
|
||
</c:if>
|
||
<c:if test="${'Y' eq payInfo.npayUseAt}">
|
||
<button type="button" name="naverpay" id="naverpay" class="order-method-normal__btn gift_pay">
|
||
<div class="order-method-normal__icon order-method-normal__icon--naver"></div>네이버페이
|
||
</button>
|
||
</c:if>
|
||
<c:if test="${'Y' eq payInfo.kpayUseAt}">
|
||
<button type="button" name="kakaopay" id="kakaopay" class="order-method-normal__btn gift_pay">
|
||
<div class="order-method-normal__icon order-method-normal__icon--kakao"></div>카카오페이
|
||
</button>
|
||
</c:if>
|
||
</div>
|
||
<div class="order-method-normal__content-wrapper">
|
||
<c:if test="${'Y' eq payInfo.cardUseAt}">
|
||
<div id="card-content" class="order-method-normal__content" style="display: none">
|
||
<div id="card-content-inner" class="order-method-normal__content-inner">
|
||
<p class="fyi gray-7 mt-10 ml-10 noempty">발급정보 : 카드매출전표(또는 휴대폰결제전표)로 대체합니다.</p>
|
||
</div>
|
||
</div>
|
||
</c:if>
|
||
<%--
|
||
<c:if test="${'Y' eq payInfo.rltmAcntUseAt}">
|
||
<div id="acount-content" class="order-method-normal__content" style="display: none">
|
||
<div id="acount-content-inner" class="order-method-normal__content-inner"></div>
|
||
</div>
|
||
</c:if>
|
||
--%>
|
||
<c:if test="${'Y' eq payInfo.virtlAcntUseAt}">
|
||
<div id="virtual-content" class="order-method-normal__content" style="display: none">
|
||
<div id="virtual-content-inner" class="order-method-normal__content-inner"></div>
|
||
</div>
|
||
</c:if>
|
||
<c:if test="${'Y' eq payInfo.virtlAcntEscwUseAt}">
|
||
<div id="escrow-virtual-content" class="order-method-normal__content" style="display: none">
|
||
<div id="escrow-virtual-content-inner" class="order-method-normal__content-inner"></div>
|
||
</div>
|
||
</c:if>
|
||
<c:if test="${'Y' eq payInfo.nbkkUseAt}">
|
||
<div id="bank-content" class="order-method-normal__content" style="display: none">
|
||
<div id="bank-content-inner" class="order-method-normal__content-inner"></div>
|
||
</div>
|
||
</c:if>
|
||
<c:if test="${'Y' eq payInfo.paycoUseAt}">
|
||
<div id="payco-content" class="order-method-normal__content" style="display: none">
|
||
<div id="payco-content-inner" class="order-method-normal__content-inner">
|
||
<div class="infoBox noempty">
|
||
<h6 class="infoBox__title">PAYCO 간편결제 안내</h6>
|
||
<ol class="infoBox__list">
|
||
<li>PAYCO는 온/오프라인 쇼핑은 물론 송금, 멤버십 적립까지 가능한 통합 서비스입니다.</li>
|
||
<li>휴대폰과 카드 명의자가 동일해야 결제 가능하며, 결제금액 제한은 없습니다.
|
||
<br>- 지원카드: 모든 국내 신용/체크카드
|
||
</li>
|
||
</ol>
|
||
</div>
|
||
<p class="textInfo noempty"><i class="icon icon_textInfo--sm"></i>발급정보 : 카드매출전표(또는 휴대폰결제전표)로 대체합니다.</p>
|
||
</div>
|
||
</div>
|
||
</c:if>
|
||
<c:if test="${'Y' eq payInfo.tpayUseAt}">
|
||
<div id="acount-content" class="order-method-normal__content" style="display: none">
|
||
<div id="acount-content-inner" class="order-method-normal__content-inner">
|
||
<p class="fyi gray-7 mt-10 ml-10 noempty">발급정보 : 카드매출전표(또는 휴대폰결제전표)로 대체합니다.</p>
|
||
</div>
|
||
</div>
|
||
</c:if>
|
||
<c:if test="${'Y' eq payInfo.npayUseAt}">
|
||
<div id="naverpay-content" class="order-method-normal__content" style="display: none">
|
||
<div id="naverpay-content-inner" class="order-method-normal__content-inner">
|
||
<div class="noempty">
|
||
|
||
</div>
|
||
</div>
|
||
</div>
|
||
</c:if>
|
||
<c:if test="${'Y' eq payInfo.kpayUseAt}">
|
||
<div id="kakaopay-content" class="order-method-normal__content" style="display: none">
|
||
<div id="kakaopay-content-inner" class="order-method-normal__content-inner">
|
||
<div class="noempty">
|
||
|
||
</div>
|
||
</div>
|
||
</div>
|
||
</c:if>
|
||
</div>
|
||
</div>
|
||
</c:if>
|
||
<%-- toss 결제 종료 --%>
|
||
|
||
<%-- kcp 결제 시작 --%>
|
||
<c:if test="${'01' eq payInfo.setleSetupTyCd}">
|
||
<div class="custom-radio is-medium">
|
||
<input type="radio" name="pg" id="pg04" value="kcp">
|
||
<label for="pg04">일반결제</label>
|
||
</div>
|
||
<div id="pg04Content" class="pgContent order-method-normal" <%-- style="display: none"--%>>
|
||
<div class="order-method-normal__btn-container">
|
||
<c:if test="${'Y' eq payInfo.cardUseAt}">
|
||
<button type="button" name="01" id="card" class="order-method-normal__btn gift_pay">
|
||
<div class="order-method-normal__icon order-method-normal__icon--card"></div>신용카드
|
||
</button>
|
||
</c:if>
|
||
<%--
|
||
<c:if test="${'Y' eq payInfo.rltmAcntUseAt}">
|
||
<button type="button" name="03" id="acount" class="order-method-normal__btn gift_pay">
|
||
<div class="order-method-normal__icon order-method-normal__icon--transfer"></div>실시간 계좌이체
|
||
</button>
|
||
</c:if>
|
||
--%>
|
||
<c:if test="${'Y' eq payInfo.virtlAcntUseAt}">
|
||
<button type="button" name="04" id="virtual" class="order-method-normal__btn">
|
||
<div class="order-method-normal__icon order-method-normal__icon--account"></div>가상계좌
|
||
</button>
|
||
</c:if>
|
||
<c:if test="${'Y' eq payInfo.virtlAcntEscwUseAt}">
|
||
<button type="button" name="05" id="escrow-virtual" class="order-method-normal__btn not_multi_pay">
|
||
<div class="order-method-normal__icon order-method-normal__icon--account"></div>가상계좌(에스크로)
|
||
</button>
|
||
</c:if>
|
||
<c:if test="${'Y' eq payInfo.nbkkUseAt}">
|
||
<button type="button" name="02" id="bank" class="order-method-normal__btn">
|
||
<div class="order-method-normal__icon order-method-normal__icon--deposit"></div>무통장
|
||
</button>
|
||
</c:if>
|
||
<c:if test="${'Y' eq payInfo.paycoUseAt}">
|
||
<button type="button" name="10" id="payco" class="order-method-normal__btn gift_pay">
|
||
<div class="order-method-normal__icon order-method-normal__icon--payco"></div>PAYCO
|
||
</button>
|
||
</c:if>
|
||
<c:if test="${'Y' eq payInfo.tpayUseAt}">
|
||
<button type="button" name="tosspay" id="tosspay" class="order-method-normal__btn gift_pay">
|
||
<div class="order-method-normal__icon order-method-normal__icon--toss"></div>토스페이
|
||
</button>
|
||
</c:if>
|
||
<c:if test="${'Y' eq payInfo.npayUseAt}">
|
||
<button type="button" name="naverpay" id="naverpay" class="order-method-normal__btn gift_pay">
|
||
<div class="order-method-normal__icon order-method-normal__icon--naver"></div>네이버페이
|
||
</button>
|
||
</c:if>
|
||
<c:if test="${'Y' eq payInfo.kpayUseAt}">
|
||
<button type="button" name="kakaopay" id="kakaopay" class="order-method-normal__btn gift_pay">
|
||
<div class="order-method-normal__icon order-method-normal__icon--kakao"></div>카카오페이
|
||
</button>
|
||
</c:if>
|
||
</div>
|
||
<div class="order-method-normal__content-wrapper">
|
||
<c:if test="${'Y' eq payInfo.cardUseAt}">
|
||
<div id="card-content" class="order-method-normal__content" style="display: none">
|
||
<div id="card-content-inner" class="order-method-normal__content-inner">
|
||
<p class="fyi gray-7 mt-10 ml-10 noempty">발급정보 : 카드매출전표(또는 휴대폰결제전표)로 대체합니다.</p>
|
||
</div>
|
||
</div>
|
||
</c:if>
|
||
<%--
|
||
<c:if test="${'Y' eq payInfo.rltmAcntUseAt}">
|
||
<div id="acount-content" class="order-method-normal__content" style="display: none">
|
||
<div id="acount-content-inner" class="order-method-normal__content-inner"></div>
|
||
</div>
|
||
</c:if>
|
||
--%>
|
||
<c:if test="${'Y' eq payInfo.virtlAcntUseAt}">
|
||
<div id="virtual-content" class="order-method-normal__content" style="display: none">
|
||
<div id="virtual-content-inner" class="order-method-normal__content-inner"></div>
|
||
</div>
|
||
</c:if>
|
||
<c:if test="${'Y' eq payInfo.virtlAcntEscwUseAt}">
|
||
<div id="escrow-virtual-content" class="order-method-normal__content" style="display: none">
|
||
<div id="escrow-virtual-content-inner" class="order-method-normal__content-inner"></div>
|
||
</div>
|
||
</c:if>
|
||
<c:if test="${'Y' eq payInfo.nbkkUseAt}">
|
||
<div id="bank-content" class="order-method-normal__content" style="display: none">
|
||
<div id="bank-content-inner" class="order-method-normal__content-inner"></div>
|
||
</div>
|
||
</c:if>
|
||
<c:if test="${'Y' eq payInfo.paycoUseAt}">
|
||
<div id="payco-content" class="order-method-normal__content" style="display: none">
|
||
<div id="payco-content-inner" class="order-method-normal__content-inner">
|
||
<div class="infoBox noempty">
|
||
<h6 class="infoBox__title">PAYCO 간편결제 안내</h6>
|
||
<ol class="infoBox__list">
|
||
<li>PAYCO는 온/오프라인 쇼핑은 물론 송금, 멤버십 적립까지 가능한 통합 서비스입니다.</li>
|
||
<li>휴대폰과 카드 명의자가 동일해야 결제 가능하며, 결제금액 제한은 없습니다.
|
||
<br>- 지원카드: 모든 국내 신용/체크카드
|
||
</li>
|
||
</ol>
|
||
</div>
|
||
<p class="textInfo noempty"><i class="icon icon_textInfo--sm"></i>발급정보 : 카드매출전표(또는 휴대폰결제전표)로 대체합니다.</p>
|
||
</div>
|
||
</div>
|
||
</c:if>
|
||
<c:if test="${'Y' eq payInfo.tpayUseAt}">
|
||
<div id="acount-content" class="order-method-normal__content" style="display: none">
|
||
<div id="acount-content-inner" class="order-method-normal__content-inner">
|
||
<p class="fyi gray-7 mt-10 ml-10 noempty">발급정보 : 카드매출전표(또는 휴대폰결제전표)로 대체합니다.</p>
|
||
</div>
|
||
</div>
|
||
</c:if>
|
||
<c:if test="${'Y' eq payInfo.npayUseAt}">
|
||
<div id="naverpay-content" class="order-method-normal__content" style="display: none">
|
||
<div id="naverpay-content-inner" class="order-method-normal__content-inner">
|
||
<div class="noempty">
|
||
|
||
</div>
|
||
</div>
|
||
</div>
|
||
</c:if>
|
||
<c:if test="${'Y' eq payInfo.kpayUseAt}">
|
||
<div id="kakaopay-content" class="order-method-normal__content" style="display: none">
|
||
<div id="kakaopay-content-inner" class="order-method-normal__content-inner">
|
||
<div class="noempty">
|
||
|
||
</div>
|
||
</div>
|
||
</div>
|
||
</c:if>
|
||
</div>
|
||
</div>
|
||
</c:if>
|
||
<%-- kcp 결제 종료 --%>
|
||
|
||
<%-- 키움 결제 시작 --%>
|
||
<c:if test="${'03' eq payInfo.setleSetupTyCd}">
|
||
<div class="custom-radio is-medium">
|
||
<input type="radio" name="pg" id="pg06" value="kiwoom">
|
||
<label for="pg06">일반결제</label>
|
||
</div>
|
||
<div id="pg06Content" class="pgContent order-method-normal" <%-- style="display: none"--%>>
|
||
<div class="order-method-normal__btn-container">
|
||
<c:if test="${'Y' eq payInfo.cardUseAt}">
|
||
<button type="button" name="01" id="card" class="order-method-normal__btn gift_pay">
|
||
<div class="order-method-normal__icon order-method-normal__icon--card"></div>신용카드
|
||
</button>
|
||
</c:if>
|
||
<%--
|
||
<c:if test="${'Y' eq payInfo.rltmAcntUseAt}">
|
||
<button type="button" name="03" id="acount" class="order-method-normal__btn gift_pay">
|
||
<div class="order-method-normal__icon order-method-normal__icon--transfer"></div>실시간 계좌이체
|
||
</button>
|
||
</c:if>
|
||
--%>
|
||
<c:if test="${'Y' eq payInfo.virtlAcntUseAt}">
|
||
<button type="button" name="04" id="virtual" class="order-method-normal__btn">
|
||
<div class="order-method-normal__icon order-method-normal__icon--account"></div>가상계좌
|
||
</button>
|
||
</c:if>
|
||
<c:if test="${'Y' eq payInfo.virtlAcntEscwUseAt}">
|
||
<button type="button" name="05" id="escrow-virtual" class="order-method-normal__btn not_multi_pay">
|
||
<div class="order-method-normal__icon order-method-normal__icon--account"></div>가상계좌(에스크로)
|
||
</button>
|
||
</c:if>
|
||
<c:if test="${'Y' eq payInfo.nbkkUseAt}">
|
||
<button type="button" name="02" id="bank" class="order-method-normal__btn">
|
||
<div class="order-method-normal__icon order-method-normal__icon--deposit"></div>무통장
|
||
</button>
|
||
</c:if>
|
||
<c:if test="${'Y' eq payInfo.paycoUseAt}">
|
||
<button type="button" name="10" id="payco" class="order-method-normal__btn gift_pay">
|
||
<div class="order-method-normal__icon order-method-normal__icon--payco"></div>PAYCO
|
||
</button>
|
||
</c:if>
|
||
<c:if test="${'Y' eq payInfo.tpayUseAt}">
|
||
<button type="button" name="tosspay" id="tosspay" class="order-method-normal__btn gift_pay">
|
||
<div class="order-method-normal__icon order-method-normal__icon--toss"></div>토스페이
|
||
</button>
|
||
</c:if>
|
||
<c:if test="${'Y' eq payInfo.npayUseAt}">
|
||
<button type="button" name="naverpay" id="naverpay" class="order-method-normal__btn gift_pay">
|
||
<div class="order-method-normal__icon order-method-normal__icon--naver"></div>네이버페이
|
||
</button>
|
||
</c:if>
|
||
<c:if test="${'Y' eq payInfo.kpayUseAt}">
|
||
<button type="button" name="kakaopay" id="kakaopay" class="order-method-normal__btn gift_pay">
|
||
<div class="order-method-normal__icon order-method-normal__icon--kakao"></div>카카오페이
|
||
</button>
|
||
</c:if>
|
||
</div>
|
||
<div class="order-method-normal__content-wrapper">
|
||
<c:if test="${'Y' eq payInfo.cardUseAt}">
|
||
<div id="card-content" class="order-method-normal__content" style="display: none">
|
||
<div id="card-content-inner" class="order-method-normal__content-inner">
|
||
<p class="fyi gray-7 mt-10 ml-10 noempty">발급정보 : 카드매출전표(또는 휴대폰결제전표)로 대체합니다.</p>
|
||
</div>
|
||
</div>
|
||
</c:if>
|
||
<%--
|
||
<c:if test="${'Y' eq payInfo.rltmAcntUseAt}">
|
||
<div id="acount-content" class="order-method-normal__content" style="display: none">
|
||
<div id="acount-content-inner" class="order-method-normal__content-inner"></div>
|
||
</div>
|
||
</c:if>
|
||
--%>
|
||
<c:if test="${'Y' eq payInfo.virtlAcntUseAt}">
|
||
<div id="virtual-content" class="order-method-normal__content" style="display: none">
|
||
<div id="virtual-content-inner" class="order-method-normal__content-inner"></div>
|
||
</div>
|
||
</c:if>
|
||
<c:if test="${'Y' eq payInfo.virtlAcntEscwUseAt}">
|
||
<div id="escrow-virtual-content" class="order-method-normal__content" style="display: none">
|
||
<div id="escrow-virtual-content-inner" class="order-method-normal__content-inner"></div>
|
||
</div>
|
||
</c:if>
|
||
<c:if test="${'Y' eq payInfo.nbkkUseAt}">
|
||
<div id="bank-content" class="order-method-normal__content" style="display: none">
|
||
<div id="bank-content-inner" class="order-method-normal__content-inner"></div>
|
||
</div>
|
||
</c:if>
|
||
<c:if test="${'Y' eq payInfo.paycoUseAt}">
|
||
<div id="payco-content" class="order-method-normal__content" style="display: none">
|
||
<div id="payco-content-inner" class="order-method-normal__content-inner">
|
||
<div class="infoBox noempty">
|
||
<h6 class="infoBox__title">PAYCO 간편결제 안내</h6>
|
||
<ol class="infoBox__list">
|
||
<li>PAYCO는 온/오프라인 쇼핑은 물론 송금, 멤버십 적립까지 가능한 통합 서비스입니다.</li>
|
||
<li>휴대폰과 카드 명의자가 동일해야 결제 가능하며, 결제금액 제한은 없습니다.
|
||
<br>- 지원카드: 모든 국내 신용/체크카드
|
||
</li>
|
||
</ol>
|
||
</div>
|
||
<p class="textInfo noempty"><i class="icon icon_textInfo--sm"></i>발급정보 : 카드매출전표(또는 휴대폰결제전표)로 대체합니다.</p>
|
||
</div>
|
||
</div>
|
||
</c:if>
|
||
<c:if test="${'Y' eq payInfo.tpayUseAt}">
|
||
<div id="acount-content" class="order-method-normal__content" style="display: none">
|
||
<div id="acount-content-inner" class="order-method-normal__content-inner">
|
||
<p class="fyi gray-7 mt-10 ml-10 noempty">발급정보 : 카드매출전표(또는 휴대폰결제전표)로 대체합니다.</p>
|
||
</div>
|
||
</div>
|
||
</c:if>
|
||
<c:if test="${'Y' eq payInfo.npayUseAt}">
|
||
<div id="naverpay-content" class="order-method-normal__content" style="display: none">
|
||
<div id="naverpay-content-inner" class="order-method-normal__content-inner">
|
||
<div class="noempty">
|
||
|
||
</div>
|
||
</div>
|
||
</div>
|
||
</c:if>
|
||
<c:if test="${'Y' eq payInfo.kpayUseAt}">
|
||
<div id="kakaopay-content" class="order-method-normal__content" style="display: none">
|
||
<div id="kakaopay-content-inner" class="order-method-normal__content-inner">
|
||
<div class="noempty">
|
||
|
||
</div>
|
||
</div>
|
||
</div>
|
||
</c:if>
|
||
</div>
|
||
</div>
|
||
</c:if>
|
||
<%-- 키움 결제 종료 --%>
|
||
</div>
|
||
</form>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
|
||
<div class="cartOrder__right">
|
||
<div class="cartOrder__sticky">
|
||
<div class="cartOrderBox">
|
||
<h5 class="cartOrderBox__title">결제예정금액</h5>
|
||
<ul class="cartOrderBox__list">
|
||
<li>
|
||
<span class="cartOrderBox__th">총 주문금액</span>
|
||
<span class="cartOrderBox__td"><span class="comma" id="goodsAmtSapn">0</span><span class="priceUnit">${curUnit}</span></span>
|
||
</li>
|
||
<li>
|
||
<span class="cartOrderBox__th">배송비</span>
|
||
<span class="cartOrderBox__td"><span class="comma" id="dlvyAmtSapn">0</span><span class="priceUnit">${curUnit}</span></span>
|
||
</li>
|
||
<li>
|
||
<span class="cartOrderBox__th">총 할인금액</span>
|
||
<span class="cartOrderBox__td"><span class="cartOrderBox__discountMinus">(-)</span><span id="dscntAmtSapn" class="comma">0</span><span class="priceUnit">${curUnit}</span></span>
|
||
</li>
|
||
</ul>
|
||
<div class="cartOrderBox__total" style="margin-bottom: 5px;">
|
||
<span class="cartOrderBox__totalTh">총 결제금액</span>
|
||
<span class="cartOrderBox__td"><span id="setleAmtSapn" class="comma">0</span><span class="priceUnit">${curUnit}</span></span>
|
||
</div>
|
||
<div class="cartOrderBox__total" style="margin-top: 5px;">
|
||
<span class="cartOrderBox__totalTh"></span>
|
||
<span class="cartOrderBox__totalTd"><span id="setleAmtKrSapn" class="comma">0</span><span class="priceUnit">${krUnit}</span></span>
|
||
</div>
|
||
<%--광고 수신 동의 여부가 null 일 시 --%>
|
||
<c:if test="${empty purchsr.marktRecptnAgreAt}">
|
||
<c:if test = "${not empty stplat.resultList}">
|
||
<c:forEach var = "stplat" items = "${stplat.resultList}">
|
||
<c:if test = "${stplat.stplatDvCd eq '05'}">
|
||
<div class="nonMemberTerms__item">
|
||
<div class="b-checkbox-container">
|
||
<label class="b-checkbox checkbox">
|
||
<input class="termCheck" type="checkbox" value="Y" name="marktRecptnAgreAt" id="marktRecptnAgreAt">
|
||
<span class="check"></span>
|
||
<span class="control-label"><c:if test = "${stplat.essntlAt eq 'Y'}">[필수]</c:if> <c:out value="${stplat.stplatDvNm}"/></span>
|
||
</label>
|
||
<input type = "hidden" value = "N" id = "agreeChkAt"/>
|
||
</div>
|
||
<c:if test = "${stplat.cnWritngAt eq 'Y'}">
|
||
<a class="nonMemberTerms__detail"
|
||
href="javascript:fn_select_clause('<c:out value="${stplat.stplatDvCd}"/>');">보기</a>
|
||
</c:if>
|
||
</div>
|
||
</c:if>
|
||
</c:forEach>
|
||
</c:if>
|
||
</c:if>
|
||
<div class="product-btn-container"><button type="button" id="btnBuy" class="btn theme large cartOrderBox__buyBtn">구매하기</button></div>
|
||
<%--
|
||
<div class="product-btn-container">
|
||
<button class="gift-btn">선물</button>
|
||
<button class="btn large outline">여러곳 배송</button>
|
||
<button onclick="fn_go_ordr_failr()" class="btn large gray2">정기배송</button>
|
||
</div>
|
||
--%>
|
||
</div>
|
||
<%--
|
||
<div style="margin-top: 24px;">
|
||
<div id="NC_ID_1699495131279295" class="npay_storebtn_bx">
|
||
<div id="NPAY_BUTTON_BOX_ID" class="npay_button_box ">
|
||
<div class="npay_button">
|
||
<div class="npay_text"><span class="npay_blind">NAVER 네이버 ID로 간편구매 네이버페이</span></div>
|
||
<table class="npay_btn_list" cellspacing="0" cellpadding="0">
|
||
<tbody>
|
||
<tr>
|
||
<td class="npay_btn_item">
|
||
<a id="NPAY_BUY_LINK_IDNC_ID_1699495131279295" href="#" class="npay_btn_link npay_btn_pay btn_green" style="box-sizing:content-box; " title="새창">
|
||
<span class="npay_blind">네이버페이 구매하기 @@@@@@@@@@@@@@@</span>
|
||
</a>
|
||
</td>
|
||
<td class="npay_btn_item btn_width">
|
||
<a id="NPAY_WISH_LINK_IDNC_ID_1699495131279295" href="#" class="npay_btn_link npay_btn_zzim" style="box-sizing:content-box; " title="새창">
|
||
<span class="npay_blind">찜하기</span>
|
||
</a>
|
||
</td>
|
||
</tr>
|
||
</tbody>
|
||
</table>
|
||
</div>
|
||
<div id="NPAY_EVENT_ID" class="npay_event">
|
||
<a id="NPAY_PROMOTION_PREV_IDNC_ID_1699495131279295" href="#" class="npay_more npay_more_prev">
|
||
<span class="npay_blind">이전</span>
|
||
</a>
|
||
<p id="NPAY_PROMOTION_IDNC_ID_1699495131279295" class="npay_event_text">
|
||
<strong class="event_title">이벤트</strong>
|
||
<a href="https://new-m.pay.naver.com/pcpay/eventbenefit" class="event_link" target="_blank">네이버페이</a>
|
||
</p>
|
||
<a id="NPAY_PROMOTION_NEXT_IDNC_ID_1699495131279295" href="#" class="npay_more npay_more_next">
|
||
<span class="npay_blind">다음</span>
|
||
</a>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
--%>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
</main>
|
||
|
||
<%-- 공통 Footer --%>
|
||
<jsp:include page="/WEB-INF/views/comm/Footer.jsp"/>
|
||
|
||
<c:if test="${'Y' == data.payInfo.gcpayCardUseAt || 'Y' == payInfo.gcpayAcntnbUseAt}">
|
||
<script src="https://js.tosspayments.com/v1/brandpay"></script>
|
||
<script>
|
||
const gcPayClientKey = '${data.payInfo.bpayClntKey}';
|
||
let tokenYn = false;
|
||
</script>
|
||
<script type="text/javascript" src="<c:url value='/pc/js/gcpay.js'/>"></script>
|
||
<script type="text/javascript" src="<c:url value='/pc/css/jqueryui/slick.min.js'/>"></script>
|
||
<link rel="stylesheet" href="<c:url value='/pc/css/gcpay.css'/>">
|
||
<link rel="stylesheet" href="<c:url value='/pc/css/slick.css'/>">
|
||
<link rel="stylesheet" href="<c:url value='/pc/css/slick-theme.css'/>">
|
||
|
||
<c:if test="${not empty sessionScope.gcpay_token && not empty sessionScope.gcpay_id}">
|
||
<c:if test="${sessionScope.gcpay_id == data.purchsr.mbrInnb}">
|
||
<script>
|
||
tokenYn = true;
|
||
</script>
|
||
</c:if>
|
||
</c:if>
|
||
<script>
|
||
set_slick(true);
|
||
gcpay_add_info();
|
||
get_promotion_data();
|
||
initBrandPay('<c:out value="${data.purchsr.mbrInnb}"/>',tokenYn);
|
||
</script>
|
||
|
||
<!-- GC PAY 카드 무이자 할부 행사 안내 모달 -->
|
||
<div id="gcpay-cardInfo-pop" class="modal" style="max-width: 540px;">
|
||
<div class="modal-header">
|
||
<h4>GC PAY 카드 무이자 할부 행사 안내</h4>
|
||
</div>
|
||
<div class="modal-content">
|
||
<div class="table-wrapper">
|
||
<table class="table vertical tight">
|
||
<caption>카드 무이자 할부 행사</caption>
|
||
<colgroup>
|
||
<col style="width: 24%;">
|
||
<col style="width: 38%;">
|
||
<col style="width: 38%;">
|
||
</colgroup>
|
||
<thead>
|
||
<tr>
|
||
<th>카드명</th>
|
||
<th>금액기준(이상)</th>
|
||
<th>행사 개월수</th>
|
||
</tr>
|
||
</thead>
|
||
<tbody>
|
||
<tr class="row-no-data">
|
||
<td colspan="100%" class="text-center">조회된 데이터가 없습니다.</td>
|
||
</tr>
|
||
</tbody>
|
||
</table>
|
||
</div>
|
||
<div class="gcpay-eventInfo">
|
||
<p class="fyi">GC PAY 카드간편결제 시 무이자 할부 결제 금액과 행사 개월수에 대한 안내입니다.</p>
|
||
<p class="fyi">일반결제의 신용카드 및 타 결제 수단에 대한 무이자 할부 기준은 다르며, 별도 안내를 참고해 이용해주세요.</p>
|
||
<p class="fyi">법인(개인사업자카드 포함)/체크/기프트카드 등 일부 카드 제외.</p>
|
||
<p class="fyi">제휴사이트를 통한 접속 시 무이자 혜택이 제외될 수 있습니다.</p>
|
||
<p class="fyi">※ 별도 고지없이 행사 내용/기간 변경될 수 있으며, 자세한 문의는 각 카드사로 확인 부탁드립니다.</p>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
|
||
<!-- GC PAY 사용안내 모달 -->
|
||
<div id="gcpay-info" class="modal default" style="max-width: 500px;">
|
||
<div class="modal-header">
|
||
<div class="modal-header__title">GC PAY 안내</div>
|
||
</div>
|
||
<div class="modal-content">
|
||
<div class="gcpayGuide">
|
||
<img src="/pc/images/popup_setting_top.png" alt="">
|
||
<div class="gcpayGuideSlick">
|
||
<div class="gcpayGuideSlick__item">
|
||
<img src="/pc/images/popup_setting_01.png" alt="">
|
||
</div>
|
||
<div class="gcpayGuideSlick__item">
|
||
<img src="/pc/images/popup_setting_02.png" alt="">
|
||
</div>
|
||
<div class="gcpayGuideSlick__item">
|
||
<img src="/pc/images/popup_setting_03.png" alt="">
|
||
</div>
|
||
</div>
|
||
</div>
|
||
<div class="infoBox">
|
||
<div class="infoBox__title">GCPay 간편결제의 장점</div>
|
||
<ul class="infoBox__list">
|
||
<li>주로 사용하는 결제 수단(카드, 계좌)을 쉽게 등록 관리할 수 있어요.</li>
|
||
<li>결제 비밀번호만 입력하면 등록 결제 수단으로 빠르게 결제할 수 있어요.</li>
|
||
<li>간편결제로 등록한 신용카드도 각 카드사의 혜택은 그대로 받을 수 있어요.</li>
|
||
<li>※ 카드사 행사에 따라 무이자 할부 가능. 카드사에 따라 카드사 포인트 사용 가능</li>
|
||
</ul>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
</c:if>
|
||
<div id="modalDiv"></div>
|
||
<div id="setleDiv"></div>
|
||
<!-- 약관팝업 -->
|
||
<div id="nmbrClause" class="modal default" style="max-width: 620px;">
|
||
<div class="modal-header">
|
||
<div class="modal-header__title" id = "nmbrClause-sj"></div>
|
||
</div>
|
||
<div class="modal-content" id = "nmbrClause-content">
|
||
</div>
|
||
<div class="modal-footer">
|
||
<a href="#" rel="modal:close" class="btn theme large">확인</a>
|
||
</div>
|
||
</div>
|
||
|
||
<!-- 마케팅 동의 팝업 -->
|
||
<div id="nmbrClauseAgree" class="modal default" style="max-width: 620px;">
|
||
<div class="modal-header">
|
||
<div class="modal-header__title" id = "nmbrClauseAgree-sj"></div>
|
||
</div>
|
||
<div class="modal-content" id = "nmbrClauseAgree-content">
|
||
</div>
|
||
<div class="modal-footer">
|
||
<a href="#" rel="modal:close" class="btn theme large" onclick="fn_agree_pop('Y');">동의</a>
|
||
<a href="#" rel="modal:close" class="btn large outline" onclick="fn_agree_pop('N');">비동의</a>
|
||
</div>
|
||
</div>
|
||
<script>
|
||
/*마케팅 동의 팝업 버튼 클릭시 스크립트 조작 함수*/
|
||
const fn_agree_pop = (agreeAt) => {
|
||
if(agreeAt === 'Y'){
|
||
$('#marktRecptnAgreAt').click();
|
||
}
|
||
$('#agreeChkAt').val('Y');
|
||
$('#btnBuy').click();
|
||
}
|
||
</script>
|
||
</body>
|
||
</html>
|