|
|
@@ -125,16 +125,14 @@
|
|
|
html += ' <tbody>';
|
|
|
if(contentsLoc=='STAB001'){
|
|
|
for(var i=0; i<3; i++){
|
|
|
- html += ' <tr>';
|
|
|
- html += ' <th rowspan="2"><br><button type="button" class="btn btn-base btn-lg" onclick="fnSearchBrand(\''+addIdx+'\',i+1);">브랜드조회</button></th>';
|
|
|
- html += ' <td id="brandTitle"+i> 그룹타이틀:';
|
|
|
- html += ' <input type="text" name="brandGroup'+addIdx+'" id="bTitle"+i class="w200" value=""/>';
|
|
|
- html += ' </td>';
|
|
|
- html += ' </tr>';
|
|
|
- html += ' <tr>';
|
|
|
- html += ' <td name="brandArr'+addIdx+'" id="brandCdArr"+i>';
|
|
|
- html += ' <ul class="brandGroupUl">dddddd';
|
|
|
- html += ' </ul>';
|
|
|
+ html += ' <tr class="groupTr">';
|
|
|
+ html += ' <th>GROUP '+(i+1)+'<br><input type="text" name="brandGroup'+addIdx+'" id="bTitle'+(i+1)+'" class="w100" value=""/><br>';
|
|
|
+ html += ' <button type="button" class="btn btn-base btn-lg" onclick="fnSearchBrand(\''+addIdx+'\',\''+(i+1)+'\');">브랜드조회</button><br></th>';
|
|
|
+ html += ' <td colspan="2" name="brandArr'+addIdx+'" id="tabBrand'+(i+1)+'">';
|
|
|
+ html += ' <div class="sortableWrap" data-unit="7" style="overflow-y:scroll;">';
|
|
|
+ html += ' <div class="itemWrap ui-sortable" id="brandListTd'+(i+1)+'" data-id="'+(i+1)+'">';
|
|
|
+ html += ' </div>';
|
|
|
+ html += ' </div>';
|
|
|
html += ' </td>';
|
|
|
html += ' </tr>';
|
|
|
}
|
|
|
@@ -169,6 +167,13 @@
|
|
|
changeYear: true,
|
|
|
defaultDate: $('.schDate').val()
|
|
|
});
|
|
|
+
|
|
|
+ if(contentsLoc=='STAB001'){
|
|
|
+ $("#brandListTd1").sortable();
|
|
|
+ $("#brandListTd2").sortable();
|
|
|
+ $("#brandListTd3").sortable();
|
|
|
+ }
|
|
|
+
|
|
|
tableIdx = tableIdx+1;
|
|
|
}
|
|
|
|
|
|
@@ -182,24 +187,37 @@
|
|
|
|
|
|
// 브랜드 코드, 브랜드 명, 브랜드 이미지 3개 불러와야함 -> 로직 수정 필요
|
|
|
var brandCdIdx=0;
|
|
|
- var callBackBrandGroup = function (result){
|
|
|
- if(gagajf.isNull($("#tabTable"+tabTableRow+" #tabBrand"+callbackBrandTr +" .brandGroupUl").find("input[data-id]:last").val())){
|
|
|
- brandCdIdx = 0;
|
|
|
- }else{
|
|
|
- brandCdIdx = parseInt($("#tabTable"+tabTableRow+" #tabBrand"+callbackBrandTr +" .brandGroupUl").find("input[data-id]:last").val())+1;
|
|
|
- }
|
|
|
+ var uploadGoodsUrl = [[${@environment.getProperty('domain.image')}]];
|
|
|
+ var callBackBrandGroup = function (result) {
|
|
|
var html = '';
|
|
|
|
|
|
- for(let i=0; i<result.length; i++){
|
|
|
- console.log('brandGroupNo:::'+result[i].brandGroupNo);
|
|
|
- html += '<span id="brandSpan'+brandCdIdx+'">';
|
|
|
- html += '<input type="hidden" name="hIdx" value="'+brandCdIdx+'" data-id="'+brandCdIdx+'">';
|
|
|
- html += ' <input type="text" class="w100" name="brandGroupNo" id="brandGroupNo_'+brandCdIdx+'" value="'+result[i].brandGroupNo+'" disabled="disabled"/>'
|
|
|
- html += ' <span style="margin-right:10px;"><a href="javascript:void(0);" onclick="fnRemoveBrand(this,'+brandCdIdx+');">X</a></span>';
|
|
|
- html += '</span>';
|
|
|
-
|
|
|
+ for (let i = 0; i < result.length; i++) {
|
|
|
+ html += '<ul id="brandUl' + brandCdIdx + '" class="item ui-state-default brandClass" style="min-height:130px;">';
|
|
|
+ html += ' <input type="hidden" name="brandGroupNo" value="' + result[i].brandGroupNo + '">';
|
|
|
+ html += ' <input type="hidden" name="imgPath1" value="' + result[i].logoFileNm + '">';
|
|
|
+ html += ' <li class="img">';
|
|
|
+ html += ' <img src="' + uploadGoodsUrl + "/" + result[i].logoFileNm + '" onerror="this.src=\'/image/no.gif\';"/>';
|
|
|
+ html += ' </li>';
|
|
|
+ html += ' <li class="cont">';
|
|
|
+ html += ' <ul>';
|
|
|
+ html += ' <li class="no" name="brandCdLi"><span>' + result[i].brandGroupNo + '</span>';
|
|
|
+ html += ' <span style="margin-left:5px;"><a href="javascript:void(0);" onclick="fnRemoveBrand(this,' + brandCdIdx + ');">X</a></span>';
|
|
|
+ html += ' </li>';
|
|
|
+ html += ' <li class="title">' + result[i].brandGroupNm + '</li>';
|
|
|
+ html += ' </ul>';
|
|
|
+ html += ' </li>';
|
|
|
+ html += '</ul>';
|
|
|
}
|
|
|
- $("#tabTable"+tabTableRow +" #tabBrand"+callbackBrandTr+" .brandGroupUl").append(html);
|
|
|
+ $("#tabTable" + tabTableRow + " #brandListTd" + callbackBrandTr).append(html);
|
|
|
+ brandCdIdx++;
|
|
|
+ }
|
|
|
+
|
|
|
+ var fnRemoveBrand = function (obj , idx){
|
|
|
+ var divId = $(obj).closest('div').attr('id');
|
|
|
+ console.log('divId>'+divId);
|
|
|
+ console.log('idx>'+idx);
|
|
|
+ $("#"+divId+" #brandUl"+idx).remove();
|
|
|
+ //fnReloadGoodsListIdx(divId);
|
|
|
}
|
|
|
|
|
|
// 카테고리 유형 선택
|
|
|
@@ -228,18 +246,177 @@
|
|
|
uifnPopupClose('popupMainGnbContents');
|
|
|
}
|
|
|
|
|
|
+ // 컨텐츠 행삭제
|
|
|
+ var fnDeleteContentsRow = function (obj){
|
|
|
+ $(obj).closest("table").remove();
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 임시저장
|
|
|
+ */
|
|
|
+ var dataArr = [];
|
|
|
+ $("#btnGnbTabSave").on('click', function(){
|
|
|
+ /*if(!gagajf.checkRequired("#gnbTabList")){
|
|
|
+ return;
|
|
|
+ }*/
|
|
|
+
|
|
|
+ dataArr = [];
|
|
|
+ $("#gnbTabList .tabTable").each(function (){
|
|
|
+ var newImgFileArr = [];
|
|
|
+ var imgPath1 = '';
|
|
|
+ var imgPath2 = '';
|
|
|
+ var imgPath3 = '';
|
|
|
+ var imgPath4 = '';
|
|
|
+ var strVar1 = '';
|
|
|
+ var strVar2 = '';
|
|
|
+ var strVar3 = '';
|
|
|
+ var strVar4 = '';
|
|
|
+ var strVar5 = '';
|
|
|
+ var strVar6 = '';
|
|
|
+ var strVar7 = '';
|
|
|
+ var strVar8 = '';
|
|
|
+ var strTitle1 = '';
|
|
|
+ var strTitle2 = '';
|
|
|
+ var strTitle3 = '';
|
|
|
+ var strTitle4 = '';
|
|
|
+ var subText1 = '';
|
|
|
+ var subText2 = '';
|
|
|
+ var subText3 = '';
|
|
|
+ var subText4 = '';
|
|
|
+ var i=1;
|
|
|
+
|
|
|
+ $(this).find(".brandClass").each(function (){
|
|
|
+ var idx = $(this).closest('div').attr('data-id');
|
|
|
+ strTitle1 = $(".groupTr").find("input[id=bTitle"+idx+"]").val();
|
|
|
+ var dispStdt = $('#gnbTabList input[name=dispStdt]').val().replace(/[^0-9]/g, '')+$('#gnbTabList').find("[name=stTimeHour]").val().replace('시', '')+$('#gnbTabList').find("[name=stTimeMin]").val().replace('분', '')+'00';
|
|
|
+ var dispEddt = $('#gnbTabList input[name=dispEddt]').val().replace(/[^0-9]/g, '')+$('#gnbTabList').find("[name=edTimeHour]").val().replace('시', '')+$('#gnbTabList').find("[name=edTimeMin]").val().replace('분', '')+'59';
|
|
|
+ var dispOrd = $(this).find("[name=dispOrd]").val();
|
|
|
+ strVar1 = $(this).find("input[name=brandGroupNo]").val();
|
|
|
+ imgPath1 = $(this).find("input[name=imgPath1]").val();
|
|
|
+
|
|
|
+ var data = {
|
|
|
+ cateNo : cateNo
|
|
|
+ , contentsLoc : contentsLoc
|
|
|
+ , dispStdt : dispStdt
|
|
|
+ , dispEddt : dispEddt
|
|
|
+ , newImgFileArr : newImgFileArr
|
|
|
+ , imgPath1 : imgPath1
|
|
|
+ , imgPath2 : imgPath2
|
|
|
+ , imgPath3 : imgPath3
|
|
|
+ , imgPath4 : imgPath4
|
|
|
+ , strVar1 : strVar1
|
|
|
+ , strVar2 : strVar2
|
|
|
+ , strVar3 : strVar3
|
|
|
+ , strVar4 : strVar4
|
|
|
+ , strVar5 : strVar5
|
|
|
+ , strVar6 : strVar6
|
|
|
+ , strVar7 : strVar7
|
|
|
+ , strVar8 : strVar8
|
|
|
+ , strTitle1 : strTitle1
|
|
|
+ , strTitle2 : strTitle2
|
|
|
+ , strTitle3 : strTitle3
|
|
|
+ , strTitle4 : strTitle4
|
|
|
+ , subText1 : subText1
|
|
|
+ , subText2 : subText2
|
|
|
+ , subText3 : subText3
|
|
|
+ , subText4 : subText4
|
|
|
+ , useYn : 'Y'
|
|
|
+ , dispOrd : dispOrd
|
|
|
+ };
|
|
|
+ dataArr.push(data);
|
|
|
+ });
|
|
|
+ });
|
|
|
+
|
|
|
+ var jsonData = JSON.stringify(dataArr);
|
|
|
+ mcxDialog.confirm('저장하시겠습니까?', {
|
|
|
+ cancelBtnText: "취소",
|
|
|
+ sureBtnText: "확인",
|
|
|
+ sureBtnClick: function(){
|
|
|
+ gagajf.ajaxJsonSubmit('/display/contents/preview/save', jsonData, fnGetBrandPreviewList);
|
|
|
+ }
|
|
|
+ });
|
|
|
+ });
|
|
|
+
|
|
|
// 브랜드 코드에 해당하는 브랜드 명, 브랜드 이미지 join해서 가져와야함 -> 로직 수정 필요
|
|
|
- var fnGetGnbBrandContentsPreviewList = function (){
|
|
|
+ var fnGetBrandPreviewList = function (result){
|
|
|
+ console.log('저장이됐다!?');
|
|
|
$("#gnbTabList").html('');
|
|
|
var data = {cateNo : cateNo
|
|
|
,contentsLoc : contentsLoc
|
|
|
};
|
|
|
var jsonData = JSON.stringify(data);
|
|
|
- gagajf.ajaxJsonSubmit('/display/contents/preview/list', jsonData, fnCreateGnbBrandLayout);
|
|
|
+ gagajf.ajaxJsonSubmit('/display/contents/tab/preview/list', jsonData, fnCreateBrandLayout);
|
|
|
}
|
|
|
|
|
|
- var fnCreateGnbBrandLayout = function (result){
|
|
|
+ var fnCreateBrandLayout = function (result){
|
|
|
+ var html = '';
|
|
|
+
|
|
|
+ for(var i=0; i<result.length; i++){
|
|
|
+ var dispStdt = result[i].dispStdt.split(" ");
|
|
|
+ var dispEddt = result[i].dispEddt.split(" ");
|
|
|
+ html += '<table class="frmStyle tabTable" style="margin-bottom:30px" id="tabTable'+i+'">';
|
|
|
+ html += '<input type="hidden" name="tableIdx" value="'+i+'" data-id="'+i+'" />';
|
|
|
+ html += ' <colgroup>';
|
|
|
+ html += ' <col style="width:10%;"/>';
|
|
|
+ html += ' <col style="width:55%;"/>';
|
|
|
+ html += ' <col/>';
|
|
|
+ html += ' </colgroup>';
|
|
|
+ html += ' <thead>';
|
|
|
+ html += ' <tr>';
|
|
|
+ html += ' <th>전시일시</th>';
|
|
|
+ html += ' <td><input name="dispStdt" type="text" class="w80 schDate" maxlength="10" required="required" data-valid-name="노출시작일" data-valid-type="calendar" value="'+dispStdt[0]+'"/>';
|
|
|
+ html += ' <select name="stTimeHour" required="required" data-valid-name="노출기간 시작시간">';
|
|
|
+ html += fnCreateTimeOption(24, dispStdt[1].split(":")[0]);
|
|
|
+ html += ' </select>';
|
|
|
+ html += ' <select name="stTimeMin" required="required" data-valid-name="노출기간 시작시간">';
|
|
|
+ html += fnCreateTimeOption(60, dispStdt[1].split(":")[1]);
|
|
|
+ html += ' </select>';
|
|
|
+ html += ' <span> ~ </span>';
|
|
|
+ html += ' <input name="dispEddt" type="text" class="w80 schDate" maxlength="10" required="required" data-valid-name="노출종료일" data-valid-type="calendar" value="'+dispEddt[0]+'"/>';
|
|
|
+ html += ' <select name="edTimeHour" required="required" data-valid-name="노출기간 종료시간">';
|
|
|
+ html += fnCreateTimeOption(24, dispEddt[1].split(":")[0]);
|
|
|
+ html += ' </select>';
|
|
|
+ html += ' <select name="edTimeMin" required="required" data-valid-name="노출기간 종료시간">';
|
|
|
+ html += fnCreateTimeOption(60, dispEddt[1].split(":")[1]);
|
|
|
+ html += ' </select>';
|
|
|
+ html += ' <input name="dispOrd" type="text" class="w80"placeholder="전시순서" style="margin-left:5px; text-align:center"/>';
|
|
|
+ html += ' </td>';
|
|
|
+ html += ' <td class="aL cateTypeBtnArea">';
|
|
|
+ html += ' <button type="button" class="btn btn-danger btn-lg" onclick="fnDeleteContentsRow(this);">삭제</button></td>';
|
|
|
+ html += ' </tr>';
|
|
|
+ html += ' </thead>';
|
|
|
+ html += ' <tbody>';
|
|
|
+ for(var j=0; j<3; j++){
|
|
|
+ html += ' <tr class="groupTr">';
|
|
|
+ html += ' <th>GROUP '+(j+1)+'<br><input type="text" name="brandGroup'+i+'" id="bTitle'+(j+1)+'" class="w100" value=""/><br>';
|
|
|
+ html += ' <button type="button" class="btn btn-base btn-lg" onclick="fnSearchBrand(\''+i+'\',\''+(j+1)+'\');">브랜드조회</button><br></th>';
|
|
|
+ html += ' <td colspan="2" name="brandArr'+i+'" id="tabBrand'+(j+1)+'">';
|
|
|
+ html += ' <div class="sortableWrap" data-unit="7" style="overflow-y:scroll;">';
|
|
|
+ html += ' <div class="itemWrap ui-sortable" id="brandListTd'+(j+1)+'" data-id="'+(j+1)+'">';
|
|
|
+ html += ' </div>';
|
|
|
+ html += ' </div>';
|
|
|
+ html += ' </td>';
|
|
|
+ html += ' </tr>';
|
|
|
+ }
|
|
|
+ html += ' </tbody>';
|
|
|
+ html += '</table>';
|
|
|
+ }
|
|
|
+ $("#gnbTabList").prepend(html);
|
|
|
+ $("#gnbTabList").sortable();
|
|
|
+ $('.schDate').datepicker("destroy");
|
|
|
+ $('.schDate').datepicker({
|
|
|
+ changeMonth: true,
|
|
|
+ changeYear: true,
|
|
|
+ defaultDate: $('.schDate').val()
|
|
|
+ });
|
|
|
|
|
|
+ if(contentsLoc=='STAB001'){
|
|
|
+ $("#brandListTd1").sortable();
|
|
|
+ $("#brandListTd2").sortable();
|
|
|
+ $("#brandListTd3").sortable();
|
|
|
+ }
|
|
|
+
|
|
|
+ tableIdx = tableIdx+1;
|
|
|
}
|
|
|
|
|
|
$(document).ready(function() {
|
|
|
@@ -251,9 +428,9 @@
|
|
|
});
|
|
|
|
|
|
if(contentsLoc=='STAB001'){
|
|
|
- fnGetGnbBrandContentsPreviewList();
|
|
|
+ fnGetBrandPreviewList();
|
|
|
}else{
|
|
|
- fnGetGnbCategoryContentsPreviewList();
|
|
|
+ //fnGetGnbCategoryContentsPreviewList();
|
|
|
}
|
|
|
|
|
|
});
|