|
|
@@ -3,43 +3,58 @@
|
|
|
</div>
|
|
|
<div class="modal-body">
|
|
|
<div class="pop_cont">
|
|
|
- <div class="option_list">
|
|
|
- <ul>
|
|
|
- <li>
|
|
|
- <div class="option_name">
|
|
|
- <span><em>슬림핏 마이크로 체크 네이비컬러 스탠드카라 셋업 수트 자켓</em> / <em>Black</em> / <em>XXL</em> </span>
|
|
|
- </div>
|
|
|
- <div class="option_box">
|
|
|
- <button type="button" class="btn btn_default"><span>90</span></button>
|
|
|
- <button type="button" class="btn btn_default" disabled><span>95</span></button>
|
|
|
- <button type="button" class="btn btn_default"><span>105</span></button>
|
|
|
- <button type="button" class="btn btn_default"><span>110</span></button>
|
|
|
- <button type="button" class="btn btn_default"><span>115</span></button>
|
|
|
- <button type="button" class="btn btn_default"><span>120</span></button>
|
|
|
- <button type="button" class="btn btn_default"><span>FREE</span></button>
|
|
|
- </div>
|
|
|
- </li>
|
|
|
- <li>
|
|
|
- <div class="option_name">
|
|
|
- <span><em>베이직 셔츠</em> / <em>Green</em> / <em>M</em></span>
|
|
|
- </div>
|
|
|
- <div class="option_select">
|
|
|
- <div class="select_custom select_option">
|
|
|
- <div class="combo">
|
|
|
- <div class="select">선택</div>
|
|
|
+ <th:block th:if="${exchangeOptionInfo}" th:each="oneData, status : ${exchangeOptionInfo}">
|
|
|
+ <div class="option_list">
|
|
|
+ <ul>
|
|
|
+ <input type="hidden" name="chgOptCd2" th:attr="ordDtlItemSq=${oneData.ordDtlItemSq}, itemNm=${oneData.itemNm}, colorNm=${oneData.colorNm}, orgOptCd2=${oneData.optCd2}, goodsType=${oneData.goodsType}" th:value="${oneData.optCd2}">
|
|
|
+ <!-- 자사일때 opt2 교환 -->
|
|
|
+ <th:block th:if="${oneData.selfGoodsYn == 'Y'}">
|
|
|
+ <li>
|
|
|
+ <div class="option_name">
|
|
|
+ <span>
|
|
|
+ <em th:text="${oneData.itemNm}"></em> / <em th:text="${oneData.colorNm}"></em> / <em th:text="${oneData.optCd2}"></em>
|
|
|
+ </span>
|
|
|
</div>
|
|
|
- </div>
|
|
|
- </div>
|
|
|
- </li>
|
|
|
- </ul>
|
|
|
- </div>
|
|
|
+ <div class="option_box">
|
|
|
+ <th:block th:if="${oneData.optCd2Arr.length > 0}" th:each="option, idx : ${oneData.optCd2Arr}">
|
|
|
+ <button type="button" class="btn btn_default" th:name="${oneData.ordDtlItemSq}" th:id="|${oneData.ordDtlItemSq}_${option}|" th:value="${option}" th:disabled="${#numbers.formatInteger(oneData.currStockQtyArr[idx.index], 0)} <= 0 or ${oneData.soldoutYnArr[idx.index] == 'Y'}" th:checked="${option == oneData.optCd2}" onclick="fnRadioOption(this);">
|
|
|
+ <span th:text="${option}"></span>
|
|
|
+ </button>
|
|
|
+ </th:block>
|
|
|
+ </div>
|
|
|
+ </li>
|
|
|
+ </th:block>
|
|
|
+ <!-- //자사일때 opt2 교환 -->
|
|
|
+ <!-- 입점일때 opt2 교환 -->
|
|
|
+ <th:block th:unless="${oneData.selfGoodsYn == 'Y'}">
|
|
|
+ <li>
|
|
|
+ <div class="option_name">
|
|
|
+ <span>
|
|
|
+ <em th:text="${oneData.itemNm}"></em> / <em th:text="${oneData.colorNm}"></em> / <em th:text="${oneData.optCd2}"></em>
|
|
|
+ </span>
|
|
|
+ </div>
|
|
|
+ <div class="option_select">
|
|
|
+ <div class="select_custom select_option">
|
|
|
+ <div class="combo">
|
|
|
+ <div class="select">선택</div>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ </li>
|
|
|
+ </th:block>
|
|
|
+ <!-- //입점일때 opt2 교환 -->
|
|
|
+ </ul>
|
|
|
+
|
|
|
+ </div>
|
|
|
+ </th:block>
|
|
|
</div>
|
|
|
</div>
|
|
|
<div class="modal-footer">
|
|
|
<div class="btn_group_flex">
|
|
|
- <div><button type="button" class="btn btn_dark"><span>옵션 저장</span></button></div>
|
|
|
+ <div><button type="button" class="btn btn_dark" onclick="fnSaveOption();"><span>옵션 저장</span></button></div>
|
|
|
</div>
|
|
|
</div>
|
|
|
+
|
|
|
<!-- 210408_ 추가 : 교환 옵션 선택 팝업 -->
|
|
|
<div id="exchangeOptionPop" class="popup_box exchangeOptionPop">
|
|
|
<div class="lap">
|
|
|
@@ -49,19 +64,86 @@
|
|
|
</div>
|
|
|
<div class="popup_con">
|
|
|
<div class="button_list">
|
|
|
- <button type="button"><span>95</span></button>
|
|
|
- <button type="button" disabled><span>105</span></button>
|
|
|
- <button type="button"><span>110</span></button>
|
|
|
- <button type="button"><span>115</span></button>
|
|
|
- <button type="button"><span>120</span></button>
|
|
|
- <button type="button"><span>FREE</span></button>
|
|
|
+ <th:block th:each="option, idx : ${oneData.optCd2Arr}">
|
|
|
+ <button type="button" th:disabled="${oneData.optCd2Arr.length} > 0 and (${#numbers.formatInteger(oneData.currStockQtyArr[idx.index],0)} <= 0 or ${oneData.soldoutYnArr[idx.index]} == 'Y')" th:attr="optCd2=${option}" onclick="fnSelectOption(this);">
|
|
|
+ <span th:text="${option}"></span>
|
|
|
+ </button>
|
|
|
+ </th:block>
|
|
|
+ </th:block>
|
|
|
</div>
|
|
|
</div>
|
|
|
</div>
|
|
|
</div>
|
|
|
<!-- //210408_ 추가 : 교환 옵션 선택 팝업 -->
|
|
|
-
|
|
|
-
|
|
|
+
|
|
|
<script th:inline="javascript">
|
|
|
-alert("A");
|
|
|
+var oneData1 = [[${oneData}]];
|
|
|
+var chgQty1 = [[${chgQty}]];
|
|
|
+
|
|
|
+$(document).ready( function() {
|
|
|
+
|
|
|
+});
|
|
|
+
|
|
|
+// 라디오 클릭 이벤트
|
|
|
+var fnRadioOption = function(param) {
|
|
|
+ $(param).parent().parent().parent().find('input[name=chgOptCd2]').val($(param).val());
|
|
|
+}
|
|
|
+
|
|
|
+// 셀렉트박스 클릭 이벤트
|
|
|
+var fnSelectOption = function(param) {
|
|
|
+ $("#exchangePop .option_list .option_select .select_custom.select_option .select").text($(param).attr('optCd2'));
|
|
|
+ $(param).parent().parent().find('input[name=chgOptCd2]').val($(param).attr('optCd2'));
|
|
|
+}
|
|
|
+
|
|
|
+// 옵션 저장 버튼 클릭 이벤트
|
|
|
+var fnSaveOption = function() {
|
|
|
+ // 변경 옵션 처리
|
|
|
+ let dataArr = [];
|
|
|
+
|
|
|
+ $.each($('#exchangePop input[name=chgOptCd2]'), function(idx, item) {
|
|
|
+ let ordDtlItemSq = $(item).attr('ordDtlItemSq');
|
|
|
+ let colorNm = $(item).attr('colorNm');
|
|
|
+ let itemNm = $(item).attr('itemNm');
|
|
|
+ let goodsType = $(item).attr('goodsType');
|
|
|
+ let chgOptCd2 = $(item).val();
|
|
|
+
|
|
|
+ let data = {};
|
|
|
+ data.ordDtlNo = oneData1.ordDtlNo;
|
|
|
+ data.ordDtlItemSq = ordDtlItemSq;
|
|
|
+ data.chgQty = chgQty1;
|
|
|
+ data.colorNm = colorNm;
|
|
|
+ data.itemNm = itemNm;
|
|
|
+ data.goodsType = goodsType;
|
|
|
+ data.chgOptCd2 = chgOptCd2;
|
|
|
+ dataArr.push(data);
|
|
|
+ });
|
|
|
+
|
|
|
+ fnChangeOptionCallback(dataArr);
|
|
|
+
|
|
|
+ $('.close-modal').trigger('click');
|
|
|
+}
|
|
|
+
|
|
|
+// 버튼 색
|
|
|
+$(document).on('click','.optionChangePop .option_box button',function(){
|
|
|
+ $('.optionChangePop .option_box button').removeClass('on');
|
|
|
+ $(this).addClass('on');
|
|
|
+});
|
|
|
+
|
|
|
+// 버튼 색
|
|
|
+$(document).on('click','.popup_box .button_list button',function(){
|
|
|
+ $('.popup_box .button_list button').removeClass('on');
|
|
|
+ $(this).addClass('on');
|
|
|
+});
|
|
|
+
|
|
|
+// 반품 사유 선택 팝업
|
|
|
+$(document).on("click",".select_custom.select_option",function(e){
|
|
|
+ $('#exchangeOptionPop').show().addClass("active");
|
|
|
+ $("body").css({"overflow":"hidden"});
|
|
|
+});
|
|
|
+
|
|
|
+//팝업_닫기
|
|
|
+$('.exchangeOptionPop .popup_close').on("click",function(){
|
|
|
+ $('.exchangeOptionPop').hide().removeClass('active');
|
|
|
+});
|
|
|
</script>
|
|
|
+
|