| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317131813191320132113221323132413251326132713281329133013311332133313341335133613371338133913401341134213431344134513461347134813491350135113521353135413551356135713581359136013611362136313641365136613671368136913701371137213731374137513761377137813791380138113821383138413851386138713881389139013911392139313941395139613971398139914001401140214031404140514061407140814091410141114121413141414151416141714181419142014211422142314241425142614271428142914301431143214331434143514361437143814391440144114421443144414451446144714481449145014511452145314541455145614571458145914601461146214631464146514661467146814691470147114721473147414751476147714781479148014811482148314841485148614871488148914901491149214931494149514961497149814991500150115021503150415051506150715081509151015111512151315141515151615171518151915201521152215231524152515261527152815291530153115321533153415351536153715381539154015411542154315441545154615471548154915501551155215531554155515561557155815591560156115621563156415651566156715681569157015711572157315741575157615771578 |
- <!DOCTYPE html>
- <html lang="ko" xmlns:th="http://www.thymeleaf.org">
- <!--
- *******************************************************************************
- * @source : CnclReqForm.html
- * @desc : 취소요청 화면
- *============================================================================
- * STYLE24
- * Copyright(C) 2019 TSIT, All rights reserved.
- *============================================================================
- * VER DATE AUTHOR DESCRIPTION
- * === =========== ========== =============================================
- * 1.0 2020.12.12 jsh77b 최초 작성
- *******************************************************************************
- -->
- <div class="modalPopup" data-width="1400" data-height="600">
- <div class="panelStyle">
- <div class="panelTitle">
- <h2>취소요청</h2>
- <button type="button" class="close" onclick="uifnPopupClose('popupCancelRequestForm');"><i class="fa fa-times"></i></button>
- </div>
-
- <div class="panelContent" style="height:90%; overflow-y:auto; padding:0px 20px !important; ">
- <form id="cancelRequestFrm" name="cancelRequestFrm" action="/orderChange/cancel" method="post" target="hdFrameForOrderCancel">
- <input type="hidden" name="ordNo" th:value="${ordNo}"/>
- <input type="hidden" name="ordChgSq" th:value="${ordChgSq}"/>
- <input type="hidden" name="delvFeeCd" th:value="${delvFeeCd}"/>
- <input type="hidden" name="chgReason" th:value="${ordChgSq > 0 && chgStat != 'G685_40' ? orderChangeDetailList[0].chgReason : ''}"/>
- <input type="hidden" name="chgReasonDesc" value=""/>
-
- <div id="orderInfoList" style="display:none;">
- <h4>기본정보</h4>
- <!-- TABLE -->
- <table class="tableStyle">
- <colgroup>
- <col width="">
- <col width="">
- <col width="">
- <col width="">
- <col width="">
- <col width="">
- <col width="">
- <col width="">
- <col width="">
- <col width="">
- <col width="">
- <col width="">
- <col width="">
- </colgroup>
- <thead>
- <tr>
- <th>사이트</th>
- <th>몰구분</th>
- <th>웹구분</th>
- <th>외부몰</th>
- <th>주문일시</th>
- <th>주문자</th>
- <th>고객번호</th>
- <th>주문번호</th>
- <th>이메일</th>
- <th>핸드폰번호</th>
- <th>회원구분</th>
- <th>관리대상</th>
- <th>등급</th>
- </tr>
- </thead>
- <tbody>
- <tr>
- <td th:text="${orderInfoList[0].siteCdNm}"></td>
- <td th:text="${orderInfoList[0].mallGbNm}"></td>
- <td th:text="${orderInfoList[0].frontGbNm}"></td>
- <td th:text="${orderInfoList[0].extmallNm}"></td>
- <td th:text="${orderInfoList[0].ordDt}"></td>
- <td th:text="${orderInfoList[0].ordNm}"></td>
- <td th:text="${orderInfoList[0].custNo}"></td>
- <td th:text="${orderInfoList[0].ordNo}"></td>
- <td th:text="${orderInfoList[0].ordEmail}"></td>
- <td th:text="${orderInfoList[0].ordPhnno}"></td>
- <td th:text="${orderInfoList[0].custGbNm}"></td>
- <td th:text="${orderInfoList[0].managedRsnNm}"></td>
- <td th:text="${orderInfoList[0].custGradeNm}"></td>
- </tr>
- </tbody>
- </table>
- <!-- //TABLE -->
- </div>
-
- <h4 id="orderInfoTitle">주문정보</h4>
- <div id="gridOrderCancelRequestList" style="width:100%; height: 200px;" class="ag-theme-balham"></div>
- <h4 id="h4OrderCancelRequestToBeList">취소정보</h4>
- <div id="gridOrderCancelRequestToBeList" style="width:100%; height: 200px;" class="ag-theme-balham"></div>
-
- <h4 id="h4DelvCdList">배송비정보</h4>
- <div id="gridDelvCdList" style="width:100%; height: 140px;" class="ag-theme-balham"></div>
-
- <div style="text-align:right; padding-bottom:5px; padding-top:5px;">
- <th:block th:if="${userId} == 'jsh77b'">
- <button type="button" class="btn btn-success" id="cnclReqBtn" onclick="fnCnclReq('cnclReq');">취소접수</button>
- </th:block>
- <button type="button" class="btn btn-success" id="cnclCompleteBtn" onclick="fnCnclReq('cnclComplete');">취소완료</button>
- <button type="button" class="btn btn-success" id="cnclReqCancelBtn" onclick="fnCnclReq('cnclReqCancel');">취소철회</button>
- <button type="button" class="btn btn-success" id="cnclReqCompleteBtn" onclick="fnCnclReq('cnclReqComplete');">취소승인</button>
- </div>
-
- <table class="frmStyle">
- <colgroup>
- <col style="width:140px;" />
- <col style="width:180px;" />
- <col style="width:140px;" />
- <col style="width:180px;" />
- <col style="width:140px;" />
- <col style="width:180px;" />
- <col style="width:140px;" />
- <col />
- </colgroup>
- <tbody>
- <tr>
- <th>취소사유 <i class="star"></i></th>
- <td>
- <select name="selectChgReason" onchange="fnChangeChgReason($(this).val());">
- <option value="">[선택하세요]</option>
- <th:block th:each="oneData, status : ${chgReasonList}">
- <th:block th:if="${ordChgSq > 0} or ${oneData.cd} == G686_10 or ${oneData.cd} == G686_20 or ${oneData.cd} == G686_30">
- <option th:if="${chgReasonList}" th:value="|${oneData.cd}|" th:text="|${oneData.cdNm}|"></option>
- </th:block>
- </th:block>
- </select>
- </td>
- <th>귀책사유</th>
- <td colspan="5"><span id="imputeReason"></span></td>
- </tr>
- <tr>
- <th>PG점프</th>
- <td>
- <label class="chkBox">
- <input type="checkbox" name="pgStat" id="pgStat" onclick="fnChangePgStat();"/>
- </label>
- </td>
- <th>입금액(원)</th>
- <td>
- <input type="text" name="depositAmt" id="depositAmt" value="0" readonly="readonly"/>
- </td>
- <th>알림톡미전송여부</th>
- <td colspan="3">
- <label class="chkBox">
- <input type="checkbox" name="msgStat" id="msgStat" checked/>
- </label>
- </td>
- </tr>
- <tr>
- <th>요청메모<br/><span id="dpLocAnsContent">0</span>/1,000Byte</th>
- <td colspan="7">
- <textarea id="chgMemo" name="chgMemo" style="height:80px;" onkeyup="cfnGetTextLength(this, 1000, $('#dpLocAnsContent'));"></textarea>
- </td>
- </tr>
- </tbody>
- </table>
-
- <h4>환불예정금액</h4>
- <table class="frmStyle">
- <colgroup>
- <col width="">
- <col width="">
- <col width="">
- <col width="">
- </colgroup>
- <thead>
- <tr>
- <th style="height:30px;">구분</th>
- <th style="height:30px;">항목</th>
- <th style="height:30px;">합계</th>
- <th style="height:30px;">내역</th>
- </tr>
- </thead>
- <tbody>
- <tr>
- <td style="height:25px;">상품금액</td>
- <td>취소상품금액</td>
- <td class="spanCnclRtnAmt">0원</td>
- <td></td>
- </tr>
- <tr>
- <td rowspan="2">할인금액차감</td>
- <td>쿠폰할인차감</td>
- <td class="spanCpnDcAmt">0원</td>
- <td style="line-height:25px;">
- <div style="height:25px;"><span>즉시할인쿠폰 : </span><span class="spanCpn1DcAmt">0원</span></div>
- <div style="height:25px;"><span>주문서상품쿠폰 : </span><span class="spanGoodsCpnDcAmt">0원</span></div>
- <div style="height:25px;"><span>장바구니쿠폰 : </span><span class="spanCartCpnDcAmt">0원</span></div>
- </td>
- </tr>
- <tr>
- <td>상품할인차감</td>
- <td class="goodsDcSumAmt">0원</td>
- <td style="line-height:25px;">
- <div style="height:25px;"><span>선포인트할인 : </span><span class="spanPrePntDcAmt">0원</span></div>
- <div style="height:25px;"><span>다다익선할인 : </span><span class="spanTmtbDcAmt">0원</span></div>
- </td>
- </tr>
- <tr>
- <td>배송비</td>
- <td>환불배송비</td>
- <td class="spanRealDelvAmt">0원</td>
- <td style="line-height:25px;">
- <div style="height:25px;"><span>배송비쿠폰 : </span><span class="delvCpnAmt">0원</span></div>
- <div style="height:25px;"><span>추가금결제 : </span><span class="addDelvFee">0원</span></div>
- </td>
- </tr>
- <tr>
- <td rowspan="4">환불금액</td>
- <td style="height:25px;">총환불금액</td>
- <td class="totalRefundAmt">0원</td>
- <td></td>
- </tr>
- <tr>
- <td style="height:25px;">결제수단환불</td>
- <td class="spanRefundAmt">0원</td>
- <td>
- <span class="pgGbNm">신용카드</span><span class="cardNm"></span>
- </td>
- </tr>
- <tr>
- <td style="height:25px;">상품권환불</td>
- <td class="spanGfcdUseAmt">0원</td>
- <td></td>
- </tr>
- <tr>
- <td style="height:25px;">포인트환불</td>
- <td class="spanPntDcAmt">0P</td>
- <td>
- <span>적립예정포인트환수 : </span><span class="spanSavePntAmt">0P</span>
- </td>
- </tr>
- </tbody>
- </table>
-
- <div id="refundAccount" style="width:100%">
- <h4>환불계좌정보</h4>
- <button type="button" id="btnSaveAccount" class="btn btnRight btn-base btn-sm" style="margin-left:10px;" onclick="fnCreateOrderRfAccount();">등록</button>
-
- <!-- TABLE -->
- <table class="tableStyle">
- <colgroup>
- <col width="">
- <col width="">
- <col width="">
- <col width="">
- <col width="">
- </colgroup>
- <thead>
- <tr>
- <th>은행명</th>
- <th>은행코드</th>
- <th>계좌번호</th>
- <th>예금주</th>
- <th>기본여부</th>
- </tr>
- </thead>
- <tbody>
- <tr style="height:30px;">
- <td class="bankNm"></td>
- <td class="bankCd"></td>
- <td class="accountNo"></td>
- <td class="accountNm"></td>
- <td class="defaultYn"></td>
- </tr>
- </tbody>
- </table>
- </div>
- <br>
- </form>
- </div>
- </div>
- </div>
- <!-- data -->
- <script th:inline="javascript">
- /*<![CDATA[*/
- var cancelRequestTargetList = [[${cancelRequestTargetList}]]; // 취소대상목록
- var cancelRequestTargetCnt = [[${cancelRequestTargetList.size()}]]; // 취소대상건수
- var ordNo = [[${ordNo}]]; // 주문번호
- var ordChgSq = [[${ordChgSq}]]; // 주문변경번호
- var delvFeeCd = [[${delvFeeCd}]]; // 배송정책코드
- var orderInfoList = [[${orderInfoList}]]; // 주문기본정보
- var orderChangeDetailList = [[${orderChangeDetailList}]]; // 취소/반품/교환요청 정보
- var payGb = orderInfoList[0].payGb; // 결제수단
- var payMeans = orderInfoList[0].payMeans; // 결제방법
- var payStat = orderInfoList[0].payStat; // 결제상태
- var chgReason = ""; // 변경사유코드
- var chgMemo = ""; // 변경사유메모
- var chgStat = cancelRequestTargetList[0].chgStat // 변경상태(교환출고실패 취소처리)
- var wdGb = cancelRequestTargetList[0].wdGb // 회수구분(교환출고실패 취소처리)
- var addPayCost = cancelRequestTargetList[0].addPayCost // 추가결제비용(교환출고실패 취소처리)
- var canDeliveryCancelYn = [[${canDeliveryCancelYn}]]; // 교환배송비 취소가능여부
- var delvPayMeans = [[${payMeans}]]; // 교환배송비 결제수단
- // 변경요청정보 승인, 철회
- if (ordChgSq > 0 && chgStat != 'G685_40') {
- chgReason = orderChangeDetailList[0].chgReason; // 변경사유코드
- chgMemo = orderChangeDetailList[0].chgMemo; // 변경사유메모
- }
- // 교환배송미출고대상
- if (ordChgSq > 0 && chgStat == 'G685_40') {
- $("#orderInfoList").show();
- }
- var temp1 = true;
- var temp2 = false;
- var temp3 = true;
- // 1. 주문정보(변경요청가능대상)
- var columnCancelReqList = [
- {headerName: "주문번호" , field: "ordNo" , width: 80 , cellClass: 'text-center' , hide: temp1},
- {headerName: "주문상세" , field: "ordDtlNo" , width: 80 , cellClass: 'text-center'},
- {headerName: "주문상세" , field: "ordDtlStat" , width: 80 , cellClass: 'text-center' , hide: temp1},
- {headerName: "주문상세상태" , field: "ordDtlStatNm" , width: 100 , cellClass: 'text-center' , hide: temp1},
- {headerName: "상품코드" , field: "goodsCd" , width: 100 , cellClass: 'text-left' , hide: temp2},
- {headerName: "SKUCODE" , field: "optCd" , width: 100 , cellClass: 'text-center' , hide: temp2},
- {headerName: "상품명" , field: "goodsNm" , width: 200 , cellClass: 'text-left' , hide: temp2},
- {headerName: "상품타입" , field: "goodsTypeNm" , width: 100, cellClass: 'text-center',
- cellRenderer: function (params) {
- var option;
- if (params.data.goodsType == 'G056_S') {
- option = "<a href=\"javascript:void(0);\" onclick=\"fnOrderDetailItemForm('" + params.data.ordDtlNo + "');\">" + params.value + "</a>";
- } else {
- option = params.value
- }
- return option;
- },
- hide: temp2
- },
- {headerName: "옵션1" , field: "colorNm" , width: 80 , cellClass: 'text-center' , hide: temp2},
- {headerName: "옵션2" , field: "optCd2" , width: 80 , cellClass: 'text-center' , hide: temp2},
- {
- headerName : "옵션금액"
- , field : "optAddPrice"
- , width : 80
- , cellClass : 'text-right'
- , cellRenderer : function (params) {
- return params.value.addComma();
- }
- , hide : temp1
- },
- {
- headerName : "주문"
- , field : "ordQty"
- , width : 80
- , cellClass : 'text-center'
- , cellRenderer : function (params) {
- return params.value.addComma();
- }
- },
- {
- headerName : "취소/요청"
- , field : "cnclRtnQty"
- , width : 80
- , cellClass : 'text-center'
- , cellRenderer : function (params) {
- var cnclRtnReqQty = parseInt(params.data.cnclRtnQty) + parseInt(params.data.ordReqChgQty);
- return cnclRtnReqQty;
- }
- , hide : temp1
- },
- {
- headerName : "취소/반품"
- , field : "ordCanChgQty"
- , width : 100
- , cellClass : 'text-center'
- , cellRenderer : function (params) {
- var ordQty = parseInt(params.data.ordQty);
- var cnclRtnQty = parseInt(params.data.cnclRtnQty);
- var ordReqChgQty = parseInt(params.data.ordReqChgQty);
- var ordCanChgQty = parseInt(params.value);
- var rtnStr = "";
- // 취소신청가능수량있으면 수량만 표시 (취소,반품,교환 신청정보 처리)
- if (ordChgSq > 0 && chgStat != 'G685_40') {
- rtnStr = ordCanChgQty;
- } else {
- ordCanChgQty = ordQty - (cnclRtnQty + ordReqChgQty);
- rtnStr += "<select class='ordCanChgQty' name='ordCanChgQty' ordDtlNo='"+params.data.ordDtlNo+"' onChange='fnCalculateRefundAmt(this);'>";
- for (i=0 ; i<=ordCanChgQty ; i++) {
- if (i == params.data.ordCanChgQty) {
- rtnStr += " <option value='"+i+"' selected>"+i+"</option>";
- } else {
- rtnStr += " <option value='"+i+"'>"+i+"</option>";
- }
- }
- rtnStr += "</select>";
- }
- return rtnStr;
- }
- },
- {
- headerName : "주문"
- , field : "ordAmt"
- , width : 80
- , cellClass : 'text-right'
- , cellRenderer : function (params) {
- return params.value.addComma();
- }
- },
- {
- headerName : "취소"
- , field : "cnclRtnAmt"
- , width : 80
- , cellClass : 'text-right'
- , cellRenderer : function (params) {
- return params.value.addComma();
- }
- },
- {
- headerName : "즉시할인"
- , field : "cpn1DcAmt"
- , width : 80
- , cellClass : 'text-right'
- , cellRenderer : function (params) {
- return params.value.addComma();
- }
- },
- {
- headerName : "다다익선1"
- , field : "tmtb1DcAmt"
- , width : 80
- , cellClass : 'text-right'
- , cellRenderer : function (params) {
- return params.value.addComma();
- }
- },
- {
- headerName : "다다익선2"
- , field : "tmtb2DcAmt"
- , width : 80
- , cellClass : 'text-right'
- , cellRenderer : function (params) {
- return params.value.addComma();
- }
- },
- {
- headerName : "상품쿠폰"
- , field : "goodsCpnDcAmt"
- , width : 80
- , cellClass : 'text-right'
- , cellRenderer : function (params) {
- return params.value.addComma();
- }
- },
- {
- headerName : "장바구니쿠폰"
- , field : "cartCpnDcAmt"
- , width : 100
- , cellClass : 'text-right'
- , cellRenderer : function (params) {
- return params.value.addComma();
- }
- },
- {
- headerName : "포인트"
- , field : "pntDcAmt"
- , width : 80
- , cellClass : 'text-right'
- , cellRenderer : function (params) {
- return params.value.addComma();
- }
- },
- {
- headerName : "선포인트"
- , field : "prePntDcAmt"
- , width : 80
- , cellClass : 'text-right'
- , cellRenderer : function (params) {
- return params.value.addComma();
- }
- },
- {
- headerName : "상품권"
- , field : "gfcdUseAmt"
- , width : 80
- , cellClass : 'text-right'
- , cellRenderer : function (params) {
- return params.value.addComma();
- }
- },
- {
- headerName : "실결제금액"
- , field : "realOrdAmt"
- , width : 100
- , cellClass : 'text-right'
- , cellRenderer : function (params) {
- return params.value.addComma();
- }
- },
- {
- headerName : "배송비"
- , field : "delvFee"
- , width : 80
- , cellClass : 'text-right'
- , cellRenderer : function (params) {
- return params.value.addComma();
- }
- , hide : temp1
- },
- {headerName: "업체" , field: "supplyCompCd" , width: 100 , cellClass: 'text-center', hide: temp1},
- {headerName: "배송비코드" , field: "delvFeeCd" , width: 100 , cellClass: 'text-center', hide: temp1},
- {
- headerName : "무료배송비"
- , field : "minOrdAmt"
- , width : 80
- , cellClass : 'text-right'
- , cellRenderer : function (params) {
- if (params.data.delvFeeCrite == 'G078_30') {
- return 0;
- } else {
- return params.value.addComma();
- }
- }
- , hide : temp1
- },
- {
- headerName : "기본배송비"
- , field : "orgDelvFee"
- , width : 80
- , cellClass : 'text-right'
- , cellRenderer : function (params) {
- return params.value.addComma();
- }
- , hide : temp1
- },
- {
- headerName : "반품배송비"
- , field : "rtnDelvFee"
- , width : 80
- , cellClass : 'text-right'
- , cellRenderer : function (params) {
- return params.value.addComma();
- }
- , hide : temp1
- },
- {
- headerName : "교환배송비"
- , field : "excDelvFee"
- , width : 80
- , cellClass : 'text-right'
- , cellRenderer : function (params) {
- return params.value.addComma();
- }
- , hide : temp1
- },
- {headerName: "전체취소가능" , field: "allCanYn" , width: 100 , cellClass: 'text-center', hide: temp1}
- ];
- var gridOptionsCancelReqList = gagaAgGrid.getGridOptions(columnCancelReqList);
- // Add on options
- gridOptionsCancelReqList.suppressRowClickSelection = true;
- gridOptionsCancelReqList.rowSelection = 'multiple';
- // 2. 취소정보(환불정보)
- var columnCancelReqToBeList = [
- {
- headerName : "주문상세정보",
- children : [
- {headerName: "주문번호" , field: "ordNo" , width: 80 , cellClass: 'text-center', hide: temp1},
- {headerName: "주문상세" , field: "ordDtlNo" , width: 80 , cellClass: 'text-center'},
- {headerName: "주문상세" , field: "ordDtlStat" , width: 80 , cellClass: 'text-center', hide: temp1},
- {headerName: "주문상세상태" , field: "ordDtlStatNm" , width: 100 , cellClass: 'text-center', hide: temp1},
- {headerName: "상품코드" , field: "goodsCd" , width: 100 , cellClass: 'text-center', hide: temp1},
- {headerName: "상품명" , field: "goodsNm" , width: 200 , cellClass: 'text-center', hide: temp1},
- {headerName: "상품타입" , field: "goodsTypeNm" , width: 100 , cellClass: 'text-center', hide: temp2}
- ]
- },
- {
- headerName : "주문상세단품정보",
- children : [
- {headerName: "단품번호" , field: "ordDtlItemSq" , width: 100 , cellClass: 'text-center', hide: temp2},
- {headerName: "단품코드" , field: "itemCd" , width: 100 , cellClass: 'text-center', hide: temp2},
- {headerName: "단품명" , field: "itemNm" , width: 200 , cellClass: 'text-center', hide: temp2},
- {headerName: "칼라코드" , field: "optCd1" , width: 80 , cellClass: 'text-center', hide: temp1},
- {headerName: "사이즈코드" , field: "optCd2" , width: 80 , cellClass: 'text-center', hide: temp2},
- {
- headerName : "단품수량"
- , field : "itemQty"
- , width : 80
- , cellClass : 'text-center'
- , cellRenderer : function (params) {
- return params.value.addComma();
- }
- },
- {
- headerName : "단품금액"
- , field : "itemPrice"
- , width : 80
- , cellClass : 'text-right'
- , cellRenderer : function (params) {
- return params.value.addComma();
- }
- },
- {
- headerName : "단품옵션금액"
- , field : "optAddPrice"
- , width : 80
- , cellClass : 'text-right'
- , cellRenderer : function (params) {
- return params.value.addComma();
- }
- }
- ]
- },
- {
- headerName : "주문상세수량",
- children : [
- {
- headerName : "주문"
- , field : "ordQty"
- , width : 80
- , cellClass : 'text-center'
- , cellRenderer : function (params) {
- return params.value.addComma();
- }
- },
- {
- headerName : "취소/요청"
- , field : "cnclRtnQty"
- , width : 80
- , cellClass : 'text-center'
- , cellRenderer : function (params) {
- var cnclRtnReqQty = parseInt(params.data.cnclRtnQty) + parseInt(params.data.ordReqChgQty);
- return cnclRtnReqQty;
- }
- },
- {
- headerName : "취소/반품"
- , field : "ordCanChgQty"
- , width : 100
- , cellClass : 'text-center'
- , cellRenderer : function (params) {
- return params.value.addComma();
- }
- }
- ]
- },
- {
- headerName : "주문단품금액",
- children : [
- {
- headerName : "주문"
- , field : "ordAmt"
- , width : 80
- , cellClass : 'text-right'
- , cellRenderer : function (params) {
- return params.value.addComma();
- }
- },
- {
- headerName : "취소"
- , field : "cnclRtnAmt"
- , width : 80
- , cellClass : 'text-right'
- , cellRenderer : function (params) {
- return params.value.addComma();
- }
- },
- {
- headerName : "즉시할인"
- , field : "cpn1DcAmt"
- , width : 80
- , cellClass : 'text-right'
- , cellRenderer : function (params) {
- return params.value.addComma();
- }
- },
- {
- headerName : "다다익선1"
- , field : "tmtb1DcAmt"
- , width : 80
- , cellClass : 'text-right'
- , cellRenderer : function (params) {
- return params.value.addComma();
- }
- },
- {
- headerName : "다다익선2"
- , field : "tmtb2DcAmt"
- , width : 80
- , cellClass : 'text-right'
- , cellRenderer : function (params) {
- return params.value.addComma();
- }
- },
- {
- headerName : "상품쿠폰"
- , field : "goodsCpnDcAmt"
- , width : 80
- , cellClass : 'text-right'
- , cellRenderer : function (params) {
- return params.value.addComma();
- }
- },
- {
- headerName : "장바구니쿠폰"
- , field : "cartCpnDcAmt"
- , width : 80
- , cellClass : 'text-right'
- , cellRenderer : function (params) {
- return params.value.addComma();
- }
- },
- {
- headerName : "포인트"
- , field : "pntDcAmt"
- , width : 80
- , cellClass : 'text-right'
- , cellRenderer : function (params) {
- return params.value.addComma();
- }
- },
- {
- headerName : "선포인트"
- , field : "prePntDcAmt"
- , width : 80
- , cellClass : 'text-right'
- , cellRenderer : function (params) {
- return params.value.addComma();
- }
- },
- {
- headerName : "상품권"
- , field : "gfcdUseAmt"
- , width : 80
- , cellClass : 'text-right'
- , cellRenderer : function (params) {
- return params.value.addComma();
- }
- },
- {
- headerName : "환불금액"
- , field : "realOrdAmt"
- , width : 80
- , cellClass : 'text-right'
- , cellRenderer : function (params) {
- return params.value.addComma();
- }
- }
- ]
- },
- {
- headerName : "주문배송비정보",
- children : [
- {
- headerName : "배송비"
- , field : "delvFee"
- , width : 80
- , cellClass : 'text-right'
- , cellRenderer : function (params) {
- return params.value.addComma();
- }
- , hide : temp2
- },
- {headerName: "업체" , field: "supplyCompCd" , width: 100 , cellClass: 'text-center', hide: temp2},
- {headerName: "배송비코드" , field: "delvFeeCd" , width: 100 , cellClass: 'text-center', hide: temp2},
- {
- headerName : "무료배송비"
- , field : "minOrdAmt"
- , width : 80
- , cellClass : 'text-right'
- , cellRenderer : function (params) {
- if (params.data.delvFeeCrite == 'G078_30') {
- return 0;
- } else {
- return params.value.addComma();
- }
- }
- , hide : temp2
- },
- {
- headerName : "기본배송비"
- , field : "orgDelvFee"
- , width : 80
- , cellClass : 'text-right'
- , cellRenderer : function (params) {
- return params.value.addComma();
- }
- , hide : temp2
- },
- {
- headerName : "반품배송비"
- , field : "rtnDelvFee"
- , width : 80
- , cellClass : 'text-right'
- , cellRenderer : function (params) {
- return params.value.addComma();
- }
- , hide : temp2
- },
- {
- headerName : "교환배송비"
- , field : "excDelvFee"
- , width : 80
- , cellClass : 'text-right'
- , cellRenderer : function (params) {
- return params.value.addComma();
- }
- , hide : temp2
- },
- {headerName: "전체취소가능" , field: "allCanYn" , width: 100 , cellClass: 'text-center', hide: temp2},
- ]
- }
- ];
- var gridOptionsCancelReqToBeList = gagaAgGrid.getGridOptions(columnCancelReqToBeList);
- // 3. 배송비정보(환불정보)
- var columnDelvCdList = [
- {
- headerName : "배송코드기준금액",
- children : [
- {headerName: "업체" , field: "supplyCompCd" , width: 100 , cellClass: 'text-center', hide: temp2},
- {headerName: "배송비코드" , field: "delvFeeCd" , width: 100 , cellClass: 'text-center', hide: temp2},
- {
- headerName : "주문"
- , field : "ordAmt"
- , width : 100
- , cellClass : 'text-right'
- , cellRenderer : function (params) {
- return params.value.addComma();
- }
- },
- {
- headerName : "취소"
- , field : "cnclRtnAmt"
- , width : 100
- , cellClass : 'text-right'
- , cellRenderer : function (params) {
- return params.value.addComma();
- }
- },
- {
- headerName : "환불"
- , field : "realOrdAmt"
- , width : 100
- , cellClass : 'text-right'
- , cellRenderer : function (params) {
- return params.value.addComma();
- }
- }
- ]
- },
- {
- headerName : "배송비정보",
- children : [
- {
- headerName : "배송비"
- , field : "delvFee"
- , width : 100
- , cellClass : 'text-right'
- , cellRenderer : function (params) {
- return params.value.addComma();
- }
- , hide : temp2
- },
- {
- headerName : "무료배송비"
- , field : "minOrdAmt"
- , width : 100
- , cellClass : 'text-right'
- , cellRenderer : function (params) {
- if (params.data.delvFeeCrite == 'G078_30') {
- return 0;
- } else {
- return params.value.addComma();
- }
- }
- , hide : temp2
- },
- {
- headerName : "기본배송비"
- , field : "orgDelvFee"
- , width : 100
- , cellClass : 'text-right'
- , cellRenderer : function (params) {
- return params.value.addComma();
- }
- , hide : temp2
- },
- {
- headerName : "반품배송비"
- , field : "rtnDelvFee"
- , width : 80
- , cellClass : 'text-right'
- , cellRenderer : function (params) {
- return params.value.addComma();
- }
- , hide : temp2
- },
- {
- headerName : "교환배송비"
- , field : "excDelvFee"
- , width : 80
- , cellClass : 'text-right'
- , cellRenderer : function (params) {
- return params.value.addComma();
- }
- , hide : temp2
- },
- {headerName: "추가배송비여부" , field: "addDelvFeeYn" , width: 140 , cellClass: 'text-center', hide: temp2},
- {
- headerName : "추가배송비"
- , field : "addDelvFee"
- , width : 100
- , cellClass : 'text-right'
- , cellRenderer : function (params) {
- return params.value.addComma();
- }
- , hide : temp2
- },
- {headerName: "전체취소가능" , field: "allCanYn" , width: 100 , cellClass: 'text-center', hide: temp2},
- ]
- }
- ];
- var gridOptionsDelvCdList = gagaAgGrid.getGridOptions(columnDelvCdList);
- </script>
- <script>
- // 현재 사유는 고객 입니다.
- var isCustomer = true;
- var pgGb = orderInfoList[0].pgGb;
- var payMeans = orderInfoList[0].payMeans;
- var payMeansNm = orderInfoList[0].payMeansNm;
- var cardNm = orderInfoList[0].cardNm;
- var addDelvFee = 0;
- var cnclChk = false;
- //0원이하이면 '-' 처리 삭제 함수
- var getZeroMinusDelAmt = function(tempAmt) {
- var rtnAmtStr = "";
-
- if (tempAmt > 0) {
- rtnAmtStr = "-" + tempAmt.addComma();
- } else {
- rtnAmtStr = tempAmt.addComma();
- }
-
- return rtnAmtStr;
- }
- // 환불예상금액계산
- var fnCalculateRefundAmt = function (obj) {
- // 변경신청목록
- var cancelRequestTargetToBeList = [];
- if (obj != null) {
- for (i=0 ; i<cancelRequestTargetList.length ; i++) {
- var orDtlNo = $(obj).attr("ordDtlNo");
- var ordCanChgQty = $(obj).val();
-
- if (cancelRequestTargetList[i].ordDtlNo == orDtlNo) {
- cancelRequestTargetList[i].ordCanChgQty = ordCanChgQty;
- }
- }
- // 주문변경대상정보 재설정
- gridOptionsCancelReqList.api.setRowData(cancelRequestTargetList);
- }
-
- if (cancelRequestTargetList.length == 0) {
- alert("요청 대상정보가 존재 하지 않습니다.");
- uifnPopupClose('popupCancelRequestForm');
- return false;
- }
-
- // 2021.05.25 수정
- var ordDtlNoArr = [];
- var cnclRtnReqQtyArr = [];
-
- // 1. 반품신청수량 체크
- for (i=0 ; i<cancelRequestTargetList.length ; i++) {
- if (cancelRequestTargetList[i].ordCanChgQty > 0) {
- // 반품신청값설정
- ordDtlNoArr.push(cancelRequestTargetList[i].ordDtlNo);
- cnclRtnReqQtyArr.push(cancelRequestTargetList[i].ordCanChgQty);
- }
- }
-
- // 2. 추가정보설정
- var chgerNm = orderInfoList[0].ordNm;
- var chgerEmail = orderInfoList[0].ordEmail;
- var chgerPhnno = orderInfoList[0].ordPhnno;
- var chgerTelno = orderInfoList[0].ordTelno;
- var custNo = orderInfoList[0].custNo;
- var delvFeeCd = orderInfoList[0].delvFeeCd;
-
- // 환불금액계산호출
- var jsonObj = {
- "ordNo" : ordNo
- ,"ordDtlNoArr" : ordDtlNoArr
- ,"cnclRtnReqQtyArr" : cnclRtnReqQtyArr
- ,"isCustomer" : isCustomer
- ,"chgerNm" : chgerNm
- ,"chgerEmail" : chgerEmail
- ,"chgerPhnno" : chgerPhnno
- ,"custNo" : custNo
- ,"ordNm" : chgerNm
- ,"ordPhnno" : chgerPhnno
- ,"delvFeeCd" : delvFeeCd
- }
-
- var jsonData = JSON.stringify(jsonObj);
-
- gagajf.ajaxJsonSubmit(
- '/orderChange/cancel/refundAmt'
- , jsonData
- , function(result) {
- gridOptionsCancelReqToBeList.api.setRowData(result.cancelOrderRefundList);
- gridOptionsDelvCdList.api.setRowData(result.cancelDelvRefundList);
-
- // 2021.12.01 취소금액설정
- if (result.cancelOrderRefundList != null && result.cancelOrderRefundList.length > 0) {
- for (i=0 ; i<result.cancelOrderRefundList.length ; i++) {
- for (j=0 ; j<cancelRequestTargetList.length ; j++) {
- if (result.cancelOrderRefundList[i].ordDtlNo == cancelRequestTargetList[j].ordDtlNo) {
- cancelRequestTargetList[j].cnclRtnAmt = result.cancelOrderRefundList[i].cnclRtnAmt; // 취소금액
- cancelRequestTargetList[j].cpn1DcAmt = result.cancelOrderRefundList[i].cpn1DcAmt; // 즉시할인쿠폰금액
- cancelRequestTargetList[j].tmtb1DcAmt = result.cancelOrderRefundList[i].tmtb1DcAmt; // 수량할인다다익선금액
- cancelRequestTargetList[j].tmtb2DcAmt = result.cancelOrderRefundList[i].tmtb2DcAmt; // 금액할인다다익선금액
- cancelRequestTargetList[j].goodsCpnDcAmt = result.cancelOrderRefundList[i].goodsCpnDcAmt; // 상품쿠폰금액
- cancelRequestTargetList[j].cartCpnDcAmt = result.cancelOrderRefundList[i].cartCpnDcAmt; // 장바구니쿠폰금액
- cancelRequestTargetList[j].pntDcAmt = result.cancelOrderRefundList[i].pntDcAmt; // 포인트금액
- cancelRequestTargetList[j].prePntDcAmt = result.cancelOrderRefundList[i].prePntDcAmt; // 선포인트금액
- cancelRequestTargetList[j].gfcdUseAmt = result.cancelOrderRefundList[i].gfcdUseAmt; // 상품권적용금액
- cancelRequestTargetList[j].realOrdAmt = result.cancelOrderRefundList[i].realOrdAmt; // 실결제금액
- }
- }
- }
- // 주문변경대상정보 재설정
- gridOptionsCancelReqList.api.setRowData(cancelRequestTargetList);
- }
- let spanPntDcAmt = Number(result.spanPntDcAmt); // 환불 포인트 금액
- let spanSavePntAmt = Number(result.spanSavePntAmt); // 적립 예정 포인트 환수 금액
- let spanGfcdUseAmt = Number(result.spanGfcdUseAmt); // 환불 상품권 금액
- let spanDelvGfcdUseAmt = Number(result.spanDelvGfcdUseAmt); // 환불 배송비 상품권 금액
- let spanCnclRtnAmt = Number(result.spanCnclRtnAmt); // 환불 상품 금액
- let spanCpn1DcAmt = Number(result.spanCpn1DcAmt); // 즉시할인 쿠폰 차감 금액
- let spanGoodsCpnDcAmt = Number(result.spanGoodsCpnDcAmt); // 상품 쿠폰 차감 금액
- let spanCartCpnDcAmt = Number(result.spanCartCpnDcAmt); // 장바구니 쿠폰 차감 금액
- let spanDelvCpnDcAmt = Number(result.spanDelvCpnDcAmt); // 배송비 쿠폰 차감 금액
- let spanTmtbDcAmt = Number(result.spanTmtbDcAmt); // 다다익선 할인 차감 금액
- let spanPrePntDcAmt = Number(result.spanPrePntDcAmt); // 선포인트 할인 차감 금액
- let sumDeliveryFee = Number(result.sumDeliveryFee); // 원주문배송비
- let spanTotDeliveryFee = Number(result.spanTotDeliveryFee); // 추가배송비 (무료배송비 허들 깨져서 발생한 배송비)
- let spanRealCnclRtnAmt = Number(result.spanRealCnclRtnAmt); // 환불 상품 실결제 금액 (환불상품금액 - 할인차감금액)
- let goodsCancelAmt = spanCnclRtnAmt + spanCpn1DcAmt; // 상품취소금액
- let spanRefundAmt = spanRealCnclRtnAmt + sumDeliveryFee; // 환불예정금액 (환불상품실결제금액 + 원주문배송비)
- let goodsDcSumAmt = spanPrePntDcAmt + spanTmtbDcAmt; // 상품 할인 차감 금액
- let spanCpnDcAmt = spanCpn1DcAmt + spanGoodsCpnDcAmt + spanCartCpnDcAmt; // 쿠폰 할인 차감 금액
- // 결제방식
- let pgGbNm = "";
- let cardGbNm = "";
-
- if (pgGb == 'KCP') {
- pgGbNm = payMeansNm;
- cardGbNm = "(" + cardNm + ")";
- } else if (pgGb == 'NAVER') {
- pgGbNm = "네이버페이";
- } else if (pgGb == 'NAVER_ORDER') {
- pgGbNm = "네이버페이주문형";
- } else if (pgGb == 'KAKAO') {
- pgGbNm = "카카오페이";
- } else if (pgGb == 'PAYCO') {
- pgGbNm = "페이코";
- } else if (pgGb == 'ISTYLE') {
- pgGbNm = "상품권";
- } else {
- pgGbNm = "외부몰입금";
- }
- // 2021.08.10 card007 상품권100% 결제 로직 수정
- // 회사사유 시 추가배송비 0
- if (!isCustomer) {
- spanTotDeliveryFee = 0;
- }
- let refundAmt = spanRefundAmt + spanGfcdUseAmt;
- let leftAddDelvFee = spanTotDeliveryFee;
- if (refundAmt < spanTotDeliveryFee) {
- addDelvFee = spanTotDeliveryFee;
- } else {
- if (leftAddDelvFee > spanRefundAmt) {
- leftAddDelvFee -= spanRefundAmt;
- spanRefundAmt = 0;
- } else {
- spanRefundAmt -= leftAddDelvFee;
- leftAddDelvFee = 0;
- }
-
- if (leftAddDelvFee > 0) {
- spanGfcdUseAmt -= leftAddDelvFee;
- leftAddDelvFee = 0;
- }
-
- addDelvFee = 0;
- }
- let refundPayAmt = spanRefundAmt - spanDelvGfcdUseAmt - leftAddDelvFee; // 결제금액 환불 (환불예정금액 - 환불 배송비 상품권 금액 - 추가배송비)
- let deliveryFee = sumDeliveryFee - spanTotDeliveryFee; // 배송비 (마지막 취소 시 돌려줘야할 원주문 배송비 - 추가배송비)
- let spanTotGfcdUseAmt = spanGfcdUseAmt + spanDelvGfcdUseAmt; // 환불 상품권 금액 합계
- let totalRefundAmt = spanRefundAmt + spanTotGfcdUseAmt + spanPntDcAmt; // 총 환불 금액
- // 상품금액
- $(".spanCnclRtnAmt").text(goodsCancelAmt.addComma()+"원"); // 취소상품금액
- // 할인금액차감
- $(".spanCpnDcAmt").text(spanCpnDcAmt.addComma()+"원"); // 쿠폰할인차감 > 합계
- $(".spanCpn1DcAmt").text(spanCpn1DcAmt.addComma()+"원"); // 쿠폰할인차감 > 즉시할인쿠폰
- $(".spanGoodsCpnDcAmt").text(spanGoodsCpnDcAmt.addComma()+"원"); // 쿠폰할인차감 > 주문서상품쿠폰
- $(".spanCartCpnDcAmt").text(spanCartCpnDcAmt.addComma()+"원"); // 쿠폰할인차감 > 장바구니쿠폰
- $(".goodsDcSumAmt").text(goodsDcSumAmt.addComma()+"원"); // 상품할인차감 > 합계
- $(".spanPrePntDcAmt").text(spanPrePntDcAmt.addComma()+"원"); // 상품할인차감 > 선포인트할인
- $(".spanTmtbDcAmt").text(spanTmtbDcAmt.addComma()+"원"); // 상품할인차감 > 다다익선할인
- // 배송비
- $(".spanRealDelvAmt").text(deliveryFee.addComma()+"원"); // 환불배송비 > 합계
- $(".addDelvFee").text(addDelvFee.addComma()+"원"); // 환불배송비 > 추가금결제
- $(".delvCpnAmt").text(spanDelvCpnDcAmt.addComma()+"원"); // 환불배송비 > 배송비쿠폰
- // 환불금액
- $(".totalRefundAmt").text(totalRefundAmt.addComma()+"원"); // 총환불금액
- $(".spanRefundAmt").text(refundPayAmt.addComma()+"원"); // 결제수단환불
- $(".pgGbNm").text(pgGbNm); // 결제수단환불 > 결제수단
- $(".cardNm").text(cardGbNm); // 결제수단환불 > 카드명
- $(".spanGfcdUseAmt").text(spanTotGfcdUseAmt.addComma()+"원"); // 상품권환불
- $(".spanPntDcAmt").text(spanPntDcAmt.addComma()+"원"); // 포인트환불
- $(".spanSavePntAmt").text(spanSavePntAmt.addComma()+"P"); // 포인트환불 > 적립예정포인트환수
- /*
- // 2021.08.10 card007 상품권100% 결제 로직 수정 기존 소스 백업
- // 2021.07.01 배송비 수정(마지막취소에만 배송비 환불)
- let spanSumDeliveryFee = result.spanSumDeliveryFee - result.spanDelvCpnDcAmt;
- let sumDeliveryFee = result.sumDeliveryFee - result.spanRefundDelvCpnAmt;
- // 2021.08.04 취소금액수정
- var spanRealDelvAmt = 0;
- var addDelvFee = 0;
- if (result.spanRealCnclRtnAmt > 0) {
- // 고객사유 : 환불금액계산 = (취소금액 + 배송비) - 추가배송비
- if (isCustomer) {
- result.spanRefundAmt = (result.spanRealCnclRtnAmt + sumDeliveryFee) - result.spanTotDeliveryFee;
- // 2021.07.01
- // @ 마이너스금액이면 허들깨지면서 배송비 발생
- // @ 플러스금액이면 마지막취소시 배송금액 환불
- spanRealDelvAmt = sumDeliveryFee - result.spanTotDeliveryFee;
- addDelvFee = result.spanTotDeliveryFee;
- }
- // 회사사유 : 환불금액계산 = (취소금액 + 배송비)
- else {
- result.spanRefundAmt = (result.spanRealCnclRtnAmt + sumDeliveryFee);
- }
- }
-
- $(".spanCnclRtnAmt").text(result.spanCnclRtnAmt.addComma()+"원");
- $(".spanCpn1DcAmt").text(result.spanCpn1DcAmt.addComma()+"원");
- $(".spanGoodsCpnDcAmt").text(result.spanGoodsCpnDcAmt.addComma()+"원");
- $(".spanCartCpnDcAmt").text(result.spanCartCpnDcAmt.addComma()+"원");
- var spanCpnDcAmt = result.spanCpn1DcAmt + result.spanGoodsCpnDcAmt + result.spanGoodsCpnDcAmt;
- $(".spanCpnDcAmt").text(spanCpnDcAmt.addComma()+"원");
- $(".spanPrePntDcAmt").text(result.spanPrePntDcAmt.addComma()+"원");
- $(".spanTmtbDcAmt").text(result.spanTmtbDcAmt.addComma()+"원");
- var goodsDcSumAmt = result.spanPrePntDcAmt + result.spanTmtbDcAmt;
- $(".goodsDcSumAmt").text(goodsDcSumAmt.addComma()+"원");
- $(".delvCpnAmt").text(result.spanDelvCpnDcAmt.addComma()+"원");
- $(".addDelvFee").text(addDelvFee.addComma()+"원");
- $(".spanRealDelvAmt").text(spanSumDeliveryFee.addComma()+"원");
- var totalRefundAmt = result.spanRefundAmt + result.spanGfcdUseAmt + result.spanPntDcAmt;
- $(".totalRefundAmt").text(totalRefundAmt.addComma()+"원");
- $(".spanRefundAmt").text(result.spanRefundAmt.addComma()+"원");
- $(".spanGfcdUseAmt").text(result.spanGfcdUseAmt.addComma()+"원");
- $(".spanPntDcAmt").text(result.spanPntDcAmt.addComma()+"원");
- $(".spanSavePntAmt").text(result.spanSavePntAmt.addComma()+"P");
- */
- }
- );
- }
- // 사유
- var fnChangeChgReason = function(reasonCd){
- var customerReasonArr = ['G686_10'];
- isCustomer = false;
-
- // 귀책사유체크(취소,반품,교환)
- for (i=0 ; i<customerReasonArr.length ; i++) {
- if (customerReasonArr[i] == reasonCd) {
- isCustomer = true;
- }
- }
-
- // 귀책사유설정
- if (isCustomer) {
- $("#imputeReason").text("고객");
- } else {
- $("#imputeReason").text("회사");
- }
- $('#cancelRequestFrm input[name=chgReason]').val(reasonCd);
-
- // 환불예상금액계산
- fnCalculateRefundAmt();
- }
- // 취소신청/완료
- var fnCnclReq = function (reqGbn) {
- var temp = false;
- var custNo = cancelRequestTargetList[0].custNo;
- var ordDtlStat = cancelRequestTargetList[0].ordDtlStat;
- var allCanYn = "N";
- var allCanYnBeforePayment = "N";
-
- var accountNo = "";
- var accountNm = "";
- var bankCd = "";
-
- // 취소신청 버튼 클릭 여부 체크
- if (cnclChk) {
- return false;
- }
-
- // 취소완료, 취소승인
- let chk = false;
- if (reqGbn == "cnclReq" || reqGbn == "cnclReqComplete" || reqGbn == "cnclComplete") {
-
- // 2021.05.25 수정
- var ordDtlNoArr = [];
- var cnclRtnReqQtyArr = [];
-
- // 1. 취소신청수량 체크
- for (i=0 ; i<cancelRequestTargetList.length ; i++) {
- if (cancelRequestTargetList[i].ordCanChgQty > 0) {
- // 취소신청값설정
- ordDtlNoArr.push(cancelRequestTargetList[i].ordDtlNo);
- cnclRtnReqQtyArr.push(cancelRequestTargetList[i].ordCanChgQty);
- temp = true;
- }
- }
-
- if (temp == false) {
- mcxDialog.alert('취소신청수량을 입력하세요.');
- return false;
- }
-
- // 2. 입금대기건 & 전체취소 체크
- if (ordDtlStat == "G013_10" && $("#spanPayAmt").text() != $("#spanRefundAmt").text()) {
- alert("입금대기건은 전체 취소만 가능합니다.");
- return false;
- }
-
- // 2.1 전체취소 여부 적용
- if (ordDtlStat == "G013_10" && $("#spanPayAmt").text() == $("#spanRefundAmt").text()) {
- if (ordDtlStat == "G013_10") {
- allCanYnBeforePayment = "Y";
- } else {
- allCanYn = "Y";
- }
- }
-
- // 3. 취소사유 체크
- var chgReason = $("#cancelRequestFrm select[name=selectChgReason]").val();
- if (gagajf.isNull(chgReason)) {
- mcxDialog.alert("취소사유를 입력하세요.");
- return false;
- }
-
- // 3. 환불계좌체크 (결제타입이 무통장 입금일때 사용)
- if (payMeans == 'G014_20' && payStat == 'G016_30') {
- if ($("#refundAccount .bankNm").eq(0).text() == null || $("#refundAccount .bankNm").eq(0).text() == '') {
- mcxDialog.alert('환불계좌가 미등록 되어 있습니다.');
- return false;
- } else {
- chk = true;
- }
- accountNo = $("#refundAccount .accountNo").eq(0).text();
- accountNm = $("#refundAccount .accountNm").eq(0).text();
- bankCd = $("#refundAccount .bankCd").eq(0).text();
- }
- }
-
- // 5. 추가정보설정
- var chgerNm = orderInfoList[0].ordNm;
- var chgerEmail = orderInfoList[0].ordEmail;
- var chgerPhnno = orderInfoList[0].ordPhnno;
- var chgerTelno = orderInfoList[0].ordTelno;
- var custNo = orderInfoList[0].custNo;
- // 2021.01.26 화면통합
- // 6. 취소신청, 취소완료 여부 체크
- // 취소신청
- if (reqGbn == "cnclReq") {
- confirmStr = "취소신청하시겠습니까?";
- cnclUrl = '/orderChange/cnclComplete/';
- }
- // 취소완료
- else if (reqGbn == "cnclComplete") {
- confirmStr = "취소완료하시겠습니까?";
- cnclUrl = '/orderChange/cnclComplete/';
- // 2021.11.30 card007 교환배송비 취소 불가 시 PG점프 처리
- if (wdGb == 'W' && delvPayMeans == 'G014_60') {
- confirmStr = '교환배송비 [' + (addPayCost / 2).addComma() + '원] 취소불가로 PG점프 처리 됩니다. <br /> 요청번호 [' + ordChgSq + '] 에 대한 취소승인 처리를 하시겠습니까?';
- } else if (wdGb == 'D' && canDeliveryCancelYn == 'N') {
- confirmStr = '교환배송비 [' + addPayCost.addComma() + '원] 취소불가로 PG점프 처리 됩니다. <br /> 요청번호 [' + ordChgSq + '] 에 대한 취소승인 처리를 하시겠습니까?';
- }
- }
- // 취소신청승인
- else if (reqGbn == "cnclReqComplete") {
- confirmStr = "요청번호 [" + ordChgSq + "] 에 대한 취소승인 처리를 하시겠습니까?";
- cnclUrl = '/orderChange/cnclComplete/';
- }
- // 취소신청철회
- else if (reqGbn == "cnclReqCancel") {
- confirmStr = "요청번호 [" + ordChgSq + "] 에 대한 요청철회 처리를 하시겠습니까?";
- cnclUrl = '/orderChange/cnclReqCancel/';
- }
-
- // 7. 추가정보설정
- var ordNm = orderInfoList[0].ordNm;
- var ordPhnno = orderInfoList[0].ordPhnno;
- var custNo = orderInfoList[0].custNo;
- var delvFeeCd = orderInfoList[0].delvFeeCd;
- var chgReason = $('#cancelRequestFrm input[name=chgReason]').val();
- var depositAmt = $('#depositAmt').val();
-
- // 2021.07.22 교환미출고대상은 품절만 있음
- if (ordChgSq > 0 && chgStat == 'G685_40') {
- chgReason = "G686_30";
- }
-
- if (!$('#pgStat').is(':checked')) {
- depositAmt = 0;
- }
- var jsonObj = {
- "ordNo" : $('#cancelRequestFrm input[name=ordNo]').val()
- ,"chgReason" : chgReason
- ,"chgMemo" : $('#chgMemo').val()
- ,"ordDtlNoArr" : ordDtlNoArr
- ,"cnclRtnReqQtyArr" : cnclRtnReqQtyArr
- ,"accountNo" : accountNo
- ,"accountNm" : accountNm
- ,"bankCd" : bankCd
- ,"allCanYn" : allCanYn
- ,"allCanYnBeforePayment" : allCanYnBeforePayment
- ,"isCustomer" : isCustomer
- ,"chgerNm" : chgerNm
- ,"chgerEmail" : chgerEmail
- ,"chgerZipcode" : ""
- ,"chgerBaseAddr" : ""
- ,"chgerDtlAddr" : ""
- ,"chgerPhnno" : chgerPhnno
- ,"chgerTelno" : chgerTelno
- ,"chgerRtnMemo" : ""
- ,"reqGbn" : reqGbn
- ,"ordChgSq" : ordChgSq
- ,"custNo" : custNo
- ,"ordNm" : ordNm
- ,"ordPhnno" : ordPhnno
- ,"delvFeeCd" : delvFeeCd
- ,"chgStat" : chgStat
- ,"wdGb" : wdGb
- ,"addPayCost" : addPayCost
- ,"pgStat" : $('#pgStat').is(':checked') ? 'Y' : 'N'
- ,"msgStat" : $('#msgStat').is(':checked') ? 'Y' : 'N'
- ,"depositAmt" : depositAmt
- }
- // 주문번호, 취소사유, 취소메모, (취소, 반품, 교환 신청 정보 목록), 환불계좌
- var jsonData = JSON.stringify(jsonObj);
- // 취소버튼 클릭 여부 확인
- mcxDialog.confirm(confirmStr, {
- cancelBtnText: "취소",
- sureBtnText: "확인",
- sureBtnClick: function () {
- if (chk && jsonObj.pgStat == 'N') {
- // 환불계좌 유효성 체크
- gagajf.ajaxJsonSubmit('/business/account/check', jsonData, function (result) {
- if (result.isValid) { // 유효하면 true
- // 취소버튼 클릭 여부 설정
- cnclChk = true;
-
- gagajf.ajaxJsonSubmit(
- cnclUrl
- , jsonData
- , function () {
- // 2021.06.21 교환품절취소가 아닐때 주문상세화면 다시 로딩하지 않음
- if (chgStat == 'G685_40') {
- // 교환배송 취소대상목록 조회 실행
- $('#btnSearch').trigger("click");
- } else {
- uifnPopupClose('popupOrderDetail');
- fnReOpenOrderDetailPopup();
- }
- uifnPopupClose('popupCancelRequestForm');
- }
- , function () {
- cnclChk = false;
- }
- );
- } else {
- mcxDialog.alert('환불계좌가 유효하지 않습니다.');
- return false;
- }
- });
- } else {
- // 취소버튼 클릭 여부 설정
- cnclChk = true;
-
- gagajf.ajaxJsonSubmit(
- cnclUrl
- , jsonData
- , function () {
- // 2021.06.21 교환품절취소가 아닐때 주문상세화면 다시 로딩하지 않음
- if (chgStat == 'G685_40') {
- // 교환배송 취소대상목록 조회 실행
- $('#btnSearch').trigger("click");
- } else {
- uifnPopupClose('popupOrderDetail');
- fnReOpenOrderDetailPopup();
- }
- uifnPopupClose('popupCancelRequestForm');
- }
- , function () {
- cnclChk = false;
- }
- );
- }
- }
- });
- }
- // 환불계좌 등록
- var fnCreateOrderRfAccount = function () {
- var actionUrl = "/orderChange/refund/account/create/form?ordNo=" + ordNo ;
- cfnOpenModalPopup(actionUrl, 'popupCreateRefundAccount');
- };
- // 환불계좌 정보
- var fnBindOrderRfAccountInfo = function () {
- var jsonObj = {
- "ordNo" : ordNo
- }
-
- var jsonData = JSON.stringify(jsonObj);
-
- gagajf.ajaxJsonSubmit(
- '/orderChange/refund/account/info/list'
- , jsonData
- , function (result) {
- if (result.orderRfAccountInfo[0].bankNm != null && result.orderRfAccountInfo[0].bankNm != '') {
- $("#refundAccount .bankNm").text(result.orderRfAccountInfo[0].bankNm);
- $("#refundAccount .bankCd").text(result.orderRfAccountInfo[0].bankCd);
- $("#refundAccount .accountNo").text(result.orderRfAccountInfo[0].accountNo);
- $("#refundAccount .accountNm").text(result.orderRfAccountInfo[0].accountNm);
- $("#refundAccount .defaultYn").text(result.orderRfAccountInfo[0].defaultYn);
- }
- }
- );
- };
- // PG점프 버튼 클릭 이벤트
- var fnChangePgStat = function() {
- if ($('#pgStat').is(':checked')) {
- $('#depositAmt').attr('readonly', false);
- } else {
- $('#depositAmt').val(0);
- $('#depositAmt').attr('readonly', true);
- }
- }
- $(document).ready(function() {
- // 1. 그리드생성
- gagaAgGrid.createGrid('gridOrderCancelRequestList' , gridOptionsCancelReqList); // 주문정보
- gagaAgGrid.createGrid('gridOrderCancelRequestToBeList' , gridOptionsCancelReqToBeList); // 취소정보
- gagaAgGrid.createGrid('gridDelvCdList' , gridOptionsDelvCdList); // 배송비정보
-
- // 2. 그리드 데이타 싱크작업
- gridOptionsCancelReqList.api.setRowData(cancelRequestTargetList); // 주문정보
-
- // 2.1 TOTAL ROWS 없애기
- gagaAgGrid.hideStatusBar('gridOrderCancelRequestList');
- gagaAgGrid.hideStatusBar('gridOrderCancelRequestToBeList');
- gagaAgGrid.hideStatusBar('gridDelvCdList');
-
- // 3. 환불예상금액계산
- fnCalculateRefundAmt(null);
-
- // 4. 무통장입금아닌경우 환불계좌 그리드 숨김처리
- if (payMeans !== 'G014_20') {
- $('#refundAccount').addClass("off");
- } else {
- fnBindOrderRfAccountInfo();
- }
- // 네이버페이 주문형일 경우 취소 접수, 완료 버튼 hide
- if(pgGb == "NAVER_ORDER") {
- $("#cnclReqBtn").css("display", "none");
- $("#cnclCompleteBtn").css("display", "none");
- }
-
- // 5. 취소신청, 취소완료, 취소승인, 취소철회 버튼 제어
- if (ordChgSq > 0 && chgStat != 'G685_40') {
- $("#cnclReqBtn").css("display" , "none");
- $("#cnclCompleteBtn").css("display" , "none");
- } else {
- $("#cnclReqCompleteBtn").css("display" , "none");
- $("#cnclReqCancelBtn").css("display" , "none");
-
- // 교환배송미출고대상
- if (chgStat == 'G685_40') {
- $("#cnclReqBtn").css("display", "none");
- $("#cnclCompleteBtn").css("display", "inline-block"); // 교환배송미출고 대상에서 왔을 경우 취소완료버튼 노출(네이버페이도 노출을 위해 추가) - xodud1202 21.07.27
- }
- }
-
- // 6. 취소사유 선택
- if (ordChgSq > 0 && chgStat != 'G685_40') {
- let chgReasonTmp = $('#cancelRequestFrm input[name=chgReason]').val();
- $("select[name='selectChgReason']").val(chgReasonTmp); // 변경사유코드
- $("select[name='selectChgReason']").attr("disabled", "true"); // 변경사유 비활성화
- $("#chgMemo").text(chgMemo); // 변경사유메모
- $("#chgMemo").attr("disabled", "true"); // 변경사유메모 비활성화
- fnChangeChgReason(chgReasonTmp); // 귀책사유
- }
-
- // 2021.06.21 교환배송미출고대상
- if (ordChgSq > 0 && chgStat == 'G685_40') {
- $("select[name='selectChgReason']").val("G686_30");
- $("select[name='selectChgReason']").attr("disabled", "true"); // 변경사유 비활성화
- fnChangeChgReason(chgReason); // 귀책사유
- }
-
- // debug mode 해제
- if (temp3) {
- $("#h4OrderCancelRequestToBeList").css("display", "none");
- $("#gridOrderCancelRequestToBeList").css("display", "none");
- $("#h4DelvCdList").css("display", "none");
- $("#gridDelvCdList").css("display", "none");
- }
-
- // 2021.05.13 높이자동조절
- var cancelRequestTargetHeight = 50 + (40 * cancelRequestTargetCnt);
- $("#gridOrderCancelRequestList").css("height" , cancelRequestTargetHeight+"px");
- });
- // 2021.06.17 구성상품 내역 팝업 호출
- var fnOrderDetailItemForm = function (ordDtlNo) {
- var actionUrl = "/delivery/detail/item/form/" + ordDtlNo;
- cfnOpenModalPopup(actionUrl, 'popupDeliveryDetailItemForm');
- }
- </script>
- </html>
|