|
|
@@ -29,9 +29,9 @@
|
|
|
<table class="frmStyle">
|
|
|
<colgroup>
|
|
|
<col width="10%"/>
|
|
|
- <col width="50%"/>
|
|
|
+ <col width="60%"/>
|
|
|
<col width="10%"/>
|
|
|
- <col width="40%"/>
|
|
|
+ <col width="30%"/>
|
|
|
</colgroup>
|
|
|
<tr>
|
|
|
<th>프로모션명<em class="required" title="필수"></em></th>
|
|
|
@@ -46,14 +46,28 @@
|
|
|
<tr>
|
|
|
<th>행사 기간<em class="required" title="필수"></em></th>
|
|
|
<td>
|
|
|
- <input type="text" class="schDate w100" id="freegiftStdt" name="freegiftStdt" maxlength="10" required="required" data-valid-name="시작일자"/>
|
|
|
+ <input type="hidden" id="freegiftStdt" name="freegiftStdt"/>
|
|
|
+ <input type="hidden" id="freegiftEddt" name="freegiftEddt"/>
|
|
|
+
|
|
|
+ <input type="text" class="schDate w100" id="freegiftStDate" name="freegiftStDate" maxlength="10" required="required" data-valid-name="시작일자"/>
|
|
|
+ <select name="freegiftStHH" id="freegiftStHH">
|
|
|
+ <option th:if="${hhList}" th:each="oneData , status : ${hhList}" th:text="${oneData.cdNm}" th:value="${oneData.cd}"></option>
|
|
|
+ </select>
|
|
|
+ <select name="freegiftStMM" id="freegiftStMM">
|
|
|
+ <option th:if="${mmList}" th:each="oneData , status : ${mmList}" th:text="${oneData.cdNm}" th:value="${oneData.cd}"></option>
|
|
|
+ </select>
|
|
|
~
|
|
|
- <input type="text" class="schDate w100" id="freegiftEddt" name="freegiftEddt" maxlength="10" required="required" data-valid-name="종료일자"/>
|
|
|
+ <input type="text" class="schDate w100" id="freegiftEdDate" name="freegiftEdDate" maxlength="10" required="required" data-valid-name="종료일자"/>
|
|
|
+ <select name="freegiftEdHH" id="freegiftEdHH">
|
|
|
+ <option th:if="${hhList}" th:each="oneData , status : ${hhList}" th:text="${oneData.cdNm}" th:value="${oneData.cd}"></option>
|
|
|
+ <option th:text="24시" th:value="24"></option>
|
|
|
+ </select>
|
|
|
+ <select name="freegiftEdMM" id="freegiftEdMM">
|
|
|
+ <option th:if="${mmList}" th:each="oneData , status : ${mmList}" th:text="${oneData.cdNm}" th:value="${oneData.cd}"></option>
|
|
|
+ </select>
|
|
|
</td>
|
|
|
- <!-- <td id="promotionTerms">수정시 행사기간 입력되도록 수정(JAVASCRIPT?) : before</td> -->
|
|
|
<th>상태</th>
|
|
|
<td>
|
|
|
- <!-- 상태 입력 : before -->
|
|
|
<span name="freegiftStatText"></span>
|
|
|
</td>
|
|
|
</tr>
|
|
|
@@ -92,7 +106,6 @@
|
|
|
<tr>
|
|
|
<th>공급업체/브랜드</th>
|
|
|
<td>
|
|
|
- <!-- 수정시 프로모션명 입력 : before -->
|
|
|
<div class="padding10" style="display:inline-block;width:49%;">
|
|
|
<span>공급업체 설정</span>
|
|
|
<div class="padding10 inner-tb-solid">
|
|
|
@@ -108,7 +121,6 @@
|
|
|
<button type="button" class="btn btnRight btn-success btn-lg" id="btnAddBrand">브랜드 추가</button>
|
|
|
<button type="button" class="btn btnRight btn-success btn-lg" id="btnDeleteBrand">선택삭제</button>
|
|
|
<br/>
|
|
|
- <!-- 브랜드 선택 팝업(단수 선택 팝업... 복수를 새로 만들어야하는지 ? 아니면 변수처리해야하는지 ? -->
|
|
|
<div id="gridFGBrandList" style="width:100%; height:200px;" class="ag-theme-balham"></div>
|
|
|
</div>
|
|
|
</div>
|
|
|
@@ -249,13 +261,11 @@
|
|
|
|
|
|
<ul class="panelBar">
|
|
|
<li class="right">
|
|
|
- <!-- <th:block th:if="${sessionInfo.roleCd == 'G001_0000' OR sessionInfo.roleCd == 'G001_A000' OR sessionInfo.roleCd == 'G001_A101' OR sessionInfo.roleCd == 'G001_A100' OR sessionInfo.roleCd == 'G001_A001'}"> -->
|
|
|
<button type="button" class="btn btnRight btn-success btn-lg" id="btnSearchList">목록</button>
|
|
|
<button type="button" class="btn btnRight btn-success btn-lg fgButton" id="btnFreegoodsPromotionSave">저장</button>
|
|
|
<button type="button" class="btn btnRight btn-success btn-lg fgButton" id="btnChangeStatIng">진행</button>
|
|
|
<button type="button" class="btn btnRight btn-success btn-lg fgButton" id="btnPromotionDelete">삭제</button>
|
|
|
<button type="button" class="btn btnRight btn-success btn-lg fgButton" id="btnPromotionStop">중지</button>
|
|
|
- <!-- </th:block> -->
|
|
|
</li>
|
|
|
</ul>
|
|
|
</form>
|
|
|
@@ -478,25 +488,48 @@
|
|
|
freegiftStatNm = "종료 (" + freegift.freegiftEddt + ")";
|
|
|
}
|
|
|
|
|
|
+ let stDtArr = freegift.freegiftStdt.split(" ");
|
|
|
+ let edDtArr = freegift.freegiftEddt.split(" ");
|
|
|
+
|
|
|
+ let stDate = stDtArr[0];
|
|
|
+ let stHour = stDtArr[1].split(":")[0];
|
|
|
+ let stMinute = stDtArr[1].split(":")[1];
|
|
|
+ let edDate = edDtArr[0];
|
|
|
+ let edHour = edDtArr[1].split(":")[0];
|
|
|
+ let edMinute = edDtArr[1].split(":")[1];
|
|
|
+
|
|
|
+ if(edDtArr[1] == "23:59:59") {
|
|
|
+ edHour = "24";
|
|
|
+ edMinute = "00";
|
|
|
+ $("#freeGoodsPromotionForm #freegiftEdMM option").hide();
|
|
|
+ $('#freeGoodsPromotionForm #freegiftEdMM option:first').show().prop("selected", true);
|
|
|
+ }
|
|
|
+
|
|
|
// 저장된 값 입력
|
|
|
$('#freeGoodsPromotionForm input[name=freegiftNm]').val(freegift.freegiftNm);
|
|
|
$('#freeGoodsPromotionForm span[name=freegiftSqText]').text(freegift.freegiftSq);
|
|
|
- $('#freeGoodsPromotionForm input[name=freegiftStdt]').val(freegift.freegiftStdt.split(".").join("-"));
|
|
|
- $('#freeGoodsPromotionForm input[name=freegiftEddt]').val(freegift.freegiftEddt.split(".").join("-"));
|
|
|
+ $('#freeGoodsPromotionForm input[name=freegiftStDate]').val(stDate);
|
|
|
+ $('#freeGoodsPromotionForm select[name=freegiftStHH]').val(stHour);
|
|
|
+ $('#freeGoodsPromotionForm select[name=freegiftStMM]').val(stMinute);
|
|
|
+ $('#freeGoodsPromotionForm input[name=freegiftEdDate]').val(edDate);
|
|
|
+ $('#freeGoodsPromotionForm select[name=freegiftEdHH]').val(edHour);
|
|
|
+ $('#freeGoodsPromotionForm select[name=freegiftEdMM]').val(edMinute);
|
|
|
$('#freeGoodsPromotionForm span[name=freegiftStatText]').text(freegiftStatNm);
|
|
|
$('#freeGoodsPromotionForm input[name=sectionVal]').val(freegift.sectionVal);
|
|
|
$('#freeGoodsPromotionForm input[name=sectionVal2]').val(freegift.sectionVal2);
|
|
|
$("#freeGoodsPromotionForm #regInfo").text(freegift.regNm + "(" + freegift.regDt + ")");
|
|
|
$("#freeGoodsPromotionForm #updInfo").text(freegift.updNm + "(" + freegift.updDt + ")");
|
|
|
+
|
|
|
// 자사 적용일 경우
|
|
|
if(freegift.selfYn == "Y") {
|
|
|
- $("#freeGoodsPromotionForm input[name=selfYn]").addClass("checked");
|
|
|
+ $("#freeGoodsPromotionForm input[name=selfYn]").prop("checked", true);
|
|
|
$("#freeGoodsPromotionForm input[name=selfYn]").parent("label").addClass("checked");
|
|
|
}
|
|
|
|
|
|
// 외부몰 적용일 경우
|
|
|
if(freegift.extmallList != null && freegift.extmallList.length > 0) {
|
|
|
$("#freeGoodsPromotionForm input[name=extmallYn]").parent("label").addClass("checked");
|
|
|
+ $("#freeGoodsPromotionForm input[name=extmallYn]").prop("checked", true);
|
|
|
$("#freeGoodsPromotionForm #extmallCnt").text(freegift.extmallList.length);
|
|
|
$("#freeGoodsPromotionForm #allY").prop("checked", true); // 제휴몰 선택시 지급 방법은 모두 지급으로 한정
|
|
|
$("#freeGoodsPromotionForm input[name=allYn]").prop("disabled", true); // 제휴몰 선택시 지급 방법은 모두 지급에서 수정 불가
|
|
|
@@ -515,16 +548,35 @@
|
|
|
$("#freeGoodsPromotionForm #btnChangeStatIng").show(); // 진행
|
|
|
$("#freeGoodsPromotionForm #btnPromotionDelete").show(); // 삭제
|
|
|
} else {
|
|
|
- // 진행 상태일 경우
|
|
|
- if(freegift.freegiftStat == "G232_11") {
|
|
|
- $("#freeGoodsPromotionForm #btnFreegoodsPromotionSave").show(); // 저장
|
|
|
- $("#freeGoodsPromotionForm #btnPromotionStop").show(); // 중지
|
|
|
-
|
|
|
+ // 대기 상태일 경우를 제외하면 모든 상태 수정 불가(기획서대로 진행 상태에서 일부 수정 가능할 경우 if문 주석 제거)
|
|
|
+ //if(freegift.freegiftStat == "G232_11") {
|
|
|
// 진행 상태일 경우 기간, 적용대상상품, 추가제외상품 외 나머지 항목 수정 불가.
|
|
|
$("#freeGoodsPromotionForm input[name=extmallYn]").addClass("formControl");
|
|
|
$("#freeGoodsPromotionForm .disabledPoint").prop("disabled", true);
|
|
|
$("#freeGoodsPromotionForm .hideButten").hide();
|
|
|
- }
|
|
|
+
|
|
|
+ // 진행 상태일 경우 전체 수정 불가(전체가 아닌 기획서대로면 아래 내용만 삭제)
|
|
|
+ $("#freeGoodsPromotionForm input[name=extmallYn]").addClass("formControl");
|
|
|
+ $("#freeGoodsPromotionForm .disabledPoint").prop("disabled", true);
|
|
|
+ $("#freeGoodsPromotionForm input").prop("disabled", true);
|
|
|
+ $("#freeGoodsPromotionForm button").hide();
|
|
|
+
|
|
|
+ // 진행 상태일 경우 노출 버튼 (저장 버튼은 중지시 수정 불가처리하기로하여 주석처리. 기획서대로 변경일 경우 주석 제거 및 if 제거)
|
|
|
+ if(freegift.freegiftStat == "G232_11") { // 진행 상태일 경우
|
|
|
+ // $("#freeGoodsPromotionForm #btnFreegoodsPromotionSave").show(); // 저장
|
|
|
+ $("#freeGoodsPromotionForm #btnPromotionStop").show(); // 중지
|
|
|
+ }
|
|
|
+
|
|
|
+ // 목록 버튼
|
|
|
+ $("#freeGoodsPromotionForm #btnSearchList").show();
|
|
|
+
|
|
|
+ gridOptionsFreeGoods1List.columnApi.getColumn("usePoint").colDef.editable = false;
|
|
|
+ gridOptionsFreeGoods1List.columnApi.getColumn("itemQty").colDef.editable = false;
|
|
|
+ gridOptionsFreeGoods1List.columnApi.getColumn("limitQty").colDef.editable = false;
|
|
|
+ gridOptionsFreeGoods2List.columnApi.getColumn("usePoint").colDef.editable = false;
|
|
|
+ gridOptionsFreeGoods2List.columnApi.getColumn("itemQty").colDef.editable = false;
|
|
|
+ gridOptionsFreeGoods2List.columnApi.getColumn("limitQty").colDef.editable = false;
|
|
|
+ //}
|
|
|
}
|
|
|
|
|
|
gridOptionsFGExtmallList.api.setRowData(freegift.extmallList);
|
|
|
@@ -563,9 +615,13 @@
|
|
|
|
|
|
// 기간 검색 default 조건 (오늘부터 1주일)
|
|
|
let date = new Date();
|
|
|
- $("#freeGoodsPromotionForm #freegiftStdt").val(date.format("YYYY-MM-DD")); // 오늘 날짜
|
|
|
- date.setDate(date.getDate() + 7); // 등록일 + 7일
|
|
|
- $("#freeGoodsPromotionForm #freegiftEddt").val(date.format("YYYY-MM-DD")); // 1주일 후 날짜
|
|
|
+ $("#freeGoodsPromotionForm #freegiftStDate").val(date.format("YYYY-MM-DD")); // 오늘 날짜
|
|
|
+ date.setDate(date.getDate() + 7); // 등록일 + 7일
|
|
|
+ $("#freeGoodsPromotionForm #freegiftStDate").val(date.format("YYYY-MM-DD")); // 1주일 후 날짜
|
|
|
+
|
|
|
+ $('#freeGoodsPromotionForm #freegiftEdHH option:last').prop("selected", true);
|
|
|
+ $("#freeGoodsPromotionForm #freegiftEdMM option").hide();
|
|
|
+ $('#freeGoodsPromotionForm #freegiftEdMM option:first').show().prop("selected", true);
|
|
|
} else {
|
|
|
fnFreegiftSearch();
|
|
|
}
|
|
|
@@ -642,8 +698,10 @@
|
|
|
// 저장 후 콜백 함수
|
|
|
var fnFreeGoodsPromotionSaveFin = function(result) {
|
|
|
if("C" != [[${param.gbn}]]) {
|
|
|
+ fnFreeGoodsPromotionListSearch();
|
|
|
fnFreegiftSearch();
|
|
|
} else {
|
|
|
+ fnFreeGoodsPromotionListSearch();
|
|
|
uifnPopupClose('popupFreeGoodsPromotionRegi');
|
|
|
}
|
|
|
}
|
|
|
@@ -674,7 +732,14 @@
|
|
|
|
|
|
if (fromDate > toDate) {
|
|
|
mcxDialog.alert("시작일자는 종료일자 보다 늦을 수 없습니다.");
|
|
|
- $('#freeGoodsPromotionForm input[name=freegiftStdt]').focus();
|
|
|
+ return false;
|
|
|
+ }
|
|
|
+
|
|
|
+ var sdt = new Date(fromDate);
|
|
|
+ var edt = new Date(toDate);
|
|
|
+ var dateDiff = Math.ceil((edt.getTime()-sdt.getTime())/(1000*3600*24));
|
|
|
+ if(dateDiff > 365) {
|
|
|
+ mcxDialog.alert("행사 기간은 1년을 초과 할 수 없습니다.");
|
|
|
return false;
|
|
|
}
|
|
|
|
|
|
@@ -776,26 +841,37 @@
|
|
|
mcxDialog.alert("사은품 조건2의 사은품은 최대 5개까지 등록가능합니다.");
|
|
|
return false;
|
|
|
}
|
|
|
- if($("#freeGoodsPromotionForm #saleAmt2").val() != "" && $("#freeGoodsPromotionForm #saleAmt2").val() < 1) {
|
|
|
+ if($("#freeGoodsPromotionForm #saleAmt2").val() == "" || $("#freeGoodsPromotionForm #saleAmt2").val() < 1) {
|
|
|
if(freeGoods2Cnt > 0) {
|
|
|
mcxDialog.alert("사은품 조건2의 구매금액 조건을 설정해주세요.");
|
|
|
return false;
|
|
|
}
|
|
|
- } else if (freeGoods2Cnt < 1) {
|
|
|
- mcxDialog.alert("사은품 조건2의 사은품을 선택해주세요.");
|
|
|
- return false;
|
|
|
+ } else {
|
|
|
+ if (freeGoods2Cnt < 1) {
|
|
|
+ mcxDialog.alert("사은품 조건2의 사은품을 선택해주세요.");
|
|
|
+ return false;
|
|
|
+ }
|
|
|
}
|
|
|
|
|
|
-
|
|
|
let selfYn = $("#freeGoodsPromotionForm input[name=selfYn]:checked").val();
|
|
|
if(!selfYn || selfYn == "") { selfYn = "N"; }
|
|
|
|
|
|
+ alert($("#freeGoodsPromotionForm select[name=freegiftEdHH]").val());
|
|
|
+
|
|
|
+ let freegiftStdt = $("#freeGoodsPromotionForm input[name=freegiftStDate]").val() + " " + $("#freeGoodsPromotionForm select[name=freegiftStHH]").val() + ":" + $("#freeGoodsPromotionForm select[name=freegiftStMM]").val() + ":00";
|
|
|
+ let freegiftEddt = $("#freeGoodsPromotionForm input[name=freegiftEdDate]").val();
|
|
|
+ if($("#freeGoodsPromotionForm select[name=freegiftEdHH]").val() == "24") {
|
|
|
+ freegiftEddt += " 23:59:59";
|
|
|
+ } else {
|
|
|
+ freegiftEddt += " " + $("#freeGoodsPromotionForm select[name=freegiftEdHH]").val() + ":" + $("#freeGoodsPromotionForm select[name=freegiftEdMM]").val() + ":00";
|
|
|
+ }
|
|
|
+
|
|
|
// var params = $(formId).serialize();
|
|
|
var data = { gbn : $("#freeGoodsPromotionForm input[name=gbn]").val()
|
|
|
, freegiftSq : $("#freeGoodsPromotionForm input[name=freegiftSq]").val()
|
|
|
, freegiftNm : $("#freeGoodsPromotionForm input[name=freegiftNm]").val()
|
|
|
- , freegiftStdt : $("#freeGoodsPromotionForm input[name=freegiftStdt]").val().replace(/-/gi, "")
|
|
|
- , freegiftEddt : $("#freeGoodsPromotionForm input[name=freegiftEddt]").val().replace(/-/gi, "")
|
|
|
+ , freegiftStdt : freegiftStdt
|
|
|
+ , freegiftEddt : freegiftEddt
|
|
|
, selfYn : selfYn
|
|
|
, extmallYn : $("#freeGoodsPromotionForm input[name=extmallYn]:checked").val()
|
|
|
, allYn : $("#freeGoodsPromotionForm input[name=allYn]:checked").val()
|
|
|
@@ -814,6 +890,16 @@
|
|
|
gagajf.ajaxJsonSubmit('/marketing/freeGoodsPromotion/save', jsonData, fnFreeGoodsPromotionSaveFin);
|
|
|
});
|
|
|
|
|
|
+ // 할인방식 변경
|
|
|
+ $("#freeGoodsPromotionForm #freegiftEdHH").bind('click change', function () {
|
|
|
+ if(this.value == 24) {
|
|
|
+ $("#freeGoodsPromotionForm #freegiftEdMM option").hide();
|
|
|
+ $('#freeGoodsPromotionForm #freegiftEdMM option:first').show().prop("selected", true);
|
|
|
+ } else {
|
|
|
+ $("#freeGoodsPromotionForm #freegiftEdMM option").show();
|
|
|
+ }
|
|
|
+ });
|
|
|
+
|
|
|
// 목록 버튼 클릭
|
|
|
$("#freeGoodsPromotionForm #btnSearchList").on("click", function() {
|
|
|
uifnPopupClose('popupFreeGoodsPromotionRegi');
|