|
|
@@ -48,7 +48,7 @@
|
|
|
<td>
|
|
|
<!-- 프로모션 ID 입력 : before -->
|
|
|
<label th:if="${mode == 'N'}">
|
|
|
- <input class="w50p" type="text" id="disTmtbSq1" name="disTmtbSq" maxlength="30" th:value="${params.tmtbSq}" disabled=""/>
|
|
|
+ <input class="w50p" type="text" id="disTmtbSq1" name="disTmtbSq" maxlength="30" th:value="${params.tmtbSq}" disabled=""/>자동생성
|
|
|
</label>
|
|
|
<label th:if="${mode == 'U'}">
|
|
|
<input class="w50p" type="text" id="disTmtbSq2" name="disTmtbSq" maxlength="30" th:value="${tmtbSeq}" disabled=""/>
|
|
|
@@ -57,12 +57,12 @@
|
|
|
</td>
|
|
|
</tr>
|
|
|
<tr>
|
|
|
- <th>행사 기간<em class="required" title="필수"></em></th>
|
|
|
+ <!--<th>행사 기간<em class="required" title="필수"></em></th>
|
|
|
<td>
|
|
|
<input type="text" class="schDate w100" name="tmtbStdt" maxlength="10" required="required" data-valid-name="시작일자"/>
|
|
|
~
|
|
|
<input type="text" class="schDate w100" name="tmtbEddt" maxlength="10" required="required" data-valid-name="종료일자"/>
|
|
|
- </td>
|
|
|
+ </td>-->
|
|
|
<th>상태<em class="required" title="필수"></em></th>
|
|
|
<td>
|
|
|
<!-- 상태 입력 : before
|
|
|
@@ -71,6 +71,38 @@
|
|
|
<input type="hidden" id="tmtbStat" name="tmtbStat"/>
|
|
|
</td>
|
|
|
</tr>
|
|
|
+ <tr>
|
|
|
+ <th>시작일<em class="required" title="필수"></em></th>
|
|
|
+ <td>
|
|
|
+ <input type="hidden" name="tmtbStdt" id="tmtbStdt" required="required" data-valid-name="다다익선시작일시">
|
|
|
+ <input type="text" class="schDate w100" name="eventStdt" id="eventStdt" maxlength="10" th:value="${#calendars.format(#calendars.createNow(), 'yyyy-MM-dd')}"/>
|
|
|
+ <select name="eventStHH" data-valid-name="다다익선시작(시)" style="width: 65px;" th:readonly="${mode == 'U'}">
|
|
|
+ <th:block th:each="num, index : ${#numbers.sequence(0,23)}">
|
|
|
+ <option th:value="${#numbers.formatInteger(num,2)}" th:text="|${#numbers.formatInteger(num,2)}시|" th:selected="${tmtbMstInfo.eventStHH == #numbers.formatInteger(num,2)}">시간</option>
|
|
|
+ </th:block>
|
|
|
+ </select>
|
|
|
+ <select name="eventStMM" data-valid-name="다다익선시작(분)" style="width: 65px;" th:readonly="${mode == 'U'}">
|
|
|
+ <th:block th:each="num, index : ${#numbers.sequence(0,59)}">
|
|
|
+ <option th:value="${#numbers.formatInteger(num,2)}" th:text="|${#numbers.formatInteger(num,2)}분|" th:selected="${tmtbMstInfo.eventStMM == #numbers.formatInteger(num,2)}">분</option>
|
|
|
+ </th:block>
|
|
|
+ </select>
|
|
|
+ </td>
|
|
|
+ <th>종료일<em class="required" title="필수"></em></th>
|
|
|
+ <td>
|
|
|
+ <input type="hidden" name="tmtbEddt" id="tmtbEddt" required="required" data-valid-name="다다익선종료일시">
|
|
|
+ <input type="text" class="schDate w100" name="eventEddt" id="eventEddt" maxlength="10" th:value="${#calendars.format(#calendars.createNow(), 'yyyy-MM-dd')}"/>
|
|
|
+ <select name="eventEdHH" data-valid-name="다다익선종료(시)" style="width: 65px;" th:readonly="${mode == 'U'}">
|
|
|
+ <th:block th:each="num, index : ${#numbers.sequence(0,23)}">
|
|
|
+ <option th:value="${#numbers.formatInteger(num,2)}" th:text="|${#numbers.formatInteger(num,2)}시|" th:selected="${tmtbMstInfo.eventEdHH == #numbers.formatInteger(num,2)}">시간</option>
|
|
|
+ </th:block>
|
|
|
+ </select>
|
|
|
+ <select name="eventEdMM" data-valid-name="다다익선종료(분)" style="width: 65px;" th:readonly="${mode == 'U'}">
|
|
|
+ <th:block th:each="num, index : ${#numbers.sequence(0,59)}">
|
|
|
+ <option th:value="${#numbers.formatInteger(num,2)}" th:text="|${#numbers.formatInteger(num,2)}분|" th:selected="${tmtbMstInfo.eventEdMM == #numbers.formatInteger(num,2)}">분</option>
|
|
|
+ </th:block>
|
|
|
+ </select>
|
|
|
+ </td>
|
|
|
+ </tr>
|
|
|
<tr>
|
|
|
<th>할인 구간<em class="required" title="필수"></em></th>
|
|
|
<td>
|
|
|
@@ -95,7 +127,37 @@
|
|
|
|
|
|
</table>
|
|
|
</div>
|
|
|
-
|
|
|
+ <div class="panelStyle" style="margin:unset;">
|
|
|
+ <!-- TITLE -->
|
|
|
+ <div class="panelTitle">
|
|
|
+ <h2>할인 구간</h2>
|
|
|
+ <span class="panelControl">
|
|
|
+ <i class="fa inner-fa-chevron-up"></i> <!-- 열림/닫힘 화살표 -->
|
|
|
+ </span>
|
|
|
+ </div>
|
|
|
+ <!-- //TITLE -->
|
|
|
+ <div class="inner-panelContent">
|
|
|
+ <div class="panelContent">
|
|
|
+ <table class="frmStyle">
|
|
|
+ <colgroup>
|
|
|
+ <col width="10%"/>
|
|
|
+ <col width="90%"/>
|
|
|
+ </colgroup>
|
|
|
+ <tr>
|
|
|
+ <th>할인 구간</th>
|
|
|
+ <td>
|
|
|
+ <div class="padding10">
|
|
|
+ <button type="button" class="btn btnRight btn-success btn-lg" id="btnAddSectionRow">행추가</button>
|
|
|
+ <button type="button" class="btn btnRight btn-success btn-lg" id="btnDelSectionRow">행삭제</button>
|
|
|
+ <br/>
|
|
|
+ <div id="gridSectionGbList" style="width:100%; height:200px;" class="ag-theme-balham"></div>
|
|
|
+ </div>
|
|
|
+ </td>
|
|
|
+ </tr>
|
|
|
+ </table>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
<div class="panelStyle" style="margin:unset;">
|
|
|
<!-- TITLE -->
|
|
|
<div class="panelTitle">
|
|
|
@@ -152,10 +214,10 @@
|
|
|
</div>
|
|
|
</td>
|
|
|
</tr>
|
|
|
- <tr > <!--class="off"-->
|
|
|
+ <tr class="off"> <!---->
|
|
|
<th>업체&브랜드상품</th>
|
|
|
<td>
|
|
|
- <div class="padding10" > <!--style="display: none;"-->
|
|
|
+ <div class="padding10" style="display: none;"> <!---->
|
|
|
<div id="gridDuplicateGoodsList" style="width:100%; height:200px;" class="ag-theme-balham"></div>
|
|
|
</div>
|
|
|
</td>
|
|
|
@@ -197,37 +259,7 @@
|
|
|
</div>
|
|
|
</div>
|
|
|
|
|
|
- <div class="panelStyle" style="margin:unset;">
|
|
|
- <!-- TITLE -->
|
|
|
- <div class="panelTitle">
|
|
|
- <h2>할인 구간</h2>
|
|
|
- <span class="panelControl">
|
|
|
- <i class="fa inner-fa-chevron-up"></i> <!-- 열림/닫힘 화살표 -->
|
|
|
- </span>
|
|
|
- </div>
|
|
|
- <!-- //TITLE -->
|
|
|
- <div class="inner-panelContent">
|
|
|
- <div class="panelContent">
|
|
|
- <table class="frmStyle">
|
|
|
- <colgroup>
|
|
|
- <col width="10%"/>
|
|
|
- <col width="90%"/>
|
|
|
- </colgroup>
|
|
|
- <tr>
|
|
|
- <th>할인 구간</th>
|
|
|
- <td>
|
|
|
- <div class="padding10">
|
|
|
- <button type="button" class="btn btnRight btn-success btn-lg" id="btnAddSectionRow">행추가</button>
|
|
|
- <button type="button" class="btn btnRight btn-success btn-lg" id="btnDelSectionRow">행삭제</button>
|
|
|
- <br/>
|
|
|
- <div id="gridSectionGbList" style="width:100%; height:200px;" class="ag-theme-balham"></div>
|
|
|
- </div>
|
|
|
- </td>
|
|
|
- </tr>
|
|
|
- </table>
|
|
|
- </div>
|
|
|
- </div>
|
|
|
- </div>
|
|
|
+
|
|
|
|
|
|
<div class="panelStyle" style="margin:unset;">
|
|
|
<!-- TITLE -->
|
|
|
@@ -476,67 +508,8 @@
|
|
|
if(mode=="N"){
|
|
|
$("input:radio[name='disTmtbStat']:radio[value='G232_10']").prop('checked', true); // 선택하기
|
|
|
}
|
|
|
- cfnCreateCalendar('#tmtbTerms', 'tmtbStdt', 'tmtbEddt', true, '행사기간', 'X');
|
|
|
- });
|
|
|
-
|
|
|
- // 수정 버튼 클릭시
|
|
|
- $('#btnMorebetterUpdate').on('click', function() {
|
|
|
- // validation
|
|
|
- if (!gagajf.validation('#moreBetterForm'))
|
|
|
- return false;
|
|
|
-
|
|
|
- // 행사기간 확인
|
|
|
- let fromDate = $('#moreBetterForm input[name=tmtbStdt]').val();
|
|
|
- let toDate = $('#moreBetterForm input[name=tmtbEddt]').val();
|
|
|
-
|
|
|
- if (gagajf.isNull(fromDate) || gagajf.isNull(toDate)) {
|
|
|
- mcxDialog.alert("행사 기간 시작일자와 종료일자를 입력하세요.");
|
|
|
- $('#moreBetterForm input[name=tmtbStdt]').focus();
|
|
|
- return false;
|
|
|
- }
|
|
|
-
|
|
|
- if (fromDate > toDate) {
|
|
|
- mcxDialog.alert("시작일자는 종료일자 보다 클 수 없습니다.");
|
|
|
- $('#moreBetterForm input[name=tmtbStdt]').focus();
|
|
|
- return false;
|
|
|
- }
|
|
|
-
|
|
|
- // disabled 값 넘겨주기
|
|
|
- $('#moreBetterForm input[name=tmtbSq]').val($('#moreBetterForm input[name=disTmtbSq]').val());
|
|
|
- $('#moreBetterForm input[name=tmtbStat]').val($('input:radio[name="disTmtbStat"]:checked').val());
|
|
|
-
|
|
|
- mcxDialog.confirm('수정하시겠습니까?', {
|
|
|
- cancelBtnText: "취소",
|
|
|
- sureBtnText: "확인",
|
|
|
- sureBtnClick: function(){
|
|
|
- var compAllData = gagaAgGrid.getAllRowData(gridOptionsFGCompanyList); //selectedRowData
|
|
|
- var brandAllData = gagaAgGrid.getAllRowData(gridOptionsFGBrandList);
|
|
|
- var applyAllData = gagaAgGrid.getAllRowData(gridOptionsFGApplyGoodsList);
|
|
|
- var exceptAllData = gagaAgGrid.getAllRowData(gridOptionsFGExceptGoodsList);
|
|
|
- var burdenAllData = gagaAgGrid.getAllRowData(gridOptionsApplyBurdenList);
|
|
|
- var sectionGbAllData = gagaAgGrid.getAllRowData(gridOptionsSectionGbList);
|
|
|
-
|
|
|
- var jsonSupplyCompData = JSON.stringify(compAllData);
|
|
|
- $('#moreBetterForm input[name=supplyCompList]').val(jsonSupplyCompData);
|
|
|
- var jsonBrandData = JSON.stringify(brandAllData);
|
|
|
- $('#moreBetterForm input[name=brandList]').val(jsonBrandData);
|
|
|
- var jsonApplyData = JSON.stringify(applyAllData);
|
|
|
- $('#moreBetterForm input[name=applyGoodsList]').val(jsonApplyData);
|
|
|
- var jsonExceptData = JSON.stringify(exceptAllData);
|
|
|
- $('#moreBetterForm input[name=exceptGoodsList]').val(jsonExceptData);
|
|
|
- var jsonSectionGbData = JSON.stringify(sectionGbAllData);
|
|
|
- $('#moreBetterForm input[name=sectionGbList]').val(jsonSectionGbData);
|
|
|
- var jsonBurdenData = JSON.stringify(burdenAllData);
|
|
|
- $('#moreBetterForm input[name=burdenList]').val(jsonBurdenData);
|
|
|
-
|
|
|
- var jsonData = JSON.stringify($('#moreBetterForm').serializeObject());
|
|
|
- gagajf.ajaxJsonSubmit($('#moreBetterForm').prop('action'), jsonData, function() {
|
|
|
- fnMorebetterFormClose();
|
|
|
- $('#btnInit').trigger('click');
|
|
|
- $('#btnSearch').trigger('click');
|
|
|
- });
|
|
|
- }
|
|
|
- });
|
|
|
+ //cfnCreateCalendar('#tmtbTerms', 'tmtbStdt', 'tmtbEddt', true, '행사기간', 'X');
|
|
|
+ cfnCreateCalendar('#tmtbTerms', 'eventStdt', 'eventEddt', true, '행사기간', 'X');
|
|
|
});
|
|
|
|
|
|
var fnGoodsGbCheck = function (){
|
|
|
@@ -563,15 +536,23 @@
|
|
|
return false;
|
|
|
|
|
|
// 행사기간 확인
|
|
|
- let fromDate = $('#moreBetterForm input[name=tmtbStdt]').val();
|
|
|
- let toDate = $('#moreBetterForm input[name=tmtbEddt]').val();
|
|
|
-
|
|
|
- if (gagajf.isNull(fromDate) || gagajf.isNull(toDate)) {
|
|
|
+ if (gagajf.isNull($('#moreBetterForm input[name=eventStdt]').val()) || gagajf.isNull($('#moreBetterForm input[name=eventEddt]').val())) {
|
|
|
mcxDialog.alert("행사 기간 시작일자와 종료일자를 입력하세요.");
|
|
|
$('#moreBetterForm input[name=tmtbStdt]').focus();
|
|
|
return false;
|
|
|
}
|
|
|
|
|
|
+ var eventStDt = $('#moreBetterForm input[name=eventStdt]').val()+$('#moreBetterForm select[name=eventStHH]').val()+$('#moreBetterForm select[name=eventStMM]').val()+'00';
|
|
|
+ var eventEdDt = $('#moreBetterForm input[name=eventEddt]').val()+$('#moreBetterForm select[name=eventEdHH]').val()+$('#moreBetterForm select[name=eventEdMM]').val()+'59';
|
|
|
+
|
|
|
+ eventStDt = eventStDt.replace(/[^0-9]/g, '');
|
|
|
+ eventEdDt = eventEdDt.replace(/[^0-9]/g, '');
|
|
|
+ console.log('2.eventStDt>>'+eventStDt);
|
|
|
+ console.log('3.eventEdDt>>'+eventEdDt);
|
|
|
+
|
|
|
+ let fromDate = $('#moreBetterForm input[name=tmtbStdt]').val(eventStDt);
|
|
|
+ let toDate = $('#moreBetterForm input[name=tmtbEddt]').val(eventEdDt);
|
|
|
+
|
|
|
if (fromDate > toDate) {
|
|
|
mcxDialog.alert("시작일자는 종료일자 보다 클 수 없습니다.");
|
|
|
$('#moreBetterForm input[name=tmtbStdt]').focus();
|
|
|
@@ -643,7 +624,7 @@
|
|
|
|
|
|
return;
|
|
|
}else{
|
|
|
- mcxDialog.alert(result.msg);
|
|
|
+ //mcxDialog.alert(result.message);
|
|
|
fnMorebetterFormClose();
|
|
|
$('#btnInit').trigger('click');
|
|
|
$('#btnSearch').trigger('click');
|
|
|
@@ -742,20 +723,31 @@
|
|
|
goodsGbVal = "G800_30";
|
|
|
}
|
|
|
|
|
|
+ let addCnt = 0;
|
|
|
+ let failCnt = 0;
|
|
|
+ let dupliCnt = 0;
|
|
|
+
|
|
|
for(let i = 0 ; i < result.length ; i++) {
|
|
|
let addChk = true, gridListValue = gagaAgGrid.getAllRowData(OriginGridListOption); // 받아온 모든 데이터
|
|
|
|
|
|
// 받아온 data for
|
|
|
for(let j = 0 ; j < gridListValue.length ; j++) {
|
|
|
- if(gridListValue[j].goodsCd == result[i].goodsCd) { addChk = false; } // 중복체크
|
|
|
+ if(gridListValue[j].goodsCd == result[i].goodsCd) { // 중복체크
|
|
|
+ addChk = false;
|
|
|
+ dupliCnt++;
|
|
|
+ }
|
|
|
}
|
|
|
|
|
|
// 중복되지 않은 데이터 리스트에 추가
|
|
|
if(addChk) {
|
|
|
//gagaAgGrid.addRowData(OriginGridListOption, result[i], "goodsCd");
|
|
|
gagaAgGrid.addRowData(OriginGridListOption, {"goodsGb": goodsGbVal, "goodsCd" : result[i].goodsCd, "goodsNm" : result[i].goodsNm, "targetGb" : "G260_10"});
|
|
|
+ addCnt++;
|
|
|
}
|
|
|
}
|
|
|
+ uifnPopupClose('popupGoods');
|
|
|
+ failCnt = result.length - addCnt - dupliCnt;
|
|
|
+ mcxDialog.alert("데이터가 적용되었습니다.<br/>" + addCnt + "건 성공, "+ dupliCnt + "건 중복, " + failCnt + "건 실패");
|
|
|
}
|
|
|
|
|
|
// 공급업체 설정 업체 추가 버튼 클릭시
|
|
|
@@ -1038,6 +1030,67 @@
|
|
|
}
|
|
|
});
|
|
|
|
|
|
+
|
|
|
+ // 수정 버튼 클릭시
|
|
|
+ $('#btnMorebetterUpdate').on('click', function() {
|
|
|
+ // validation
|
|
|
+ if (!gagajf.validation('#moreBetterForm'))
|
|
|
+ return false;
|
|
|
+
|
|
|
+ // 행사기간 확인
|
|
|
+ let fromDate = $('#moreBetterForm input[name=tmtbStdt]').val();
|
|
|
+ let toDate = $('#moreBetterForm input[name=tmtbEddt]').val();
|
|
|
+
|
|
|
+ if (gagajf.isNull(fromDate) || gagajf.isNull(toDate)) {
|
|
|
+ mcxDialog.alert("행사 기간 시작일자와 종료일자를 입력하세요.");
|
|
|
+ $('#moreBetterForm input[name=tmtbStdt]').focus();
|
|
|
+ return false;
|
|
|
+ }
|
|
|
+
|
|
|
+ if (fromDate > toDate) {
|
|
|
+ mcxDialog.alert("시작일자는 종료일자 보다 클 수 없습니다.");
|
|
|
+ $('#moreBetterForm input[name=tmtbStdt]').focus();
|
|
|
+ return false;
|
|
|
+ }
|
|
|
+
|
|
|
+ // disabled 값 넘겨주기
|
|
|
+ $('#moreBetterForm input[name=tmtbSq]').val($('#moreBetterForm input[name=disTmtbSq]').val());
|
|
|
+ $('#moreBetterForm input[name=tmtbStat]').val($('input:radio[name="disTmtbStat"]:checked').val());
|
|
|
+
|
|
|
+ mcxDialog.confirm('수정하시겠습니까?', {
|
|
|
+ cancelBtnText: "취소",
|
|
|
+ sureBtnText: "확인",
|
|
|
+ sureBtnClick: function(){
|
|
|
+ var compAllData = gagaAgGrid.getAllRowData(gridOptionsFGCompanyList); //selectedRowData
|
|
|
+ var brandAllData = gagaAgGrid.getAllRowData(gridOptionsFGBrandList);
|
|
|
+ var applyAllData = gagaAgGrid.getAllRowData(gridOptionsFGApplyGoodsList);
|
|
|
+ var exceptAllData = gagaAgGrid.getAllRowData(gridOptionsFGExceptGoodsList);
|
|
|
+ var burdenAllData = gagaAgGrid.getAllRowData(gridOptionsApplyBurdenList);
|
|
|
+ var sectionGbAllData = gagaAgGrid.getAllRowData(gridOptionsSectionGbList);
|
|
|
+
|
|
|
+ var jsonSupplyCompData = JSON.stringify(compAllData);
|
|
|
+ $('#moreBetterForm input[name=supplyCompList]').val(jsonSupplyCompData);
|
|
|
+ var jsonBrandData = JSON.stringify(brandAllData);
|
|
|
+ $('#moreBetterForm input[name=brandList]').val(jsonBrandData);
|
|
|
+ var jsonApplyData = JSON.stringify(applyAllData);
|
|
|
+ $('#moreBetterForm input[name=applyGoodsList]').val(jsonApplyData);
|
|
|
+ var jsonExceptData = JSON.stringify(exceptAllData);
|
|
|
+ $('#moreBetterForm input[name=exceptGoodsList]').val(jsonExceptData);
|
|
|
+ var jsonSectionGbData = JSON.stringify(sectionGbAllData);
|
|
|
+ $('#moreBetterForm input[name=sectionGbList]').val(jsonSectionGbData);
|
|
|
+ var jsonBurdenData = JSON.stringify(burdenAllData);
|
|
|
+ $('#moreBetterForm input[name=burdenList]').val(jsonBurdenData);
|
|
|
+
|
|
|
+ var jsonData = JSON.stringify($('#moreBetterForm').serializeObject());
|
|
|
+ gagajf.ajaxJsonSubmit($('#moreBetterForm').prop('action'), jsonData, function() {
|
|
|
+ fnMorebetterFormClose();
|
|
|
+ $('#btnInit').trigger('click');
|
|
|
+ $('#btnSearch').trigger('click');
|
|
|
+ });
|
|
|
+ }
|
|
|
+ });
|
|
|
+ });
|
|
|
+
|
|
|
$(document).ready(function() {
|
|
|
|
|
|
});
|