ExtmallOrderRegisterForm.html 7.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167
  1. <!DOCTYPE html>
  2. <html lang="ko"
  3. xmlns:th="http://www.thymeleaf.org">
  4. <!--
  5. *******************************************************************************
  6. * @source : ExtmallOrderRegisterForm.html
  7. * @desc : 제휴몰 주문업로드 Page
  8. *============================================================================
  9. * STYLE24
  10. * Copyright(C) 2020 TSIT, All rights reserved.
  11. *============================================================================
  12. * VER DATE AUTHOR DESCRIPTION
  13. * === =========== ========== =============================================
  14. * 1.0 2021.05.20 jmh 최초 작성
  15. *******************************************************************************
  16. -->
  17. <div id="main">
  18. <!-- 메인타이틀 영역 -->
  19. <div class="main-title">
  20. </div>
  21. <!-- //메인타이틀 영역 -->
  22. <!-- 메뉴 설명 -->
  23. <div class="infoBox menu-desc">
  24. </div>
  25. <!-- //메뉴 설명 -->
  26. <!-- <form id="searchForm" name="searchForm" action="#" th:action="@{'/shoplinker/order/collection/list'}" onsubmit="$('#btnSearch').trigger('click'); return false;"> -->
  27. <form id="extmallOrderForm" name="extmallOrderForm" >
  28. <!-- 검색조건 영역 -->
  29. <div class="panelStyle">
  30. <ul class="lrStyle">
  31. <li>
  32. <p class="dot">주문등록샘플 엑셀파일을 다운로드 할 경우 <font color="red">[샘플다운로드]</font> 버튼을 클릭한다.</p>
  33. <p class="dot"><font color="red">[엑셀업로드]</font> 버튼을 눌러 데이터를 업로드 한다. 업로드 된 데이터가 목록에 나타난다.(※ 미매핑이 표시될경우 주문등록이 실패처리된다.)</p>
  34. <p class="dot"><font color="red">[주문등록]</font> 버튼을 눌러 주문등록을 완료한다.</p>
  35. <p class="dot"><font color="red">주문등록 처리는 몇 분이 소요되기도 하며</font> 결과는 <font color="red">[결과확인]</font> 버튼을 눌러 확인할 수 있다.</p>
  36. </li>
  37. </ul>
  38. <ul class="panelBar padT20">
  39. <li class="center">
  40. <input type="button" class="btn btn-default btn-lg" id="btnExcelDown" onclick="cfnDownloadSampleFile('SF023');" value="제휴몰 주문등록양식 다운로드" />
  41. <input type="button" class="btn btn-primary btn-lg" id="btnExcelUpload" value="엑셀업로드"/>
  42. <input type="button" class="btn btn-success btn-lg" id="btnSaveExtmallOrderUpload" value="주문등록"/>
  43. <input type="button" class="btn btn-danger btn-lg" id="btnSearchExtmallOrderUpload" value="결과확인"/>
  44. </li>
  45. </ul>
  46. </div>
  47. <!-- 검색조건 영역 -->
  48. <!-- 리스트 영역 -->
  49. <div class="panelStyle">
  50. <div id="gridList" style="width: 100%; height: 470px" class="ag-theme-balham"></div>
  51. </div>
  52. <!-- //리스트 영역 -->
  53. </form>
  54. </div>
  55. <script th:inline="javascript">
  56. /*<![CDATA[*/
  57. var click_bool = true;
  58. var columnDefs = [
  59. {headerName: "업로드상태", field: "uploadStatNm", width: 150, cellClass: 'text-center'},
  60. {headerName: "업로드실패사유", field: "uploadFailNm", width: 150, cellClass: 'text-center'},
  61. {headerName: "업로드실패사유상세", field: "uploadFailReason", width: 200, cellClass: 'text-center'},
  62. {headerName: "주문번호", field: "ordNo", width: 130, cellClass: 'text-center'},
  63. {headerName: "제휴몰ID", field: "extmallId", width: 130, cellClass: 'text-center'},
  64. {headerName: "제휴몰명", field: "extmallNm", width: 130, cellClass: 'text-center'},
  65. {headerName: "쇼핑몰주문번호", field: "extmallOrderId", width: 150, cellClass: 'text-center'},
  66. {headerName: "샵링커주문번호", field: "agentOrderId", width: 150, cellClass: 'text-center'},
  67. {headerName: "제휴상품코드", field: "extmallProdId", width: 150, cellClass: 'text-center'},
  68. {headerName: "상품코드", field: "goodsCd", width: 150, cellClass: 'text-center'},
  69. {headerName: "상품명", field: "sku", width: 150, cellClass: 'text-center'},
  70. {headerName: "옵션코드", field: "optCd", width: 150, cellClass: 'text-center'},
  71. {headerName: "판매금액", field: "currPrice", width: 100, cellClass: 'text-center'},
  72. {headerName: "할인금액", field: "cpnDcAmt", width: 100, cellClass: 'text-center'},
  73. {headerName: "주문수량", field: "ordQty", width: 100, cellClass: 'text-center'},
  74. {headerName: "주문금액", field: "ordAmt", width: 200, cellClass: 'text-center'},
  75. {headerName: "배송비", field: "delvFee", width: 100, cellClass: 'text-center'},
  76. {headerName: "주문자", field: "ordNm", width: 100, cellClass: 'text-center'},
  77. {headerName: "주문자전화번호", field: "ordTelno", width: 130, cellClass: 'text-center'},
  78. {headerName: "주문자핸드폰번호", field: "ordPhnno", width: 130, cellClass: 'text-center'},
  79. {headerName: "주문자이메일", field: "ordEmail", width: 130, cellClass: 'text-center'},
  80. {headerName: "수령자", field: "recipNm", width: 100, cellClass: 'text-center'},
  81. {headerName: "수령자전화번호", field: "recipTelno", width: 130, cellClass: 'text-center'},
  82. {headerName: "수령자핸드폰번호", field: "recipPhnno", width: 130, cellClass: 'text-center'},
  83. {headerName: "수령자우편번호", field: "recipZipcode", width: 130, cellClass: 'text-center'},
  84. {headerName: "수령자기본주소", field: "recipBaseAddr", width: 300, cellClass: 'text-center'},
  85. {headerName: "수령자상세주소", field: "recipDtlAddr", width: 200, cellClass: 'text-center'},
  86. {headerName: "배송메모", field: "delvMemo", width: 200, cellClass: 'text-center'}
  87. // {headerName: "수집일시", field: "regDt", width: 150, cellClass: 'text-center'},
  88. // {headerName: "주문일시", field: "ordDt", width: 150, cellClass: 'text-center'},
  89. // {headerName: "결제일시", field: "payDt", width: 150, cellClass: 'text-center'},
  90. ];
  91. let gridOptions = gagaAgGrid.getGridOptions(columnDefs);
  92. gridOptions.getRowStyle = function(params) {
  93. if ("Y" == params.data.warningYn) {
  94. return { background: '#FF8383' };
  95. }
  96. }
  97. $(document).ready(function() {
  98. // Create a agGrid
  99. gagaAgGrid.createGrid('gridList', gridOptions);
  100. });
  101. //엑셀업로드 클릭 시
  102. $('#btnExcelUpload').on('click', function() {
  103. if( click_bool ){
  104. cfnExcelUploadPopup('createExtmallOrder', 'createExtmallOrder');
  105. }else{
  106. mcxDialog.alert("주문등록 처리중입니다. 잠시후 시도해주세요.");
  107. }
  108. });
  109. //주문등록 클릭 시
  110. $('#btnSaveExtmallOrderUpload').on('click', function() {
  111. if( click_bool ){
  112. click_bool = false;
  113. var jsonData = JSON.stringify($('#extmallOrderForm').serializeObject());
  114. gagajf.ajaxJsonSubmit('/ocm/extmallorder/save', jsonData, fnExtmallOrderSaveCallBack);
  115. // gagajf.ajaxJsonSubmit('/ocm/extmallorder/save', jsonData);
  116. }else{
  117. mcxDialog.alert("주문등록 처리중입니다. 잠시후 시도해주세요.");
  118. }
  119. });
  120. $('#btnSearchExtmallOrderUpload').on('click', function() {
  121. if( click_bool ){
  122. var url = '/ocm/extmallorder/upload/second/list';
  123. gagaAgGrid.fetch(url, gridOptions, 'extmallOrderForm');
  124. gridOptions.columnApi.setColumnsVisible(['uploadStatNm','uploadFailNm','uploadFailReason','ordAmt','ordNo'], true);
  125. }else{
  126. mcxDialog.alert("주문등록 처리중입니다. 잠시후 시도해주세요.");
  127. }
  128. });
  129. var fnExtmallOrderSaveCallBack = function(result){
  130. click_bool = true;
  131. }
  132. var createExtmallOrder = function(result){
  133. var data = {procJob : result.procJob
  134. ,excelFileNm : result.excelFileNm
  135. };
  136. var jsonData = JSON.stringify(data);
  137. gagajf.ajaxJsonSubmit('/ocm/extmallorder/excelupload/save', jsonData, fnExtmallOrderCreateCallBack);
  138. }
  139. var fnExtmallOrderCreateCallBack = function(result){
  140. var url = '/ocm/extmallorder/upload/tmp/list';
  141. gagaAgGrid.fetch(url, gridOptions, 'extmallOrderForm');
  142. gridOptions.columnApi.setColumnsVisible(['uploadStatNm','uploadFailNm','uploadFailReason','ordAmt','ordNo'], false);
  143. }
  144. /*]]>*/
  145. </script>
  146. </html>