WithdrawDirectiveListForm.html 22 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588
  1. <!DOCTYPE html>
  2. <html lang="ko"
  3. xmlns:th="http://www.thymeleaf.org">
  4. <!--
  5. *******************************************************************************
  6. * @source : WithdrawDirectiveListForm.html
  7. * @desc : 회수지시 목록 Page
  8. *=============================================================
  9. * ISTYLE24
  10. * Copyright(C) 2021 TSIT, All rights reserved.
  11. *=============================================================
  12. * VER DATE AUTHOR DESCRIPTION
  13. * === =========== ========== ==================================
  14. * 1.0 2021.05.10 moon 최초 작성
  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. <!-- 검색조건 영역 -->
  27. <form id="searchForm" name="searchForm" action="#" th:action="@{'/withdraw/direct/list'}" onsubmit="$('#btnSearch').trigger('click'); return false;">
  28. <div class="panelStyle">
  29. <!-- TITLE -->
  30. <div class="panelTitle">
  31. <h3><i class="fa fa-info-circle"></i>아래 검색조건 <font color="red">주문번호,주문변경번호,회수요청일</font>중 하나를 꼭 입력해 주세요.</h3>
  32. <span class="panelControl">
  33. <i class="fa fa-chevron-up"></i>
  34. </span>
  35. </div>
  36. <!-- //TITLE -->
  37. <div class="panelContent">
  38. <table class="frmStyle">
  39. <colgroup>
  40. <col style="width:8%;"/>
  41. <col style="width:12%;"/>
  42. <col style="width:8%;"/>
  43. <col style="width:12%;"/>
  44. <col style="width:8%;"/>
  45. <col style="width:12%;"/>
  46. </colgroup>
  47. <tr>
  48. <th>주문자명</th>
  49. <td>
  50. <input type="text" name="ordNm" placeholder="" maxlength="20"/>
  51. </td>
  52. <th>주문번호</th>
  53. <td>
  54. <input type="text" name="ordNo" oninput="this.value = this.value.replace(/[^0-9.]/g, '').replace(/(\..*)\./g, '$1');" placeholder="" maxlength="20"/>
  55. </td>
  56. <th>주문변경번호</th>
  57. <td>
  58. <input type="text" name="ordChgSq" oninput="this.value = this.value.replace(/[^0-9.]/g, '').replace(/(\..*)\./g, '$1');" placeholder="" maxlength="20"/>
  59. </td>
  60. </tr>
  61. <tr>
  62. <th>제휴몰명</th>
  63. <td>
  64. <input type="hidden" class="w40p" name="vendorId" placeholder="" maxlength="20" th:value="${vendorId}"/>
  65. <select name="extmallId">
  66. <option value="">선택안함</option>
  67. <option th:if="${extmallList}" th:each="oneData, status : ${extmallList}" th:value="${oneData.extmallId}" th:text="${'[' + oneData.extmallId + '] ' + oneData.extmallNm}"></option>
  68. </select>
  69. </td>
  70. <th>제휴몰 주문번호</th>
  71. <td>
  72. <input type="text" name="extmallOrderId" placeholder="" maxlength="40"/>
  73. </td>
  74. <th>SKU-CODE</th>
  75. <td>
  76. <input type="text" name="optCd" placeholder="" maxlength="40"/>
  77. </td>
  78. </tr>
  79. <tr>
  80. <th>회수구분</th>
  81. <td>
  82. <select name="chgGb">
  83. <option value="">&nbsp;전체&nbsp;</option>
  84. <option value="G680_30"> 반품요청 </option>
  85. <option value="G680_40"> 교환요청 </option>
  86. </select>
  87. </td>
  88. <th>진행상태</th>
  89. <td>
  90. <select name="chgStat">
  91. <option value="">전체</option>
  92. <option th:if="${chgStatList}" th:each="oneData, status : ${chgStatList}" th:value="${oneData.cd}" th:text="${oneData.cdNm}"></option>
  93. </select>
  94. </td>
  95. <th>반품방식</th>
  96. <td>
  97. <select name="wdGb">
  98. <option value="">&nbsp;전체&nbsp;</option>
  99. <option value="W">방문회수</option>
  100. <option value="D">직접배송</option>
  101. </select>
  102. </td>
  103. </tr>
  104. <tr>
  105. <th>택배사전송여부</th>
  106. <td>
  107. <select name="sendYn">
  108. <option value="">전체</option>
  109. <option value="Y">전송</option>
  110. <option value="N">미전송</option>
  111. </select>
  112. </td>
  113. <th>CJ회수상태</th>
  114. <td colspan="3">
  115. <select name="wdShipState">
  116. <option value="">전체</option>
  117. <option th:if="${wdShipStateList}" th:each="oneData, status : ${wdShipStateList}" th:value="${oneData.cd}" th:text="${oneData.cdNm}"></option>
  118. </select>
  119. </td>
  120. </tr>
  121. <tr>
  122. <th>회수요청일</th>
  123. <td colspan="5" id="terms">
  124. </td>
  125. </tr>
  126. </table>
  127. <ul class="panelBar">
  128. <li class="center">
  129. <button type="button" class="btn btn-base btn-lg" id="btnSearch">조회</button>
  130. <button type="button" class="btn btn-gray btn-lg" onclick="$('#searchForm')[0].reset(); fnInitCalendar();">초기화</button>
  131. <button type="button" id="btnExcel" class="btn btn-info btn-lg" >엑셀다운로드</button>
  132. </li>
  133. </ul>
  134. </div>
  135. </div>
  136. <!-- //검색조건 영역 -->
  137. <!-- 리스트 영역 -->
  138. <div class="panelStyle">
  139. <ul class="panelBar">
  140. <li class="right">
  141. 검색결과 : <strong><span id="gridRowTotalCount">0</span> 건</strong>&nbsp;
  142. 쪽번호 <span id="pgNo">0</span>/ <strong id="endPgNo">0</strong>&nbsp;&nbsp;
  143. <select id="pageSize" name="pageSize">
  144. <option value="10" >10개씩 보기</option>
  145. <option value="20" selected="selected">20개씩 보기</option>
  146. <option value="50">50개씩 보기</option>
  147. <option value="100">100개씩 보기</option>
  148. <option value="500">500개씩 보기</option>
  149. <option value="1000">1000개씩 보기</option>
  150. <option value="3000">3000개씩 보기</option>
  151. <option value="5000">5000개씩 보기</option>
  152. </select>
  153. <input type="hidden" name="pageNo" id="pageNo" value ="1"/>
  154. </li>
  155. </ul>
  156. <div id="gridList" style="width:100%; height: 500px;" class="ag-theme-balham"></div>
  157. <ul class="panelBar">
  158. <li class="center">
  159. <div class="tablePaging" id="delvWithdrawListPagination"></div>
  160. </li>
  161. </ul>
  162. </div>
  163. </form>
  164. <!-- //리스트 영역 -->
  165. </div>
  166. <script type="text/javascript" src="/ux/plugins/gaga/gaga.paging.js?v=20210114"></script>
  167. <script th:inline="javascript">
  168. /*<![CDATA[*/
  169. // 사이트목록
  170. var currOrdNo =0;
  171. var columnDefs = [
  172. {headerName: "회수구분", field: "chgGbNm", width: 80, cellClass: "text-center"},
  173. {headerName: "진행상태", field: "chgStatNm", width: 100, cellClass: "text-center"},
  174. {headerName: "CJ회수상태", field: "wdShipStateNm", width: 120, cellClass: "text-center"},
  175. {headerName: "몰구분", field: "mallGb", width: 100, cellClass: "text-center",
  176. cellRenderer: function(params) {
  177. var rtnStr = "자사몰";
  178. if (params.value == 'G011_20') {
  179. rtnStr = "외부몰";
  180. }
  181. return rtnStr;
  182. }
  183. },
  184. {headerName: "제휴몰명", field: "extmallNm", width: 120, cellClass: "text-center"},
  185. {headerName: "제휴몰주문번호", field: "extmallOrderId", width: 120, cellClass: "text-center"},
  186. {headerName: "주문번호", field: "ordNo", width: 100, cellClass: "text-center",
  187. cellRenderer: function(params) {
  188. return gagajf.isNull(params.value) ? '' : "<a href=\"javascript:void(0);\" onclick=\"fnOrderDetailPopup('" + params.data.ordNo + "');\">" + params.data.ordNo + "</a>";
  189. }
  190. },
  191. {headerName: "주문변경번호", field: "ordChgSq", width: 100, cellClass: "text-center",
  192. cellRenderer : function(params) {
  193. var rtnStr = "";
  194. var paramData = params.data.ordNo;
  195. paramData += '@' + params.data.ordDtlNo;
  196. paramData += '@' + params.data.delvFeeCd;
  197. paramData += '@' + params.data.delvFeeCdGrp;
  198. // 반품접수, 반품대기, 회수요청, 상품검수중, 결제대기, 반품진행중
  199. if (params.data.chgStat == 'G685_50' || params.data.chgStat == 'G685_51'
  200. || params.data.chgStat == 'G685_30' || params.data.chgStat == 'G685_31' || params.data.chgStat == 'G685_32' || params.data.chgStat == 'G685_33') {
  201. rtnStr = '<a href="javascript:void(0);" onclick="fnReturnRequest(\'' + paramData + '\',\'' + params.value + '\');">' + params.value + '</a>';
  202. }
  203. // 교환접수, 교환대기, 회수요청, 상품검수중, 결제대기, 교환진행중
  204. else if (params.data.chgStat == 'G685_20' || params.data.chgStat == 'G685_21'
  205. || params.data.chgStat == 'G685_30' || params.data.chgStat == 'G685_31' || params.data.chgStat == 'G685_32' || params.data.chgStat == 'G685_34') {
  206. rtnStr = '<a href="javascript:void(0);" onclick="fnExchangeRequest(\'' + paramData + '\',\'' + params.value + '\');">' + params.value + '</a>';
  207. }
  208. else {
  209. rtnStr = params.value;
  210. }
  211. return rtnStr;
  212. }
  213. },
  214. {headerName: "주문상세번호", field: "ordDtlNo", width: 100, cellClass: "text-center"},
  215. {headerName: "주문자명", field: "maskingOrdNm", width: 100, cellClass: "text-center"},
  216. {headerName: "클레임접수일", field: "chgRegDt", width: 100, cellClass: "text-center"},
  217. {headerName: "회수요청일", field: "regDt", width: 100, cellClass: "text-center"},
  218. {headerName: "회수상태수신일시", field: "wdStateDt", width: 120, cellClass: "text-center"},
  219. {headerName: "상품코드", field: "goodsCd", width: 120, cellClass: 'text-center',
  220. cellRenderer: function (params) {
  221. var option;
  222. if (params.data.goodsType == 'G056_S') {
  223. option = "<a href=\"javascript:void(0);\" onclick=\"fnOrderDetailItemForm('" + params.data.ordDtlNo + "');\">" + params.value + "</a>";
  224. } else {
  225. option = params.value;
  226. }
  227. return option;
  228. }
  229. },
  230. {headerName: "SKU-CODE", field: "optCd", width: 80, cellClass: "text-left"},
  231. {headerName: "상품명", field: "goodsNm", width: 200, cellClass: "text-left"},
  232. {headerName: "옵션1", field: "optCd1", width: 80, cellClass: "text-left"},
  233. {headerName: "옵션2", field: "optCd2", width: 80, cellClass: "text-left"},
  234. {headerName: "수량", field: "chgQty", width: 80, cellClass: "text-center"},
  235. {headerName: "사유", field: "chgReasonNm", width: 150, cellClass: "text-left"},
  236. {headerName: "반품방식", field: "wdGbNm", width: 80, cellClass: "text-center"},
  237. {headerName: "네이버주문형", field: "npayOrdYn", width: 80, cellClass: "text-center"},
  238. {headerName: "택배사전송", field: "sendYn", width: 80, cellClass: "text-center"},
  239. {headerName: "회수송장번호", field: "wdInvoiceNo", width: 100, cellClass: "text-center"
  240. , cellRenderer : function (params) {
  241. var retStr = '';
  242. if (!gagajf.isNull(params.value) && !gagajf.isNull(params.data.shipCompCd)) {
  243. retStr = '<a href="javascript:void(0);" onclick="fnSweetTracker(\'' + params.data.shipCompCd + '\',\'' + params.data.wdInvoiceNo + '\');">' + params.value + '</a>';
  244. }
  245. return retStr;
  246. }
  247. },
  248. {headerName: "미회수사유", field: "wdReasonCdNm", width: 100, cellClass: "text-center"},
  249. {headerName: "재회수지시", field: "wdShipState", width: 100, cellClass: 'text-center',
  250. cellRenderer: function(params) {
  251. return params.value == '12' && params.data.chgStat == 'G685_30' ? '<button type="button" class="btn btn-base btn-sm" onclick="fnReRecallOrder(\'' + params.data.chgGb + '\',\'' + params.data.ordDtlNo + '\',\''+params.data.ordChgSq+'\',\''+params.data.ordNo+'\');">&nbsp;재회수지시&nbsp;</button>' : "";
  252. }
  253. },
  254. {headerName: "교환선발송여부 ", field: "wdBfSendYn", width: 110, cellClass: "text-center"},
  255. {headerName: "배송시작일시", field: "wdStdt", width: 120, cellClass: "text-center"},
  256. {headerName: "배송종료일시", field: "wdEddt", width: 120, cellClass: "text-center"},
  257. {headerName: "수취인명", field: "recipNm", width: 120, cellClass: "text-center"},
  258. {headerName: "알림톡", field: "", width: 140, cellClass: "text-center",
  259. cellRenderer: function(params) {
  260. if (params.data.wdShipState == '12' && params.data.chgStat == 'G685_30') {
  261. var paramData = params.data.ordChgSq;
  262. paramData += '@' + params.data.wdReasonCd;
  263. paramData += '@' + params.data.chgGb;
  264. // 반품요청
  265. if (params.data.chgGb == 'G680_30') {
  266. return '<button type="button" class="btn btn-base btn-sm" onclick="fnKaKao(\'' + paramData + '\');">&nbsp;반품철회알림톡&nbsp;</button>';
  267. }
  268. // 교환요청
  269. else if(params.data.chgGb == 'G680_40') {
  270. return '<button type="button" class="btn btn-base btn-sm" onclick="fnKaKao(\'' + paramData + '\');">&nbsp;교환철회알림톡&nbsp;</button>';
  271. }
  272. }
  273. }
  274. },
  275. {headerName: "LMS", field: "maskingChgerPhnno", width: 80, cellClass: "text-center",
  276. cellRenderer: function(params) {
  277. return '<button type="button" class="btn btn-base btn-sm" onclick="fnLms(\'' + params.data.chgerPhnno + '\',\'' + params.data.custNo + '\');">&nbsp;LMS&nbsp;</button>';
  278. }
  279. },
  280. {headerName: "보내시는분", field: "maskingChgerNm", width: 100, cellClass: "text-center"},
  281. {headerName: "반품회수지휴대전화", field: "maskingChgerPhnno", width: 120, cellClass: "text-center"},
  282. {headerName: "반품회수지우편번호", field: "chgerZipcode", width: 120, cellClass: "text-center"},
  283. {headerName: "반품회수지기본주소", field: "chgerBaseAddr", width: 300, cellClass: "text-left"},
  284. {headerName: "변경자상세주소", field: "maskingChgerDtlAddr", width: 200, cellClass: "text-left"},
  285. {headerName: "주문자휴대전화", field: "maskingOrdPhnno", width: 120, cellClass: "text-center"},
  286. {headerName: "주문자전화번호", field: "ordTelno", width: 120, cellClass: "text-center"},
  287. {headerName: "주문자이메일", field: "maskingOrdEmail", width: 120, cellClass: "text-left"}
  288. ];
  289. var gridOptions = gagaAgGrid.getGridOptions(columnDefs);
  290. // 셀 클릭 이벤트
  291. gridOptions.onCellClicked = function(event) {
  292. if (event.colDef.field == 'ordNo') {
  293. // 주문 상세
  294. cfnOpenOrderDetailPopup(event.data.ordNo);
  295. } else if (event.colDef.field == 'goodsCd') {
  296. // 상품 상세
  297. //cfnOpenGoodsDetailPopup('U', event.data.goodsCd);
  298. }
  299. };
  300. /*************************************************************************
  301. * 주문상세 팝업
  302. **************************************************************************/
  303. var fnOrderDetailPopup = function(ordNo){
  304. currOrdNo = ordNo;
  305. cfnOpenOrderDetailPopup(currOrdNo);
  306. }
  307. /*************************************************************************
  308. * 팝업 콜백
  309. **************************************************************************/
  310. var fnReOpenOrderDetailPopup = function () {
  311. cfnOpenOrderDetailPopup(currOrdNo);
  312. fnSearchList();
  313. };
  314. // 조회
  315. $('#btnSearch').on('click', function() {
  316. $("#searchForm input[name=pageNo]").val('1');
  317. fnSearchList();
  318. });
  319. /*************************************************************************
  320. * 조회
  321. **************************************************************************/
  322. var fnSearchList = function() {
  323. var searchChk = "N";
  324. if ($('#searchForm input[name=ordNo]').val() != '') {
  325. searchChk = "Y";
  326. }
  327. if ($('#searchForm input[name=ordChgSq]').val() != '') {
  328. searchChk = "Y";
  329. }
  330. if (searchChk == "N") {
  331. if ($('#stDate').val() == '') {
  332. mcxDialog.alert('시작 기간을 입력하세요.');
  333. return;
  334. }
  335. if ($('#edDate').val() == '') {
  336. mcxDialog.alert('종료 기간을 입력하세요.');
  337. return;
  338. }
  339. // 날짜 유효성 체크
  340. if (Number($('#stDate').val().replaceAll("-", "")) > Number($('#edDate').val().replaceAll("-", ""))) {
  341. mcxDialog.alert("시작일은 종료일보다 클 수 없습니다.");
  342. return;
  343. }
  344. }
  345. gagaPaging.init('searchForm', fnSearchCallBack, 'delvWithdrawListPagination', $('#searchForm').find('#pageSize').val());
  346. gagaPaging.load($("#searchForm input[name=pageNo]").val());
  347. }
  348. /*************************************************************************
  349. * 조회 콜백
  350. **************************************************************************/
  351. var fnSearchCallBack = function(result){
  352. $('#searchForm').find('#gridRowTotalCount').html(result.pageing.pageable.totalCount.addComma());
  353. $('#searchForm').find('#pageNo').val(result.pageing.pageable.pageNo.addComma());
  354. $('#searchForm').find('#pgNo').html(result.pageing.pageable.pageNo.addComma());
  355. $('#searchForm').find('#endPgNo').html(result.pageing.pageable.totalPage.addComma());
  356. gridOptions.api.setRowData(result.directList);
  357. gagaPaging.createPagination(result.pageing.pageable);
  358. }
  359. // 페이징
  360. $('#searchForm select[name=pageSize]').on('change', function() {
  361. $("#searchForm input[name=pageNo]").val('1');
  362. fnSearchList();
  363. });
  364. /*************************************************************************
  365. * 재회수지시
  366. **************************************************************************/
  367. var fnReRecallOrder = function(chgGb, ordDtlNo, ordChgSq, ordNo ){
  368. mcxDialog.confirm("재회수지시 하시겠습니까?", {
  369. cancelBtnText : "취소",
  370. sureBtnText : "확인",
  371. sureBtnClick: function() {
  372. var param = new Object;
  373. param.chgGb = chgGb;
  374. param.ordDtlNo = ordDtlNo;
  375. param.ordNo = ordNo;
  376. param.ordChgSq = ordChgSq;
  377. var jsonData = JSON.stringify(param);
  378. gagajf.ajaxJsonSubmit('/withdraw/direct/recallorder', jsonData, fnSearchList);
  379. }
  380. });
  381. }
  382. /*************************************************************************
  383. * KAKAO(알림톡)
  384. **************************************************************************/
  385. var fnKaKao = function(paramData){
  386. var param = "";
  387. var msg = "";
  388. var gubun = "";
  389. var paramArr = paramData.split("@");
  390. var ordChgSq = paramArr[0];
  391. var wdReasonCd = paramArr[1];
  392. var chgGb = paramArr[2];
  393. // 반품
  394. if (chgGb == "G680_30") {
  395. // 고객부재
  396. if (wdReasonCd == "18" || wdReasonCd == "14" || wdReasonCd == "16" || wdReasonCd == "25") {
  397. gubun = "RETURN_CANCEL_CUSTOMER";
  398. }
  399. // 고객정보(주소) 오류
  400. else if (wdReasonCd == "21" ){
  401. gubun = "RETURN_CANCEL_ADDR";
  402. }
  403. msg = "반품 철회 알림톡 발송 하시겠습니까?";
  404. }
  405. // 교환
  406. else if (chgGb == "G680_40") {
  407. // 고객부재
  408. if (wdReasonCd == "18" || wdReasonCd == "14" || wdReasonCd == "16" || wdReasonCd == "25") {
  409. gubun = "EXCHANGE_CANCEL_CUSTOMER";
  410. }
  411. // 고객정보(주소) 오류
  412. else if(wdReasonCd == "21" ) {
  413. gubun = "EXCHANGE_CANCEL_ADDR";
  414. }
  415. msg = "교환 철회 알림톡 발송 하시겠습니까?";
  416. }
  417. if (gubun == "") {
  418. mcxDialog.alert('알림톡 대상이 아닙니다.');
  419. return false;
  420. }
  421. mcxDialog.confirm(msg, {
  422. cancelBtnText : "취소",
  423. sureBtnText : "확인",
  424. sureBtnClick: function() {
  425. var param = new Object;
  426. param.ordChgSq = ordChgSq;
  427. param.gubun = gubun;
  428. var jsonData = JSON.stringify(param);
  429. gagajf.ajaxJsonSubmit('/withdraw/direct/recallCancel', jsonData, "");
  430. }
  431. });
  432. }
  433. /*************************************************************************
  434. * LMS
  435. **************************************************************************/
  436. var fnLms = function(chgerPhnno, custNo){
  437. let param = {};
  438. param.elementCellPhnno = chgerPhnno;
  439. param.elementCustNo = custNo;
  440. param.pageGb = 'delv';
  441. cfnOpenLmsPopup2(param);
  442. }
  443. /*************************************************************************
  444. * 반품요청
  445. **************************************************************************/
  446. var fnReturnRequest = function (paramData, ordChgSq) {
  447. // 취소요청 구분 (orChgSq null 이면 취소요청화면 있으면 취소요청정보화면)
  448. if (ordChgSq == null) {
  449. ordChgSq = 0;
  450. }
  451. var param = "";
  452. var paramArr = paramData.split("@");
  453. param += "&ordNo=" + paramArr[0];
  454. param += "&ordDtlNo=" + paramArr[1];
  455. param += "&delvFeeCd=" + paramArr[2];
  456. param += "&delvFeeCdGrp=" + paramArr[3];
  457. param += "&ordChgSq=" + ordChgSq;
  458. var actionUrl = "/orderChange/rtn/req/form?" + param;
  459. cfnOpenModalPopup(actionUrl, 'popupReturnRequestForm');
  460. };
  461. /*************************************************************************
  462. * 교환요청
  463. **************************************************************************/
  464. var fnExchangeRequest = function (paramData, ordChgSq) {
  465. console.log(paramData);
  466. // 취소요청 구분 (orChgSq null 이면 취소요청화면 있으면 취소요청정보화면)
  467. if (ordChgSq == null) {
  468. ordChgSq = 0;
  469. }
  470. var paramArr = paramData.split("@");
  471. var param = "";
  472. param += "&ordNo=" + paramArr[0];
  473. param += "&ordDtlNo=" + paramArr[1];
  474. param += "&delvFeeCd=" + paramArr[2];
  475. param += "&delvFeeCdGrp=" + paramArr[3];
  476. param += "&ordChgSq=" + ordChgSq;
  477. var actionUrl = "/orderChange/exchange/request/form?" + param;
  478. cfnOpenModalPopup(actionUrl, 'popupExchangeRequestForm');
  479. };
  480. // 엑셀다운로드
  481. $('#btnExcel').on('click', function() {
  482. var totalRows = gridOptions.api.getDisplayedRowCount();
  483. if (totalRows == 0) {
  484. mcxDialog.alert('조회된 내역이 없습니다.');
  485. return;
  486. }
  487. var date = new Date().format("YYYYMMDDHHmmss");
  488. var params = {
  489. fileName : "회수지시목록_"+ date,
  490. sheetName: "DATA"
  491. }
  492. gridOptions.excelStyles = [
  493. {
  494. id: 'dateFormat',
  495. dataType: 'dateTime',
  496. numberFormat: {
  497. format: 'YYYY-MM-DD;@'
  498. }
  499. },
  500. {
  501. id: 'textFormat',
  502. dataType: 'string'
  503. }
  504. ]
  505. gridOptions.api.exportDataAsExcel(params);
  506. });
  507. // 2021.06.17 스윗트래커 송장조회
  508. var fnSweetTracker = function (shipCompCd, invoiceNo) {
  509. var actionUrl = "/order/delivery/sweetTrackerDeliveryInfo?shipCompCd=" + shipCompCd + "&invoiceNo=" + invoiceNo;
  510. cfnOpenModalPopup(actionUrl, 'popupSweetTrackerDeliveryInfo');
  511. };
  512. $(document).ready(function() {
  513. // Create a agGrid
  514. gagaAgGrid.createGrid('gridList', gridOptions);
  515. var hideList = ["btnThisWeek", "btnYesterWeek", "btnThisMonth", "btnYesterMonth", "btnRecent3Month"];
  516. cfnCreateCalendar('#terms', 'stDate', 'edDate', true, '','', hideList);
  517. // grid 높이 조절
  518. //uifnFitGrid('auto');
  519. gagajf.setDate('#terms', 'stDate', 'edDate', '7d');
  520. //fnDatepickerDisabled();
  521. });
  522. // 2021.11.18 구성상품 내역 팝업 호출
  523. var fnOrderDetailItemForm = function (ordDtlNo) {
  524. var actionUrl = "/delivery/detail/item/form/" + ordDtlNo;
  525. cfnOpenModalPopup(actionUrl, 'popupDeliveryDetailItemForm');
  526. }
  527. /*]]>*/
  528. </script>
  529. </html>