|
|
@@ -14,7 +14,7 @@
|
|
|
* 1.0 2020.02.04 sowon 최초 작성
|
|
|
*******************************************************************************
|
|
|
-->
|
|
|
-<div class="modalPopup" data-width="1100" id="planRegisterFormDiv">
|
|
|
+<div class="modalPopup" data-width="1135" id="planRegisterFormDiv">
|
|
|
<div class="panelStyle">
|
|
|
<div class="panelTitle">
|
|
|
<h2 th:text="${'기획전 ' + (mode == 'N' ? '등록' : '수정')}"></h2>
|
|
|
@@ -37,23 +37,23 @@
|
|
|
<col/>
|
|
|
</colgroup>
|
|
|
<tr>
|
|
|
- <th>기획전구분<i class="star"></i></th>
|
|
|
+ <th>사이트</th>
|
|
|
+ <td>
|
|
|
+ <select name="siteCd" th:field="*{siteCd}">
|
|
|
+ <option value="">선택</option>
|
|
|
+ <option th:if="${siteList}" th:each="oneData, status : ${siteList}" th:value="${oneData.cd}" th:text="|${oneData.cdNm}|"></option>
|
|
|
+ </select>
|
|
|
+ </td>
|
|
|
+ <th>기획전구분<em class="required" title="필수"></em></th>
|
|
|
<td>
|
|
|
<select name="planGb" id="planGb" th:field="*{planGb}" onchange="fnChangePlanGb(this);">
|
|
|
<option value="P">기획전</option>
|
|
|
<option value="E">이벤트</option>
|
|
|
</select>
|
|
|
</td>
|
|
|
- <th>기획전탬플릿유형<i class="star"></i></th>
|
|
|
- <td colspan="3">
|
|
|
- <select name="templateType" th:field="*{templateType}">
|
|
|
- <option value="H">HTML</option>
|
|
|
- <option value="T">TEXT</option>
|
|
|
- </select>
|
|
|
- </td>
|
|
|
</tr>
|
|
|
<tr>
|
|
|
- <th>프론트 구분<i class="star"></i></th>
|
|
|
+ <th>프론트 구분<em class="required" title="필수"></em></th>
|
|
|
<td>
|
|
|
<select name="frontGb" id="frontGb" th:field="*{frontGb}">
|
|
|
<option value="A">전체</option>
|
|
|
@@ -61,14 +61,24 @@
|
|
|
<option value="M">모바일</option>
|
|
|
</select>
|
|
|
</td>
|
|
|
- <th>기획전명<i class="star"></i></th>
|
|
|
- <td colspan="3">
|
|
|
- <input type="text" name="planNm" id="planNm" th:field="*{planNm}"/>
|
|
|
+ <th>전시순서</th>
|
|
|
+ <td>
|
|
|
+ <input type="text" name="dispOrd" class="w100 aR" th:value="*{dispOrd}"/>
|
|
|
</td>
|
|
|
</tr>
|
|
|
<tr>
|
|
|
- <th>진행기간<i class="star"></i></th>
|
|
|
+ <th>기획전명<em class="required" title="필수"></em></th>
|
|
|
+ <td>
|
|
|
+ <input type="text" name="planNm" id="planNm" th:field="*{planNm}"/>
|
|
|
+ </td>
|
|
|
+ <th>서브제목<em class="required" title="필수"></em></th>
|
|
|
<td>
|
|
|
+ <input type="text" name="dtlTitle1" id="dtlTitle1" th:value="*{dtlTitle1}"/>
|
|
|
+ </td>
|
|
|
+ </tr>
|
|
|
+ <tr>
|
|
|
+ <th>진행기간<em class="required" title="필수"></em></th>
|
|
|
+ <td colspan="3">
|
|
|
<input type="text" class="schDate w100" name="startSearchDate" maxlength="10" required="required" data-valid-name="노출기간" th:field="*{startSearchDate}"/>
|
|
|
<select name="startSearchHour" required="required" data-valid-name="진행기간 시작시간">
|
|
|
<th:block th:each="num, index : ${#numbers.sequence(0,23)}">
|
|
|
@@ -95,19 +105,16 @@
|
|
|
<input type="hidden" name="dispStdt" id="dispStdt"/>
|
|
|
<input type="hidden" name="dispEddt" id="dispEddt"/>
|
|
|
</td>
|
|
|
- <th>서브제목</th>
|
|
|
- <td colspan="3">
|
|
|
- <input type="text" name="dtlTitle1" id="dtlTitle1" th:value="*{dtlTitle1}"/>
|
|
|
- </td>
|
|
|
+
|
|
|
</tr>
|
|
|
<tr>
|
|
|
- <th>코너명노출 여부<i class="star"></i></th>
|
|
|
+ <th>코너명노출 여부<em class="required" title="필수"></em></th>
|
|
|
<td>
|
|
|
<select name="cornerNmDispYn" th:field="*{cornerNmDispYn}">
|
|
|
<option th:if="${useYnList}" th:each="oneData, status : ${useYnList}" th:value="${oneData.cd}" th:selected="${oneData.cd} == 'Y'" th:text="|${oneData.cdNm}|"></option>
|
|
|
</select>
|
|
|
</td>
|
|
|
- <th>오픈여부<i class="star"></i></th>
|
|
|
+ <th>오픈여부<em class="required" title="필수"></em></th>
|
|
|
<td>
|
|
|
<select name="openYn" th:field="*{openYn}">
|
|
|
<option th:if="${useYnList}" th:each="oneData, status : ${useYnList}" th:value="${oneData.cd}" th:selected="${oneData.cd} == 'Y'" th:text="|${oneData.cdNm}|"></option>
|
|
|
@@ -115,17 +122,6 @@
|
|
|
</td>
|
|
|
</tr>
|
|
|
<tr>
|
|
|
- <th>사이트<i class="star"></i></th>
|
|
|
- <td>
|
|
|
- <select name="siteCd" th:field="*{siteCd}">
|
|
|
- <option value="">선택</option>
|
|
|
- <option th:if="${siteList}" th:each="oneData, status : ${siteList}" th:value="${oneData.cd}" th:text="|${oneData.cdNm}|"></option>
|
|
|
- </select>
|
|
|
- </td>
|
|
|
- <th>전시순서</th>
|
|
|
- <td>
|
|
|
- <input type="text" name="dispOrd" class="w100 aR" th:value="*{dispOrd}"/>
|
|
|
- </td>
|
|
|
</tr>
|
|
|
<tr>
|
|
|
<th>사용고객등급구분<em class="required" title="필수"></em></th>
|
|
|
@@ -143,18 +139,12 @@
|
|
|
</tr>
|
|
|
<tr>
|
|
|
<th>제휴채널<em class="required" title="필수"></em></th>
|
|
|
- <td>
|
|
|
+ <td colspan="3">
|
|
|
<label class="chkBox" th:if="${upperAfLinkCdList}" th:each="oneData, status : ${upperAfLinkCdList}">
|
|
|
<input type="checkbox" name="upperAfLinkCdArr" th:value="${oneData.cd}" th:text="${oneData.cdNm}"/>
|
|
|
</label>
|
|
|
</td>
|
|
|
- <th>댓글여부</th>
|
|
|
- <td>
|
|
|
- <select name="replyYn" th:field="*{replyYn}">
|
|
|
- <option value="">선택</option>
|
|
|
- <option th:if="${useYnList}" th:each="oneData, status : ${useYnList}" th:value="${oneData.cd}" th:text="|${oneData.cdNm}|"></option>
|
|
|
- </select>
|
|
|
- </td>
|
|
|
+
|
|
|
</tr>
|
|
|
<tr>
|
|
|
<th>PC 메인 이미지<i id="pMimgStar"></i><br/>[삭제여부<label class="chkBox"><input type="checkbox" name="orgMainPimgDelYn" value="Y"/></label>]</th>
|
|
|
@@ -188,6 +178,56 @@
|
|
|
</div>
|
|
|
</td>
|
|
|
</tr>
|
|
|
+ <tr>
|
|
|
+ <th>댓글여부</th>
|
|
|
+ <td colspan="3">
|
|
|
+ <select name="replyYn" th:field="*{replyYn}">
|
|
|
+ <option th:if="${useYnList}" th:each="oneData, status : ${useYnList}" th:value="${oneData.cd}" th:text="|${oneData.cdNm}|"></option>
|
|
|
+ </select>
|
|
|
+ </td>
|
|
|
+ </tr>
|
|
|
+ <tr style="display:none" id="append1">
|
|
|
+ <th>댓글제목<em class="required" title="필수"></em></th>
|
|
|
+ <td>
|
|
|
+ <input type="text" name="replyTitle1" id="replyTitle1" maxlength="50" required="required" data-valid-name="댓글제목" th:field="*{replyTitle1}"/>
|
|
|
+ </td>
|
|
|
+
|
|
|
+ <th>댓글서브제목<em class="required" title="필수"></em></th>
|
|
|
+ <td>
|
|
|
+ <input type="text" name="replyTitle2" id="replyTitle2" maxlength="50" required="required" data-valid-name="댓글서브제목" th:field="*{replyTitle2}"/>
|
|
|
+ </td>
|
|
|
+
|
|
|
+ </tr>
|
|
|
+ <tr style="display:none" id="append2">
|
|
|
+ <th>댓글위치<em class="required" title="필수"></em></th>
|
|
|
+ <td>
|
|
|
+ <label class="rdoBtn"><input type="radio" name="replyLoc" value="U" />상품리스트 상단</label>
|
|
|
+ <label class="rdoBtn"><input type="radio" name="replyLoc" value="D"/>상품리스트 하단</label>
|
|
|
+ </td>
|
|
|
+
|
|
|
+ <th>투표일련번호<em class="required" title="필수"></em></th>
|
|
|
+ <td>
|
|
|
+ <input type="text" class="w100 aR" name="pollSq" th:field="*{pollSq}"/>
|
|
|
+ </td>
|
|
|
+
|
|
|
+ </tr>
|
|
|
+ <tr style="display:none" id="append3">
|
|
|
+ <th>댓글이미지<em class="required" title="필수"></em><br/>[삭제여부<label class="chkBox"><input type="checkbox" name="orgReplyImgDelYn" value="Y"/></label>]</th>
|
|
|
+ <td>
|
|
|
+ <div th:if=*{replyImg} id="replyImgView" style="float:left;">
|
|
|
+ <img id="replyImgUrl" th:src="${@environment.getProperty('upload.image.view') + '/planning/'} + *{replyImg}" style="max-width:720px;"/>
|
|
|
+ </div>
|
|
|
+ </td>
|
|
|
+ <td colspan="5">
|
|
|
+ <div class="uFile w400">
|
|
|
+ <input id="registerReplyImg" name="registerReplyImg" type="file" accept="image/*" class="uFileInput w400"/>
|
|
|
+ <label for="registerReplyImg" class="uFileLabel w400">파일선택</label>
|
|
|
+ <input type="hidden" name="orgReplyImg" id="orgReplyImg" th:value="*{replyImg}"/>
|
|
|
+ <input type="hidden" name="replyImg" id="replyImg" th:value="*{replyImg}"/>
|
|
|
+ </div>
|
|
|
+ </td>
|
|
|
+
|
|
|
+ </tr>
|
|
|
</tbody>
|
|
|
<tbody>
|
|
|
<!-- <tr>
|
|
|
@@ -207,10 +247,11 @@
|
|
|
</td>
|
|
|
</tr> -->
|
|
|
</table>
|
|
|
+
|
|
|
<div class="panelStyle" style="margin: unset;">
|
|
|
<!-- TITLE -->
|
|
|
<div class="panelTitle">
|
|
|
- <h2>카테고리 / 브랜드 등록</h2>
|
|
|
+ <h2>기획전 컨텐츠 등록</h2>
|
|
|
<span class="panelControl"> <i
|
|
|
class="fa inner-fa-chevron-up"></i> <!-- 열림/닫힘 화살표 -->
|
|
|
</span>
|
|
|
@@ -224,7 +265,7 @@
|
|
|
<col width="90%" />
|
|
|
</colgroup>
|
|
|
<tr>
|
|
|
- <th>카테고리/브랜드</th>
|
|
|
+ <th> 기획전 컨텐츠 </th>
|
|
|
<td>
|
|
|
<!-- 수정시 프로모션명 입력 : before -->
|
|
|
<div class="padding10"
|
|
|
@@ -234,31 +275,8 @@
|
|
|
<span class="buttonSpan">
|
|
|
<button type="button"
|
|
|
class="btn btnRight btn-success btn-lg"
|
|
|
- id="btnAddCate">카테고리 추가</button>
|
|
|
- <button type="button"
|
|
|
- class="btn btnRight btn-success btn-lg"
|
|
|
- id="btnDeleteCate">선택삭제</button>
|
|
|
+ onclick="fnPlanTemplatePopup();">기획전 템플릿</button>
|
|
|
</span> <br />
|
|
|
- <div id="gridFGCateList"
|
|
|
- style="width: 100%; height: 200px;"
|
|
|
- class="ag-theme-balham"></div>
|
|
|
- </div>
|
|
|
- </div>
|
|
|
- <div class="padding10"
|
|
|
- style="display: inline-block; width: 49%;">
|
|
|
- <!--<span>브랜드 설정</span>-->
|
|
|
- <div class="padding10 inner-tb-solid">
|
|
|
- <span class="buttonSpan">
|
|
|
- <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>
|
|
|
- </span> <br />
|
|
|
- <div id="gridFGBrandList"
|
|
|
- style="width: 100%; height: 200px;"
|
|
|
- class="ag-theme-balham"></div>
|
|
|
</div>
|
|
|
</div>
|
|
|
</td>
|
|
|
@@ -267,6 +285,64 @@
|
|
|
</div>
|
|
|
</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="panelContent">
|
|
|
+ <table class="frmStyle">
|
|
|
+ <colgroup>
|
|
|
+ <col width="10%" />
|
|
|
+ <col width="90%" />
|
|
|
+ </colgroup>
|
|
|
+ <tr>
|
|
|
+ <th>카테고리/브랜드</th>
|
|
|
+ <td>
|
|
|
+ <!-- 수정시 프로모션명 입력 : before -->
|
|
|
+ <div class="padding10"
|
|
|
+ style="display: inline-block; width: 49%;">
|
|
|
+ <!--<span>공급업체 설정</span>-->
|
|
|
+ <div class="padding10 inner-tb-solid">
|
|
|
+ <span class="buttonSpan">
|
|
|
+ <button type="button"
|
|
|
+ class="btn btnRight btn-success btn-lg"
|
|
|
+ id="btnAddCate">카테고리 추가</button>
|
|
|
+ <button type="button"
|
|
|
+ class="btn btnRight btn-success btn-lg"
|
|
|
+ id="btnDeleteCate">선택삭제</button>
|
|
|
+ </span> <br />
|
|
|
+ <div id="gridFGCateList"
|
|
|
+ style="width: 100%; height: 200px;"
|
|
|
+ class="ag-theme-balham"></div>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ <div class="padding10"
|
|
|
+ style="display: inline-block; width: 49%;">
|
|
|
+ <!--<span>브랜드 설정</span>-->
|
|
|
+ <div class="padding10 inner-tb-solid">
|
|
|
+ <span class="buttonSpan">
|
|
|
+ <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>
|
|
|
+ </span> <br />
|
|
|
+ <div id="gridFGBrandList"
|
|
|
+ style="width: 100%; height: 200px;"
|
|
|
+ class="ag-theme-balham"></div>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ </td>
|
|
|
+ </tr>
|
|
|
+ </table>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
</div>
|
|
|
<div style='margin: 13px;'>
|
|
|
<ul class="panelBar">
|
|
|
@@ -286,7 +362,7 @@
|
|
|
<div>
|
|
|
<table class="frmStyle">
|
|
|
<colgroup>
|
|
|
- <col style="width:13%;"/>
|
|
|
+ <col style="width:12.5%;"/>
|
|
|
<col/>
|
|
|
</colgroup>
|
|
|
<tr>
|
|
|
@@ -314,24 +390,22 @@
|
|
|
<col/>
|
|
|
</colgroup>
|
|
|
<tr>
|
|
|
- <th>기획전구분<i class="star"></i></th>
|
|
|
+ <th>사이트<i class="star"></i></th>
|
|
|
+ <td>
|
|
|
+ <select name="siteCd" required="required" data-valid-name="사이트">
|
|
|
+ <option th:if="${siteList}" th:each="oneData, status : ${siteList}" th:value="${oneData.cd}" th:text="|${oneData.cdNm}|"></option>
|
|
|
+ </select>
|
|
|
+ </td>
|
|
|
+ <th>기획전구분<em class="required" title="필수"></em></th>
|
|
|
<td>
|
|
|
<select name="planGb" required="required" data-valid-name="기획전구분" onchange="fnChangePlanGb(this);">
|
|
|
<option value="P">기획전</option>
|
|
|
<option value="E">이벤트</option>
|
|
|
</select>
|
|
|
</td>
|
|
|
- <th>기획전탬플릿유형<i class="star"></i></th>
|
|
|
- <td colspan="3">
|
|
|
- <button type="button" class="btn btn-default btn-lg" onclick="fnPlanTemplatePopup();">템플릿</button>
|
|
|
- <!-- <select name="templateType" required="required" data-valid-name="기획전탬플릿유형">
|
|
|
- <option value="H">HTML</option>
|
|
|
- <option value="T">TEXT</option>
|
|
|
- </select> -->
|
|
|
- </td>
|
|
|
</tr>
|
|
|
<tr>
|
|
|
- <th>프론트 구분<i class="star"></i></th>
|
|
|
+ <th>프론트 구분<em class="required" title="필수"></em></th>
|
|
|
<td>
|
|
|
<select name="frontGb" id="frontGb" required="required" data-valid-name="프론트 구분">
|
|
|
<option value="A">전체</option>
|
|
|
@@ -339,14 +413,24 @@
|
|
|
<option value="M">모바일</option>
|
|
|
</select>
|
|
|
</td>
|
|
|
- <th>기획전명<i class="star"></i></th>
|
|
|
- <td colspan="3">
|
|
|
- <input type="text" name="planNm" id="planNm" maxlength="50" required="required" data-valid-name="기획전명"/>
|
|
|
+ <th>전시순서</th>
|
|
|
+ <td>
|
|
|
+ <input type="text" class="w100 aR" name="dispOrd"/>
|
|
|
</td>
|
|
|
</tr>
|
|
|
<tr>
|
|
|
- <th>진행기간<i class="star"></i></th>
|
|
|
+ <th>기획전명<em class="required" title="필수"></em></th>
|
|
|
+ <td>
|
|
|
+ <input type="text" name="planNm" id="planNm" maxlength="50" required="required" data-valid-name="기획전명"/>
|
|
|
+ </td>
|
|
|
+ <th>서브제목<em class="required" title="필수"></em></th>
|
|
|
<td>
|
|
|
+ <input type="text" name="dtlTitle1" id="dtlTitle1"/>
|
|
|
+ </td>
|
|
|
+ </tr>
|
|
|
+ <tr>
|
|
|
+ <th>진행기간<em class="required" title="필수"></em></th>
|
|
|
+ <td colspan="3">
|
|
|
<input type="text" class="schDate w100" id="viewStartDtNew" name="startSearchDate" maxlength="10" required="required" data-valid-name="노출기간" />
|
|
|
<select name="startSearchHour" required="required" data-valid-name="진행기간 시작시간">
|
|
|
<th:block th:each="num, index : ${#numbers.sequence(0,23)}">
|
|
|
@@ -373,19 +457,16 @@
|
|
|
<input type="hidden" name="dispStdt" id="dispStdt"/>
|
|
|
<input type="hidden" name="dispEddt" id="dispEddt"/>
|
|
|
</td>
|
|
|
- <th>서브제목</th>
|
|
|
- <td colspan="3">
|
|
|
- <input type="text" name="dtlTitle1" id="dtlTitle1"/>
|
|
|
- </td>
|
|
|
+
|
|
|
</tr>
|
|
|
<tr>
|
|
|
- <th>코너명노출 여부<i class="star"></i></th>
|
|
|
+ <th>코너명노출 여부<em class="required" title="필수"></em></th>
|
|
|
<td>
|
|
|
<select name="cornerNmDispYn" required="required" data-valid-name="코너명노출 여부">
|
|
|
<option th:if="${useYnList}" th:each="oneData, status : ${useYnList}" th:value="${oneData.cd}" th:selected="${oneData.cd} == 'Y'" th:text="|${oneData.cdNm}|"></option>
|
|
|
</select>
|
|
|
</td>
|
|
|
- <th>오픈여부<i class="star"></i></th>
|
|
|
+ <th>오픈여부<em class="required" title="필수"></em></th>
|
|
|
<td colspan="3">
|
|
|
<select name="openYn" required="required" data-valid-name="오픈여부">
|
|
|
<option th:if="${useYnList}" th:each="oneData, status : ${useYnList}" th:value="${oneData.cd}" th:selected="${oneData.cd} == 'Y'" th:text="|${oneData.cdNm}|"></option>
|
|
|
@@ -393,16 +474,7 @@
|
|
|
</td>
|
|
|
</tr>
|
|
|
<tr>
|
|
|
- <th>사이트<i class="star"></i></th>
|
|
|
- <td>
|
|
|
- <select name="siteCd" required="required" data-valid-name="사이트">
|
|
|
- <option th:if="${siteList}" th:each="oneData, status : ${siteList}" th:value="${oneData.cd}" th:text="|${oneData.cdNm}|"></option>
|
|
|
- </select>
|
|
|
- </td>
|
|
|
- <th>전시순서</th>
|
|
|
- <td colspan="3">
|
|
|
- <input type="text" class="w100 aR" name="dispOrd"/>
|
|
|
- </td>
|
|
|
+
|
|
|
</tr>
|
|
|
<tr>
|
|
|
<th>사용고객등급구분<em class="required" title="필수"></em></th>
|
|
|
@@ -420,17 +492,11 @@
|
|
|
</tr>
|
|
|
<tr>
|
|
|
<th>제휴채널<em class="required" title="필수"></em></th>
|
|
|
- <td>
|
|
|
+ <td colspan="3">
|
|
|
<label class="chkBox" th:if="${upperAfLinkCdList}" th:each="oneData, status : ${upperAfLinkCdList}">
|
|
|
<input type="checkbox" name="upperAfLinkCdArr" th:value="${oneData.cd}" th:text="${oneData.cdNm}"/>
|
|
|
</label>
|
|
|
</td>
|
|
|
- <th>댓글여부</th>
|
|
|
- <td colspan="5">
|
|
|
- <select name="replyYn">
|
|
|
- <option th:if="${useYnList}" th:each="oneData, status : ${useYnList}" th:value="${oneData.cd}" th:selected="${oneData.cd} == 'N'" th:text="|${oneData.cdNm}|"></option>
|
|
|
- </select>
|
|
|
- </td>
|
|
|
</tr>
|
|
|
<tr>
|
|
|
<th>PC 메인 이미지<i id="pMimgStar"></i></th>
|
|
|
@@ -452,26 +518,52 @@
|
|
|
</div>
|
|
|
</td>
|
|
|
</tr>
|
|
|
- </tbody>
|
|
|
- <tbody>
|
|
|
- <!-- <tr>
|
|
|
- <th>웹용소스</th>
|
|
|
+ <tr>
|
|
|
+ <th>댓글여부<em class="required" title="필수"></em></th>
|
|
|
<td colspan="5">
|
|
|
- <div style="margin-top:5px;">
|
|
|
- <textarea name="fsrcPc" id="fsrcPcRegister" rows="15" cols="95" style="width:1280px;"></textarea>
|
|
|
- <textarea class="textareaR4" id="fsrcPcDetail" name="fsrcPc"></textarea>
|
|
|
- </div>
|
|
|
+ <select name="replyYn">
|
|
|
+ <option th:if="${useYnList}" th:each="oneData, status : ${useYnList}" th:value="${oneData.cd}" th:selected="${oneData.cd} == 'N'" th:text="|${oneData.cdNm}|"></option>
|
|
|
+ </select>
|
|
|
</td>
|
|
|
</tr>
|
|
|
- <tr>
|
|
|
- <th>모바일용소스</th>
|
|
|
+ <tr style="display:none" id="append1">
|
|
|
+ <th>댓글제목<em class="required" title="필수"></em></th>
|
|
|
+ <td>
|
|
|
+ <input type="text" name="replyTitle1" id="replyTitle1" maxlength="50" required="required" data-valid-name="댓글제목"/>
|
|
|
+ </td>
|
|
|
+
|
|
|
+ <th>댓글서브제목<em class="required" title="필수"></em></th>
|
|
|
+ <td>
|
|
|
+ <input type="text" name="replyTitle2" id="replyTitle3" maxlength="50" required="required" data-valid-name="댓글서브제목"/>
|
|
|
+ </td>
|
|
|
+
|
|
|
+ </tr>
|
|
|
+ <tr style="display:none" id="append2">
|
|
|
+ <th>댓글위치<em class="required" title="필수"></em></th>
|
|
|
+ <td>
|
|
|
+ <label class="rdoBtn"><input type="radio" name="replyLoc" value="U"/>상품리스트 상단</label>
|
|
|
+ <label class="rdoBtn"><input type="radio" name="replyLoc" value="D"/>상품리스트 하단</label>
|
|
|
+ </td>
|
|
|
+
|
|
|
+ <th>투표일련번호<em class="required" title="필수"></em></th>
|
|
|
+ <td>
|
|
|
+ <input type="text" class="w100 aR" name="pollSq"/>
|
|
|
+ </td>
|
|
|
+
|
|
|
+ </tr>
|
|
|
+ <tr style="display:none" id="append3">
|
|
|
+ <th>댓글이미지<em class="required" title="필수"></em></th>
|
|
|
<td colspan="5">
|
|
|
- <div style="margin-top:5px;">
|
|
|
- <textarea name="fsrcMobile" id="fsrcMobileRegister" rows="15" cols="95" style="width:1280px;"></textarea>
|
|
|
- <textarea class="textareaR4" id="fsrcMobileDetail" name="fsrcMobile"></textarea>
|
|
|
+ <div class="uFile w400">
|
|
|
+ <input id="registerReplyImg" name="registerReplyImg" type="file" accept="image/*" class="uFileInput w400"/>
|
|
|
+ <label for="registerReplyImg" class="uFileLabel w400">파일선택</label>
|
|
|
+ <input type="hidden" name="replyImg" id="replyImg" value=""/>
|
|
|
</div>
|
|
|
</td>
|
|
|
- </tr> -->
|
|
|
+
|
|
|
+ </tr>
|
|
|
+ </tbody>
|
|
|
+ <tbody>
|
|
|
</table>
|
|
|
<div class="panelStyle" style="margin: unset;">
|
|
|
<!-- TITLE -->
|
|
|
@@ -556,6 +648,8 @@
|
|
|
var fsrcMobile = [[${fsrcMobile}]];
|
|
|
var planBrandList = [[${planBrandList}]];
|
|
|
var planCateList = [[${planCateList}]];
|
|
|
+ var custGbList = [[${gbList}]];
|
|
|
+ var custGradeList = [[${gradeList}]];
|
|
|
var snOptions;
|
|
|
|
|
|
// 카테고리 전시 여부
|
|
|
@@ -598,6 +692,60 @@
|
|
|
$("#searchTxt").val("[" + result[0].planSq + "] " +result[0].planNm);
|
|
|
|
|
|
}
|
|
|
+
|
|
|
+ // 댓글여부에 입력창 추가
|
|
|
+ $('select[name=replyYn]').on('change', function() {
|
|
|
+ if($('select[name=replyYn]').val() == 'Y'){
|
|
|
+ $("#append1").removeAttr('style');
|
|
|
+ $("#append2").removeAttr('style');
|
|
|
+ $("#append3").removeAttr('style');
|
|
|
+ }else{
|
|
|
+ $("#append1").css('display','none');
|
|
|
+ $("#append2").css('display','none');
|
|
|
+ $("#append3").css('display','none');
|
|
|
+ }
|
|
|
+ })
|
|
|
+
|
|
|
+ // 불러오기 댓글
|
|
|
+ if($('#planUpdateForm select[name=replyYn]').val()=='Y'){
|
|
|
+ $("#append1").removeAttr('style');
|
|
|
+ $("#append2").removeAttr('style');
|
|
|
+ $("#append3").removeAttr('style');
|
|
|
+
|
|
|
+ if(custGbList.length > 0){
|
|
|
+ var chkboxCnt = $('#planUpdateForm input:checkbox[name=usableCustGbArr]').length;
|
|
|
+ var dataCnt = custGbList.length;
|
|
|
+ for(let i=0; i<chkboxCnt; i++){
|
|
|
+ for(let j=0; j<dataCnt; j++){
|
|
|
+ var data = custGbList[j].custGb;
|
|
|
+ if($('#planUpdateForm input:checkbox[name=usableCustGbArr]').eq(i).val() == data){
|
|
|
+ $('#planUpdateForm input:checkbox[name=usableCustGbArr]').eq(i).prop('checked', true);
|
|
|
+ $("#planUpdateForm input:checkbox[name=usableCustGbArr]").eq(i).parent().addClass('checked');
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ if(custGradeList.length > 0){
|
|
|
+ var chkboxCnt = $('#planUpdateForm input:checkbox[name=usableCustGradeArr]').length;
|
|
|
+ var dataCnt = custGradeList.length;
|
|
|
+ for(let i=0; i<chkboxCnt; i++){
|
|
|
+ for(let j=0; j<dataCnt; j++){
|
|
|
+ var data = custGradeList[j].custGrade;
|
|
|
+ if($('#planUpdateForm input:checkbox[name=usableCustGradeArr]').eq(i).val() == data){
|
|
|
+ $('#planUpdateForm input:checkbox[name=usableCustGradeArr]').eq(i).prop('checked', true);
|
|
|
+ $("#planUpdateForm input:checkbox[name=usableCustGradeArr]").eq(i).parent().addClass('checked');
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }else{
|
|
|
+ $("#append1").css('display','none');
|
|
|
+ $("#append2").css('display','none');
|
|
|
+ $("#append3").css('display','none');
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
|
|
|
// 기획전 복사
|
|
|
var fnPlanCopyPopup = function() {
|
|
|
@@ -659,15 +807,15 @@
|
|
|
$(formId + ' input[name=dispStdt]').val(stDate + ' ' + $(formId + ' select[name=startSearchHour]').val() + ':' + $(formId + ' select[name=startSearchMin]').val() + ':00');
|
|
|
$(formId + ' input[name=dispEddt]').val(edDate + ' ' + $(formId + ' select[name=endSearchHour]').val() + ':' + $(formId + ' select[name=endSearchMin]').val() + ':59');
|
|
|
|
|
|
- /* // 댓글여부에 따른 위치 체크
|
|
|
- if ($('#replyYn').val() == 'Y') {
|
|
|
+
|
|
|
+ /* if ($('#replyYn').val() == 'Y') {
|
|
|
var replyLoc = $(':radio[name="replyLoc"]:checked').val();
|
|
|
|
|
|
if (typeof replyLoc == 'undefined') {
|
|
|
mcxDialog.alert('댓글 사용 시 댓글위치를 선택해야합니다.');
|
|
|
return;
|
|
|
}
|
|
|
- } */
|
|
|
+ } */
|
|
|
|
|
|
// poll 관리일련번호 유효성 체크
|
|
|
/* if (!gagajf.isNull($(formId + ' input[name=pollSq]').val())) {
|
|
|
@@ -708,7 +856,7 @@
|
|
|
$(formId + ' input[name=dtlMimg]').val($(formId + ' input[name=orgDtlMimg]').val());
|
|
|
}
|
|
|
|
|
|
- if ((!$('input[name=orgReplyImgYn]').is(':checked') ? true : false) &&
|
|
|
+ if ((!$('input[name=orgReplyImgDelYn]').is(':checked') ? true : false) &&
|
|
|
(gagajf.isNull($(formId + ' input[name=replyImg]').val()) == true) ) {
|
|
|
$(formId + ' input[name=replyImg]').val($(formId + ' input[name=orgReplyImg]').val());
|
|
|
}
|
|
|
@@ -730,7 +878,7 @@
|
|
|
let allBrandData = gagaAgGrid.getAllRowData(gridOptionsFGBrandList);
|
|
|
var multiBrand = [];
|
|
|
$.each(allBrandData, function(idx, item) {
|
|
|
- multiBrand.push(item.brandCd);
|
|
|
+ multiBrand.push(item.brandGroupNo);
|
|
|
});
|
|
|
|
|
|
let allCateData = gagaAgGrid.getAllRowData(gridOptionsFGCateList);
|
|
|
@@ -739,6 +887,18 @@
|
|
|
multiCate.push(item.cateNo);
|
|
|
});
|
|
|
|
|
|
+ var usableCustGradeArr = [];
|
|
|
+ var chkCustGrade = $('#planRegisterForm input:checkbox[name=usableCustGradeArr]:checked');
|
|
|
+ for(let i=0; i< chkCustGrade.length; i++){
|
|
|
+ usableCustGradeArr.push(chkCustGrade.eq(i).val());
|
|
|
+ }
|
|
|
+
|
|
|
+ var usableCustGbArr = [];
|
|
|
+ var chkCustGb = $('#planRegisterForm input:checkbox[name=usableCustGbArr]:checked');
|
|
|
+ for(let i=0; i< chkCustGb.length; i++){
|
|
|
+ usableCustGbArr.push(chkCustGb.eq(i).val());
|
|
|
+ }
|
|
|
+
|
|
|
// 기획전 등록
|
|
|
if (formId == '#planRegisterForm') {
|
|
|
mcxDialog.confirm('등록 하시겠습니까?', {
|
|
|
@@ -751,10 +911,11 @@
|
|
|
,brandList : allBrandData
|
|
|
,multiCate : multiCate
|
|
|
,CateList : allCateData
|
|
|
+ ,usableCustGradeArr : usableCustGradeArr
|
|
|
+ ,usableCustGbArr : usableCustGbArr
|
|
|
,mode : $('#planRegisterForm input[name=mode]').val()
|
|
|
,planSq : $('#planRegisterForm input[name=planSq]').val()
|
|
|
,planGb : $('#planRegisterForm select[name=planGb]').val()
|
|
|
- ,templateType : $('#planRegisterForm select[name=templateType]').val()
|
|
|
,frontGb : $('#planRegisterForm select[name=frontGb]').val()
|
|
|
,planNm : $('#planRegisterForm input[name=planNm]').val()
|
|
|
,startSearchDate : $('#planRegisterForm input[name=startSearchDate]').val()
|
|
|
@@ -775,6 +936,12 @@
|
|
|
,mainMimg : $('#planRegisterForm input[name=mainMimg]').val()
|
|
|
,fsrcPc : $('#planRegisterForm input[name=fsrcPc]').val()
|
|
|
,fsrcMobile : $('#planRegisterForm input[name=fsrcMobile]').val()
|
|
|
+ ,replyImg : $('#planRegisterForm input[name=replyImg]').val()
|
|
|
+ ,replyLoc : $('#planRegisterForm input:radio[name="replyLoc"]:checked').val()
|
|
|
+ ,replyTitle1 : $('#planRegisterForm input[name=replyTitle1]').val()
|
|
|
+ ,replyTitle2 : $('#planRegisterForm input[name=replyTitle2]').val()
|
|
|
+ ,pollSq : $('#planRegisterForm input[name=pollSq]').val()
|
|
|
+
|
|
|
}
|
|
|
|
|
|
var jsonData = JSON.stringify(data);
|
|
|
@@ -798,7 +965,6 @@
|
|
|
,mode : $('#planUpdateForm input[name=mode]').val()
|
|
|
,planSq : $('#planUpdateForm input[name=planSq]').val()
|
|
|
,planGb : $('#planUpdateForm select[name=planGb]').val()
|
|
|
- ,templateType : $('#planUpdateForm select[name=templateType]').val()
|
|
|
,frontGb : $('#planUpdateForm select[name=frontGb]').val()
|
|
|
,planNm : $('#planUpdateForm input[name=planNm]').val()
|
|
|
,startSearchDate : $('#planUpdateForm input[name=startSearchDate]').val()
|
|
|
@@ -912,9 +1078,9 @@
|
|
|
// 브랜드 리스트 설정
|
|
|
var columnBrandList = [
|
|
|
{width: 40, minWidth: 40, cellClass: 'text-center', headerCheckboxSelection: true, checkboxSelection: true, filter: false},
|
|
|
- {headerName: "브랜드ID", field: "brandCd", width: 110, cellClass: 'text-center'},
|
|
|
- {headerName: "브랜드명", field: "brandEnm", width: 120, cellClass: 'text-center'},
|
|
|
- {headerName: "브랜드그룹명", field: "brandGrpNm", width: 150, cellClass: 'text-center'},
|
|
|
+ {headerName: "브랜드그룹NO", field: "brandGroupNo", width: 110, cellClass: 'text-center'},
|
|
|
+ {headerName: "브랜드그룹명", field: "brandGroupKnm", width: 120, cellClass: 'text-center'},
|
|
|
+ {headerName: "브랜드영문명", field: "brandGroupEnm", width: 150, cellClass: 'text-center'},
|
|
|
{headerName: "", field: "brandKnm", width: 150, cellClass: 'text-center'},
|
|
|
/* {headerName: "적용대상", field: "targetGb", width: 150, cellClass: 'text-center', hide: true},
|
|
|
{headerName: "시퀀스", field: "tmtbGoodsSq", width: 150, cellClass: 'text-center', hide: true},
|
|
|
@@ -928,7 +1094,7 @@
|
|
|
|
|
|
// 브랜드 추가 버튼 클릭시 (복수 브랜드때 수정 필요)
|
|
|
$('#btnAddBrand').on('click', function() {
|
|
|
- cfnOpenBrandListPopup("fnSetPopupBrandInfo", "M");
|
|
|
+ cfnOpenBrandGroupListPopup("fnSetPopupBrandInfo", "S", "C");
|
|
|
});
|
|
|
|
|
|
// 브랜드 설정 선택삭제 버튼 클릭시
|
|
|
@@ -943,12 +1109,12 @@
|
|
|
|
|
|
// 받아온 data for
|
|
|
for(let j = 0 ; j < gridListValue.length ; j++) {
|
|
|
- if(gridListValue[j].brandCd == result[i].brandCd) { addChk = false; } // 중복체크
|
|
|
+ if(gridListValue[j].brandGroupNo == result[i].brandGroupNo) { addChk = false; } // 중복체크
|
|
|
}
|
|
|
|
|
|
// 중복되지 않은 데이터 리스트에 추가
|
|
|
if(addChk) {
|
|
|
- gagaAgGrid.addRowData(gridOptionsFGBrandList, {"brandCd" : result[i].brandCd, "brandEnm" : result[i].brandEnm, "brandKnm" : result[i].brandKnm});
|
|
|
+ gagaAgGrid.addRowData(gridOptionsFGBrandList, {"brandGroupNo" : result[i].brandGroupNo, "brandGroupKnm" : result[i].brandGroupKnm, "brandGroupEnm" : result[i].brandGroupEnm});
|
|
|
}
|
|
|
}
|
|
|
};
|