소스 검색

쿠폰조회 팝업 추가

gagamel 5 년 전
부모
커밋
ed347ad327
2개의 변경된 파일214개의 추가작업 그리고 3개의 파일을 삭제
  1. 211 0
      style24.admin/src/main/webapp/WEB-INF/views/marketing/CouponRetrieveForm.html
  2. 3 3
      style24.admin/src/main/webapp/ux/js/admin.popup.js

+ 211 - 0
style24.admin/src/main/webapp/WEB-INF/views/marketing/CouponRetrieveForm.html

@@ -0,0 +1,211 @@
+<!DOCTYPE html>
+<html lang="ko"
+	xmlns:th="http://www.thymeleaf.org">
+<!--
+ *******************************************************************************
+ * @source  : CouponRetrieveForm.html
+ * @desc    : 쿠폰조회 팝업 Page
+ *============================================================================
+ * STYLE24
+ * Copyright(C) 2020 TSIT, All rights reserved.
+ *============================================================================
+ * VER  DATE         AUTHOR      DESCRIPTION
+ * ===  ===========  ==========  =============================================
+ * 1.0  2021.01.08   gagamel     최초 작성
+ *******************************************************************************
+ -->
+<div class="modalPopup" data-width="1200" id="popupCoupon">
+	<div class="panelStyle">
+		<!-- TITLE -->
+		<div class="panelTitle">
+			<strong>쿠폰 조회</strong>
+			<button type="button" class="close" onclick="uifnPopupClose('popupCoupon');"><em class="fa fa-times"></em></button>
+		</div>
+		<!-- //TITLE -->
+		
+		<!-- CONTENT -->
+		<div class="panelContent">
+			<form id="searchCouponForm" name="searchCouponForm" action="#" th:action="@{'/marketing/coupon/retrieve/list'}" th:method="post">
+				<table class="frmStyle" aria-describedby="검색조건">
+					<colgroup>
+						<col style="width:10%;"/>
+						<col style="width:40%;"/>
+						<col style="width:10%;"/>
+						<col style="width:40%;"/>
+					</colgroup>
+					<tbody>
+						<tr>
+							<th>사이트<em class="required" title="필수"></em></th>
+							<td>
+								<select name="siteCd" required="required">
+									<option th:if="${siteList}" th:each="oneData, status : ${siteList}" th:value="${oneData.cd}" th:text="|[${oneData.cd}] ${oneData.cdNm}|"></option>
+								</select>
+								<input type="text" name="faqSq" maxlength="20" placeholder="자동생성" readonly="readonly"/>
+							</td>
+							<th>쿠폰유형</th>
+							<td>
+								<select name="cpnType">
+									<option th:if="${cpnTypeList}" th:each="oneData, status : ${cpnTypeList}" th:value="${oneData.cd}" th:text="|[${oneData.cd}] ${oneData.cdNm}|"></option>
+								</select>
+							</td>
+						</tr>
+						<tr>
+							<th>쿠폰ID</th>
+							<td>
+								<input type="text" name="cpnId" maxlength="20"/>
+							</td>
+							<th>쿠폰명</th>
+							<td>
+								<input type="text" name="cpnNm" maxlength="50" th:value="${cpnNm}"/>
+							</td>
+						</tr>
+					</tbody>
+				</table>
+				
+				<ul class="panelBar">
+					<li class="center">
+						<button type="button" class="btn btn-base btn-lg" id="btnSearchCouponRetrieve">조회</button>
+					</li>
+				</ul>
+			</form>
+		</div>
+		<!-- //CONTENT -->
+
+		<!-- 리스트 영역 -->
+		<div class="panelContent">
+			<div id="gridCouponList" style="width: 100%; height: 470px" class="ag-theme-balham"></div>
+		</div>
+		<!-- //리스트 영역 -->
+		
+		<!-- 버튼 배치 영역 -->
+		<ul class="panelBar">
+			<li class="right">
+				<button type="button" class="btn btn-info btn-lg" id="btnConfirmCoupon">확인</button>
+			</li>
+		</ul>
+		<!-- //버튼 배치 영역 -->
+	</div>
+</div>
+
+<script th:inline="javascript">
+/*<![CDATA[*/
+	let returnCode = [[${returnCode}]];
+	let returnName = [[${returnName}]];
+
+	let siteList = cfnConvertToArray([[${siteList}]]);
+	let usableCustGbList = cfnConvertToArray([[${usableCustGbList}]]);
+	let cpnTypeList = cfnConvertToArray([[${cpnTypeList}]]);
+	let dcWayList = cfnConvertToArray([[${dcWayList}]]);
+	
+	let columnDefsCouponList = [
+		{width: 40, minWidth: 40, cellClass: 'text-center', headerCheckboxSelection: true, checkboxSelection: true, filter: false},
+		{
+			headerName: "사이트", field: "siteCd", width: 80, cellClass: "text-center", pinned: 'left',
+			valueFormatter: function (params) { return gagaAgGrid.lookupValue(siteList, params.value); }
+		},
+		{headerName: "쿠폰ID", field: "cpnId", width: 90, cellClass: 'text-center', pinned: 'left'},
+		{headerName: "쿠폰명", field: "cpnNm", width: 150, pinned: 'left'},
+		{
+			headerName: "사용가능고객", field: "usableCustGb", width: 120, cellClass: "text-center",
+			valueFormatter: function (params) { return gagaAgGrid.lookupValue(usableCustGbList, params.value); }
+		},
+		{
+			headerName: "쿠폰유형", field: "cpnType", width: 100, cellClass: "text-center",
+			valueFormatter: function (params) { return gagaAgGrid.lookupValue(cpnTypeList, params.value); }
+		},
+		{
+			headerName: "할인방식", field: "dcWay", width: 100, cellClass: "text-center",
+			valueFormatter: function (params) { return gagaAgGrid.lookupValue(dcWayList, params.value); }
+		},
+		{
+			headerName: "할인값(PC)", field: "dcPval", width: 100, cellClass: "text-center",
+			cellRenderer: function(params) { return (!gagajf.isNull(params.value) ? gagaAgGrid.toAddComma(params.value) : '') + (params.data.dcWay == '10' ? '원' : '%'); }
+		},
+		{
+			headerName: "할인값(모바일)", field: "dcMval", width: 100, cellClass: "text-center",
+			cellRenderer: function(params) { return (!gagajf.isNull(params.value) ? gagaAgGrid.toAddComma(params.value) : '') + (params.data.dcWay == '10' ? '원' : '%'); }
+		},
+		{
+			headerName: "최고할인값", field: "maxDcAmt", width: 100, cellClass: "text-center",
+			cellRenderer: function(params) { return (!gagajf.isNull(params.value) ? gagaAgGrid.toAddComma(params.value) : '') + (params.data.dcWay == '10' ? '원' : '%'); }
+		},
+// 		{
+// 			headerName: "기간/일수", field: "pdGb", width: 100, cellClass: "text-center", hide: true,
+// 			cellRenderer: function(params) { return (params.value == 'P' ? '기간' : '일수'); }
+// 		},
+// 		{
+// 			headerName: "유효시작일시", field: "availStdt", width: 150, cellClass: "text-center", hide: true,
+// 			cellRenderer: function(params) { return !gagajf.isNull(params.value) ? gagaAgGrid.toDateTimeFormat(params.value) : ''; }
+// 		},
+// 		{
+// 			headerName: "유효종료일시", field: "availEddt", width: 150, cellClass: "text-center", hide: true,
+// 			cellRenderer: function(params) { return !gagajf.isNull(params.value) ? gagaAgGrid.toDateTimeFormat(params.value) : ''; }
+// 		},
+// 		{headerName: "유효일수", field: "availDays", width: 100, cellClass: "text-center", hide: true},
+		{
+			headerName: "유효기간", field: "availPeriod", width: 300, cellClass: "text-center",
+			cellRenderer: function(params) { return params.data.pdGb == 'P' ? gagaAgGrid.toDateTimeFormat(params.data.availStdt) + '~' + gagaAgGrid.toDateTimeFormat(params.data.availStdt) : gagaAgGrid.toAddComma(params.data.availDays) + '일'; }
+		},
+		{headerName: "발행제한여부", field: "pubLimitYn", width: 100, cellClass: "text-center"},
+		{
+			headerName: "고객당발행제한수량", field: "custPubLimitQty", width: 100, cellClass: "text-center",
+			cellRenderer: function(params) { return !gagajf.isNull(params.value) ? gagaAgGrid.toAddComma(params.value) : ''; }
+		},
+		{
+			headerName: "총발행제한수량", field: "totPubLimitQty", width: 100, cellClass: "text-center",
+			cellRenderer: function(params) { return !gagajf.isNull(params.value) ? gagaAgGrid.toAddComma(params.value) : ''; }
+		},
+		{
+			headerName: "1회발행수량", field: "onePubQty", width: 100, cellClass: "text-center",
+			cellRenderer: function(params) { return !gagajf.isNull(params.value) ? gagaAgGrid.toAddComma(params.value) : ''; }
+		},
+		{headerName: "다운로드구분", field: "dnGb", width: 100, cellClass: "text-center"},
+		{
+			headerName: "구매제한금액", field: "buyLimitAmt", width: 100, cellClass: "text-right",
+			cellRenderer: function(params) { return !gagajf.isNull(params.value) ? gagaAgGrid.toAddComma(params.value) : ''; }
+		}
+	];
+
+	let gridOptionsCouponList = gagaAgGrid.getGridOptions(columnDefsCouponList);
+
+	// Row double click
+	gridOptionsCouponList.onRowDoubleClicked = function(event) {
+		$('#btnConfirmCoupon').trigger('click');
+	}
+
+	// 조회
+	$('#btnSearchCouponRetrieve').on('click', function() {
+		// Fetch data
+		gagaAgGrid.fetch($('#searchCouponForm').prop('action'), gridOptionsCouponList, '#searchCouponForm');
+	});
+	
+	// 부모창에 값을 설정
+	let fnSetCouponValueToOpener = function(rowData) {
+		$(returnCode).val(rowData.cpnId);
+		$(returnName).val(rowData.cpnNm);
+
+		uifnPopupClose('popupCoupon');
+	}
+	
+	// 확인
+	$('#btnConfirmCoupon').on('click', function() {
+		var selectedData = gagaAgGrid.selectedRowData(gridOptionsCouponList);
+		
+		if (selectedData.length == 0) {
+			mcxDialog.alert('선택된 쿠폰이 없습니다.');
+			return false;
+		}
+		
+		fnSetCouponValueToOpener(selectedData[0]);
+	});
+	
+	$(document).ready(function() {
+		// Create a agGrid
+		gagaAgGrid.createGrid('gridCouponList', gridOptionsCouponList);
+		
+		$('#btnSearchCouponRetrieve').trigger('click');
+	});
+/*]]>*/
+</script>
+
+</html>

+ 3 - 3
style24.admin/src/main/webapp/ux/js/admin.popup.js

@@ -537,10 +537,10 @@ var cfnPopPos =function(delvLocCd){
  * @desc   : 쿠폰조회 팝업
  * <pre>
  *     var oParam = new Object();
- *     oParam.returnCode = 'input[name=sellStoreCd]'; // 반환할코드
- *     oParam.returnName = 'input[name=sellStoreNm]'; // 반환할코드명칭
+ *     oParam.returnCode = 'input[name=cpnId]'; // 반환할코드
+ *     oParam.returnName = 'input[name=cpnNm]'; // 반환할코드명칭
  *     oParam.processType = 'DELV'; // 콜백함수처리유형
- *     cfnOpenCouponRetrievePopup($('input[name=sellStoreNm]').val(), oParam);
+ *     cfnOpenCouponRetrievePopup($('input[name=cpnNm]').val(), oParam);
  * </pre>
  * @param sName - 명칭. 필수
  * @param oParam - 파라미터 오브젝트. 필수