瀏覽代碼

수발주 결제 화면

marseyes 2 年之前
父節點
當前提交
8a806f8044

+ 1 - 0
src/main/webapp/app/loanmng/LOANMNG03010.html

@@ -61,6 +61,7 @@
61 61
 				                <input type="hidden" id="ITP_FORM_LOANMNG03010_VIEW_STORE_ID" name="storeId" value="">
62 62
 				                <input type="hidden" id="ITP_FORM_LOANMNG03010_VIEW_STTL_MGNT_UNQ_NO" name="sttlMgntUnqNo" value="">
63 63
 				                <input type="hidden" id="ITP_FORM_LOANMNG03010_VIEW_RCPT_YN" value="">
64
+				                <input type="hidden" id="ITP_FORM_LOANMNG03010_VIEW_STTL_REQ_AMT" value="">
64 65
 				    
65 66
 				                <section class="itp_form_sec">
66 67
 				                    <h4 class="itp_form_tit">정산 상세정보</h4>

+ 70 - 0
src/main/webapp/app/popup/biz/BIZPOP_PO_PAYMENT.html

@@ -0,0 +1,70 @@
1
+<div id="ITP_BIZPOP_PO_PAYMENT" class="modal itp_modal">
2
+	<div class="modal-dialog">
3
+		<div class="modal-content">
4
+			<div class="modal-header">
5
+				<button type="button" class="close" data-dismiss="modal" aria-hidden="true">&times;</button>
6
+				<h5 class="modal-title">수발주 결제</h5>
7
+			</div>
8
+			<div class="modal-body">
9
+			
10
+				<div class="itp_form itp_type1 fix">
11
+					<div class="col-xs-12">
12
+					수발주 <b><span id="ITP_BIZPOP_PO_PAYMENT_PAY_TP_NM"></span></b>을 위해 아래 항목을 입력을 한 후에 결제 버튼을 클릭하여 PG사 결제 절차에 따라 결재을 진행해 주시기 바랍니다.
13
+					<br>
14
+					<br>
15
+					</div>
16
+				</div>
17
+				
18
+				<div class="itp_form itp_type1 fix">
19
+					<div class="col-xs-12">
20
+						<div class="form-horizontal">
21
+							<form id="ITP_FORM_PO_PAYMENT_POPUP">
22
+								<input type="hidden" id="ITP_FORM_PO_PAYMENT_POPUP_PAY_TP_CD" name="payTpCd" value="" />
23
+								<input type="hidden" id="ITP_FORM_PO_PAYMENT_POPUP_BRAND_ID" name="brandId" value="" />
24
+								<input type="hidden" id="ITP_FORM_PO_PAYMENT_POPUP_STORE_ID" name="storeId" value="" />
25
+								<input type="hidden" id="ITP_FORM_PO_PAYMENT_POPUP_STTL_MGNT_UNQ_NO" name="sttlMgntUnqNo" value="" />
26
+							
27
+								<div class="form-group">
28
+									<label class="col-xs-2 itp_lb">주문번호</label>
29
+									<div class="col-xs-10 itp_ip fnPoOrdNo"></div>									
30
+								</div>
31
+								<div class="form-group">
32
+									<label class="col-xs-2 itp_lb">구매자명</label>
33
+									<div class="col-xs-10 itp_ip fnOrdNm"></div>									
34
+								</div>
35
+								<div class="form-group">
36
+									<label class="col-xs-2 itp_lb">상품명</label>
37
+									<div class="col-xs-10 itp_ip fnGoodsNm"></div>									
38
+								</div>
39
+								<div class="form-group">
40
+									<label class="col-xs-2 itp_lb">결제금액*</label>
41
+									<div class="col-xs-10 itp_ip">
42
+									<input type="text" id="ITP_FORM_PO_PAYMENT_POPUP_GOODS_AMT" class="form-control itp_input" name="goodsAmt" />
43
+									</div>									
44
+								</div>
45
+								<div class="form-group">
46
+									<label class="col-xs-2 itp_lb">휴대폰번호*</label>
47
+									<div class="col-xs-10 itp_ip">
48
+									<input type="text" id="ITP_FORM_PO_PAYMENT_POPUP_ORD_TEL" class="form-control itp_input" name="ordTel" placeholder="010-0000-0000" />
49
+									</div>									
50
+								</div>
51
+								<div class="form-group">
52
+									<label class="col-xs-2 itp_lb">이메일</label>
53
+									<div class="col-xs-10 itp_ip">
54
+									<input type="text" id="ITP_FORM_PO_PAYMENT_POPUP_ORD_EMAIL" class="form-control itp_input" name="ordEmail" />
55
+									</div>									
56
+								</div>								
57
+							</form>
58
+						</div>
59
+					</div>
60
+				</div>
61
+			</div>
62
+			<div class="modal-footer">
63
+				<button type="button" id="ITP_BTN_PO_PAYMENT_CLOSE_POP" class="btn btn-danger btn-sm CLB">&nbsp;&nbsp;취소&nbsp;&nbsp;</button>
64
+				<button type="button" id="ITP_BTN_PO_PAYMENT_CONFIRM_POP" class="btn btn-primary btn-sm SAB" style="display: inline-block;">&nbsp;&nbsp;결제요청&nbsp;&nbsp;</button>
65
+			</div>
66
+		</div>
67
+	</div>
68
+
69
+	<div id="ITP_POPUP_JS"></div>
70
+</div>

