|
|
@@ -23,13 +23,9 @@
|
|
|
|
|
|
<form id="freeGoodsPromotionForm" name="freeGoodsPromotionForm" th:method="post" >
|
|
|
<input type="hidden" name="gbn" th:value="${param.gbn}" /> <!-- 신규/수정 구분 -->
|
|
|
+ <input type="hidden" id="freegiftSq" name="freegiftSq" th:value="${param.freegiftSq}"/> <!-- 사은품 프로모션 번호 -->
|
|
|
<input type="hidden" id="supplyCompCds" name="supplyCompCds"/> <!-- 공급업체 리스트 -->
|
|
|
<input type="hidden" id="brandCds" name="brandCds"/> <!-- 브랜드 리스트 -->
|
|
|
- <input type="hidden" id="applyGoodsCds" name="applyGoodsCds"/> <!-- 적용상품 리스트 -->
|
|
|
- <input type="hidden" id="exceptGoodsCds" name="exceptGoodsCds"/> <!-- 제외상품 리스트 -->
|
|
|
- <input type="hidden" id="freeGoods1Cds" name="freeGoods1Cds"/> <!-- 적용 사은품1 리스트 -->
|
|
|
- <input type="hidden" id="freeGoods2Cds" name="freeGoods2Cds"/> <!-- 적용 사은품2 리스트 -->
|
|
|
- <input type="hidden" id="extmallIds" name="extmallIds" value=""/> <!-- 적용 사은품2 리스트 -->
|
|
|
|
|
|
<div class="panelContent">
|
|
|
<table class="frmStyle">
|
|
|
@@ -71,6 +67,7 @@
|
|
|
<label class="chkBox"><input type="checkbox" id="selfYn" name="selfYn" value="Y"/>자사몰</label>
|
|
|
<label class="chkBox" id="G011_20"><input type="checkbox" id="extmallYn" name="extmallYn" value="Y"/>제휴몰</label>
|
|
|
<button type="button" class="btn btnRight btn-success btn-lg" id="btnExtmallPopup">선택</button><span id="extmallCntArea"> 선택 : <span id="extmallCnt">00</span>개</span>
|
|
|
+ <div id="gridFGExtmallList" style="display:none;"></div>
|
|
|
</td>
|
|
|
</tr>
|
|
|
</table>
|
|
|
@@ -201,7 +198,7 @@
|
|
|
<div><i class="fa fa-info-circle"></i> 사은품은 최대 <font color="red">5</font>개까지 설정하실 수 있습니다.</div>
|
|
|
<div><i class="fa fa-info-circle"></i> 구매 금액 조건을 추가하시면 구매 금액 충족 조건에 맞는 것으로 지급됩니다. 구매금액 조건은 최대 2개까지만등록 하실 수 있습니다.</div>
|
|
|
<div><i class="fa fa-info-circle"></i> 장바구니에 담았을 때의 가격 기준으로 적용됩니다.(주문상품쿠폰(다운로드쿠폰)/장바구니 쿠폰 할인 적용 전 판매가)</div>
|
|
|
- <label for="saleAmt">구매금액</label><input type="text" class="w300" id="saleAmt" name="sectionVal"/> <br/>
|
|
|
+ <label for="saleAmt">구매금액</label><input type="text" class="w300" id="saleAmt" name="sectionVal" data-valid-type="numeric"/> <br/>
|
|
|
<span>사은품 목록</span>
|
|
|
<button type="button" class="btn btnRight btn-success btn-lg" id="btnAddFreeGoods1">+ 사은품 선택</button>
|
|
|
<button type="button" class="btn btnRight btn-success btn-lg" id="btnDeleteFreeGoods1">선택삭제</button>
|
|
|
@@ -214,7 +211,7 @@
|
|
|
<th>사은품 조건2<br/>(최대 2개)</th>
|
|
|
<td>
|
|
|
<div>
|
|
|
- <label for="saleAmt2">구매금액</label><input type="text" class="w300" id="saleAmt2" name="sectionVal2"/> <br/>
|
|
|
+ <label for="saleAmt2">구매금액</label><input type="text" class="w300" id="saleAmt2" name="sectionVal2" data-valid-type="numeric"/> <br/>
|
|
|
<span>사은품 목록</span>
|
|
|
<button type="button" class="btn btnRight btn-success btn-lg" id="btnAddFreeGoods2">+ 사은품 선택</button>
|
|
|
<button type="button" class="btn btnRight btn-success btn-lg" id="btnDeleteFreeGoods2">선택삭제</button>
|
|
|
@@ -271,6 +268,12 @@
|
|
|
<script th:inline="javascript">
|
|
|
let formId = "freeGoodsPromotionForm";
|
|
|
let FGAddGoodsStatList = gagajf.convertToArray([[${goodsStatList}]]); // 상품 상태 리스트
|
|
|
+ // 제휴몰 리스트 설정 (데이터 송부용 리스트 > 리스트 노출X)
|
|
|
+ let columnFGExtmallList = [
|
|
|
+ {headerName: "벤더ID", field: "vendorId", width: 120, cellClass: 'text-center'},
|
|
|
+ {headerName: "브랜드ID", field: "extmallId", width: 150, cellClass: 'text-center'},
|
|
|
+ {headerName: "브랜드명", field: "extmallNm", width: 150, cellClass: 'text-center'}
|
|
|
+ ];
|
|
|
// 공급업체 리스트 설정
|
|
|
let columnFGCompanyList = [
|
|
|
{width: 40, minWidth: 40, cellClass: 'text-center', headerCheckboxSelection: true, checkboxSelection: true, filter: false},
|
|
|
@@ -425,6 +428,8 @@
|
|
|
}
|
|
|
}
|
|
|
];
|
|
|
+ // 제휴몰 리스트 설정
|
|
|
+ let gridOptionsFGExtmallList = gagaAgGrid.getGridOptions(columnFGExtmallList);
|
|
|
// 공급업체 리스트 설정
|
|
|
let gridOptionsFGCompanyList = gagaAgGrid.getGridOptions(columnFGCompanyList);
|
|
|
gridOptionsFGCompanyList.rowSelection = "multiple";
|
|
|
@@ -445,6 +450,7 @@
|
|
|
gridOptionsFreeGoods2List.rowSelection = "multiple";
|
|
|
|
|
|
$(document).ready(function() {
|
|
|
+ gagaAgGrid.createGrid("gridFGExtmallList", gridOptionsFGExtmallList);
|
|
|
gagaAgGrid.createGrid("gridFGPromotionCompanyList", gridOptionsFGCompanyList);
|
|
|
gagaAgGrid.createGrid("gridFGBrandList", gridOptionsFGBrandList);
|
|
|
gagaAgGrid.createGrid("gridFGApplyGoodsList", gridOptionsFGApplyGoodsList);
|
|
|
@@ -530,9 +536,15 @@
|
|
|
}
|
|
|
}
|
|
|
|
|
|
+ // 저장 후 콜백 함수
|
|
|
+ var fnFreeGoodsPromotionSaveFin = function(result) {
|
|
|
+
|
|
|
+ }
|
|
|
+
|
|
|
// 저장 버튼 클릭시
|
|
|
$('#btnFreegoodsPromotionSave').on('click', function() {
|
|
|
// 각 ag-grid list 수량
|
|
|
+ let extmallCnt = gagaAgGrid.getAllRowData(gridOptionsFGExtmallList).length;
|
|
|
let supplyCompCnt = gagaAgGrid.getAllRowData(gridOptionsFGCompanyList).length;
|
|
|
let brandCnt = gagaAgGrid.getAllRowData(gridOptionsFGBrandList).length;
|
|
|
let applyGoodsCnt = gagaAgGrid.getAllRowData(gridOptionsFGApplyGoodsList).length;
|
|
|
@@ -571,7 +583,7 @@
|
|
|
return false;
|
|
|
}
|
|
|
|
|
|
- if($("#freeGoodsPromotionForm #saleAmt").val() != "" && $("#freeGoodsPromotionForm #saleAmt").val() < 1) {
|
|
|
+ if($("#freeGoodsPromotionForm #saleAmt").val() == "" || $("#freeGoodsPromotionForm #saleAmt").val() < 1) {
|
|
|
mcxDialog.alert("사은품 조건1의 구매금액 조건을 설정해주세요.");
|
|
|
return false;
|
|
|
}
|
|
|
@@ -586,46 +598,40 @@
|
|
|
if(freeGoods2Cnt > 5) {
|
|
|
mcxDialog.alert("사은품 조건2의 사은품은 최대 5개까지 등록가능합니다.");
|
|
|
return false;
|
|
|
- }
|
|
|
+ } /*else if (freeGoods2Cnt > 0 && (!$("#freeGoodsPromotionForm #saleAmt2").val() || $("#freeGoodsPromotionForm #saleAmt2").val() != "") && $("#freeGoodsPromotionForm #saleAmt2").val() < 0) {
|
|
|
+ mcxDialog.alert("사은품 조건2의 사은품 조건을 입력해주세요.");
|
|
|
+ return false;
|
|
|
+ }*/
|
|
|
|
|
|
// 각 리스트 데이터 세팅
|
|
|
- let freeGoods1Datas;
|
|
|
if(supplyCompCnt > 0) { fnSetSendGridListVal(gridOptionsFGCompanyList, "supplyCompCd", "supplyCompCds"); } // 공급업체 설정 데이터
|
|
|
if(brandCnt > 0) { fnSetSendGridListVal(gridOptionsFGBrandList, "brandCd", "brandCds"); } // 브랜드 설정 데이터
|
|
|
- if(applyGoodsCnt > 0) { fnSetSendGridListVal(gridOptionsFGApplyGoodsList, "goodsCd", "applyGoodsCds"); } // 적용 상품 설정 데이터
|
|
|
- if(exceptGoodsCnt > 0) { fnSetSendGridListVal(gridOptionsFGExceptGoodsList, "goodsCd", "exceptGoodsCds"); } // 제외 상품 설정 데이터
|
|
|
- if(freeGoods1Cnt > 0) {
|
|
|
- let gridListValue = gagaAgGrid.getAllRowData(gridOptionsFreeGoods1List); // 기존 리스트
|
|
|
- freeGoods1Datas = JSON.stringify(gridListValue);
|
|
|
- //$("#freeGoodsPromotionForm #freeGoods1Cds").val(jsonData);
|
|
|
- }
|
|
|
- //if(freeGoods1Cnt > 0) { fnSetSendGridListVal(gridOptionsFreeGoods1List, "productNo", "freeGoods1Cds"); } // 사은품 조건 1
|
|
|
- if(freeGoods2Cnt > 0) { fnSetSendGridListVal(gridOptionsFreeGoods1List, "productNo", "freeGoods2Cds"); } // 사은품 조건 2
|
|
|
-
|
|
|
|
|
|
// var params = $(formId).serialize();
|
|
|
- var data = { freegiftNm : $("#freeGoodsPromotionForm input[name=freegiftNm]").val()
|
|
|
- , freegiftStdt : $("#freeGoodsPromotionForm input[name=freegiftStdt]").val()
|
|
|
- , freegiftEddt : $("#freeGoodsPromotionForm input[name=freegiftEddt]").val()
|
|
|
- , selfYn : $("#freeGoodsPromotionForm input[name=selfYn]").val()
|
|
|
- , extmallYn : $("#freeGoodsPromotionForm input[name=extmallYn]").val()
|
|
|
- , extmallIds : $("#freeGoodsPromotionForm input[name=extmallIds]").val()
|
|
|
- , supplyCompCds : $("#freeGoodsPromotionForm input[name=supplyCompCds]").val()
|
|
|
- , brandCds : $("#freeGoodsPromotionForm input[name=brandCds]").val()
|
|
|
- , applyGoodsCds : $("#freeGoodsPromotionForm input[name=applyGoodsCds]").val()
|
|
|
- , exceptGoodsCds : $("#freeGoodsPromotionForm input[name=exceptGoodsCds]").val()
|
|
|
- , freeGoods1 : freeGoods1Datas
|
|
|
- , freeGoods2 : $("#freeGoodsPromotionForm input[name=freeGoods2Cds]").val()
|
|
|
+ var data = { gbn : [[${#strings.toString(param.gbn)}]]
|
|
|
+ , freegiftNm : $("#freeGoodsPromotionForm input[name=freegiftNm]").val()
|
|
|
+ , freegiftStdt : $("#freeGoodsPromotionForm input[name=freegiftStdt]").val().replace(/-/gi, "")
|
|
|
+ , freegiftEddt : $("#freeGoodsPromotionForm input[name=freegiftEddt]").val().replace(/-/gi, "")
|
|
|
+ , selfYn : $("#freeGoodsPromotionForm input[name=selfYn]:checked").val()
|
|
|
+ , extmallYn : $("#freeGoodsPromotionForm input[name=extmallYn]:checked").val()
|
|
|
+ , allYn : $("#freeGoodsPromotionForm input[name=allYn]:checked").val()
|
|
|
+ , sectionVal : $("#freeGoodsPromotionForm input[name=sectionVal]").val()
|
|
|
+ , sectionVal2 : $("#freeGoodsPromotionForm input[name=sectionVal2]").val()
|
|
|
+ , supplyCompCds : JSON.parse($("#freeGoodsPromotionForm input[name=supplyCompCds]").val())
|
|
|
+ , brandCds : JSON.parse($("#freeGoodsPromotionForm input[name=brandCds]").val())
|
|
|
+ , extmallList : gagaAgGrid.getAllRowData(gridOptionsFGExtmallList)
|
|
|
+ , applyGoodsList : gagaAgGrid.getAllRowData(gridOptionsFGApplyGoodsList)
|
|
|
+ , exceptGoodsList : gagaAgGrid.getAllRowData(gridOptionsFGExceptGoodsList)
|
|
|
+ , freeGoods1 : gagaAgGrid.getAllRowData(gridOptionsFreeGoods1List)
|
|
|
+ , freeGoods2 : gagaAgGrid.getAllRowData(gridOptionsFreeGoods2List)
|
|
|
};
|
|
|
|
|
|
var jsonData = JSON.stringify(data);
|
|
|
- gagajf.ajaxJsonSubmit('/goods/search/excelupload/save', jsonData, fnGoodsExcelUploadCallBack);
|
|
|
+ //gagajf.ajaxJsonSubmit('/display/category/refresh', null);
|
|
|
+ //gagajf.ajaxJsonSubmit('/marketing/freeGoodsPromotion/save', null);
|
|
|
+ gagajf.ajaxJsonSubmit('/marketing/freeGoodsPromotion/save', jsonData, fnFreeGoodsPromotionSaveFin);
|
|
|
});
|
|
|
|
|
|
- var fnFreeGoodsPromotionSaveFin = function(result) {
|
|
|
-
|
|
|
- }
|
|
|
-
|
|
|
// 공급업체 설정 / 업체 추가 콜백함수
|
|
|
var fnSetPopupComapnyInfo = function(result) {
|
|
|
fnSetListInfo(result, gridOptionsFGCompanyList, "supplyCompCd");
|
|
|
@@ -651,8 +657,39 @@
|
|
|
fnSetListInfo(result, gridOptionsFreeGoods2List, "productNo");
|
|
|
};
|
|
|
|
|
|
- // 제휴몰 list 콜백함수
|
|
|
+
|
|
|
+ // 제휴몰 리스트 세팅
|
|
|
function fnSetPopupExtmallInfo(result) {
|
|
|
+ let resultList = []; // 최종 상품 리스트
|
|
|
+ let gridListValue = gagaAgGrid.getAllRowData(gridOptionsFGExtmallList); // 기존 리스트
|
|
|
+
|
|
|
+ // 콜백 리스트 데이터 for
|
|
|
+ for(let i = 0 ; i < result.length ; i++) {
|
|
|
+ let addChk = true; // 받아온 모든 데이터
|
|
|
+
|
|
|
+ // 기존 data for
|
|
|
+ for(let j = 0 ; j < gridListValue.length ; j++) {
|
|
|
+ // 조회한 상품 중 동일하지 않은 데이터만 추가
|
|
|
+ if((gridListValue[j].vendorId + "" + gridListValue[j].extmallId) == (result[i].vendorId + "" + result[i].extmallId)) {
|
|
|
+ addChk = false; // 중복체크
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ // 추가된 데이터 중 중복되지 않은 데이터 리스트에 추가
|
|
|
+ if(addChk) { resultList.push(result[i]); }
|
|
|
+ }
|
|
|
+
|
|
|
+ // 추가된 정보 그리드에 추가
|
|
|
+ for(let i = 0 ; i < resultList.length ; i++) {
|
|
|
+ gagaAgGrid.addRowData(gridOptionsFGExtmallList, resultList[i], "extmallId");
|
|
|
+ }
|
|
|
+
|
|
|
+ // 수정된 수량 갯수 수정
|
|
|
+ $("#freeGoodsPromotionForm #extmallCnt").text(gagaAgGrid.getAllRowData(gridOptionsFGExtmallList).length);
|
|
|
+ }
|
|
|
+
|
|
|
+ // 제휴몰 list 콜백함수
|
|
|
+ /* function fnSetPopupExtmallInfo(result) {
|
|
|
let extmallIds = [];
|
|
|
if($("#freeGoodsPromotionForm #extmallIds").val() != null && $("#freeGoodsPromotionForm #extmallIds").val() != "") {
|
|
|
extmallIds = JSON.parse($("#freeGoodsPromotionForm #extmallIds").val());
|
|
|
@@ -670,7 +707,7 @@
|
|
|
var jsonData = JSON.stringify(extmallIds);
|
|
|
$("#freeGoodsPromotionForm #extmallIds").val(jsonData);
|
|
|
$("#freeGoodsPromotionForm #extmallCnt").text(extmallIds.length);
|
|
|
- }
|
|
|
+ } */
|
|
|
|
|
|
// 제휴몰 선택 버튼 클릭시
|
|
|
$('#freeGoodsPromotionForm #btnExtmallPopup').on('click', function() {
|