MypageOrderDetailFormMob.html 47 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085
  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/MypageLayoutMob">
  3. <!--
  4. *******************************************************************************
  5. * @source : MypageOrderDetailFormMob.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.04.22 jsh77b 최초 작성
  14. *******************************************************************************
  15. -->
  16. <body>
  17. <th:block layout:fragment="content">
  18. <main role="" id="mypageOrderDetailForm" class="container my">
  19. <section class="content my_order my_gift">
  20. <div class="inner wide bg_beige">
  21. <div class="order_number">
  22. <dl class="clear">
  23. <dt>주문번호</dt>
  24. <dd th:text="${ordNo}"></dd>
  25. </dl>
  26. <a href="javascript:void(0);" class="delete" onclick="fnDeleteOrder()">주문 내역 삭제</a>
  27. </div>
  28. </div>
  29. <div class="inner">
  30. <th:block th:if="${orderList}" th:each="order, status : ${orderList}">
  31. <div class="part_goods">
  32. <div class="goods_top">
  33. <th:block th:unless="${order.giftPackYn == 'Y'}">
  34. <div class="goods_date">주문일<span class="date" th:text="${order.ordDt}"></span></div>
  35. </th:block>
  36. <th:block th:if="${order.giftPackYn == 'Y'}">
  37. <div class="goods_date">선물일<span class="date" th:text="${order.ordDt}"></span></div>
  38. </th:block>
  39. <th:block th:if="${order.allCanYn == 'Y' and order.ordReqChgQty == 0}">
  40. <!-- 2021.09.01 card007 AS-IS Data 취소처리 못하게 처리 -->
  41. <!-- 2021.09.13 card007 AS-IS Data 취소처리 -->
  42. <!-- <th:block th:if="${#numbers.formatInteger(#strings.replace(order.ordDt, '.', ''), 1)} >= 20210901">-->
  43. <a href="javascript:void(0);" id="btn_all_delete" class="delete_btn" onclick="fnAllCancel();">주문 전체 취소</a> <!-- 210409_추가 : btn_all_delete id 추가 -->
  44. <!-- </th:block>-->
  45. </th:block>
  46. <th:block th:if="${allDecideYn == 'Y' and order.ordReqChgQty == 0}">
  47. <a href="javascript:void(0)" id="btn_all_confirm" class="purchase_btn" th:attr="ordNo=${ordNo}" onclick="fnAllDecideOrder(this);">전체구매확정</a></li>
  48. </th:block>
  49. <!--<a href="javascript:;" id="btn_all_confirm" class="purchase_btn">전체 구매 확정</a> 전체 구매확정 버튼. --> <!-- 210409_추가 : btn_all_confirm id 추가 -->
  50. </div>
  51. <th:block th:if="${order.ordDtlList}" th:each="ordDtl, status : ${order.ordDtlList}" th:with="imageUrl=${@environment.getProperty('upload.goods.view')}">
  52. <div class="goods_section">
  53. <div class="goods_status">
  54. <!-- 선물주문 -->
  55. <th:block th:if="${order.giftPackYn == 'Y'}">
  56. <p class="dlvr_staus" th:if="${ordDtl.giftAddrInpYn == 'N' and ordDtl.giftLimitDay >= 0}">주소 입력 대기중</p>
  57. <p class="dlvr_staus" th:if="${ordDtl.giftAddrInpYn == 'Y' and ordDtl.ordDtlStat != 'G013_98' and ordDtl.ordDtlStat != 'G013_99'}">선물 완료</p>
  58. <p class="dlvr_staus" th:if="${ordDtl.ordDtlStat == 'G013_98' or ordDtl.ordDtlStat == 'G013_99'}">선물 취소</p>
  59. </th:block>
  60. <!-- //선물주문 -->
  61. <!-- 일반주문 -->
  62. <th:block th:unless="${order.giftPackYn == 'Y'}">
  63. <p class="dlvr_staus" th:if="${ordDtl.ordDtlStat == 'G013_10'}">주문접수</p>
  64. <p class="dlvr_staus" th:if="${ordDtl.ordDtlStat == 'G013_35'}">상품준비중</p>
  65. <p class="dlvr_staus" th:unless="${ordDtl.ordDtlStat == 'G013_10' or ordDtl.ordDtlStat == 'G013_35'}" th:text="${ordDtl.ordDtlStatNm}"></p>
  66. </th:block>
  67. <!-- //일반주문 -->
  68. </div>
  69. <div class="goods_detail">
  70. <input type="hidden" name="ordDtlNoArr" th:value="${ordDtl.ordDtlNo}"/>
  71. <input type="hidden" name="cnclRtnReqQtyArr" th:value="${ordDtl.ordQty - ordDtl.cnclRtnQty}"/>
  72. <a href="javascript:void(0)" th:attr="goodsCd=${ordDtl.goodsCd}, optCd1=${ordDtl.goodsType == 'G056_N' ? ordDtl.optCd1 : ''}, ithrCd='IN20_02'" onclick="fnGoToGoodsDetail(this)">
  73. <div class="thumb_box">
  74. <img th:src="${imageUrl + '/' + ordDtl.sysImgNm + '?RS=90'}" width="100%" alt="">
  75. </div>
  76. <div class="info_box">
  77. <div class="od_name">
  78. <div class="brand">
  79. <span th:text="${ordDtl.brandNm}"></span>
  80. <div class="badge_wrap">
  81. <em class="order_badge order_bullet_badge" th:if="${ordDtl.shotDelvYn == 'Y'}">총알배송</em>
  82. <em class="order_badge" th:if="${ordDtl.shotDelvYn == 'N' and ordDtl.selfGoodsYn == 'Y'}">STYLE24 일반배송</em>
  83. <em class="order_badge" th:if="${ordDtl.selfGoodsYn == 'N'}">업체직배송</em>
  84. </div>
  85. </div>
  86. <div class="name" th:text="${ordDtl.goodsNm}"></div>
  87. </div>
  88. <div class="od_opt">
  89. <!-- 세트상품 -->
  90. <th:block th:if="${ordDtl.goodsType == 'G056_S'}">
  91. <th:block th:each="option, status : ${ordDtl.colorNmArr}">
  92. <div class="option">
  93. <em th:text="${ordDtl.itemNmArr[status.index]}"></em>
  94. <em th:text="${option}"></em>
  95. <em th:text="${ordDtl.optCd2Arr[status.index]}"></em>
  96. </div>
  97. </th:block>
  98. </th:block>
  99. <!-- //세트상품 -->
  100. <!-- 일반상품 -->
  101. <th:block th:unless="${ordDtl.goodsType == 'G056_S'}">
  102. <th:block th:each="option, status : ${ordDtl.colorNmArr}">
  103. <div class="option">
  104. <em th:text="${ordDtl.colorNm}"></em>
  105. <em th:text="${ordDtl.optCd2}"></em>
  106. </div>
  107. </th:block>
  108. </th:block>
  109. <!-- //일반상품 -->
  110. </div>
  111. <div class="od_calc">
  112. <p class="point"><span th:text="${#numbers.formatInteger(ordDtl.savePntAmt, 1, 'COMMA')}"></span>P 적립예정</p>
  113. <p class="sale_price" th:if="${(ordDtl.ordAmt - ordDtl.cnclRtnAmt) > (ordDtl.realOrdAmt + ordDtl.pntDcAmt + ordDtl.gfcdUseAmt)}">
  114. <del>
  115. <em th:text="${#numbers.formatInteger(ordDtl.ordAmt - ordDtl.cnclRtnAmt, 1, 'COMMA')}"></em>원
  116. </del>
  117. </p>
  118. <p class="price">
  119. <span class="selling_price">
  120. <em th:text="${#numbers.formatInteger(ordDtl.realOrdAmt + ordDtl.pntDcAmt + ordDtl.gfcdUseAmt, 1, 'COMMA')}"></em>원
  121. </span>
  122. <span class="count">
  123. <em th:text="${ordDtl.ordQty - ordDtl.cnclRtnQty}"></em>개
  124. </span>
  125. </p>
  126. </div>
  127. </div>
  128. </a>
  129. </div>
  130. <!-- 주문상태별 버튼기능 정의 -->
  131. <!-- 일반주문 -->
  132. <th:block th:unless="${ordDtl.giftPackYn} == 'Y'">
  133. <!-- 입금대기 (1:1문의, 쇼핑백 담기) -->
  134. <th:block th:if="${ordDtl.ordDtlStat == 'G013_10'}">
  135. <div class="goods_btn_wrap btn_group_flex">
  136. <div><button type="button" class="btn btn_default btn_cncl_complete" onclick="cfnGoToPage(_PAGE_ONETOONE_QNA);"><span>1:1 문의</span></button></div>
  137. <div><button type="button" class="btn btn_default btn_cart_save" th:ordNo="${ordDtl.ordNo}" th:ordDtlNo="${ordDtl.ordDtlNo}" onclick="fnCreateCart(this);"><span>쇼핑백 담기</span></button></div>
  138. </div>
  139. </th:block>
  140. <!-- //입금대기 (1:1문의, 쇼핑백 담기) -->
  141. <!-- 결제완료, 상품준비중, 출고처지정 (주문취소) -->
  142. <th:block th:if="${ordDtl.ordDtlStat} == 'G013_20' or ${ordDtl.ordDtlStat} == 'G013_30' or ${ordDtl.ordDtlStat} == 'G013_35'">
  143. <th:block th:if="${ordDtl.ordExchGb == 'O'}">
  144. <!-- 2021.09.01 card007 AS-IS Data 취소처리 못하게 처리 -->
  145. <!-- 2021.09.13 card007 AS-IS Data 취소처리 -->
  146. <!-- <th:block th:if="${#numbers.formatInteger(#strings.replace(ordDtl.ordDt, '.', ''), 1)} >= 20210901">-->
  147. <div class="goods_btn_wrap btn_group_flex">
  148. <div><button type="button" class="btn btn_default btn_cncl_complete" th:attr="ordNo=${ordDtl.ordNo}, ordDtlNo=${ordDtl.ordDtlNo}, delvFeeCd=${ordDtl.delvFeeCd}, ordCanChgQty=${ordDtl.ordCanChgQty}" onclick="fnCreateChange(this, 'cancel');"><span>주문 취소</span></button></div>
  149. </div>
  150. <!-- </th:block>-->
  151. </th:block>
  152. <th:block th:unless="${ordDtl.ordExchGb == 'O'}">
  153. <div class="goods_btn_wrap btn_group_flex">
  154. <div><button type="button" class="btn btn_default btn_cncl_complete" onclick="cfnGoToPage(_PAGE_ONETOONE_QNA);"><span>1:1 문의</span></button></div>
  155. <div><button type="button" class="btn btn_default btn_cart_save" th:ordNo="${ordDtl.ordNo}" th:ordDtlNo="${ordDtl.ordDtlNo}" onclick="fnCreateCart(this);"><span>쇼핑백 담기</span></button></div>
  156. </div>
  157. </th:block>
  158. </th:block>
  159. <!-- //결제완료, 상품준비중, 출고처지정 (주문취소) -->
  160. <!-- 배송준비중-->
  161. <th:block th:if="${ordDtl.ordDtlStat} == 'G013_40'">
  162. <div class="goods_btn_wrap btn_group_flex">
  163. <div>
  164. <button type="button" class="btn btn_default btn_cncl_complete" onclick="cfnGoToPage(_PAGE_ONETOONE_QNA);">
  165. <span>1:1 문의</span>
  166. </button>
  167. </div>
  168. <div>
  169. <button type="button" class="btn btn_default btn_cart_save" th:ordNo="${ordDtl.ordNo}" th:ordDtlNo="${ordDtl.ordDtlNo}" onclick="fnCreateCart(this);">
  170. <span>쇼핑백 담기</span>
  171. </button>
  172. </div>
  173. </div>
  174. </th:block>
  175. <!-- //배송준비중-->
  176. <!-- 배송중 (교환가능, 반품가능) -->
  177. <th:block th:if="${ordDtl.ordDtlStat} == 'G013_50' or ${ordDtl.ordDtlStat} == 'G013_55'">
  178. <div class="goods_btn_wrap btn_group_flex btn_count">
  179. <!-- 교환불가 -->
  180. <th:block th:if="${ordDtl.changeableYn} == 'N' and ${ordDtl.returnableYn} == 'Y'">
  181. <div>
  182. <button type="button" class="btn btn_default btn_qna_write" onclick="cfnGoToPage(_PAGE_ONETOONE_QNA);">
  183. <span>1:1 문의</span>
  184. </button>
  185. </div>
  186. </th:block>
  187. <!-- //교환불가 -->
  188. <!-- 교환가능 -->
  189. <th:block th:if="${ordDtl.changeableYn} == 'Y'">
  190. <div>
  191. <button type="button" class="btn btn_default btn_exch_req" th:ordNo="${ordDtl.ordNo}" th:ordDtlNo="${ordDtl.ordDtlNo}" th:ordCanChgQty="${ordDtl.ordCanChgQty}" th:delvFeeCd="${ordDtl.delvFeeCd}" onclick="fnCreateChange(this, 'exchange');">
  192. <span>교환 신청</span>
  193. </button>
  194. </div>
  195. </th:block>
  196. <!-- //교환가능 -->
  197. <!-- 반품가능 -->
  198. <th:block th:if="${ordDtl.returnableYn} == 'Y'">
  199. <div>
  200. <button type="button" class="btn btn_default btn_rtn_req" th:ordNo="${ordDtl.ordNo}" th:ordDtlNo="${ordDtl.ordDtlNo}" th:ordCanChgQty="${ordDtl.ordCanChgQty}" th:delvFeeCd="${ordDtl.delvFeeCd}" onclick="fnCreateChange(this, 'return');">
  201. <span>반품 신청</span>
  202. </button>
  203. </div>
  204. </th:block>
  205. <!-- 반품가능 -->
  206. <!-- 반품불가 -->
  207. <th:block th:if="${ordDtl.changeableYn} == 'Y' and ${ordDtl.returnableYn} == 'N'">
  208. <div>
  209. <button type="button" class="btn btn_default btn_qna_write" onclick="cfnGoToPage(_PAGE_ONETOONE_QNA);">
  210. <span>1:1 문의</span>
  211. </button>
  212. </div>
  213. </th:block>
  214. <!-- //반품불가 -->
  215. <!-- 교환불가, 반품불가 -->
  216. <th:block th:if="${ordDtl.returnableYn} == 'N' and ${ordDtl.changeableYn} == 'N'">
  217. <div>
  218. <button type="button" class="btn btn_default btn_qna_write" onclick="cfnGoToPage(_PAGE_ONETOONE_QNA);">
  219. <span>1:1 문의</span>
  220. </button>
  221. </div>
  222. </th:block>
  223. <!-- //교환불가, 반품불가 -->
  224. <!-- 배송조회 -->
  225. <div>
  226. <button type="button" class="btn btn_default btn_delv_sch" th:attr="ordNo=${ordDtl.ordNo}, ordDtlNo=${ordDtl.ordDtlNo}, shipCompCd=${ordDtl.shipCompCd}, invoiceNo=${ordDtl.invoiceNo}" onclick="fnGoToDelivery(this);">
  227. <span>배송 조회</span>
  228. </button>
  229. </div>
  230. <!-- //배송조회 -->
  231. </div>
  232. </th:block>
  233. <!-- //배송중 (교환가능, 반품가능) -->
  234. <!-- 배송완료 (교환가능, 반품가능) -->
  235. <th:block th:if="${ordDtl.ordDtlStat} == 'G013_60'">
  236. <div class="goods_btn_wrap btn_group_flex btn_count">
  237. <!-- 교환가능 -->
  238. <th:block th:if="${ordDtl.changeableYn} == 'Y'">
  239. <div>
  240. <button type="button" class="btn btn_default btn_exch_req" th:ordNo="${ordDtl.ordNo}" th:ordDtlNo="${ordDtl.ordDtlNo}" th:ordCanChgQty="${ordDtl.ordCanChgQty}" th:delvFeeCd="${ordDtl.delvFeeCd}" onclick="fnCreateChange(this, 'exchange');">
  241. <span>교환 신청</span>
  242. </button>
  243. </div>
  244. </th:block>
  245. <!-- //교환가능 -->
  246. <!-- 반품가능 -->
  247. <th:block th:if="${ordDtl.returnableYn} == 'Y'">
  248. <div>
  249. <button type="button" class="btn btn_default btn_rtn_req" th:ordNo="${ordDtl.ordNo}" th:ordDtlNo="${ordDtl.ordDtlNo}" th:ordCanChgQty="${ordDtl.ordCanChgQty}" th:delvFeeCd="${ordDtl.delvFeeCd}" onclick="fnCreateChange(this, 'return');">
  250. <span>반품 신청</span>
  251. </button>
  252. </div>
  253. </th:block>
  254. <!-- //반품가능 -->
  255. <!-- 배송조회 -->
  256. <div>
  257. <button type="button" class="btn btn_default btn_delv_sch" th:attr="ordNo=${ordDtl.ordNo}, ordDtlNo=${ordDtl.ordDtlNo}, shipCompCd=${ordDtl.shipCompCd}, invoiceNo=${ordDtl.invoiceNo}" onclick="fnGoToDelivery(this);">
  258. <span>배송 조회</span>
  259. </button>
  260. </div>
  261. <!-- //배송조회 -->
  262. <!-- 교환불가 -->
  263. <th:block th:if="${ordDtl.changeableYn} == 'N' and ${ordDtl.returnableYn} == 'Y'">
  264. <div>
  265. <button type="button" class="btn btn_default btn_qna_write" onclick="cfnGoToPage(_PAGE_ONETOONE_QNA);">
  266. <span>1:1 문의</span>
  267. </button>
  268. </div>
  269. </th:block>
  270. <!-- //교환불가 -->
  271. <!-- 반품불가 -->
  272. <th:block th:if="${ordDtl.changeableYn} == 'Y' and ${ordDtl.returnableYn} == 'N'">
  273. <div>
  274. <button type="button" class="btn btn_default btn_qna_write" onclick="cfnGoToPage(_PAGE_ONETOONE_QNA);">
  275. <span>1:1 문의</span>
  276. </button>
  277. </div>
  278. </th:block>
  279. <!-- //반품불가 -->
  280. <!-- 교환불가, 반품불가 -->
  281. <th:block th:if="${ordDtl.returnableYn} == 'N' and ${ordDtl.changeableYn} == 'N'">
  282. <div>
  283. <button type="button" class="btn btn_default btn_qna_write" onclick="cfnGoToPage(_PAGE_ONETOONE_QNA);">
  284. <span>1:1 문의</span>
  285. </button>
  286. </div>
  287. </th:block>
  288. <!-- //교환불가, 반품불가 -->
  289. <!-- 구매확정 -->
  290. <th:block th:if="${ordDtl.ordReqChgQty == 0}">
  291. <div>
  292. <button type="button" th:id="btn_purchase_confirm" class="btn btn_primary" th:ordNo="${ordDtl.ordNo}" th:ordDtlNo="${ordDtl.ordDtlNo}" onclick="fnDecideOrder(this);">
  293. <span>구매 확정</span>
  294. </button>
  295. </div>
  296. </th:block>
  297. <!-- //구매확정 -->
  298. </div>
  299. </th:block>
  300. <!-- //배송완료 (교환가능, 반품가능) -->
  301. <!-- 구매확정 -->
  302. <th:block th:if="${ordDtl.ordDtlStat} == 'G013_70'">
  303. <div class="goods_btn_wrap btn_group_flex">
  304. <!-- 리뷰사용불가능, 리뷰등록후일때 -->
  305. <th:block th:unless="${ordDtl.reviewableYn} == 'Y' and ${ordDtl.reviewSq} == null">
  306. <div><button type="button" class="btn btn_default btn_qna_write" onclick="cfnGoToPage(_PAGE_ONETOONE_QNA);"><span>1:1 문의</span></button></div>
  307. </th:block>
  308. <!-- //리뷰사용불가능, 리뷰등록후일때 -->
  309. <div><button type="button" class="btn btn_default btn_cart_save" th:attr="ordNo=${ordDtl.ordNo}, ordDtlNo=${ordDtl.ordDtlNo}" onclick="fnCreateCart(this);"><span>쇼핑백 담기</span></button></div>
  310. <!-- 리뷰사용가능, 리뷰등록전일때 -->
  311. <th:block th:if="${ordDtl.reviewableYn} == 'Y' and ${ordDtl.reviewSq} == null">
  312. <div><button type="button" class="btn btn_primary btn_review_write" th:attr="ordNo=${ordDtl.ordNo}, ordDtlNo=${ordDtl.ordDtlNo}, goodsCd=${ordDtl.goodsCd}" onclick="fnCreateReview(this);"><span>리뷰 쓰기</span></button></div>
  313. </th:block>
  314. <!-- //리뷰사용가능, 리뷰등록전일때 -->
  315. </div>
  316. </th:block>
  317. <!-- //구매확정 -->
  318. </th:block>
  319. <!-- //일반주문 -->
  320. <!-- 선물주문 -->
  321. <th:block th:if="${ordDtl.giftPackYn} == 'Y'">
  322. <div class="goods_btn_wrap btn_group_flex">
  323. <!-- 배송지등록전 -->
  324. <th:block th:if="${ordDtl.giftAddrInpYn == 'N'} and ${ordDtl.giftLimitDay} >= 0">
  325. <div><button type="button" class="btn btn_default btn_sms_send" th:attr="ordNo=${ordDtl.ordNo}" onclick="fnReSendSms(this);"><span>SMS 재발송</span></button></div>
  326. </th:block>
  327. <!-- //배송지등록전 -->
  328. <!-- 배송지등록후 (입금대기, 결제완료, 상품준비중, 출고처지정, 배송준비중) -->
  329. <th:block th:if="${ordDtl.ordDtlStat} == 'G013_10' or ${ordDtl.ordDtlStat} == 'G013_20' or ${ordDtl.ordDtlStat} == 'G013_30' or ${ordDtl.ordDtlStat} == 'G013_35'">
  330. <div><button type="button" class="btn btn_default btn_cncl_complete" th:attr="ordNo=${ordDtl.ordNo}, ordDtlNo=${ordDtl.ordDtlNo}, delvFeeCd=${ordDtl.delvFeeCd}, ordCanChgQty=${ordDtl.ordCanChgQty}" onclick="fnCreateChange(this, 'cancel');"><span>주문 취소</span></button></div>
  331. </th:block>
  332. <!-- //배송지등록후 (입금대기, 결제완료, 상품준비중, 출고처지정, 배송준비중) -->
  333. <!-- 배송지등록완료, 결제전취소, 결제후취소 아닐경우 -->
  334. <th:block th:if="${ordDtl.ordDtlStat} == 'G013_50' or ${ordDtl.ordDtlStat} == 'G013_55' or ${ordDtl.ordDtlStat} == 'G013_60' or ${ordDtl.ordDtlStat} == 'G013_70'">
  335. <th:block th:if="${ordDtl.giftAddrInpYn == 'Y'} and ${ordDtl.ordDtlStat} != 'G013_98' and ${ordDtl.ordDtlStat} != 'G013_99'">
  336. <div><button type="button" class="btn btn_default btn_cart_save" th:attr="ordNo=${ordDtl.ordNo}, ordDtlNo=${ordDtl.ordDtlNo}" onclick="fnCreateCart(this);"><span>쇼핑백 담기</span></button></div>
  337. <!-- 리뷰사용가능, 리뷰등록전일때 -->
  338. <th:block th:if="${ordDtl.reviewableYn} == 'Y' and ${ordDtl.reviewSq} == null and ${ordDtl.ordDtlStat} == 'G013_70'">
  339. <div><button type="button" class="btn btn_primary btn_review_write" th:attr="ordNo=${ordDtl.ordNo}, ordDtlNo=${ordDtl.ordDtlNo}, goodsCd=${ordDtl.goodsCd}" onclick="fnCreateReview(this);"><span>리뷰 쓰기</span></button></div>
  340. </th:block>
  341. <!-- //리뷰사용가능, 리뷰등록전일때 -->
  342. </th:block>
  343. </th:block>
  344. <!-- //배송지등록완료, 결제전취소, 결제후취소 아닐경우 -->
  345. </div>
  346. </th:block>
  347. <!-- //선물주문 -->
  348. <!-- //주문상태별 버튼기능 정의 -->
  349. <!-- 주문상태별 문구정보 정의 -->
  350. <th:block th:unless="${ordDtl.giftPackYn} == 'Y'">
  351. <div class="goods_alert">
  352. <!-- 배송중, 배송완료 상태 교환, 반품 가능 상태 체크 -->
  353. <th:block th:if="${ordDtl.ordDtlStat} == 'G013_50' or ${ordDtl.ordDtlStat} == 'G013_55' or ${ordDtl.ordDtlStat} == 'G013_60'">
  354. <!-- 교환불가능, 반품불가능 -->
  355. <th:block th:if="${ordDtl.changeableYn} == 'N' and ${ordDtl.returnableYn} == 'N'">
  356. <p class="cf_txt cf_desc">해당 상품은 교환/반품이 불가능한 상품입니다.<br>문의사항은 1:1 문의를 이용해 주세요.</p>
  357. </th:block>
  358. <!-- //교환불가능, 반품불가능 -->
  359. <!-- 교환불가능 -->
  360. <th:block th:if="${ordDtl.changeableYn} == 'N' and ${ordDtl.returnableYn} == 'Y'">
  361. <p class="cf_txt cf_desc">해당 상품은 교환이 불가능한 상품입니다.<br>문의사항은 1:1 문의를 이용해 주세요.</p>
  362. </th:block>
  363. <!-- //교환불가능 -->
  364. <!-- 반품불가능 -->
  365. <th:block th:if="${ordDtl.changeableYn} == 'Y' and ${ordDtl.returnableYn} == 'N'">
  366. <p class="cf_txt cf_desc">해당 상품은 반품이 불가능한 상품입니다.<br>문의사항은 1:1 문의를 이용해 주세요.</p>
  367. </th:block>
  368. <!-- //반품불가능 -->
  369. </th:block>
  370. <!-- //배송중, 배송완료 상태 -->
  371. </div>
  372. <!-- 주문접수 -->
  373. <th:block th:if="${ordDtl.ordDtlStat} == 'G013_10'">
  374. <div class="goods_txt">
  375. <p class="cf_txt cf_desc">주문 완료 / 결제를 기다리고 있습니다.</p>
  376. <th:block th:if="${ordDtl.delvResDt} != null">
  377. <p class="cf_txt cf_desc" th:text="|예약판매 상품으로 ${ordDtl.delvResDt} 출고 예정입니다.|"></p>
  378. </th:block>
  379. </div>
  380. </th:block>
  381. <!-- //주문접수 -->
  382. <!-- 결제완료, 예약배송상품 -->
  383. <th:block th:if="${ordDtl.ordDtlStat} == 'G013_20'">
  384. <th:block th:if="${ordDtl.delvResDt} != null">
  385. <div class="goods_txt">
  386. <p class="cf_txt cf_desc" th:text="|예약판매 상품으로 ${ordDtl.delvResDt} 출고 예정입니다.|"></p>
  387. </div>
  388. </th:block>
  389. </th:block>
  390. <!-- //결제완료, 예약배송상품 -->
  391. <!-- 상품준비중 -->
  392. <th:block th:if="${ordDtl.ordDtlStat} == 'G013_30' or ${ordDtl.ordDtlStat} == 'G013_35'">
  393. <div class="goods_txt">
  394. <p class="cf_txt cf_desc">배송할 상품을 준비 중입니다.</p>
  395. <th:block th:if="${ordDtl.delvResDt} != null">
  396. <p class="cf_txt cf_desc" th:text="|예약판매 상품으로 ${ordDtl.delvResDt} 출고 예정입니다.|"></p>
  397. </th:block>
  398. </div>
  399. </th:block>
  400. <!-- //상품준비중 -->
  401. <!-- 배송준비중 -->
  402. <th:block th:if="${ordDtl.ordDtlStat} == 'G013_40'">
  403. <div class="goods_txt">
  404. <p class="cf_txt cf_desc">상품 준비가 완료되어 곧 배송될 예정입니다.</p>
  405. <th:block th:if="${ordDtl.delvResDt} != null">
  406. <p class="cf_txt cf_desc" th:text="|예약판매 상품으로 ${ordDtl.delvResDt} 출고 예정입니다.|"></p>
  407. </th:block>
  408. </div>
  409. </th:block>
  410. <!-- //배송준비중 -->
  411. <!-- 배송완료 -->
  412. <th:block th:if="${ordDtl.ordDtlStat} == 'G013_60'">
  413. <div class="goods_txt">
  414. <p class="cf_txt cf_desc" th:if="${ordDtl.ordReqChgQty == 0}" th:text="|${ordDtl.autoDecideLeftDay}일 후 자동으로 구매확정됩니다.|"></p>
  415. <p class="cf_txt cf_desc" th:unless="${ordDtl.ordReqChgQty == 0}" th:text="|반품/교환이 진행 중입니다.|"></p>
  416. </div>
  417. </th:block>
  418. <!-- //배송완료 -->
  419. <!-- 구매확정 -->
  420. <th:block th:if="${ordDtl.ordDtlStat} == 'G013_70'">
  421. <!-- 리뷰사용가능, 리뷰등록전일때 -->
  422. <th:block th:if="${ordDtl.reviewableYn} == 'Y' and ${ordDtl.reviewSq} == null">
  423. <div class="goods_txt">
  424. <p class="cf_txt cf_desc">리뷰를 작성하면 다른 구매자에게 도움이 될 수 있습니다</p>
  425. </div>
  426. </th:block>
  427. <!-- //리뷰사용가능, 리뷰등록전일때 -->
  428. </th:block>
  429. <!-- //구매확정 -->
  430. </th:block>
  431. <!-- 선물배송일때 -->
  432. <th:block th:if="${ordDtl.giftPackYn} == 'Y'">
  433. <!-- 배송지등록전 -->
  434. <th:block th:if="${ordDtl.giftAddrInpYn == 'N'} and ${ordDtl.giftLimitDay} >= 0">
  435. <div class="goods_txt">
  436. <p class="cf_txt cf_desc"><span th:text="|‘${deliveryAddrInfo.recipNm}’|"></span>님 주소를 입력하기 전입니다.</p>
  437. <p class="period">입력기한 <span th:text="${ordDtl.giftLimitDt}"></span></p>
  438. </div>
  439. </th:block>
  440. <!-- //배송지등록전 -->
  441. <!-- 배송지등록완료, 결제전취소, 결제후취소 아닐경우 -->
  442. <th:block th:if="${ordDtl.ordDtlStat} == 'G013_50' or ${ordDtl.ordDtlStat} == 'G013_55' or ${ordDtl.ordDtlStat} == 'G013_60' or ${ordDtl.ordDtlStat} == 'G013_70'">
  443. <th:block th:if="${ordDtl.giftAddrInpYn == 'Y'} and ${ordDtl.ordDtlStat} != 'G013_98' and ${ordDtl.ordDtlStat} != 'G013_99'">
  444. <div class="goods_txt">
  445. <p class="cf_txt cf_desc"><span th:text="|‘${deliveryAddrInfo.recipNm}’|"></span>님께 선물이 발송되었습니다.</p>
  446. </div>
  447. </th:block>
  448. </th:block>
  449. <!-- //배송지등록완료, 결제전취소, 결제후취소 아닐경우 -->
  450. <!-- 선물 취소 -->
  451. <th:block th:if="${ordDtl.ordDtlStat} == 'G013_98' and ${ordDtl.ordDtlStat} == 'G013_99'">
  452. <div class="goods_txt">
  453. <p class="cf_txt cf_desc">주소 입력 기한이 경과되어 선물이 취소 되었습니다.</p>
  454. </div>
  455. </th:block>
  456. <!-- //선물 취소 -->
  457. </th:block>
  458. <!-- //선물배송일때 -->
  459. <!-- //주문상태별 문구정보 정의 -->
  460. <!-- 사은품 영역 -->
  461. <th:block th:if="${#lists.size(order.ordDtlList) == status.count}">
  462. <th:block th:if="${order.freeGiftList != null and #lists.size(order.freeGiftList) > 0}">
  463. <div class="goods_gift">
  464. <div class="gift_wrap">
  465. <div class="title">사은품</div>
  466. <div class="li_gift">
  467. <ul>
  468. <th:block th:each="freeGift , j : ${order.freeGiftList}">
  469. <li>
  470. <span class="gift_name" th:text="${freeGift.goodsNm}"></span>
  471. <th:block th:if="${freeGift.usePoint} > 0">
  472. <span class="deduct_p" th:text="|(-${#numbers.formatInteger(freeGift.usePoint, 1, 'COMMA')}P)|"></span>
  473. </th:block>
  474. </li>
  475. </th:block>
  476. </ul>
  477. </div>
  478. </div>
  479. </div>
  480. </th:block>
  481. </th:block>
  482. <!-- //사은품 영역 -->
  483. </div>
  484. </th:block>
  485. </div>
  486. <input type="hidden" name="accountNo" th:value="${order.oneData.accountNo}"/>
  487. <input type="hidden" name="accountNm" th:value="${order.oneData.accountNm}"/>
  488. <input type="hidden" name="bankCd" th:value="${order.oneData.bankCd}"/>
  489. <input type="hidden" name="delvMemo" th:value="${deliveryAddrInfo.delvMemo}"/>
  490. </th:block>
  491. </div>
  492. <!-- 무통장입금정보 -->
  493. <th:block th:if="${paymentInfo.payMeans == 'G014_20'}">
  494. <div class="inner">
  495. <div class="tbl_wrap">
  496. <div class="tbl_tit">
  497. <h3>무통장 입금 정보</h3>
  498. </div>
  499. <div class="tbl type1">
  500. <table>
  501. <colgroup>
  502. <col width="107">
  503. <col width="*">
  504. </colgroup>
  505. <tr>
  506. <th>은행명/명의자</th>
  507. <td><div><span th:text="${paymentInfo.vaBank}"></span>/<span th:text="|(${paymentInfo.vaNm})|"></span></div></td>
  508. </tr>
  509. <tr>
  510. <th>계좌번호</th>
  511. <td><div><span th:text="${paymentInfo.vaNo}"></span></div></td>
  512. </tr>
  513. <tr>
  514. <th>입금기한</th>
  515. <td><div><span th:text="${paymentInfo.vaDeadlineYmd}"></span>&nbsp;<span th:text="${paymentInfo.vaDeadlineHms}"></span> 까지</div></td>
  516. </tr>
  517. </table>
  518. </div>
  519. </div>
  520. </div>
  521. </th:block>
  522. <!-- //무통장입금정보 -->
  523. <div class="inner wide">
  524. <!-- 폴딩리스트 -->
  525. <div class="ui_row">
  526. <div class="foldGroup customerfold">
  527. <ul>
  528. <li>
  529. <div class="fold_head">
  530. <a href="javascript:void(0)">
  531. <div>
  532. <div class="fold_tit">
  533. <div class="lap2"><span >주문고객</span></div>
  534. <span class="fold_txt" th:text="${orderInfo.ordNm}"></span>
  535. </div>
  536. </div>
  537. </a>
  538. </div>
  539. <div class="fold_cont">
  540. <div class="customer_info">
  541. <dl>
  542. <div>
  543. <dt><span class="sr-only">주문자명</span></dt>
  544. <dd th:text="${orderInfo.ordNm}"></dd>
  545. </div>
  546. <div>
  547. <dt><span class="sr-only">이메일</span></dt>
  548. <dd th:text="${orderInfo.ordEmail}"></dd>
  549. </div>
  550. <div>
  551. <dt><span class="sr-only">휴대폰 번호</span></dt>
  552. <dd th:text="${orderInfo.ordPhnno}"></dd>
  553. </div>
  554. </dl>
  555. </div>
  556. </div>
  557. </li>
  558. </ul>
  559. </div>
  560. </div>
  561. <!-- 폴딩리스트 -->
  562. </div>
  563. <div class="inner wide" th:if="${oneData.giftPackYn == 'N'}">
  564. <!-- 폴딩리스트 -->
  565. <div class="ui_row">
  566. <div class="foldGroup shipfold">
  567. <ul>
  568. <li>
  569. <div class="fold_head">
  570. <a href="javascript:void(0)">
  571. <div>
  572. <div class="fold_tit">
  573. <div class="lap2"><span>배송지 정보</span></div>
  574. <span class="fold_txt recipNm" th:text="${deliveryAddrInfo.recipNm}"></span>
  575. </div>
  576. </div>
  577. </a>
  578. </div>
  579. <div class="fold_cont">
  580. <div class="ship_info ship_edit">
  581. <!-- 배송비정보변경가능 -->
  582. <th:block th:if="${canChgAddr == 'Y'}">
  583. <button type="button" id="btn_adrsChange_pop" class="btn_popup" >
  584. <span>배송지 변경</span>
  585. </button>
  586. </th:block>
  587. <!-- //배송비정보변경가능 -->
  588. <dl>
  589. <div class="company">
  590. <dt><span class="sr-only">배송지명</span></dt>
  591. <dd>
  592. <span th:text="${deliveryAddrInfo.recipNm}" id="recipNm"></span>
  593. <div class="badge_wrap">
  594. <th:block th:if="${deliveryAddrInfo.defaultYn} == 'Y'">
  595. <em class="order_badge defaultYn">기본 배송지</em>
  596. </th:block>
  597. <em class="order_badge order_bullet_badge" style="display:none">총알배송</em>
  598. </div>
  599. </dd>
  600. </div>
  601. <div class="addr">
  602. <dt><span class="sr-only">배송주소</span></dt>
  603. <dd th:text="|${deliveryAddrInfo.recipBaseAddr} ${deliveryAddrInfo.recipDtlAddr}|" id="recipAddr"></dd>
  604. </div>
  605. <div class="phone">
  606. <dt><span class="sr-only">휴대폰 번호</span></dt>
  607. <dd th:text="${deliveryAddrInfo.recipPhnno}" id="recipPhnno"></dd>
  608. </div>
  609. <div class="ship_request">
  610. <dt>배송요청 사항</dt>
  611. <dd th:text="${deliveryAddrInfo.delvMemo}" id="delvMemo"></dd>
  612. </div>
  613. </dl>
  614. </div>
  615. </div>
  616. </li>
  617. </ul>
  618. </div>
  619. </div>
  620. <!-- 폴딩리스트 -->
  621. </div>
  622. <th:block th:if="${oneData.giftPackYn} == 'Y'">
  623. <div class="inner">
  624. <div class="gift_wrap">
  625. <h3>선물 받으실 분</h3>
  626. <div class="gift_con">
  627. <div class="gift_info">
  628. <span th:text="${deliveryAddrInfo.recipNm}"></span> / <span th:text="${deliveryAddrInfo.recipPhnno}"></span>
  629. </div>
  630. <div class="message">
  631. <p class="gift_tit">선물 메세지</p>
  632. <div class="content">
  633. <p th:text="${deliveryAddrInfo.giftMsg}" id="giftMsg"></p>
  634. </div>
  635. </div>
  636. </div>
  637. </div>
  638. </div>
  639. </th:block>
  640. <div class="inner">
  641. <div class="tbl_wrap pay_wrap">
  642. <div class="tbl_tit">
  643. <h3>결제 정보</h3>
  644. <!-- <strong class="pay"><span th:text="${#numbers.formatInteger(orderAmtInfo.ordAmt - orderAmtInfo.cnclRtnAmt + orderAmtInfo.realDelvAmt, 1, 'COMMA')}"></span>원</strong>-->
  645. <strong class="pay"><span th:text="${#numbers.formatInteger(orderAmtInfo.payAmt - orderAmtInfo.npayPntAmt - orderAmtInfo.pgCpnAmt, 1, 'COMMA')}"></span>원</strong>
  646. </div>
  647. <div class="tbl type1">
  648. <table>
  649. <colgroup>
  650. <col width="227">
  651. <col width="*">
  652. </colgroup>
  653. <tr>
  654. <td>
  655. <dl>
  656. <div>
  657. <dt>총주문금액(상품금액+배송비)</dt>
  658. <dd><div><span th:text="${#numbers.formatInteger((orderAmtInfo.ordAmt + orderAmtInfo.cpn1DcAmt) - orderAmtInfo.cnclRtnAmt + orderAmtInfo.realDelvAmt, 1, 'COMMA')}"></span>원</div></dd>
  659. </div>
  660. <th:block th:if="${orderAmtInfo.cpn1DcAmt} > 0">
  661. <div>
  662. <dt>즉시할인</dt>
  663. <dd><div><span th:text="|- ${#numbers.formatInteger(orderAmtInfo.cpn1DcAmt, 1, 'COMMA')}|"></span>원</div></dd>
  664. </div>
  665. </th:block>
  666. <th:block th:if="${orderAmtInfo.tmtb1DcAmt} + ${orderAmtInfo.tmtb2DcAmt} > 0">
  667. <div>
  668. <dt>다다익선 할인</dt>
  669. <dd><div><span th:text="|- ${#numbers.formatInteger(orderAmtInfo.tmtb1DcAmt + orderAmtInfo.tmtb2DcAmt, 1, 'COMMA')}|"></span>원</div></dd>
  670. </div>
  671. </th:block>
  672. <th:block th:if="${orderAmtInfo.cartCpnDcAmt} + ${orderAmtInfo.goodsCpnDcAmt} > 0">
  673. <div>
  674. <dt>쿠폰할인</dt>
  675. <dd><div><span th:text="|- ${#numbers.formatInteger(orderAmtInfo.cartCpnDcAmt + orderAmtInfo.goodsCpnDcAmt, 1, 'COMMA')}|"></span>원</div></dd>
  676. </div>
  677. </th:block>
  678. <th:block th:if="${orderAmtInfo.prePntDcAmt} > 0">
  679. <div>
  680. <dt>선 포인트 사용</dt>
  681. <dd><div><span th:text="|- ${#numbers.formatInteger(orderAmtInfo.prePntDcAmt, 1, 'COMMA')}|"></span>P</div></dd>
  682. </div>
  683. </th:block>
  684. <th:block th:if="${orderAmtInfo.pntDcAmt} > 0">
  685. <div>
  686. <dt>포인트 사용</dt>
  687. <dd><div><span th:text="|- ${#numbers.formatInteger(orderAmtInfo.pntDcAmt, 1, 'COMMA')}|"></span>P</div></dd>
  688. </div>
  689. </th:block>
  690. <th:block th:if="${orderAmtInfo.gfcdUseAmt} > 0">
  691. <div>
  692. <dt>상품권 사용</dt>
  693. <dd><div><span th:text="|- ${#numbers.formatInteger(orderAmtInfo.gfcdUseAmt + orderAmtInfo.delvGfcdUseAmt, 1, 'COMMA')}|"></span>원</div></dd>
  694. </div>
  695. </th:block>
  696. <th:block th:if="${orderAmtInfo.npayPntAmt} > 0">
  697. <div>
  698. <dt>마일리지 사용</dt>
  699. <dd><div><span th:text="|- ${#numbers.formatInteger(orderAmtInfo.npayPntAmt, 1, 'COMMA')}|"></span>원</div></dd>
  700. </div>
  701. </th:block>
  702. <th:block th:if="${orderAmtInfo.pgCpnAmt} > 0">
  703. <div>
  704. <dt>제휴 할인</dt>
  705. <dd><div><span th:text="|- ${#numbers.formatInteger(orderAmtInfo.pgCpnAmt, 1, 'COMMA')}|"></span>원</div></dd>
  706. </div>
  707. </th:block>
  708. <th:block th:if="${orderAmtInfo.savePntAmt} > 0">
  709. <div>
  710. <dt>적립예정 포인트</dt>
  711. <dd><div><span th:text="|${#numbers.formatInteger(orderAmtInfo.savePntAmt, 1, 'COMMA')}|"></span>P</div></dd>
  712. </div>
  713. </th:block>
  714. <div>
  715. <dt>결제수단</dt>
  716. <dd>
  717. <div>
  718. <span th:if="${paymentInfo.pgGb == 'NAVER'}">네이버 페이</span>
  719. <span th:if="${paymentInfo.pgGb == 'KAKAO'}">카카오 페이</span>
  720. <span th:if="${paymentInfo.pgGb == 'PAYCO'}">PAYCO</span>
  721. <span th:if="${paymentInfo.pgGb == 'KCP' and paymentInfo.payMeans == 'G014_10'}">실시간계좌이체</span>
  722. <span th:if="${paymentInfo.pgGb == 'KCP' and paymentInfo.payMeans == 'G014_20'}">무통장입금</span>
  723. <span th:if="${paymentInfo.pgGb == 'KCP' and paymentInfo.payMeans == 'G014_30'}" th:text="|${paymentInfo.cardNm}/${paymentInfo.cardMips}|"></span>
  724. <span th:if="${paymentInfo.pgGb == 'KCP' and paymentInfo.payMeans == 'G014_60'}">휴대폰결제</span>
  725. </div>
  726. </dd>
  727. </div>
  728. </dl>
  729. </td>
  730. </tr>
  731. </table>
  732. <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>
  733. <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>
  734. <th:block th:if="${diffDays < 90}">
  735. <button type="button" class="btn btn_default btn_sm" th:if="${orderAmtInfo.gfcdUseAmt > 0 and (cashReceiptsInfo == null or #strings.isEmpty(cashReceiptsInfo.authNo))}" th:attr="ordNo=${ordNo}" onclick="fnRequestCashReceipt(this);"><span>상품권 현금 영수증 신청</span></button>
  736. </th:block>
  737. <!--
  738. <button type="button" class="btn btn_default btn_sm" th:if="${orderAmtInfo.gfcdUseAmt > 0 and #strings.isEmpty(paymentInfo.cashAuthNo)}" th:attr="ordNo=${ordNo}" onclick="fnRequestCashReceipt(this);"><span>상품권 현금 영수증 신청</span></button>
  739. -->
  740. </div>
  741. <!-- 210415_ 추가 : 결제정보 안내 텍스트 추가 -->
  742. <p class="txt_ref">NPAY등의 대체결제수단으로 결제 시 해당 결제 플랫폼에서 영수증 확인이 가능합니다.</p>
  743. </div>
  744. <div class="btn_group btn_group_flex">
  745. <div>
  746. <button type="button" class="btn btn_dark" onclick="cfnGoToPage(_PAGE_MYPAGE_ORDER_LIST);"><span>확인</span></button>
  747. </div>
  748. </div>
  749. </div>
  750. </section>
  751. </main>
  752. <script src="/ux/plugins/gaga/gaga.paging.js"></script>
  753. <script th:inline="javascript">
  754. let giftMsg = [[${deliveryAddrInfo.giftMsg}]]; // 선물메세지
  755. let ordNo = [[${ordNo}]];
  756. var isLogin = [[${isLogin}]];
  757. let orderList = [[${orderList}]];
  758. let oneData = [[${oneData}]];
  759. let paymentInfo = [[${paymentInfo}]];
  760. let orderAmtInfo = [[${orderAmtInfo}]];
  761. let deliveryAddrInfo = [[${deliveryAddrInfo}]];
  762. //let kcpReceiptUrl = [[${@environment.getProperty('pg.kcp.receipt.url')}]];
  763. let kcpReceiptUrl = [[${kcpReceiptUrl}]];
  764. let jsonObj = {};
  765. //let delvMemo = [[${deliveryAddrInfo.delvMemo}]];
  766. $(document).ready(function() {
  767. // 타이틀명
  768. $('#htopTitle').text('주문상세');
  769. // 선물메시지
  770. if ($("#giftMsg").html() != null) {
  771. $("#giftMsg").html(giftMsg.replaceAll("\n", "</br>"));
  772. }
  773. // 2021.04.22 배송지정보수정
  774. /*
  775. var delvMemoArr = ["문 앞", "직접 받고 부재 시 문 앞", "경비실", "택배함"];
  776. var tempMemo = true;
  777. $(".ship_request .ship_option .delivery_list ul li").removeClass("selected");
  778. // 배송요청사항설정
  779. for (i=0 ; i<delvMemoArr.length ; i++) {
  780. if (delvMemoArr[i] == delvMemo) {
  781. tempMemo = false;
  782. }
  783. }
  784. // 배송메모설정
  785. $(".ship_request .ship_option .delivery_list ul li").each(function(){
  786. if (delvMemo == $(this).text()) {
  787. $(this).addClass("selected");
  788. }
  789. });
  790. if (tempMemo) {
  791. $(".ship_request .ship_option .delivery_list .select").text("기타사항");
  792. $("input[name=delvMemoText]").attr("disabled", false);
  793. $("input[name=delvMemoText]").val(delvMemo);
  794. $(".ship_request .ship_option .delivery_list ul li").eq(4).addClass("selected");
  795. }
  796. // 콤보박스
  797. var od_delivery_list = new sCombo('.ship_request .ship_option .delivery_list');
  798. // 210405_배송요청 사항 기타사항 selected시 기타사항 input 구현
  799. $(".ship_request .ship_option .delivery_list ul li").on("click", function(){
  800. if ($(".ship_request .ship_option .delivery_list ul .select_etc").hasClass("selected")){
  801. $(".ship_etc").show();
  802. } else {
  803. $(".ship_etc").hide();
  804. }
  805. });
  806. */
  807. // 버튼 클래스 설정
  808. $.each($('.btn_count'), function(idx, item) {
  809. if ($(item).children().length > 3 && !$(item).hasClass('col2')) {
  810. $(item).addClass('col2');
  811. }
  812. });
  813. });
  814. // 2.1 회원 배송지변경 팝업열기
  815. $('#btn_adrsChange_pop').on("click", function(){
  816. // 회원인경우
  817. if (isLogin == true) {
  818. $.ajax( {
  819. type : "POST",
  820. url : '/common/delvAddrChangePop',
  821. data : JSON.stringify(jsonObj),
  822. dataType : 'html',
  823. beforeSend : function(xhr, settings) {
  824. xhr.setRequestHeader("AJAX" , "true");
  825. xhr.setRequestHeader('Accept' , 'application/json');
  826. xhr.setRequestHeader('Content-Type' , 'application/json');
  827. },
  828. success : function(result) {
  829. $("#adrsChangePop .modal-dialog .modal-content").html(result);
  830. $("#adrsChangePop").modal("show");
  831. return false;
  832. }
  833. });
  834. }
  835. // 비회원인경우
  836. else {
  837. $.ajax( {
  838. type : "POST",
  839. url : '/common/delvAddrAddPop',
  840. data : JSON.stringify(jsonObj),
  841. dataType : 'html',
  842. beforeSend : function(xhr, settings) {
  843. xhr.setRequestHeader("AJAX" , "true");
  844. xhr.setRequestHeader('Accept' , 'application/json');
  845. xhr.setRequestHeader('Content-Type' , 'application/json');
  846. },
  847. success : function(result) {
  848. $("#adrsAddPop .modal-dialog .modal-content").html(result);
  849. $("#adrsAddPop").modal("show");
  850. }
  851. });
  852. }
  853. });
  854. // 전체취소 버튼 클릭 이벤트
  855. var fnAllCancel = function() {
  856. // 환불계좌 체크
  857. let accountNo = $('#mypageOrderDetailForm input[name=accountNo]').val();
  858. let accountNm = $('#mypageOrderDetailForm input[name=accountNm]').val();
  859. let bankCd = $('#mypageOrderDetailForm input[name=bankCd]').val();
  860. if (paymentInfo.payMeans == 'G014_20' && paymentInfo.payStat == 'G016_30' && (gagajf.isNull(accountNo) || gagajf.isNull(accountNm) || gagajf.isNull(bankCd))) {
  861. let data = {};
  862. data.ordNo = oneData.ordNo;
  863. data.accountNm = oneData.accountNm;
  864. let jsonData = JSON.stringify(data);
  865. $.ajax( {
  866. type : "POST",
  867. url : '/mypage/refund/account/register/popup/form',
  868. data : jsonData,
  869. dataType : 'html',
  870. beforeSend : function(xhr, settings) {
  871. xhr.setRequestHeader("AJAX" , "true");
  872. xhr.setRequestHeader('Accept' , 'application/json');
  873. xhr.setRequestHeader('Content-Type' , 'application/json');
  874. },
  875. success : function(result) {
  876. $("#refundPop .modal-dialog .modal-content").html(result);
  877. $("#refundPop").modal("show");
  878. }
  879. });
  880. return false;
  881. }
  882. mcxDialog.confirm('전체취소 처리하시겠습니까?', {
  883. cancelBtnText: "취소",
  884. sureBtnText: "확인",
  885. sureBtnClick: function(){
  886. // 취소요청 데이터 설정
  887. let url = '/mypage/cancel';
  888. // 주문상세번호 설정
  889. let ordDtlNoArr = [];
  890. $.each($('#mypageOrderDetailForm input[name=ordDtlNoArr]'), function(idx, item) {
  891. ordDtlNoArr.push($(item).val());
  892. });
  893. // 취소 수량 설정
  894. let cnclRtnReqQtyArr = [];
  895. $.each($('#mypageOrderDetailForm input[name=cnclRtnReqQtyArr]'), function(idx, item) {
  896. cnclRtnReqQtyArr.push($(item).val());
  897. });
  898. // 전체 취소 처리
  899. let data = {};
  900. data.ordNo = ordNo;
  901. data.chgReason = 'G686_10';
  902. data.chgReasonNm = '고객변심';
  903. data.accountNo = accountNo;
  904. data.accountNm = accountNm;
  905. data.bankCd = bankCd;
  906. data.isCustomer = true;
  907. data.reqGbn = 'cnclComplete';
  908. data.ordDtlNoArr = ordDtlNoArr;
  909. data.cnclRtnReqQtyArr = cnclRtnReqQtyArr;
  910. let jsonData = JSON.stringify(data);
  911. // 취소 처리 가능 여부 조회
  912. gagajf.ajaxJsonSubmit('/mypage/wms/cancel/available', jsonData, function(result) {
  913. let cancelYn = result.cancelYn;
  914. if (cancelYn == 'Y') {
  915. // 전체취소 처리
  916. gagajf.ajaxJsonSubmit(url, jsonData, function(result) {
  917. cfnGoToPage(_PAGE_MYPAGE_CRE_LIST);
  918. }, true);
  919. } else {
  920. mcxDialog.alert('이미 배송처리 되어 전체취소 처리에 실패 하였습니다.');
  921. }
  922. });
  923. }
  924. });
  925. }
  926. // 배송지 정보 설정
  927. var delvAddrSet = function(delvObj) {
  928. let delvAddrSq = deliveryAddrInfo.delvAddrSq;
  929. let recipNm = delvObj.recipNm;
  930. let recipPhnno = delvObj.recipPhnno;
  931. let recipZipcode = delvObj.recipZipcode;
  932. let recipBaseAddr = delvObj.recipBaseAddr;
  933. let recipDtlAddr = delvObj.recipDtlAddr;
  934. let delvMemo = delvObj.delvMemo;
  935. $('#recipNm').text(recipNm);
  936. $('#recipPhnno').text(recipPhnno);
  937. $('#recipAddr').text(recipBaseAddr + ' ' + recipDtlAddr);
  938. $('#delvMemo').text(delvMemo);
  939. $('#mypageOrderDetailForm .recipNm').text(recipNm);
  940. let url = '/mypage/change/delvery/addr';
  941. let data = {};
  942. data.ordNo = ordNo;
  943. data.delvAddrSq = delvAddrSq;
  944. data.recipNm = recipNm;
  945. data.recipPhnno = recipPhnno;
  946. data.recipZipcode = recipZipcode;
  947. data.recipBaseAddr = recipBaseAddr;
  948. data.recipDtlAddr = recipDtlAddr;
  949. data.delvMemo = delvMemo;
  950. let jsonData = JSON.stringify(data);
  951. gagajf.ajaxJsonSubmit(url, jsonData, function(result) {
  952. })
  953. }
  954. // 환불계좌 등록 콜백 처리
  955. var fnRegisterAccountCallback = function(result) {
  956. // 환불계좌 정보 설정
  957. $('#mypageOrderDetailForm input[name=accountNo]').val(result.accountNo);
  958. $('#mypageOrderDetailForm input[name=accountNm]').val(result.accountNm);
  959. $('#mypageOrderDetailForm input[name=bankCd]').val(result.bankCd);
  960. // 전체취소 처리
  961. fnAllCancel();
  962. }
  963. // 상품권 현금영수증 신청 처리
  964. var fnRequestCashReceipt = function(param) {
  965. let url = '/mypage/cash/receipts/request';
  966. let ordNo = $(param).attr('ordNo');
  967. let data = {};
  968. data.ordNo = ordNo;
  969. let jsonData = JSON.stringify(data);
  970. gagajf.ajaxJsonSubmit(url, jsonData, function(result) {
  971. cfnGoToPage(_PAGE_MYPAGE_ORDER_DETAIL + ordNo);
  972. }, true);
  973. }
  974. // 전체구매확정 버튼 클릭 이벤트
  975. var fnAllDecideOrder = function(param) {
  976. let orderDecisionArr = [];
  977. let ordNo = $(param).attr('ordNo');
  978. // 주문상세번호 설정
  979. $.each($('#mypageOrderDetailForm input[name=ordDtlNoArr]'), function(idx, item) {
  980. orderDecisionArr.push($(item).val());
  981. });
  982. if (orderDecisionArr.length == 0) {
  983. mcxDialog.alert('구매확정 가능한 상품이 없습니다.');
  984. return false;
  985. }
  986. mcxDialog.confirm('구매확정 후에는 반품/교환이 불가합니다. 구매확정하시겠습니까?', {
  987. cancelBtnText: "취소",
  988. sureBtnText: "확인",
  989. sureBtnClick: function(){
  990. let data = {};
  991. data.ordNo = ordNo;
  992. data.ordDtlNoArr = orderDecisionArr;
  993. var jsonData = JSON.stringify(data);
  994. gagajf.ajaxJsonSubmit('/mypage/order/decision'
  995. , jsonData
  996. , function() {
  997. if (typeof(fnReloadStatusCount) == 'function') {
  998. fnReloadStatusCount();
  999. } else {
  1000. cfnGoToPage(_PAGE_MYPAGE_ORDER_DETAIL + ordNo);
  1001. }
  1002. });
  1003. }
  1004. });
  1005. }
  1006. </script>
  1007. </th:block>
  1008. </body>
  1009. </html>