NoMemberCancelFormMob.html 22 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660
  1. <!DOCTYPE html>
  2. <html lang="ko" xmlns:th="http://www.thymeleaf.org" xmlns:layout="http://www.ultraq.net.nz/thymeleaf/layout" layout:decorator="mob/common/layout/NoMemberLayoutMob">
  3. <!--
  4. *******************************************************************************
  5. * @source : NoMemberCancelFormMob.html
  6. * @desc : 비회원 > 취소신청 Page
  7. *============================================================================
  8. * STYLE24
  9. * Copyright(C) 2021 TSIT, All rights reserved.
  10. *============================================================================
  11. * VER DATE AUTHOR DESCRIPTION
  12. * === =========== ========== =============================================
  13. * 1.0 2021.05.14 card007 최초 작성
  14. *******************************************************************************
  15. -->
  16. <body>
  17. <th:block layout:fragment="content">
  18. <main class="container my">
  19. <section class="content my_return">
  20. <form id="cancelForm" class="form_wrap">
  21. <input type="hidden" name="accountNo" th:value="${oneData.accountNo}"/>
  22. <input type="hidden" name="accountNm" th:value="${oneData.accountNm}"/>
  23. <input type="hidden" name="bankCd" th:value="${oneData.bankCd}"/>
  24. <div class="inner wide bg_beige">
  25. <div class="order_number">
  26. <dl class="clear">
  27. <dt>주문번호</dt>
  28. <dd th:text="${oneData.ordNo}"></dd>
  29. </dl>
  30. </div>
  31. </div>
  32. <div class="inner">
  33. <div class="part_goods">
  34. <div class="goods_top">
  35. <div class="goods_date">주문일<span class="date" th:text="${oneData.ordDt}"></span></div>
  36. </div>
  37. <!-- 취소상품목록 -->
  38. <th:block th:if="${cancelList.cancelList}" th:each="cancel, status : ${cancelList.cancelList}" th:with="imageUrl=${@environment.getProperty('upload.goods.view')}">
  39. <div class="goods_section">
  40. <div class="goods_detail">
  41. <a href="">
  42. <div class="thumb_box">
  43. <img th:src="${imageUrl + '/' + cancel.sysImgNm + '?RS=90'}" width="100%" alt="">
  44. </div>
  45. <div class="info_box">
  46. <div class="od_name">
  47. <div class="brand">
  48. <span th:text="${cancel.brandNm}"></span>
  49. <div class="badge_wrap">
  50. <em class="tag primary" th:if="${cancel.shotDelvYn == 'Y'}">총알배송</em>
  51. <em class="tag" th:if="${cancel.shotDelvYn == 'N' and cancel.selfGoodsYn == 'Y'}">STYLE24 일반배송</em>
  52. <em class="tag" th:if="${cancel.selfGoodsYn == 'N'}">업체직배송</em>
  53. </div>
  54. </div>
  55. <div class="name" th:text="${cancel.goodsNm}"></div>
  56. </div>
  57. <div class="od_opt">
  58. <div class="option">
  59. <th:block th:if="${cancel.goodsType == 'G056_S'}" th:each="option, status : ${cancel.colorNmArr}">
  60. <em th:text="${cancel.itemNmArr[status.index]}"></em>
  61. <em th:text="${cancel.optCd2Arr[status.index]}"></em>
  62. </th:block>
  63. <th:block th:unless="${cancel.goodsType == 'G056_S'}">
  64. <em th:text="${cancel.colorNm}"></em>
  65. <em th:text="${cancel.optCd2}"></em>
  66. </th:block>
  67. </div>
  68. </div>
  69. <div class="od_calc">
  70. <th:block th:if="${(cancel.ordAmt - cancel.cnclRtnAmt) > (cancel.realOrdAmt + cancel.pntDcAmt + cancel.gfcdUseAmt)}">
  71. <p class="sale_price">
  72. <del><em th:text="${#numbers.formatInteger(cancel.ordAmt - cancel.cnclRtnAmt, 1, 'COMMA')}"></em>원</del>
  73. </p>
  74. </th:block>
  75. <p class="price">
  76. <span class="selling_price">
  77. <em th:text="${#numbers.formatInteger(cancel.realOrdAmt + cancel.pntDcAmt + cancel.gfcdUseAmt, 1, 'COMMA')}"></em>원
  78. </span>
  79. </p>
  80. </div>
  81. </div>
  82. </a>
  83. </div>
  84. <div class="goods_select">
  85. <div class="select_custom select_count">
  86. <div class="combo">
  87. <input type="hidden" name="chgQty" value="0" th:attr="ordDtlNo=${cancel.ordDtlNo}, ordCanChgQty=${cancel.ordCanChgQty}"/>
  88. <div class="select">수량 0개</div>
  89. </div>
  90. </div>
  91. </div>
  92. <th:block th:if="${#lists.size(cancelList.cancelList) == status.count}">
  93. <div class="goods_txt">
  94. <p class="cf_txt cf_desc">취소하실 상품의 수량을 선택하신 후<br>취소 신청을 하실 수 있습니다.</p>
  95. </div>
  96. </th:block>
  97. </div>
  98. </th:block>
  99. <!-- //취소상품목록 -->
  100. </div>
  101. </div>
  102. <div class="inner">
  103. <div class="tbl_wrap pay_wrap">
  104. <div class="tbl_tit">
  105. <h3>환불 정보</h3>
  106. <strong class="pay"><span id="returnAmt">0</span>원</strong>
  107. </div>
  108. <div class="tbl type1">
  109. <table>
  110. <colgroup>
  111. <col width="227">
  112. <col width="*">
  113. </colgroup>
  114. <tr>
  115. <td>
  116. <dl class="refund_deduct">
  117. <div>
  118. <dt>상품 취소 금액</dt>
  119. <dd>
  120. <div>
  121. <span id="goodsCancelAmt">0</span>원
  122. </div>
  123. </dd>
  124. </div>
  125. <div>
  126. <dt>배송비</dt>
  127. <dd>
  128. <div>
  129. <span id="deliveryFee">0</span>원
  130. </div>
  131. </dd>
  132. </div>
  133. <div>
  134. <dt>할인 금액 차감</dt>
  135. <dd>
  136. <div>
  137. <span id="deductDcAmt">0</span>원
  138. </div>
  139. </dd>
  140. </div>
  141. </dl>
  142. <dl class="refund_detail">
  143. <div>
  144. <dt>환불 수단</dt>
  145. <dd>
  146. <div>
  147. <span th:if="${paymentInfo.pgGb == 'KCP'}" th:text="${paymentInfo.payMeansNm}"></span>
  148. <span th:if="${paymentInfo.pgGb == 'NAVER'}" th:text="|네이버페이|"></span>
  149. <span th:if="${paymentInfo.pgGb == 'KAKAO'}" th:text="|카카오페이|"></span>
  150. <span th:if="${paymentInfo.pgGb == 'PAYCO'}" th:text="|PAYCO|"></span>
  151. </div>
  152. </dd>
  153. </div>
  154. <div>
  155. <dt>결제금액 환불</dt>
  156. <dd>
  157. <div>
  158. <span id="refundPayAmt">0</span>원
  159. </div>
  160. </dd>
  161. </div>
  162. <div>
  163. <dt>포인트 환불</dt>
  164. <dd>
  165. <div>
  166. <span id="refundPoint">0</span>P
  167. </div>
  168. </dd>
  169. </div>
  170. <div>
  171. <dt>상품권 환불</dt>
  172. <dd>
  173. <div>
  174. <span id="refundGiftCard">0</span>원
  175. </div>
  176. </dd>
  177. </div>
  178. </dl>
  179. </td>
  180. </tr>
  181. </table>
  182. </div>
  183. </div>
  184. <div class="desc_txt">카드사로 결제 취소 요청이 전달된 후 환불까지는 평일 기준 3 ~7일이 소요될 수 있습니다.</div>
  185. <div class="required_group" id="addDeliveryFee" style="display:none">
  186. <p>배송비 <span class="c_primary" id="addPayCost">0원</span> 추가 결제가 필요합니다.</p>
  187. </div>
  188. <div class="btn_group btn_group_flex">
  189. <div><button type="button" class="btn btn_default" onclick="cfnGoToPage(_PAGE_NOMEMBER_ORDER_LIST);"><span>취소</span></button></div>
  190. <div><button type="button" class="btn btn_dark" onclick="fnCancel();"><span>주문 취소</span></button></div>
  191. </div>
  192. </div>
  193. </form>
  194. </section>
  195. </main>
  196. <!-- 210408_취소 수량 선택 팝업 -->
  197. <th:block th:if="${cancelList.cancelList}" th:each="cancel, status : ${cancelList.cancelList}">
  198. <div class="popup_box cancelCountPop">
  199. <div class="lap">
  200. <div class="popup_close">카테고리닫기</div>
  201. <div class="popup_head sr-only">
  202. <h2 class="">주문상태 선택 팝업</h2>
  203. </div>
  204. <div class="popup_con">
  205. <div class="button_list clear">
  206. <button type="button" qty=0 onclick="fnChangeCancelQty(this);"><span>수량 0개</span></button>
  207. <th:block th:each="num : ${#numbers.sequence(1, cancel.ordCanChgQty)}">
  208. <button type="button" th:qty="${num}" onclick="fnChangeCancelQty(this);"><span th:text="|수량 ${num}개|"></span></button>
  209. </th:block>
  210. <input type="hidden" name="ordDtlNo" th:value="${cancel.ordDtlNo}">
  211. </div>
  212. </div>
  213. </div>
  214. </div>
  215. </th:block>
  216. <!-- //210408_취소 수량 선택 팝업 -->
  217. <!-- 210408_ 추가 : 환불 계좌 등록 팝업 -->
  218. <div id="refundAccountPop" class="popup_box refundAccountPop">
  219. <div class="lap">
  220. <div class="popup_close">카테고리닫기</div>
  221. <div class="popup_head sr-only">
  222. <h2 class="">환불 계좌 등록 팝업</h2>
  223. </div>
  224. <div class="popup_con">
  225. <div class="tbl_wrap">
  226. <div class="tbl_tit">
  227. <h3>환불 계좌 등록</h3>
  228. </div>
  229. <div class="tbl type1">
  230. <table>
  231. <colgroup>
  232. <col width="*">
  233. </colgroup>
  234. <tbody>
  235. <tr>
  236. <th>예금주</th>
  237. <td>
  238. <div class="form_field">
  239. <input type="text" name="accountNm" class="form_control" th:value="${ordNm}" placeholder="이름를 입력해 주세요" readonly="readonly">
  240. </div>
  241. </td>
  242. </tr>
  243. <tr>
  244. <th>은행명</th>
  245. <td>
  246. <div class="form_field">
  247. <div class="select_custom select_bank">
  248. <div class="combo">
  249. <div class="select">선택</div>
  250. <input type="hidden" name="bankCd" value=""/>
  251. </div>
  252. </div>
  253. </div>
  254. </td>
  255. </tr>
  256. <tr>
  257. <th>계좌번호</th>
  258. <td>
  259. <div class="input_wrap certi_wrap">
  260. <input type="tel" class="form_control" value="" placeholder="">
  261. <button type="button" id="btn_bank_certi" class="btn btn_dark"><span>계좌인증</span></button>
  262. </div>
  263. </td>
  264. </tr>
  265. </tbody>
  266. </table>
  267. </div>
  268. </div>
  269. </div>
  270. <div class="pop_foot">
  271. <div class="btn_group_flex">
  272. <div class="">
  273. <button type="submit" id="btn_bank_return" class="btn btn_dark btn_block"><span>계좌 등록 후 환불 신청</span></button>
  274. </div>
  275. </div>
  276. </div>
  277. </div>
  278. </div>
  279. <!-- //210408_ 추가 : 환불 계좌 등록 토스트 팝업 -->
  280. <!-- 210408_ 추가 : 은행 선택 팝업 -->
  281. <div id="refundBankPop" class="popup_box refundBankPop">
  282. <div class="lap">
  283. <div class="popup_close">카테고리닫기</div>
  284. <div class="popup_head sr-only">
  285. <h2 class="">은행 선택 팝업</h2>
  286. </div>
  287. <div class="popup_con">
  288. <div class="button_list clear">
  289. <th:block th:if="${bankList}" th:each="oneData, status : ${bankList}">
  290. <button type="button" th:id="|bankCd_${oneData.cd}|"><span th:text="${oneData.cdNm}"></span></button>
  291. </th:block>
  292. </div>
  293. </div>
  294. </div>
  295. </div>
  296. <!-- //210408_ 추가 : 은행 선택 팝업 -->
  297. <script src="/ux/plugins/gaga/gaga.paging.js"></script>
  298. <script th:inline="javascript">
  299. let cancelList = [[${cancelList}]];
  300. let oneData = [[${oneData}]];
  301. let paymentInfo = [[${paymentInfo}]];
  302. let addPayCost = 0;
  303. $(document).ready(function() {
  304. // 타이틀명
  305. $('#htopTitle').text('주문취소');
  306. });
  307. // 취소수량버튼기능
  308. $("#cancelForm .select_custom.select_count").each(function(idx){
  309. $(this).on("click", function(){
  310. // 전체비활성화
  311. $(".cancelCountPop").hide();
  312. // 수량팝업활성화
  313. $(".cancelCountPop").eq(idx).show().addClass("active");
  314. $("body").css({"overflow":"hidden"});
  315. });
  316. });
  317. // 취소 처리
  318. var fnCancel = function() {
  319. // 주문상세번호 및 취소 수량 설정
  320. let ordDtlNoArr = [];
  321. let cnclRtnReqQtyArr = [];
  322. let chkQty = 0;
  323. $.each($('#cancelForm input[name=chgQty]'), function(idx, item) {
  324. let chgQty = $(item).val();
  325. let ordDtlNo = $(item).attr('ordDtlNo');
  326. ordDtlNoArr.push(Number(ordDtlNo));
  327. cnclRtnReqQtyArr.push(Number(chgQty));
  328. chkQty += chgQty;
  329. });
  330. // 취소 수량 체크
  331. if (chkQty == 0) {
  332. mcxDialog.alert('취소하실 상품의 수량을 선택해주세요.');
  333. return false;
  334. }
  335. // 환불계좌 체크
  336. let accountNo = $('#cancelForm input[name=accountNo]').val();
  337. let accountNm = $('#cancelForm input[name=accountNm]').val();
  338. let bankCd = $('#cancelForm input[name=bankCd]').val();
  339. // 무통장입금, 결제완료 일때 환불계좌정보 체크
  340. if (paymentInfo.payMeans == 'G014_20' && paymentInfo.payStat == 'G016_30' && (gagajf.isNull(accountNo) || gagajf.isNull(accountNm) || gagajf.isNull(bankCd))) {
  341. let data = {};
  342. data.ordNo = oneData.ordNo;
  343. data.accountNm = oneData.accountNm;
  344. $('#refundAccountPop').show().addClass("active");
  345. $("body").css({"overflow":"hidden"});
  346. return false;
  347. }
  348. // 취소요청 데이터 설정
  349. let url = '/noMember/cancel';
  350. // 취소 처리
  351. let data = {};
  352. data.ordNo = oneData.ordNo;
  353. data.chgReason = 'G686_10';
  354. data.chgReasonNm = '고객변심';
  355. data.accountNo = accountNo;
  356. data.accountNm = accountNm;
  357. data.bankCd = bankCd;
  358. data.isCustomer = 'Y';
  359. data.reqGbn = 'cnclComplete';
  360. data.pgTid = paymentInfo.pgTid;
  361. data.payAmt = paymentInfo.payAmt;
  362. data.ordDtlNoArr = ordDtlNoArr;
  363. data.cnclRtnReqQtyArr = cnclRtnReqQtyArr;
  364. let jsonData = JSON.stringify(data);
  365. // 취소 처리 가능 여부 조회
  366. gagajf.ajaxJsonSubmit('/noMember/wms/cancel/available', jsonData, function(result) {
  367. if (result.cancelYn == 'Y') {
  368. // 취소 처리
  369. gagajf.ajaxJsonSubmit(url, jsonData, function(result) {
  370. cfnGoToPage(_PAGE_NOMEMBER_ORDER_LIST);
  371. });
  372. } else {
  373. mcxDialog.alert('이미 배송처리 되어 취소 처리에 실패 하였습니다.');
  374. }
  375. });
  376. }
  377. // 취소 수량 변경 이벤트 처리
  378. var fnChangeCancelQty = function(param) {
  379. let url = '/noMember/cancel/refund/amt/calculate';
  380. // 취소수량설정
  381. if (param != null) {
  382. $("#cancelForm input[name=chgQty]").each(function(idx){
  383. var ordDtlNo = $(this).attr("ordDtlNo");
  384. if (ordDtlNo == $(param).parent().find("input[name=ordDtlNo]").val()) {
  385. $(this).val($(param).attr("qty"));
  386. $(this).parent().find(".select").text($(param).find("span").text());
  387. }
  388. });
  389. }
  390. // 취소 수량 설정
  391. let cnclRtnReqQtyArr = [];
  392. let ordDtlNoArr = [];
  393. let ordCanChgQtyArr = [];
  394. $.each($('#cancelForm input[name=chgQty]'), function(idx, item) {
  395. let chgQty = $(item).val();
  396. let ordDtlNo = $(item).attr('ordDtlNo');
  397. let ordCanChgQty = $(item).attr('ordCanChgQty');
  398. cnclRtnReqQtyArr.push(Number(chgQty));
  399. ordDtlNoArr.push(Number(ordDtlNo));
  400. ordCanChgQtyArr.push(Number(ordCanChgQty));
  401. });
  402. let data = {};
  403. data.ordNo = oneData.ordNo;
  404. data.ordDtlNoArr = ordDtlNoArr;
  405. data.cnclRtnReqQtyArr = cnclRtnReqQtyArr;
  406. let jsonData = JSON.stringify(data);
  407. gagajf.ajaxJsonSubmit(url, jsonData, function (result) {
  408. let refundPoint = Number(result.spanPntDcAmt); // 환불 포인트 금액
  409. let refundGiftCard = Number(result.spanGfcdUseAmt); // 환불 상품권 금액
  410. let spanCnclRtnAmt = Number(result.spanCnclRtnAmt); // 환불 상품 금액
  411. let spanCpnDcAmt = Number(result.spanCpnDcAmt); // 쿠폰 할인 차감 금액
  412. let spanTmtbDcAmt = Number(result.spanTmtbDcAmt); // 다다익선 할인 차감 금액
  413. let spanPrePntDcAmt = Number(result.spanPrePntDcAmt); // 선포인트 할인 차감 금액
  414. let sumDeliveryFee = Number(result.sumDeliveryFee); // 원주문배송비
  415. let spanTotDeliveryFee = Number(result.spanTotDeliveryFee); // 추가배송비 (무료배송비 허들 깨져서 발생한 배송비)
  416. let spanRefundAmt = Number(result.spanRefundAmt); // 환불 예정 금액
  417. let goodsCancelAmt = spanCnclRtnAmt; // 상품취소금액
  418. let deliveryFee = sumDeliveryFee - spanTotDeliveryFee; // 배송비 (마지막 취소 시 돌려줘야할 원주문 배송비 - 추가배송비)
  419. let deductDcAmt = 0 - spanCpnDcAmt - spanTmtbDcAmt - spanPrePntDcAmt; // 할인금액 차감 (쿠폰+다다익선+선포인트)
  420. let refundPayAmt = spanRefundAmt; // 결제금액 환불 (환불상품금액 - 할인차감금액 - 배송비)
  421. let returnAmt = refundPayAmt + refundPoint + refundGiftCard; // 환불예정금액
  422. // 추가배송비 영역 설정
  423. if (refundPayAmt < 0) {
  424. //refundPayAmt = spanRefundAmt;
  425. //$('#addDeliveryFee').css('display', '');
  426. //$('#addPayCost').text(spanTotDeliveryFee.addComma() + '원');
  427. addPayCost = spanTotDeliveryFee;
  428. } else {
  429. addPayCost = 0;
  430. }
  431. // 금액 설정
  432. $('#returnAmt').text(returnAmt.addComma());
  433. $('#goodsCancelAmt').text(goodsCancelAmt.addComma());
  434. $('#deliveryFee').text(deliveryFee.addComma());
  435. $('#deductDcAmt').text(deductDcAmt.addComma());
  436. $('#refundPayAmt').text(refundPayAmt.addComma());
  437. $('#refundPoint').text(refundPoint.addComma());
  438. $('#refundGiftCard').text(refundGiftCard.addComma());
  439. });
  440. // 팝업 닫기
  441. $(".popup_close").trigger("click");
  442. }
  443. let isValid = false;
  444. // 계좌인증
  445. $('#btn_bank_certi').on('click', function () {
  446. if (gagajf.isNull($('#refundAccountPop input[name=bankCd]').val())) {
  447. mcxDialog.alert('은행을 선택해주세요.');
  448. return false;
  449. }
  450. if (gagajf.isNull($('#refundAccountPop input[name=accountNo]').val())) {
  451. mcxDialog.alert('계좌번호를 입력해주세요.');
  452. return false;
  453. }
  454. if (!isValid) {
  455. let url = '/noMember/account/check';
  456. let accountNm = $('#refundAccountPop input[name=accountNm]').val();
  457. let accountNo = $('#refundAccountPop input[name=accountNo]').val();
  458. let bankCd = $('#refundAccountPop input[name=bankCd]').val();
  459. let data = {};
  460. data.accountNm = accountNm;
  461. data.accountNo = accountNo;
  462. data.bankCd = bankCd;
  463. data.ordNo = ordNo;
  464. let jsonData = JSON.stringify(data);
  465. gagajf.ajaxJsonSubmit(url, jsonData, function (result) {
  466. isValid = result.isValid;
  467. if (isValid) {
  468. mcxDialog.alert('계좌인증에 성공했습니다.');
  469. // 계좌인증 성공 시 Disabled 처리
  470. $('#refundAccountPop .select_custom.select_bank').attr('disabled', true);
  471. $('#refundAccountPop input[name=accountNo]').attr('disabled', true);
  472. return false;
  473. } else {
  474. mcxDialog.alert('계좌정보를 다시 확인해주세요.');
  475. return false;
  476. }
  477. });
  478. }
  479. });
  480. //계좌등록 후 환불신청 버튼 클릭 이벤트
  481. $('#btn_bank_return').click(function() {
  482. if (isValid) {
  483. let accountNm = $('#refundAccountPop input[name=accountNm]').val();
  484. let accountNo = $('#refundAccountPop input[name=accountNo]').val();
  485. let bankCd = $('#refundAccountPop input[name=bankCd]').val();
  486. // 부모창의 input 값으로 환불계좌정보 설정
  487. $('#returnForm input[name=accountNo]').val(accountNo);
  488. $('#returnForm input[name=accountNm]').val(accountNm);
  489. $('#returnForm input[name=bankCd]').val(bankCd);
  490. // 팝업 닫기
  491. $(".close-modal").trigger("click");
  492. // 취소신청
  493. fnCancel();
  494. } else {
  495. mcxDialog.alert('계좌인증이 필요합니다.');
  496. }
  497. });
  498. //팝업_닫기
  499. $('.popup_close').on("click",function(){
  500. $('.popup_box').hide().removeClass('active');
  501. $("body").css({"overflow":"visible"});
  502. });
  503. </script>
  504. <script>
  505. // 버튼 색
  506. $(document).on('click','.popup_box .button_list button',function(){
  507. $('.popup_box .button_list button').removeClass('on');
  508. $(this).addClass('on');
  509. });
  510. // 210408_송장번호 input 글자 수 제한
  511. function handleOnInput(el, maxlength) {
  512. if(el.value.length > maxlength) {
  513. el.value = el.value.substr(0, maxlength);
  514. }
  515. }
  516. $(document).ready(function(){
  517. /*
  518. // 세부 사유 글자 수 제한
  519. $('.doc_return').keyup(function(e){
  520. var content = $(this).val();
  521. $('#return_cnt').html(content.length);
  522. if (content.length > 200){
  523. mcxDialog.alert("최대 200자까지 입력 가능합니다."); //210420_수정 : 시스템 alert -> dialog 변경.
  524. $(this).val(content.substring(0, 200));
  525. $('#return_cnt').html("200");
  526. }
  527. });
  528. //210408_추가 : 스크립트 추가.
  529. //반품회수방법 선택 스크립트 추가
  530. $(document).on('change','.my_return .retrieve_method #rdi_retrieve_visit',function(e){
  531. $('.my_return .retrieve_box.direct').hide();
  532. $('.my_return .retrieve_box.visit').show();
  533. return false;
  534. }).on('change','.my_return .retrieve_method #rdi_retrieve_direct',function(e){
  535. $('.my_return .retrieve_box.visit').hide();
  536. $('.my_return .retrieve_box.direct').show();
  537. return false;
  538. });
  539. //버튼 색
  540. $(document).on('click','.popup_box .button_list button',function(){
  541. $('.popup_box .button_list button').removeClass('on');
  542. $(this).addClass('on');
  543. });
  544. // 반품 수량 선택 팝업
  545. //$(document).on("click",".select_custom.select_count",function(e){
  546. //$('#returnCountPop').show().addClass("active");
  547. //$("body").css({"overflow":"hidden"});
  548. //});
  549. //반품 사유 선택 팝업
  550. $(document).on("click",".select_custom.select_return",function(e){
  551. $('#returnReasonPop').show().addClass("active");
  552. $("body").css({"overflow":"hidden"});
  553. });
  554. //팝업_닫기
  555. $('.popup_close').on("click",function(){
  556. $('.popup_box').hide().removeClass('active');
  557. $("body").css({"overflow":"visible"});
  558. });
  559. //배송지추가_팝업
  560. $(document).on('click','#btn_adrsAdd_pop',function(e){
  561. $("#adrsAddPop").modal("show");
  562. return false;
  563. });
  564. $("#adrsAddPop_close").click(function() {
  565. $("#adrsAddPop").modal("hide");
  566. });
  567. //배송지정보_팝업
  568. $(document).on('click','#btn_adrsChange_pop',function(e){
  569. $("#adrsChangePop").modal("show");
  570. return false;
  571. });
  572. $("#adrsChangePop_close").click(function() {
  573. $("#adrsChangePop").modal("hide");
  574. });
  575. //배송지수정_팝업
  576. $(document).on('click','#btn_addrModify_pop',function(e){
  577. $("#adrsModifyPop").modal("show");
  578. return false;
  579. });
  580. $("#adrsModifyPop_close").click(function() {
  581. $("#adrsModifyPop").modal("hide");
  582. });
  583. $(document).on("click", "#btn_order_return", function(){
  584. mcxDialog.alert("반품 신청이 접수되었습니다.", {
  585. //alert("반품하실 상품의 수량을 선택해주세요.") : 클릭 시 반품 수량을 모두 0개로 선택한 경우
  586. //alert("반품 사유를 선택해주세요.") : 반품 사유를 선택하지 않는 경우
  587. sureBtnText: "확인", // Confirmation button text
  588. });
  589. });
  590. */
  591. });
  592. </script>
  593. </th:block>
  594. </body>
  595. </html>