+ 13 - 6
src/main/webapp/js/app/loanmng/ITP_LOANMNG03010.js

@@ -463,12 +463,18 @@ let viewObj = {
463 463
 			listObj.grid.search();
464 464
 		},
465 465
 		payment: function() {
466
-			var confirmFn= {
467
-				callBack: function() {
468
-					// TODO PG결제 진행	
469
-				}
470
-			};
471
-			itp_fn_modal_confirm(ITP_MSG_LOCALE.message.form.procData, confirmFn, null);
466
+			// 결제 팝업 결과
467
+			var popFn = function(rowDataPop) {
468
+				console.log(JSON.stringify(rowDataPop));
469
+			};			
470
+			// 결제 팝업
471
+			// 결제타입코드 : 10(선불(충전)), 20(후불(결제)), 30(후불(선결제))			
472
+			var args = {'payTpCd': '20', 
473
+				'brandId': $('#ITP_FORM_LOANMNG03010_VIEW_BRAND_ID').val(), 
474
+				'storeId': $('#ITP_FORM_LOANMNG03010_VIEW_STORE_ID').val(), 
475
+				'sttlMgntUnqNo': $('#ITP_FORM_LOANMNG03010_VIEW_STTL_MGNT_UNQ_NO').val(), 
476
+				'goodsAmt': $('#ITP_FORM_LOANMNG03010_VIEW_STTL_REQ_AMT').val() };
477
+			fn_call_popup('biz', 'BIZPOP_PO_PAYMENT', '#ITP_ASIDE', popFn, args, 'S');
472 478
 		}
473 479
 	}, 
