Compare commits

...

2 Commits

Author SHA1 Message Date
이대환
5bce776193 fix : 프로모션 > 쿠폰발송관리 > 쿠폰 발급내역 팝업 - 함수 위치 이동
(cherry picked from commit 3d91eb6e52)
2026-04-24 13:59:46 +09:00
이대환
a6fdcbe2fb fix : 메인화면 미리보기 영역 추가 (베스트리뷰, 매거진, 공지, FAQ)
(cherry picked from commit 8f1a53d048)
2026-04-24 13:59:46 +09:00
3 changed files with 232 additions and 25 deletions

View File

@@ -2351,6 +2351,129 @@
</div> </div>
</c:if> </c:if>
<!-- 베스트 리뷰 -->
<c:if test="${ relmList.relmDvCd eq '09'}">
<div class="main-section__container">
<section class="main-section main-section__best-review">
<c:forEach items="${ resultMap.baseCase }" var="baseCase" varStatus="status">
<c:if test="${ baseCase.relmDvCd == '09' && relmList.ordr eq baseCase.sOrdr }">
<div class="main-section-header">
<div class="main-section-title">
<span class="main-section-title__description">${ baseCase.subSj }</span>
<h2 class="main-section-title__title">
${ baseCase.mainSj }
</h2>
</div>
</div>
</c:if>
</c:forEach>
<div class="best-review">
<div class="best-review-slick">
<c:forEach items="${ resultMap.case09 }" var="case09" varStatus="status">
<c:if test="${ relmList.ordr eq case09.sOrdr }">
<div class="best-review__item">
<div class="best-review__review">
<a href="javascript:void(0);" onclick="fn_move_goods_dtl(${case09.goodsInnb});" class="best-review__review_a">
<div class="best-review__review-image">
<input type="hidden" class="npayBbscttSnb" value="${ case09.npayBbscttSnb }"/>
<c:choose>
<c:when test="${ case09.photoRvwAt eq 'Y' }">
<img src="${cdnurl}${ case09.reviwImg }" class="reviwImg" alt="해당 이미지에 대한 설명" onerror="this.src='/pc/images/image_placeholder.png'">
</c:when>
<c:when test="${ case09.photoRvwAt eq 'N' }">
<img src="${cdnurl}${ case09.goodsImgCours }" class="reviwImg" alt="해당 이미지에 대한 설명" onerror="this.src='/pc/images/image_placeholder.png'">
</c:when>
</c:choose>
</div>
<span class="best-review__title">${ case09.sj }
</span>
<div class="best-review__paragraph">
${ case09.cn }
</div>
</a>
</div>
<div class="best-review__product">
<div class="best-review__product-image">
<a href="javascript:void(0);" onclick="fn_move_goods_dtl(${case09.goodsInnb});">
<img src="${cdnurl}${ case09.goodsImgCours }" alt="${case09.goodsNm }" onerror="this.src='/pc/images/image_placeholder.png'">
</a>
</div>
<div class="product-unit-info">
<div class="product-unit-info__inner">
<div class="product-unit-title">
<a href="javascript:void(0);" onclick="fn_move_goods_dtl(${case09.goodsInnb});">${ case09.goodsNm }</a>
</div>
</div>
<div class="product-unit-misc">
<div class="product-unit-rating">
<i class="icon icon_rating-star"></i>
<span class="product-unit-rating__score"><c:out value="${case09.avgEvlScore}" default="0.0"/></span>
</div>
<div class="product-unit-price">
<span class="product-unit-price__original"><fmt:formatNumber value="${case09.cnsmrpric}" pattern="#,###"/>${curUnit}</span>
<span class="product-unit-price__current"><fmt:formatNumber value="${case09.slepric}" pattern="#,###"/>${curUnit}</span>
</div>
</div>
</div>
</div>
</div>
</c:if>
</c:forEach>
</div>
<div class="best-review-slick__btn-container">
<button class="best-review-slick__prev"><i class="icon icon_prev02"></i><span
class="visually-hidden">이전</span></button>
<button class="best-review-slick__next"><i class="icon icon_next02"></i><span
class="visually-hidden">다음</span></button>
</div>
</div>
</section>
</div>
</c:if>
<!-- 매거진 -->
<!-- 매거진 썸네일 이미지 사이즈 500x360 -->
<c:if test="${ relmList.relmDvCd eq '10'}">
<div class="main-section__container magazine">
<section class="main-section main-section__magazine">
<div class="main-section-header">
<div class="main-section-title">
<span class="main-section-title__description">${ relmList.subSj }</span>
<h2 class="main-section-title__title">
${ relmList.mainSj }
</h2>
</div>
</div>
<div class="magazine">
<div class="magazine-slick col-2">
<c:forEach items="${ resultMap.case10 }" var="case10" varStatus="status">
<c:if test="${ relmList.ordr eq case10.sOrdr }">
<div>
<a href="/sopmal/csc/selectBbscttAuth?bbsId=${ case10.bbsId }&bbscttInnb=${ case10.bbscttInnb }">
<img src="${cdnurl}${ case10.reprsntImgSysFilNm }" alt="해당 이미지에 대한 설명" onerror="this.src='/pc/images/image_placeholder.png'">
</a>
</div>
</c:if>
</c:forEach>
</div>
<div class="magazine-slick__btn-container">
<button class="magazine-slick__prev"><i class="icon icon_prev02"></i><span
class="visually-hidden">이전</span></button>
<button class="magazine-slick__next"><i class="icon icon_next02"></i><span
class="visually-hidden">다음</span></button>
</div>
</div>
<a href="/sopmal/csc/selectBbscttAuth?authDv=REDNG&reqUrl=subPage&bbsId=magazine" class="magazine__more-link">더보기
<i class="icon icon_magazine-more-icon"></i>
</a>
</section>
</div>
</c:if>
<!-- 브랜드 및 제품 바로가기 --> <!-- 브랜드 및 제품 바로가기 -->
<!-- 좌측이미지 사이즈 영역 620x400 --> <!-- 좌측이미지 사이즈 영역 620x400 -->
<!-- 우측이미지 2개 사이즈 영역 각각 620x180 --> <!-- 우측이미지 2개 사이즈 영역 각각 620x180 -->
@@ -2413,6 +2536,94 @@
</section> </section>
</div> </div>
</c:if> </c:if>
<!-- 공지사항 -->
<c:if test="${ relmList.relmDvCd eq '13'}">
<div class="main-section__container">
<section class="main-section main-section__notice">
<div class="main-section-header">
<div class="main-section-title">
<h2 class="main-section-title__title">
공지사항
</h2>
</div>
<div class="notice-line">
<i class="icon icon_notice-speaker"></i>
<div class="notice-line-slick">
<c:forEach items="${ resultMap.case13 }" var="case13" varStatus="status">
<c:if test="${ relmList.ordr eq case13.sOrdr }">
<div>
<span class="text">
<a href="/sopmal/csc/selectBbscttAuth?authDv=CM&reqUrl=csc&bbsId=${ case13.bbsId }&bbscttInnb=${ case13.bbscttInnb }">
${ case13.sj }
</a>
</span>
<span class="date">
<c:set var="registDt" value="${fn:replace(case13.registDt, 'T', ' ')}" />
<fmt:parseDate var="registDt" value="${ registDt }" pattern="yyyy-MM-dd HH:mm:ss"/>
<fmt:formatDate value="${registDt}" pattern="yyyy-MM-dd"/>
</span>
</div>
</c:if>
</c:forEach>
</div>
<div class="btn-container">
<button class="notice-line__prev">
<i class="icon icon_notice-chevron"></i>
</button>
<button class="notice-line__next">
<i class="icon icon_notice-chevron2"></i>
</button>
</div>
</div>
</div>
</section>
</div>
</c:if>
<!-- FAQ -->
<c:if test="${ relmList.relmDvCd eq '14'}">
<div class="main-section__container">
<section class="main-section main-section__notice">
<div class="notice">
<c:forEach items="${ resultMap.case14 }" var="case14" varStatus="status">
<c:if test="${ relmList.ordr eq case14.sOrdr }">
<c:if test="${ case14.iOrdr eq '1' }">
<div class="notice__box">
<a href="/sopmal/csc/selectBbscttAuth?authDv=REDNG&reqUrl=csc&bbsId=faq">
<i class="icon icon_notice01"></i>
</a>
<h4 class="notice__title"><a href="">${ case14.itemMainSj }</a></h4>
<span class="notice__description">${ case14.itemSubSj }</span>
</div>
</c:if>
<c:if test="${ case14.iOrdr eq '2' }">
<div class="notice__box">
<a href="/sopmal/csc/selectBbscttAuth?authDv=REDNG&reqUrl=useGuidance&bbsId=use_guidance">
<i class="icon icon_notice02"></i>
</a>
<h4 class="notice__title"><a href="">${ case14.itemMainSj }</a></h4>
<span class="notice__description">${ case14.itemSubSj }</span>
</div>
</c:if>
<c:if test="${ case14.iOrdr eq '3' }">
<div class="notice__box">
<i class="icon icon_notice03"></i>
<h4 class="notice__title customer-service">${ case14.itemMainSj }</h4>
<span class="notice__number">${ case14.cscTelnb }</span>
<p class="notice__paragraph">
<span class="notice__text01">${ case14.cscWkdayWorkTme }</span>
<span class="notice__text02">(${ case14.cscLunchTme })</span>
<br>
<span class="notice__text03">${ case14.cscRstde }</span>
</p>
</div>
</c:if>
</c:if>
</c:forEach>
</div>
</section>
</div>
</c:if>
</c:forEach> </c:forEach>
</c:otherwise> </c:otherwise>
</c:choose> </c:choose>

