|
|
@@ -60,7 +60,10 @@
|
|
|
<input type="hidden" name="contentsLoc" th:value="${params.contentsLoc}" />
|
|
|
<input type="hidden" name="ithrCd" th:value="${params.ithrCd}" />
|
|
|
<input type="hidden" name="planDtlSq" th:value="${params.planDtlSq}" />
|
|
|
- <input type="hidden" name="sizeCd" />
|
|
|
+ <input type="hidden" name="optCd" />
|
|
|
+ <input type="hidden" name="optCd1" />
|
|
|
+ <input type="hidden" name="optCd2" />
|
|
|
+ <input type="hidden" name="addPrice" />
|
|
|
<input type="hidden" name="ordQty" />
|
|
|
<input type="hidden" name="stock" />
|
|
|
<input type="hidden" name="minOrdQty"/>
|
|
|
@@ -102,11 +105,11 @@
|
|
|
<span class="sale_percent" th:if="${goodsInfo.dcRate > 0}" th:text="|${goodsInfo.dcRate}%|">
|
|
|
5%
|
|
|
</span>
|
|
|
- <span class="sale_price" th:text="${#numbers.formatInteger(goodsInfo.currPrice, 0,'COMMA')}">
|
|
|
- <em>134,100</em>원
|
|
|
+ <span class="sale_price" >
|
|
|
+ <em th:text="${#numbers.formatInteger(goodsInfo.currPrice, 0,'COMMA')}">134,100</em>원
|
|
|
</span>
|
|
|
- <del class="org_price" th:if="${goodsInfo.listPrice > goodsInfo.currPrice}" th:text="${#numbers.formatInteger(goodsInfo.listPrice, 0,'COMMA')}">
|
|
|
- 149,000원
|
|
|
+ <del class="org_price" th:if="${goodsInfo.listPrice > goodsInfo.currPrice}" >
|
|
|
+ <em th:text="${#numbers.formatInteger(goodsInfo.listPrice, 0,'COMMA')}">149,000</em>원
|
|
|
</del>
|
|
|
<span class="save_point">
|
|
|
스타일포인트 <th:block th:text="${#numbers.formatInteger(goodsInfo.pntAmt, 0,'COMMA')}"></th:block>P 적립예정
|
|
|
@@ -144,92 +147,43 @@
|
|
|
</dl>
|
|
|
</div>
|
|
|
<div class="option_box">
|
|
|
- <div class="opt_color">
|
|
|
+ <th:block th:if="${goodsInfo.selfGoodsYn =='Y' }">
|
|
|
+ <div class="opt_color" th:if="${goodsOption1List != null and !goodsOption1List.empty}" >
|
|
|
<div class="opt_header">
|
|
|
<span class="title">컬러</span>
|
|
|
- <span class="color">그레이</span>
|
|
|
+ <span class="color" th:text="${goodsInfo.colorNm}">그레이</span>
|
|
|
</div>
|
|
|
- <ul>
|
|
|
- <li>
|
|
|
- <a href="" class="on"> <!-- 해당 컬러 상품페이지로 이동 -->
|
|
|
- <img src="/images/pc/thumb/tmp_cartColor1.jpg" alt="그레이">
|
|
|
- </a>
|
|
|
- </li>
|
|
|
- <li>
|
|
|
- <a href="">
|
|
|
- <img src="/images/pc/thumb/tmp_cartColor1.jpg" alt="베이지">
|
|
|
- </a>
|
|
|
- </li>
|
|
|
- <li>
|
|
|
- <a href="">
|
|
|
- <img src="/images/pc/thumb/tmp_cartColor1.jpg" alt="그린">
|
|
|
- </a>
|
|
|
- </li>
|
|
|
- <li>
|
|
|
- <a href="">
|
|
|
- <img src="/images/pc/thumb/tmp_cartColor1.jpg" alt="핑크">
|
|
|
- </a>
|
|
|
- </li>
|
|
|
- <li>
|
|
|
- <a href="">
|
|
|
- <img src="/images/pc/thumb/tmp_cartColor1.jpg" alt="민트">
|
|
|
- </a>
|
|
|
- </li>
|
|
|
- <li>
|
|
|
- <a href="">
|
|
|
- <img src="/images/pc/thumb/tmp_cartColor1.jpg" alt="블랙">
|
|
|
+ <ul >
|
|
|
+ <li th:each="goodsOption1, status : ${goodsOption1List}">
|
|
|
+ <a href="javascript:void(0);" th:class="${params.colorCd == goodsOption1.optCd1}? 'on':''" th:onclick="cfnGoToGoodsDetail([[${goodsInfo.goodsCd}]], [[${goodsOption1.optCd1}]])"> <!-- 해당 컬러 상품페이지로 이동 -->
|
|
|
+ <img th:src="${imgGoodsUrl+'/'+goodsOption1.sysImgNm}" alt="">
|
|
|
</a>
|
|
|
</li>
|
|
|
</ul>
|
|
|
</div>
|
|
|
- <div class="opt_size">
|
|
|
+ <div class="opt_size" th:if="${goodsOption2List != null and !goodsOption2List.empty}" >
|
|
|
<div class="opt_header">
|
|
|
<span class="title">사이즈</span>
|
|
|
<span class="size">
|
|
|
- <em>95</em>
|
|
|
- <em>(+1,000원)</em>
|
|
|
+ <em id="selectOptCd1"></em>
|
|
|
+ <em id="selectOptCd1addPrice"></em>
|
|
|
</span>
|
|
|
<button type="button" id="btn_infoSize_pop" class="btn_popup"><span>사이즈정보</span></button>
|
|
|
</div>
|
|
|
<div class="form_field">
|
|
|
- <div>
|
|
|
+ <!-- <div>
|
|
|
<input type="radio" name="rdi-optsize" id="rdi-optsize1" value="" checked="">
|
|
|
<label for="rdi-optsize1"><span>90</span></label>
|
|
|
- </div>
|
|
|
- <div>
|
|
|
- <input type="radio" name="rdi-optsize" id="rdi-optsize2" value="" disabled="">
|
|
|
- <label for="rdi-optsize2"><span>95</span></label>
|
|
|
- </div>
|
|
|
- <div>
|
|
|
- <input type="radio" name="rdi-optsize" id="rdi-optsize3" value="">
|
|
|
- <label for="rdi-optsize3"><span>100</span></label>
|
|
|
- </div>
|
|
|
- <div>
|
|
|
- <input type="radio" name="rdi-optsize" id="rdi-optsize4" value="">
|
|
|
- <label for="rdi-optsize4"><span>105</span></label>
|
|
|
- </div>
|
|
|
- <div>
|
|
|
- <input type="radio" name="rdi-optsize" id="rdi-optsize5" value="">
|
|
|
- <label for="rdi-optsize5"><span>110</span></label>
|
|
|
- </div>
|
|
|
- <div>
|
|
|
- <input type="radio" name="rdi-optsize" id="rdi-optsize6" value="">
|
|
|
- <label for="rdi-optsize6"><span>115</span></label>
|
|
|
- </div>
|
|
|
- <div>
|
|
|
- <input type="radio" name="rdi-optsize" id="rdi-optsize7" value="">
|
|
|
- <label for="rdi-optsize7"><span>free</span></label>
|
|
|
- </div>
|
|
|
- <div>
|
|
|
- <input type="radio" name="rdi-optsize" id="rdi-optsize8" value="">
|
|
|
- <label for="rdi-optsize8"><span>size1</span></label>
|
|
|
- </div>
|
|
|
- <div>
|
|
|
- <input type="radio" name="rdi-optsize" id="rdi-optsize9" value="">
|
|
|
- <label for="rdi-optsize9"><span>size2</span></label>
|
|
|
+ </div> -->
|
|
|
+ <div th:each="goodsOption2, status : ${goodsOption2List}">
|
|
|
+ <input type="radio" name="rdi-optsize" th:disabled="${goodsOption2.soldoutYn == 'Y' or goodsOption2.stockQty <= 0}"
|
|
|
+ th:attr="addPrice=${goodsOption2.addPrice}, optCd1=${goodsOption2.optCd1}, optCd=${goodsOption2.optCd}">
|
|
|
+ <label th:for="${goodsInfo.goodsCd + '-'+ goodsInfo.colorCd + '-' +goodsOption2.optCd2}"><span th:text="${goodsOption2.optCd2}" th:onclick="jfViewStock(this, [[${goodsInfo.goodsCd}]],[[${goodsOption2.optCd1}]],[[${goodsOption2.optCd2}]],[[${goodsInfo.minOrdQty}]], [[${goodsInfo.maxOrdQty}]] )">100</span></label>
|
|
|
</div>
|
|
|
</div>
|
|
|
</div>
|
|
|
+ </th:block>
|
|
|
+ <th:block th:if="${goodsInfo.selfGoodsYn =='N' }">
|
|
|
<div class="opt_select">
|
|
|
<form class="form_wrap">
|
|
|
<div class="form_field">
|
|
|
@@ -255,12 +209,12 @@
|
|
|
</div>
|
|
|
</div>
|
|
|
</div>
|
|
|
- <div class="form_field">
|
|
|
+ <!-- <div class="form_field">
|
|
|
<div class="select_custom item_opt2" disabled="">
|
|
|
<div class="combo">
|
|
|
<div class="select">선택</div>
|
|
|
<ul class="list">
|
|
|
- <!-- 선택처리 class="selected" / 선택불가 aria-disabled="true" / 품절표기 data-soldout="true" 추가 -->
|
|
|
+ 선택처리 class="selected" / 선택불가 aria-disabled="true" / 품절표기 data-soldout="true" 추가
|
|
|
<li class="selected">선택</li>
|
|
|
<li>상품옵션11</li>
|
|
|
<li>상품옵션12</li>
|
|
|
@@ -277,15 +231,16 @@
|
|
|
</ul>
|
|
|
</div>
|
|
|
</div>
|
|
|
- </div>
|
|
|
+ </div> -->
|
|
|
</form>
|
|
|
- </div>
|
|
|
+ </div>
|
|
|
+ </th:block>
|
|
|
<!-- 해당 상품 품절시 노출 -->
|
|
|
<div class="info_restock">
|
|
|
<a href="" id="btn_pushRestock_pop" class="btn_popup">재입고 시 알림을 받아보세요</a>
|
|
|
</div>
|
|
|
<!-- //해당 상품 품절시 노출 -->
|
|
|
- <div class="opt_result">
|
|
|
+ <!-- <div class="opt_result">
|
|
|
<div class="result_item">
|
|
|
<div class="opt_header">
|
|
|
<span class="item_name">[상품1] 남성 테이퍼드핏 기모면 올밴딩 팬트</span>
|
|
|
@@ -316,41 +271,44 @@
|
|
|
</div>
|
|
|
<button type="button" class="btn_delete_item"><span>삭제</span></button>
|
|
|
</div>
|
|
|
- </div>
|
|
|
+ </div> -->
|
|
|
<div class="opt_count">
|
|
|
<div class="opt_header">
|
|
|
<span class="title">수량</span>
|
|
|
</div>
|
|
|
<div class="number_count">
|
|
|
- <span class="minus"><em class="sr-only">감소</em></span>
|
|
|
- <input type="text" name="" maxlength="3" style="ime-mode:disabled" value="1">
|
|
|
- <span class="plus"><em class="sr-only">추가</em></span>
|
|
|
+ <span class="minus" onclick="jfAdjustOrderEa(this);" adjust="-"><em class="sr-only">감소</em></a></span>
|
|
|
+ <input type="text" name="cea" maxlength="3" style="ime-mode:disabled" th:value="${goodsInfo.minOrdQty}" onblur="jfChangeOrderEa(this)" data-valid-type="numeric">
|
|
|
+ <input type="hidden" name="coption" value="" th:attr="price=${goodsInfo.currPrice}">
|
|
|
+ <span class="plus" onclick="jfAdjustOrderEa(this);" adjust="+"><em class="sr-only">추가</em></span>
|
|
|
</div>
|
|
|
</div>
|
|
|
</div>
|
|
|
<div class="price_box">
|
|
|
<p class="number">
|
|
|
- 총 <span>99</span>개
|
|
|
+ 총 <span id="goodsTotalQty">0</span>개
|
|
|
</p>
|
|
|
<p class="price">
|
|
|
<span>
|
|
|
- 99,999,999<em>원</em>
|
|
|
+ <b id="goodsTotalPrice">0</b><em>원</em>
|
|
|
</span>
|
|
|
</p>
|
|
|
</div>
|
|
|
<div class="btn_box">
|
|
|
<div class="btn_group_block ui_row">
|
|
|
+ <th:block th:if="${goodsInfo.stockQty > 0}">
|
|
|
<div class="ui_col_6">
|
|
|
- <button id="btn_add_cart" class="btn btn_dark btn_block"><span>쇼핑백</span></button>
|
|
|
+ <button id="btn_add_cart" class="btn btn_dark btn_block" onclick="jfAddCart('C');"><span>쇼핑백</span></button>
|
|
|
</div>
|
|
|
<div class="ui_col_6">
|
|
|
- <button class="btn btn_primary btn_block" id=""><span>바로구매</span></button>
|
|
|
+ <button class="btn btn_primary btn_block" onclick="jfAddCart('O');"><span>바로구매</span></button>
|
|
|
</div>
|
|
|
- </div>
|
|
|
- <div class="btn_group_block ui_row">
|
|
|
+ </th:block>
|
|
|
+ <th:block th:unless="${goodsInfo.stockQty > 0}">
|
|
|
<div class="ui_col_12">
|
|
|
<button class="btn btn_dark btn_block" id="" disabled=""><span>SOLD OUT</span></button>
|
|
|
</div>
|
|
|
+ </th:block>
|
|
|
</div>
|
|
|
</div>
|
|
|
<div class="npay_box">
|
|
|
@@ -3455,20 +3413,8 @@
|
|
|
setInterval(function() { promotionTimer(); }, 1000);
|
|
|
|
|
|
/* 상품옵션변경 팝업 > 수량조절 */
|
|
|
- $(document).on('click','.option_box .opt_count .number_count .minus',function(e){
|
|
|
- var $input = $(this).parent().find('input');
|
|
|
- var count = parseInt($input.val()) - 1;
|
|
|
- count = count < 1 ? 1 : count;
|
|
|
- $input.val(count);
|
|
|
- $input.change();
|
|
|
- return false;
|
|
|
- }).on('click','.option_box .opt_count .number_count .plus',function(e){
|
|
|
- var $input = $(this).parent().find('input');
|
|
|
- $input.val(parseInt($input.val()) + 1);
|
|
|
- $input.change();
|
|
|
- return false;
|
|
|
- });
|
|
|
-
|
|
|
+//
|
|
|
+
|
|
|
//스타일링 추천 picker
|
|
|
$(document).on('mouseenter','.pd_recommend .area_slider .item_picker button',function(e){
|
|
|
$(this).parents('.item_picker').find('.pick_descr').show();
|
|
|
@@ -3746,6 +3692,192 @@
|
|
|
});
|
|
|
|
|
|
});
|
|
|
+
|
|
|
+ //사이즈 클릭시
|
|
|
+ var jfViewStock = function(obj, goodsCd, optCd1, optCd2, minOrdQty, maxOrdQty) {
|
|
|
+ let $obj = $(obj);
|
|
|
+
|
|
|
+ var $target = $obj.parent().parent().children('input[name="rdi-optsize"]');
|
|
|
+ $target.prop("checked",true);
|
|
|
+ var addPrice = $target.attr("addPrice");
|
|
|
+ var optCd = $target.attr("optCd");
|
|
|
+ $("#selectOptCd1").html(optCd2);
|
|
|
+ if (Number(addPrice) > 0) $("#selectOptCd1addPrice").html("(+" + addPrice.addComma() + ")");
|
|
|
+ $("#cartForm input[name=optCd]").val(optCd);
|
|
|
+ $("#cartForm input[name=optCd1]").val(optCd1);
|
|
|
+ $("#cartForm input[name=optCd2]").val(optCd2);
|
|
|
+ $("#cartForm input[name=addPrice]").val(addPrice);
|
|
|
+ $("#cartForm input[name=ordQty]").val("");
|
|
|
+ var selfGoodsYn = $("#cartForm input[name=selfGoodsYn]").val();
|
|
|
+
|
|
|
+ var maxCnt = maxOrdQty;
|
|
|
+ var params = new Object();
|
|
|
+ params.goodsCd = goodsCd;
|
|
|
+ params.optCd = optCd;
|
|
|
+ params.optCd1 = optCd1;
|
|
|
+ params.optCd2 = optCd2;
|
|
|
+ params.selfGoodsYn = selfGoodsYn;
|
|
|
+
|
|
|
+ $.get("/goods/detail/ajaxGoodsStockQty", $.param(params), function(result) {
|
|
|
+ var itemCnt = eval(result); //해당 아이템에 선택되어진 사이즈의 수량
|
|
|
+
|
|
|
+ if (maxCnt > itemCnt) {
|
|
|
+ maxCnt = itemCnt;
|
|
|
+ }
|
|
|
+
|
|
|
+ if (minOrdQty > itemCnt) {
|
|
|
+ $target.prop("disabled", true);
|
|
|
+ }else{
|
|
|
+ $("#cartForm input[name=ordQty]").val(minOrdQty);
|
|
|
+ $("#cartForm input[name=maxOrdQty]").val(maxCnt);
|
|
|
+ $("#cartForm input[name=minOrdQty]").val(minOrdQty);
|
|
|
+ $("#cartForm input[name=cea]").val(minOrdQty);
|
|
|
+ $("#cartForm input[name=cea]").attr("readonly",false);
|
|
|
+ $("#cartForm input[name=stock]").val(itemCnt);
|
|
|
+
|
|
|
+ jfSetTotalPrice();
|
|
|
+ }
|
|
|
+
|
|
|
+ }, "text");
|
|
|
+ }
|
|
|
+
|
|
|
+ // 수량 변경 클릭
|
|
|
+ var jfAdjustOrderEa = function(obj) {
|
|
|
+
|
|
|
+ if("G056_N" == $("#cartForm input[name=goodsType]").val()){
|
|
|
+ if(gagajf.isNull($("#cartForm input[name=optCd2]").val())){
|
|
|
+ mcxDialog.alert("사이즈를 선택하세요.");
|
|
|
+ return false;
|
|
|
+ }
|
|
|
+ }else{
|
|
|
+ // 세트작업시 작업요망 eskim
|
|
|
+ /* var targetSize=$('.sizelist').length; //구성품 갯수;
|
|
|
+ var itemSize = $('.option').find('.item').find('input[type=radio]:checked').length; //사이즈 선택 상품수
|
|
|
+ if (targetSize > itemSize){
|
|
|
+ mcxDialog.alert("구성상품들의 사이즈를 선택하세요.");
|
|
|
+ return false;
|
|
|
+ } */
|
|
|
+ }
|
|
|
+
|
|
|
+ var $obj = $(obj);
|
|
|
+ var $target = $obj.parent().children('input[name="cea"]');
|
|
|
+ var minOrdQty = parseInt($("#cartForm input[name=minOrdQty]").val());
|
|
|
+ var ea =parseInt($target.val());
|
|
|
+
|
|
|
+ if ($obj.attr('adjust') == '-') --ea;
|
|
|
+ else ++ea;
|
|
|
+
|
|
|
+ //var maxOrdQty = $("#cartForm input[name=maxOrdQty]").val();
|
|
|
+
|
|
|
+ //if (maxOrdQty && ea > maxOrdQty) ea = maxOrdQty;
|
|
|
+ if (ea.toString().length > parseInt($target.attr('maxlength'))) --ea;
|
|
|
+ if (ea < 1) ea = minOrdQty;
|
|
|
+
|
|
|
+ $target.val(ea);
|
|
|
+
|
|
|
+ jfChangeOrderEa();
|
|
|
+ }
|
|
|
+
|
|
|
+ //옵션 갯수 변경
|
|
|
+ var jfChangeOrderEa = function() {
|
|
|
+
|
|
|
+ if("G056_N" == $("#cartForm input[name=goodsType]").val()){
|
|
|
+ if(gagajf.isNull($("#cartForm input[name=optCd2]").val())){
|
|
|
+ mcxDialog.alert("사이즈를 선택하세요.");
|
|
|
+ return false;
|
|
|
+ }
|
|
|
+ }else{
|
|
|
+ // 세트작업시 작업요망 eskim
|
|
|
+ /* var targetSize=$('.sizelist').length; //구성품 갯수;
|
|
|
+ var itemSize = $('.option').find('.item').find('input[type=radio]:checked').length; //사이즈 선택 상품수
|
|
|
+ if (targetSize > itemSize){
|
|
|
+ mcxDialog.alert("구성상품들의 사이즈를 선택하세요.");
|
|
|
+ return false;
|
|
|
+ } */
|
|
|
+ }
|
|
|
+
|
|
|
+ var f = document.cartForm;
|
|
|
+ var ea = parseInt($("#cartForm input[name=cea]").val());
|
|
|
+ var buymin = parseInt($("#cartForm input[name=minOrdQty]").val());
|
|
|
+ var buymax = parseInt($("#cartForm input[name=maxOrdQty]").val());
|
|
|
+ var alertMsg = '';
|
|
|
+ if (ea < buymin) {
|
|
|
+ alertMsg ="최소 주문 가능 수량은 "+buymin+"개 입니다.";
|
|
|
+ ea = buymin;
|
|
|
+ }
|
|
|
+
|
|
|
+ if (ea > buymax) {
|
|
|
+ alertMsg = "최대 주문 가능 수량은 "+buymax+"개 입니다.";
|
|
|
+ ea = buymax;
|
|
|
+ }
|
|
|
+
|
|
|
+ $("#cartForm input[name=cea]").val(ea);
|
|
|
+ $("#cartForm input[name=ordQty]").val(ea);
|
|
|
+
|
|
|
+ if (alertMsg != ''){
|
|
|
+ mcxDialog.alert(alertMsg);
|
|
|
+ //return;
|
|
|
+ }
|
|
|
+
|
|
|
+ jfSetTotalPrice();
|
|
|
+
|
|
|
+ }
|
|
|
+
|
|
|
+ //합계 계산
|
|
|
+ var jfSetTotalPrice = function() {
|
|
|
+ var f = document.cartForm;
|
|
|
+
|
|
|
+ var totalEa = 0;
|
|
|
+ var totalPrice = 0;
|
|
|
+
|
|
|
+ $('input[name="cea"]').each(function() {
|
|
|
+ var ea = parseInt($(this).val());
|
|
|
+ var addPrice = parseInt($("#cartForm input[name=addPrice]").val());
|
|
|
+ var goodsPrice = parseInt($(this).parent().find('input[name="coption"]').attr('price'));
|
|
|
+
|
|
|
+ totalEa += ea;
|
|
|
+ if (goodsPrice > 0) {
|
|
|
+ totalPrice += ((goodsPrice+addPrice) * ea);
|
|
|
+ }
|
|
|
+ });
|
|
|
+
|
|
|
+ $('#goodsTotalQty').html(totalEa.addComma());
|
|
|
+ $('#goodsTotalPrice').html(totalPrice.addComma());
|
|
|
+
|
|
|
+ }
|
|
|
+
|
|
|
+ //장바구니담기
|
|
|
+ var jfAddCart = function(btnType){
|
|
|
+ var params = [];
|
|
|
+ var goodsType = $("#cartForm input[name=goodsType]").val();
|
|
|
+
|
|
|
+ if (goodsType == 'G056_N'){
|
|
|
+ if (gagajf.isNull($("#cartForm input[name=optCd2]").val())) {
|
|
|
+
|
|
|
+ return;
|
|
|
+ }
|
|
|
+
|
|
|
+ var obj = new Object();
|
|
|
+ obj.goodsCd = $("#cartForm input[name=goodsCd]").val();
|
|
|
+ obj.optCd = $("#cartForm input[name=optCd]").val();
|
|
|
+ obj.goodsQty = $("#cartForm input[name=ordQty]").val();
|
|
|
+ obj.goodsType = $("#cartForm input[name=goodsType]").val();
|
|
|
+ //obj.dealGoodsCd = $("#cartForm input[name=goodsType]").val();
|
|
|
+ obj.cartGb = btnType;
|
|
|
+ obj.afLinkCd =$("#cartForm input[name=afLinkCd]").val();
|
|
|
+ obj.ithrCd =$("#cartForm input[name=ithrCd]").val();
|
|
|
+ obj.contentsLoc =$("#cartForm input[name=contentsLoc]").val();
|
|
|
+ obj.planDtlSq =$("#cartForm input[name=planDtlSq]").val();
|
|
|
+ params.push(obj);
|
|
|
+
|
|
|
+ }else if (goodsType == 'G056_S'){ //수정요
|
|
|
+ alert("작업필요");
|
|
|
+ }
|
|
|
+ // 장바구니담기
|
|
|
+ cfnAddCart(params);
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
/*]]>*/
|
|
|
</script>
|
|
|
</th:block>
|