474 480
 	load: function(param) {
@@ -481,6 +487,7 @@ let viewObj = {
481 487
 		$('#ITP_FORM_LOANMNG03010_VIEW #ITP_FORM_LOANMNG03010_VIEW_STORE_ID').val(result.storeId);
482 488
 		$('#ITP_FORM_LOANMNG03010_VIEW #ITP_FORM_LOANMNG03010_VIEW_STTL_MGNT_UNQ_NO').val(result.sttlMgntUnqNo);
483 489
 		$('#ITP_FORM_LOANMNG03010_VIEW #ITP_FORM_LOANMNG03010_VIEW_RCPT_YN').val(result.rcptYn);
490
+		$('#ITP_FORM_LOANMNG03010_VIEW #ITP_FORM_LOANMNG03010_VIEW_STTL_REQ_AMT').val(result.sttlReqAmt);
484 491
 		
485 492
 		$('#ITP_FORM_LOANMNG03010_VIEW .fnBrandNm').text(result.brandNm);
486 493
 		$('#ITP_FORM_LOANMNG03010_VIEW .fnStoreNm').text(result.storeNm);

+ 85 - 0
src/main/webapp/js/app/popup/biz/ITP_BIZPOP_PO_PAYMENT.js

@@ -0,0 +1,85 @@
1
+require(['config'], function() {
2
+	require([
3
+		'jquery'
4
+	], function($) {
5
+
6
+	});
7
+});
8
+
9
+let EASYPAY_PAYMENT_CREATE = '/api/easypay/payment/create'; // 이지페이 결제 생성
10
+
11
+var popPageObj = {
12
+	init: function () {
13
+		this.button();
14
+		this.change();
15
+		this.view();
16
+	},
17
+	parentPopFn: null,
18
+	args: null,
19
+	returnType: null,
20
+	button: function() {
21
+		$('#ITP_BTN_PO_PAYMENT_CLOSE_POP').on('click', function () {
22
+			$('#ITP_BIZPOP_PO_PAYMENT').modal('hide'); // 팝업닫기
23
+		});
24
+		$('#ITP_BTN_PO_PAYMENT_CONFIRM_POP').on('click', function () {
25
+			popPageObj.fnPaymentReq();
26
+		});
27
+	}, 
28
+	change: function() {
29
+	}, 	
30
+	view: function() {
31
+		$('#ITP_FORM_PO_PAYMENT_POPUP_PAY_TP_CD').val(popPageObj.args.payTpCd);
32
+		$('#ITP_FORM_PO_PAYMENT_POPUP_BRAND_ID').val(popPageObj.args.brandId);
33
+		$('#ITP_FORM_PO_PAYMENT_POPUP_STORE_ID').val(popPageObj.args.storeId);
34
+		
35
+		// 결제타입코드 : 10(선불(충전)), 20(후불(결제)), 30(후불(선결제))
36
+		if(popPageObj.args.payTpCd == '10') {  
37
+			$('#ITP_BIZPOP_PO_PAYMENT_PAY_TP_NM').text('선불(충전)');
38
+		} else if(popPageObj.args.payTpCd == '20') {  
39
+			$('#ITP_BIZPOP_PO_PAYMENT_PAY_TP_NM').text('후불(결제)');
40
+			$('#ITP_FORM_PO_PAYMENT_POPUP_STTL_MGNT_UNQ_NO').val(popPageObj.args.sttlMgntUnqNo); // 정산관리고유번호
41
+			$('#ITP_FORM_PO_PAYMENT_POPUP_GOODS_AMT').val(popPageObj.args.goodsAmt); // 결제금액
42
+			$('#ITP_FORM_PO_PAYMENT_POPUP_GOODS_AMT').attr('readonly','readonly');			
43
+		} else if(popPageObj.args.payTpCd == '30') {  
44
+			$('#ITP_BIZPOP_PO_PAYMENT_PAY_TP_NM').text('후불(선결제)');
45
+		}			
46
+		// 이지페이 결제 생성
47
+		let param = $('#ITP_FORM_PO_PAYMENT_POPUP').serializeObject();	
48
+		param.goodsAmt = $('#ITP_FORM_PO_PAYMENT_POPUP_GOODS_AMT').val() == '' ? 0 : $('#ITP_FORM_PO_PAYMENT_POPUP_GOODS_AMT').val();	
49
+		fn_ajax_call(EASYPAY_PAYMENT_CREATE, JSON.stringify(param), function(result) {
50
+			// console.log(JSON.stringify(result));
51
+			$('#ITP_FORM_PO_PAYMENT_POPUP .fnPoOrdNo').text(result.poOrdNo); // 주문번호
52
+			$('#ITP_FORM_PO_PAYMENT_POPUP .fnOrdNm').text(result.ordNm); // 구매자명
53
+			$('#ITP_FORM_PO_PAYMENT_POPUP .fnGoodsNm').text(result.goodsNm); // 상품명
54
+			$('#ITP_FORM_PO_PAYMENT_POPUP_ORD_TEL').val(result.ordTel); // 휴대전화번호
55
+			$('#ITP_FORM_PO_PAYMENT_POPUP_ORD_EMAIL').val(result.ordEmail); // 이메일
56
+			
57
+		}, 'POST');
58
+	}, 
59
+	fnPaymentReq: function() {
60
+		const formId = '#ITP_FORM_PO_PAYMENT_POPUP';
61
+		itp_fn_form_clear_validate(null, formId);
62
+		
63
+		var vali_sttlRjctRsn = itp_fn_form_validate(formId, formId + '_STTL_RJCT_RSN', ['empty'], undefined);
64
+		
65
+		if (vali_sttlRjctRsn) {		
66
+			var sttlRjctRsn = $('#ITP_FORM_PO_PAYMENT_POPUP_STTL_RJCT_RSN').val();	
67
+			
68
+			popPageObj.parentPopFn(sttlRjctRsn);
69
+			$('#ITP_BIZPOP_PO_PAYMENT').modal('hide'); // 팝업닫기
70
+		}
71
+	} 
72
+};
73
+
74
+function itp_fn_BIZPOP_PO_PAYMENT(parentPopFn, args, returnType) {
75
+	$('#ITP_BIZPOP_PO_PAYMENT').one('shown.bs.modal', function(e) {
76
+		itp_fn_fire_window_resize();
77
+	}).one('hidden.bs.modal', function(e) {
78
+		$('#ITP_BIZPOP_PO_PAYMENT').remove();
79
+	}).modal('show');
80
+
81
+	popPageObj.parentPopFn = parentPopFn;
82
+	popPageObj.args = args;
83
+	popPageObj.returnType = returnType;
84
+	popPageObj.init();
85
+}