|
|
@@ -97,16 +97,19 @@
|
|
|
</div>
|
|
|
</div>
|
|
|
<div class="benefit_txt">
|
|
|
- <p id="etcGradeDp">
|
|
|
+ <p id="etcGrade">
|
|
|
<span id="ordSpan"> 구매 건수 <strong id="ordCnt" class="c_primary" >0회</strong> </span>
|
|
|
<span id="realOrdAmtSpan">, 구매 금액 <strong id="realOrdAmt" class="c_primary">0원 </span>
|
|
|
</strong> 더 구매하시면 <strong>
|
|
|
<span id="nextGrde" class="c_black"></span>로 등급UP!</strong>
|
|
|
</p> <!-- 등급 상승까지 남은 정보 안내 -->
|
|
|
- <p id="vipGradeDp" style="display: none;">
|
|
|
+ <p id="sameVipGrade" style="display: none;">
|
|
|
<strong>등급 유지 조건 달성!</strong> 다음달에도
|
|
|
<strong class="c_primary"><span>VIP</span> 등급 혜택</strong>을 받으실 수 있습니다.
|
|
|
</p>
|
|
|
+ <p id="vipGrade" style="display: none;">
|
|
|
+ <strong class="c_primary"><span>VIP</span> 등급 혜택</strong>을 받으실 수 있습니다.
|
|
|
+ </p>
|
|
|
</div>
|
|
|
</div>
|
|
|
<!-- //회원 등급 progress바 -->
|
|
|
@@ -265,69 +268,99 @@
|
|
|
<script th:inline="javascript">
|
|
|
/*<![CDATA[*/
|
|
|
let exptCustGrdeMap = [[${exptCustGrdeMap}]]
|
|
|
- $(document).ready(function() {
|
|
|
-
|
|
|
- fnInit();
|
|
|
-
|
|
|
- });
|
|
|
+ let custGradeNm = [[${customerInfo.custGradeNm}]];
|
|
|
|
|
|
var fnInit = function () {
|
|
|
- let expctCustGrade = exptCustGrdeMap.expctCustGrade;
|
|
|
- let custGradePolicy = exptCustGrdeMap.custGradePolicy;
|
|
|
- let nextCustGrade;
|
|
|
+ let expctCustGrade = exptCustGrdeMap.expctCustGrade; // 예상등급
|
|
|
|
|
|
+ //expctCustGrade.custGradeNo 10:VIP, 20: GOLD, 30:SILVER, 40:BRONZE, 50:WELCOME
|
|
|
|
|
|
+ // 예정등급이 VIP가 아닌경우
|
|
|
+ let nextCustGradePolicy; // 다음등급정책
|
|
|
if (Number(expctCustGrade.custGradeNo) > 10) {
|
|
|
-
|
|
|
+ let nextGradeNo = Number(expctCustGrade.custGradeNo)-10; // 다음등급번호
|
|
|
+ nextCustGradePolicy = fnGetNextGradePolicyInfo(nextGradeNo);
|
|
|
+ fnNextGradeCondition(nextCustGradePolicy, expctCustGrade);
|
|
|
+ } else {
|
|
|
+ fnDisplayVipText(expctCustGrade);
|
|
|
}
|
|
|
|
|
|
+ };
|
|
|
|
|
|
+ // 다음 등급정책
|
|
|
+ var fnGetNextGradePolicyInfo = function (nextGradeNo) {
|
|
|
+ let custGradePolicy = exptCustGrdeMap.custGradePolicy; // 등급별정책
|
|
|
$(custGradePolicy).each(function(idx, item) {
|
|
|
- if (Number(item.gradeCdNo) === (Number(expctCustGrade.gradeCdNo)-10)) {
|
|
|
- nextCustGrade = item;
|
|
|
+ if (Number(item.gradeCdNo) === nextGradeNo ) {
|
|
|
+ return nextCustGrade = item;
|
|
|
}
|
|
|
});
|
|
|
+ }
|
|
|
|
|
|
- let buyAmt = 0;
|
|
|
- if (nextCustGrade.minBuyAmt > expctCustGrade.sumRealOrdAmt) {
|
|
|
- buyAmt = nextCustGrade.minBuyAmt - expctCustGrade.sumRealOrdAmt;
|
|
|
- } else {
|
|
|
- buyAmt = nextCustGrade.minBuyAmt;
|
|
|
- }
|
|
|
-
|
|
|
- let buyCnt = 0;
|
|
|
- if (nextCustGrade.minBuyCnt > expctCustGrade.ordCnt) {
|
|
|
- buyCnt = nextCustGrade.minBuyCnt - expctCustGrade.ordCnt;
|
|
|
- } else {
|
|
|
- buyCnt = nextCustGrade.minBuyCnt;
|
|
|
- }
|
|
|
-
|
|
|
+ // 다음등급 조건 알림
|
|
|
+ var fnNextGradeCondition = function (nextCustGradePolicy, expctCustGrade) {
|
|
|
+ let $etcGrade = $('#etcGrade');
|
|
|
+ let $sameVipGrade = $('#sameVipGrade');
|
|
|
+ let $vipGrade = $('#vipGrade');
|
|
|
let $ordCnt = $('#ordCnt');
|
|
|
let $ordSpan = $('#ordSpan');
|
|
|
let $realOrdAmt = $('#realOrdAmt');
|
|
|
let $realOrdAmtSpan = $('#realOrdAmtSpan');
|
|
|
let $nextGrde = $('#nextGrde');
|
|
|
|
|
|
- if (buyAmt > 0) {
|
|
|
+ let remnantBuyAmt = 0;
|
|
|
+ if (nextCustGradePolicy.minBuyAmt > expctCustGrade.sumRealOrdAmt) {
|
|
|
+ remnantBuyAmt = nextCustGradePolicy.minBuyAmt - expctCustGrade.sumRealOrdAmt;
|
|
|
+ }
|
|
|
+
|
|
|
+ let remnantBuyCnt = 0;
|
|
|
+ if (nextCustGradePolicy.minBuyCnt > expctCustGrade.ordCnt) {
|
|
|
+ remnantBuyCnt = nextCustGradePolicy.minBuyCnt - expctCustGrade.ordCnt;
|
|
|
+ }
|
|
|
+
|
|
|
+ $etcGrade.show();
|
|
|
+ $sameVipGrade.hide();
|
|
|
+ $vipGrade.hide();
|
|
|
+
|
|
|
+ if (remnantBuyAmt > 0) {
|
|
|
$realOrdAmtSpan.show()
|
|
|
- $realOrdAmt.text(buyAmt.addComma()+'원');
|
|
|
+ $realOrdAmt.text(remnantBuyAmt.addComma()+'원');
|
|
|
} else {
|
|
|
$realOrdAmtSpan.hide()
|
|
|
}
|
|
|
|
|
|
- if (buyCnt > 0) {
|
|
|
+ if (remnantBuyCnt > 0) {
|
|
|
$ordSpan.show();
|
|
|
- $ordCnt.text(buyCnt.addComma()+'회');
|
|
|
+ $ordCnt.text(remnantBuyCnt.addComma()+'회');
|
|
|
} else {
|
|
|
$ordSpan.hide();
|
|
|
}
|
|
|
|
|
|
- if (buyAmt > 0 || buyCnt > 0) {
|
|
|
- $nextGrde.text(nextCustGrade.gradeCdNm)
|
|
|
+ if (remnantBuyAmt > 0 || remnantBuyCnt > 0) {
|
|
|
+ $nextGrde.text(nextCustGradePolicy.gradeCdNm);
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ // 기존 VIP / 새로운 VIP 구분
|
|
|
+ var fnDisplayVipText = function (expctCustGrade) {
|
|
|
+ let $etcGrade = $('#etcGrade');
|
|
|
+ let $sameVipGrade = $('#sameVipGrade');
|
|
|
+ let $vipGrade = $('#vipGrade');
|
|
|
+ $etcGrade.hide();
|
|
|
+ if (expctCustGrade.gradeCdNm === custGradeNm) {
|
|
|
+ $vipGrade.hide();
|
|
|
+ $sameVipGrade.show();
|
|
|
+ } else {
|
|
|
+ $sameVipGrade.hide();
|
|
|
+ $vipGrade.show();
|
|
|
}
|
|
|
+ }
|
|
|
|
|
|
+ $(document).ready(function() {
|
|
|
|
|
|
- };
|
|
|
+ fnInit();
|
|
|
+
|
|
|
+ });
|
|
|
|
|
|
/*]]>*/
|
|
|
</script>
|