NoMemberOrderDetailFormWeb.html 23 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519
  1. <!DOCTYPE html>
  2. <html lang="ko"
  3. xmlns:th="http://www.thymeleaf.org"
  4. xmlns:layout="http://www.ultraq.net.nz/thymeleaf/layout"
  5. layout:decorator="web/common/layout/NoMemberLayoutWeb">
  6. <!--
  7. *******************************************************************************
  8. * @source : NoMemberOrderDetailFormWeb.html
  9. * @desc : 비회원주문 > 주문상세 Page
  10. *============================================================================
  11. * STYLE24
  12. * Copyright(C) 2021 TSIT, All rights reserved.
  13. *============================================================================
  14. * VER DATE AUTHOR DESCRIPTION
  15. * === =========== ========== =============================================
  16. * 1.0 2021.04.28 card007 최초 작성
  17. *******************************************************************************
  18. -->
  19. <body>
  20. <th:block layout:fragment="content">
  21. <div class="content myOrderView">
  22. <div class="cont_body">
  23. <!-- CONT-BODY -->
  24. <div class="lnb">
  25. <div class="lnb_tit">
  26. <h2>마이페이지</h2>
  27. </div>
  28. <div class="lnb_list">
  29. <ul id="mypageLnbList"></ul>
  30. </div>
  31. </div>
  32. <div class="cont">
  33. <form id="orderDetailForm">
  34. <div class="sec_head">
  35. <h3 class="subH1">주문상세</h3>
  36. <span class="order_number">주문번호&nbsp;:&nbsp;<em th:text="${ordNo}"></em></span>
  37. <button type="button" id="btn_order_cancel" class="btn_underline" onclick="fnDeleteOrder('noMember')"><span>삭제하기</span></button>
  38. </div>
  39. <div class="sec_body">
  40. <th:block th:if="${orderList}" th:each="order, status : ${orderList}">
  41. <input type="hidden" name="accountNo" th:value="${order.oneData.accountNo}"/>
  42. <input type="hidden" name="accountNm" th:value="${order.oneData.accountNm}"/>
  43. <input type="hidden" name="bankCd" th:value="${order.oneData.bankCd}"/>
  44. <input type="hidden" name="delvMemo" th:value="${deliveryAddrInfo.delvMemo}"/>
  45. <div class="part_goods">
  46. <div class="goods_head">
  47. <p th:unless="${order.giftPackYn == 'Y'}">주문일 <span th:text="${order.ordDt}"></span></p>
  48. <p th:if="${order.giftPackYn == 'Y'}">선물일 <span th:text="${order.ordDt}"></span></p>
  49. <li><a href="javascript:void(0)" th:if="${order.allCanYn == 'Y' and order.ordReqChgQty == 0}" onclick="fnAllCancel();">주문전체취소</a></li>
  50. </div>
  51. <div class="goods_cont">
  52. <!-- 주문상품 -->
  53. <th:block th:if="${order.ordDtlList}" th:each="ordDtl, status : ${order.ordDtlList}" th:with="imageUrl=${@environment.getProperty('upload.goods.view')}">
  54. <div class="goods_info">
  55. <div class="order_desc">
  56. <div class="goods_box">
  57. <input type="hidden" name="ordDtlNoArr" th:value="${ordDtl.ordDtlNo}"/>
  58. <input type="hidden" name="cnclRtnReqQtyArr" th:value="${ordDtl.ordQty - ordDtl.cnclRtnQty}"/>
  59. <div class="gd_item">
  60. <a href="javascript:void(0)" th:attr="goodsCd=${ordDtl.goodsCd}" onclick="fnGoToGoodsDetail(this)">
  61. <span class="thumb">
  62. <img th:src="${imageUrl + '/' + ordDtl.sysImgNm}" width="100%" alt="">
  63. </span>
  64. <p>
  65. <span class="brand" th:text="${ordDtl.brandNm}"></span>
  66. <span class="tag primary" th:if="${ordDtl.shotDelvYn == 'Y'}">총알배송</span>
  67. <span class="tag" th:if="${ordDtl.shotDelvYn == 'N' and ordDtl.selfGoodsYn == 'Y'}">STYLE24 일반배송</span>
  68. <span class="tag" th:if="${ordDtl.selfGoodsYn == 'N'}">업체직배송</span>
  69. </p>
  70. <p>
  71. <span class="name" th:text="${ordDtl.goodsNm}"></span>
  72. </p>
  73. </a>
  74. </div>
  75. <div class="gd_opt">
  76. <div class="option_wrap">
  77. <span class="title sr-only">주문 옵션</span>
  78. <span class="option" th:if="${ordDtl.goodsType == 'G056_S'}" th:each="option, status : ${ordDtl.colorNmArr}" th:text="|${ordDtl.itemNmArr[status.index]} / ${option} / ${ordDtl.optCd2Arr[status.index]}|"></span>
  79. <span class="option" th:unless="${ordDtl.goodsType == 'G056_S'}" th:text="|${ordDtl.colorNm} / ${ordDtl.optCd2}|"></span>
  80. </div>
  81. </div>
  82. <div class="gd_calc">
  83. <p>
  84. <span class="count"><em th:text="${ordDtl.ordQty - ordDtl.cnclRtnQty}"></em>개</span>
  85. </p>
  86. <p>
  87. <span class="price_org" th:if="${(ordDtl.ordAmt - ordDtl.cnclRtnAmt) > (ordDtl.realOrdAmt + ordDtl.pntDcAmt + ordDtl.gfcdUseAmt)}"><em th:text="${#numbers.formatInteger(ordDtl.ordAmt - ordDtl.cnclRtnAmt, 1, 'COMMA')}"></em>원</span>
  88. <span class="price_sale"><em th:text="${#numbers.formatInteger(ordDtl.realOrdAmt + ordDtl.pntDcAmt + ordDtl.gfcdUseAmt, 1, 'COMMA')}"></em>원</span>
  89. </p>
  90. </div>
  91. </div>
  92. <div class="status_box">
  93. <p th:text="${ordDtl.ordDtlStatNm}"></p>
  94. </div>
  95. <div class="button_box">
  96. <!-- 주문취소 버튼(입금대기, 결제완료, 상품준비중, 출고처지정, 배송준비중) -->
  97. <th:block th:if="${ordDtl.payStat != 'G016_10' && (ordDtl.ordDtlStat == 'G013_10' or ordDtl.ordDtlStat == 'G013_20' or ordDtl.ordDtlStat == 'G013_30' or ordDtl.ordDtlStat == 'G013_35' or ordDtl.ordDtlStat == 'G013_40')}">
  98. <p><button type="button" class="btn btn_default btn_sm" th:attr="ordNo=${ordDtl.ordNo}, ordDtlNo=${ordDtl.ordDtlNo}, delvFeeCd=${ordDtl.delvFeeCd}, ordCanChgQty=${ordDtl.ordCanChgQty}" onclick="fnCreateChange(this, 'cancel', 'noMember');"><span>주문 취소</span></button></p>
  99. </th:block>
  100. <!-- 교환/반품 신청 버튼(배송중, 출고완료, 배송완료) -->
  101. <th:block th:if="${ordDtl.ordDtlStat == 'G013_50' or ordDtl.ordDtlStat == 'G013_55' or ordDtl.ordDtlStat == 'G013_60'}">
  102. <!-- 교환/반품 가능한 상품 -->
  103. <th:block th:if="${ordDtl.changeableYn == 'Y' and ordDtl.returnableYn == 'Y'}">
  104. <p><button type="button" class="btn btn_default btn_sm" th:attr="ordNo=${ordDtl.ordNo}, ordDtlNo=${ordDtl.ordDtlNo}, delvFeeCd=${ordDtl.delvFeeCd}, ordCanChgQty=${ordDtl.ordCanChgQty}" onclick="fnCreateChange(this, 'exchange', 'noMember');"><span>교환 신청</span></button></p>
  105. <p><button type="button" class="btn btn_default btn_sm" th:attr="ordNo=${ordDtl.ordNo}, ordDtlNo=${ordDtl.ordDtlNo}, delvFeeCd=${ordDtl.delvFeeCd}, ordCanChgQty=${ordDtl.ordCanChgQty}" onclick="fnCreateChange(this, 'return', 'noMember');"><span>반품 신청</span></button></p>
  106. </th:block>
  107. <!-- 교환 신청 불가 상품 -->
  108. <th:block th:if="${ordDtl.changeableYn == 'N' and ordDtl.returnableYn == 'Y'}">
  109. <p><button type="button" class="btn btn_default btn_sm" th:attr="ordNo=${ordDtl.ordNo}, ordDtlNo=${ordDtl.ordDtlNo}, delvFeeCd=${ordDtl.delvFeeCd}, ordCanChgQty=${ordDtl.ordCanChgQty}" onclick="fnCreateChange(this, 'return', 'noMember');"><span>반품 신청</span></button></p>
  110. </th:block>
  111. <!-- 반품 신청 불가 상품 -->
  112. <th:block th:if="${ordDtl.changeableYn == 'Y' and ordDtl.returnableYn == 'N'}">
  113. <p><button type="button" class="btn btn_default btn_sm" th:attr="ordNo=${ordDtl.ordNo}, ordDtlNo=${ordDtl.ordDtlNo}, delvFeeCd=${ordDtl.delvFeeCd}, ordCanChgQty=${ordDtl.ordCanChgQty}" onclick="fnCreateChange(this, 'exchange', 'noMember');"><span>교환 신청</span></button></p>
  114. </th:block>
  115. <!-- 교환/반품 신청 불가 상품 -->
  116. <th:block th:if="${ordDtl.changeableYn == 'N' and ordDtl.returnableYn == 'N'}">
  117. </th:block>
  118. </th:block>
  119. <!-- 배송조회 버튼(배송중) -->
  120. <th:block th:if="${ordDtl.ordDtlStat == 'G013_50' or ordDtl.ordDtlStat == 'G013_55'}">
  121. <p><button type="button" class="btn btn_default btn_sm" th:attr="ordNo=${ordDtl.ordNo}, ordDtlNo=${ordDtl.ordDtlNo}, shipCompCd=${ordDtl.shipCompCd}, invoiceNo=${ordDtl.invoiceNo}" onclick="fnGoToDelivery(this, 'noMember');"><span>배송 조회</span></button></p>
  122. </th:block>
  123. <!-- 쇼핑백담기 버튼(구매확정) -->
  124. <th:block th:if="${ordDtl.ordDtlStat == 'G013_70'}">
  125. <p><button type="button" class="btn btn_default btn_sm" th:attr="ordNo=${ordDtl.ordNo}, ordDtlNo=${ordDtl.ordDtlNo}" onclick="fnCreateCart(this);"><span>쇼핑백 담기</span></button></p>
  126. </th:block>
  127. </div>
  128. </div>
  129. <!-- 주문 접수 -->
  130. <div class="order_text" th:if="${ordDtl.ordDtlStat == 'G013_10'}">
  131. <p>주문이 완료되어 결제를 기다리고 있습니다.</p>
  132. <!-- 예약 상품 -->
  133. <p th:if="${!#strings.isEmpty(ordDtl.delvResDt)}" th:text="|예약판매 상품으로${ordDtl.delvResDt} 출고 예정입니다.|"></p>
  134. </div>
  135. <!-- 결제 완료 -->
  136. <div class="order_text" th:if="${ordDtl.ordDtlStat == 'G013_20' and !#strings.isEmpty(ordDtl.delvResDt)}">
  137. <!-- 예약 상품 -->
  138. <p th:text="|예약판매 상품으로${ordDtl.delvResDt} 출고 예정입니다.|"></p>
  139. </div>
  140. <!-- 상품준비중 -->
  141. <div class="order_text" th:if="${ordDtl.ordDtlStat == 'G013_30'}">
  142. <p>배송할 상품을 준비 중입니다.</p>
  143. <!-- 예약 상품 -->
  144. <p th:if="${!#strings.isEmpty(ordDtl.delvResDt)}" th:text="|예약판매 상품으로${ordDtl.delvResDt} 출고 예정입니다.|"></p>
  145. </div>
  146. <!-- 배송준비중 -->
  147. <div class="order_text" th:if="${ordDtl.ordDtlStat == 'G013_40'}">
  148. <p>상품 준비가 완료되어 곧 배송될 예정입니다.</p>
  149. <!-- 예약 상품 -->
  150. <p th:if="${!#strings.isEmpty(ordDtl.delvResDt)}" th:text="|예약판매 상품으로${ordDtl.delvResDt} 출고 예정입니다.|"></p>
  151. </div>
  152. <!-- 배송중 -->
  153. <div class="order_text" th:if="${(ordDtl.ordDtlStat == 'G013_50' or ordDtl.ordDtlStat == 'G013_55') and (ordDtl.changeableYn == 'N' or ordDtl.returnableYn == 'N')}">
  154. <p th:if="${ordDtl.changeableYn == 'N' and ordDtl.returnableYn == 'Y'}">해당 상품은 교환이 불가능한 상품입니다.</p>
  155. <p th:if="${ordDtl.changeableYn == 'Y' and ordDtl.returnableYn == 'N'}">해당 상품은 반품이 불가능한 상품입니다.</p>
  156. <p th:if="${ordDtl.changeableYn == 'N' and ordDtl.returnableYn == 'N'}">해당 상품은 교환/반품이 불가능한 상품입니다.</p>
  157. </div>
  158. <!-- 배송완료 -->
  159. <div class="order_text" th:if="${ordDtl.ordDtlStat == 'G013_60'}">
  160. <p th:if="${ordDtl.changeableYn == 'N' and ordDtl.returnableYn == 'Y'}">해당 상품은 교환이 불가능한 상품입니다.</p>
  161. <p th:if="${ordDtl.changeableYn == 'Y' and ordDtl.returnableYn == 'N'}">해당 상품은 반품이 불가능한 상품입니다.</p>
  162. <p th:if="${ordDtl.changeableYn == 'N' and ordDtl.returnableYn == 'N'}">해당 상품은 교환/반품이 불가능한 상품입니다.</p>
  163. <p th:if="${ordDtl.ordDtlStat == 'G013_60'}">15일 후 자동으로 구매확정됩니다.</p>
  164. </div>
  165. </div>
  166. </th:block>
  167. <!-- //주문상품 -->
  168. </div>
  169. </div>
  170. </th:block>
  171. <th:block th:if="${paymentInfo.payMeans == 'G014_20'}">
  172. <h4 class="subH3">무통장 입금 정보</h4>
  173. <div class="tbl type1">
  174. <table>
  175. <colgroup>
  176. <col width="210">
  177. <col width="*">
  178. </colgroup>
  179. <tbody>
  180. <tr>
  181. <th>
  182. 계좌정보/입금기한
  183. </th>
  184. <td>
  185. <div class="single_line">
  186. <ul>
  187. <li><span th:text="${paymentInfo.vaBank}"></span>&nbsp;<span th:text="|(${paymentInfo.vaNm})|"></span></li>
  188. <li><span th:text="${paymentInfo.vaNo}"></span></li>
  189. <li><span th:text="${paymentInfo.vaDeadlineYmd}"></span>&nbsp;<span th:text="${paymentInfo.vaDeadlineHms}"></span>&nbsp;까지</li>
  190. </ul>
  191. </div>
  192. </td>
  193. </tr>
  194. </tbody>
  195. </table>
  196. </div>
  197. </th:block>
  198. <!-- 주문 -->
  199. <h4 class="subH3">주문자/배송지 정보</h4>
  200. <div class="tbl type1">
  201. <table>
  202. <colgroup>
  203. <col width="210">
  204. <col width="*">
  205. </colgroup>
  206. <tbody>
  207. <tr>
  208. <th>
  209. 주문 고객
  210. </th>
  211. <td>
  212. <div class="single_line">
  213. <ul>
  214. <li><span th:text="${orderInfo.ordNm}"></span></li>
  215. <li><span th:text="${orderInfo.ordEmail}"></span></li>
  216. <li><span th:text="${orderInfo.ordPhnno}"></span></li>
  217. </ul>
  218. </div>
  219. </td>
  220. </tr>
  221. <tr>
  222. <th>
  223. 배송지 정보
  224. </th>
  225. <td>
  226. <div class="block_line">
  227. <ul>
  228. <li>
  229. <span th:text="${deliveryAddrInfo.recipNm}" id="recipNm"></span>
  230. </li>
  231. <li>
  232. <span th:text="${deliveryAddrInfo.recipPhnno}" id="recipPhnno"></span>
  233. </li>
  234. <li>
  235. <span th:text="|${deliveryAddrInfo.recipBaseAddr} ${deliveryAddrInfo.recipDtlAddr}|" id="recipAddr"></span>
  236. <button type="button" class="btn btn_default btn_sm" th:if="${allCanYn == 'Y'}" onclick="fnChangeDeliveryAddr()"><span>배송지 변경</span></button>
  237. </li>
  238. <li>
  239. 배송요청 사항&nbsp;:&nbsp;<span id="delvMemo" th:text="${deliveryAddrInfo.delvMemo}"></span>
  240. <button type="button" class="btn_underline" th:if="${allCanYn == 'Y'}" onclick="fnChangeDeliveryMemo(this)"><span>변경하기</span></button>
  241. </li>
  242. </ul>
  243. </div>
  244. </td>
  245. </tr>
  246. </tbody>
  247. </table>
  248. </div>
  249. <h4 class="subH3">결제정보</h4>
  250. <div class="tbl type6">
  251. <table>
  252. <colgroup>
  253. <col width="50%">
  254. <col width="50%">
  255. </colgroup>
  256. <tbody>
  257. <tr>
  258. <td>
  259. <dl>
  260. <div>
  261. <dt>총 주문금액 (상품금액+배송비+추가비용)</dt>
  262. <dd>
  263. <div class="price">
  264. <span class="order_total_price"><em th:text="${#numbers.formatInteger((orderAmtInfo.ordAmt + orderAmtInfo.cpn1DcAmt) - orderAmtInfo.cnclRtnAmt + orderAmtInfo.realDelvAmt, 1, 'COMMA')}"></em>원</span>
  265. </div>
  266. </dd>
  267. </div>
  268. <div class="include_item" th:if="${orderAmtInfo.cpn1DcAmt > 0}"> <!-- 할인항목 표기 class명 include_item -->
  269. <dt>즉시할인</dt>
  270. <dd><em th:text="|- ${#numbers.formatInteger(orderAmtInfo.cpn1DcAmt, 1, 'COMMA')}|"></em>원</dd>
  271. </div>
  272. <div class="include_item" th:if="${paymentInfo.npayPntAmt > 0}">
  273. <dt>마일리지 사용</dt>
  274. <dd><em th:text="|- ${#numbers.formatInteger(orderAmtInfo.npayPntAmt, 1, 'COMMA')}|"></em>원</dd>
  275. </div>
  276. <div class="include_item" th:if="${paymentInfo.pgCpnAmt > 0}">
  277. <dt>제휴할인</dt>
  278. <dd><em th:text="|- ${#numbers.formatInteger(paymentInfo.pgCpnAmt, 1, 'COMMA')}|"></em>원</dd>
  279. </div>
  280. </dl>
  281. </td>
  282. <td>
  283. <dl>
  284. <div>
  285. <dt>결제 금액</dt>
  286. <dd>
  287. <div class="price">
  288. <span class="pay_total_price"><em th:text="${#numbers.formatInteger(orderAmtInfo.payAmt - orderAmtInfo.npayPntAmt, 1, 'COMMA')}"></em>원</span>
  289. </div>
  290. </dd>
  291. </div>
  292. <div>
  293. <dt class="sr-only">결제방법</dt>
  294. <!-- TODO -->
  295. <!-- Style24 간편결제 처리 (STYLE24 간편결제 : STYLE24 간편결제명 / 카드사명 / 할부개월(일시불)) -->
  296. <dd th:if="${paymentInfo.pgGb == 'NAVER'}">네이버 페이</dd>
  297. <dd th:if="${paymentInfo.pgGb == 'KAKAO'}">카카오 페이</dd>
  298. <dd th:if="${paymentInfo.pgGb == 'PAYCO'}">PAYCO</dd>
  299. <dd th:if="${paymentInfo.pgGb == 'KCP' and paymentInfo.payMeans == 'G014_10'}">실시간계좌이체</dd>
  300. <dd th:if="${paymentInfo.pgGb == 'KCP' and paymentInfo.payMeans == 'G014_20'}">무통장입금</dd>
  301. <dd th:if="${paymentInfo.pgGb == 'KCP' and paymentInfo.payMeans == 'G014_30'}" th:text="|${paymentInfo.cardNm}/${paymentInfo.cardMips}|"></dd>
  302. <dd th:if="${paymentInfo.pgGb == 'KCP' and paymentInfo.payMeans == 'G014_60'}">휴대폰결제</dd>
  303. </div>
  304. <div>
  305. <dt class="sr-only">영수증 확인</dt>
  306. <dd>
  307. <button type="button" class="btn btn_default btn_sm" th:if="${paymentInfo.pgGb == 'KCP' and paymentInfo.payMeans == 'G014_30'}" onclick="fnReceipt('card')"><span>신용카드 전표</span></button>
  308. <button type="button" class="btn btn_default btn_sm" th:if="${paymentInfo.pgGb == 'KCP' and not #strings.isEmpty(paymentInfo.cashAuthNo) and (paymentInfo.payMeans == 'G014_10' or paymentInfo.payMeans == 'G014_20')}" onclick="fnReceipt('cash')"><span>현금 영수증</span></button>
  309. </dd>
  310. </div>
  311. </dl>
  312. </td>
  313. </tr>
  314. </tbody>
  315. </table>
  316. </div>
  317. <div class="btn_footer_area">
  318. <button type="button" class="btn btn_dark btn_md" onclick="cfnGoToPage(_PAGE_NOMEMBER_ORDER_LIST);"><span>확인</span></button>
  319. </div>
  320. </div>
  321. </form>
  322. </div>
  323. <!-- // CONT-BODY -->
  324. </div>
  325. <!-- 환불계좌 등록 팝업 -->
  326. <div class="modal fade refund_pop" id="refundPop" tabindex="-1" role="dialog" aria-labelledby="refundLabel" aria-hidden="true">
  327. <div class="modal-dialog" role="document">
  328. <div class="modal-content"></div>
  329. </div>
  330. <a href="#close-modal" rel="modal:close" id="refundPop_close" class="close-modal">Close</a>
  331. <a href="#close-modal" rel="modal:close" class="close-modal ">Close</a>
  332. </div>
  333. <!-- //환불계좌 등록 팝업 -->
  334. </div>
  335. <script src="/ux/plugins/gaga/gaga.paging.js"></script>
  336. <script th:inline="javascript">
  337. let ordNo = [[${ordNo}]];
  338. var isLogin = [[${isLogin}]];
  339. let orderList = [[${orderList}]];
  340. let oneData = [[${oneData}]];
  341. let paymentInfo = [[${paymentInfo}]];
  342. let orderAmtInfo = [[${orderAmtInfo}]];
  343. let deliveryAddrInfo = [[${deliveryAddrInfo}]];
  344. let kcpReceiptUrl = [[${@environment.getProperty('pg.kcp.receipt.url')}]];
  345. let jsonObj = {};
  346. $(document).ready(function() {
  347. // 마이페이지 LNB 설정
  348. fnSetNoMemberLnbList(1);
  349. // 마이페이지 location 설정
  350. fnSetNoMemberLocation('주문확인/배송조회', '주문상세');
  351. });
  352. // 전체취소 버튼 클릭 이벤트
  353. var fnAllCancel = function() {
  354. // 환불계좌 체크
  355. let accountNo = $('#orderDetailForm input[name=accountNo]').val();
  356. let accountNm = $('#orderDetailForm input[name=accountNm]').val();
  357. let bankCd = $('#orderDetailForm input[name=bankCd]').val();
  358. if (paymentInfo.payMeans == 'G014_20' && paymentInfo.payStat == 'G016_30' && (gagajf.isNull(accountNo) || gagajf.isNull(accountNm) || gagajf.isNull(bankCd))) {
  359. let data = {};
  360. data.ordNo = oneData.ordNo;
  361. data.accountNm = oneData.accountNm;
  362. let jsonData = JSON.stringify(data);
  363. $.ajax( {
  364. type : "POST",
  365. url : '/noMember/refund/account/register/popup/form',
  366. data : jsonData,
  367. dataType : 'html',
  368. beforeSend : function(xhr, settings) {
  369. xhr.setRequestHeader("AJAX" , "true");
  370. xhr.setRequestHeader('Accept' , 'application/json');
  371. xhr.setRequestHeader('Content-Type' , 'application/json');
  372. },
  373. success : function(result) {
  374. $("#refundPop .modal-dialog .modal-content").html(result);
  375. $("#refundPop").modal("show");
  376. }
  377. });
  378. return false;
  379. }
  380. mcxDialog.confirm('전체취소 처리하시겠습니까?', {
  381. cancelBtnText: "취소",
  382. sureBtnText: "확인",
  383. sureBtnClick: function(){
  384. // 취소요청 데이터 설정
  385. let url = '/noMember/cancel';
  386. // 주문상세번호 설정
  387. let ordDtlNoArr = [];
  388. $.each($('#orderDetailForm input[name=ordDtlNoArr]'), function(idx, item) {
  389. ordDtlNoArr.push($(item).val());
  390. });
  391. // 취소 수량 설정
  392. let cnclRtnReqQtyArr = [];
  393. $.each($('#orderDetailForm input[name=cnclRtnReqQtyArr]'), function(idx, item) {
  394. cnclRtnReqQtyArr.push($(item).val());
  395. });
  396. // 전체 취소 처리
  397. let data = {};
  398. data.ordNo = ordNo;
  399. data.chgReason = 'G686_10';
  400. data.chgReasonNm = '고객변심';
  401. data.accountNo = accountNo;
  402. data.accountNm = accountNm;
  403. data.bankCd = bankCd;
  404. data.isCustomer = true;
  405. data.reqGbn = 'cnclComplete';
  406. data.ordDtlNoArr = ordDtlNoArr;
  407. data.cnclRtnReqQtyArr = cnclRtnReqQtyArr;
  408. let jsonData = JSON.stringify(data);
  409. // 취소 처리 가능 여부 조회
  410. gagajf.ajaxJsonSubmit('/noMember/wms/cancel/available', jsonData, function(result) {
  411. let cancelYn = result.cancelYn;
  412. if (cancelYn == 'Y') {
  413. // 전체취소 처리
  414. gagajf.ajaxJsonSubmit(url, jsonData, function(result) {
  415. cfnGoToPage(_PAGE_MYPAGE_ORDER_LIST);
  416. }, true);
  417. } else {
  418. mcxDialog.alert('이미 배송처리 되어 전체취소 처리에 실패 하였습니다.');
  419. }
  420. });
  421. }
  422. });
  423. }
  424. // 배송지 정보 설정
  425. var delvAddrSet = function(delvObj) {
  426. let delvAddrSq = deliveryAddrInfo.delvAddrSq;
  427. let recipNm = delvObj.recipNm;
  428. let recipPhnno = delvObj.recipPhnno;
  429. let recipZipcode = delvObj.recipZipcode;
  430. let recipBaseAddr = delvObj.recipBaseAddr;
  431. let recipDtlAddr = delvObj.recipDtlAddr;
  432. let delvMemo = delvObj.delvMemo;
  433. $('#recipNm').text(recipNm);
  434. $('#recipPhnno').text(recipPhnno);
  435. $('#recipAddr').text(recipBaseAddr + ' ' + recipDtlAddr);
  436. $('#delvMemo').text(delvMemo);
  437. let url = '/noMember/change/delvery/addr';
  438. let data = {};
  439. data.delvAddrSq = delvAddrSq;
  440. data.recipNm = recipNm;
  441. data.recipPhnno = recipPhnno;
  442. data.recipZipcode = recipZipcode;
  443. data.recipBaseAddr = recipBaseAddr;
  444. data.recipDtlAddr = recipDtlAddr;
  445. data.delvMemo = delvMemo;
  446. let jsonData = JSON.stringify(data);
  447. gagajf.ajaxJsonSubmit(url, jsonData, function(result) {
  448. })
  449. }
  450. // 배송메모 설정
  451. var delvMemoSet = function(delvMemoObj) {
  452. let url = '/noMember/change/delvery/memo';
  453. let delvMemo = delvMemoObj.delvMemo;
  454. let data = {};
  455. data.delvMemo = delvMemo;
  456. data.delvAddrSq = oneData.delvAddrSq;
  457. let jsonData = JSON.stringify(data);
  458. gagajf.ajaxJsonSubmit(url, jsonData, function(result) {
  459. })
  460. $("#delvMemo").text(delvMemo);
  461. }
  462. // 환불계좌 등록 콜백 처리
  463. var fnRegisterAccountCallback = function(result) {
  464. // 환불계좌 정보 설정
  465. $('#orderDetailForm input[name=accountNo]').val(result.accountNo);
  466. $('#orderDetailForm input[name=accountNm]').val(result.accountNm);
  467. $('#orderDetailForm input[name=bankCd]').val(result.bankCd);
  468. // 반품처리
  469. fnAllCancel();
  470. }
  471. </script>
  472. </th:block>
  473. </body>
  474. </html>