|
|
@@ -35,6 +35,7 @@
|
|
|
<input type="hidden" name="stock" />
|
|
|
<input type="hidden" name="minOrdQty"/>
|
|
|
<input type="hidden" name="maxOrdQty"/>
|
|
|
+ <input type="hidden" name="currPrice" th:value="${goodsInfo.currPrice}"/>
|
|
|
<input type="hidden" name="goodsType" th:value="${goodsInfo.goodsType}"/>
|
|
|
<input type="hidden" name="selfGoodsYn" th:value="${goodsInfo.selfGoodsYn}"/>
|
|
|
<section class="pd_detail">
|
|
|
@@ -680,17 +681,17 @@
|
|
|
<div class="nomOption">
|
|
|
<div class="form_wrap">
|
|
|
<div class="form_field">
|
|
|
- <div class="select_custom item_opt1 item_opt1_1" th:classappend="${goodsInfo.goodsCd}">
|
|
|
+ <div class="select_custom item_opt1 item_opt1_1" th:classappend="${goodsInfo.goodsCd}" th:attr="id=${goodsInfo.goodsCd}">
|
|
|
<div class="combo">
|
|
|
<div class="select">선택</div>
|
|
|
<ul class="list" style="display: none;">
|
|
|
<li class="selected" th:id="|selfGoodsOpt1${goodsInfo.goodsCd}|" >선택</li>
|
|
|
<th:block th:each="goodsOption, optionStatus : ${goodsOption1List}" >
|
|
|
- <li th:onclick="fnOption2([[${optionStatus.count}]], [[${goodsOption.goodsCd}]],[[${goodsOption.optCd1}]],1,[[${goodsInfo.minOrdQty}]], [[${goodsInfo.maxOrdQty}]], [[${goodsInfo.currPrice}]])"
|
|
|
+ <li th:onclick="fnOption2([[${optionStatus.count}]], [[${goodsOption.goodsCd}]],[[${goodsOption.optCd1}]],[[${goodsInfo.minOrdQty}]], [[${goodsInfo.maxOrdQty}]])"
|
|
|
th:attr="aria-disabled=${(goodsOption.goodsStat != 'G008_90' or goodsOption.stockQty <= 0)? 'true':''}, data-soldout=${(goodsOption.goodsStat != 'G008_90' or goodsOption.stockQty <= 0)? 'true':''}">
|
|
|
<div th:text="${goodsOption.optCd1}">상품옵션</div>
|
|
|
<div th:if="${goodsOption.addPrice > 0}" th:text="|${#numbers.formatInteger(goodsOption.addPrice, 0,'COMMA')}원|">0원</div>
|
|
|
- <input type="hidden" name="opt1" th:value="${goodsOption.goodsCd}" th:attr="currPrice=${goodsInfo.currPrice}, selfGoodsYn=${goodsOption.selfGoodsYn}"/>
|
|
|
+ <input type="hidden" name="opt" th:value="${goodsOption.goodsCd}" th:attr="selfGoodsYn=${goodsOption.selfGoodsYn}"/>
|
|
|
</li>
|
|
|
</th:block>
|
|
|
</ul>
|
|
|
@@ -717,17 +718,17 @@
|
|
|
<div class="form_wrap" th:each="goodsCompose, status : ${goodsComposeList}">
|
|
|
<div class="form_field">
|
|
|
<p class="title" th:text="${goodsCompose.compsGoodsFullNm}">슬림핏</p>
|
|
|
- <div class="select_custom item_opt1" th:classappend="${'item_opt1_'+status.count +' '+goodsCompose.compsGoodsCd}"
|
|
|
+ <div class="select_custom item_opt1" th:classappend="${'item_opt1_'+status.count +' '+goodsCompose.compsGoodsCd}" th:attr="id=${goodsCompose.compsGoodsCd}, qty=${goodsCompose.qty}"
|
|
|
th:if="${goodsCompose.goodsOption1List != null and !goodsCompose.goodsOption1List.empty}" >
|
|
|
<div class="combo">
|
|
|
<div class="select">선택</div>
|
|
|
<ul class="list" style="display: none;">
|
|
|
<th:block th:each="goodsOption, optionStatus : ${goodsCompose.goodsOption1List}" >
|
|
|
<li class="selected" th:id="|selfGoodsOpt1${goodsCompose.compsGoodsCd}|" th:if=${optionStatus.first}>선택</li>
|
|
|
- <li th:onclick="fnOption2([[${status.count}]], [[${goodsOption.goodsCd}]],[[${goodsOption.optCd1}]],[[${goodsCompose.qty}]],[[${goodsInfo.minOrdQty}]], [[${goodsInfo.maxOrdQty}]], [[${goodsOption.currPrice}]])"
|
|
|
+ <li th:onclick="fnOption2([[${status.count}]], [[${goodsOption.goodsCd}]],[[${goodsOption.optCd1}]],[[${goodsInfo.minOrdQty}]], [[${goodsInfo.maxOrdQty}]])"
|
|
|
th:attr="aria-disabled=${(goodsCompose.goodsStat != 'G008_90')? 'true':''}, data-soldout=${(goodsCompose.goodsStat != 'G008_90')? 'true':''}"
|
|
|
- th:text="${goodsOption.optCd1}">상품옵션
|
|
|
- <input type="hidden" name="opt" th:attr="addPrice=${goodsOption.addPrice}, optCd1=${goodsOption.optCd1},optCd2=${goodsOption.optCd2}, optCd=${goodsOption.optCd}"/>
|
|
|
+ ><th:block th:text="${goodsOption.optCd1}"></th:block>
|
|
|
+ <input type="hidden" name="opt" th:value="${goodsOption.goodsCd}" th:attr="optCd1=${goodsOption.optCd1},optCd2=${goodsOption.optCd2}, optCd=${goodsOption.optCd}"/>
|
|
|
</li>
|
|
|
</th:block>
|
|
|
</ul>
|
|
|
@@ -921,6 +922,7 @@
|
|
|
|
|
|
fnSetTotalPrice();
|
|
|
|
|
|
+
|
|
|
$("#cartForm input[name=opt]").each(function(){
|
|
|
if ($(this).attr('id') == optCd){
|
|
|
// $(this).prop('checked', true);
|
|
|
@@ -938,7 +940,8 @@
|
|
|
let $obj = $(obj);
|
|
|
let $target = $obj.find('input[name="opt2"]');
|
|
|
let goodsCd = $target.attr("goodsCd");
|
|
|
- let currPrice = $target.attr("currPrice");
|
|
|
+ //let currPrice = $target.attr("currPrice");
|
|
|
+ let currPrice = $('#cartForm input[name=currPrice]').val();
|
|
|
let optCd = $target.attr("optCd");
|
|
|
let optCd1 = $target.attr("optCd1");
|
|
|
let optCd2 = $target.attr("optCd2");
|
|
|
@@ -981,10 +984,6 @@
|
|
|
}
|
|
|
|
|
|
//상품정보
|
|
|
- let $selObj = $('.pd_descrp_pop .form_field .select_custom.deal_opt_item');
|
|
|
- //let $goodsObj =$selObj.find('.combo .select').find('input[name=selectGoods]');
|
|
|
- //let goodsNm = $goodsObj.attr('goodsnm');
|
|
|
- //let goodsCd = $goodsObj.attr('goodscd');
|
|
|
let price = parseInt(currPrice)+ parseInt(addPrice);
|
|
|
|
|
|
let tag = "";
|
|
|
@@ -995,7 +994,7 @@
|
|
|
tag += ' </div>\n';
|
|
|
tag += ' </div>\n';
|
|
|
tag += ' <div class="number_count">\n';
|
|
|
- tag += ' <span class="minus" onclick="fnAdjustOrderEa(this);" adjust="-"><em class="sr-only">감소</em></span>\n';
|
|
|
+ tag += ' <span class="minus min_val" onclick="fnAdjustOrderEa(this);" adjust="-"><em class="sr-only">감소</em></span>\n';
|
|
|
tag += ' <input type="text" name="cea" optCd="'+optCd+'" maxlength="3" style="ime-mode:disabled" value="' +optQty+'" onblur="fnChangeOrderEa(this)" minOrdQty="'+minOrdQty+'" maxOrdQty="'+maxOrdQty+'" data-valid-type="numeric">\n';
|
|
|
tag += ' <input type="hidden" name="coption" value="'+optCd+'" goodsCd="'+goodsCd+'" price="'+currPrice+'" addPrice="'+addPrice+'">\n';
|
|
|
tag += ' <span class="plus" onclick="fnAdjustOrderEa(this);" adjust="+"><em class="sr-only">추가</em></span>\n';
|
|
|
@@ -1007,11 +1006,8 @@
|
|
|
tag += '</div>\n';
|
|
|
|
|
|
|
|
|
- let $objUp = null;
|
|
|
- $objUp = $('.pd_detail .opt_result');
|
|
|
-
|
|
|
+ let $objUp = $('.pd_detail .opt_result');
|
|
|
$objUp.append(tag);
|
|
|
-
|
|
|
fnSetTotalPrice();
|
|
|
|
|
|
// 해야하나 말아야하나
|
|
|
@@ -1021,18 +1017,21 @@
|
|
|
}
|
|
|
|
|
|
//세트 사이즈 클릭시
|
|
|
- function fnViewStockSet(obj, goodsCd, optCd1, optCd2, minOrdQty, maxOrdQty) {
|
|
|
+ function fnViewStockSet(obj, goodsCd, optCd, optCd1, optCd2, minOrdQty, maxOrdQty) {
|
|
|
|
|
|
let target=$('.select_custom.item_opt2');
|
|
|
let targetSize = target.length; //구성품 갯수
|
|
|
+ let goodsOption = [];
|
|
|
|
|
|
- //eskim
|
|
|
let cnt = 0;
|
|
|
let itemSize = 0;
|
|
|
+ let resultOptCd = "";
|
|
|
target.each(function(){
|
|
|
if (typeof ($(this).find('.select').find('input[name=opt2]').val()) != 'undefined' && !gagajf.isNull($(this).find('.select').find('input[name=opt2]').val())){
|
|
|
- if (goodsCd != $(this).find('.select').find('input[name=opt2]').val()){
|
|
|
+ if (goodsCd != $(this).find('.select').find('input[name=opt2]').attr('goodscd')){
|
|
|
itemSize ++;
|
|
|
+ resultOptCd += $(this).find('.select').find('input[name=opt2]').attr('optcd') + "_";
|
|
|
+ goodsOption.push($(this).find('input[name=opt2]').val()); //goodsCd|optCd|qty
|
|
|
}
|
|
|
}
|
|
|
});
|
|
|
@@ -1042,40 +1041,112 @@
|
|
|
itemSize ++;
|
|
|
}
|
|
|
|
|
|
+ //내가 선택하 옵션
|
|
|
+ resultOptCd += $(obj).find('input[name=opt2]').attr('optcd') + "_";
|
|
|
+ goodsOption.push($(obj).find('input[name=opt2]').val()); //goodsCd|optCd|qty
|
|
|
+
|
|
|
+
|
|
|
+ // 중복선택 확인 opt_result
|
|
|
+ let arrSelOpt = resultOptCd.split("_"); // 내가 선택한 옵션목록
|
|
|
+ let selCnt = 0;
|
|
|
+ let overlap = 0;
|
|
|
+ $('.pd_detail .opt_result .number_count').each(function() {
|
|
|
+ let val = $('input[name="coption"]', this).val();
|
|
|
+ val = val.replaceAll('result_', '');
|
|
|
+ let arrOpt = val.split("_");
|
|
|
+
|
|
|
+ for(var i=0;i<arrOpt.length;i++){
|
|
|
+ for(var j=0;j<arrSelOpt.length;j++){
|
|
|
+ if (gagajf.isNull(arrOpt[i]) || gagajf.isNull(arrSelOpt[j])) continue;
|
|
|
+ if (arrOpt[i] == arrSelOpt[j]){
|
|
|
+ selCnt++;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ if (Number(itemSize) == Number(selCnt)) {
|
|
|
+ ++overlap;
|
|
|
+ }
|
|
|
+
|
|
|
+ });
|
|
|
+
|
|
|
+ if (overlap > 0) {
|
|
|
+ mcxDialog.alert("이미 선택하신 옵션입니다.");
|
|
|
+ return false;
|
|
|
+ }
|
|
|
+
|
|
|
let mGoodsCd = $("#cartForm input[name=goodsCd]").val();
|
|
|
let selfGoodsYn = $("#cartForm input[name=selfGoodsYn]").val();
|
|
|
- let goodsOption = [];
|
|
|
+
|
|
|
if (targetSize == itemSize){
|
|
|
- target.each(function() {
|
|
|
- if (typeof ($(obj).find('input[name=opt2]').val()) != 'undefined' && !gagajf.isNull($(obj).find('input[name=opt2]').val())){
|
|
|
- goodsOption.push($(this).find('input[name=opt2]').val());
|
|
|
- }
|
|
|
- });
|
|
|
|
|
|
- var maxCnt = maxOrdQty;
|
|
|
- var data = {arrGoodsOption : goodsOption
|
|
|
+ let maxCnt = maxOrdQty;
|
|
|
+ let optQty = minOrdQty;
|
|
|
+ let data = {arrGoodsOption : goodsOption
|
|
|
,minOrdQty : minOrdQty
|
|
|
,maxOrdQty : maxOrdQty
|
|
|
,goodsCd : mGoodsCd
|
|
|
,selfGoodsYn : selfGoodsYn
|
|
|
};
|
|
|
- var jsonData = JSON.stringify(data);
|
|
|
+ let jsonData = JSON.stringify(data);
|
|
|
|
|
|
gagajf.ajaxJsonSubmit('/goods/detail/ajaxGoodsSetStockQty', jsonData, function(result) {
|
|
|
var itemCnt = eval(result); //해당 아이템에 선택되어진 사이즈의 수량
|
|
|
- //console.log("itemCnt : "+itemCnt);
|
|
|
if (maxCnt > itemCnt) {
|
|
|
maxCnt = itemCnt;
|
|
|
}
|
|
|
|
|
|
- $("#cartForm input[name=ordQty]").val(minOrdQty);
|
|
|
- $("#cartForm input[name=maxOrdQty]").val(maxCnt);
|
|
|
- $("#cartForm input[name=minOrdQty]").val(minOrdQty);
|
|
|
- $("#cartForm input[name=cea]").val(minOrdQty);
|
|
|
- $("#cartForm input[name=cea]").attr("readonly",false);
|
|
|
- $("#cartForm input[name=stock]").val(itemCnt);
|
|
|
-
|
|
|
+ if (minOrdQty > itemCnt) {
|
|
|
+ //alert("무슨작업을 해야할가요?");
|
|
|
+ return false; //무슨작업을 해야하나?
|
|
|
+ }
|
|
|
+
|
|
|
+ //상품정보
|
|
|
+ let $selObj = $('.pop_option_select .setOption .form_wrap');
|
|
|
+ let currPrice = Number($('#cartForm input[name=currPrice]').val());
|
|
|
+ let price = currPrice;
|
|
|
+ let addPrice = 0;
|
|
|
+ resultOptCd = "";
|
|
|
+
|
|
|
+ $selObj.each(function() {
|
|
|
+ resultOptCd += $(this).find('input[name=opt2]').attr('optcd') + "_";
|
|
|
+ });
|
|
|
+
|
|
|
+ let tag = "";
|
|
|
+ tag += '<div class="result_item result_'+resultOptCd+'">\n';
|
|
|
+ tag += ' <div class="opt_header">\n';
|
|
|
+
|
|
|
+ $selObj.each(function() {
|
|
|
+ tag += ' <div class="bundle">\n';
|
|
|
+ tag += ' <span class="item_name">'+$(this).find('.title').text()+'</span>\n';
|
|
|
+ tag += ' <span class="item_option">'+$(this).find('input[name=opt2]').attr('optcd1')+'/'+$(this).find('input[name=opt2]').attr('optcd2')+'</span>\n';
|
|
|
+ tag += ' <input type="hidden" name="selOption" goodsCd="'+goodsCd+'" optCd="'+optCd+'" qty="'+$(this).find('.item_opt1 ').attr('qty')+'" /> \n';
|
|
|
+ tag += ' </div>\n';
|
|
|
+ addPrice += Number($(this).find('input[name=opt2]').attr('addprice'));
|
|
|
+ });
|
|
|
+
|
|
|
+ price = Number(currPrice) + Number(addPrice);
|
|
|
+ tag += ' </div>\n';
|
|
|
+ tag += ' <div class="number_count">\n';
|
|
|
+ tag += ' <span class="minus min_val" onclick="fnAdjustOrderEa(this);" adjust="-"><em class="sr-only">감소</em></span>\n';
|
|
|
+ tag += ' <input type="text" name="cea" optCd="'+resultOptCd+'" maxlength="3" style="ime-mode:disabled" value="' +optQty+'" onblur="fnChangeOrderEa(this)" minOrdQty="'+minOrdQty+'" maxOrdQty="'+maxCnt+'" data-valid-type="numeric">\n';
|
|
|
+ tag += ' <input type="hidden" name="coption" value="'+resultOptCd+'" goodsCd="'+goodsCd+'" price="'+currPrice+'" addPrice="'+addPrice+'">\n';
|
|
|
+ tag += ' <span class="plus" onclick="fnAdjustOrderEa(this);" adjust="+"><em class="sr-only">추가</em></span>\n';
|
|
|
+ tag += ' </div>\n';
|
|
|
+ tag += ' <div class="item_price">\n';
|
|
|
+ tag += ' <p><em id="goodsPrice">'+price.addComma() +'</em>원</p>\n';
|
|
|
+ tag += ' </div>\n';
|
|
|
+ tag += ' <button type="button" class="btn_delete_item" onclick="fnSelectGoodsDel(\''+resultOptCd+'\')"><span>삭제</span></button>\n';
|
|
|
+ tag += '</div>\n';
|
|
|
+
|
|
|
+
|
|
|
+ let $objUp = null;
|
|
|
+ $objUp = $('.pd_detail .opt_result');
|
|
|
+
|
|
|
+ $objUp.append(tag);
|
|
|
+
|
|
|
fnSetTotalPrice();
|
|
|
+
|
|
|
});
|
|
|
}
|
|
|
}
|
|
|
@@ -1086,15 +1157,43 @@
|
|
|
// 품절제외 여부
|
|
|
let optionSoldoutSkip = $('.pop_option_select').find('input[name=soldoutSkipYn]').is(":checked") ? 'Y' : 'N';
|
|
|
|
|
|
- let data = {goodsCd : goodsCd
|
|
|
- ,optionSoldoutSkip : optionSoldoutSkip };
|
|
|
- let jsonData = JSON.stringify(data);
|
|
|
+ // 입점
|
|
|
+ if("N" == $("#cartForm input[name=selfGoodsYn]").val() ){
|
|
|
+ let data = {goodsCd : goodsCd
|
|
|
+ ,optionSoldoutSkip : optionSoldoutSkip
|
|
|
+ };
|
|
|
+ let jsonData = JSON.stringify(data);
|
|
|
+
|
|
|
+ fnOption1Display(ridx, jsonData );
|
|
|
+
|
|
|
+ }else if("G056_S" == $("#cartForm input[name=goodsType]").val() ){
|
|
|
+
|
|
|
+ let idx = 1;
|
|
|
+ target=$('.select_custom.item_opt1');
|
|
|
+ target.each(function(){
|
|
|
+ let data = {goodsCd : $(this).attr('id')
|
|
|
+ ,optionSoldoutSkip : optionSoldoutSkip
|
|
|
+ };
|
|
|
+ let jsonData = JSON.stringify(data);
|
|
|
+
|
|
|
+ fnOption1Display(idx, jsonData );
|
|
|
+
|
|
|
+ idx++;
|
|
|
+
|
|
|
+ });
|
|
|
+
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ // 옵션1 노출처리
|
|
|
+ var fnOption1Display = function(ridx, jsonData ){
|
|
|
+
|
|
|
gagajf.ajaxJsonSubmit('/goods/detail/option1/list', jsonData, function(result) {
|
|
|
|
|
|
- if (result.dataList != null && result.dataList.length > 0) {debugger;
|
|
|
+ if (result.dataList != null && result.dataList.length > 0) {
|
|
|
let tag = "";
|
|
|
let $obj = null;
|
|
|
-
|
|
|
+ let selfGoodsYn = 'N';
|
|
|
$.each(result.dataList, function(idx, item) {
|
|
|
if (idx == 0){
|
|
|
|
|
|
@@ -1105,13 +1204,13 @@
|
|
|
tag += '<ul class="list" style="display: none;">\n';
|
|
|
//------
|
|
|
tag += '<li class="selected" id="selfGoodsOpt'+item.goodsCd+'">선택</li>\n';
|
|
|
-
|
|
|
+ selfGoodsYn = item.selfGoodsYn;
|
|
|
}
|
|
|
let soldoutYn = "";
|
|
|
if ("G008_90" != item.goodsStat || item.stockQty <= 0) soldoutYn = "true";
|
|
|
- tag += '<li aria-disabled="'+soldoutYn+'" data-soldout="'+soldoutYn +'" onclick="fnOption2('+ (idx+1)+', \''+ item.goodsCd+'\' , \''+ item.optCd1+'\' , \''+ item.minOrdQty+'\', \''+ item.maxOrdQty+'\', \''+item.currPrice+'\')">\n';
|
|
|
+ tag += '<li aria-disabled="'+soldoutYn+'" data-soldout="'+soldoutYn +'" onclick="fnOption2('+ (idx+1)+', \''+ item.goodsCd+'\' , \''+ item.optCd1+'\', \''+ item.minOrdQty+'\', \''+ item.maxOrdQty+'\' )">\n';
|
|
|
tag += '<div>' +item.optCd1 +'</div>';
|
|
|
- tag += '<input type="hidden" name="opt1" value="'+ item.goodsCd+' currPrice="'+ item.currPrice +'" selfGoodsYn="'+ selfGoodsYn+'"/>\n';
|
|
|
+ tag += '<input type="hidden" name="opt" value="'+ item.goodsCd+'" optCd1="'+ item.optCd1 +'" qty="'+ item.qty +'" />\n';
|
|
|
tag += '</li>\n';
|
|
|
});
|
|
|
|
|
|
@@ -1121,7 +1220,7 @@
|
|
|
tag += '</div>\n';
|
|
|
//------
|
|
|
}
|
|
|
-debugger;
|
|
|
+
|
|
|
if (selfGoodsYn == "Y"){
|
|
|
if (ridx == 1){
|
|
|
$obj = $('.pop_option_select .select_custom.item_opt1.item_opt1_1');
|
|
|
@@ -1167,7 +1266,7 @@ debugger;
|
|
|
}
|
|
|
|
|
|
// 옵션2 조회
|
|
|
- var fnOption2 = function(ridx, goodsCd, optCd1, qty, minOrdQty, maxOrdQty , currPrice){
|
|
|
+ var fnOption2 = function(ridx, goodsCd, optCd1, minOrdQty, maxOrdQty){
|
|
|
|
|
|
// 품절제외 여부
|
|
|
let optionSoldoutSkip = $('.pop_option_select').find('input[name=soldoutSkipYn]').is(":checked") ? 'Y' : 'N';
|
|
|
@@ -1175,8 +1274,8 @@ debugger;
|
|
|
let selfGoodsYn = $("#cartForm input[name=selfGoodsYn]").val();
|
|
|
let data = {goodsCd : goodsCd
|
|
|
,optCd1 : optCd1
|
|
|
- ,adminYn : $("#cartForm input[name=adminYn]").val()
|
|
|
,optionSoldoutSkip : optionSoldoutSkip
|
|
|
+ ,mastrGoodsCd : $('#cartFprm input[name=goodsCd]').val()
|
|
|
};
|
|
|
let jsonData = JSON.stringify(data);
|
|
|
|
|
|
@@ -1202,6 +1301,7 @@ debugger;
|
|
|
}else{
|
|
|
$obj = $('.form_field .select_custom.item_opt2.item_opt2_1');
|
|
|
}
|
|
|
+ let qty = $obj.parent().parent().find('.select_custom').attr('qty'); // 구성수량
|
|
|
|
|
|
$.each(result.dataList, function(idx, item) {
|
|
|
if (idx == 0){
|
|
|
@@ -1218,9 +1318,10 @@ debugger;
|
|
|
tag += '<li class="selected" id="goodsOpt2'+item.goodsCd+'">선택</li>\n';
|
|
|
}
|
|
|
let soldoutYn = "";
|
|
|
- if ("Y" == item.soldoutYn || item.stockQty <= 0)soldoutYn = "true";
|
|
|
+ let saleQty = (Number(qty) * Number(minOrdQty));
|
|
|
+ if ("Y" == item.soldoutYn || Number(item.stockQty) <= Number(saleQty))soldoutYn = "true";
|
|
|
if (selfGoodsYn == "Y"){
|
|
|
- tag += '<li aria-disabled="'+soldoutYn+'" data-soldout="'+soldoutYn +'" onclick="fnViewStockSet(this, \''+ item.goodsCd+'\' , \''+ item.optCd1+'\' , \''+ item.optCd2+'\', \''+ minOrdQty+'\', \''+ maxOrdQty+'\')">\n';
|
|
|
+ tag += '<li aria-disabled="'+soldoutYn+'" data-soldout="'+soldoutYn +'" onclick="fnViewStockSet(this, \''+ item.goodsCd+'\' , \''+ item.optCd+'\' , \''+ item.optCd1+'\' , \''+ item.optCd2+'\', \''+ minOrdQty+'\', \''+ maxOrdQty+'\')">\n';
|
|
|
}else{
|
|
|
tag += '<li aria-disabled="'+soldoutYn+'" data-soldout="'+soldoutYn +'" onclick="fnViewStockSelfNo(this)">\n';
|
|
|
}
|
|
|
@@ -1230,7 +1331,7 @@ debugger;
|
|
|
}else{
|
|
|
|
|
|
}
|
|
|
- tag += '<input type="hidden" name="opt2" value="'+ item.goodsCd+'|'+item.optCd +'|'+qty +'" goodsCd="'+item.goodsCd+'" currPrice="'+ currPrice +'" addPrice="'+item.addPrice+'" optCd="'+item.optCd+'" optCd1="'+item.optCd1+'" optCd2="'+item.optCd2+'" minOrdQty="'+minOrdQty+'" maxOrdQty="'+maxOrdQty+'" selfGoodsYn="'+selfGoodsYn+'"/>\n';
|
|
|
+ tag += '<input type="hidden" name="opt2" value="'+ item.goodsCd+'|'+item.optCd +'|'+qty +'" goodsCd="'+item.goodsCd+'" currPrice="'+ item.currPrice +'" addPrice="'+item.addPrice+'" optCd="'+item.optCd+'" optCd1="'+item.optCd1+'" optCd2="'+item.optCd2+'" minOrdQty="'+minOrdQty+'" maxOrdQty="'+maxOrdQty+'" selfGoodsYn="'+selfGoodsYn+'"/>\n';
|
|
|
tag += '</li>\n';
|
|
|
});
|
|
|
|
|
|
@@ -1241,7 +1342,6 @@ debugger;
|
|
|
//------
|
|
|
}
|
|
|
|
|
|
-
|
|
|
$obj.append(tag);
|
|
|
if (selfGoodsYn == "Y"){
|
|
|
if (ridx == 1){
|
|
|
@@ -1268,34 +1368,23 @@ debugger;
|
|
|
// 수량 변경 클릭
|
|
|
var fnAdjustOrderEa = function(obj) {
|
|
|
|
|
|
- if ("Y" == $("#cartForm input[name=selfGoodsYn]").val()){
|
|
|
- if("G056_N" == $("#cartForm input[name=goodsType]").val() ){
|
|
|
- if(gagajf.isNull($("#cartForm input[name=optCd2]").val())){
|
|
|
- mcxDialog.alert("사이즈를 선택하세요.");
|
|
|
- return false;
|
|
|
- }
|
|
|
- }else{ //세트
|
|
|
- let target=$('.select_custom.item_opt2');
|
|
|
- let targetSize = target.length; //구성품 갯수
|
|
|
- let itemSize = 0;
|
|
|
- target.each(function(){
|
|
|
- if (typeof ($(this).find('.select').find('input[name=opt2]').val()) != 'undefined' && !gagajf.isNull($(this).find('.select').find('input[name=opt2]').val())){
|
|
|
- itemSize ++;
|
|
|
- }
|
|
|
- });
|
|
|
-
|
|
|
- if (targetSize != itemSize){
|
|
|
- mcxDialog.alert("구성상품들의 옵션을 선택하세요.");
|
|
|
- return false;
|
|
|
- }
|
|
|
- }
|
|
|
- }
|
|
|
-
|
|
|
let $obj = $(obj);
|
|
|
let $target = $obj.parent().children('input[name="cea"]');
|
|
|
- let minOrdQty = parseInt( $target.attr('minOrdQty'));
|
|
|
- let maxOrdQty = parseInt( $target.attr('maxOrdQty'));
|
|
|
let ea =parseInt($target.val());
|
|
|
+ let minOrdQty = 0;
|
|
|
+ let maxOrdQty = 0;
|
|
|
+ if ("Y" == $("#cartForm input[name=selfGoodsYn]").val() && "G056_N" == $("#cartForm input[name=goodsType]").val()){
|
|
|
+ if(gagajf.isNull($("#cartForm input[name=optCd2]").val())){
|
|
|
+ mcxDialog.alert("사이즈를 선택하세요.");
|
|
|
+ return false;
|
|
|
+ }
|
|
|
+ minOrdQty = parseInt($("#cartForm input[name=minOrdQty]").val());
|
|
|
+ maxOrdQty = parseInt($("#cartForm input[name=maxOrdQty]").val());
|
|
|
+ }else{
|
|
|
+
|
|
|
+ minOrdQty = parseInt( $target.attr('minOrdQty'));
|
|
|
+ maxOrdQty = parseInt( $target.attr('maxOrdQty'));
|
|
|
+ }
|
|
|
|
|
|
if ($obj.attr('adjust') == '-') --ea;
|
|
|
else ++ea;
|
|
|
@@ -1316,50 +1405,44 @@ debugger;
|
|
|
//옵션 갯수 변경
|
|
|
var fnChangeOrderEa = function(obj) {
|
|
|
|
|
|
- if ("Y" == $("#cartForm input[name=selfGoodsYn]").val()){
|
|
|
- if("G056_N" == $("#cartForm input[name=goodsType]").val()){
|
|
|
- if(gagajf.isNull($("#cartForm input[name=optCd2]").val())){
|
|
|
- mcxDialog.alert("사이즈를 선택하세요.");
|
|
|
- return false;
|
|
|
- }
|
|
|
- }else{
|
|
|
-
|
|
|
- let target=$('.select_custom.item_opt2');
|
|
|
- let targetSize = target.length; //구성품 갯수
|
|
|
- let itemSize = 0;
|
|
|
- target.each(function(){
|
|
|
- if (typeof ($(this).find('.select').find('input[name=opt2]').val()) != 'undefined' && !gagajf.isNull($(this).find('.select').find('input[name=opt2]').val())){
|
|
|
- itemSize ++;
|
|
|
- }
|
|
|
- });
|
|
|
-
|
|
|
- if (targetSize != itemSize){
|
|
|
- mcxDialog.alert("구성상품들의 옵션을 선택하세요.");
|
|
|
- return false;
|
|
|
- }
|
|
|
- }
|
|
|
- }
|
|
|
-
|
|
|
let $obj = $(obj);
|
|
|
+ let $target = $obj.parent().children('input[name="cea"]');
|
|
|
let ea = parseInt($obj.val());
|
|
|
- let maxOrdQty = parseInt($(obj).attr('maxOrdQty'));
|
|
|
- let minOrdQty = parseInt($(obj).attr('minOrdQty'));
|
|
|
let optCd = $(obj).attr('optCd');
|
|
|
+ let minOrdQty = parseInt($("#cartForm input[name=minOrdQty]").val());
|
|
|
+ let maxOrdQty = parseInt($("#cartForm input[name=maxOrdQty]").val());
|
|
|
+ if ("Y" == $("#cartForm input[name=selfGoodsYn]").val() && "G056_N" == $("#cartForm input[name=goodsType]").val()){
|
|
|
+ if(gagajf.isNull($("#cartForm input[name=optCd2]").val())){
|
|
|
+ mcxDialog.alert("사이즈를 선택하세요.");
|
|
|
+ return false;
|
|
|
+ }
|
|
|
+ }else{
|
|
|
+
|
|
|
+ maxOrdQty = parseInt($(obj).attr('maxOrdQty'));
|
|
|
+ minOrdQty = parseInt($(obj).attr('minOrdQty'));
|
|
|
+ optCd = $(obj).attr('optCd');
|
|
|
+ }
|
|
|
+
|
|
|
let alertMsg = '';
|
|
|
|
|
|
if (ea < minOrdQty) {
|
|
|
- alertMsg ="최소 주문 가능 수량은 "+buymin+"개 입니다.";
|
|
|
+ alertMsg ="최소 주문 가능 수량은 "+minOrdQty+"개 입니다.";
|
|
|
ea = minOrdQty;
|
|
|
}
|
|
|
|
|
|
if (ea > maxOrdQty) {
|
|
|
- alertMsg = "최대 주문 가능 수량은 "+buymax+"개 입니다.";
|
|
|
+ alertMsg = "최대 주문 가능 수량은 "+maxOrdQty+"개 입니다.";
|
|
|
ea = maxOrdQty;
|
|
|
}
|
|
|
-
|
|
|
- $("#cartForm input[name=cea]").val(ea);
|
|
|
- $("#cartForm input[name=ordQty]").val(ea);
|
|
|
- obj.value = ea;
|
|
|
+
|
|
|
+ if ("Y" == $("#cartForm input[name=selfGoodsYn]").val() && "G056_N" == $("#cartForm input[name=goodsType]").val()){
|
|
|
+ $("#cartForm input[name=cea]").val(ea);
|
|
|
+ $("#cartForm input[name=ordQty]").val(ea);
|
|
|
+ }
|
|
|
+
|
|
|
+ //obj.value = ea;
|
|
|
+ $target.val(ea);
|
|
|
+ $target.attr('value', ea);
|
|
|
|
|
|
if (alertMsg != ''){
|
|
|
mcxDialog.alert(alertMsg);
|
|
|
@@ -1371,13 +1454,17 @@ debugger;
|
|
|
}else{
|
|
|
$('.number_count').find('.minus').removeClass('min_val');
|
|
|
}
|
|
|
+ if ("Y" == $("#cartForm input[name=selfGoodsYn]").val() && "G056_N" == $("#cartForm input[name=goodsType]").val()){
|
|
|
+
|
|
|
+ }else{
|
|
|
+ let addPrice = parseInt($obj.parent().find('input[name="coption"]').attr('addprice'));
|
|
|
+ let goodsPrice = parseInt($obj.parent().find('input[name="coption"]').attr('price'));
|
|
|
+ let totalPrice = ((goodsPrice+addPrice) * ea);
|
|
|
+ $('.opt_result .result_'+optCd+' .number_count').find('input[name=cea]').val(ea);
|
|
|
+ $('.opt_result .result_'+optCd+' .number_count').find('input[name=cea]').attr('value',ea);
|
|
|
+ $('.opt_result .result_'+optCd+' .item_price').find('em').text(totalPrice.addComma());
|
|
|
+ }
|
|
|
|
|
|
- let addPrice = parseInt($obj.parent().find('input[name="coption"]').attr('addprice'));
|
|
|
- let goodsPrice = parseInt($obj.parent().find('input[name="coption"]').attr('price'));
|
|
|
- let totalPrice = ((goodsPrice+addPrice) * ea);
|
|
|
- $('.opt_result .result_'+optCd+' .number_count').find('input[name=cea]').val(ea);
|
|
|
- $('.opt_result .result_'+optCd+' .number_count').find('input[name=cea]').attr('value',ea);
|
|
|
- $('.opt_result .result_'+optCd+' .item_price').find('em').text(totalPrice.addComma());
|
|
|
|
|
|
fnSetTotalPrice();
|
|
|
}
|
|
|
@@ -1449,66 +1536,76 @@ debugger;
|
|
|
|
|
|
}else {
|
|
|
|
|
|
- let target = null;
|
|
|
- let targetSize = 0; //구성품 갯수
|
|
|
+ let cartGoodsList = [];
|
|
|
+ let compsList = [];
|
|
|
+ let goodsList = {
|
|
|
+ cartCompsList : new Array()
|
|
|
+ }
|
|
|
+ let target = $('#cartForm input[name=cea]');
|
|
|
|
|
|
- if (goodsType == 'G056_S') {
|
|
|
+ if (goodsType == 'G056_N'){
|
|
|
|
|
|
- target=$('.select_custom.item_opt2');
|
|
|
- targetSize = target.length; //구성품 갯수
|
|
|
- let itemSize = 0;
|
|
|
- target.each(function(){
|
|
|
- if (typeof ($(this).find('.select').find('input[name=opt2]').val()) != 'undefined' && !gagajf.isNull($(this).find('.select').find('input[name=opt2]').val())){
|
|
|
- itemSize ++;
|
|
|
+ target.each(function() {
|
|
|
+
|
|
|
+ let targetItem = $(this).parent().parent();
|
|
|
+
|
|
|
+ let ea = parseInt($(this).val());
|
|
|
+ //let goodsCd = $(this).parent().find('input[name="coption"]').attr('goodscd');
|
|
|
+ //let optCd = $(this).parent().find('input[name="coption"]').val();
|
|
|
+ let addPrice = parseInt(.find('input[name="coption"]').attr('addprice'));
|
|
|
+ let goodsPrice = parseInt($(this).parent().find('input[name="coption"]').attr('price'));
|
|
|
+
|
|
|
+ var obj = new Object();
|
|
|
+ obj.cartGb = btnType;
|
|
|
+ obj.goodsType = $("#cartForm input[name=goodsType]").val();
|
|
|
+ obj.goodsCd = $("#cartForm input[name=goodsCd]").val();
|
|
|
+
|
|
|
+ targetItem.each(function() {
|
|
|
+ obj.itemCd = $(this).parent().parent()
|
|
|
+ obj.optCd = arrInfo[1];
|
|
|
}
|
|
|
+
|
|
|
+ obj.goodsQty = $("#cartForm input[name=ordQty]").val();
|
|
|
+ obj.afLinkCd =$("#cartForm input[name=afLinkCd]").val();
|
|
|
+ obj.ithrCd =$("#cartForm input[name=ithrCd]").val();
|
|
|
+ obj.contentsLoc =$("#cartForm input[name=contentsLoc]").val();
|
|
|
+ obj.planDtlSq = $("#cartForm input[name=planDtlSq]").val();
|
|
|
+ compsList.push(obj);
|
|
|
+
|
|
|
});
|
|
|
|
|
|
- if (targetSize != itemSize){
|
|
|
- mcxDialog.alert("구성상품들의 옵션을 선택하세요.");
|
|
|
- return false;
|
|
|
- }
|
|
|
- }else{
|
|
|
+ // 장바구니담기
|
|
|
+ cfnAddCart(compsList);
|
|
|
+
|
|
|
+ }else{ // 세트
|
|
|
+
|
|
|
+ target.each(function() {
|
|
|
+ var arrInfo = $(this).find('input[name=opt2]').val().split('|'); // 상품코드|사이즈|구성수량
|
|
|
+
|
|
|
+ var obj = new Object();
|
|
|
+ obj.cartGb = btnType;
|
|
|
+ obj.goodsType = $("#cartForm input[name=goodsType]").val();
|
|
|
+ obj.goodsCd = $("#cartForm input[name=goodsCd]").val();
|
|
|
+ obj.itemCd = arrInfo[0];
|
|
|
+ obj.optCd = arrInfo[1];
|
|
|
+ obj.goodsQty = $("#cartForm input[name=ordQty]").val();
|
|
|
+ obj.afLinkCd =$("#cartForm input[name=afLinkCd]").val();
|
|
|
+ obj.ithrCd =$("#cartForm input[name=ithrCd]").val();
|
|
|
+ obj.contentsLoc =$("#cartForm input[name=contentsLoc]").val();
|
|
|
+ obj.planDtlSq = $("#cartForm input[name=planDtlSq]").val();
|
|
|
+ compsList.push(obj);
|
|
|
+
|
|
|
+ });
|
|
|
+
|
|
|
+ goodsList.cartCompsList = compsList;
|
|
|
+ cartGoodsList.push(goodsList);
|
|
|
+
|
|
|
+ // 장바구니담기
|
|
|
+ cfnAddCart(cartGoodsList);
|
|
|
|
|
|
- target = $('#cartForm input[name=cea]');
|
|
|
- targetSize = target.length; //선택성품 갯수
|
|
|
- if (target.length <= 0){
|
|
|
- mcxDialog.alert("구성상품들의 옵션을 선택하세요.");
|
|
|
- return false;
|
|
|
- }
|
|
|
- }
|
|
|
-
|
|
|
- let cartGoodsList = [];
|
|
|
- let compsList = [];
|
|
|
- let goodsList = {
|
|
|
- cartCompsList : new Array()
|
|
|
}
|
|
|
|
|
|
- target.each(function() {debugger;
|
|
|
-
|
|
|
- let ea = parseInt($(this).val());
|
|
|
- let goodsCd = $(this).parent().find('input[name="coption"]').attr('goodscd');
|
|
|
- let optCd = $(this).parent().find('input[name="coption"]').val();
|
|
|
- let addPrice = parseInt($(this).parent().find('input[name="coption"]').attr('addprice'));
|
|
|
- let goodsPrice = parseInt($(this).parent().find('input[name="coption"]').attr('price'));
|
|
|
-
|
|
|
- var obj = new Object();
|
|
|
- obj.cartGb = btnType;
|
|
|
- obj.goodsType = $("#cartForm input[name=goodsType]").val();
|
|
|
- obj.goodsCd = goodsCd;
|
|
|
- obj.optCd = optCd;
|
|
|
- obj.goodsQty = ea;
|
|
|
- obj.afLinkCd =$("#cartForm input[name=afLinkCd]").val();
|
|
|
- obj.ithrCd =$("#cartForm input[name=ithrCd]").val();
|
|
|
- obj.contentsLoc =$("#cartForm input[name=contentsLoc]").val();
|
|
|
- obj.planDtlSq = $("#cartForm input[name=planDtlSq]").val();
|
|
|
- compsList.push(obj);
|
|
|
-
|
|
|
- });
|
|
|
- goodsList.cartCompsList = compsList;
|
|
|
- cartGoodsList.push(goodsList);
|
|
|
|
|
|
- // 장바구니담기
|
|
|
- cfnAddCart(cartGoodsList);
|
|
|
}
|
|
|
}
|
|
|
|