fix : 관리자 구독서비스 수정

This commit is contained in:
jazz
2026-02-02 14:39:31 +09:00
parent cbc4c6bee5
commit 8f131dcec4
5 changed files with 140 additions and 8 deletions

View File

@@ -53,6 +53,8 @@
$('[name="subsvcCt"]').on('change', fn_cal_selpric);
$('[name="tmeDlvyAmt"]').on('change', fn_cal_selpric);
$('#invntryQy').on('change', fn_cal_availQt)
});
//숫자 인풋 포커스시 0 제거
@@ -281,16 +283,23 @@
$(obj).parent('div.file-preview').parent('div.file-preview__container').remove()
}
/*자동계산*/
/*실판매가 자동계산*/
const fn_cal_selpric = function(){
var dlvyCnt = $('#dlvyCnt'); //배송횟수
var subsvcCt = $('#subsvcCt'); //구독료
var tmeDlvyAmt = $('#tmeDlvyAmt'); //1회 배송비
var selpric = $('#selpric'); //1회 배송비
console.log("dlvyCnt.val()",Number(dlvyCnt.val())," tmeDlvyAmt.val()",Number(tmeDlvyAmt.val().replace(/,/g, '')),"subsvcCt.val()",subsvcCt.val().replace(/,/g, ''));
selpric.val(((Number(dlvyCnt.val().replace(/,/g, '')) * Number(tmeDlvyAmt.val().replace(/,/g, ''))) + Number(subsvcCt.val().replace(/,/g, ''))).toLocaleString());
}
/*가용재고 자동계산*/
const fn_cal_availQt = function(){
var invntryQy = $('#invntryQy');
var usefulInvntryQy = $('#usefulInvntryQy');
var availQt = $('#availQt');
availQt.val(Number(invntryQy.val().replace(/,/g, '')) - Number(usefulInvntryQy.val().replace(/,/g, '')));
}
/** 제약조건 체크 */
const validate = function(){
var retVal = true;
@@ -301,7 +310,7 @@
// 텍스트 입력 내용중 필수 항목 체크
$(':text[required]').each(function () {
if($(this).hasClass('number')){
if ($(this).val().trim() == '0') {
if ($(this).val().trim() == '' || $(this).val().trim() == '0') {
alert($(this).prop('title')+"은(는) 필수입니다");
$(this).focus();
retVal = false;
@@ -397,6 +406,7 @@
return true;
}
/*수정하기*/
const fn_updateSubsvc = function (){
if(!validate()){
return false;
@@ -452,10 +462,11 @@
</h2>
<div class="page-title__btn-container">
<button onclick="fn_select_list()" class="btn outline"><spring:message code="button.list"/></button>
<button onclick="fn_updateSubsvc();return false;" class="btn primary"><spring:message code="button.save"/></button>
<button onclick="fn_updateSubsvc();return false;" class="btn primary"><spring:message code="button.update"/></button>
</div>
</div>
<form id="subsvcForm" method="post" action="" enctype="multipart/form-data">
<input type="hidden" id="subsvcInnb" name="subsvcInnb" value="${resultMap.subsvcDtl.subsvcInnb}">
<input type="hidden" id="sopmalCd" name="sopmalCd" value="${resultMap.paramVO.sopmalCd}">
<input type="hidden" id="srchSelSubsvcNm" name="srchSelSubsvcNm" value="${resultMap.paramVO.srchSelSubsvcNm}">
<input type="hidden" id="srchSubsvcNm" name="srchSubsvcNm" value="${resultMap.paramVO.srchSubsvcNm}">
@@ -471,6 +482,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.expsrBgnDt}">
<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"/>
<spring:eval expression="@environment.getProperty('mngrfo.common.fileupload.cdnurl')" var="cdnurl"/>
@@ -604,6 +616,20 @@
<col>
</colgroup>
<tbody>
<tr>
<th>재고<span class="red-7">*</span></th>
<td>
<div class="td-inner">
<input class="input-text sm number text-right" type="text" title="재고" id="invntryQy" name="invntryQy" maxlength="11" value="${resultMap.subsvcDtl.invntryQy}" required>
</div>
</td>
<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>
</div>
</td>
</tr>
<tr>
<th>판매 상태</th>
<td colspan="2">
@@ -645,14 +671,14 @@
<th>노출 기간</th>
<td>
<div class="td-inner">
<input type="text" id="expsrBgnDt_dt" class="datepicker" title="시작 날짜 선택" autocomplete="off" value="${fn:split(resultMap.subsvcDtl.expsrBgnDt,'T')[0]}" disabled>
<input type="text" id="expsrBgnDt_dt" class="datepicker" title="시작 날짜 선택" autocomplete="off" value="${fn:split(resultMap.subsvcDtl.expsrBgnDt,' ')[0]}" disabled>
<div class="timepicker-container">
<input type="text" class="bs-timepicker" id="expsrBgnDt_time" title="시작 시간 설정" value="${fn:split(fn:split(resultMap.subsvcDtl.expsrBgnDt,'T')[1], ':')[0]}:${fn:split(fn:split(resultMap.subsvcDtl.expsrBgnDt,'T')[1], ':')[1]}" disabled>
<input type="text" class="bs-timepicker" id="expsrBgnDt_time" title="시작 시간 설정" value="${fn:split(fn:split(resultMap.subsvcDtl.expsrBgnDt,' ')[1], ':')[0]}:${fn:split(fn:split(resultMap.subsvcDtl.expsrBgnDt,' ')[1], ':')[1]}" disabled>
</div>
<span class="tilde">~</span>
<input type="text" id="expsrEndDt_dt" class="datepicker" title="종료 날짜 선택" autocomplete="off" value="${fn:split(resultMap.subsvcDtl.expsrEndDt,'T')[0]}" disabled>
<input type="text" id="expsrEndDt_dt" class="datepicker" title="종료 날짜 선택" autocomplete="off" value="${fn:split(resultMap.subsvcDtl.expsrEndDt,' ')[0]}" disabled>
<div class="timepicker-container">
<input type="text" class="bs-timepicker" id="expsrEndDt_time" title="종료 시간 설정" value="${fn:split(fn:split(resultMap.subsvcDtl.expsrEndDt,'T')[1], ':')[0]}:${fn:split(fn:split(resultMap.subsvcDtl.expsrEndDt,'T')[1], ':')[1]}" disabled>
<input type="text" class="bs-timepicker" id="expsrEndDt_time" title="종료 시간 설정" value="${fn:split(fn:split(resultMap.subsvcDtl.expsrEndDt,' ')[1], ':')[0]}:${fn:split(fn:split(resultMap.subsvcDtl.expsrEndDt,' ')[1], ':')[1]}" disabled>
</div>
</div>
</td>