cart.js 6.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234
  1. // 배송조회 버튼 클릭 이벤트
  2. var fnGetDeliveryInfo = function(param) {
  3. let invoiceNo = $(param).attr('invoiceNo');
  4. let shipCompCd = $(param).attr('shipCompCd');
  5. // TODO
  6. // 배송조회 처리
  7. }
  8. // 구매확정 처리
  9. var fnDecideOrder = function(param) {
  10. let ordDtlNoArr = $(param).parent().parent().find('input[name=ordDtlNo]');
  11. let ordDtlStatArr = $(param).parent().parent().find('input[name=ordDtlStat]');
  12. let orderDecisionArr = [];
  13. $.each(ordDtlNoArr, function(idx, item) {
  14. if (ordDtlStatArr[idx].value == 'G013_60') {
  15. orderDecisionArr.push(item.value);
  16. }
  17. });
  18. if (orderDecisionArr.length == 0) {
  19. mcxDialog.alert('구매확정 가능한 상품이 없습니다.');
  20. return false;
  21. }
  22. mcxDialog.confirm('구매확정 처리를 하시겠습니까?', {
  23. cancelBtnText: "취소",
  24. sureBtnText: "확인",
  25. sureBtnClick: function(){
  26. let data = {};
  27. data.ordNo = ordNo;
  28. data.ordDtlNoArr = orderDecisionArr;
  29. var jsonData = JSON.stringify(data);
  30. gagajf.ajaxJsonSubmit('/mypage/order/decision'
  31. , jsonData
  32. , function() {
  33. cfnGoToPage(_PAGE_MYPAGE_ORDER_DETAIL + ordNo);
  34. });
  35. }
  36. });
  37. }
  38. // 리뷰작성 버튼 클릭 이벤트
  39. var fnCreateReview = function(param, bannerYn) {
  40. let ordDtlNoArr;
  41. let ordDtlStatArr;
  42. let reviewSqArr;
  43. if (bannerYn == 'Y') {
  44. ordDtlNoArr = $(param).parent().parent().find('input[name=ordDtlNo]');
  45. ordDtlStatArr = $(param).parent().parent().find('input[name=ordDtlStat]');
  46. reviewSqArr = $(param).parent().parent().find('input[name=reviewSq]');
  47. } else {
  48. ordDtlNoArr = $(param).parent().parent().parent().parent().find('input[name=ordDtlNo]');
  49. ordDtlStatArr = $(param).parent().parent().parent().parent().find('input[name=ordDtlStat]');
  50. reviewSqArr = $(param).parent().parent().parent().parent().find('input[name=reviewSq]');
  51. }
  52. let canReviewSqArr = [];
  53. $.each(ordDtlNoArr, function(idx, item) {
  54. if (ordDtlStatArr[idx].value == 'G013_70' && reviewSqArr[idx].value == 0) {
  55. canReviewSqArr.push(item.value);
  56. }
  57. });
  58. if (canReviewSqArr.length == 0) {
  59. mcxDialog.alert('리뷰작성 가능한 상품이 없습니다.');
  60. return false;
  61. }
  62. // TODO
  63. // 리뷰 작성페이지 이동
  64. let data = {};
  65. data.ordNo = ordNo;
  66. data.ordDtlNoArr = canReviewSqArr;
  67. var jsonData = JSON.stringify(data);
  68. //gagajf.ajaxJsonSubmit('/mypage/order/decision'
  69. // , jsonData
  70. // , function() {
  71. // cfnGoToPage(_PAGE_MYPAGE_ORDER_DETAIL + ordNo);
  72. // });
  73. }
  74. // 장바구니 담기 버튼 클릭 이벤트
  75. var fnCreateCart = function(param, bannerYn) {
  76. let ordDtlNoArr = '';
  77. let ordDtlStatArr = '';
  78. let reviewSqArr = '';
  79. if (bannerYn == 'Y') {
  80. ordDtlNoArr = $(param).parent().parent().find('input[name=ordDtlNo]');
  81. ordDtlStatArr = $(param).parent().parent().find('input[name=ordDtlStat]');
  82. reviewSqArr = $(param).parent().parent().find('input[name=reviewSq]');
  83. } else {
  84. ordDtlNoArr = $(param).parent().parent().parent().parent().parent().find('input[name=ordDtlNo]');
  85. ordDtlStatArr = $(param).parent().parent().parent().parent().parent().find('input[name=ordDtlStat]');
  86. reviewSqArr = $(param).parent().parent().parent().parent().parent().find('input[name=reviewSq]');
  87. }
  88. let cartArr = [];
  89. $.each(ordDtlNoArr, function(idx, item) {
  90. if (bannerYn != 'Y' || (bannerYn == 'Y' && ordDtlStatArr[idx].value == 'G013_70' && reviewSqArr[idx].value > 0)) {
  91. cartArr.push(item.value);
  92. }
  93. });
  94. if (cartArr.length == 0) {
  95. mcxDialog.alert('장바구니에 담을 상품이 없습니다.');
  96. return false;
  97. }
  98. // TODO
  99. // 장바구니 담기 처리
  100. let data = {};
  101. data.ordNo = ordNo;
  102. data.ordDtlNoArr = cartArr;
  103. var jsonData = JSON.stringify(data);
  104. //gagajf.ajaxJsonSubmit('/mypage/order/decision'
  105. // , jsonData
  106. // , function() {
  107. // cfnGoToPage(_PAGE_MYPAGE_ORDER_DETAIL + ordNo);
  108. // });
  109. }
  110. // 선물하기 SMS 재전송 버튼 클릭 이벤트
  111. var fnReSendSms = function(param) {
  112. let ordNo = $(param).attr('ordNo');
  113. // TODO
  114. // 선물하기 SMS 재발송 처리
  115. }
  116. // 교환 버튼 클릭 이벤트
  117. var fnCreateExchange = function(param) {
  118. if (ordNo == null) {
  119. ordNo = $(param).attr('ordNo');
  120. }
  121. let ordDtlNoArr = $(param).parent().parent().parent().parent().find('input[name=ordDtlNo]');
  122. let exchangeArr = [];
  123. $.each(ordDtlNoArr, function(idx, item) {
  124. exchangeArr.push(item.value);
  125. })
  126. // TODO
  127. // 교환신청 페이지 이동 처리
  128. $('#exchangeForm input[name=ordNo]').val(ordNo);
  129. $('#exchangeForm input[name=ordDtlNoArr]').val(exchangeArr);
  130. document.exchangeForm.submit();
  131. }
  132. // 반품/취소 버튼 클릭 이벤트
  133. var fnCreateCancel = function(param) {
  134. let ordDtlNoArr = $(param).parent().parent().parent().parent().find('input[name=ordDtlNo]');
  135. // TODO
  136. // 반품/취소신청 페이지 이동 처리
  137. }
  138. // 주문 내역 삭제 처리
  139. var fnDeleteOrder = function() {
  140. mcxDialog.confirm('주문 내역을 삭제하시겠습니까?', {
  141. cancelBtnText: "취소",
  142. sureBtnText: "확인",
  143. sureBtnClick: function(){
  144. let data = {};
  145. data.ordNo = ordNo;
  146. var jsonData = JSON.stringify(data);
  147. gagajf.ajaxJsonSubmit('/mypage/order/delete'
  148. , jsonData
  149. , function() {
  150. cfnGoToPage(_PAGE_MYPAGE);
  151. });
  152. }
  153. });
  154. };
  155. // 문자열 길이를 체크
  156. var cfnGetTextLength = function(obj, maxLen, dpLoc) {
  157. var valLen = $(obj).val().length;
  158. var cByte = 0;
  159. var sliceLen = 0;
  160. for (i = 0; i < valLen; i++) {
  161. var aChar = $(obj).val().charAt(i);
  162. if (escape(aChar).length == 6) {
  163. cByte += 3; //한글이면 3를 더한다
  164. } else if (aChar == '\n') {
  165. cByte += 2; //엔터면 2을 더한다
  166. } else {
  167. cByte++; //한글아니면 1을 더한다
  168. }
  169. if (cByte <= maxLen) {
  170. sliceLen = i + 1;
  171. }
  172. }
  173. // 사용자가 입력한 값이 제한 값을 초과하는지를 검사한다.
  174. if (parseInt(cByte) > parseInt(maxLen)) {
  175. mcxDialog.alert('허용된 글자수가 초과되었습니다.\n초과된 부분은 자동으로 삭제됩니다.');
  176. //var orgStr = $(obj).val();
  177. var slicedStr = $(obj).val().substr(0, sliceLen);
  178. $(obj).val(slicedStr);
  179. var cByte = 0;
  180. for (i = 0; i < $(obj).val().length; i++) {
  181. var aChar = $(obj).val().charAt(i);
  182. if (escape(aChar).length == 6) {
  183. cByte += 3; //한글이면 3를 더한다
  184. } else if (aChar == '\n') {
  185. cByte += 2; //엔터면 2을 더한다
  186. } else {
  187. cByte++; //한글아니면 1을 더한다
  188. }
  189. }
  190. }
  191. $(dpLoc).text(cByte.addComma());
  192. }