fix : 쇼핑몰 구독서비스 - 구독서비스 정보 조건부 숨김처리

fix : 관리자 구독서비스 수정 - 기본&판매정보 입력값 0 허용, 재고정책 변경 시 판매가능 재고수량 초기화
This commit is contained in:
이대환
2026-04-01 15:14:24 +09:00
parent 63b675f435
commit 2e2bf59021
5 changed files with 83 additions and 16 deletions

View File

@@ -194,6 +194,10 @@
tgtForm.appendChild(input);
}
const fn_remove_input = function (name, tftForm) {
$(tftForm).find('input[name="' + name + '"]').remove();
}
/* ********************************************************
* 리스트 바로가기
@@ -309,15 +313,16 @@
// 텍스트 입력 내용중 필수 항목 체크
$(':text[required]').each(function () {
const inputVal = $(this).val().trim();
if($(this).hasClass('number')){
if ($(this).val().trim() == '' || $(this).val().trim() == '0') {
if (inputVal == '' || inputVal == '0' && !$(this).hasClass('allow-zero')) {
alert($(this).prop('title')+"은(는) 필수입니다");
$(this).focus();
retVal = false;
return false;
}
}else{
if ($(this).val().trim() == '') {
if (inputVal == '') {
alert($(this).prop('title')+"은(는) 필수입니다");
$(this).focus();
retVal = false;
@@ -362,8 +367,12 @@
$('#expsrEndDt').val('');
}
//선택한 재고정책
const choiceInvntryPolicyCd = $('input[name="invntryPolicyCd"]:checked').val()
const prevInvntryPolicyCd = $('#invntryPolicyCdAsIs').val()
//재고가 있으면 판매인 경우 개수 품절처리 필수
if($('input[name="invntryPolicyCd"]:checked').val() == '01'){
if(choiceInvntryPolicyCd == '01'){
if($('#avlinvLmttQy').val() == ''){
alert($('#avlinvLmttQy').prop('title')+"은(는) 노출여부가 노출예약인 경우 필수입니다");
$('#avlinvLmttQy').focus();
@@ -371,6 +380,13 @@
}
}
//재고에 따른 판매(재고정책)가 수정되었을 경우
fn_remove_input('usefulInvntryQyInit', $("#subsvcForm")[0]);
if(choiceInvntryPolicyCd !== prevInvntryPolicyCd){
alert('재고정책 변경에 따라 판매가능재고수량을 초기화합니다.');
fn_create_input('hidden', 'usefulInvntryQyInit','Y', $("#subsvcForm")[0]);
}
//이미지 필수 체크
if((($('#delImg').val() != '' || $('#img').val() == '') && imgDropzone.files.length != 1)){
if(imgDropzone.files.length == 0){
@@ -487,6 +503,7 @@
<input type="hidden" id="delImg" name="delImg" value="">
<input type="hidden" id="expsrBgnDt" name="expsrBgnDt" value="${resultMap.subsvcDtl.expsrBgnDt}">
<input type="hidden" id="expsrEndDt" name="expsrEndDt" value="${resultMap.subsvcDtl.expsrEndDt}">
<input type="hidden" id="invntryPolicyCdAsIs" value="${resultMap.subsvcDtl.invntryPolicyCd}">
<input type="hidden" id="usefulInvntryQy" name="usefulInvntryQy" value="${resultMap.subsvcDtl.usefulInvntryQy}">
<spring:eval expression="@environment.getProperty('spring.servlet.multipart.max-file-size')" var="maxFileSize"/>
<spring:eval expression="@environment.getProperty('mngrfo.common.fileupload.extensions.images')" var="acceptFileExtensions"/>
@@ -519,7 +536,7 @@
<th>구독기간<span class="red-7">*</span></th>
<td>
<div class="td-inner">
<input class="input-text xsm number text-right" type="text" title="구독기간" id="subPd" name="subPd" maxlength="3" value="${resultMap.subsvcDtl.subPd}" required> 개월
<input class="input-text xsm number text-right allow-zero" type="text" title="구독기간" id="subPd" name="subPd" maxlength="3" value="${resultMap.subsvcDtl.subPd}" required> 개월
</div>
</td>
</tr>
@@ -541,7 +558,7 @@
<th>배송횟수<span class="red-7">*</span></th>
<td>
<div class="td-inner">
<input class="input-text xsm number text-right" type="text" title="배송횟수" id="dlvyCnt" name="dlvyCnt" maxlength="3" value="${resultMap.subsvcDtl.dlvyCnt}" required> 회
<input class="input-text xsm number text-right allow-zero" type="text" title="배송횟수" id="dlvyCnt" name="dlvyCnt" maxlength="3" value="${resultMap.subsvcDtl.dlvyCnt}" required> 회
</div>
</td>
<th>배송주기<span class="red-7">*</span></th>
@@ -576,13 +593,13 @@
<th>구독료<span class="red-7">*</span></th>
<td>
<div class="td-inner">
<input class="input-text sm number text-right" type="text" title="구독료" id="subsvcCt" name="subsvcCt" maxlength="11" value="${resultMap.subsvcDtl.subsvcCt}" required> 円(엔)
<input class="input-text sm number text-right allow-zero" type="text" title="구독료" id="subsvcCt" name="subsvcCt" maxlength="11" value="${resultMap.subsvcDtl.subsvcCt}" required> 円(엔)
</div>
</td>
<th>1회 배송비<span class="red-7">*</span></th>
<td>
<div class="td-inner">
<input class="input-text sm number text-right" type="text" title="1회 배송비" id="tmeDlvyAmt" name="tmeDlvyAmt" maxlength="11" value="${resultMap.subsvcDtl.tmeDlvyAmt}" required> 円(엔)
<input class="input-text sm number text-right allow-zero" type="text" title="1회 배송비" id="tmeDlvyAmt" name="tmeDlvyAmt" maxlength="11" value="${resultMap.subsvcDtl.tmeDlvyAmt}" required> 円(엔)
</div>
</td>
</tr>
@@ -596,7 +613,7 @@
<th>실판매가<span class="red-7">*</span></th>
<td>
<div class="td-inner">
<input class="input-text sm number text-right" type="text" title="실판매가" id="selpric" name="selpric" maxlength="11" value="${resultMap.subsvcDtl.selpric}" readonly> 円(엔)
<input class="input-text sm number text-right allow-zero" type="text" title="실판매가" id="selpric" name="selpric" maxlength="11" value="${resultMap.subsvcDtl.selpric}" required readonly> 円(엔)
</div>
</td>
</tr>
@@ -631,7 +648,7 @@
<th>가용재고</th>
<td>
<div class="td-inner">
<input class="input-text sm number text-right" type="text" title="가용재고" id="availQt" maxlength="11" value="${resultMap.subsvcDtl.availQt}" readonly>
<input class="input-text sm text-right" type="text" title="가용재고" id="availQt" maxlength="11" value="${resultMap.subsvcDtl.availQt}" readonly>
</div>
</td>
</tr>