OrderFormWeb.html 89 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261126212631264126512661267126812691270127112721273127412751276127712781279128012811282128312841285128612871288128912901291129212931294129512961297129812991300130113021303130413051306130713081309131013111312131313141315131613171318131913201321132213231324132513261327132813291330133113321333133413351336133713381339134013411342134313441345134613471348134913501351135213531354135513561357135813591360136113621363136413651366136713681369137013711372137313741375137613771378137913801381138213831384138513861387138813891390139113921393139413951396139713981399140014011402140314041405140614071408140914101411141214131414141514161417141814191420142114221423142414251426142714281429143014311432143314341435143614371438143914401441144214431444144514461447144814491450145114521453145414551456145714581459146014611462146314641465146614671468146914701471147214731474147514761477147814791480148114821483148414851486148714881489149014911492149314941495149614971498149915001501150215031504150515061507150815091510151115121513151415151516151715181519152015211522152315241525152615271528152915301531153215331534153515361537153815391540154115421543154415451546154715481549155015511552155315541555155615571558155915601561156215631564156515661567156815691570157115721573157415751576157715781579158015811582158315841585158615871588158915901591159215931594159515961597159815991600160116021603160416051606160716081609161016111612161316141615161616171618161916201621162216231624162516261627162816291630163116321633163416351636163716381639164016411642164316441645164616471648164916501651165216531654165516561657165816591660166116621663166416651666166716681669167016711672167316741675167616771678167916801681168216831684168516861687168816891690169116921693169416951696169716981699170017011702170317041705170617071708170917101711171217131714171517161717171817191720172117221723172417251726172717281729173017311732173317341735173617371738173917401741174217431744174517461747174817491750175117521753175417551756175717581759176017611762176317641765176617671768176917701771177217731774177517761777177817791780178117821783178417851786178717881789179017911792179317941795179617971798179918001801180218031804180518061807180818091810181118121813181418151816181718181819182018211822182318241825182618271828182918301831183218331834183518361837183818391840184118421843184418451846184718481849185018511852185318541855185618571858185918601861186218631864186518661867186818691870187118721873187418751876187718781879188018811882188318841885188618871888188918901891189218931894189518961897189818991900190119021903190419051906190719081909191019111912191319141915191619171918191919201921192219231924192519261927192819291930193119321933193419351936193719381939194019411942194319441945194619471948194919501951195219531954195519561957195819591960196119621963196419651966196719681969197019711972197319741975197619771978197919801981198219831984198519861987198819891990199119921993199419951996199719981999200020012002200320042005200620072008200920102011201220132014201520162017201820192020202120222023202420252026202720282029203020312032203320342035203620372038203920402041204220432044204520462047204820492050205120522053205420552056205720582059206020612062206320642065206620672068206920702071207220732074207520762077207820792080208120822083208420852086208720882089209020912092209320942095209620972098209921002101210221032104210521062107210821092110211121122113211421152116211721182119212021212122212321242125212621272128212921302131213221332134213521362137213821392140214121422143214421452146214721482149215021512152215321542155215621572158215921602161216221632164216521662167216821692170217121722173217421752176217721782179218021812182218321842185218621872188218921902191219221932194219521962197219821992200220122022203220422052206220722082209221022112212221322142215221622172218221922202221222222232224222522262227222822292230223122322233223422352236223722382239224022412242224322442245224622472248224922502251225222532254225522562257225822592260226122622263226422652266226722682269227022712272227322742275227622772278227922802281228222832284228522862287228822892290229122922293229422952296229722982299230023012302230323042305230623072308230923102311231223132314231523162317231823192320232123222323232423252326232723282329233023312332233323342335233623372338233923402341234223432344234523462347234823492350235123522353235423552356235723582359236023612362236323642365236623672368236923702371237223732374237523762377237823792380238123822383238423852386238723882389239023912392239323942395239623972398239924002401240224032404240524062407240824092410241124122413241424152416241724182419242024212422242324242425242624272428242924302431243224332434243524362437243824392440244124422443244424452446244724482449245024512452245324542455245624572458245924602461246224632464246524662467246824692470247124722473247424752476247724782479248024812482248324842485248624872488248924902491249224932494249524962497249824992500250125022503250425052506250725082509251025112512251325142515251625172518251925202521252225232524252525262527252825292530253125322533253425352536
  1. <!DOCTYPE html>
  2. <html lang="ko" xmlns:th="http://www.thymeleaf.org" xmlns:layout="http://www.ultraq.net.nz/thymeleaf/layout" layout:decorator="web/common/layout/DefaultLayoutWeb">
  3. <!--
  4. *******************************************************************************
  5. * @source : OrderFormWeb.html
  6. * @desc : 주문/결제 Page
  7. *============================================================================
  8. * STYLE24
  9. * Copyright(C) 2020 TSIT, All rights reserved.
  10. *============================================================================
  11. * VER DATE AUTHOR DESCRIPTION
  12. * === =========== ========== =============================================
  13. * 1.0 2021.02.01 jsh77b 최초 작성
  14. *******************************************************************************
  15. -->
  16. <body>
  17. <th:block layout:fragment="content">
  18. <link rel="stylesheet" type="text/css" href="/ux/pc/css/swiper.min.css">
  19. <script type="text/javascript" src="/ux/pc/js/swiper.min.js"></script>
  20. <script type="text/javascript" src="/ux/pc/js/slick.min.js"></script>
  21. <script type="text/javascript" src="/ux/pc/js/jquery-ui.js"></script>
  22. <!-- payment.js -->
  23. <script type="text/javascript" th:src="${@environment.getProperty('pg.kcp.js.url')}" src=""></script>
  24. <script type="text/javascript" src="/biz/payment.js"></script>
  25. <!-- 주문정보form -->
  26. <form id="order_info" name="order_info" method="post" action="/order/pay/result/response" style="display:none"></form>
  27. <!-- //주문정보form -->
  28. <!-- 주문금액정보표현 -->
  29. <form id="orderAmtForm" name="orderAmtForm">
  30. <!-- 주문자정보 -->
  31. <table border="1" style="font-size:10px; text-align:center; margin-top:20px; display:none; width:100%;" name="orderInfo" id="orderInfo">
  32. <tbody>
  33. <tr style="height:30px;">
  34. <th>custNm</th>
  35. <th>email</th>
  36. <th>cellPhnno</th>
  37. <th>recipNm</th>
  38. <th>recipPhnno</th>
  39. <th>recipZipcode</th>
  40. <th>recipBaseAddr</th>
  41. <th>recipDtlAddr</th>
  42. <th>delvMemo</th>
  43. <th>sexGb</th>
  44. <th>birthYmd</th>
  45. </tr>
  46. <tr style="height:30px;">
  47. <td class="custNm"></td>
  48. <td class="email"></td>
  49. <td class="cellPhnno"></td>
  50. <td class="recipNm"></td>
  51. <td class="recipPhnno"></td>
  52. <td class="recipZipcode"></td>
  53. <td class="recipBaseAddr"></td>
  54. <td class="recipDtlAddr"></td>
  55. <td class="delvMemo"></td>
  56. <td class="sexGb"></td>
  57. <td class="birthYmd"></td>
  58. </tr>
  59. </tbody>
  60. </table>
  61. <!-- //주문자정보 -->
  62. <!-- 사은품정보 -->
  63. <table border="1" style="font-size:10px; text-align:center; margin-top:20px; display:none; width:100%;" name="freegiftInfo">
  64. <tr style="height:30px;">
  65. <th>freegiftValArr</th>
  66. <th>freegiftUsePointArr</th>
  67. <th>freegiftSqArr</th>
  68. <th>freegiftGoodsArr</th>
  69. </tr>
  70. <tr style="height:30px;">
  71. <td class="freegiftValArr"></td>
  72. <td class="freegiftUsePointArr"></td>
  73. <td class="freegiftSqArr"></td>
  74. <td class="freegiftGoodsArr"></td>
  75. </tr>
  76. </table>
  77. <!-- //사은품정보 -->
  78. <!-- 주문상세금액 -->
  79. <table border="1" style="font-size:10px; text-align:center; margin-top:20px; display:none; width:100%;" name="orderDetailInfo" id="orderDetailInfo">
  80. <tr style="height:30px;">
  81. <th>cartSq</th>
  82. <th style="display:none">goodsNm</th>
  83. <th>goodsCd</th>
  84. <th>goodsType</th>
  85. <th>itemCd</th>
  86. <th>optCd</th>
  87. <th style="display:none">optCd1</th>
  88. <th style="display:none">optCd2</th>
  89. <th style="display:none">itemQtyr</th>
  90. <th>orgCurrPrice</th>
  91. <th>cpn1CpnSq</th>
  92. <th>cpn1DcAmt</th>
  93. <th>optAddPrice</th>
  94. <th>goodsQty</th>
  95. <th>ordAmt</th>
  96. <th>tmtb1Sq</th>
  97. <th>tmtb1DcAmt</th>
  98. <th>tmtb2Sq</th>
  99. <th>tmtb2DcAmt</th>
  100. <th>goodsCpnSq</th>
  101. <th>goodsCpnDcAmt</th>
  102. <th>cartCpnSq</th>
  103. <th>cartCpnDcAmt</th>
  104. <th>prePntDcAmt1</th>
  105. <th>dcSumAmt</th>
  106. <th>pntDcAmt1</th>
  107. <th>gfcdUseAmt1</th>
  108. <th>realOrdAmt1</th>
  109. <th>savePntAmt1</th>
  110. <th>shotDelvYn</th>
  111. <th>foreignYn</th>
  112. <th>orderMadeYn</th>
  113. <th>delvFeeCd</th>
  114. </tr>
  115. <th:block th:each="delvAllCart, index : ${delvAllCartList}">
  116. <th:block th:if="${delvAllCart != null and #lists.size(delvAllCart) > 0}">
  117. <th:block th:each="goods, i : ${delvAllCart}">
  118. <tr style="height:30px;">
  119. <td class="cartSq" th:text="${goods.cartSq}"></td>
  120. <td class="goodsNm" th:text="${goods.goodsNm}" style="display:none"></td>
  121. <td class="goodsCd" th:text="${goods.goodsCd}"></td>
  122. <td class="goodsType" th:text="${goods.goodsType}"></td>
  123. <td class="itemCd" th:text="${goods.itemCd}"></td>
  124. <td class="optCd" th:text="${goods.optCd}"></td>
  125. <td class="optCd1" th:text="${goods.optCd1}" style="display:none"></td>
  126. <td class="optCd2" th:text="${goods.optCd2}" style="display:none"></td>
  127. <td class="itemQtyr" th:text="${goods.itemQtyr}" style="display:none"></td>
  128. <td class="orgCurrPrice" th:text="${goods.orgCurrPrice}"></td>
  129. <td class="cpn1CpnSq" th:text="${goods.cpn1CpnSq}"></td>
  130. <td class="cpn1DcAmt" th:text="${goods.orgCurrPrice} - ${goods.currPrice}"></td>
  131. <td class="optAddPrice" th:text="${goods.optAddPrice}"></td>
  132. <td class="goodsQty" th:text="${goods.goodsQty}"></td>
  133. <td class="ordAmt">0</td>
  134. <th:block th:if="${goods.applyQtySectionYn} == 'Y' and ${goods.qtyTmtbSq} > 0">
  135. <td class="tmtb1Sq" th:text="${goods.qtyTmtbSq}"></td>
  136. <td class="tmtb1DcAmt" th:text="${goods.tmtb1DcAmt}"></td>
  137. </th:block>
  138. <th:block th:if="${goods.applyQtySectionYn} != 'Y'">
  139. <td class="tmtb1Sq">0</td>
  140. <td class="tmtb1DcAmt">0</td>
  141. </th:block>
  142. <th:block th:if="${goods.applyAmtSectionYn} == 'Y' and ${goods.amtTmtbSq} > 0">
  143. <td class="tmtb2Sq" th:text="${goods.amtTmtbSq}"></td>
  144. <td class="tmtb2DcAmt" th:text="${goods.tmtb2DcAmt}"></td>
  145. </th:block>
  146. <th:block th:if="${goods.applyAmtSectionYn} != 'Y'">
  147. <td class="tmtb2Sq" >0</td>
  148. <td class="tmtb2DcAmt" >0</td>
  149. </th:block>
  150. <td class="goodsCpnSq">0</td>
  151. <td class="goodsCpnDcAmt">0</td>
  152. <td class="cartCpnSq">0</td>
  153. <td class="cartCpnDcAmt">0</td>
  154. <td class="prePntDcAmt1" th:text="${goods.prePntDcAmt}"></td>
  155. <td class="dcSumAmt">0</td>
  156. <td class="pntDcAmt1">0</td>
  157. <td class="gfcdUseAmt1">0</td>
  158. <td class="realOrdAmt1">0</td>
  159. <td class="savePntAmt1" th:text="${goods.savePntAmt}"></td>
  160. <td class="shotDelvYn" th:text="${goods.shotDelvYn}"></td>
  161. <td class="foreignBuyYn" th:text="${goods.foreignBuyYn}"></td>
  162. <td class="orderMadeYn" th:text="${goods.orderMadeYn}"></td>
  163. <td class="delvFeeCd" th:text="${goods.delvFeeCd}"></td>
  164. </tr>
  165. </th:block>
  166. </th:block>
  167. </th:block>
  168. </table>
  169. <!-- //주문상세금액 -->
  170. <!-- 배송단위목록 -->
  171. <table border="1" style="font-size:10px; text-align:center; margin-top:20px; display:none; width:100%;" name="delvFeeCdInfo" id="delvFeeCdInfo">
  172. <tr style="height:30px;">
  173. <th>supplyCompCd</th>
  174. <th>delvFeeCd</th>
  175. <th>delvFee</th>
  176. <th>delvCpnSq</th>
  177. <th>delvCpnDcAmt</th>
  178. </tr>
  179. <th:block th:each="delvFeeCd, index : ${delvFeeCdList}">
  180. <tr style="height:30px;">
  181. <td class="supplyCompCd" th:text="${delvFeeCd.supplyCompCd}"></td>
  182. <td class="delvFeeCd" th:text="${delvFeeCd.delvFeeCd}"></td>
  183. <td class="delvFee" th:text="${delvFeeCd.delvFee}"></td>
  184. <td class="delvCpnSq">0</td>
  185. <td class="delvCpnDcAmt">0</td>
  186. </tr>
  187. </th:block>
  188. </table>
  189. <!-- //배송단위목록 -->
  190. <!-- 주문금액합계 -->
  191. <table border="1" style="font-size:10px; text-align:center; margin-top:20px; display:none; width:100%;" name="orderSumAmtInfo" id="orderSumAmtInfo">
  192. <tr style="height:30px;">
  193. <th>orgGoodsSumAmt</th>
  194. <th>delvSumAmt</th>
  195. <th>freegiftUsePnt</th>
  196. <th>cpn1DcSumAmt</th>
  197. <th>ordSumAmt</th>
  198. <th>tmtb1DcSumAmt</th>
  199. <th>tmtb2DcSumAmt</th>
  200. <th>tmtbDcSumAmt</th>
  201. <th>goodsCpnDcSumAmt</th>
  202. <th>cartCpnDcSumAmt</th>
  203. <th>delvCpnDcSumAmt</th>
  204. <th>cpnDcSumAmt</th>
  205. <th>prePntDcAmt</th>
  206. <th>pntDcSumAmt</th>
  207. <th>gfcdUseSumAmt</th>
  208. <th>realOrdSumAmt</th>
  209. <th>savePntSumAmt</th>
  210. </tr>
  211. <tr style="height:30px;">
  212. <td class="orgGoodsSumAmt">0</td>
  213. <td class="delvSumAmt" th:text="${sumDelvFee}"></td>
  214. <td class="freegiftUsePnt">0</td>
  215. <td class="cpn1DcSumAmt">0</td>
  216. <td class="ordSumAmt">0</td>
  217. <td class="tmtb1DcSumAmt">0</td>
  218. <td class="tmtb2DcSumAmt">0</td>
  219. <td class="tmtbDcSumAmt">0</td>
  220. <td class="goodsCpnDcSumAmt">0</td>
  221. <td class="cartCpnDcSumAmt">0</td>
  222. <td class="delvCpnDcSumAmt">0</td>
  223. <td class="cpnDcSumAmt">0</td>
  224. <td class="prePntDcSumAmt">0</td>
  225. <td class="pntDcSumAmt">0</td>
  226. <td class="gfcdUseSumAmt">0</td>
  227. <td class="realOrdSumAmt">0</td>
  228. <td class="savePntSumAmt">0</td>
  229. </tr>
  230. </table>
  231. <!-- //주문금액합계 -->
  232. </form>
  233. <!-- //주문금액정보표현 -->
  234. <!-- 주문고객정보 -->
  235. <form id="orderForm" name="orderForm">
  236. <div id="container" class="container od">
  237. <div class="wrap">
  238. <div class="content odPayment">
  239. <!-- 페이지특정 클래스 = odPayment -->
  240. <div class="cont_head">
  241. <h2>주문/결제</h2>
  242. <div class="oder_steps">
  243. <ul>
  244. <li>01 쇼핑백</li>
  245. <li class="on">02 주문/결제</li>
  246. <li>03 주문완료</li>
  247. </ul>
  248. </div>
  249. </div>
  250. <div class="cont_body">
  251. <!-- CONT-BODY -->
  252. <div class="od_cont">
  253. <form class="form_wrap">
  254. <div class="sec_head">
  255. <div class="tbl type4">
  256. <table>
  257. <colgroup>
  258. <col width="240">
  259. <col width="*">
  260. </colgroup>
  261. <tbody>
  262. <tr>
  263. <th>총 <span class="number" id="delvFeeCdCnt" th:text="${delvFeeCdCnt}"></span> 건으로 나뉘어 배송 예정</th>
  264. <td>
  265. <span> 총알배송<em class="number" th:text="${shotCnt}" id="shotCnt"></em>건</span>
  266. <span> STYLE24<em class="number" th:text="${wmsCnt}" id="wmsCnt"></em>건</span>
  267. <span> 업체직배송<em class="number" th:text="${delvCnt}"></em>건</span>
  268. <span> 예약배송<em class="number" th:text="${resCnt}"></em>건</span>
  269. </td>
  270. </tr>
  271. </tbody>
  272. </table>
  273. </div>
  274. </div>
  275. <div class="sec_body">
  276. <!-- -->
  277. <div class="foldGroup">
  278. <ul>
  279. <!-- 주문고객정보 -->
  280. <li class="fold_mbinfo" id="custemerInfo" style="display:none"></li>
  281. <!-- //주문고객정보 -->
  282. <!-- 배송지정보 -->
  283. <li class="fold_mbinfo" id="deliveryAddrInfo" style="display:none"></li>
  284. <!-- //배송지정보 -->
  285. <!-- //사은품정보 -->
  286. <li id="freegiftInfo" style="display:none"></li>
  287. <!-- //사은품정보 -->
  288. <!-- 할인/혜택 사용 -->
  289. <li id="dcAmtInfo" style="display:none"></li>
  290. <!-- //할인/혜택 사용 -->
  291. <!-- 결제수단 선택 -->
  292. <li class="fold_paymethod" id="paymentInfo" style="display:none"></li>
  293. <!-- //결제수단 선택 -->
  294. </ul>
  295. </div>
  296. <div class="area_paymentinfo">
  297. <div class="paymentinfo">
  298. <div class="payinfo_blk">
  299. <a href="">개인정보 제공에 대한 동의<span>보기</span></a>
  300. <div class="infotxt">STYLE24는 다음과 같이 회원님의 개인정보를 제3자에게 제공합니다.
  301. <table>
  302. <colgroup>
  303. <col width="25%">
  304. <col width="*">
  305. <col width="25%">
  306. <col width="25%">
  307. </colgroup>
  308. <thead>
  309. <tr>
  310. <th>제공받는 자</th>
  311. <th>제공하는 항목</th>
  312. <th>제공 목적</th>
  313. <th>보유 및 이용기간</th>
  314. </tr>
  315. </thead>
  316. <tbody>
  317. <tr>
  318. <td>서울보증보험㈜, ㈜유세이프</td>
  319. <td>
  320. 구매자명, 구매자 생년월일,
  321. 구매자 성별, 구매자 연락처
  322. (일반전화 및 핸드폰), 구매자
  323. 이메일, 주문번호,
  324. 배송지 정보, 주문 금액
  325. </td>
  326. <td>쇼핑몰보증보험 가입 및 보험가입 제반 사항</td>
  327. <td>개별서비스 제공기간</td>
  328. </tr>
  329. <tr>
  330. <td>더비오유컴퍼니 주식회사</td>
  331. <td>성명, 주소, 연락처</td>
  332. <td>주문상품의 배송, 고객상담 및 불만처리</td>
  333. <td>이용목적 달성 시 까지</td>
  334. </tr>
  335. </tbody>
  336. </table>
  337. </div>
  338. </div>
  339. <!--
  340. <div class="payinfo_blk">
  341. <a href="">결제대행 서비스 약관 동의<span>보기</span></a>
  342. <div class="infotxt">
  343. 결제대행서비스 약관 동의 내용입니다.결제대행서비스 약관 동의 내용입니다.결제대행서비스 약관 동의 내용입니다.결제대행서비스 약관 동의 내용입니다.결제대행서비스 약관 동의 내용입니다.결제대행서비스 약관 동의 내용입니다.결제대행서비스 약관 동의 내용입니다.결제대행서비스 약관 동의 내용입니다.결제대행서비스 약관 동의 내용입니다.결제대행서비스 약관 동의 내용입니다.결제대행서비스 약관 동의 내용입니다.결제대행서비스 약관 동의 내용입니다.결제대행서비스 약관 동의 내용입니다.결제대행서비스 약관 동의 내용입니다.결제대행서비스 약관 동의 내용입니다.결제대행서비스 약관 동의 내용입니다.결제대행서비스 약관 동의 내용입니다.결제대행서비스 약관 동의 내용입니다.결제대행서비스 약관 동의 내용입니다.결제대행서비스 약관 동의 내용입니다.결제대행서비스 약관 동의 내용입니다.결제대행서비스 약관 동의 내용입니다.결제대행서비스 약관 동의 내용입니다.결제대행서비스 약관 동의 내용입니다.결제대행서비스 약관 동의 내용입니다.결제대행서비스 약관 동의 내용입니다.결제대행서비스 약관 동의 내용입니다.결제대행서비스 약관 동의 내용입니다.결제대행서비스 약관 동의 내용입니다.결제대행서비스 약관 동의 내용입니다.결제대행서비스 약관 동의 내용입니다.결제대행서비스 약관 동의 내용입니다.결제대행서비스 약관 동의 내용입니다.결제대행서비스 약관 동의 내용입니다.결제대행서비스 약관 동의 내용입니다.결제대행서비스 약관 동의 내용입니다.
  344. </div>
  345. </div>
  346. -->
  347. </div>
  348. <div class="agree_payment">
  349. 위 주문내역을 확인 하였으며, 회원 본인은 결제에 동의합니다. (전자상거래법 제 8조 제2항)
  350. </div>
  351. </div>
  352. <div class="area_paybtn">
  353. <div class="form_field">
  354. <button type="button" class="btn btn_primary btn_block" id="btn_payment">
  355. <span>동의 후 <em class="realOrdAmt"></em> 결제하기</span>
  356. </button>
  357. </div>
  358. </div>
  359. </div>
  360. </form>
  361. </div>
  362. <div class="od_side">
  363. <div class="area_order">
  364. <div class="tit_box">
  365. <h3>주문내역</h3>
  366. <span> <em class="number" th:text="${goodsTotCnt}"></em> 개의 상품
  367. </span>
  368. </div>
  369. <div id="orderListInfo" style="display:none"></div>
  370. <div class="od_amount_box">
  371. <dl>
  372. <div>
  373. <dt>상품금액</dt>
  374. <dd id="orgGoodsSumAmt" th:text="|${#numbers.formatInteger(listSumAmt, 1, 'COMMA')} 원|"></dd>
  375. </div>
  376. <div>
  377. <dt>배송비</dt>
  378. <dd id="delvSumAmt" th:text="|${#numbers.formatInteger(sumDelvFee, 1, 'COMMA')} 원|"></dd>
  379. </div>
  380. <div>
  381. <dt>상품할인금액</dt>
  382. <th:block th:if="${goodsDcSumAmt} > 0">
  383. <dd><span class="disc_amount" th:text="|-${#numbers.formatInteger(goodsDcSumAmt, 1, 'COMMA')} 원|"></span></dd>
  384. </th:block>
  385. <th:block th:if="${goodsDcSumAmt} < 1">
  386. <dd><span class="disc_amount" th:text="|${#numbers.formatInteger(goodsDcSumAmt, 1, 'COMMA')} 원|"></span></dd>
  387. </th:block>
  388. </div>
  389. <div>
  390. <dt>즉시할인금액</dt>
  391. <th:block th:if="${cpn1DcSumAmt} > 0">
  392. <dd><span class="disc_amount" id="cpn1DcSumAmt" th:text="|-${#numbers.formatInteger(cpn1DcSumAmt, 1, 'COMMA')} 원|"></span></dd>
  393. </th:block>
  394. <th:block th:if="${cpn1DcSumAmt} < 1">
  395. <dd><span class="disc_amount" id="cpn1DcSumAmt" th:text="|${#numbers.formatInteger(cpn1DcSumAmt, 1, 'COMMA')} 원|"></span></dd>
  396. </th:block>
  397. </div>
  398. <!-- 회원인경우 노출 -->
  399. <th:block th:if="${isLogin}">
  400. <div>
  401. <dt>다다익선할인금액</dt>
  402. <th:block th:if="${tmtbDcSumAmt} > 0">
  403. <dd><span class="disc_amount" id="tmtbDcSumAmt" th:text="|-${#numbers.formatInteger(tmtbDcSumAmt, 1, 'COMMA')} 원|"></span></dd>
  404. </th:block>
  405. <th:block th:if="${tmtbDcSumAmt} < 1">
  406. <dd><span class="disc_amount" id="tmtbDcSumAmt" th:text="|${#numbers.formatInteger(tmtbDcSumAmt, 1, 'COMMA')} 원|"></span></dd>
  407. </th:block>
  408. </div>
  409. <div>
  410. <dt>쿠폰할인</dt>
  411. <dd><span class="disc_amount" id="couponDcSumAmt"></span></dd>
  412. </div>
  413. <div>
  414. <dt>선포인트 사용</dt>
  415. <th:block th:if="${prePntDcAmt} > 0">
  416. <dd><span class="disc_amount" id="prePntDcAmt" th:text="|-${#numbers.formatInteger(prePntDcAmt, 1, 'COMMA')} 원|"></span></dd>
  417. </th:block>
  418. <th:block th:if="${prePntDcAmt} < 1">
  419. <dd><span class="disc_amount" id="prePntDcAmt" th:text="|${#numbers.formatInteger(prePntDcAmt, 1, 'COMMA')} 원|"></span></dd>
  420. </th:block>
  421. </div>
  422. <div>
  423. <dt>포인트 사용</dt>
  424. <dd><span class="disc_amount" id="pntDcAmt"></span></dd>
  425. </div>
  426. <div>
  427. <dt>상품권 사용</dt>
  428. <dd><span class="disc_amount" id="gfcdUseAmt"></span></dd>
  429. </div>
  430. </th:block>
  431. </dl>
  432. </div>
  433. <div class="totalprice_box">
  434. <dl>
  435. <dt>총 결제 예정 금액</dt>
  436. <dd><span id="realOrdAmt"></span> 원</dd>
  437. </dl>
  438. <p class="info_point">
  439. <!-- 회원인경우 노출 -->
  440. <th:blcok th:if="${isLogin}">
  441. <span span class="save_point" id="savePntSumAmt" th:text="|${#numbers.formatInteger(savePntSumAmt, 1, 'COMMA')} P|"></span> 적립예정
  442. </th:blcok>
  443. <!-- 비회원인경우 노출-->
  444. <th:blcok th:if="!${isLogin}">
  445. 회원가입 후 구매하면&nbsp;&nbsp;<span span class="save_point" id="savePntSumAmt" th:text="|${#numbers.formatInteger(savePntSumAmt, 1, 'COMMA')} P|"></span> 적립예정
  446. </th:blcok>
  447. </p>
  448. </div>
  449. </div>
  450. </div>
  451. <!-- // CONT-BODY -->
  452. </div>
  453. </div>
  454. </div>
  455. </div>
  456. </form>
  457. <!-- 사은품지급안내 팝업 -->
  458. <div class="modal fade infoGift_pop" id="infoGiftPop" tabindex="-1" role="dialog" aria-labelledby="infoGiftLabel" aria-hidden="true">
  459. <div class="modal-dialog" role="document">
  460. <div class="modal-content">
  461. <div class="modal-header"><h5 class="modal-title" id="infoGiftLabel">STYLE24 사은품 지급 안내</h5></div>
  462. <div class="modal-body">
  463. <div class="pop_cont">
  464. <div class="cont_box">
  465. <ul>
  466. <li>스타일포인트 차감 사은품을 선택하신 경우, 결제 시 고객님의 누적 포인트에서 차감됩니다.</li>
  467. <li>보유한 포인트의 금액을 넘어선 사은품은 신청이 불가합니다.</li>
  468. <li>사은품 신청 시 해외배송은 불가합니다. <br> <span class="t_info">(적립포인트 사은품 및 온라인 사은품 제외)</span></li>
  469. </ul>
  470. </div>
  471. </div>
  472. </div>
  473. </div>
  474. </div>
  475. <a href="#close-modal" rel="modal:close" id="infoGiftPop_close" class="close-modal">Close</a>
  476. </div>
  477. <!-- //사은품지급안내 팝업 -->
  478. <!-- 할인쿠폰 변겅 팝업 -->
  479. <div class="modal fade couponModify_pop" id="couponModifyPop" tabindex="-1" role="dialog" aria-labelledby="couponModifyLabel" aria-hidden="true">
  480. <div class="modal-dialog" role="document">
  481. <div class="modal-content">
  482. <!-- 할인쿠폰 변겅 팝업 내용 -->
  483. </div>
  484. </div>
  485. <a href="#close-modal" rel="modal:close" id="couponModifyPop_close" class="close-modal">Close</a>
  486. </div>
  487. <!-- //할인쿠폰 변겅 팝업 -->
  488. <script th:inline="javascript">
  489. // 배송관련정보 변수선언
  490. var cartGoodsList = [[${cartGoodsList}]] // 배송목록
  491. var shotCnt = [[${shotCnt}]]; // 자사 총알 배송건수
  492. var wmsCnt = [[${wmsCnt}]]; // 자사 일반 배송건수
  493. var shotWmsCnt = [[${shotWmsCnt}]]; // 자사 총알,일반 배송건수
  494. var resCnt = [[${resCnt}]]; // 자사 예약 배송건수
  495. var delvCnt = [[${delvCnt}]]; // 입점 일반 배송건수
  496. var orgSumDelvFee = [[${sumDelvFee}]]; // 최초배송비합계
  497. var prePntDcAmt = [[${prePntDcAmt}]]; // 선포인트사용가능금액
  498. var custNm = [[${order.custNm}]]; // 주문자명
  499. var cellPhnno = [[${order.cellPhnno}]]; // 핸드폰번호
  500. var email = [[${order.email}]]; // 이메일
  501. var recipZipcode = [[${order.recipZipcode}]]; // 우편번호
  502. var recipBaseAddr = [[${order.recipBaseAddr}]]; // 기본주소
  503. var recipDtlAddr = [[${order.recipDtlAddr}]]; // 상세주소
  504. var cartSqArr = [[${order.cartSqArr}]]; // 장바구니시퀀스 목록
  505. var shotDelvUseYn = [[${order.shotDelvUseYn}]]; // 총알배송사용여부(장바구니)
  506. var shotDelvYn = [[${order.shotDelvUseYn}]]; // 총알배송사용여부(장바구니)
  507. var foreignBuyYn = [[${order.foreignBuyYn}]]; // 해외구매대행
  508. var foreignBuyYn = [[${foreignBuyYn}]]; // 해외구매대행여부
  509. var orderMadeYn = [[${orderMadeYn}]]; // 주문제작상품여부
  510. var isLogin = [[${isLogin}]]; // 로그인여부
  511. var devTempYn = [[${devTempYn}]]; // 개발자모드가능여부
  512. var custCpnSq = 0;
  513. var cpnIndex = 0;
  514. var cpnApplyTemp = false;
  515. //AJAX 로드를 위한 변수 설정
  516. var jsonObj = {};
  517. // 컨텐츠 호출
  518. $(document).ready( function() {
  519. var dispYn = "N";
  520. // 장바구니시퀀스 배열 변환
  521. cartSqArr = String(cartSqArr).split(",");
  522. if (isLogin == false) {
  523. dispYn = "Y";
  524. }
  525. // AJAX 로드를 위한 변수 설정
  526. jsonObj = {
  527. "custNm" : custNm
  528. , "cellPhnno" : cellPhnno
  529. , "email" : email
  530. , "recipZipcode" : recipZipcode
  531. , "recipBaseAddr" : recipBaseAddr
  532. , "recipDtlAddr" : recipDtlAddr
  533. , "cartSqArr" : cartSqArr
  534. , "dispYn" : dispYn
  535. , "shotDelvYn" : shotDelvUseYn
  536. , "shotDelvUseYn" : shotDelvUseYn
  537. , "foreignBuyYn" : foreignBuyYn
  538. , "orderMadeYn" : orderMadeYn
  539. , "custDelvAddrSq" : 0
  540. , "cartGoodsList" : cartGoodsList
  541. }
  542. jsonData = JSON.stringify(jsonObj);
  543. // 1. AJAX 정보(회원정보로드)
  544. custemerInfoSet();
  545. // 999. 개발화면정보설정
  546. var devTemp = false;
  547. var arr = []
  548. arr[0] = "orderInfo";
  549. arr[1] = "freegiftInfo";
  550. arr[2] = "orderDetailInfo";
  551. arr[3] = "delvFeeCdInfo";
  552. arr[4] = "orderSumAmtInfo";
  553. // 개발자모드실행
  554. if (devTemp == true && devTempYn == true) {
  555. $("table").each(function(){
  556. var name = $(this).attr("name");
  557. for (i=0 ; i<arr.length ; i++) {
  558. if (name == arr[i]) {
  559. $(this).show();
  560. }
  561. }
  562. });
  563. }
  564. });
  565. // 1. 함수기능 정의
  566. // 1.1 고객정보로드
  567. var custemerInfoSet = function() {
  568. $.ajax( {
  569. type : "POST",
  570. url : '/order/custemerInfo',
  571. data : JSON.stringify(jsonObj),
  572. dataType : 'html',
  573. beforeSend : function(xhr, settings) {
  574. xhr.setRequestHeader("AJAX" , "true");
  575. xhr.setRequestHeader('Accept' , 'application/json');
  576. xhr.setRequestHeader('Content-Type' , 'application/json');
  577. },
  578. success : function(result) {
  579. if (result != null) {
  580. $("#custemerInfo").css("display", "block");
  581. $("#custemerInfo").html(result);
  582. // 고객정보설정
  583. $("#orderAmtForm .custNm").text($("#orderForm input[name='custNm']").val());
  584. $("#orderAmtForm .email").text($("#orderForm input[name='email']").val());
  585. $("#orderAmtForm .cellPhnno").text($("#orderForm input[name='cellPhnno']").val());
  586. $("#orderAmtForm .sexGb").text($("#orderForm input[name='sexGb']").val());
  587. $("#orderAmtForm .birthYmd").text($("#orderForm input[name='birthYmd']").val());
  588. }
  589. // 1.2 배송정보로드
  590. deliveryAddrInfoSet(jsonObj, true);
  591. }
  592. });
  593. }
  594. // 1.2 배송정보로드
  595. var deliveryAddrInfoSet = function(delvObj, temp) {
  596. // 2021.04.29 AJAX 로드를 위한 변수 설정
  597. delvObj.foreignBuyYn = foreignBuyYn;
  598. delvObj.orderMadeYn = orderMadeYn;
  599. $.ajax( {
  600. type : "POST",
  601. url : '/order/deliveryAddrInfo',
  602. data : JSON.stringify(delvObj),
  603. dataType : 'html',
  604. beforeSend : function(xhr, settings) {
  605. xhr.setRequestHeader("AJAX" , "true");
  606. xhr.setRequestHeader('Accept' , 'application/json');
  607. xhr.setRequestHeader('Content-Type' , 'application/json');
  608. },
  609. success : function(result) {
  610. $("#deliveryAddrInfo").css("display", "block");
  611. $("#deliveryAddrInfo").html(result);
  612. // 배송정보설정
  613. $("#orderAmtForm .recipNm").text($("#orderForm input[name='recipNm']").val());
  614. $("#orderAmtForm .recipPhnno").text($("#orderForm input[name='recipPhnno']").val());
  615. $("#orderAmtForm .recipZipcode").text($("#orderForm input[name='recipZipcode']").val());
  616. $("#orderAmtForm .recipBaseAddr").text($("#orderForm input[name='recipBaseAddr']").val());
  617. $("#orderAmtForm .recipDtlAddr").text($("#orderForm input[name='recipDtlAddr']").val());
  618. $("#orderAmtForm .delvMemo").text($("#orderForm input[name='delvMemo']").val());
  619. // 2. 버튼기능구현
  620. // 2.1 회원 배송지변경 팝업열기
  621. $('#btn_adrsChange_pop').on("click", function(){
  622. // 회원인경우
  623. if (isLogin == true) {
  624. $.ajax( {
  625. type : "POST",
  626. url : '/common/delvAddrChangePop',
  627. data : JSON.stringify(jsonObj),
  628. dataType : 'html',
  629. beforeSend : function(xhr, settings) {
  630. xhr.setRequestHeader("AJAX" , "true");
  631. xhr.setRequestHeader('Accept' , 'application/json');
  632. xhr.setRequestHeader('Content-Type' , 'application/json');
  633. },
  634. success : function(result) {
  635. $("#adrsChangePop .modal-dialog .modal-content").html(result);
  636. $("#adrsChangePop").modal("show");
  637. }
  638. });
  639. }
  640. // 비회원인경우
  641. else {
  642. $.ajax( {
  643. type : "POST",
  644. url : '/common/delvAddrAddPop',
  645. data : JSON.stringify(jsonObj),
  646. dataType : 'html',
  647. beforeSend : function(xhr, settings) {
  648. xhr.setRequestHeader("AJAX" , "true");
  649. xhr.setRequestHeader('Accept' , 'application/json');
  650. xhr.setRequestHeader('Content-Type' , 'application/json');
  651. },
  652. success : function(result) {
  653. $("#adrsAddPop .modal-dialog .modal-content").html(result);
  654. $("#adrsAddPop").modal("show");
  655. }
  656. });
  657. }
  658. });
  659. // 2.2 배송요청사항 팝업열기
  660. $("#btn_rqstModify_pop").on("click", function(e){
  661. var jsonObj = new Object();
  662. jsonObj.delvMemo = $("#orderForm input[name=delvMemo]").val();
  663. $.ajax({
  664. type : "POST",
  665. url : "/common/delvMemoChangePop",
  666. data : JSON.stringify(jsonObj),
  667. dataType : "html",
  668. beforeSend : function(xhr, settings) {
  669. xhr.setRequestHeader("AJAX" , "true");
  670. xhr.setRequestHeader('Accept' , 'application/json');
  671. xhr.setRequestHeader('Content-Type' , 'application/json');
  672. },
  673. success : function(result) {
  674. if (result != null) {
  675. $("#rqstModifyPop .modal-dialog .modal-content").html(result);
  676. $("#rqstModifyPop").modal("show");
  677. }
  678. }
  679. });
  680. return false;
  681. });
  682. // 1.3 총알배송가능 지역, 총알배송 가능 시간 체크(초기로드정보)
  683. fnGetDailyDeliveryCheck(temp);
  684. }
  685. });
  686. }
  687. // 1.3 총알배송가능 지역, 총알배송 가능 시간 체크
  688. var fnGetDailyDeliveryCheck = function (temp) {
  689. jsonData = JSON.stringify(jsonObj);
  690. // 장바구니 총알배송 사용여부 체크 N
  691. if (shotDelvUseYn == "N") {
  692. // 초기에 한번 데이타 로드
  693. if (temp) {
  694. // 1.4 주문상품목록로드
  695. orderListInfoSet(jsonData, temp);
  696. }
  697. } else {
  698. // 배송지 우편번호 체크
  699. var zipcode = $("#orderForm input[name='recipZipcode']").val();
  700. // 총알배송여부 체크 배송지정보 존재여부 체크
  701. if (zipcode == null || zipcode == '') {
  702. //alert("배송지정보가 없습니다. 기본 총알배송 가능지역으로 설정 합니다.");
  703. zipcode = "04320"; // 기본 서울역 우편번호로 설정
  704. }
  705. // TODO
  706. var shotDelvObj = {"zipNo" : zipcode};
  707. gagajf.ajaxJsonSubmit(
  708. "/order/getDailyDeliveryCheck"
  709. , JSON.stringify(shotDelvObj)
  710. , function (result) {
  711. // 총알배송여부체크
  712. var tempShotDelvYn = "N";
  713. if (parseInt(result) > 0) {
  714. tempShotDelvYn = "Y";
  715. }
  716. // json 값 설정
  717. var orderListObj = {
  718. "cartSqArr" : cartSqArr
  719. , "shotDelvYn" : tempShotDelvYn
  720. , "cartGoodsList" : cartGoodsList
  721. };
  722. var orderListJsonData = JSON.stringify(orderListObj);
  723. if (temp) {
  724. // 1.3 주문상품목록로드
  725. orderListInfoSet(orderListJsonData, temp);
  726. } else {
  727. if (tempShotDelvYn != shotDelvYn) {
  728. orderListInfoSet(orderListJsonData, temp);
  729. }
  730. }
  731. shotDelvYn = tempShotDelvYn;
  732. }
  733. )
  734. }
  735. }
  736. // 1.4 주문상품목록로드
  737. var orderListInfoSet = function(orderListJsonData, temp) {
  738. $.ajax( {
  739. type : "POST",
  740. url : '/order/orderListInfo',
  741. data : orderListJsonData,
  742. dataType : 'html',
  743. beforeSend : function(xhr, settings) {
  744. xhr.setRequestHeader("AJAX" , "true");
  745. xhr.setRequestHeader('Accept' , 'application/json');
  746. xhr.setRequestHeader('Content-Type' , 'application/json');
  747. },
  748. success : function(result) {
  749. if (result != null) {
  750. $("#orderListInfo").css("display", "block");
  751. $("#orderListInfo").html(result);
  752. $("#delvFeeCdCnt").text($("#orderForm input[name=delvFeeCdCnt]").val());
  753. $("#shotCnt").text($("#orderForm input[name=shotCnt]").val());
  754. $("#wmsCnt").text($("#orderForm input[name=wmsCnt]").val());
  755. // 총알배송건수가 있으면 총알배송 태그 표시
  756. if (parseInt($("#orderForm input[name=shotCnt]").val()) > 0 ) {
  757. $("#orderForm .shotDelv").show();
  758. } else {
  759. $("#orderForm .shotDelv").hide();
  760. }
  761. }
  762. // 1.5 사은품정보로드
  763. if (temp) {
  764. freegiftInfoSet();
  765. }
  766. }
  767. });
  768. }
  769. // 1.5 사은품정보로드
  770. var freegiftInfoSet = function() {
  771. $.ajax( {
  772. type : "POST",
  773. url : '/order/freegiftInfo',
  774. data : JSON.stringify(jsonObj),
  775. dataType : 'html',
  776. beforeSend : function(xhr, settings) {
  777. xhr.setRequestHeader("AJAX" , "true");
  778. xhr.setRequestHeader('Accept' , 'application/json');
  779. xhr.setRequestHeader('Content-Type' , 'application/json');
  780. },
  781. success : function(result) {
  782. if (result != null) {
  783. $("#freegiftInfo").html(result);
  784. var total_gift = 0;
  785. var total_deduct = 0;
  786. // 2.2 사은품선택 라디오 버튼 기능
  787. $("#orderForm .freegiftRdo").on("click", function() {
  788. total_gift = 0;
  789. total_deduct = 0;
  790. // 2021.04.14 사은품 사용 포인트가 보유포인트보다 작아야 한다.
  791. var rmPntAmt = parseInt($("#orderForm input[name='rmPntAmt']").val());
  792. var freegiftUsePnt = parseInt($("#orderAmtForm .freegiftUsePnt").text());
  793. var usepoint = parseInt($(this).attr("usepoint"));
  794. rmPntAmt = rmPntAmt - freegiftUsePnt - usepoint;
  795. if (rmPntAmt < 0) {
  796. mcxDialog.alert("보유포인트가 부족합니다.");
  797. return false;
  798. }
  799. $("#orderForm .freegiftRdo").each(function(){
  800. if ($(this).attr("allYn") == "Y" ) {
  801. total_gift += 1;
  802. }
  803. // 라디오버튼 사은품 체크
  804. if ($(this).is(":checked")) {
  805. // 수령거부가 아닐때 체크
  806. if ($(this).val() != "noSel") {
  807. total_gift += 1;
  808. total_deduct += parseInt($(this).attr("usepoint"));
  809. }
  810. }
  811. });
  812. $("#orderForm .total_gift").text(total_gift); // 사은품총선택개수
  813. $("#orderForm .total_deduct").text(total_deduct.addComma()); // 사은품총사용포인트
  814. $("#orderAmtForm .freegiftUsePnt").text(total_deduct);
  815. // 2021.04.29 사은품기능 리셋
  816. var pntDcAmt = parseInt($("#orderAmtForm .pntDcSumAmt").text());
  817. if (pntDcAmt > 0) {
  818. mcxDialog.alert("적용된 할인/혜택이 초기화 됩니다.");
  819. pntDcAmtReset();
  820. }
  821. // 2021.05.07 금액계산실행
  822. custCpnSumAmtCal();
  823. });
  824. // 2021.04.29 무료사은품 기본선택
  825. $("#orderForm .freegiftRdo").each(function(){
  826. var usepoint = parseInt($(this).attr("usepoint"));
  827. var count = parseInt($(this).attr("count"));
  828. // 첫번째 무료 선택
  829. if (usepoint == 0 && count == 1) {
  830. $(this).trigger("click");
  831. total_gift = 0;
  832. total_deduct = 0;
  833. // 2021.04.14 사은품 사용 포인트가 보유포인트보다 작아야 한다.
  834. var rmPntAmt = parseInt($("#orderForm input[name='rmPntAmt']").val());
  835. var freegiftUsePnt = parseInt($("#orderAmtForm .freegiftUsePnt").text());
  836. var usepoint = parseInt($(this).attr("usepoint"));
  837. rmPntAmt = rmPntAmt - freegiftUsePnt - usepoint;
  838. if (rmPntAmt < 0) {
  839. mcxDialog.alert("보유포인트가 부족합니다.");
  840. return false;
  841. }
  842. $("#orderForm .freegiftRdo").each(function(){
  843. if ($(this).attr("allYn") == "Y" ) {
  844. total_gift += 1;
  845. }
  846. // 라디오버튼 사은품 체크
  847. if ($(this).is(":checked")) {
  848. // 수령거부가 아닐때 체크
  849. if ($(this).val() != "noSel") {
  850. total_gift += 1;
  851. total_deduct += parseInt($(this).attr("usepoint"));
  852. }
  853. }
  854. });
  855. $("#orderForm .total_gift").text(total_gift); // 사은품총선택개수
  856. $("#orderForm .total_deduct").text(total_deduct.addComma()); // 사은품총사용포인트
  857. $("#orderAmtForm .freegiftUsePnt").text(total_deduct);
  858. // 포인트초기화기능
  859. pntDcAmtReset();
  860. }
  861. });
  862. // 사은품테이블 그리기
  863. $("#orderForm .gift_box").each(function(){
  864. $(this).find(".freegiftRdo").each(function(){
  865. if ($(this).attr("allYn") == "Y" ) {
  866. total_gift += 1;
  867. }
  868. $("#orderForm .total_gift").text(total_gift); // 사은품총선택개수
  869. });
  870. });
  871. // 2021.04.29 사은품동의 체크 기능
  872. /*
  873. $("#orderForm #chk-agree_gift").on("click", function(){
  874. if ($(this).is(":checked") == false) {
  875. mcxDialog.alert("미동의시 사은품 지급이 되지 않습니다.");
  876. }
  877. });
  878. */
  879. }
  880. // 1.6 결제타입로드
  881. paymentInfoSet();
  882. }
  883. });
  884. }
  885. // 1.6 결제타입로드 (결제버튼기능구현)
  886. var paymentInfoSet = function() {
  887. $.ajax( {
  888. type : "POST",
  889. url : '/order/paymentInfo',
  890. data : JSON.stringify(jsonObj),
  891. dataType : 'html',
  892. beforeSend : function(xhr, settings) {
  893. xhr.setRequestHeader("AJAX" , "true");
  894. xhr.setRequestHeader('Accept' , 'application/json');
  895. xhr.setRequestHeader('Content-Type' , 'application/json');
  896. },
  897. success : function(result) {
  898. if (result != null) {
  899. $("#paymentInfo").css("display", "block");
  900. $("#paymentInfo").html(result);
  901. // 결제타입명칭 설정
  902. $("#orderForm .area_paymethod .paymethod_box ul li").on("click", function(){
  903. var payType = $(this).find(".payType").text();
  904. if ($(this).find("input[name=rdi-paynormal]").is(":checked")) {
  905. $("#orderForm .payTypeNm").text(payType);
  906. }
  907. // 2021.04.25 실시간계좌이체, 무통장입금시 보증보험 신청 약관 노출
  908. if (payType == "실시간계좌이체" || payType == "무통장입금" ) {
  909. $("#orderForm .area_paymethod .agree_insurance").show();
  910. } else {
  911. $("#orderForm .area_paymethod .agree_insurance").hide();
  912. }
  913. // 2021.04.29 수정
  914. $("#orderForm input[name=insuranceYn]").attr("checked", false);
  915. });
  916. // 결재하기
  917. $("#btn_payment").on("click", function(){
  918. // 사은품정보
  919. var prePntDcAmtYn = $("#orderForm input[name='rdi-beforpoint']:checked").val();
  920. var paynormal = $("#orderForm input[name='rdi-paynormal']:checked").val();
  921. var orderDetailList = [];
  922. var delvFeeCdList = [];
  923. var ordGoodsQty = 0;
  924. var goodsNm = "";
  925. var orgEntryNo = "";
  926. var entryNo = "";
  927. var insuranceYn = "N";
  928. // 2021.04.25
  929. if ($("#orderForm input[name=insuranceYn]").is(":checked")) {
  930. insuranceYn = "Y";
  931. }
  932. // 배송주소등록
  933. if ($("#orderAmtForm .recipZipcode").text() == "00000") {
  934. mcxDialog.alert("배송정보를 등록해 주세요.");
  935. // 배송정보화면노출
  936. deliveryAddrInfoDispYn("Y");
  937. return false;
  938. }
  939. // TODO 개인통관번호 동의 체크시 통관번호 등록
  940. if (foreignBuyYn == "Y") {
  941. if ($("#orderForm input[name=rdi-overseas]:checked").val() == "Y") {
  942. if (gagajf.isNull($("#orderForm input[name=entryNo]").val())) {
  943. mcxDialog.alert("개인통관고유부호를 입력해주세요.");
  944. $('#orderForm input[name=entryNo]').focus();
  945. // 배송정보화면노출
  946. deliveryAddrInfoDispYn("Y");
  947. return false;
  948. }
  949. orgEntryNo = $("#orderForm input[name=entryNo]").val();
  950. if (orgEntryNo.substr(0,1) != "P") {
  951. mcxDialog.alert("개인통관고유부호가 유효하지 않습니다.");
  952. $('#orderForm input[name=entryNo]').focus();
  953. // 배송정보화면노출
  954. deliveryAddrInfoDispYn("Y");
  955. return false;
  956. }
  957. if (orgEntryNo.length < 13) {
  958. mcxDialog.alert("개인통관고유부호가 유효하지 않습니다.");
  959. $('#orderForm input[name=entryNo]').focus();
  960. // 배송정보화면노출
  961. deliveryAddrInfoDispYn("Y");
  962. return false;
  963. }
  964. if (!$("#orderForm #chk-overs-agr").is(":checked")) {
  965. mcxDialog.alert("개인통관정보고유부호 정보 동의/저장항목을 체크해주세요.");
  966. // 배송정보화면노출
  967. deliveryAddrInfoDispYn("Y");
  968. return false;
  969. }
  970. }
  971. }
  972. // 주문제작상품일때 주문제작정보동의
  973. if (orderMadeYn == "Y") {
  974. if (!$("#orderForm #chk-custom-agr1").is(":checked")) {
  975. mcxDialog.alert("주문제작상품에 대한 동의를 하지 않으실 경우 해당 상품을 쇼핑백에서 제외하신 후 다시 결제를 시도해주세요.");
  976. // 배송정보화면노출
  977. deliveryAddrInfoDispYn("Y");
  978. return false;
  979. }
  980. }
  981. // 사은품지급할 경우 체크 2020.04.29 사은품지급이 필수가 아닙니다.
  982. if ($("#orderAmtForm .freegiftValArr").text().length > 0) {
  983. if (!$("#orderForm #chk-agree_gift").is(":checked")) {
  984. mcxDialog.alert("사은품 지급 정보 동의를 체크해주세요.");
  985. // 배송정보화면노출
  986. freegiftInfoDispYn("Y");
  987. return false;
  988. }
  989. }
  990. // 결재수단
  991. if (gagajf.isNull(paynormal)) {
  992. mcxDialog.alert("결제수단을 선택해 주세요.");
  993. // 결제수단정보노출
  994. paymentInfoDispYn("Y");
  995. return false;
  996. }
  997. var paynormalArr = paynormal.split("|");
  998. var pgGb = paynormalArr[0];
  999. var payMeans = paynormalArr[1];
  1000. var custPayMeans = "N";
  1001. // 자주쓰는결제타입
  1002. if ($("#orderForm #chk-agree_paymethod").is(":checked") == true) {
  1003. custPayMeans = "Y";
  1004. }
  1005. // 주문상세데이타 생성
  1006. $("#orderDetailInfo .cartSq").each(function(){
  1007. // 주문상세단위 총알배송여부 변경
  1008. var orderDetailShotDelvYn = $(this).parent().find(".shotDelvYn").text();
  1009. if (orderDetailShotDelvYn == "Y") {
  1010. if (shotDelvYn == "N") {
  1011. orderDetailShotDelvYn = "N";
  1012. }
  1013. }
  1014. // 개인통관번호
  1015. if ($(this).parent().find(".foreignBuyYn").text() == "Y") {
  1016. entryNo = orgEntryNo;
  1017. } else {
  1018. entryNo = "";
  1019. }
  1020. var orderDetailData = {
  1021. "cartSq" : $(this).text()
  1022. ,"currPrice" : $(this).parent().find(".orgCurrPrice").text()
  1023. ,"optAddPrice" : $(this).parent().find(".optAddPrice").text()
  1024. ,"ordAmt" : $(this).parent().find(".ordAmt").text()
  1025. ,"cpn1CpnSq" : $(this).parent().find(".cpn1CpnSq").text()
  1026. ,"cpn1DcAmt" : $(this).parent().find(".cpn1DcAmt").text()
  1027. ,"goodsQty" : $(this).parent().find(".goodsQty").text()
  1028. ,"tmtb1Sq" : $(this).parent().find(".tmtb1Sq").text()
  1029. ,"tmtb1DcAmt" : $(this).parent().find(".tmtb1DcAmt").text()
  1030. ,"tmtb2Sq" : $(this).parent().find(".tmtb2Sq").text()
  1031. ,"tmtb2DcAmt" : $(this).parent().find(".tmtb2DcAmt").text()
  1032. ,"goodsCpnSq" : $(this).parent().find(".goodsCpnSq").text()
  1033. ,"goodsCpnDcAmt" : $(this).parent().find(".goodsCpnDcAmt").text()
  1034. ,"cartCpnSq" : $(this).parent().find(".cartCpnSq").text()
  1035. ,"cartCpnDcAmt" : $(this).parent().find(".cartCpnDcAmt").text()
  1036. ,"prePntDcAmt" : $(this).parent().find(".prePntDcAmt1").text()
  1037. ,"pntDcAmt" : $(this).parent().find(".pntDcAmt1").text()
  1038. ,"gfcdUseAmt" : $(this).parent().find(".gfcdUseAmt1").text()
  1039. ,"realOrdAmt" : $(this).parent().find(".realOrdAmt1").text()
  1040. ,"savePntAmt" : $(this).parent().find(".savePntAmt1").text()
  1041. ,"shotDelvYn" : orderDetailShotDelvYn
  1042. ,"foreignBuyYn" : $(this).parent().find(".foreignBuyYn").text()
  1043. ,"makeGoodsYn" : $(this).parent().find(".orderMadeYn").text()
  1044. ,"delvFeeCd" : $(this).parent().find(".delvFeeCd").text()
  1045. ,"goodsCd" : $(this).parent().find(".goodsCd").text()
  1046. ,"itemCdArr" : $(this).parent().find(".itemCd").text().split(",")
  1047. ,"optCdArr" : $(this).parent().find(".optCd").text().split(",")
  1048. ,"optCd1Arr" : $(this).parent().find(".optCd1").text().split(",")
  1049. ,"optCd2Arr" : $(this).parent().find(".optCd2").text().split(",")
  1050. ,"itemQtyArr" : $(this).parent().find(".itemQtyr").text().split(",")
  1051. ,"goodsType" : $(this).parent().find(".goodsType").text()
  1052. ,"entryNo" : entryNo
  1053. ,"giftPackYn" : "N"
  1054. }
  1055. // 상품수
  1056. ordGoodsQty++;
  1057. orderDetailList.push(orderDetailData);
  1058. });
  1059. // 주문배송업체정보 생성
  1060. $("#delvFeeCdInfo .delvFeeCd").each(function(){
  1061. var delvFeeCdData = {
  1062. "delvFeeCd" : $(this).text()
  1063. ,"supplyCompCd" : $(this).parent().find(".supplyCompCd").text()
  1064. ,"delvFee" : $(this).parent().find(".delvFee").text()
  1065. ,"delvCpnSq" : $(this).parent().find(".delvCpnSq").text()
  1066. ,"delvCpnDcAmt" : $(this).parent().find(".delvCpnDcAmt").text()
  1067. }
  1068. delvFeeCdList.push(delvFeeCdData);
  1069. });
  1070. // 2021.04.29 상픈품 체크박스 미동의시 사은품 미지급
  1071. var freegiftValArr = $("#orderAmtForm .freegiftValArr").text().split(",");
  1072. var freegiftSqArr = $("#orderAmtForm .freegiftSqArr").text().split(",");
  1073. var freegiftGoodsArr = $("#orderAmtForm .freegiftGoodsArr").text().split(",");
  1074. var freegiftUsePointArr = $("#orderAmtForm .freegiftUsePointArr").text().split(",");
  1075. /*
  1076. if (!$("#orderForm #chk-agree_gift").is(":checked") == false) {
  1077. freegiftValArr = "";
  1078. freegiftSqArr = "";
  1079. freegiftGoodsArr = "";
  1080. freegiftUsePointArr = "";
  1081. }
  1082. */
  1083. // 주문데이타 생성
  1084. var orderData = {
  1085. "custNm" : $("#orderAmtForm .custNm").text()
  1086. ,"email" : $("#orderAmtForm .email").text()
  1087. ,"recipNm" : $("#orderAmtForm .recipNm").text()
  1088. ,"recipPhnno" : $("#orderAmtForm .recipPhnno").text()
  1089. ,"recipZipcode" : $("#orderAmtForm .recipZipcode").text()
  1090. ,"recipBaseAddr" : $("#orderAmtForm .recipBaseAddr").text()
  1091. ,"recipDtlAddr" : $("#orderAmtForm .recipDtlAddr").text()
  1092. ,"delvMemo" : $("#orderAmtForm .delvMemo").text()
  1093. ,"insuranceYn" : insuranceYn
  1094. ,"sexGb" : $("#orderAmtForm .sexGb").text()
  1095. ,"birthYmd" : $("#orderAmtForm .birthYmd").text()
  1096. ,"prePntDcAmtYn" : prePntDcAmtYn
  1097. ,"orderDetailList" : orderDetailList
  1098. ,"delvFeeCdList" : delvFeeCdList
  1099. ,"shotDelvYn" : shotDelvYn
  1100. ,"entryNo" : entryNo
  1101. ,"pgGb" : pgGb
  1102. ,"payMeans" : payMeans // 네이버페이, 카카오페이
  1103. ,"payAmt" : $("#orderAmtForm .realOrdSumAmt").text()
  1104. ,"ordNm" : $("#orderAmtForm .custNm").text()
  1105. ,"ordPhnno" : $("#orderAmtForm .cellPhnno").text()
  1106. ,"goodsNm" : $("#orderAmtForm .goodsNm").eq(0).text()
  1107. ,"ordGoodsQty" : ordGoodsQty
  1108. ,"freegiftValArr" : freegiftValArr
  1109. ,"freegiftSqArr" : freegiftSqArr
  1110. ,"freegiftGoodsArr" : freegiftGoodsArr
  1111. ,"freegiftUsePointArr" : freegiftUsePointArr
  1112. ,"giftMsg" : ""
  1113. ,"custPayMeans" : custPayMeans
  1114. ,"cartSqArr" : cartSqArr
  1115. ,"orgGoodsSumAmt" : $("#orderAmtForm .orgGoodsSumAmt").text()
  1116. ,"cpn1DcSumAmt" : $("#orderAmtForm .cpn1DcSumAmt").text()
  1117. ,"tmtb1DcSumAmt" : $("#orderAmtForm .tmtb1DcSumAmt").text()
  1118. ,"tmtb2DcSumAmt" : $("#orderAmtForm .tmtb2DcSumAmt").text()
  1119. ,"goodsCpnDcSumAmt" : $("#orderAmtForm .goodsCpnDcSumAmt").text()
  1120. ,"cartCpnDcSumAmt" : $("#orderAmtForm .cartCpnDcSumAmt").text()
  1121. ,"prePntDcSumAmt" : $("#orderAmtForm .prePntDcSumAmt").text()
  1122. ,"pntDcSumAmt" : $("#orderAmtForm .pntDcSumAmt").text()
  1123. ,"gfcdUseSumAmt" : $("#orderAmtForm .gfcdUseSumAmt").text()
  1124. ,"realOrdSumAmt" : $("#orderAmtForm .realOrdSumAmt").text()
  1125. };
  1126. $.ajax( {
  1127. type : "POST",
  1128. url : '/order/create/preOrder',
  1129. data : JSON.stringify(orderData),
  1130. dataType : 'html',
  1131. beforeSend : function(xhr, settings) {
  1132. xhr.setRequestHeader("AJAX" , "true");
  1133. xhr.setRequestHeader('Accept' , 'application/json');
  1134. xhr.setRequestHeader('Content-Type' , 'application/json');
  1135. },
  1136. success : function(result) {
  1137. // 결재정보로드
  1138. $("#order_info").html(result);
  1139. var pgGb = $("#order_info input[name=pgGb]").val();
  1140. if (pgGb == "NAVER") {
  1141. fnNaverPaymentReady();
  1142. } else if (pgGb == "KAKAO") {
  1143. fnKakaoPaymentReady();
  1144. } else if (pgGb == "KCP" || pgGb == "PAYCO") {
  1145. if(payMeans == "G014_70") {
  1146. $("#order_info").submit();
  1147. } else {
  1148. jsf__pay(document.order_info);
  1149. }
  1150. }
  1151. }
  1152. });
  1153. });
  1154. // 1.8 할인영역 설정 (로그인여부일때 동작)
  1155. if (isLogin == true) {
  1156. dcAmtInfoSet();
  1157. } else {
  1158. // 금액계산초기화
  1159. custCpnSumAmtCal();
  1160. }
  1161. }
  1162. }
  1163. });
  1164. }
  1165. // 1.7 프로모션 쿠폰 적용 함수
  1166. var serialCpnApply = function(){
  1167. if (gagajf.isNull($("#serialCpnNm").val())) {
  1168. mcxDialog.alert("할인코드를 입력해주세요.");
  1169. $('#serialCpnNm').focus();
  1170. return false;
  1171. }
  1172. let data = {
  1173. rdCpnNm : $("#serialCpnNm").val()
  1174. }
  1175. $.ajax( {
  1176. type : "POST",
  1177. url : '/cart/list/serialCpnApply',
  1178. contentType : 'application/json',
  1179. dataType : 'json',
  1180. data : JSON.stringify(data),
  1181. success : function(result) {
  1182. // 프로모션쿠폰적용 후 할인영역 노출
  1183. jsonObj.dispYn = "Y";
  1184. // 성공일때는 쿠폰정보 및 포인트 정보 reset
  1185. if (result.serialCpnInfo.result == "SUCCESS") {
  1186. mcxDialog.alert("쿠폰 등록이 되었습니다.");
  1187. // 1.8 할인영역 재로드
  1188. dcAmtInfoSet(jsonData);
  1189. } else {
  1190. mcxDialog.alert(result.serialCpnInfo.result);
  1191. $("#serialCpnNm").val("");
  1192. }
  1193. }
  1194. });
  1195. }
  1196. // 1.8 할인영역 설정 (쿠폰, 선포인트, 포인트, 상품권)
  1197. var dcAmtInfoSet = function() {
  1198. // 1.8.1 할인정보로드
  1199. $.ajax( {
  1200. type : "POST",
  1201. url : '/order/dcAmtInfo',
  1202. data : JSON.stringify(jsonObj),
  1203. dataType : 'html',
  1204. beforeSend : function(xhr, settings) {
  1205. xhr.setRequestHeader("AJAX" , "true");
  1206. xhr.setRequestHeader('Accept' , 'application/json');
  1207. xhr.setRequestHeader('Content-Type' , 'application/json');
  1208. },
  1209. success : function(result) {
  1210. if (result != null) {
  1211. $("#dcAmtInfo").css("display", "block");
  1212. $("#dcAmtInfo").html(result);
  1213. // 쿠폰팝업정보로드
  1214. $.ajax( {
  1215. type : "POST",
  1216. url : '/order/couponApplyPop',
  1217. data : JSON.stringify(jsonObj),
  1218. dataType : 'html',
  1219. beforeSend : function(xhr, settings) {
  1220. xhr.setRequestHeader("AJAX" , "true");
  1221. xhr.setRequestHeader('Accept' , 'application/json');
  1222. xhr.setRequestHeader('Content-Type' , 'application/json');
  1223. },
  1224. success : function(result) {
  1225. $("#couponModifyPop").html(result);
  1226. // 1.8.1 선포인트기능초기화
  1227. prePntDcAmtReset();
  1228. // 1.8.2 쿠폰적용초기화(할인율최고)(상품,장바구니)
  1229. custGoodsCpnInit();
  1230. // 1.8.3 쿠폰적용초기화(할인율최고)(배송비)
  1231. custDelvCpnInit();
  1232. // 1.8.4 쿠폰적용버튼
  1233. $("#btn_coupon_apply").on("click", function(){
  1234. // 상품쿠폰적용
  1235. $('#couponApplyForm .goodsCpn ul li.selected').each(function(index){
  1236. custCpnApply($(this));
  1237. });
  1238. // 장바구니쿠폰적용
  1239. $('#couponApplyForm .cartCpn').each(function(index){
  1240. if ($(this).find("input[name=rdi-cart-coupon]").is(":checked")) {
  1241. custCpnApply($(this));
  1242. }
  1243. });
  1244. // 최대할인혜택적용 체크해제
  1245. if ($("#chk-maxdisc").is(":checked")) {
  1246. $("#chk-maxdisc").attr("checked", false);
  1247. }
  1248. $(".close-modal").trigger("click"); // 팝업닫기
  1249. });
  1250. // 1.8.5 쿠폰 최대할인금액 초기화 버튼 설정
  1251. $("#chk-maxdisc").on("click", function(){
  1252. // 2021.04.23 보유쿠폰이 없을때 적용
  1253. var custCpnCnt = parseInt($("#orderForm input[name=custCpnCnt]").val());
  1254. var custDelvCpnCnt = parseInt($("#orderForm input[name=custDelvCpnCnt]").val());
  1255. if ((custCpnCnt + custDelvCpnCnt) < 1) {
  1256. mcxDialog.alert("적용 가능한 쿠폰이 없습니다.");
  1257. return false;
  1258. }
  1259. if ($(this).is(":checked")) {
  1260. // 2021.04.23
  1261. mcxDialog.alert("선택한 쿠폰이 아닌 보유한 쿠폰을 통해 최대할인 혜택을 받을 수 있도록 쿠폰이 자동 적용됩니다.");
  1262. // 상품&장바구니쿠폰 초기환
  1263. custGoodsCpnInit();
  1264. // 배송비쿠폰 초기환
  1265. custDelvCpnInit();
  1266. }
  1267. });
  1268. }
  1269. });
  1270. // 쿠폰변경팝업호출
  1271. $("#btn_couponModify_pop").on("click", function(){
  1272. // 2021.04.23 보유쿠폰이 없을때 적용
  1273. var custCpnCnt = parseInt($("#orderForm input[name=custCpnCnt]").val());
  1274. if (custCpnCnt < 1) {
  1275. mcxDialog.alert("적용 가능한 쿠폰이 없습니다.");
  1276. return false;
  1277. }
  1278. // 쿠폰초기화
  1279. custGoodsCpnInit();
  1280. $("#couponModifyPop").modal("show");
  1281. });
  1282. // 1.8.7 포인트 적용버튼 기능
  1283. $("#btn_point_apply").on("click", function(){
  1284. var rmPntAmt = parseInt($("#orderForm input[name='rmPntAmt']").val());
  1285. var freegiftUsePnt = parseInt($("#orderAmtForm .freegiftUsePnt").text());
  1286. var pntDcAmt = parseInt(uncomma($("#orderForm input[name='pntDcAmtStr']").val()));
  1287. var realOrdAmt = parseInt($("#orderAmtForm .realOrdSumAmt").text());
  1288. var pointUseMaxLimit = parseInt($("#orderForm input[name='pointUseMaxLimit']").val());
  1289. var applyPntDcAmt = (realOrdAmt * pointUseMaxLimit) / 100;
  1290. rmPntAmt = rmPntAmt - freegiftUsePnt;
  1291. if (gagajf.isNull($("#orderForm input[name=pntDcAmtStr]").val())) {
  1292. mcxDialog.alert("포인트를 입력하신 후 다시 시도해주세요.");
  1293. $('#orderForm input[name=pntDcAmtStr]').focus();
  1294. return false;
  1295. }
  1296. // 입력여부체크
  1297. if (pntDcAmt < 1) {
  1298. mcxDialog.alert("포인트를 입력하신 후 다시 시도해주세요.");
  1299. // 포인트리셋기능
  1300. pntDcAmtReset();
  1301. return false;
  1302. }
  1303. // 10원단위부터 입력가능
  1304. if (pntDcAmt % 10 > 0) {
  1305. mcxDialog.alert("포인트는 10P단위로 사용이 가능합니다.");
  1306. // 포인트리셋기능
  1307. pntDcAmtReset();
  1308. return false;
  1309. }
  1310. // 결제금액을 초과 할 수 없습니다.
  1311. if (pntDcAmt > realOrdAmt) {
  1312. mcxDialog.alert("포인트를 입력하신 후 다시 시도해주세요.");
  1313. // 포인트리셋기능
  1314. pntDcAmtReset();
  1315. return false;
  1316. }
  1317. // 보유포인트보다 초과 사용 불가
  1318. if (pntDcAmt > rmPntAmt) {
  1319. mcxDialog.alert("입력하신 포인트가 보유한 포인트보다 많습니다.");
  1320. // 포인트리셋기능
  1321. pntDcAmtReset();
  1322. return false;
  1323. }
  1324. // TODO 포인트 사용금액 1000P 이상 사용
  1325. if (pntDcAmt < 1000) {
  1326. mcxDialog.alert("포인트는 최소 1,000P이상 사용해야 합니다.");
  1327. // 포인트리셋기능
  1328. pntDcAmtReset();
  1329. return false;
  1330. }
  1331. // 실결제금액보다 크게 적용 되었을때 적용 불가능
  1332. if (pntDcAmt > applyPntDcAmt) {
  1333. mcxDialog.alert("결제금액의 최대 " + pointUseMaxLimit +"%를 초과 사용 할 수 없습니다.");
  1334. // 포인트리셋기능
  1335. pntDcAmtReset();
  1336. return false;
  1337. }
  1338. // 2021.04.23 추가
  1339. mcxDialog.alert("총 " + getZeroMinusDelAmt(pntDcAmt) + " P를 차감 결제 합니다.");
  1340. // 포인트 적용
  1341. $("#orderAmtForm .pntDcSumAmt").text(pntDcAmt);
  1342. $("#pntDcAmt").text(getZeroMinusDelAmt(pntDcAmt)+" 원");
  1343. // 상품권리렛기능
  1344. gfcdUseAmtReset();
  1345. });
  1346. // 1.8.8 상품권 적용버튼 기능
  1347. $("#btn_gfcd_apply").on("click", function(){
  1348. var rmGfcdAmt = parseInt($("#orderForm input[name='rmGfcdAmt']").val());
  1349. var gfcdUseAmt = parseInt(uncomma($("#orderForm input[name='gfcdUseAmtStr']").val()));
  1350. var realOrdAmt = parseInt($("#orderAmtForm .realOrdSumAmt").text());
  1351. if (gagajf.isNull($("#orderForm input[name=gfcdUseAmtStr]").val())) {
  1352. mcxDialog.alert("금액을 입력하신 후 다시 시도해주세요.");
  1353. $('#orderForm input[name=gfcdUseAmtStr]').focus();
  1354. return false;
  1355. }
  1356. // 입력여부체크
  1357. if (gfcdUseAmt < 1 || $("#orderForm input[name='gfcdUseAmtStr']").val() == "") {
  1358. mcxDialog.alert("금액을 입력하신 후 다시 시도해주세요.");
  1359. // 상품권리셋기능
  1360. gfcdUseAmtReset();
  1361. return false;
  1362. }
  1363. // 결제금액을 초과 할 수 없습니다.
  1364. if (gfcdUseAmt > realOrdAmt) {
  1365. mcxDialog.alert("입력하신 금액이 결제할 금액보다 많습니다.");
  1366. // 포인트리셋기능
  1367. gfcdUseAmtReset();
  1368. return false;
  1369. }
  1370. // 보유금액보다 초과 사용 불가
  1371. if (gfcdUseAmt > rmGfcdAmt) {
  1372. mcxDialog.alert("보유금액 보다 초과 사용 할 수 없습니다.");
  1373. // 상품권리셋기능
  1374. gfcdUseAmtReset();
  1375. return false;
  1376. }
  1377. // 보유금액보다 초과 사용 불가
  1378. if (gfcdUseAmt > rmGfcdAmt) {
  1379. mcxDialog.alert("보유금액 보다 초과 사용 할 수 없습니다.");
  1380. // 상품권리셋기능
  1381. gfcdUseAmtReset();
  1382. return false;
  1383. }
  1384. // TODO 포인트 사용금액 1000원 이상 사용
  1385. if (gfcdUseAmt < 1000) {
  1386. mcxDialog.alert("상품권 사용금액은 최소 1,000원 이상 사용해야 합니다.");
  1387. // 상품권리셋기능
  1388. gfcdUseAmtReset();
  1389. return false;
  1390. }
  1391. // 2021.04.23 추가
  1392. mcxDialog.alert("총 " + gfcdUseAmt.addComma() + " 원을 상품권 금액에서 차감 결제 합니다.");
  1393. // 상품권 적용
  1394. $("#orderAmtForm .gfcdUseSumAmt").text(gfcdUseAmt);
  1395. $("#gfcdUseAmt").text(getZeroMinusDelAmt(gfcdUseAmt)+" 원");
  1396. // 금액전체계산
  1397. custCpnSumAmtCal();
  1398. });
  1399. // 금액계산초기화
  1400. custCpnSumAmtCal();
  1401. }
  1402. }
  1403. });
  1404. }
  1405. // 1.9.1 상품쿠폰초기화
  1406. var custGoodsCpnInit = function() {
  1407. // 쿠폰최대할인 적용
  1408. $("#chk-maxdisc").attr("checked", true);
  1409. // 쿠폰초기화
  1410. $(".goodsCpn").each(function(index){
  1411. // select box 쿠폰 적용
  1412. var cpnCartSq = $(this).find("input[name='cpnCartSq']").val();
  1413. // 장바구니시퀀스 체크
  1414. $("#orderAmtForm .cartSq").each(function(){
  1415. if (cpnCartSq == $(this).text()) {
  1416. $(this).parent().find(".goodsCpnSq").text("0"); // 상품쿠폰시퀀스
  1417. $(this).parent().find(".goodsCpnDcAmt").text("0"); // 상품쿠폰할인금액
  1418. }
  1419. });
  1420. $(this).find("input[name='custCpnSq']").val("0");
  1421. $(this).find("input[name='cpnDcAmt']").val("0");
  1422. // 적용안함 적용
  1423. var emptyHtml = $(this).find("ul li .item_coupon.empty").html();
  1424. $(this).find(".select .item_coupon").html(emptyHtml);
  1425. $(this).find("ul li").removeClass("selected");
  1426. });
  1427. // 최대할인율 쿠폰적용
  1428. $('.goodsCpn').each(function(index){
  1429. cpnIndex = 0;
  1430. cpnApplyTemp = false;
  1431. // select 박스 반복문 실행
  1432. $(this).find("ul li").each(function(i){
  1433. cpnIndex++;
  1434. if (cpnApplyTemp == false) {
  1435. if (custCpnDuplicationCheck($(this).attr("value"), cpnIndex)) {
  1436. // 쿠폰적용
  1437. custCpnApply($(this));
  1438. // 쿠폰할인적용
  1439. cpnApplyTemp = true;
  1440. }
  1441. }
  1442. // 쿠폰 select 버튼기능
  1443. $(this).on("click", function(){
  1444. if (custCpnDuplicationCheck($(this).attr("value"), cpnIndex)) {
  1445. // 쿠폰적용
  1446. custCpnApplyTemp($(this));
  1447. // 쿠폰할인적용
  1448. cpnApplyTemp = true;
  1449. } else {
  1450. custCpnNotApply($(this));
  1451. }
  1452. });
  1453. });
  1454. });
  1455. // 장바구니쿠폰초기화
  1456. custCartCpnInit();
  1457. }
  1458. // 1.9.2 장바구니쿠폰초기화
  1459. var custCartCpnInit = function() {
  1460. // 장바구니쿠폰 초기화 적용
  1461. $(".cartCpn").each(function(index) {
  1462. if (index == 0) {
  1463. custCpnApply($(this)); // 쿠폰적용
  1464. }
  1465. // 쿠폰 select 버튼기능
  1466. $(this).on("click", function(){
  1467. custCpnApplyTemp($(this)); // 쿠폰적용
  1468. // 최대할인혜택적용 체크해제
  1469. if ($("#chk-maxdisc").is(":checked")) {
  1470. $("#chk-maxdisc").attr("checked", false);
  1471. }
  1472. });
  1473. });
  1474. // 포인트기능 리셋
  1475. pntDcAmtReset();
  1476. }
  1477. // 1.9.3 배송비쿠폰초기화
  1478. var custDelvCpnInit = function() {
  1479. // 배송비쿠폰 초기화 적용
  1480. $(".delvCpn").each(function(index) {
  1481. if (index == 0) {
  1482. // 쿠폰적용
  1483. custCpnApply($(this));
  1484. }
  1485. // 쿠폰 select 버튼기능
  1486. $(this).on("click", function(){
  1487. // 쿠폰적용
  1488. custCpnApply($(this));
  1489. });
  1490. });
  1491. }
  1492. // 1.10 쿠폰중복사용체크
  1493. var custCpnDuplicationCheck = function(custCpnSq, index) {
  1494. var selCustSq = 0;
  1495. var cnt = 0;
  1496. // 쿠폰적용가능
  1497. if (custCpnSq == 0) {
  1498. return true;
  1499. }
  1500. // 쿠폰중본사용체크
  1501. $(".goodsCpn input[name='custCpnSq']").each(function(i){
  1502. if (index != i) {
  1503. selCustSq = $(this).val();
  1504. if (selCustSq == custCpnSq) {
  1505. cnt++;
  1506. }
  1507. }
  1508. });
  1509. // 쿠폰적용불가
  1510. if (cnt > 0) {
  1511. return false;
  1512. }
  1513. // 쿠폰적용가능
  1514. else {
  1515. return true;
  1516. }
  1517. }
  1518. // 1.11.0 임시로 쿠폰적용
  1519. var custCpnApplyTemp = function(obj) {
  1520. // select box 쿠폰 적용
  1521. var cpnType = obj.parent().find("input[name='cpnType']").val();
  1522. // 상품쿠폰적용
  1523. if (cpnType == "goodsCpn") {
  1524. var itemHtml = obj.find(".item_coupon").html();
  1525. obj.parent().parent().find(".select .item_coupon").html(itemHtml);
  1526. obj.parent().find("input[name='cpnDcAmt']").val(obj.attr("data"));
  1527. obj.parent().find("input[name='custCpnSq']").val(obj.attr("value"));
  1528. // 장바구니쿠폰 초기화 적용
  1529. $("#couponApplyForm .cartCpn").each(function(index) {
  1530. if (index == 0) {
  1531. custCpnApplyTemp($(this)); // 쿠폰적용
  1532. }
  1533. });
  1534. //상품쿠폰 선택불가 처리
  1535. custCpnSqLiDisabled();
  1536. }
  1537. // 장바구니쿠폰적용
  1538. else if (cpnType == "cartCpn") {
  1539. var dcWay = obj.find("input[name='dcWay']").val();
  1540. var dcVal = obj.find("input[name='dcVal']").val();
  1541. var maxDcAmt = obj.find("input[name='maxDcAmt']").val();
  1542. var buyLimitAmt = obj.find("input[name='buyLimitAmt']").val();
  1543. var cartCpnDcSumAmt = 0;
  1544. var tempSumAmt = 0;
  1545. var cartSqLen = $(".cartSq").length;
  1546. var leftAmt = 0;
  1547. var index = 1;
  1548. // 장바구니쿠폰 해당 장바구니상품들 할인가 적용
  1549. obj.find("input[name='cartCpnCartSq']").each(function(){
  1550. var cartCpnCartSq = $(this).val();
  1551. var cartCpnDcAmt = 0;
  1552. // 장바구니시퀀스 체크
  1553. $("#orderAmtForm .cartSq").each(function(){
  1554. if (cartCpnCartSq == $(this).text()) {
  1555. var orgCurrPrice = parseInt($(this).parent().find(".orgCurrPrice").text());
  1556. var cpn1DcAmt = parseInt($(this).parent().find(".cpn1DcAmt").text());
  1557. var goodsQty = parseInt($(this).parent().find(".goodsQty").text());
  1558. var tmtb1DcAmt = parseInt($(this).parent().find(".tmtb1DcAmt").text());
  1559. var tmtb2DcAmt = parseInt($(this).parent().find(".tmtb2DcAmt").text());
  1560. var goodsCpnDcAmt = 0;
  1561. $("#orderForm .goodsCpn input[name=cpnCartSq]").each(function(){
  1562. if ($(this).val() == cartCpnCartSq) {
  1563. goodsCpnDcAmt = parseInt($(this).parent().find("input[name=cpnDcAmt]").val());
  1564. }
  1565. });
  1566. var tempAmt = ((orgCurrPrice - cpn1DcAmt) * goodsQty) - tmtb1DcAmt - tmtb2DcAmt - goodsCpnDcAmt;
  1567. tempSumAmt = tempSumAmt + tempAmt;
  1568. // 할인율일때 할인금액
  1569. if (dcWay == "G240_11") {
  1570. cartCpnDcAmt = (tempAmt * dcVal) / 100;
  1571. cartCpnDcSumAmt = cartCpnDcSumAmt + cartCpnDcAmt;
  1572. }
  1573. }
  1574. });
  1575. });
  1576. // 금액일때 할인금액 적용
  1577. if (dcWay == "G240_10") {
  1578. cartCpnDcSumAmt = dcVal;
  1579. }
  1580. // 2021.04.19 최대금액 체크
  1581. if (maxDcAmt > cartCpnDcSumAmt || maxDcAmt == 0) {
  1582. cartCpnDcSumAmt = cartCpnDcSumAmt;
  1583. } else {
  1584. cartCpnDcSumAmt = maxDcAmt;
  1585. }
  1586. obj.find("input[name=rdi-cart-coupon]").prop("checked", true);
  1587. obj.parent().find("input[name=cpnDcAmt]").val(cartCpnDcSumAmt);
  1588. obj.parent().find("input[name=custCpnSq]").val(obj.attr("value"));
  1589. }
  1590. var cpnDcSumAmt = 0;
  1591. var cpnApplyCnt = 0;
  1592. var goodsCartCpnSumAmt = 0;
  1593. var cpnType = "";
  1594. $("#couponApplyForm input[name='cpnDcAmt']").each(function(){
  1595. cpnType = $(this).parent().find("input[name=cpnType]").val();
  1596. // 상품, 장바구니쿠폰 할인 금액만 합계 적용
  1597. if (cpnType == "goodsCpn" || cpnType == "cartCpn") {
  1598. goodsCartCpnSumAmt = goodsCartCpnSumAmt + parseInt($(this).val());
  1599. }
  1600. });
  1601. // 상품, 장바구니쿠폰 할인 금액만 합계 적용
  1602. $("#couponApplyForm .modal-footer .goodsCartCpnSumAmt").text(getZeroMinusDelAmt(goodsCartCpnSumAmt));
  1603. }
  1604. // 1.11 쿠폰중복체크 후 적용가능
  1605. var custCpnApply = function(obj) {
  1606. // select box 쿠폰 적용
  1607. var cpnType = obj.parent().find("input[name='cpnType']").val();
  1608. // 상품쿠폰적용
  1609. if (cpnType == "goodsCpn") {
  1610. var itemHtml = obj.find(".item_coupon").html();
  1611. obj.parent().parent().find(".select .item_coupon").html(itemHtml);
  1612. obj.parent().find("input[name='cpnDcAmt']").val(obj.attr("data"));
  1613. obj.parent().find("input[name='custCpnSq']").val(obj.attr("value"));
  1614. var cpnCartSq = obj.parent().parent().find("input[name='cpnCartSq']").val();
  1615. // 장바구니시퀀스 체크
  1616. $("#orderAmtForm .cartSq").each(function(){
  1617. if (cpnCartSq == $(this).text()) {
  1618. $(this).parent().find(".goodsCpnSq").text(obj.prop("value")); // 상품쿠폰시퀀스
  1619. $(this).parent().find(".goodsCpnDcAmt").text(obj.attr("data")); // 상품쿠폰할인금액
  1620. }
  1621. });
  1622. // 선택활성화
  1623. $(obj).addClass("selected");
  1624. //상품쿠폰 선택불가 처리
  1625. custCpnSqLiDisabled();
  1626. }
  1627. // 장바구니쿠폰적용
  1628. else if (cpnType == "cartCpn") {
  1629. var dcWay = obj.find("input[name='dcWay']").val();
  1630. var dcVal = obj.find("input[name='dcVal']").val();
  1631. var maxDcAmt = obj.find("input[name='maxDcAmt']").val();
  1632. var buyLimitAmt = obj.find("input[name='buyLimitAmt']").val();
  1633. var cartCpnDcSumAmt = 0;
  1634. var tempSumAmt = 0;
  1635. var cartSqLen = $("#orderAmtForm .cartSq").length;
  1636. var leftAmt = 0;
  1637. var index = 1;
  1638. // 2021.04.19 장바구니시퀀스 값 초기화
  1639. $("#orderAmtForm .cartSq").each(function(){
  1640. $(this).parent().find(".cartCpnSq").text(0);
  1641. $(this).parent().find(".cartCpnDcAmt").text(0);
  1642. });
  1643. // 장바구니쿠폰 해당 장바구니상품들 할인가 적용
  1644. obj.find("input[name='cartCpnCartSq']").each(function(){
  1645. var cartCpnCartSq = $(this).val();
  1646. var cartCpnDcAmt = 0;
  1647. // 장바구니시퀀스 체크
  1648. $("#orderAmtForm .cartSq").each(function(){
  1649. if (cartCpnCartSq == $(this).text()) {
  1650. var orgCurrPrice = parseInt($(this).parent().find(".orgCurrPrice").text());
  1651. var cpn1DcAmt = parseInt($(this).parent().find(".cpn1DcAmt").text());
  1652. var goodsQty = parseInt($(this).parent().find(".goodsQty").text());
  1653. var tmtb1DcAmt = parseInt($(this).parent().find(".tmtb1DcAmt").text());
  1654. var tmtb2DcAmt = parseInt($(this).parent().find(".tmtb2DcAmt").text());
  1655. var goodsCpnDcAmt = parseInt($(this).parent().find(".goodsCpnDcAmt").text());
  1656. var tempAmt = ((orgCurrPrice - cpn1DcAmt) * goodsQty) - tmtb1DcAmt - tmtb2DcAmt - goodsCpnDcAmt;
  1657. tempSumAmt = tempSumAmt + tempAmt;
  1658. // 할인율일때 할인금액
  1659. if (dcWay == "G240_11") {
  1660. cartCpnDcAmt = parseInt((tempAmt * dcVal) / 100);
  1661. cartCpnDcSumAmt = cartCpnDcSumAmt + cartCpnDcAmt;
  1662. $(this).parent().find(".cartCpnSq").text(obj.attr("value"));
  1663. $(this).parent().find(".cartCpnDcAmt").text(cartCpnDcAmt);
  1664. }
  1665. }
  1666. });
  1667. });
  1668. // 장바구니쿠폰 결제가능수단목록조회
  1669. if (obj.find("input[name='payTypeArr']").length > 0) {
  1670. $("#orderForm input[name=rdi-paynormal]").attr("disabled", true);
  1671. $("#orderForm input[name=rdi-paynormal]").attr("checked", false);
  1672. obj.find("input[name='payTypeArr']").each(function(i){
  1673. var payType = $(this).val();
  1674. $('#orderForm .'+payType).attr("disabled", false);
  1675. });
  1676. } else {
  1677. $("#orderForm input[name=rdi-paynormal]").attr("disabled", false);
  1678. }
  1679. // 2021.04.25 실시간계좌이체, 무통장입금시 보증보험 신청 약관 노출 감추는기능
  1680. $("#orderForm .insuranceYn").hide();
  1681. // 선택안함
  1682. $("#orderForm .payTypeNm").text("선택없음");
  1683. // 2021.04.19 최대금액 체크
  1684. if (maxDcAmt > cartCpnDcSumAmt || maxDcAmt == 0) {
  1685. cartCpnDcSumAmt = cartCpnDcSumAmt;
  1686. } else {
  1687. // 최대값 적용 일때는 금액할인 방식을 적용
  1688. cartCpnDcSumAmt = maxDcAmt;
  1689. dcVal = cartCpnDcSumAmt;
  1690. dcWay = "G240_10";
  1691. }
  1692. // 금액일때 할인금액 적용
  1693. if (dcWay == "G240_10") {
  1694. cartCpnDcSumAmt = dcVal;
  1695. leftAmt = dcVal;
  1696. index = 1;
  1697. // 장바구니쿠폰 해당 장바구니상품들 할인가 적용
  1698. obj.find("input[name='cartCpnCartSq']").each(function(){
  1699. var cartCpnCartSq = $(this).val();
  1700. var cartCpnDcAmt = 0;
  1701. // 장바구니시퀀스 체크
  1702. $("#orderAmtForm .cartSq").each(function(){
  1703. if (cartCpnCartSq == $(this).text()) {
  1704. var orgCurrPrice = parseInt($(this).parent().find(".orgCurrPrice").text());
  1705. var cpn1DcAmt = parseInt($(this).parent().find(".cpn1DcAmt").text());
  1706. var goodsQty = parseInt($(this).parent().find(".goodsQty").text());
  1707. var tmtb1DcAmt = parseInt($(this).parent().find(".tmtb1DcAmt").text());
  1708. var tmtb2DcAmt = parseInt($(this).parent().find(".tmtb2DcAmt").text());
  1709. var goodsCpnDcAmt = parseInt($(this).parent().find(".goodsCpnDcAmt").text());
  1710. var tempAmt = ((orgCurrPrice - cpn1DcAmt) * goodsQty) - tmtb1DcAmt - tmtb2DcAmt - goodsCpnDcAmt;
  1711. var tempDiv = parseInt((tempAmt / tempSumAmt) * 100);
  1712. var cartCpnDcAmt = 0;
  1713. if (index == cartSqLen) {
  1714. cartCpnDcAmt = leftAmt;
  1715. } else {
  1716. cartCpnDcAmt = parseInt((cartCpnDcSumAmt * tempDiv) / 100);
  1717. leftAmt = leftAmt - cartCpnDcAmt;
  1718. }
  1719. $(this).parent().find(".cartCpnSq").text(obj.attr("value"));
  1720. $(this).parent().find(".cartCpnDcAmt").text(cartCpnDcAmt);
  1721. index++;
  1722. }
  1723. });
  1724. });
  1725. }
  1726. obj.find("input[name=rdi-cart-coupon]").prop("checked", true);
  1727. obj.parent().find("input[name=cpnDcAmt]").val(cartCpnDcSumAmt);
  1728. obj.parent().find("input[name=custCpnSq]").val(obj.attr("value"));
  1729. }
  1730. // 배송비쿠폰적용
  1731. else if (cpnType == "delvCpn") {
  1732. // 적용안함 적용
  1733. var itemHtml = obj.find(".dlvr_coupon").html();
  1734. obj.parent().parent().find(".select .dlvr_coupon").html(itemHtml);
  1735. obj.parent().find("input[name='cpnDcAmt']").val(obj.attr("data"));
  1736. obj.parent().find("input[name='custCpnSq']").val(obj.attr("value"));
  1737. obj.parent().find("input[name='delvFeeCd']").val(obj.attr("delvfeecd"));
  1738. var delvFeeCd = obj.attr("delvfeecd");
  1739. // 배송비쿠폰 테이블 적용
  1740. $("#orderAmtForm .delvFeeCd").each(function(){
  1741. // 배송비쿠폰적용
  1742. if ($(this).text() == delvFeeCd) {
  1743. $(this).parent().find(".delvCpnSq").text(obj.attr("value"));
  1744. $(this).parent().find(".delvCpnDcAmt").text(obj.attr("data"));
  1745. }
  1746. // 배송비쿠폰적용안함
  1747. else if (delvFeeCd == 0) {
  1748. $(this).parent().find(".delvCpnSq").text(obj.attr("value"));
  1749. $(this).parent().find(".delvCpnDcAmt").text(obj.attr("data"));
  1750. }
  1751. });
  1752. }
  1753. // 포인트기능 리렛
  1754. pntDcAmtReset();
  1755. }
  1756. // 1.11.1 상품쿠폰 선택불가 처리
  1757. var custCpnSqLiDisabled = function() {
  1758. // 상품쿠폰 선택불가 처리
  1759. $(".goodsCpn ul li").each(function(){
  1760. var custCpnSq = $(this).attr("value");
  1761. var liObj = $(this);
  1762. liObj.attr("aria-disabled", false);
  1763. // 선택된 li 제외
  1764. if ($(this).hasClass("selected") == false) {
  1765. // 적용안함 제외
  1766. if (custCpnSq > 0) {
  1767. // 선택된 custCpnSq li와 같으면 선택불가처리
  1768. $(".area_item_coupon input[name=custCpnSq]").each(function(){
  1769. var inputCustCpSq = $(this).val();
  1770. if (custCpnSq == inputCustCpSq) {
  1771. // 선택불가처리
  1772. liObj.attr("aria-disabled", true);
  1773. }
  1774. });
  1775. }
  1776. }
  1777. });
  1778. }
  1779. // 1.12 쿠폰중복체크 후 적용불가
  1780. var custCpnNotApply = function(obj) {
  1781. // 이전에 등록된 쿠폰시퀀스
  1782. var custCpnSq = obj.parent().find("input[name='custCpnSq']").val();
  1783. // 이전에 등록된 쿠폰시퀀스 비교후 데이타 원복
  1784. obj.parent().find("li").each(function(){
  1785. if ($(this).attr("value") == custCpnSq) {
  1786. var itemHtml = $(this).find(".item_coupon").html();
  1787. obj.parent().parent().find(".select .item_coupon").html(itemHtml);
  1788. }
  1789. });
  1790. // 포인트기능 리렛
  1791. pntDcAmtReset();
  1792. }
  1793. // 1.14 선포인트리셋기능 (사용안함)
  1794. var prePntDcAmtReset = function() {
  1795. // 2021.04.29 수정
  1796. var rmPrePntAmt = parseInt($("#orderForm input[name='rmPrePntAmt']").val());
  1797. if (rmPrePntAmt > 0) {
  1798. rmPrePntAmt = parseInt($("#orderForm input[name='rmPrePntAmt']").val());
  1799. $("#orderForm input[name='prePntDcAmt']").val(rmPrePntAmt);
  1800. } else {
  1801. rmPrePntAmt = 0;
  1802. }
  1803. // 선포인트사용여부 체크 후 적용
  1804. $("#orderForm input[name='rdi-beforpoint']").each(function(){
  1805. // 선포인트 초기 설정 사용함
  1806. if ($(this).val() == "Y") {
  1807. $(this).attr("checked", true);
  1808. }
  1809. // 버튼기능 구현
  1810. $(this).on("click", function(){
  1811. var rmPrePntAmt = parseInt($("#orderForm input[name='rmPrePntAmt']").val());
  1812. // 선포인트적용
  1813. if ($(this).val() == "Y") {
  1814. $("#prePntDcAmt").text(getZeroMinusDelAmt(rmPrePntAmt)+" 원");
  1815. } else {
  1816. $("#prePntDcAmt").text("0 원");
  1817. }
  1818. // 쿠폰할인금액 SUM
  1819. custCpnSumAmtCal();
  1820. });
  1821. });
  1822. $("#orderForm #prePntDcAmt").text(getZeroMinusDelAmt(rmPrePntAmt)+" 원");
  1823. // 포인트기능 리렛
  1824. pntDcAmtReset();
  1825. }
  1826. // 1.15 포인트리셋기능
  1827. var pntDcAmtReset = function() {
  1828. $("#orderAmtForm .pntDcSumAmt").text("0");
  1829. $("#orderForm input[name='pntDcAmtStr']").val("");
  1830. $("#pntDcAmt").text("0 원");
  1831. // 상품권리셋기능
  1832. gfcdUseAmtReset();
  1833. }
  1834. // 1.16 상품권리셋기능
  1835. var gfcdUseAmtReset = function() {
  1836. $("#orderAmtForm .gfcdUseSumAmt").text("0");
  1837. $("#orderForm input[name='gfcdUseAmtStr']").val("");
  1838. $("#gfcdUseAmt").text("0 원");
  1839. // 금액전체계산
  1840. custCpnSumAmtCal();
  1841. }
  1842. // 1.17 쿠폰할인금액합계설정(금액전체계산)
  1843. var custCpnSumAmtCal = function() {
  1844. var cpnDcSumAmt = 0;
  1845. var cpnApplyCnt = 0;
  1846. var goodsCartCpnSumAmt = 0;
  1847. var cpnType = "";
  1848. $("input[name='cpnDcAmt']").each(function(){
  1849. cpnType = $(this).parent().find("input[name=cpnType]").val();
  1850. cpnDcSumAmt = cpnDcSumAmt + parseInt($(this).val());
  1851. // 적용된 쿠폰 수량
  1852. if (parseInt($(this).val()) > 0) {
  1853. cpnApplyCnt++;
  1854. }
  1855. // 상품, 장바구니쿠폰 할인 금액만 합계 적용
  1856. if (cpnType == "goodsCpn" || cpnType == "cartCpn") {
  1857. goodsCartCpnSumAmt = goodsCartCpnSumAmt + parseInt($(this).val());
  1858. }
  1859. });
  1860. // 상품, 장바구니쿠폰 할인 금액만 합계 적용
  1861. $(".maxdisc_amount .goodsCartCpnDcAmt").text(getZeroMinusDelAmt(goodsCartCpnSumAmt)); // 쿠폰할인금액합계
  1862. $(".goodsCartCpnSumAmt").text(getZeroMinusDelAmt(goodsCartCpnSumAmt)); // 쿠폰할인금액합계
  1863. // 전체쿠폰 할인 금액 합계 적용
  1864. $(".maxdisc_amount .cpnDcAmt").text(getZeroMinusDelAmt(cpnDcSumAmt)); // 쿠폰할인금액합계
  1865. $("#couponDcSumAmt").text(getZeroMinusDelAmt(cpnDcSumAmt)+ " 원"); // 쿠폰할인금액합계
  1866. $("#orderAmtForm .cpnDcSumAmt").text(cpnDcSumAmt);
  1867. var delvSumAmt = orgSumDelvFee;
  1868. // 배송비할인적용
  1869. $("input[name='cpnType']").each(function(){
  1870. if ($(this).val() == "delvCpn") {
  1871. delvSumAmt = parseInt(orgSumDelvFee) - parseInt($(this).parent().find("input[name='cpnDcAmt']").val());
  1872. // 최종배송비
  1873. $("#delvSumAmt").text(delvSumAmt.addComma() + " 원");
  1874. $("#orderAmtForm .delvSumAmt").text(delvSumAmt);
  1875. }
  1876. });
  1877. // 2021.03.06 주문상세 테이블 적용
  1878. // 포인트금액 상품상세에 포인트금액 분배 작업
  1879. var prePntDcAmtYn = $("#orderForm input[name='rdi-beforpoint']:checked").val();
  1880. var leftPntAmt = parseInt($("#orderAmtForm .pntDcSumAmt").text());
  1881. var leftGfcdAmt = parseInt($("#orderAmtForm .gfcdUseSumAmt").text());
  1882. var cartSqLenght = $("#orderAmtForm .cartSq").length;
  1883. var index = 1;
  1884. var orgGoodsSumAmt = 0;
  1885. var cpn1DcSumAmt = 0;
  1886. var ordSumAmt = 0;
  1887. var tmtb1DcSumAmt = 0;
  1888. var tmtb2DcSumAmt = 0;
  1889. var tmtbDcSumAmt = 0;
  1890. var goodsCpnDcSumAmt = 0;
  1891. var cartCpnDcSumAmt = 0;
  1892. var delvCpnDcSumAmt = 0;
  1893. var cpnDcSumAmt = 0;
  1894. var prePntDcSumAmt = 0;
  1895. var pntDcSumAmt = parseInt($(".pntDcSumAmt").text());
  1896. var gfcdUseSumAmt = parseInt($(".gfcdUseSumAmt").text());
  1897. var realOrdSumAmt = 0;
  1898. var savePntSumAmt = 0;
  1899. $("#orderAmtForm .cartSq").each(function(){
  1900. var orgCurrPrice = parseInt($(this).parent().find(".orgCurrPrice").text());
  1901. var cpn1DcAmt = parseInt($(this).parent().find(".cpn1DcAmt").text());
  1902. var optAddPrice = parseInt($(this).parent().find(".optAddPrice").text());
  1903. var goodsQty = parseInt($(this).parent().find(".goodsQty").text());
  1904. var tmtb1DcAmt = parseInt($(this).parent().find(".tmtb1DcAmt").text());
  1905. var tmtb2DcAmt = parseInt($(this).parent().find(".tmtb2DcAmt").text());
  1906. var goodsCpnDcAmt = parseInt($(this).parent().find(".goodsCpnDcAmt").text());
  1907. var cartCpnDcAmt = parseInt($(this).parent().find(".cartCpnDcAmt").text());
  1908. var prePntDcAmt1 = parseInt($(this).parent().find(".prePntDcAmt1").text());
  1909. var dcSumAmt = 0;
  1910. var savePntAmt1 = parseInt($(this).parent().find(".savePntAmt1").text());
  1911. // 주문금액 = ((판매가 - 즉시할인가) + 옵션추가금액) * 장바구니수량
  1912. orgGoodsSumAmt = orgGoodsSumAmt + (orgCurrPrice + optAddPrice) * goodsQty;
  1913. cpn1DcSumAmt = cpn1DcSumAmt + (cpn1DcAmt * goodsQty);
  1914. tmtb1DcSumAmt = tmtb1DcSumAmt + tmtb1DcAmt;
  1915. tmtb2DcSumAmt = tmtb2DcSumAmt + tmtb2DcAmt;
  1916. tmtbDcSumAmt = tmtbDcSumAmt + (tmtb1DcAmt + tmtb2DcAmt);
  1917. goodsCpnDcSumAmt = goodsCpnDcSumAmt + goodsCpnDcAmt;
  1918. cartCpnDcSumAmt = cartCpnDcSumAmt + cartCpnDcAmt;
  1919. cpnDcSumAmt = cpnDcSumAmt + (goodsCpnDcAmt + cartCpnDcAmt);
  1920. prePntDcSumAmt = prePntDcSumAmt + prePntDcAmt1;
  1921. var ordAmt = ((orgCurrPrice - cpn1DcAmt) + optAddPrice) * goodsQty;
  1922. ordSumAmt = ordSumAmt + ordAmt;
  1923. // 선포인트사용여부
  1924. // 할인금액합계 = 다다익선수량금액 + 다다익선금액금액 + 상품쿠폰금액 + 장바구니금액 + 선포인트금액
  1925. if (prePntDcAmtYn == "Y") {
  1926. dcSumAmt = tmtb1DcAmt + tmtb2DcAmt + goodsCpnDcAmt + cartCpnDcAmt + prePntDcAmt1;
  1927. // 2021.04.29 선포인트사용포인트 적립포인트금액 0원처리
  1928. if (prePntDcAmt1 < 1) {
  1929. savePntSumAmt = savePntSumAmt + savePntAmt1;
  1930. }
  1931. } else {
  1932. dcSumAmt = tmtb1DcAmt + tmtb2DcAmt + goodsCpnDcAmt + cartCpnDcAmt;
  1933. savePntSumAmt = savePntSumAmt + savePntAmt1;
  1934. }
  1935. // 주문금액설정
  1936. $(this).parent().find(".ordAmt").text(ordAmt);
  1937. $(this).parent().find(".dcSumAmt").text(dcSumAmt);
  1938. });
  1939. // 포인트, 상품권 금액 분배
  1940. $("#orderAmtForm .cartSq").each(function(){
  1941. var ordAmt = parseInt($(this).parent().find(".ordAmt").text());
  1942. var dcSumAmt = parseInt($(this).parent().find(".dcSumAmt").text());
  1943. var tempDiv = parseInt((ordAmt / ordSumAmt) * 100);
  1944. var pntDcAmt1 = 0;
  1945. var gfcdUseAmt1 = 0;
  1946. if (index == cartSqLenght) {
  1947. pntDcAmt1 = leftPntAmt;
  1948. gfcdUseAmt1 = leftGfcdAmt;
  1949. } else {
  1950. pntDcAmt1 = parseInt((pntDcSumAmt * tempDiv) / 100);
  1951. gfcdUseAmt1 = parseInt((gfcdUseSumAmt * tempDiv) / 100);
  1952. leftPntAmt = leftPntAmt - pntDcAmt1;
  1953. leftGfcdAmt = leftGfcdAmt - gfcdUseAmt1;
  1954. }
  1955. var realOrdAmt1 = ordAmt - dcSumAmt - pntDcAmt1 - gfcdUseAmt1;
  1956. realOrdSumAmt = realOrdSumAmt + realOrdAmt1;
  1957. $(this).parent().find(".pntDcAmt1").text(pntDcAmt1);
  1958. $(this).parent().find(".gfcdUseAmt1").text(gfcdUseAmt1);
  1959. $(this).parent().find(".realOrdAmt1").text(realOrdAmt1);
  1960. index++;
  1961. });
  1962. realOrdSumAmt = realOrdSumAmt + delvSumAmt;
  1963. $("#orderAmtForm .orgGoodsSumAmt").text(orgGoodsSumAmt);
  1964. $("#orderAmtForm .cpn1DcSumAmt").text(cpn1DcSumAmt);
  1965. $("#orderAmtForm .ordSumAmt").text(ordSumAmt);
  1966. $("#orderAmtForm .tmtb1DcSumAmt").text(tmtb1DcSumAmt);
  1967. $("#orderAmtForm .tmtb2DcSumAmt").text(tmtb2DcSumAmt);
  1968. $("#orderAmtForm .tmtbDcSumAmt").text(tmtbDcSumAmt);
  1969. $("#orderAmtForm .goodsCpnDcSumAmt").text(goodsCpnDcSumAmt);
  1970. $("#orderAmtForm .cartCpnDcSumAmt").text(cartCpnDcSumAmt);
  1971. $("#orderAmtForm .cpnDcSumAmt").text(cpnDcSumAmt);
  1972. $("#orderAmtForm .prePntDcSumAmt").text(prePntDcSumAmt);
  1973. $("#orderAmtForm .realOrdSumAmt").text(realOrdSumAmt);
  1974. $("#orderAmtForm .savePntSumAmt").text(savePntSumAmt);
  1975. $("#realOrdAmt").text(realOrdSumAmt.addComma()); // 총 결제 예정 금액
  1976. $("#orderForm .realOrdAmt").text(realOrdSumAmt.addComma() + " 원"); // 총 결제 예정 금액
  1977. // 2021.04.29 적립포인트금액 선포인트 사용시 사용금액제외
  1978. $("#orderForm #savePntSumAmt").text(savePntSumAmt.addComma() + " P");
  1979. var tempSavePnt = savePntSumAmt - prePntDcAmt;
  1980. // 사은품사용 후 보유포인트
  1981. var rmPntAmt = parseInt($("#orderForm input[name='rmPntAmt']").val());
  1982. var freegiftUsePnt = parseInt($("#orderAmtForm .freegiftUsePnt").text());
  1983. rmPntAmt = rmPntAmt - freegiftUsePnt;
  1984. $("#orderForm .rmPntAmt").text(rmPntAmt.addComma());
  1985. // 걸제영역
  1986. //$("#btn_payment").text("동의 후 "+realOrdSumAmt.addComma()+" 원 결제하기");
  1987. // 적립포인트
  1988. $("#savePntSumAmt").text(savePntSumAmt.addComma()+" P");
  1989. // 사은품정보 설정
  1990. var freegiftValArr = [];
  1991. var freegiftUsePointArr = [];
  1992. $("#orderForm .gift_box").each(function(){
  1993. $(this).find(".freegiftRdo").each(function(){
  1994. // 사은품필수
  1995. if ($(this).attr("allYn") == "Y" ) {
  1996. freegiftValArr.push($(this).val());
  1997. freegiftUsePointArr.push($(this).attr("usepoint"));
  1998. } else {
  1999. // 라디오버튼 선택 사은품 체크
  2000. if ($(this).is(":checked")) {
  2001. // 수령거부가 아닐때 체크
  2002. if ($(this).val() != "noSel") {
  2003. freegiftValArr.push($(this).val());
  2004. freegiftUsePointArr.push($(this).attr("usepoint"));
  2005. }
  2006. }
  2007. }
  2008. });
  2009. });
  2010. $("#orderAmtForm .freegiftValArr").text(freegiftValArr); // 사은품시퀀스배열
  2011. $("#orderAmtForm .freegiftUsePointArr").text(freegiftUsePointArr); // 사은품사용포인트배열
  2012. };
  2013. // 1.18 배송지정보 설정
  2014. var delvAddrSet = function(delvObj) {
  2015. var rtnStr = "";
  2016. rtnStr += "| recipNm ::: " + delvObj.recipNm;
  2017. rtnStr += "| recipPhnno ::: " + delvObj.recipPhnno;
  2018. rtnStr += "| recipZipcode ::: " + delvObj.recipZipcode;
  2019. rtnStr += "| recipBaseAddr ::: " + delvObj.recipBaseAddr;
  2020. rtnStr += "| recipDtlAddr ::: " + delvObj.recipDtlAddr;
  2021. rtnStr += "| delvMemo ::: " + delvObj.delvMemo;
  2022. // 배송지정보로드실행
  2023. deliveryAddrInfoSet(delvObj, false);
  2024. }
  2025. // 1.19 배송메모설정
  2026. var delvMemoSet = function(delvMemoObj) {
  2027. var rtnStr = "";
  2028. rtnStr += "| delvMemo ::: " + delvMemoObj.delvMemo;
  2029. $("#orderForm input[name=delvMemo]").val(delvMemoObj.delvMemo); // input 값에 설정
  2030. $("#delvMemo").text(delvMemoObj.delvMemo); // 메모 text 설정
  2031. $("#orderAmtForm .delvMemo").text(delvMemoObj.delvMemo); // 메모 text 설정
  2032. }
  2033. </script>
  2034. <script th:inline="javascript">
  2035. $(document).ready( function() {
  2036. //해외배송 입력
  2037. $(document).on('change','.odPayment .area_overseas #rdi-overs1',function(e){
  2038. $('.info_box.overs2').hide();
  2039. $('.info_box.overs1').show();
  2040. return false;
  2041. }).on('change','.odPayment .area_overseas #rdi-overs2',function(e){
  2042. $('.info_box.overs1').hide();
  2043. $('.info_box.overs2').show();
  2044. return false;
  2045. });
  2046. //할인쿠폰 확인
  2047. $(document).on('click','.odPayment .area_seldiscount .btn_coupon_toggle',function(e){
  2048. $('.coupon_list').toggle();
  2049. $(this).toggleClass('on');
  2050. return false;
  2051. });
  2052. //결제수단 선택
  2053. /*
  2054. $(document).on('change','.odPayment .area_paymethod .paymethod_radio input',function(e){
  2055. $('.radio_blk').removeClass('on');
  2056. $(this).parents('.radio_blk').addClass('on');
  2057. $(this).parents('.radio_blk').find('.paymethod_box').show();
  2058. $(this).parents('.radio_blk').siblings('div').find('.paymethod_box').hide();
  2059. var paymethodlabel = $(this).prop('labels');
  2060. $(this).parents('li').find('.fold_head .data span').text($(paymethodlabel).text());
  2061. //간편결제 카드추가 슬라이드
  2062. var swiper = new Swiper('.paymethod_box .card_quickpay .list_card.swiper-container', {
  2063. slidesPerView: 'auto',
  2064. spaceBetween: 160,
  2065. centeredSlides: true,
  2066. navigation: {
  2067. nextEl: '.list_card .swiper-button-next',
  2068. prevEl: '.list_card .swiper-button-prev',
  2069. },
  2070. });
  2071. return false;
  2072. });
  2073. */
  2074. //STYLE24 간편결제 배너닫기
  2075. $(document).on('click','.odPayment .area_paymethod .quickpay_bnr .btn_close_bnr',function(e){
  2076. $('.quickpay_bnr').hide();
  2077. });
  2078. //결제수단 선택 > 즐겨찾기 추가시
  2079. $(document).on('click','.odPayment .area_paymethod .paymethod_box .card .etc .btn_favorcard',function(e){
  2080. $(this).toggleClass('active');
  2081. return false;
  2082. });
  2083. //결제수단 > 일반결제> 실시간계좌이체 선택시
  2084. /*
  2085. $(document).on('change','.odPayment input:radio[name=rdi-paynormal]',function(e){
  2086. var paynormalValue = $(this).attr('id');
  2087. if (paynormalValue == 'rdi-paynormal2') {
  2088. $('.area_paymethod .agree_insurance').show();
  2089. } else {
  2090. $('.area_paymethod .agree_insurance').hide();
  2091. }
  2092. return false;
  2093. });
  2094. */
  2095. // 개인정보동의 열고닫기
  2096. $(document).on('click','.area_paymentinfo .payinfo_blk a',function(e){
  2097. e.preventDefault();
  2098. $(this).parents('.payinfo_blk').toggleClass('on');
  2099. var privacyToggle = $(this).find('span');
  2100. $(privacyToggle).text($(privacyToggle).text() == '보기' ? '닫기' : '보기');
  2101. return false;
  2102. });
  2103. //배송지수정 팝업열기
  2104. /*
  2105. $(document).on('click','#btn_addrModify_pop',function(e){
  2106. $("#adrsModifyPop").modal("show");
  2107. return false;
  2108. });
  2109. */
  2110. //배송요청사항 팝업열기
  2111. /*
  2112. $(document).on('click','#btn_rqstModify_pop',function(e){
  2113. $("#rqstModifyPop").modal("show");
  2114. return false;
  2115. });
  2116. */
  2117. //사은품지급안내 팝업열기
  2118. $(document).on('click','#btn_infoGift_pop',function(e){
  2119. $("#infoGiftPop").modal("show");
  2120. return false;
  2121. });
  2122. //간편결제등록 > STEP1.이용약관 팝업열기
  2123. $(document).on('click','.btn_addcard',function(e){
  2124. $("#qPayAgree_pop").modal("show");
  2125. return false;
  2126. });
  2127. //간편결제등록 > STEP1.이용약관 체크
  2128. $(document).on('click','.area_QpayCk .agr_select button',function(e){
  2129. $(this).parents('.area_QpayCk').find('.info_agrQpay').toggle();
  2130. var payagrToggle = $(this).find('span');
  2131. $(payagrToggle).text($(payagrToggle).text() == '약관열기' ? '약관닫기' : '약관열기');
  2132. return false;
  2133. });
  2134. //간편결제등록 > STEP1.이용약관 체크박스 전체선택
  2135. $(document).on('click','#chk-Qpay-agrAll',function(e){
  2136. $(this).parents(".qPayAgree_pop").find('.agree_Qpay input').prop("checked", $(this).is(":checked"));
  2137. });
  2138. //간편결제등록 > STEP1.이용약관 체크박스 개별선택
  2139. $(document).on("click", ".agree_Qpay input",function(e){
  2140. var is_checked = true;
  2141. $(".agree_Qpay input").each(function(){
  2142. is_checked = is_checked && $(this).is(":checked");
  2143. });
  2144. $("#chk-Qpay-agrAll").prop("checked", is_checked);
  2145. });
  2146. //간편결제등록 > 본인인증 팝업열기
  2147. $(document).on('click','#btn_qPayidConfirm_pop',function(e){
  2148. $("#qPayidConfirm_pop").modal("show");
  2149. return false;
  2150. });
  2151. });
  2152. // PG 카카오페이 결제준비 처리
  2153. var fnKakaoPaymentReady = function() {
  2154. let nextRedirectUrl = $('#order_info input[name=nextRedirectPcUrl]').val();
  2155. let option = 'width=420, height=520';
  2156. window.open(nextRedirectUrl, 'kakaoPaymentPopup', option);
  2157. }
  2158. // PG 카카오페이 결제 승인 요청
  2159. var fnKakaoPaymentRequest = function(pgToken) {
  2160. // Token 값 설정
  2161. $('#order_info input[name=pgToken]').val(pgToken);
  2162. // Form Submit
  2163. document.order_info.submit();
  2164. return true;
  2165. }
  2166. // PG 네이버페이 결제준비 처리
  2167. var fnNaverPaymentReady = function() {
  2168. let naverPayUrl = 'https://' + [[${@environment.getProperty('naverPay.payUrl.web')}]];
  2169. let reserveId = $('#order_info input[name=reserveId]').val();
  2170. let url = naverPayUrl + '/payments/' + reserveId;
  2171. let option = 'width=750, height=' + $(window).height();
  2172. window.open(url, 'naverPaymentPopup', option);
  2173. }
  2174. // PG 네이버페이 결제 승인 요청
  2175. var fnNaverPaymentRequest = function(paymentId) {
  2176. // TID 설정
  2177. $('#order_info input[name=pgTid]').val(paymentId);
  2178. // Form Submit
  2179. document.order_info.submit();
  2180. return true;
  2181. }
  2182. // 0원이하이면 '-' 처리 삭제 함수
  2183. var getZeroMinusDelAmt = function(tempAmt) {
  2184. var rtnAmtStr = "";
  2185. if (tempAmt > 0) {
  2186. rtnAmtStr = "-" + tempAmt.addComma();
  2187. } else {
  2188. rtnAmtStr = tempAmt.addComma();
  2189. }
  2190. return rtnAmtStr;
  2191. }
  2192. //START ::: 2021.04.09 숫자입려 천단위 찍기
  2193. var inputNumberFormat = function(obj) {
  2194. obj.value = comma(uncomma(obj.value));
  2195. }
  2196. var comma = function(str) {
  2197. str = String(str);
  2198. return str.replace(/(\d)(?=(?:\d{3})+(?!\d))/g, '$1,');
  2199. }
  2200. var uncomma = function(str) {
  2201. str = String(str);
  2202. return str.replace(/[^\d]+/g, '');
  2203. }
  2204. // 2021.04.09 숫자입려 천단위 찍기 ::: END
  2205. </script>
  2206. </th:block>
  2207. </body>
  2208. </html>