Forráskód Böngészése

관리자 수정중

jsh77b 5 éve
szülő
commit
80ee04559f

+ 77 - 47
src/main/java/com/style24/admin/biz/web/TsaOrderChangeController.java

@@ -61,50 +61,6 @@ public class TsaOrderChangeController extends TsaBaseController {
 	@Autowired
 	private TscOrderRefundService coreOrderRefundService;
 	
-	/**
-	 * 취소요청 화면
-	 * 취소신청 (NAPY, 외부몰) (배치)
-	 * @param OrderChange - 주문취소신청정보
-	 * @return
-	 * @author jsh77b
-	 * @since 2021. 01. 20
-	 */
-	@PostMapping("/cnclReq")
-	@ResponseBody
-	public GagaResponse cnclReq(@RequestBody OrderChange cnclReq) {
-		
-		if (cnclReq== null) {
-			throw new IllegalStateException(message.getMessage("FAIL_1001"));
-		}
-		
-		// * 필요 데이타
-		// 주문번호, 주문상세, 취소신청수량, 신청구분(취소신청, 취소완료), 몰구분(자사, NAPY, EXTMALL)
-
-		// 1. 주문변경정보등록
-		// TB_ORDER_CHANGE (등록)
-		// TB_ORDER_CHANGE_DTL (등록)
-		
-		return super.ok("성공");
-	}
-	
-	/**
-	 * 취소신청컨펌 (NAPY, 외부몰) (관리자)
-	 * @param OrderChange - 주문취소신청정보
-	 * @return
-	 * @author jsh77b
-	 * @since 2021. 01. 20
-	 */
-	@PostMapping("/cnclReqComplete")
-	@ResponseBody
-	public GagaResponse cnclReqComplete(@RequestBody OrderChange cnclReq) {
-		
-		if (cnclReq== null) {
-			throw new IllegalStateException(message.getMessage("FAIL_1001"));
-		}
-		
-		return super.ok("성공");
-	}
-	
 	/**
 	 * 취소요청 화면 (관리자)
 	 * 
@@ -140,6 +96,80 @@ public class TsaOrderChangeController extends TsaBaseController {
 		return mav;
 	}
 	
+	/**
+	 * 취소신청 (ADMIN, NAPY, 외부몰) (배치)
+	 * 
+	 * @param OrderChange - 주문취소신청정보
+	 * @return
+	 * @author jsh77b
+	 * @since 2021. 01. 20
+	 */
+	@PostMapping("/cnclReq")
+	@ResponseBody
+	public GagaResponse cnclReq(@RequestBody OrderChange cnclReq) {
+		
+		GagaMap mav = new GagaMap();
+		
+		if (cnclReq== null) {
+			throw new IllegalStateException(message.getMessage("FAIL_1001"));
+		}
+		
+		List<Order> cnclReqList = cnclReq.getCancelReqList(); // 취소요청정보목록
+		
+		// To Do List
+		// @ 결품취소로직 추가
+		// @ 주문취소시 상태값 체크
+		// @ 취소, 반품시 배송비 체크 로직 (선결제 로직)
+		
+		// 1. 세션회원조회
+		int userNo = TsaSession.getInfo().getUserNo();
+		
+		// 2. 환불금액계산
+		// 2021.01.19 취소신청정보를 목록 (주문상세번호, 취소/반품수량) 으로 표현
+		mav = coreOrderRefundService.cnclRtnRefundAmt(cnclReqList);
+		
+		// 3. 주문변경 기본정보 설정
+		mav.set("ordNo"			, cnclReq.getOrdNo());				// 주문번호
+		mav.set("chgReason"		, cnclReq.getChgReason());			// 변경사유
+		mav.set("chgMemo"		, cnclReq.getChgMemo());			// 변경메모
+		
+		mav.set("accountNo"		, cnclReq.getAccountNo());			// 환불계좌번호
+		mav.set("accountNm"		, cnclReq.getAccountNm());			// 환불계좌예금주명
+		mav.set("bankCd"		, cnclReq.getBankCd());				// 환불계좌은행코드
+		
+		mav.set("allCanYn"		, cnclReq.getAllCanYn());			// 무통장입금전 전체취소 여부
+		mav.set("isCustomer"	, cnclReq.getIsCustomer());			// 변경사유 (고객, 회사)
+		
+		// 4. 주문변경 회수지정보 추가
+		mav.set("chgerNm"		, cnclReq.getChgerNm());			// 변경자명
+		mav.set("chgerEmail"	, cnclReq.getChgerEmail());			// 변경자이메일주소
+		mav.set("chgerPhnno"	, cnclReq.getChgerPhnno());			// 변경자핸드폰번호
+		mav.set("chgerTelno"	, cnclReq.getChgerTelno());			// 변경자전화번호
+				
+		// 5. 주문변경 DB 등록 (TB_ORDER_CHANGE, TB_ORDER_CHANGE_DETAIL, TB_REFUND)
+		coreOrderChangeService.cnclReq(mav, userNo);
+		
+		return super.ok("성공");
+	}
+	
+	/**
+	 * 취소요청컨펌 (NAPY, 외부몰) (관리자)
+	 * @param OrderChange - 주문취소신청정보
+	 * @return
+	 * @author jsh77b
+	 * @since 2021. 01. 20
+	 */
+	@PostMapping("/cnclReqComplete")
+	@ResponseBody
+	public GagaResponse cnclReqComplete(@RequestBody OrderChange cnclReq) {
+		
+		if (cnclReq== null) {
+			throw new IllegalStateException(message.getMessage("FAIL_1001"));
+		}
+		
+		return super.ok("성공");
+	}
+	
 	/**
 	 * 취소완료 (관리자)
 	 * @param Collection<Order> - 주문취소신청목록
@@ -147,9 +177,9 @@ public class TsaOrderChangeController extends TsaBaseController {
 	 * @author jsh77b
 	 * @since 2020. 12. 29
 	 */
-	@PostMapping("/cancel")
+	@PostMapping("/cnclComplete")
 	@ResponseBody
-	public GagaResponse orderCancel(@RequestBody OrderChange cnclReq) {
+	public GagaResponse cnclComplete(@RequestBody OrderChange cnclReq) {
 		
 		GagaMap mav = new GagaMap();
 		
@@ -157,7 +187,7 @@ public class TsaOrderChangeController extends TsaBaseController {
 			throw new IllegalStateException(message.getMessage("FAIL_1001"));
 		}
 		
-		List<Order> cnclReqList = cnclReq.getCancelReqList(); // 취소요청정보
+		List<Order> cnclReqList = cnclReq.getCancelReqList(); // 취소요청정보목록
 		
 		// To Do List
 		// @ 결품취소로직 추가

+ 4 - 4
src/main/java/com/style24/persistence/mybatis/shop/TsaOrder.xml

@@ -698,7 +698,7 @@
 		     , Z.DELV_FEE_SQ
 	</select>
 	
-	<!-- 주문상세 > 취소/반품/교환 요청정보 -->
+	<!-- 주문상세 > 취소/반품/교환 요청정보 (변경상세단위) -->
 	<select id="getOrderChangeList" parameterType="Order" resultType="Order">
 		/* order.getOrderChangeList */
 		SELECT OCD.ORD_CHG_SQ
@@ -715,7 +715,7 @@
 		     , CASE WHEN OC.CHG_GB = 'G680_20' THEN FN_GET_CODE_NM('G686', OC.CHG_REASON)
 		            WHEN OC.CHG_GB = 'G680_30' THEN FN_GET_CODE_NM('G688', OC.CHG_REASON)
 		            WHEN OC.CHG_GB = 'G680_40' THEN FN_GET_CODE_NM('G689', OC.CHG_REASON)
-		            ELSE '결전취소'
+		            ELSE '결전취소'
 		            END  CHG_REASON_NM
 		     , OC.CHG_MEMO
 		     , OC.CHGER_NM
@@ -735,8 +735,8 @@
 		WHERE  1=1
 		AND    OD.ORD_NO = #{ordNo}
 		AND    OCD.DEL_YN = 'N'
-		ORDER  BY OC.REG_DT DESC
-		     , OCD.ORD_DTL_NO
+		ORDER  BY OC.ORD_CHG_SQ
+		     , OCD.ORD_DTL_NO 
 	</select>
 	
 	<!-- 주문상세 > 환불정보 -->

+ 24 - 7
src/main/webapp/WEB-INF/views/order/CancelRequestForm.html

@@ -36,7 +36,8 @@
 				<div id="gridDelvCdList" style="width:100%; height: 140px;" class="ag-theme-balham"></div>
 				
 				<div style="text-align:right; padding-bottom:5px; padding-top:5px;">
-					<button type="button" class="btn btn-success" id="btnCancelRequestPartOk" onclick="fnCancelRequestPartOk();">요청</button>
+					<button type="button" class="btn btn-success" onclick="fnCnclReq('req');">취소신청</button>
+					<button type="button" class="btn btn-success" onclick="fnCnclReq('complete');">취소완료</button>
 				</div>
 				
 				<table class="frmStyle">
@@ -886,8 +887,8 @@ var fnChangeChgReason = function(reasonCd){
 	fnCalculateRefundAmt();			//환불예정금액 계산.
 }
 
-// 취소요청
-var fnCancelRequestPartOk = function () {
+// 취소신청/완료
+var fnCnclComplete = function (reqGbn) {
 	
 	var temp 		= false;
 	var ordDtlStat	= cancelRequestTargetList[0].ordDtlStat; 
@@ -901,11 +902,11 @@ var fnCancelRequestPartOk = function () {
 	}
 	
 	if (temp == false) {
-		mcxDialog.alert('취소수량을 입력하세요.');
+		mcxDialog.alert('취소신청수량을 입력하세요.');
 		return;
 	}
 	
-	// 2. 입금대기건 && 전체취소 체크
+	// 2. 입금대기건 & 전체취소 체크
 	if (ordDtlStat == "G013_10" && $("#spanPayAmt").text() != $("#spanRefundAmt").text()) {
 		alert("입금대기건은 전체 취소만 가능합니다.");
 		return;
@@ -920,7 +921,8 @@ var fnCancelRequestPartOk = function () {
 	var chgReason = $("#cancelRequestFrm select[name=selectChgReason]").val();
 	
 	if (gagajf.isNull(chgReason)) {
-		mcxDialog.alert("취소사유를 입력하세요."); return ;
+		mcxDialog.alert("취소사유를 입력하세요."); 
+		return ;
 	}
 	
 	// 4. 환불계좌 체크
@@ -928,6 +930,7 @@ var fnCancelRequestPartOk = function () {
 	var accountNm 	= "";
 	var bankCd 		= "";
 	
+	// 결제타입 무통장입금시 환불계좌 등록
 	if (payMeans == 'G014_20') {
 		var refundAccount = gridOptionsRefundAccountInfo.api.getSelectedRows();
 		
@@ -965,6 +968,20 @@ var fnCancelRequestPartOk = function () {
 		,"chgerPhnno"		: chgerPhnno
 		,"chgerTelno"		: chgerTelno
 	}
+	
+	// 6. 취소신청, 취소완료 여부 체크
+	// 취소완료
+	if (reqGbn == "complete") {
+		cnclUrl = '/orderChange/cnclComplete/';
+	}
+	// 취소신청
+	else if (reqGbn == "req") {
+		cnclUrl = '/orderChange/cnclReq/';
+	}
+	// 취소신청 완료
+	else if (reqGbn == "reqComplete"){
+		cnclUrl = '/orderChange/cnclReqComplete/';
+	}
 
 	// 주문번호, 취소사유, 취소메모, (취소, 반품, 교환 신청 정보 목록), 환불계좌
 	var jsonData = JSON.stringify(jsonObj);
@@ -974,7 +991,7 @@ var fnCancelRequestPartOk = function () {
 		sureBtnClick		: function(){
 			// 취소 실행
 			gagajf.ajaxJsonSubmit(
-				'/orderChange/cancel/'
+				cnclUrl
 				, jsonData
 				, function() {
 					uifnPopupClose('popupOrderDetail');

+ 30 - 4
src/main/webapp/WEB-INF/views/order/OrderDetailForm.html

@@ -117,7 +117,7 @@
 				</table>
 
 				<div id="wrapOrderChange">
-					<h4>(취소/반품/교환)요청 정보</h4>
+					<h4>(취소/반품/교환) 요청 정보</h4>
 					<div id="gridOrderChangeInfo" style="width:100%; height: 180px; min-height:99px;" class="ag-theme-balham"></div>
 				</div>
 
@@ -262,6 +262,7 @@ var columnDefsGoodsInfo = [
 				headerName		: "상태변경"
 				, field			: "ordDtlStatChg"
 				, width			: 120
+				, hide			: true
 				, cellClass		: 'text-center'
 				, cellRenderer	: function (params) {				
 					var strVal 		= "";
@@ -604,7 +605,25 @@ var gridOptionsDeliveryFeeInfo = gagaAgGrid.getGridOptions(columnDefsDeliveryFee
 
 // 6. 반품/교환 정보
 var columnDefsOrderChangeInfo = [
-	{headerName: "요청번호"		, field: "ordChgSq"		, width: 100	, cellClass: 'text-center'},
+	{
+		headerName		: "요청번호"		
+		, field			: "ordChgSq"		
+		, width			: 100	
+		, cellClass		: 'text-center'
+		, cellRenderer	: function(params) {
+			var rtnStr = "";
+			
+			// 취소요청, 교환요청, 반품요청 일때는 요청 정보 확인 팝업 정보
+			if (params.data.chgStat == 'G685_20' || params.data.chgStat == 'G685_30' || params.data.chgStat == 'G685_40') {
+				rtnStr = "<a href='javascript:void(0);' onclick='fnChgReqInfo(" + params.value + ");>" + params.value + "</a>";
+				//rtnStr = '<a href="javascript:void(0);" onclick="fnChgReqInfo(\'' + params.value + '\');">' + params.value + '</a>';
+			} else {
+				rtnStr = params.value;
+			}
+			
+			return  rtnStr;
+		}
+	},
 	{headerName: "요청구분"		, field: "chgGbNm"		, width: 100	, cellClass: 'text-center'},
 	{headerName: "상품코드"		, field: "goodsCd"		, width: 100	, cellClass: 'text-center'},
 	{headerName: "옵션1"			, field: "optCd1"		, width: 100	, cellClass: 'text-center'},
@@ -632,8 +651,9 @@ var columnDefsOrderChangeInfo = [
 		, cellRenderer	: function (params) {
 			var rtnStr = ""
 			
+			// 회수지수정가능(교환요청, 반품요청)
 			if (params.data.chgStat == 'G685_30' || params.data.chgStat == 'G685_40' ) {
-				// 배송지 수정 (주문배송, 교환배송)
+				
 				rtnStr += params.value;			
 				rtnStr += "<button type=\"button\" style=\"margin-left:10px\" class=\"btn btn-info\" onclick=\"fnOpenDaumAddr('" + params.node.rowIndex + "', 'CLAIM');\">POST</button>";
 				rtnStr += "<button type=\"button\" class=\"btn btn-info\" onclick=\"fnSaveChgerAddr('" + params.node.rowIndex + "');\">저장</button>";
@@ -662,7 +682,7 @@ var columnDefsOrderChangeInfo = [
 		, cellClass		: 'text-center'
 		, cellRenderer	: function (params) {
 			var retStr = "";
-
+			
 			if (params.data.chgGb == "G680_30" && params.data.chgStat == "G685_40") {
 				retStr = ' <button type="button" class="btn btn-success" onclick="fnReturnReqeustCancel(\'' + params.data.ordChgSq + '\',\'' + params.value + '\',\'' + params.node.rowIndex + '\');">반품취소</button>';
 			} else if (params.data.chgGb == "G680_40" && params.data.chgStat == "G685_30") {
@@ -992,6 +1012,12 @@ var fnExchangeRequest = function () {
 	cfnOpenModalPopup(actionUrl, 'popupExchangeRequestForm');
 };
 
+// 취소요청, 교환요청, 반품요청 일때는 요청 정보 확인 팝업 정보
+var fnChgReqInfo = function () {
+	var actionUrl = "/orderChange/cancel/request/form?ordNo=" + ordNo;
+	cfnOpenModalPopup(actionUrl, 'popupCancelRequestForm');
+};
+
 // 취소승인
 var fnCancelConfirmRequest = function (ordChgSq) {
 	mcxDialog.confirm("요청번호 [" + ordChgSq + "] 에 대한 취소승인 처리를 하시겠습니까?", {

+ 1397 - 0
src/main/webapp/WEB-INF/views/order/OrderDetailFormBack20210122.html

@@ -0,0 +1,1397 @@
+<!DOCTYPE html>
+<html lang="ko" xmlns:th="http://www.thymeleaf.org">
+<!--
+ *******************************************************************************
+ * @source  : OrderListForm.html
+ * @desc    : 주문상세화면
+ *============================================================================
+ * STYLE24
+ * Copyright(C) 2020 TSIT, All rights reserved.
+ *============================================================================
+ * VER  DATE         AUTHOR      DESCRIPTION
+ * ===  ===========  ==========  =============================================
+ * 1.0  2020.11.16   jsh77b       최초 작성
+ *******************************************************************************
+ -->
+<div class="modalPopup" data-width="1500" data-height="700"> <!-- data-width="1500" data-height="870" -->
+	<div class="panelStyle">
+		<div class="panelTitle">
+			<h2>주문상세내역</h2>
+			<button type="button" class="close" onclick="fnOrderDetailClose()"><i class="fa fa-times"></i></button>
+		</div>
+			
+		<div class="panelContent" style="height:90%; overflow-y:auto; padding:0px 20px !important; ">
+			<form id="orderDetailInfo" name="orderDetailInfo" action="#" th:method="post">
+				<input type="hidden" name="custNo"/>
+				<input type="hidden" name="orderNm"/>
+				<input type="hidden" name="orderPhnno"/>
+				<input type="hidden" name="orderEmail"/>
+				
+				<h4>기본정보</h4>
+				<!-- <div id="gridOrderInfo" style="width:100%; height:100px;" class="ag-theme-balham"></div> -->
+
+				<!-- 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="${orderInfo[0].siteCdNm}"></td>
+							<td th:text="${orderInfo[0].mallGbNm}"></td>
+							<td th:text="${orderInfo[0].frontGbNm}"></td>
+							<td th:text="${orderInfo[0].extmallNm}"></td>
+							<td th:text="${orderInfo[0].ordDt}"></td>
+							<td th:text="${orderInfo[0].ordNm}"></td>
+							<td th:text="${orderInfo[0].custNo}"></td>
+							<td th:text="${orderInfo[0].ordNo}"></td>
+							<td th:text="${orderInfo[0].ordEmail}"></td>
+							<td th:text="${orderInfo[0].ordPhnno}"></td>
+							<td th:text="${orderInfo[0].custGbNm}"></td>
+							<td th:text="${orderInfo[0].managedRsnNm}"></td>
+							<td th:text="${orderInfo[0].custGradeNm}"></td>
+						</tr>
+					</tbody>
+				</table>
+				<!-- //TABLE -->
+									
+				<h4>주문상품정보</h4>
+				<button type="button" class="btn btnRight btn-base btn-sm off" id="btnExchange" style="margin-left:10px;" >교환요청</button>
+				<button type="button" class="btn btnRight btn-base btn-sm off" id="btnReturn">반품요청</button>
+				<button type="button" class="btn btnRight btn-base btn-sm off" id="btnCancel">취소요청</button>
+				<div id="gridOrderGoodsInfo" style="width:100%; height:200px;" class="ag-theme-balham"></div>
+				
+				<h4>주문사은품정보</h4>
+				<button type="button" class="btn btnRight btn-base btn-sm off" id="btnFreeGiftCancel" style="margin-left:10px;" >사은품취소</button>
+				<div id="gridOrderFreeGiftInfo" style="width:100%; height:120px;" class="ag-theme-balham"></div>
+				
+				<h4>배송정보</h4>
+				<div id="gridDeliveryAddrInfo" style="width:100%; height:100px;" class="ag-theme-balham"></div>
+				
+				<table style="width:100%;">
+					<colgroup>
+						<col style="width:65%;"/>
+						<col/>                                                                                  
+					</colgroup>
+					<tbody>
+						<tr>
+							<td style="">
+								<h4>결제정보</h4>
+								<div id="gridPaymentInfo" style="width:100%; height: 100px;" class="ag-theme-balham"></div>
+							</td>
+							<td style="">
+								<h4>배송비정보</h4>
+								<div id="gridDeliveryFeeInfo" style="width:100%; height: 100px;" class="ag-theme-balham"></div>
+							</td>
+						<tr>
+					</tbody>
+				</table>
+
+				<div id="wrapOrderChange">
+					<h4>(취소/반품/교환)요청 정보</h4>
+					<div id="gridOrderChangeInfo" style="width:100%; height: 180px; min-height:99px;" class="ag-theme-balham"></div>
+				</div>
+
+				<div id="wrapRefund">
+					<h4>환불정보</h4>
+					<div id="gridOrderRefundInfo" style="width:100%; height: 100px;" class="ag-theme-balham"></div>
+				</div>
+
+				<table style="width:100%;">
+					<colgroup>
+						<col style="width:65%;"/>
+						<col/>
+					</colgroup>
+					<tbody>
+						<tr>
+							<td style="">
+								<h4>상담내역</h4>
+								<div id="gridOrderCounselInfo" style="width:100%; height: 100px;" class="ag-theme-balham"></div>
+							</td>
+							<td style="">
+								<h4>관리자메모</h4>
+								<button type="button" id="btnCreateOrderMemo" class="btn btnRight btn-base btn-sm" style="margin-left:10px;"> +</button>
+								<div id="gridOrderMemoInfo" style="width:100%; height: 100px;" class="ag-theme-balham"></div>
+							</td>
+						</tr>
+					</tbody>
+				</table>
+				
+			</form>
+		</div>
+	</div>
+</div>
+
+<!-- data -->
+<script th:inline="javascript">
+var ordNo 					= [[${ordNo}]];							// 주문번호
+var userNo 					= [[${userNo}]]							// 관리자번호
+
+var orderInfo 				= [[${orderInfo}]];						// 기본정보
+var orderGoodsInfo 			= [[${orderGoodsInfo}]];				// 주문상세정보
+var orderFreeGiftInfo 		= [[${orderFreeGiftInfo}]];				// 주문사은품정보
+var orderDeliveryAddrInfo	= [[${orderDeliveryAddrInfo}]];			// 배송정보
+var orderPaymentInfo 		= [[${orderPaymentInfo}]];				// 결제정보
+var orderDeliveryFeeInfo 	= [[${orderDeliveryFeeInfo}]];			// 배송비정보
+var orderChangeInfo 		= [[${orderChangeInfo}]];				// 취소/반품/교환요청 정보
+var orderRefundInfo 		= [[${orderRefundInfo}]];				// 환불정보
+var orderCounselInfo 		= [[${orderCounselInfo}]];				// 상담내역
+var orderAdminMemoInfo 		= [[${orderAdminMemoInfo}]];			// 관리자메모
+</script>
+
+<!-- AgGrid 컬럼 세팅 -->
+<script>
+// 1.주문기본정보 그리드 바인딩
+// 2.상품별 상세정보
+var columnDefsGoodsInfo = [
+	{
+		headerName	: "주문상세",
+		children	: [
+			{headerName: "번호"		, field: "ordDtlNo"		, width: 80, cellClass: 'text-center'},
+			{headerName: "주문구분"	, field: "exchGbNm"		, width: 80, cellClass: 'text-center'},
+		],
+	},
+	{
+		headerName	: "상품정보",
+		children	: [
+			{headerName: "상품코드"	, field: "goodsCd"		, width: 80, cellClass: 'text-center'},
+			{
+				headerName		: "상품명"
+				, field			: "goodsNm"
+				, width			: 200
+				, cellClass		: 'text-left'
+				, cellRenderer: function (params) {
+					return '<a href="javascript:void(0);" onclick="cfnOpenFrontGoodsPopup(\'' + params.data.goodsCd + '\',\'' + params.data.siteCd + '\');">' + params.value + '</a>';
+				}
+			},
+			{headerName: "상품타입"	, field: "goodsTypeNm"	, width: 100, cellClass: 'text-center'},
+			{headerName: "브랜드"		, field: "brandEnm"		, width: 80, cellClass: 'text-center'}
+		]
+	},
+	{
+		headerName	: "단품정보",
+		children	: [
+			{headerName: "단품코드"	, field: "itemCd"		, width: 80, cellClass: 'text-center'},
+			{
+				headerName		: "단품명"
+				, field			: "itemNm"
+				, width			: 200
+				, cellClass		: 'text-left'
+				, cellRenderer: function (params) {
+					return '<a href="javascript:void(0);" onclick="cfnOpenFrontGoodsPopup(\'' + params.data.itemCd + '\',\'' + params.data.siteCd + '\');">' + params.value + '</a>';
+				}
+			},
+			{headerName: "옵션1"		, field: "optCd1"		, width: 80, cellClass: 'text-center'},
+			{headerName: "옵션2"		, field: "optCd2"		, width: 80, cellClass: 'text-center'},
+			{headerName: "단품수량"	, field: "itemQty"		, width: 80, cellClass: 'text-center'},
+			{
+				headerName		: "단품금액"
+				, field			: "itemPrice"
+				, width			: 100
+				, cellClass		: 'text-right'
+				, cellRenderer	: function (params) {
+					return params.value.addComma();
+				}
+			},
+			{
+				headerName		: "옵션추가금액"
+				, field			: "optAddPrice"
+				, width			: 100
+				, cellClass		: 'text-right'
+				, cellRenderer	: function (params) {
+					return params.value.addComma();
+				}
+			}
+		]
+	},
+	{
+		headerName	: "주문상세단품",
+		children	: [
+			{headerName: "주문수량"	, field: "ordQty"		, width: 80, cellClass: 'text-center'},
+			{headerName: "취소수량"	, field: "cnclRtnQty"	, width: 80, cellClass: 'text-center'},
+			{headerName: "변경요청수량"	, field: "ordReqChgQty"	, width: 100, cellClass: 'text-center'},
+			{headerName: "상세상태"	, field: "ordDtlStat"	, width: 120, cellClass: 'text-center', hide: true},
+			{
+				headerName		: "상세상태"
+				, field			: "ordDtlStatNm"
+				, width			: 120
+				, cellClass		: 'text-center'
+				, cellRenderer	: function (params) {
+					var retVal = "";
+					retVal += (params.data.cancelRequestQty > 0) ? " 취" + params.data.cancelRequestQty : "";
+					retVal += (params.data.returnRequestQty > 0) ? " 반" + params.data.returnRequestQty : "";
+					retVal += (params.data.exchangeRequestQty > 0) ? " 교" + params.data.exchangeRequestQty : "";
+					
+					if (!gagajf.isNull(retVal)) {
+						retVal = "-" + retVal;
+					}
+					
+					return "<a href=\"javascript:void(0);\" onclick=\"fnOrderDetailChangeHst('" + params.data.ordDtlNo + "');\">" + params.value + retVal + "</a>";
+				}
+			},
+			{
+				headerName		: "상태변경"
+				, field			: "ordDtlStatChg"
+				, width			: 120
+				, cellClass		: 'text-center'
+				, cellRenderer	: function (params) {				
+					var strVal 		= "";
+					var strCheck	= "";
+					
+					// 현재상태에 따라서 갈수 있는 상태 정리
+					// @ 자사 : 결제완료, 배송준비중, 배송중, 배송완료
+					// @ 입점 : 결제완료, 상품준비중, 출고완료
+					// @ 모든상태값 변경 기준 (상세내역의 상택값 이력으로만 이동가능)
+					// G013_00	주문접수
+					// G013_10	입금대기
+					// G013_18	발주대기-가격차이
+					// G013_19	발주대기-우편번호상이
+					// G013_20	결제완료
+					// G013_30	상품준비중
+					// G013_40	배송준비중
+					// G013_50	배송중
+					// G013_55	출고완료
+					// G013_60	배송완료
+					// G013_98	결제전주문취소
+					// G013_99	결제후주문취소
+					// 2020.12.22 추가적인 개발은 추후 물류개발이 완료된 후 추가할 예정
+					// To Do List
+					// @ 재고정보수정
+					// @ 정산정보수정
+					strVal += "<select class='ordDtlStatChg' name='ordDtlStatChg' ordDtlNo='"+params.data.ordDtlNo+"' ordNo='"+params.data.ordNo+"' onChange='fnChangOrdDtlStat(this);'>";
+					strVal += "	<option value=''>선택</option>";
+					
+					if (!gagajf.isNull(params.data.g20)) {
+						strVal += "	<option value='G013_20'>결제완료</option>";
+					}
+					if (!gagajf.isNull(params.data.g30)) {
+						strVal += "	<option value='G013_30'>상품준비중</option>";
+					}
+					if (!gagajf.isNull(params.data.g40)) {
+						strVal += "	<option value='G013_40'>배송준비중</option>";
+					}
+					if (!gagajf.isNull(params.data.g50)) {
+						strVal += "	<option value='G013_50'>배송중</option>";
+					}
+					if (!gagajf.isNull(params.data.g55)) {
+						strVal += "	<option value='G013_55'>출고완료</option>";
+					}
+					if (!gagajf.isNull(params.data.g60)) {
+						strVal += "	<option value='G013_60'>배송완료</option>";
+					}
+					strVal += "</select>";
+					
+					return strVal;
+				}
+			}
+		]
+	},
+	{
+		headerName	: "쿠폰",
+		children	: [
+			{
+				headerName		: "즉시할인"
+				, field			: "cpn1DcAmt"
+				, width			: 80
+				, cellClass		: 'text-right' //goodsCpnDcAmtClass
+				, cellRenderer: function (params) {
+					return "<a href=\"javascript:void(0);\" onclick=\"fnOrderCouponHst('" + params.data.ordNo + "');\">" + params.value.addComma() + "</a>";
+				}
+			},
+			{
+				headerName		: "상품"
+				, field			: "goodsCpnDcAmt"
+				, width			: 80
+				, cellClass		: 'text-right' //goodsCpnDcAmtClass
+				, cellRenderer: function (params) {
+					return "<a href=\"javascript:void(0);\" onclick=\"fnOrderCouponHst('" + params.data.ordNo + "');\">" + params.value.addComma() + "</a>";
+				}
+			},
+			{
+				headerName		: "장바구니"
+				, field			: "cartCpnDcAmt"
+				, width			: 80
+				, cellClass		: 'text-right' //cartCpnDcAmtClass
+				, cellRenderer	: function (params) {
+					return "<a href=\"javascript:void(0);\" onclick=\"fnOrderCouponHst('" + params.data.ordNo + "');\">" + params.value.addComma() + "</a>";
+				}
+			}
+		]
+	},
+	{
+		headerName	: "다다익선",
+		children	: [
+			{
+				headerName		: "수량"
+				, field			: "tmtb1DcAmt"
+				, width			: 80
+				, cellClass		: 'text-right'
+				, cellRenderer	: function (params) {
+					return "<a href=\"javascript:void(0);\" onclick=\"fnOrderTmtbHst('" + params.data.ordNo + "');\">" + params.value.addComma() + "</a>";
+				}
+			},
+			{
+				headerName		: "금액"
+				, field			: "tmtb2DcAmt"
+				, width			: 80
+				, cellClass		: 'text-right'
+				, cellRenderer	: function (params) {
+					return "<a href=\"javascript:void(0);\" onclick=\"fnOrderTmtbHst('" + params.data.ordNo + "');\">" + params.value.addComma() + "</a>";
+				}
+			}
+		]
+	},
+	{
+		headerName	: "포인트",
+		children	: [
+			{
+				headerName		: "사용"
+				, field			: "pntDcAmt"
+				, width			: 80
+				, cellClass		: 'text-right'
+				, cellRenderer	: function (params) {
+					return "<a href=\"javascript:void(0);\" onclick=\"fnOrderPointHst('" + params.data.ordNo + "');\">" + params.value.addComma() + "</a>";
+				}
+			},
+			{
+				headerName		: "즉시사용"
+				, field			: "prePntDcAmt"
+				, width			: 80
+				, cellClass		: 'text-right'
+				, cellRenderer	: function (params) {
+					return "<a href=\"javascript:void(0);\" onclick=\"fnOrderPointHst('" + params.data.ordNo + "');\">" + params.value.addComma() + "</a>";
+				}
+			},
+			{
+				headerName		: "적립"
+				, field			: "savePntAmt"
+				, width			: 80
+				, cellClass		: 'text-right'
+				, cellRenderer	: function (params) {
+					return "<a href=\"javascript:void(0);\" onclick=\"fnOrderPointHst('" + params.data.ordNo + "');\">" + params.value.addComma() + "</a>";
+				}
+			}
+		]
+	},
+	{
+		headerName	: "상품권",
+		children	: [
+			{
+				headerName		: "사용"
+				, field			: "gfcdUseAmt"
+				, width			: 80
+				, cellClass		: 'text-right'
+				, cellRenderer	: function (params) {
+					return "<a href=\"javascript:void(0);\" onclick=\"fnOrderGiftcardHst('" + params.data.ordNo + "');\">" + params.value.addComma() + "</a>";
+				}
+			}
+		]
+	},
+	{
+		headerName	: "금액(원/단위)",
+		children	: [
+			{
+				headerName		: "주문"
+				, field			: "ordAmt"
+				, width			: 80
+				, cellClass		: 'text-right'
+				, valueFormatter: function (params) {
+					return params.value.addComma();
+				}
+			},
+			{
+				headerName		: "실결제"
+				, field			: "realOrdAmt"
+				, width			: 80
+				, cellClass		: 'text-right'
+				, valueFormatter: function (params) {
+					return params.value.addComma();
+				}
+			},
+			{
+				headerName		: "취소"
+				, field			: "cnclRtnAmt"
+				, width			: 80
+				, cellClass		: 'text-right'
+				, valueFormatter: function (params) {
+					return params.value.addComma();
+				}
+			},
+		]
+	},
+	{headerName: "결품", field: "soldoutYn", width: 60, cellClass: 'text-center'},
+	{
+		headerName	: "배송",
+		children	: [
+			{
+				headerName		: "송장번호"
+				, field			: "invoiceNo"
+				, width			: 100
+				, cellClass		: 'text-center'
+				, cellRenderer	: function (params) {
+					var retStr = '';
+					if (!gagajf.isNull(params.value)) retStr = '<a href="javascript:void(0);" onclick="fnSearchDelivery(\'' + params.data.trackingUrl + '\',\'' + params.data.invoiceNo + '\');">' + params.value + '</a>';
+					return retStr;
+				}
+			},
+			{headerName: "출고처"		, field: "delvLocNm"	, width: 120, cellClass: 'text-center'},
+			{headerName: "배송지번호"	, field: "delvAddrSq"	, width: 120, cellClass: 'text-center'}
+		]
+	}
+];
+var gridOptionsGoodsInfo = gagaAgGrid.getGridOptions(columnDefsGoodsInfo);
+
+// 2.5 주문사은품정보
+var columnDefsOrderFreeGiftInfo = [
+	{headerName: "주문사은품번호"	, field: "ordFreegiftSq"	, width: 120, cellClass: 'text-center', hide: true},
+	{headerName: "주문번호"		, field: "ordNo"			, width: 120, cellClass: 'text-center'},
+	{headerName: "사은품프로모션"	, field: "freegiftSq"		, width: 100, cellClass: 'text-center', hide: true},
+	{headerName: "사은품프로모션명"	, field: "freegiftNm"		, width: 250, cellClass: 'text-center'},
+	{headerName: "사은품혜택번호"	, field: "freegiftValSq"	, width: 100, cellClass: 'text-center', hide: true},
+	{
+		headerName			: "사용포인트"		
+		, field				: "usePoint"			
+		, width				: 100
+		, cellClass			: 'text-right'
+		, valueFormatter	: function (params) {
+			return params.value.addComma();
+		}
+	},
+	{headerName: "사은품코드"		, field: "itemCd"			, width: 100, cellClass: 'text-center'},
+	{headerName: "사은품명"		, field: "itemNm"			, width: 100, cellClass: 'text-center'},
+	{headerName: "사은품수량"		, field: "itemQty"			, width: 100, cellClass: 'text-center'},
+	{headerName: "옵션명"			, field: "optCd"			, width: 100, cellClass: 'text-center'},
+	{headerName: "옵션코드1"		, field: "optCd1"			, width: 100, cellClass: 'text-center'},
+	{headerName: "옵션코드2"		, field: "optCd2"			, width: 100, cellClass: 'text-center'},
+	{headerName: "삭제여부"		, field: "delYn"			, width: 100, cellClass: 'text-center'}
+];
+var gridOptionsOrderFreeGiftInfo = gagaAgGrid.getGridOptions(columnDefsOrderFreeGiftInfo);
+
+// 3.배송정보
+var columnDefsDeliveryInfo = [
+	{headerName: "배송지번호"		, field: "delvAddrSq"		, width: 80, cellClass: 'text-center'},
+	{headerName: "주문구분"		, field: "exchGbNm"			, width: 80, cellClass: 'text-center'},
+	{headerName: "수정여부"		, field: "delvAddrEditYn"	, width: 80, cellClass: 'text-center', hide: true},
+	{headerName: "받는분"			, field: "recipNm"			, width: 80, cellClass: 'text-left', editable: true},
+	{headerName: "핸드폰번호"		, field: "recipPhnno"		, width: 120, cellClass: 'text-left', editable: true},
+	{headerName: "전화번호"		, field: "recipTelno"		, width: 120, cellClass: 'text-left', editable: true},
+	{
+		headerName		: "우편번호"		
+		, field			: "recipZipNo"
+		, width			: 220
+		, cellClass		: 'text-center'
+		, cellRenderer	: function (params) {
+			var rtnStr = ""
+			
+			if (params.data.delvAddrEditYn < 1) {
+				// 배송지 수정 (주문배송, 교환배송)
+				rtnStr += params.value;			
+				rtnStr += "<button type=\"button\" style=\"margin-left:10px\" class=\"btn btn-info\" onclick=\"fnOpenDaumAddr('" + params.node.rowIndex + "', 'ADDR');\">POST</button>";
+				rtnStr += "<button type=\"button\" class=\"btn btn-info\" onclick=\"fnUpdateOrderAddr('" + params.node.rowIndex + "');\">저장</button>";
+			} else {
+				rtnStr += params.value;
+			}
+			
+			return rtnStr;
+		}
+	},
+	{headerName: "주소(기본)"		, field: "recipBaseAddr"	, width: 220, cellClass: 'text-left'},
+	{headerName: "주소(상세)"		, field: "recipDtlAddr"		, width: 220, cellClass: 'text-left', editable: true},
+	{headerName: "배송메모"		, field: "delvMemo"			, width: 250, cellClass: 'text-left', editable: true}
+];
+var gridOptionsDeliveryInfo = gagaAgGrid.getGridOptions(columnDefsDeliveryInfo);
+
+// 4.결제정보
+var columnDefsPaymentInfo = [
+	{headerName: "결제수단"		, field: "payMeansNm"	, width: 100	, cellClass: 'text-center'},
+	{headerName: "카드(은행)"		, field: "cardNm"		, width: 100	, cellClass: 'text-center'},
+	{headerName: "할부(입금계좌)"	, field: "cardMips"		, width: 150	, cellClass: 'text-center'},
+	{
+		headerName		: "승인번호"
+		, field			: "pgTradeNo"
+		, width			: 100
+		, cellClass		: 'text-center'
+		, cellRenderer	: function (params) {
+			var retStr = '';
+
+			if (!gagajf.isNull(params.value)) {
+				retStr = '<a href="javascript:void(0);" onclick="fnReceiptPage(\'' + params.data.pgTid + '\');">' + params.value + '</a>';
+			}
+
+			if (gagajf.isNull(params.value) && !gagajf.isNull(params.data.pgTid)) {
+				retStr = '<a href="javascript:void(0);" onclick="fnReceiptPage(\'' + params.data.pgTid + '\');">' + '거래내역' + '</a>';
+			}
+
+			return retStr;
+		}
+	},
+	{
+		headerName			: "결제일시"	
+		, field				: "payDt"
+		, width				: 130
+		, cellClass			: 'text-center' 
+		, cellRenderer: function(params) {
+			return !gagajf.isNull(params.value) ? params.value.toDate("YYYYMMDDHHmm").format("YYYY-MM-DD HH:mm") : '';
+		}
+	},
+	{headerName: "결제상태"	, field: "payStatNm"	, width: 80		, cellClass: 'text-center'},
+	{
+		headerName			: "결제금액"
+		, field				: "payAmt"
+		, width				: 80
+		, cellClass			: 'text-right'
+		, valueFormatter	: function (params) {
+			return params.value.addComma();
+		}
+	},
+	{headerName: "계좌만료일"	, field: "vaDeadline"	, width: 150	, cellClass: 'text-center'}
+];
+var gridOptionsPaymentInfo = gagaAgGrid.getGridOptions(columnDefsPaymentInfo);
+
+// 5.배송비
+var columnDefsDeliveryFeeInfo = [
+	{headerName: "배송비종류"		, field: "delvFeeGbNm", width: 120, cellClass: 'text-center'},
+	{
+		headerName			: "배송비"
+		, field				: "delvFee"
+		, width				: 100
+		, cellClass			: 'text-right'
+		, valueFormatter	: function (params) {
+			return params.value.addComma();
+		}
+	},
+	{headerName: "배송비정산여부"	, field: "delvUsacYn", width: 120, cellClass: 'text-center'},
+	{
+		headerName			: "배송비정산일시"	
+		, field				: "delvUsacDt"
+		, width				: 140
+		, cellClass			: 'text-center' 
+		, cellRenderer: function(params) {
+			return !gagajf.isNull(params.value) ? params.value.toDate("YYYYMMDDHHmm").format("YYYY-MM-DD HH:mm") : '';
+		}
+	}
+];
+var gridOptionsDeliveryFeeInfo = gagaAgGrid.getGridOptions(columnDefsDeliveryFeeInfo);
+
+// 6. 반품/교환 정보
+var columnDefsOrderChangeInfo = [
+	{headerName: "요청번호"		, field: "ordChgSq"		, width: 100	, cellClass: 'text-center'},
+	{headerName: "요청구분"		, field: "chgGbNm"		, width: 100	, cellClass: 'text-center'},
+	{headerName: "상품코드"		, field: "goodsCd"		, width: 100	, cellClass: 'text-center'},
+	{headerName: "옵션1"			, field: "optCd1"		, width: 100	, cellClass: 'text-center'},
+	{headerName: "옵션2"			, field: "optCd2"		, width: 100	, cellClass: 'text-center'},
+	{headerName: "수량"			, field: "chgQty"		, width: 100	, cellClass: 'text-center'},
+	{headerName: "요청상태"		, field: "chgStatNm"	, width: 100	, cellClass: 'text-center'},
+	{
+		headerName		: "요청일자"		
+		, field			: "regDt"		
+		, width			: 150		
+		, cellClass		: 'text-center'
+		, cellRenderer	: function(params) {
+			return !gagajf.isNull(params.value) ? params.value.toDate("YYYYMMDDHHmm").format("YYYY-MM-DD HH:mm") : '';
+		}
+	},
+	{headerName: "변경사유"		, field: "chgReasonNm"	, width: 100	, cellClass: 'text-center'},
+	{headerName: "요청메모"		, field: "chgMemo"		, width: 150	, cellClass: 'text-center'},
+	{headerName: "변경자명"		, field: "chgerNm"		, width: 100	, cellClass: 'text-center'},
+	{headerName: "변경자핸드폰"		, field: "chgerPhnno"	, width: 120	, cellClass: 'text-center', editable: true},
+	{
+		headerName		: "우편번호"		
+		, field			: "chgerZipNo"
+		, width			: 220
+		, cellClass		: 'text-center'
+		, cellRenderer	: function (params) {
+			var rtnStr = ""
+			
+			if (params.data.chgStat == 'G685_30' || params.data.chgStat == 'G685_40' ) {
+				// 배송지 수정 (주문배송, 교환배송)
+				rtnStr += params.value;			
+				rtnStr += "<button type=\"button\" style=\"margin-left:10px\" class=\"btn btn-info\" onclick=\"fnOpenDaumAddr('" + params.node.rowIndex + "', 'CLAIM');\">POST</button>";
+				rtnStr += "<button type=\"button\" class=\"btn btn-info\" onclick=\"fnSaveChgerAddr('" + params.node.rowIndex + "');\">저장</button>";
+			} else {
+				rtnStr = "";
+			}
+			
+			return rtnStr;
+		}
+	},
+	{headerName: "주소(기본)"		, field: "chgerBaseAddr"	, width: 220, cellClass: 'text-left'},
+	{headerName: "주소(상세)"		, field: "chgerDtlAddr"	, width: 150	, cellClass: 'text-center'	, editable: true},
+	{
+		headerName		: "택배사전송"
+		, field			: "wdInvoiceSendYn"
+		, width			: 120
+		, cellClass		: 'text-center'
+		, cellRenderer	: function (params) {
+			return (params.value == 'N') ? '미전송' : '전송';
+		}
+	},
+	{
+		headerName		: "요청취소"
+		, field			: "ordDtlNo"
+		, width			: 100
+		, cellClass		: 'text-center'
+		, cellRenderer	: function (params) {
+			var retStr = "";
+
+			if (params.data.chgGb == "G680_30" && params.data.chgStat == "G685_40") {
+				retStr = ' <button type="button" class="btn btn-success" onclick="fnReturnReqeustCancel(\'' + params.data.ordChgSq + '\',\'' + params.value + '\',\'' + params.node.rowIndex + '\');">반품취소</button>';
+			} else if (params.data.chgGb == "G680_40" && params.data.chgStat == "G685_30") {
+				retStr = ' <button type="button" class="btn btn-success" onclick="fnExchangeReqeustCancel(\'' + params.data.ordChgSq + '\',\'' + ordNo + '\',\'' + params.value + '\',\'' + params.node.rowIndex + '\');">교환취소</button>';
+			} else if (params.data.chgGb == "G680_20" && params.data.chgStat == "G685_20") {
+				retStr = '<button type="button" class="btn btn-success" onclick="fnCancelConfirmRequestCancel(\'' + params.data.ordChgSq + '\')">요청철회</button>';
+			}
+
+			return retStr;
+		}
+	},
+	{
+		headerName		: "회수지시전송"
+		, field			: "wdInvoiceSendYn"
+		, width			: 120
+		, cellClass		: 'text-center'
+	},
+	{headerName: "회수송장번호", field: "wdInvoiceNo", width: 90, cellClass: 'text-center'}
+];
+var gridOptionsOrderChangeInfo = gagaAgGrid.getGridOptions(columnDefsOrderChangeInfo);
+
+// 7.환불정보
+var columnDefsRefundInfo = [
+	{headerName: "환불수단"		, field: "payMeansNm"	, width: 80		, cellClass: 'text-center'},
+	{headerName: "환불은행(카드)"	, field: "cardNm"		, width: 120	, cellClass: 'text-center'},
+	{headerName: "환불은행계좌번호"	, field: "raNo"			, width: 150	, cellClass: 'text-center'},
+	{headerName: "예금주"			, field: "raNm"			, width: 80		, cellClass: 'text-center'},
+	{
+		headerName			: "환불금액"
+		, field				: "refundAmt"
+		, width				: 100
+		, cellClass			: 'text-right'
+		, valueFormatter	: function (params) {
+			return params.value.addComma();
+		}
+	},
+	{
+		headerName		: "환불완료일자"		
+		, field			: "updDt"		
+		, width			: 140	
+		, cellClass		: 'text-center'
+		, cellRenderer	: function(params) {
+			return !gagajf.isNull(params.value) ? params.value.toDate("YYYYMMDDHHmm").format("YYYY-MM-DD HH:mm") : '';
+		}
+	},
+	{headerName: "환불처리자"		, field: "updNm"		, width: 120		, cellClass: 'text-center'}
+];
+var gridOptionsRefundInfo = gagaAgGrid.getGridOptions(columnDefsRefundInfo);
+
+// 8.상담내역
+var columnDefsOrderCounselInfo = [
+	{headerName: "상담구분"		, field: "counselClsfNm"	, width: 120	, cellClass: 'text-center'},
+	{headerName: "상품코드"		, field: "goodsCd"			, width: 120	, cellClass: 'text-center'},
+	{
+		headerName		: "질문제목"
+		, field			: "questTitle"
+		, width			: 250
+		, cellClass		: 'text-center'
+		, cellRenderer	: function (params) {
+			return '<a href="javascript:void(0);" onclick="cfnOpenOneToOneAskDetailPopup(\'' + params.data.counselSq + '\')">' + params.value + '</a>';
+		}
+	},
+	{
+		headerName		: "등록일"			
+		, field			: "questDt"	
+		, width			: 120	
+		, cellClass		: 'text-center'
+		, cellRenderer	: function(params) {
+			return !gagajf.isNull(params.value) ? params.value.toDate("YYYYMMDDHHmm").format("YYYY-MM-DD HH:mm") : '';
+		}
+	},
+	{
+		headerName		: "답변일"			
+		, field			: "ansDt"	
+		, width			: 120	
+		, cellClass		: 'text-center'
+		, cellRenderer	: function(params) {
+			return !gagajf.isNull(params.value) ? params.value.toDate("YYYYMMDDHHmm").format("YYYY-MM-DD HH:mm") : '';
+		}
+	},
+	{headerName: "답변자"			, field: "ansNm"	, width: 80		, cellClass: 'text-center'},
+	{headerName: "삭제여부"		, field: "delYn"	, width: 80		, cellClass: 'text-center'}
+];
+var gridOptionsOrderCounselInfo = gagaAgGrid.getGridOptions(columnDefsOrderCounselInfo);
+
+// 9.주문메모
+var columnDefsOrderMemoInfo = [
+	{headerName: "등록일시"		, field: "regDt"	, width: 135	, cellClass: 'text-center'},
+	{
+		headerName		: "등록자"
+		, field			: "regNm"
+		, width			: 100
+		, cellClass		: 'text-center'
+	},
+	{
+		headerName		: "관리메모"
+		, field			: "memo"
+		, width			: 150
+		, cellClass		: 'text-left'
+		, cellRenderer	: function (params) {
+			var retStr = '';
+			
+			if (!gagajf.isNull(params.value)) {
+				retStr = '<a href="javascript:void(0);" onclick="fnCreateOrderMemo(\'' + params.data.ordNo + '\',\'' + params.data.orderMemoSq + '\',\'U' + '\');">' + params.value + '</a>';
+			}
+			return retStr;
+		}
+	},
+	{
+		headerName		: "삭제"
+		, field			: "orderMemoSq"
+		, width			: 80
+		, cellClass		: 'text-center'
+		, cellRenderer	: function (params) {
+			var retStr = '';
+			
+			if (params.data.updNo == userNo) {
+				retStr = '<button type="button" class="btn btn-danger" onclick="fnDeleteOrderMemo(\'' + params.data.ordNo + '\',\'' + params.value + '\');"> - </button>';
+			}
+			return retStr;
+		}
+	},
+];
+var gridOptionsOrderMemoInfo = gagaAgGrid.getGridOptions(columnDefsOrderMemoInfo);
+</script>
+
+<script>
+var fnSetGridHeightInit = function () {
+	if (_windowWidth < 1780) {
+		_girdRowH1 = 33 + _scrollH;
+		_girdRowH2 = 80 + _scrollH;
+	} else {
+		_girdRowH1 = 33
+		_girdRowH2 = 80;
+	}
+}
+</script>
+
+<!-- 버튼 이벤트 바인딩 -->
+<script>
+var _windowWidth 	= $(window).width();		/* 위도우창 넓이 */
+var _girdRowH 		= 33;						/* 그리드 Row 줄 높이 */
+var _girdRowH1 		= 33;						/* 그리드 타이틀 1줄 짜리 높이*/
+var _girdRowH2 		= 62;						/* 그리드 타이틀 2줄 짜리 높이*/
+var _scrollH 		= 27;						/* 가로스크롤bar 높이 */
+
+$(window).resize(function () {
+	_windowWidth = $(window).width();
+	fnSetGridHeightInit();
+});
+
+</script>
+<!-- AgGrid 생성 -->
+<script>
+// 팝업닫기
+var fnOrderDetailClose = function(){
+	uifnPopupClose('popupOrderDetail');
+}
+
+$(document).ready(function () {
+	
+	// 1. 그리드 그리기
+	//gagaAgGrid.createGrid('gridOrderInfo'					, gridOptionsOrderInfo);			// 기본정보
+	gagaAgGrid.createGrid('gridOrderGoodsInfo'				, gridOptionsGoodsInfo);			// 상품정보
+	gagaAgGrid.createGrid('gridOrderFreeGiftInfo'			, gridOptionsOrderFreeGiftInfo);	// 사은품정보
+	gagaAgGrid.createGrid('gridDeliveryAddrInfo'			, gridOptionsDeliveryInfo);			// 배송정보
+	gagaAgGrid.createGrid('gridPaymentInfo'					, gridOptionsPaymentInfo);			// 결제정보
+	gagaAgGrid.createGrid('gridDeliveryFeeInfo'				, gridOptionsDeliveryFeeInfo);		// 배송비정보
+	gagaAgGrid.createGrid('gridOrderChangeInfo'				, gridOptionsOrderChangeInfo);		// 취소/반품/교환 요청 정보
+	gagaAgGrid.createGrid('gridOrderRefundInfo'				, gridOptionsRefundInfo);			// 환불정보
+	gagaAgGrid.createGrid('gridOrderCounselInfo'			, gridOptionsOrderCounselInfo);		// 상담내역
+	gagaAgGrid.createGrid('gridOrderMemoInfo'				, gridOptionsOrderMemoInfo);		// 관리자메모
+	
+	// 2. 그리드 데이터 바인딩
+	//gridOptionsOrderInfo.api.setRowData(orderInfo);								// 기본정보
+	gridOptionsGoodsInfo.api.setRowData(orderGoodsInfo);							// 상품정보
+	gridOptionsOrderFreeGiftInfo.api.setRowData(orderFreeGiftInfo);					// 사은품품정보
+	gridOptionsDeliveryInfo.api.setRowData(orderDeliveryAddrInfo);					// 배송정보
+	gridOptionsPaymentInfo.api.setRowData(orderPaymentInfo);						// 결제정보
+	gridOptionsDeliveryFeeInfo.api.setRowData(orderDeliveryFeeInfo);				// 배송비정보
+	gridOptionsOrderChangeInfo.api.setRowData(orderChangeInfo);						// 취소/반품/교환요청 정보
+	gridOptionsRefundInfo.api.setRowData(orderRefundInfo);							// 환불정보
+	gridOptionsOrderCounselInfo.api.setRowData(orderCounselInfo);					// 상담내역
+	gridOptionsOrderMemoInfo.api.setRowData(orderAdminMemoInfo);					// 관리자메모
+	
+	// 2.1 TOTAL ROWS 없애기
+	gagaAgGrid.hideStatusBar('gridOrderGoodsInfo');
+	gagaAgGrid.hideStatusBar('gridOrderFreeGiftInfo');
+	gagaAgGrid.hideStatusBar('gridDeliveryAddrInfo');
+	gagaAgGrid.hideStatusBar('gridPaymentInfo');
+	gagaAgGrid.hideStatusBar('gridDeliveryFeeInfo');
+	gagaAgGrid.hideStatusBar('gridOrderChangeInfo');
+	gagaAgGrid.hideStatusBar('gridOrderRefundInfo');
+	gagaAgGrid.hideStatusBar('gridOrderCounselInfo');
+	gagaAgGrid.hideStatusBar('gridOrderMemoInfo');
+	
+	// 3. 그리드 높이 설정
+	fnSetGridHeightInit();
+	
+	// 4. 그리드 숨김 처리
+	if (orderChangeInfo == null || orderChangeInfo.length === 0) {
+		$("#wrapOrderChange").addClass("off");
+	}
+	
+	if (orderRefundInfo == null || orderRefundInfo.length === 0) {
+		$("#wrapRefund").addClass("off");
+	}
+	
+	// 5. 버튼처리
+	// G013_00	주문접수
+	// G013_10	입금대기
+	// G013_18	발주대기-가격차이
+	// G013_19	발주대기-우편번호상이
+	// G013_20	결제완료
+	// G013_30	상품준비중
+	// G013_40	배송준비중
+	// G013_50	배송중
+	// G013_55	출고완료
+	// G013_60	배송완료
+	// G013_98	결제전주문취소
+	// G013_99	결제후주문취소
+	
+	// G685_10	결제전취소
+	// G685_20	취소요청
+	// G685_21	취소완료
+	// G685_30	교환요청
+	// G685_31	교환요청취소
+	// G685_32	교환완료
+	// G685_40	반품요청
+	// G685_41	반품요청취소
+	// G685_42	반품완료
+
+	var addrBtnChkCnt = 0;
+	gridOptionsGoodsInfo.api.forEachNode(function (rowNode, index) {
+		
+		// 입금대기, 결제완료, 상품준비중, 배송준비중 일때 취소가능
+		if (rowNode.data.ordDtlStat == 'G013_10' || rowNode.data.ordDtlStat == 'G013_20' || rowNode.data.ordDtlStat == 'G013_30' || rowNode.data.ordDtlStat == 'G013_40') {
+			$("#btnCancel").removeClass("off");	//취소요청
+		}
+		
+		// 배송중, 출고완료, 배송완료 일때 반품, 교환 가능
+		if ((rowNode.data.ordDtlStat == 'G013_50' || rowNode.data.ordDtlStat == 'G013_55' || rowNode.data.ordDtlStat == 'G013_60') && rowNode.data.ordQty > rowNode.data.ordReqChgQty) {
+			$("#btnReturn, #btnExchange").removeClass("off");
+		}
+		
+		// 입금대기, 결제완료, 상품준비중, 배송준비중 일때 취소가능
+		if (rowNode.data.ordDtlStat == 'G013_10' || rowNode.data.ordDtlStat == 'G013_20' || rowNode.data.ordDtlStat == 'G013_30' || rowNode.data.ordDtlStat == 'G013_40') {
+			addrBtnChkCnt++;
+		}
+	});
+
+	// 주소변경 버튼 히든처리
+	if (addrBtnChkCnt > 0) {
+		$("#btnUpdateOrderAddr").removeClass("off");
+	}
+});
+
+$(document).ready(function () {
+	$('#orderDetailContents').css("width", "97%").css("height", "96%");
+	
+	// 취소요청
+	$('#btnCancel').on('click', function () {
+		fnCancelRequest(ordNo, 'N');
+	});
+	// 반품요청
+	$('#btnReturn').on('click', function () {
+		fnReturnRequest(ordNo, 'N');
+	});
+	// 교환요청
+	$('#btnExchange').on('click', function () {
+		fnExchangeRequest(ordNo, 'N');
+	});
+	// 메모등록
+	$('#btnCreateOrderMemo').on('click', function () {
+		fnCreateOrderMemo(ordNo, 0, 'N');
+	});
+	// 배송 정보 수정
+	$('#btnUpdateOrderAddr').on('click', function () {
+		fnUpdateOrderAddr();
+	});
+	// 환불계좌 등록
+	$('#btnSaveAccount').on('click', function () {
+		fnCreateOrderRfAccount(ordNo, custNo);
+	});
+});
+</script>
+
+<!-- function -->
+<script>
+var gridOrderChangeInfoSelectedIdx = '';
+
+// 배송지변경
+var fnUpdateOrderAddr = function (rowIdx) {	
+	gridOptionsDeliveryInfo.api.stopEditing();
+	var jsonData = JSON.stringify(gridOptionsDeliveryInfo.api.getRowNode(rowIdx).data);
+	
+	mcxDialog.confirm("주소를 변경하시겠습니까?", {
+		cancelBtnText	: "취소",
+		sureBtnText		: "확인",
+		sureBtnClick	: function () {
+			gagajf.ajaxJsonSubmit(
+				"/order/deliver/addr/update"
+				, jsonData
+				, function () {
+					
+				}
+			);
+		}
+	});
+}
+
+// 취소요청
+var fnCancelRequest = function () {
+	var actionUrl = "/orderChange/cancel/request/form?ordNo=" + ordNo;
+	cfnOpenModalPopup(actionUrl, 'popupCancelRequestForm');
+};
+
+// 반품요청
+var fnReturnRequest = function () {
+	var actionUrl = "/orderChange/return/request/form?ordNo=" + ordNo;
+	cfnOpenModalPopup(actionUrl, 'popupReturnRequestForm');
+};
+
+// 교환요청
+var fnExchangeRequest = function () {
+	var actionUrl = "/orderChange/exchange/request/form?ordNo=" + ordNo;
+	cfnOpenModalPopup(actionUrl, 'popupExchangeRequestForm');
+};
+
+// 취소승인
+var fnCancelConfirmRequest = function (ordChgSq) {
+	mcxDialog.confirm("요청번호 [" + ordChgSq + "] 에 대한 취소승인 처리를 하시겠습니까?", {
+		cancelBtnText	: "취소",
+		sureBtnText		: "확인",
+		sureBtnClick	: function () {
+			var data = new Object();
+			data.ordNo 		= ordNo;	//전역변수
+			data.ordChgSq 	= ordChgSq;
+
+			var jsonData = JSON.stringify(data);
+			gagajf.ajaxJsonSubmit(
+				'/orderChange/cancel/confirm'
+				, jsonData
+				, function (result) {
+					uifnPopupClose('popupOrderDetail');
+					fnReOpenOrderDetailPopup();
+				}
+			);
+		}
+	});
+};
+
+// 취소요청철회
+var fnCancelConfirmRequestCancel = function (ordChgSq) {
+	mcxDialog.confirm("요청번호 [" + ordChgSq + "] 에 대한 요청철회 처리를 하시겠습니까?", {
+		cancelBtnText	: "취소",
+		sureBtnText		: "확인",
+		sureBtnClick	: function () {
+			var data = new Object();
+			data.ordChgSq = ordChgSq;
+			
+			var jsonData = JSON.stringify(data);
+			gagajf.ajaxJsonSubmit(
+				'/orderChange/cancel/wait/cancel'
+				, jsonData
+				, function (result) {
+					uifnPopupClose('popupOrderDetail');
+					fnReOpenOrderDetailPopup();
+			});
+		}
+	});
+}
+
+// 주문상품 상세 변경 이력 팝업
+var fnOrderDetailChangeHst = function (ordDtlNo) {
+	var actionUrl = "/order/detail/change/hst/form/" + ordDtlNo;
+	cfnOpenModalPopup(actionUrl, 'popupOrderDetailChangeHstForm');
+};
+
+// 쿠폰내역 팝업
+var fnOrderCouponHst = function (ordNo) {
+	var actionUrl = "/order/detail/coupon/hst/form/" + ordNo;
+	cfnOpenModalPopup(actionUrl, 'popupOrderDetailCouponHstForm');
+};
+
+// 다다익선내역 팝업
+var fnOrderTmtbHst = function (ordNo) {
+	var actionUrl = "/order/detail/tmtb/hst/form/" + ordNo;
+	cfnOpenModalPopup(actionUrl, 'popupOrderDetailTmtbHstForm');
+};
+
+// 포인트내역 팝업
+var fnOrderPointHst = function (ordNo) {
+	var actionUrl = "/order/detail/point/hst/form/" + ordNo;
+	cfnOpenModalPopup(actionUrl, 'popupOrderDetailPointHstForm');
+};
+
+// 상품권내역 팝업
+var fnOrderGiftcardHst = function (ordNo) {
+	var actionUrl = "/order/detail/giftcard/hst/form/" + ordNo;
+	cfnOpenModalPopup(actionUrl, 'popupOrderDetailGiftcardHstForm');
+};
+
+// 관리자메모 등록
+var fnCreateOrderMemo = function (ordNo, seq, mode) {
+	var actionUrl = "/order/memo/create/form?ordNo=" + ordNo + "&seq=" + seq + "&mode=" + mode;
+	cfnOpenModalPopup(actionUrl, 'popupCreateOrderMemo');
+};
+
+// 환불계좌 등록
+var fnCreateOrderRfAccount = function (ordNo, custNo) {
+	var actionUrl = "/order/refund/account/create/form?ordNo=" + ordNo + "&custNo="+custNo;
+	cfnOpenModalPopup(actionUrl, 'popupCreateRefundAccount');
+};
+
+// 주문메모 삭제
+var fnDeleteOrderMemo = function (ordNo, orderMemoSq) {
+	mcxDialog.confirm('삭제하시겠습니까?', {
+		cancelBtnText	: "취소",
+		sureBtnText		: "확인",
+		sureBtnClick	: function () {
+			var data = new Object();
+			data.ordNo 	= ordNo;
+			data.seq 	= orderMemoSq;
+			
+			var jsonData = JSON.stringify(data);
+			gagajf.ajaxJsonSubmit(
+				'/order/memo/delete'
+				, jsonData
+				, function () {
+					fnBindOrderMemo();
+				}
+			);
+		}
+	});
+}
+
+// 주문메모 바인딩
+var fnBindOrderMemo = function() {
+	gagaAgGrid.fetch(
+		"/order/admin/memo/list/" + ordNo
+		, gridOptionsOrderMemoInfo
+		, null
+		, function (result) {
+		}
+	);
+};
+
+// 주문 변경요청정보 바인딩
+var fnBindOrderChangeInfo = function() {
+	gagaAgGrid.fetch(
+		"/order/return/info/list/" + ordNo
+		, gridOptionsOrderChangeInfo
+		, null
+		, function (result) {
+			$('#gridOrderChangeInfo').css('height', 31 + 33 * ((result.length == 0 || result == null) ? 1 : result.length));
+		}
+	);
+};
+
+// 환불계좌 정보
+var fnBindOrderRfAccountInfo = function () {
+	gagaAgGrid.fetch(
+		"/order/refund/account/info/list?ordNo=" + ordNo+"&custNo="+custNo
+		, gridOptionsRefundAccountInfo
+		, null
+		, function (result) {
+			$('#gridOptionsRefundAccountInfo').css('height', 31 + 33 * ((result.length == 0 || result == null) ? 1 : result.length));
+		}
+	);
+};
+
+// 배송비 DATA 바인딩
+var fnBindDeliveryAddr = function(delvAddrSq) {
+	if (typeof (delvAddrSq) != 'undefined') {
+		var strLink = '/order/deliver/addr/info/' + delvAddrSq;
+		var jsonData = JSON.stringify([]);
+		gagajf.ajaxJsonSubmit(strLink, jsonData, fnBindDeliveryAddrCallBack);
+	}
+};
+
+// 배송정보
+var fnBindDeliveryAddrCallBack = function(result) {
+	gridOptionsDeliveryInfo.api.setRowData(result);
+};
+
+// 변경요청 > 회수지정보 저장
+var fnSaveChgerAddr = function (rowIdx) {
+	gridOptionsOrderChangeInfo.api.stopEditing();
+	
+	var jsonData = JSON.stringify(gridOptionsOrderChangeInfo.api.getRowNode(rowIdx).data);
+	
+	mcxDialog.confirm("주소를 변경하시겠습니까?", {
+		cancelBtnText	: "취소",
+		sureBtnText		: "확인",
+		sureBtnClick	: function () {
+			gagajf.ajaxJsonSubmit(
+				"/order/change/info/addr/update"
+				, jsonData
+				, function () {
+					
+				}
+			);
+		}
+	});
+}
+
+// 반품요청 철회
+var fnReturnReqeustCancel = function (ordChgSq, ordDtlNo, rowIdx) {
+	mcxDialog.confirm('반품요청을 철회하시겠습니까?', {
+		cancelBtnText	: "취소",
+		sureBtnText		: "확인",
+		sureBtnClick	: function () {
+			var data = new Object();
+			data.ordChgSq = ordChgSq;
+			data.ordDtlNo = ordDtlNo;
+			
+			var jsonData = JSON.stringify(data);
+			gagajf.ajaxJsonSubmit(
+				'/order/return/request/cancel'
+				, jsonData
+				, function (result) {
+					if (result.message != '회수컨펌 된 내역이 있습니다.') {
+						var selectedRow = gridOptionsOrderChangeInfo.api.getRowNode(rowIdx).data;
+						gridOptionsOrderChangeInfo.api.updateRowData({remove: [selectedRow]});
+					}
+				}
+			);
+		}
+	});
+};
+
+// 교환요청 철회
+var fnExchangeReqeustCancel = function (ordChgSq, ordNo, ordDtlNo, rowIdx) {
+	mcxDialog.confirm('교환요청을 취소하시겠습니까?', {
+		cancelBtnText	: "취소",
+		sureBtnText		: "확인",
+		sureBtnClick	: function () {
+			var data = new Object();
+			data.ordNo 		= ordNo;
+			data.ordDtlNo 	= ordDtlNo;
+			data.ordChgSq 	= ordChgSq;
+			
+			var jsonData = JSON.stringify(data);
+			gagajf.ajaxJsonSubmit(
+				'/order/exchange/request/cancel'
+				, jsonData, function () {
+					uifnPopupClose('popupOrderDetail');
+					fnReOpenOrderDetailPopup();
+				}
+			);
+		}
+	});
+};
+
+// LMS 전송
+var fnOpenLmsForm = function (orderPhnno, custNo) {
+	if (gagajf.isNull(custNo) && gagajf.isNull(orderPhnno)) {
+		mcxDialog.alert("정보가 올바르지 않습니다.");
+		return false;
+	}
+
+	$('#orderDetailInfo input[name=orderPhnno]').val(orderPhnno);
+	$('#orderDetailInfo input[name=custNo]').val(custNo);
+
+	var param = {};
+	param.elementCellPhnno = '#orderDetailInfo input[name=orderPhnno]';
+	param.elementCustNo = '#orderDetailInfo input[name=custNo]';
+	cfnOpenLmsPopup(param);
+};
+
+// EMAIL 전송
+var fnOpenEmailForm = function (orderEmail, orderNm, custNo) {
+	if (gagajf.isNull(orderEmail) && gagajf.isNull(orderNm) && gagajf.isNull(custNo)) {
+		mcxDialog.alert("정보가 올바르지 않습니다.");
+		return false;
+	}
+	$('#orderDetailInfo input[name=orderEmail]').val(orderEmail);
+	$('#orderDetailInfo input[name=orderNm]').val(orderNm);
+	$('#orderDetailInfo input[name=custNo]').val(custNo);
+
+	var param = {};
+	param.elementRecipEmail = '#orderDetailInfo input[name=orderEmail]';
+	param.elementCustNm = '#orderDetailInfo input[name=orderNm]';
+	param.elementCustNo = '#orderDetailInfo input[name=custNo]';
+
+	cfnOpenEmailPopup(param);
+};
+
+// 송장조회
+var fnSearchDelivery = function (url, invoiceNo) {
+	var fullUrl = url + invoiceNo;
+	window.open(fullUrl, '_blank');
+};
+
+// 카드전표 영수증 조회
+var fnReceiptPage = function (tid) {
+	var fullUrl = "https://npg.nicepay.co.kr/issue/IssueLoader.do?TID=" + tid + "&type=0";
+	window.open(fullUrl, '_blank');
+};
+
+// 수동 회수 지시 
+var fnWdinvocieSend = function (ordChgSq) {
+	mcxDialog.confirm("요청번호 [" + ordChgSq + "] 회수지시 처리 하시겠습니까? <br> 시스템에서 회수지시를 보내지는않습니다.", {
+		cancelBtnText	: "취소",
+		sureBtnText		: "확인",
+		sureBtnClick	: function () {
+			var data = new Object();
+			data.ordChgSq = ordChgSq;
+			
+			var jsonData = JSON.stringify(data);
+			gagajf.ajaxJsonSubmit(
+				'/order/wdinvoice/send/save'
+				, jsonData
+				, function (result) {
+					uifnPopupClose('popupOrderDetail');
+					fnReOpenOrderDetailPopup();
+				}
+			);
+		}
+	});
+};
+
+// 구매확정철회
+var fnChangedCompleteDelivery = function (ordNo, ordDtlNo, ordDtlStat) {
+	if ('70' !== ordDtlStat) {
+		mcxDialog.alert("구매확정철회는 구매확정인 상태여만 가능합니다.");
+		return false;
+	}
+	
+	var data = {};
+	data.ordDtlNo = ordDtlNo;
+	data.ordNo = ordNo;
+	var jsonData = JSON.stringify(data);
+	
+	gagajf.ajaxJsonSubmit('/order/check/status', jsonData, fnChangedCompleteDeliveryCallback);
+};
+
+var fnChangedCompleteDeliveryCallback = function (result) {
+	// 구매확정 처리 가능 하지 않으면 얼럿 노출 끝
+	if (!result.isPossible) {
+		mcxDialog.alert("구매확정철회는 구매확정인 상태여만 가능합니다.");
+		return false;
+	} else {
+		mcxDialog.confirm("구매확정 철회 하시겠습니까? <br> 지급된 포인트에 대한 처리는 별도로 하셔야 합니다. ", {
+			cancelBtnText	: "취소",
+			sureBtnText		: "확인",
+			sureBtnClick	: function () {
+				var data = {};
+				data.ordDtlNo = result.ordDtlNo;
+				data.ordNo = result.ordNo;
+				
+				var jsonData = JSON.stringify(data);
+				gagajf.ajaxJsonSubmit(
+					'/order/complete/delivery/changed'
+					, jsonData
+					, function (result) {
+						uifnPopupClose('popupOrderDetail');
+						fnReOpenOrderDetailPopup();
+					}
+				);
+			}
+		});
+	}
+};
+
+// 주문상세 상태값 변경
+var fnChangOrdDtlStat = function (obj) {
+	var ordNo 			= $(obj).attr("ordNo");
+	var ordDtlNo 		= $(obj).attr("ordDtlNo");
+	var ordDtlStat 		= $(obj).val();
+	var ordDtlStatNm 	= $(obj).children("option:selected").text();
+	var strConfirm		= "주문상태를 " + ordDtlStatNm + "(으)로 변경 하시겠습니까?"
+	
+	mcxDialog.confirm(strConfirm, {
+		cancelBtnText	: "취소",
+		sureBtnText		: "확인",
+		sureBtnClick	: function () {
+			var data = new Object();
+			data.ordNo			= ordNo;
+			data.ordDtlNo 		= ordDtlNo;
+			data.ordDtlStat 	= ordDtlStat;
+
+			var jsonData = JSON.stringify(data);
+			gagajf.ajaxJsonSubmit(
+				'/order/detail/ordDtlStat/changed'
+				, jsonData
+				, function (result) {
+					uifnPopupClose('popupOrderDetail');
+					fnReOpenOrderDetailPopup();
+				}
+			);
+		}
+	});
+};
+
+// DAUM을 이용한 우편번호 팝업 레이어
+var fnOpenDaumAddr = function(idx, addrGb) {
+		
+	let daumZip = new daum.Postcode({
+		oncomplete: function(data) {
+			// 배송지주소 수정
+			if ("ADDR" == addrGb) {
+				gridOptionsDeliveryInfo.api.gre
+				gridOptionsDeliveryInfo.api.getRowNode(idx).data.recipZipNo 		= data.zonecode;
+				gridOptionsDeliveryInfo.api.getRowNode(idx).data.recipBaseAddr 		= cfnGetDaumRoadAddr(data);
+				gridOptionsDeliveryInfo.api.getRowNode(idx).data.recipDtlAddr 		= "";
+				gridOptionsDeliveryInfo.api.refreshCells();
+			}
+			// 회수지주소 수정
+			else {
+				gridOptionsOrderChangeInfo.api.getRowNode(idx).data.chgerZipNo 		= data.zonecode;
+				gridOptionsOrderChangeInfo.api.getRowNode(idx).data.chgerBaseAddr 	= cfnGetDaumRoadAddr(data);
+				gridOptionsOrderChangeInfo.api.getRowNode(idx).data.chgerDtlAddr 	= "";
+				gridOptionsOrderChangeInfo.api.refreshCells();
+			}
+			
+			cfnCloseDaumAddr();
+		},
+		width: '100%'
+	});
+	
+	cfnOpenDaumAddr(daumZip);
+}
+</script>
+
+</html>
+
+
+
+
+