View File

@@ -20,32 +20,7 @@
$('select').niceSelect(); $('select').niceSelect();
fn_set_date(); fn_set_date();
}); });
const fn_coupon_excel_download = function(couponSndngInnb) {
var form = $('#listForm');
form.find('input[name="couponSndngInnb"]').remove();
form.append($('<input/>', {
type: 'hidden',
name: 'couponSndngInnb',
value: couponSndngInnb
}));
form.serialize();
form.attr('method', 'post');
form.attr('action', '<c:url value="/mngr/promtn/coupon/selectCouponListExcelDwld"/>');
form.submit();
}
</script> </script>
<spring:eval expression="@environment.getProperty('currency-unit.default')" var="curUnit"/> <spring:eval expression="@environment.getProperty('currency-unit.default')" var="curUnit"/>
<div class="form-control-container"> <div class="form-control-container">

View File

@@ -251,6 +251,27 @@
}); });
} }
/************************************************
* 발송 쿠폰 내역 엑셀 다운로드
*************************************************/
const fn_coupon_excel_download = function(couponSndngInnb) {
var form = $('#listForm');
form.find('input[name="couponSndngInnb"]').remove();
form.append($('<input/>', {
type: 'hidden',
name: 'couponSndngInnb',
value: couponSndngInnb
}));
form.serialize();
form.attr('method', 'post');
form.attr('action', '<c:url value="/mngr/promtn/coupon/selectCouponListExcelDwld"/>');
form.submit();
}
/************************************************ /************************************************
* 쿠폰 상세 정보 조회 팝업 * 쿠폰 상세 정보 조회 팝업