주문 > 주문 관리 > 전체주문조회, 주문 상세 - 네이버페이 주문 제어 제한

(cherry picked from commit 6858b24344)
This commit is contained in:
이대환
2026-05-19 11:16:34 +09:00
parent ee95e09d12
commit 6bb7c4928d
2 changed files with 58 additions and 7 deletions

View File

@@ -391,6 +391,7 @@
$(document).on('click', '[id*="ordrSttus"]', function() { $(document).on('click', '[id*="ordrSttus"]', function() {
const tr = ($(this).attr('class').split(' ')[0]).replace('btn-', ''); const tr = ($(this).attr('class').split(' ')[0]).replace('btn-', '');
const rowCheckboxs = $('.' + tr).closest('#orderList').find('.' + tr + ' input[name="ordrInnb"]:checked'); const rowCheckboxs = $('.' + tr).closest('#orderList').find('.' + tr + ' input[name="ordrInnb"]:checked');
const smrtShopngOrdrnbs = rowCheckboxs.closest('td').find('input[name="smrtShopngOrdrnb"]');
if (rowCheckboxs.length === 0) { if (rowCheckboxs.length === 0) {
alert('선택값이 없습니다.'); alert('선택값이 없습니다.');
@@ -404,6 +405,20 @@
return $(this).closest('tr').find('input[name="subsvcAt"]').val() === 'Y'; return $(this).closest('tr').find('input[name="subsvcAt"]').val() === 'Y';
}); });
// 네이버페이 주문 제어 제한
let hasSmrt = false;
$(smrtShopngOrdrnbs).each(function() {
if($(this).val() != 'undefined' && $.trim($(this).val()) != '') {
hasSmrt = true;
return;
}
});
if ('35' != chgOrdrSttusCd && hasSmrt) {
alert('네이버페이 주문건은 처리할 수 없습니다.');
return false;
}
let msg = ''; let msg = '';
if (chgOrdrSttusCd === '35' && hasSubsvc) { if (chgOrdrSttusCd === '35' && hasSubsvc) {
@@ -775,12 +790,12 @@
header += ' </div>'; header += ' </div>';
if ('15' === data.ordrSttusCd) { if ('15' === data.ordrSttusCd) {
header += ' <button type="button" id="ordrSttus25" class="btn-' + currTr + ' btn confirm xsm">결제확인</button>'; header += ' <button type="button" id="ordrSttus25" class="btn-' + currTr + ' btn confirm xsm">결제확인1</button>';
header += ' <button type="button" id="ordrSttus95" class="btn-' + currTr + ' btn gray xsm">주문무효</button>'; header += ' <button type="button" id="ordrSttus95" class="btn-' + currTr + ' btn gray xsm">주문무효1</button>';
} }
if ('25' === data.ordrSttusCd) { if ('25' === data.ordrSttusCd) {
header += ' <button type="button" id="ordrSttus35" class="btn-' + currTr + ' btn prep xsm">상품준비</button>'; header += ' <button type="button" id="ordrSttus35" class="btn-' + currTr + ' btn prep xsm">상품준비1</button>';
/* header += ' <button type="button" id="ordrSttus85" class="btn-' + currTr + ' btn gray xsm">결제취소</button>'; */ /* header += ' <button type="button" id="ordrSttus85" class="btn-' + currTr + ' btn gray xsm">결제취소</button>'; */
} }
@@ -819,7 +834,7 @@
if ('25' == data.ordrSttusCd) { if ('25' == data.ordrSttusCd) {
header += ' <button type="button" id="ordrSttus15" class="btn-' + currTr + ' btn sm outline fs-13">'; header += ' <button type="button" id="ordrSttus15" class="btn-' + currTr + ' btn sm outline fs-13">';
header += ' <i class="icon icon_reset"></i>\'주문접수\' 상태로 되돌리기'; header += ' <i class="icon icon_reset"></i>\'주문접수\' 상태로 되돌리기1';
header += ' </button>'; header += ' </button>';
} }
@@ -870,6 +885,7 @@
} }
tr += '">'; tr += '">';
tr += ' <td>'; tr += ' <td>';
tr += ' <input type="hidden" name="smrtShopngOrdrnb" value="' + data.smrtShopngOrdrnb + '">';
tr += ' <label class="b-checkbox checkbox is-medium tr-color-check">'; tr += ' <label class="b-checkbox checkbox is-medium tr-color-check">';
tr += ' <input type="checkbox" name="ordrInnb" value="' + data.ordrInnb + '">'; tr += ' <input type="checkbox" name="ordrInnb" value="' + data.ordrInnb + '">';
tr += ' <span class="check"></span>'; tr += ' <span class="check"></span>';
@@ -1373,12 +1389,12 @@
footer += ' </div>'; footer += ' </div>';
if ('15' === prevOrderSttusCd) { if ('15' === prevOrderSttusCd) {
footer += ' <button type="button" id="ordrSttus25" class="btn-' + prevTrClass + ' btn confirm xsm">결제확인</button>'; footer += ' <button type="button" id="ordrSttus25" class="btn-' + prevTrClass + ' btn confirm xsm">결제확인2</button>';
footer += ' <button type="button" id="ordrSttus95" class="btn-' + prevTrClass + ' btn gray xsm">주문무효</button>'; footer += ' <button type="button" id="ordrSttus95" class="btn-' + prevTrClass + ' btn gray xsm">주문무효2</button>';
} }
if ('25' === prevOrderSttusCd) { if ('25' === prevOrderSttusCd) {
footer += ' <button type="button" id="ordrSttus35" class="btn-' + prevTrClass + ' btn prep xsm">상품준비</button>'; footer += ' <button type="button" id="ordrSttus35" class="btn-' + prevTrClass + ' btn prep xsm">상품준비2</button>';
/* footer += ' <button type="button" id="ordrSttus85" class="btn-' + currTr + ' btn gray xsm">결제취소</button>'; */ /* footer += ' <button type="button" id="ordrSttus85" class="btn-' + currTr + ' btn gray xsm">결제취소</button>'; */
} }

View File

@@ -104,6 +104,11 @@
const currOrdrSttusCd = '${data.dtl.ordrSttusCd}'; const currOrdrSttusCd = '${data.dtl.ordrSttusCd}';
const subsvcAt = '${data.dtl.subsvcAt}'; const subsvcAt = '${data.dtl.subsvcAt}';
// 네이버페이 주문 제어 제한
if (fn_check_smrtShoping('${data.dtl.smrtShopngOrdrnb}', chgOrdrSttusCd)) {
return false;
}
if (chgOrdrSttusCd === '35' && subsvcAt === 'Y') { if (chgOrdrSttusCd === '35' && subsvcAt === 'Y') {
alert('구독서비스의 상품준비 처리는 "구독서비스 상품준비 관리" 화면에서 처리해주세요.'); alert('구독서비스의 상품준비 처리는 "구독서비스 상품준비 관리" 화면에서 처리해주세요.');
return; return;
@@ -121,6 +126,10 @@
$('#canclPayment').on('click', function() { $('#canclPayment').on('click', function() {
const ordrInnb = '${data.dtl.ordrInnb}'; const ordrInnb = '${data.dtl.ordrInnb}';
// 네이버페이 주문 제어 제한
if (fn_check_smrtShoping('${data.dtl.smrtShopngOrdrnb}'))
return false;
fn_get_cancl_payment(ordrInnb); fn_get_cancl_payment(ordrInnb);
}); });
@@ -562,6 +571,10 @@
const section = $(this).closest('section'); const section = $(this).closest('section');
const form = $(section).find('form') const form = $(section).find('form')
// 네이버페이 주문 제어 제한
if (fn_check_smrtShoping('${data.dtl.smrtShopngOrdrnb}'))
return false;
// let recpntMbtlnb = ''; // let recpntMbtlnb = '';
// $(form).find('.recpnt-mbtlnb').each(function(index) { // $(form).find('.recpnt-mbtlnb').each(function(index) {
@@ -716,6 +729,10 @@
* 주문자 저장 버튼 클릭 이벤트 * 주문자 저장 버튼 클릭 이벤트
*/ */
$('#saveOrdrr').on('click', function() { $('#saveOrdrr').on('click', function() {
// 네이버페이 주문 제어 제한
if (fn_check_smrtShoping('${data.dtl.smrtShopngOrdrnb}'))
return false;
if (confirm('<spring:message code="confirm.common.update"/>')) { if (confirm('<spring:message code="confirm.common.update"/>')) {
const table = $(this).closest('table'); const table = $(this).closest('table');
const ordrrNm = $(table).find('input[name="ordrrNm"]').val() const ordrrNm = $(table).find('input[name="ordrrNm"]').val()
@@ -748,6 +765,10 @@
* 결제정보 저장 * 결제정보 저장
*/ */
$(document).on('click', '#saveSetle', function() { $(document).on('click', '#saveSetle', function() {
// 네이버페이 주문 제어 제한
if (fn_check_smrtShoping('${data.dtl.smrtShopngOrdrnb}'))
return false;
if (confirm('<spring:message code="confirm.common.update"/>')) { if (confirm('<spring:message code="confirm.common.update"/>')) {
const select = $('#setleDiv').find('#acntnb option:selected'); const select = $('#setleDiv').find('#acntnb option:selected');
@@ -1570,6 +1591,9 @@
* 반품/환불 신청 팝업 * 반품/환불 신청 팝업
* *******************************************************************/ * *******************************************************************/
const fn_refund_regist_popup = function (modalDivSltr, modalSlrt, url, ordrInnb, setleTy, ordrSttusCd) { const fn_refund_regist_popup = function (modalDivSltr, modalSlrt, url, ordrInnb, setleTy, ordrSttusCd) {
// 네이버페이 주문 제어 제한
if (fn_check_smrtShoping('${data.dtl.smrtShopngOrdrnb}'))
return false;
if ((setleTy === '05' || setleTy === '06') && ordrSttusCd !== '75') { // 에스크로 결제건은 배송완료가 된 후 반품신청이 가능. if ((setleTy === '05' || setleTy === '06') && ordrSttusCd !== '75') { // 에스크로 결제건은 배송완료가 된 후 반품신청이 가능.
alert("에스크로 결제건은 배송완료 후 반품신청이 가능합니다."); alert("에스크로 결제건은 배송완료 후 반품신청이 가능합니다.");
@@ -1731,7 +1755,18 @@
} }
/**
* 네이버페이 주문 제어 제한
*/
const fn_check_smrtShoping = function(smrtShopngOrdrnb, chgOrdrSttusCd) {
const hasSmrt = smrtShopngOrdrnb != 'undefined' && smrtShopngOrdrnb != '';
if ((chgOrdrSttusCd == undefined || chgOrdrSttusCd !== '35') && hasSmrt) {
alert('네이버페이 주문건은 처리할 수 없습니다.');
return true;
}
return false;
}
</script> </script>