Merge remote-tracking branch 'origin/master'

This commit is contained in:
jazz
2026-02-26 14:11:50 +09:00
9 changed files with 332 additions and 147 deletions

View File

@@ -77,6 +77,9 @@
});
}
/******************************************************
* 숫자 자릿점 포메팅
* ****************************************************/
const fn_format_number = function(number) {
return Number(number).toLocaleString();
}
@@ -176,7 +179,7 @@
<main>
<div class="sub-wrapper">
<div class="sub-content">
<form>
<form method="post" action="/sopmal/ordr/selectSubsvcPurchsForm">
<h2 class="subList__title">구독 서비스</h2>
<div class="ck-content" style="border: 1px solid #e9ecef; background-color: #f8f9fB;">
<c:out value="${ resultMap.sopmalInfo[0].subsvcGuidanceWords }" escapeXml="false"/>

View File

@@ -8,7 +8,7 @@
<spring:eval expression="@environment.getProperty('currency-unit.default')" var="curUnit"/>
<%--
Class Name : MbrSubscribeC.jsp
Class Name : SubsvcPurchsC.jsp
Description : 회원 구독상품 구매하기
Modification Information
@@ -84,7 +84,7 @@
'mbrDvCd':mbrDvCd,
'mbrId':mbrId,
'sopmalCd':sopmalCd,
'goodsList':JSON.parse('${data.goodsListByJson}')
'subsvcInnb':${data.subsvcOne.subsvcInnb}
};
fn_get_goods_list(param, null);
@@ -1950,7 +1950,7 @@
$.ajax({
type: 'post',
contentType: 'application/json',
url: '<c:url value="/sopmal/ordr/selectOrderGoodsList"/>',
url: '<c:url value="/sopmal/ordr/selectOrderSubsvcOne"/>',
data: JSON.stringify(param),
// data: JSON.stringify(requestData),
dataType: 'json',
@@ -1969,9 +1969,9 @@
return false;
}
localStorage.setItem('goodsList', JSON.stringify(result.goodsList));
localStorage.setItem('subsvcOne', JSON.stringify(result));
fn_set_goods_list(result.goodsList);
fn_set_goods_list(result);
fn_set_prsnt_list(result.prsnt);
@@ -1993,75 +1993,71 @@
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(data.subsvcInnb, '') + '">';
tr += ' <td>';
tr += ' <div class="cartItem">';
tr += ' <div class="cartItem__image">';
tr += ' <a href="/sopmal/main/selectSubscribeForm?subsvcInnb=' + data.subsvcInnb + '">';
tr += ' <img src="' + cdnurl + data.img + '" onerror="this.src=\'<c:url value="/pc/images/image_placeholder.png"/>\'" alt="' + data.subsvcConcatNm + '">';
tr += ' </a>';
tr += ' </div>';
tr += ' <div class="cartItem__productInfo">';
tr += ' <a href="javascript:void(0);" class="cartItem__productTitle">' + data.subsvcNm + '</a>';
tr += ' <span class="cartItem__productOption"><span class="option-badge">옵션</span> ' + data.subsvcGnrNm + '</span>';
tr += '<tr class="ordrGoods" data-product-id="' + fn_nvl(goods.goodsOptnInnb, '') + '">';
tr += ' <td>';
tr += ' <div class="cartItem">';
tr += ' <div class="cartItem__image">';
tr += ' <a href="/sopmal/goods/selectGoodsDtl?sopmalCd=' + sopmalCd + '&goodsInnb=' + goods.goodsInnb + '">';
tr += ' <img src="' + cdnurl + goods.goodsImgCours + '" onerror="this.src=\'<c:url value="/pc/images/image_placeholder.png"/>\'" alt="' + goods.goodsNm + '">';
tr += ' </a>';
tr += ' </div>';
tr += ' <div class="cartItem__productInfo">';
tr += ' <a href="javascript:void(0);" class="cartItem__productTitle">' + goods.goodsNm + '</a>';
tr += ' <span class="cartItem__productOption"><span class="option-badge">옵션</span> ' + goods.optn + '</span>';
// if (!fn_is_empty(goods.inputOptnText)) {
// tr += ' <span class="cartItem__productOption">' + goods.inputOptnText + '</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="goodsInnb" value="' + fn_nvl(goods.goodsInnb, '') + '"/>';
// 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>' + 1 + '</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">' + (data.cnsmrpric).toLocaleString() + '</span>' + curUnit + '</span>';
tr += ' <span class="cartItem__afterPrice"><span class="comma product-dscntApplyAmt">' + (data.selpric).toLocaleString() + '</span><span class="priceUnit">' + curUnit + '</span></span>';
tr += ' </td>';
tr += '</tr>';
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="goodsInnb" value="' + fn_nvl(goods.goodsInnb, '') + '"/>';
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">' + (goods.dscntAmt).toLocaleString() + '</span><span class="priceUnit">' + curUnit + '</span></span>';
tr += ' </td>';
tr += ' <td>';
tr += ' <span class="cartItem__beforePrice"><span class="comma product-subCnsmrpric">' + (goods.subCnsmrpric).toLocaleString() + '</span>' + curUnit + '</span>';
tr += ' <span class="cartItem__afterPrice"><span class="comma product-dscntApplyAmt">' + (goods.dscntApplyAmt).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>';
}
}
// 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>';
}
@@ -2460,7 +2456,7 @@
setle['sopmalCd'] = $('#sopmalCd').val();
setle['dlvylc'] = JSON.parse(localStorage.getItem('dlvylc'));
setle['goodsList'] = JSON.parse(localStorage.getItem('goodsList'));
setle['subsvcOne'] = JSON.parse(localStorage.getItem('subsvcOne'));
setle['enuri'] = JSON.parse(localStorage.getItem('enuri'));
setle['dlvylcZip'] = localStorage.getItem('dlvylcZip');
setle['dlvylcAreaCd'] = localStorage.getItem('dlvylcAreaCd');
@@ -2471,7 +2467,7 @@
$.ajax({
type: 'post',
contentType: 'application/json',
url: '<c:url value="/sopmal/ordr/selectSetleExpectAmt"/>',
url: '<c:url value="/sopmal/ordr/selectSubsvcSetleExpectAmt"/>',
data: JSON.stringify(setle),
dataType: 'json',
async : false,
@@ -3708,7 +3704,7 @@
</div>
</div>
<div id="prsnt" class="orderInfo__section">
<%--<div id="prsnt" class="orderInfo__section">
<h3 class="orderInfo__sectionTitle">사은품</h3>
<div class="cartOrder__list">
<div class="table-wrapper">
@@ -3731,7 +3727,7 @@
</table>
</div>
</div>
</div>
</div>--%>
<div class="orderInfo__section multiDeliveryAddress multiOrdr">
<h3 class="orderInfo__sectionTitle">배송지 정보 1</h3>