|
|
@@ -95,8 +95,8 @@
|
|
|
</td>
|
|
|
<th>노출여부<i class="required" title="필수"></i></th>
|
|
|
<td>
|
|
|
- <label class="rdoBtn"><input type="radio" name="dispYn" value="Y" checked="checked"/>Y</label>
|
|
|
- <label class="rdoBtn"><input type="radio" name="dispYn" value="N">N</label>
|
|
|
+ <label class="rdoBtn"><input type="radio" name="dispYn" value="Y"/>Y</label>
|
|
|
+ <label class="rdoBtn"><input type="radio" name="dispYn" value="N" checked="checked">N</label>
|
|
|
</td>
|
|
|
</tr>
|
|
|
<tr>
|
|
|
@@ -105,9 +105,9 @@
|
|
|
<div class="uFile w300">
|
|
|
<input id="file" name="file" type="file" class="uFileInput w300"/>
|
|
|
<label for="file" class="uFileLabel">파일선택</label>
|
|
|
- <input type="hidden" name="orgTnfileNm"/>
|
|
|
- <input type="hidden" name="sysTnfileNm"/>
|
|
|
- <input type="hidden" name="newSysTnfileNm"/>
|
|
|
+ <input type="hidden" name="orgTnfileNm" value=""/>
|
|
|
+ <!--<input type="hidden" name="sysTnfileNm"/>-->
|
|
|
+ <input type="hidden" name="newSysTnfileNm" value=""/>
|
|
|
</div>
|
|
|
<input type="hidden" name="uploadDefaultUrl" id="uploadDefaultUrl" th:value="${@environment.getProperty('upload.image.view') + '/display/lookbook/thumbnail/'}"/>
|
|
|
<div id="imgView" class="off">
|
|
|
@@ -128,6 +128,10 @@
|
|
|
</div>
|
|
|
<script type="text/javascript" src="/ux/plugins/gaga/gaga.paging.js?v=2019072202"></script>
|
|
|
<script th:inline="javascript">
|
|
|
+/*<![CDATA[*/
|
|
|
+ var mode = [[${mode}]];
|
|
|
+ var lookbookMstInfo = [[${lookbookMstInfo}]];
|
|
|
+ var lookbookBannerList = [[${lookbookBannerList}]];
|
|
|
|
|
|
var bannerIdx = 0;
|
|
|
$("#btnAddBanner").on('click', function(){
|
|
|
@@ -141,11 +145,12 @@
|
|
|
html += ' <col style="width:5%"/>';
|
|
|
html += ' </colgroup>';
|
|
|
html += ' <thead>';
|
|
|
- html += ' <tr>';
|
|
|
+ html += fnAddBannerImgRow();
|
|
|
+ /*html += ' <tr>';
|
|
|
html += ' <th>배너이미지</th>';
|
|
|
html += ' <td>';
|
|
|
html += ' <div class="uFile w300">';
|
|
|
- html += ' <input id="bannerFile'+bannerIdx+'" name="file" type="file" class="uFileInput w300" onchange="fnBannerImgFileUpload(this, ' + bannerIdx + ')"">';
|
|
|
+ html += ' <input id="bannerFile'+bannerIdx+'" name="file" type="file" class="uFileInput w300" onchange="fnBannerImgFileUpload(this, ' + bannerIdx + ');">';
|
|
|
html += ' <label for="bannerFile'+bannerIdx+'" class="uFileLabel">파일선택</label>';
|
|
|
html += ' <input type="hidden" name="bannerImgPath" value="">';
|
|
|
html += ' <input type="hidden" name="bannerNewImgFile" value="">';
|
|
|
@@ -156,8 +161,10 @@
|
|
|
html += ' </td>';
|
|
|
html += ' <th>이미지설명</th>';
|
|
|
html += ' <td><textarea class="textareaR4" name="imgDesc" id="imgDesc'+bannerIdx+'"></textarea></td>';
|
|
|
- html += ' <td><input name="dispOrd" type="text" class="w80" placeholder="전시순서" style="margin-left:5px; text-align:center"/><button type="button" class="btn btn-danger btn-lg" onclick="fnDeleteBanner(this);">삭제</button></td>';
|
|
|
- html += ' </tr>';
|
|
|
+ html += ' <td><input name="dispOrd" type="text" class="w80" placeholder="전시순서" style="margin-left:5px; text-align:center"/>';
|
|
|
+ //html += ' <button type="button" class="btn btn-success btn-lg" onclick="fnAddPicker(this);">피커추가</button>';
|
|
|
+ html += ' <button type="button" class="btn btn-danger btn-lg" onclick="fnDeleteBanner(this);">삭제</button></td>';
|
|
|
+ html += ' </tr>';*/
|
|
|
html += ' </thead>';
|
|
|
html += '</table>';
|
|
|
|
|
|
@@ -183,6 +190,7 @@
|
|
|
gagajf.ajaxFileUpload('/common/file/upload?subDir=/display/lookbook/banner/'
|
|
|
, file
|
|
|
, function(result) {
|
|
|
+ $(obj).closest('div').find('input:hidden[name=bannerImgPath]').val(result.oldFileName);
|
|
|
$(obj).closest('div').find('input:hidden[name=bannerNewImgFile]').val(result.newFileName);
|
|
|
$("#lbBannerForm #bannerPreViewUrl_"+idx).attr('src', $("#lbBannerForm #uploadDefaultBannerUrlPop").val()+result.newFileName);
|
|
|
$("#lbBannerForm #bannerImgView_"+idx).removeClass("off").addClass("on");
|
|
|
@@ -191,13 +199,6 @@
|
|
|
);
|
|
|
}
|
|
|
|
|
|
- var fnResetIdx = function (){
|
|
|
- $(".bannerTableC").each(function (i){
|
|
|
- $(this).attr('id','bannerTable'+i);
|
|
|
- $(this).find("input[name=dispOrd]").val(i+1);
|
|
|
- });
|
|
|
- }
|
|
|
-
|
|
|
/**
|
|
|
* 저장
|
|
|
*/
|
|
|
@@ -212,8 +213,7 @@
|
|
|
return false;
|
|
|
}
|
|
|
|
|
|
- var orgTnfileNm = $('#lbBannerForm input[name=sysTnfileNm]').val();
|
|
|
- var sysTnfileNm = $('#lbBannerForm input[name=sysTnfileNm]').val();
|
|
|
+ var orgTnfileNm = $('#lbBannerForm input[name=orgTnfileNm]').val();
|
|
|
var newSysTnfileNm = $('#lbBannerForm input[name=newSysTnfileNm]').val();
|
|
|
|
|
|
var fromDate = $('#lbBannerForm input[name=lbDispStdt]').val().replace(/[^0-9]/g, '')+$('#lbBannerForm #lbStTimeHour').val()+$('#lbBannerForm #lbStTimeMin').val()+'00';
|
|
|
@@ -224,7 +224,7 @@
|
|
|
var bannerIndex=0;
|
|
|
$(".bannerTableC").each(function (){
|
|
|
var bannerInfo = {
|
|
|
- orgFileNm : $(this).find("input[name=bannerNewImgFile]").val()
|
|
|
+ orgFileNm : $(this).find("input[name=bannerImgPath]").val()
|
|
|
,sysFileNm : $(this).find("input[name=bannerNewImgFile]").val()
|
|
|
,imgDesc : $(this).find("textarea[name=imgDesc]").val()
|
|
|
,dispOrd : $(this).find("input[name=dispOrd]").val()
|
|
|
@@ -247,11 +247,11 @@
|
|
|
,dispEddt : toDate
|
|
|
,dispYn : $('#lbBannerForm input[name=dispYn]:checked').val()
|
|
|
,orgTnfileNm : orgTnfileNm
|
|
|
- ,sysTnfileNm : sysTnfileNm
|
|
|
,newSysTnfileNm : newSysTnfileNm
|
|
|
,mainDispYn : 'N'
|
|
|
,dispOrd : 1
|
|
|
,bannerList : bannerList
|
|
|
+ ,mode : mode
|
|
|
};
|
|
|
|
|
|
var jsonData = JSON.stringify(data);
|
|
|
@@ -288,7 +288,7 @@
|
|
|
gagajf.ajaxFileUpload('/common/file/upload?subDir=/display/lookbook/thumbnail'
|
|
|
, file
|
|
|
, function(result) {
|
|
|
- $('#lbBannerForm input[name=sysTnfileNm]').val(result.oldFileName);
|
|
|
+ $('#lbBannerForm input[name=orgTnfileNm]').val(result.oldFileName);
|
|
|
$('#lbBannerForm input[name=newSysTnfileNm]').val(result.newFileName);
|
|
|
$("#lbBannerForm #bannerPreViewUrl").attr('src', $("#lbBannerForm #uploadDefaultUrl").val()+result.newFileName);
|
|
|
$("#lbBannerForm #imgView").removeClass("off").addClass("on");
|
|
|
@@ -304,7 +304,136 @@
|
|
|
}
|
|
|
});
|
|
|
|
|
|
+ /**
|
|
|
+ * 배너 리스트
|
|
|
+ */
|
|
|
+ var fnCreateLookbookLayout = function (){
|
|
|
+ //마스터정보 셋팅
|
|
|
+ var dispStdt = lookbookMstInfo.dispStdt.split(" ");
|
|
|
+ var dispStTime = dispStdt[1].replace(/[^0-9]/g, '');
|
|
|
+ var dispEddt = lookbookMstInfo.dispEddt.split(" ");
|
|
|
+ var dispEdTime = dispEddt[1].replace(/[^0-9]/g, '');
|
|
|
+ $("#lbBannerForm input[name=lbDispStdt]").val(dispStdt[0]);
|
|
|
+ $("#lbBannerForm #lbStTimeHour").val(dispStTime.substr(0,2));
|
|
|
+ $("#lbBannerForm #lbStTimeMin").val(dispStTime.substr(2,2));
|
|
|
+ $("#lbBannerForm input[name=lbDispEddt]").val(dispEddt[0]);
|
|
|
+ $("#lbBannerForm #lbEdTimeHour").val(dispEdTime.substr(0,2));
|
|
|
+ $("#lbBannerForm #lbEdTimeMin").val(dispEdTime.substr(2,2));
|
|
|
+ $("#lbBannerForm input[name=title]").val(lookbookMstInfo.title);
|
|
|
+ $("#lbBannerForm select[name=brandCd]").val(lookbookMstInfo.brandCd);
|
|
|
+ $('input:radio[name="dispYn"]:radio[value='+lookbookMstInfo.dispYn+']').prop('checked', true);
|
|
|
+ var tnImgPath = lookbookMstInfo.sysTnfileNm;
|
|
|
+ var tnSrc = $("#uploadDefaultUrl").val().replace('/lookbook/thumbnail/', '');
|
|
|
+ tnSrc = tnSrc + tnImgPath;
|
|
|
+ $("#lbBannerForm input[name=orgTnfileNm]").val(tnImgPath);
|
|
|
+ $("#lbBannerForm #bannerPreViewUrl").attr('src', tnSrc);
|
|
|
+ $("#lbBannerForm #imgView").removeClass("off").addClass("on");
|
|
|
+
|
|
|
+ if(lookbookBannerList.length > 0){
|
|
|
+ for(let i=0; i<lookbookBannerList.length; i++){
|
|
|
+ var html = '';
|
|
|
+ var imgPath = lookbookBannerList[i].sysFileNm;
|
|
|
+ var src = $("#uploadDefaultBannerUrlPop").val().replace('/lookbook/banner/', '');
|
|
|
+ src = src + imgPath;
|
|
|
+ html += '<table class="frmStyle bannerTableC" id="bannerTable'+i+'">';
|
|
|
+ html += ' <input type="hidden" name="lookbookbSq" value="'+lookbookBannerList[i].lookbookbSq+'">';
|
|
|
+ html += ' <colgroup>';
|
|
|
+ html += ' <col style="width:10%"/>';
|
|
|
+ html += ' <col style="width:30%"/>';
|
|
|
+ html += ' <col style="width:10%"/>';
|
|
|
+ html += ' <col style="width:45%"/>';
|
|
|
+ html += ' <col style="width:5%"/>';
|
|
|
+ html += ' </colgroup>';
|
|
|
+ html += ' <thead>';
|
|
|
+ html += fnAddBannerImgRow(imgPath,lookbookBannerList[i].imgDesc,lookbookBannerList[i].dispOrd);
|
|
|
+ /*html += ' <tr>';
|
|
|
+ html += ' <th>배너이미지</th>';
|
|
|
+ html += ' <td>';
|
|
|
+ html += ' <div class="uFile w300">';
|
|
|
+ html += ' <input id="bannerFile'+i+'" name="file" type="file" class="uFileInput w300" onchange="fnBannerImgFileUpload(this, '+i+');">';
|
|
|
+ html += ' <label for="bannerFile'+i+'" class="uFileLabel">파일선택</label>';
|
|
|
+ html += ' <input type="hidden" name="bannerImgPath" value="'+imgPath+'">';
|
|
|
+ html += ' <input type="hidden" name="bannerNewImgFile" value="">';
|
|
|
+ html += ' </div>';
|
|
|
+ html += ' <div id="bannerImgView_'+i+'">';
|
|
|
+ html += ' <img id="bannerPreViewUrl_'+i+'" src="'+src+'" style="height:100px; max-width:500px;"/>';
|
|
|
+ html += ' </div>';
|
|
|
+ html += ' </td>';
|
|
|
+ html += ' <th>이미지설명</th>';
|
|
|
+ html += ' <td><textarea class="textareaR4" name="imgDesc" id="imgDesc'+i+'">'+lookbookBannerList[i].imgDesc+'</textarea></td>';
|
|
|
+ html += ' <td><input name="dispOrd" type="text" class="w80" placeholder="전시순서" style="margin-left:5px; text-align:center" value="'+lookbookBannerList[i].dispOrd+'"/>';
|
|
|
+ html += ' <button type="button" class="btn btn-success btn-lg" onclick="fnAddPicker(this);">피커추가</button>';
|
|
|
+ html += ' <button type="button" class="btn btn-danger btn-lg" onclick="fnDeleteBanner(this);">삭제</button></td>';
|
|
|
+ html += ' </tr>';*/
|
|
|
+ html += ' </thead>';
|
|
|
+ html += '</table>';
|
|
|
+
|
|
|
+ $("#bannerDiv").append(html);
|
|
|
+ $("#bannerDiv").sortable();
|
|
|
+ fnResetIdx();
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ var bannerImgRow = 0;
|
|
|
+ var fnAddBannerImgRow = function (param, imgdesc, dispord){
|
|
|
+ var src = '';
|
|
|
+ var imgPath = '';
|
|
|
+ var desc = '';
|
|
|
+ if(!gagajf.isNull(imgdesc)){
|
|
|
+ desc = imgdesc;
|
|
|
+ }
|
|
|
+ if(!gagajf.isNull(param) && typeof param!='object'){
|
|
|
+ src = $("#uploadDefaultBannerUrlPop").val().replace('/lookbook/banner/', '')+param;
|
|
|
+ imgPath = param;
|
|
|
+ }
|
|
|
+ var html = '';
|
|
|
+ html += ' <tr class="bannerImgTr">';
|
|
|
+ html += ' <th>배너이미지</th>';
|
|
|
+ html += ' <td>';
|
|
|
+ html += ' <div class="uFile w300">';
|
|
|
+ html += ' <input id="bannerFile'+bannerImgRow+'" name="file" type="file" class="uFileInput w300" onchange="fnBannerImgFileUpload(this, '+bannerImgRow+');">';
|
|
|
+ html += ' <label for="bannerFile'+bannerImgRow+'" class="uFileLabel">파일선택</label>';
|
|
|
+ html += ' <input type="hidden" name="bannerImgPath" value="'+imgPath+'">';
|
|
|
+ html += ' <input type="hidden" name="bannerNewImgFile" value="">';
|
|
|
+ html += ' </div>';
|
|
|
+ html += ' <div id="bannerImgView_'+bannerImgRow+'">';
|
|
|
+ html += ' <img id="bannerPreViewUrl_'+bannerImgRow+'" src="'+src+'" style="height:100px; max-width:500px;"/>';
|
|
|
+ html += ' </div>';
|
|
|
+ html += ' </td>';
|
|
|
+ html += ' <th>이미지설명</th>';
|
|
|
+ html += ' <td><textarea class="textareaR4" name="imgDesc" id="imgDesc'+bannerImgRow+'">'+desc+'</textarea></td>';
|
|
|
+ html += ' <td><input name="dispOrd" type="text" class="w80" placeholder="전시순서" style="margin-left:5px; text-align:center" value="'+dispord+'"/>';
|
|
|
+ html += ' <button type="button" class="btn btn-success btn-lg" onclick="fnAddPicker(this,\''+imgPath+'\');">피커추가</button>';
|
|
|
+ html += ' <button type="button" class="btn btn-danger btn-lg" onclick="fnDeleteBanner(this);">삭제</button></td>';
|
|
|
+ html += ' </tr>';
|
|
|
+ if(typeof param == 'object'){
|
|
|
+ bannerImgRow++;
|
|
|
+ $(param).closest("table").find("tbody").append(html);
|
|
|
+ }else{
|
|
|
+ bannerImgRow++;
|
|
|
+ return html;
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ var fnAddPicker = function (obj, imgpath){
|
|
|
+ var lookbookbSq = $(obj).closest("table").find("input[name=lookbookbSq]").val();
|
|
|
+ var imgNm = imgpath;
|
|
|
+ cfnOpenLookbookBannerPickerPopup(lookbookbSq,imgNm);
|
|
|
+ }
|
|
|
+
|
|
|
+ var fnResetIdx = function (){
|
|
|
+ $(".bannerTableC").each(function (i){
|
|
|
+ $(this).attr('id','bannerTable'+i);
|
|
|
+ $(this).find("input[name=dispOrd]").val(i+1);
|
|
|
+ });
|
|
|
+ }
|
|
|
+
|
|
|
$(document).ready(function() {
|
|
|
+ // 상세/수정일때
|
|
|
+ if(mode != 'N'){
|
|
|
+ fnCreateLookbookLayout();
|
|
|
+ }
|
|
|
//sortable Item List
|
|
|
$("#bannerDiv").sortable({
|
|
|
stop: function(event, ui) {
|
|
|
@@ -312,5 +441,6 @@
|
|
|
}
|
|
|
});
|
|
|
});
|
|
|
+/*]]>*/
|
|
|
</script>
|
|
|
</html>
|