Bläddra i källkod

모바일 미납금관리 수정

juney 2 år sedan
förälder
incheckning
2d842f306a

+ 1 - 0
src/main/webapp/mobile/app/main.html

@@ -223,6 +223,7 @@
223 223
 				</div>
224 224
 			</footer>
225 225
 
226
+			<aside id="ITP_ASIDE"></aside>
226 227
 		</div>
227 228
 	</body>
228 229
 </html>

+ 28 - 16
src/main/webapp/mobile/app/mloanmng/MLOANMNG02010.html

@@ -59,7 +59,7 @@
59 59
 					  </div>
60 60
 					  <label class="col_0">입금일자&nbsp;:</label>
61 61
 					  <div class="history">
62
-						<div class="fnDpstDt">2022.10.05</div>
62
+						<div class="fnDpstDt"></div>
63 63
 					  </div>
64 64
 					</div>
65 65
 				  </div>
@@ -67,11 +67,11 @@
67 67
 					<div class="nomal">
68 68
 					  <label class="col_0">입금금액&nbsp;:</label>
69 69
 					  <div class="history">
70
-						<div class="fnDpstAmt">1,000,000</div>
70
+						<div class="fnDpstAmt"></div>
71 71
 					  </div>
72 72
 					  <label class="col_0">입금자&nbsp;:</label>
73 73
 					  <div class="col_5">
74
-						<div class="col_5 fnDpstNm">홍길동</div>
74
+						<div class="col_5 fnDpstNm"></div>
75 75
 					  </div>
76 76
 					</div>
77 77
 				  </div>
@@ -79,8 +79,8 @@
79 79
 					<div class="nomal">
80 80
 					  <label class="col_0">입금정보&nbsp;:</label>
81 81
 					  <div class="history">
82
-						<div class="fnRcvAcctNo">11122233344</div>
83
-						<div class="fnDpstBnkNm">(우리은행)</div>
82
+						<div class="fnRcvAcctNo"></div>
83
+						<div class="fnDpstBnkNm">)</div>
84 84
 					  </div>
85 85
 					</div>
86 86
 				  </div>
@@ -88,8 +88,8 @@
88 88
 					<div class="nomal">
89 89
 					  <label class="col_0">처리결과&nbsp;:</label>
90 90
 					  <div class="history">
91
-						<div class="fnDpstStNm">입금요청</div>
92
-						<div class="fnDpstDt">(2022.10.05)</div>
91
+						<div class="fnDpstStNm"></div>
92
+						<div class="fnDpstDt"></div>
93 93
 					  </div>
94 94
 					</div>
95 95
 				  </div>
@@ -111,7 +111,7 @@
111 111
 					<label>주문번호</label>
112 112
 				</div>
113 113
 				<div class="list_info">
114
-					<div class="pay_info fnPayNo">Psfas67f6s7f66</div>
114
+					<div class="pay_info fnPoOrdNo"></div>
115 115
 				</div>
116 116
 			</div>
117 117
 			<div class="list_line">
@@ -119,7 +119,7 @@
119 119
 					<label>구매자명</label>
120 120
 				</div>
121 121
 				<div class="list_info">
122
-					<div class="pay_info fnPayNm">매장 대표자명</div>
122
+					<div class="pay_info fnOrdNm"></div>
123 123
 				</div>
124 124
 			</div>
125 125
 			<div class="list_line">
@@ -127,7 +127,7 @@
127 127
 					<label>상품명</label>
128 128
 				</div>
129 129
 				<div class="list_info">
130
-					<div class="pay_info fnItemNm">매장 아이디 + 월일 + 금액</div>
130
+					<div class="pay_info fnGoodsNm"></div>
131 131
 				</div>
132 132
 			</div>
133 133
 			<div class="list_line">
@@ -135,15 +135,26 @@
135 135
 					<label>결제금액 *</label>
136 136
 				</div>
137 137
 				<div class="list_info" style="padding-top:10px;">
138
-					<input id="ITP_FORM_MLOANMNG02010_VIEW_TRSC_AMT" name="trscAmt" type="text">
138
+					<input id="ITP_FORM_MLOANMNG02010_PAY_GOODS_AMT" name="goodsAmt" type="text" data-check-required="empty">
139 139
 				</div>
140 140
 			</div>
141
+			  <div class="list_line">
142
+				  <div class="list_label">
143
+					  <label>결제방법 *</label>
144
+				  </div>
145
+				  <div class="list_info mail" style="padding-top:10px;">
146
+					  <select id="ITP_FORM_MLOANMNG02010_VIEW_PAY_METHOD" name="payMethod">
147
+						  <option value="11">신용카드</option>
148
+						  <option value="21">계좌이체</option>
149
+					  </select>
150
+				  </div>
151
+			  </div>
141 152
 			<div class="list_line">
142 153
 				<div class="list_label">
143 154
 					<label>휴대전화번호 *</label>
144 155
 				</div>
145 156
 				<div class="list_info" style="padding-top:10px;">
146
-					<input id="ITP_FORM_MLOANMNG02010_VIEW_MBL_NO" name="mblNo" type="text">
157
+					<input id="ITP_FORM_MLOANMNG02010_VIEW_MBL_NO" name="mblNo" type="text" data-check-required="empty">
147 158
 				</div>
148 159
 			</div>
149 160
 			<div class="list_line border">
@@ -151,10 +162,11 @@
151 162
 					<label>E-mail</label>
152 163
 				</div>
153 164
 				<div class="list_info mail" style="padding-top:10px;">
154
-					<input id="ITP_FORM_MLOANMNG02010_VIEW_EMAIL" name="email" class="" type="text">
165
+					<input id="ITP_FORM_MLOANMNG02010_PAY_PAY_ORD_EMAIL" name="ordEmail" class="" type="hidden">
166
+					<input id="ITP_FORM_MLOANMNG02010_VIEW_PAY_EMAIL_ID" name="emailId" class="" type="text" data-check-required="empty">
155 167
 					<span>@</span>
156
-					<input id="ITP_FORM_MLOANMNG02010_VIEW_EMAIL" name="email" class="" type="text">
157
-					<select name="emailCd" id="ITP_FORM_MLOANMNG02010_VIEW_EMAIL_CD" data-select-code="EMAIL_CD" data-check-required="empty">
168
+					<input id="ITP_FORM_MLOANMNG02010_VIEW_PAY_EMAIL_NM" name="emailNm" class="" type="text" data-check-required="empty">
169
+					<select name="emailCd" id="ITP_FORM_MLOANMNG02010_VIEW_EMAIL_CD" data-select-code="EMAIL_CD">
158 170
 						<option value="">선택</option>
159 171
 					</select>
160 172
 				</div>
@@ -162,7 +174,7 @@
162 174
 			<div class="line">
163 175
 			  <div class="search" style="margin-top:40px;">
164 176
 			  	<button id="ITP_BTN_MLOANMNG02010_VIEW_PAY_REQ" class="col_3 btn-primary btn-sm ">결제요청</button>
165
-  				<button id="ITP_BTN_MLOANMNG02010_VIEW_PAY_REQ_CANCEL" class="col_3 btn-gray btn-sm CLB">취소</button>
177
+  				<button id="ITP_BTN_MLOANMNG02010_VIEW_CANCEL_LIST" class="col_3 btn-gray btn-sm CLB">취소</button>
166 178
 			  </div>
167 179
 			</div>
168 180
 		  </div>	

+ 95 - 3
src/main/webapp/mobile/app/mloanmng/MLOANMNG03010.html

@@ -111,8 +111,12 @@
111 111
 	</div>
112 112
 	<div id="ITP_AJAX_MLOANMNG03010_VIEW_CONTAINER" style="display: none;">
113 113
 		<form id="ITP_FORM_MLOANMNG03010_VIEW" class="form-horizontal" onsubmit="return false;">
114
-			<input type="hidden" id="ITP_FORM_MLOANMNG03010_VIEW__SEARCH_BRAND_ID" name="sbrandId" value="">
115
-			<input type="hidden" id="ITP_FORM_MLOANMNG03010_VIEW__SEARCH_STORE_ID" name="sstoreId" value="">
114
+			<input type="hidden" id="ITP_FORM_MLOANMNG03010_VIEW_BRAND_ID" name="brandId" value="">
115
+			<input type="hidden" id="ITP_FORM_MLOANMNG03010_VIEW_STORE_ID" name="storeId" value="">
116
+			<input type="hidden" id="ITP_FORM_MLOANMNG03010_VIEW_STTL_MGNT_UNQ_NO" name="sttlMgntUnqNo" value="">
117
+			<input type="hidden" id="ITP_FORM_MLOANMNG03010_VIEW_UNPAID_AMT" name="goodsAmt" value="">
118
+			<input type="hidden" id="ITP_FORM_MLOANMNG03010_VIEW_RCPT_YN" value="">
119
+		</form>
116 120
 		  <div class="content">
117 121
 			<div class="line">
118 122
 			  <label>매장명</label>
@@ -223,7 +227,95 @@
223 227
 			<button id="ITP_BTN_MLOANMNG03010_VIEW_PAYMENT" class="btn_col_6 btn-primary PAY">결제</button>
224 228
 			<button id="ITP_BTN_MLOANMNG03010_VIEW_CANCEL_LIST" class="btn_col_3 btn-gray CLB">취소</button>
225 229
 		</div>
226
-	  </form>
230
+	</div>
231
+	<div id="ITP_AJAX_MLOANMNG03010_PAY_CONTAINER" style="display: none;">
232
+		<form id="ITP_FORM_MLOANMNG03010_PAY" class="form-horizontal" onsubmit="return false;">
233
+			<input type="hidden" id="ITP_FORM_MLOANMNG03010_PAY_BRAND_ID" name="brandId" value="">
234
+			<input type="hidden" id="ITP_FORM_MLOANMNG03010_PAY_STORE_ID" name="storeId" value="">
235
+			<input type="hidden" id="ITP_FORM_MLOANMNG03010_PAY_PO_ORD_NO" name="poOrdNo" value="">
236
+			<input type="hidden" id="ITP_FORM_MLOANMNG03010_PAY_ORD_NM" name="ordNm" value="">
237
+			<input type="hidden" id="ITP_FORM_MLOANMNG03010_PAY_GOODS_NM" name="goodsNm" value="">
238
+			<input type="hidden" id="ITP_FORM_MLOANMNG03010_PAY_MALL_ID" name="mallId" value="">
239
+			<input type="hidden" id="ITP_FORM_MLOANMNG03010_PAY_MOBILE_URL" name="kicc_action_mobile_url" value="">
240
+			<input type="hidden" id="ITP_FORM_MLOANMNG03010_PAY_JS_URL" name="kicc_javascript_url" value="">
241
+			<div class="content">
242
+				<div class="line" style="height:100px;">
243
+					<label class="pay_label">수발주 선불(충전)을 위해 아래 항목을 입력을 한 후에 결제 버튼을 클릭하여<br> PG사 결제 절차에 따라 결재을 진행해 주시기 바랍니다.</label>
244
+				</div>
245
+				<div class="list_line">
246
+					<div class="list_label">
247
+						<label>주문번호</label>
248
+					</div>
249
+					<div class="list_info">
250
+						<div class="pay_info fnPoOrdNo"></div>
251
+					</div>
252
+				</div>
253
+				<div class="list_line">
254
+					<div class="list_label">
255
+						<label>구매자명</label>
256
+					</div>
257
+					<div class="list_info">
258
+						<div class="pay_info fnOrdNm"></div>
259
+					</div>
260
+				</div>
261
+				<div class="list_line">
262
+					<div class="list_label">
263
+						<label>상품명</label>
264
+					</div>
265
+					<div class="list_info">
266
+						<div class="pay_info fnGoodsNm"></div>
267
+					</div>
268
+				</div>
269
+				<div class="list_line">
270
+					<div class="list_label">
271
+						<label>결제금액 *</label>
272
+					</div>
273
+					<div class="list_info" style="padding-top:10px;">
274
+						<div class="pay_info fnItemNm"></div>
275
+						<input id="ITP_FORM_MLOANMNG03010_PAY_GOODS_AMT" name="goodsAmt" type="text" readonly>
276
+					</div>
277
+				</div>
278
+				<div class="list_line">
279
+					<div class="list_label">
280
+						<label>결제방법 *</label>
281
+					</div>
282
+					<div class="list_info mail" style="padding-top:10px;">
283
+						<select id="ITP_FORM_MLOANMNG02010_PAY_PAY_METHOD" name="payMethod">
284
+							<option value="11">신용카드</option>
285
+							<option value="21">계좌이체</option>
286
+						</select>
287
+					</div>
288
+				</div>
289
+				<div class="list_line">
290
+					<div class="list_label">
291
+						<label>휴대전화번호 *</label>
292
+					</div>
293
+					<div class="list_info" style="padding-top:10px;">
294
+						<input id="ITP_FORM_MLOANMNG03010_PAY_ORD_TEL" name="ordTel" type="text" data-check-required="empty">
295
+					</div>
296
+				</div>
297
+				<div class="list_line border">
298
+					<div class="list_label border">
299
+						<label>E-mail</label>
300
+					</div>
301
+					<div class="list_info mail" style="padding-top:10px;">
302
+						<input id="ITP_FORM_MLOANMNG03010_PAY_ORD_EMAIL" name="ordEmail" class="" type="hidden">
303
+						<input id="ITP_FORM_MLOANMNG03010_PAY_EMAIL_ID" name="emailId" class="" type="text" data-check-required="empty">
304
+						<span>@</span>
305
+						<input id="ITP_FORM_MLOANMNG03010_PAY_EMAIL_NM" name="emailNm" class="" type="text" data-check-required="empty">
306
+						<select name="emailCd" id="ITP_FORM_MLOANMNG03010_PAY_EMAIL_CD" data-select-code="EMAIL_CD">
307
+							<option value="">선택</option>
308
+						</select>
309
+					</div>
310
+				</div>
311
+				<div class="line">
312
+					<div class="search" style="margin-top:40px;">
313
+						<button id="ITP_BTN_MLOANMNG03010_PAY_REQ" class="col_3 btn-primary btn-sm ">결제요청</button>
314
+						<button id="ITP_BTN_MLOANMNG03010_PAY_CANCEL" class="col_3 btn-gray btn-sm CLB">취소</button>
315
+					</div>
316
+				</div>
317
+			</div>
318
+		</form>
227 319
 	</div>
228 320
 	<div id="ITP_MOBILE_JS"></div>
229 321
 	<div id="ITP_POP_MLOANMNG03010_STORE_AREA" class="popup2 mobile-pop-close" style="display: none;">

+ 16 - 14
src/main/webapp/mobile/app/mstockmng/MSTOCKMNG01010.html

@@ -1,16 +1,17 @@
1 1
 <section id="ITP_MOBILE_MSTOCKMNG01010">
2 2
 	<div id="ITP_AJAX_MSTOCKMNG01010_LIST_CONTAINER">
3
-	  <form id="ITP_FORM_MSTOCKMNG01010_LIST" class="form-horizontal" onsubmit="return false;">
4
-		<input type="hidden" id="ITP_FORM_MSTOCKMNG01010_LIST_VIEW_CD" name="viewCd" value="C">
3
+	  <form id="ITP_FORM_MSTOCKMNG01010_LIST_SEARCH" class="form-horizontal" onsubmit="return false;">
4
+		  <input type="hidden" id="ITP_FORM_MLOANMNG01010_LIST_SEARCH_BRAND_ID" name="sbrandId" value="">
5
+		  <input type="hidden" id="ITP_FORM_MLOANMNG01010_LIST_SEARCH_STORE_ID" name="sstoreId" value="">
5 6
 		  <div class="content">
6 7
 			<div class="line">
7 8
 			  <label>창고선택</label>
8 9
 			  <div class="search_wrap">
9 10
 				  <div class="float_left">
10
-					<input id="ITP_FORM_MSTOCKMNG01010_LIST_WHS_NM" type="text" placeholder="A매장명">
11
+					<input id="ITP_FORM_MSTOCKMNG01010_LIST_SEARCH_WHS_NM" type="text" placeholder="A매장명">
11 12
 				  </div>
12 13
 				  <div class="float_left_btn">
13
-					<button id="ITP_BTN_MSTOCKMNG01010_LIST_SEARCH_WHS_NM" data-call-popup="ITP_POP_MSTOCKMNG01010_WHS_AREA"><img src="../img/search.png" alt=""></button>
14
+					<button id="ITP_BTN_MSTOCKMNG01010_LIST_SEARCH_WHS_NM"><img src="../img/search.png" alt=""></button>
14 15
 					<button id="ITP_BTN_MSTOCKMNG01010_LIST_DETELE_WHS_NM"><img src="../img/delete.png" alt=""></button>
15 16
 				  </div>
16 17
 			  </div>
@@ -18,7 +19,7 @@
18 19
 			<div class="line">
19 20
 			  <label>Location</label>
20 21
 			  <div class="line_right">
21
-				<select name="whsDvsn" id="ITP_FORM_MSTOCKMNG01010_LIST_WHS_DVSN">
22
+				<select name="whsDvsn" id="ITP_FORM_MSTOCKMNG01010_LIST_SEARCH_WHS_DVSN">
22 23
 				  <option value=""></option>
23 24
 				</select>
24 25
 			  </div>
@@ -26,7 +27,7 @@
26 27
 			<div class="line">
27 28
 			  <label>품목명</label>
28 29
 			  <div class="search_wrap">
29
-				<input id="ITP_FORM_MSTOCKMNG01010_LIST_ITEM_NM" name="itemNm" style="width: 262px;" type="text" placeholder="A매장명">
30
+				<input id="ITP_FORM_MSTOCKMNG01010_LIST_SEARCH_ITEM_NM" name="itemNm" style="width: 262px;" type="text" placeholder="품목명">
30 31
 			  </div>
31 32
 			</div>
32 33
 			<div class="line" style="height:45px;">
@@ -39,10 +40,10 @@
39 40
 			  <button type="button" id="ITP_BTN_MSTOCKMNG01010_LIST_ADD_STCK" class="btn-primary btn-sm ADB" data-call-popup="ITP_POP_MSTOCKMNG01010_STCK_AREA">재고처리</button>
40 41
 			</div>
41 42
 		  </div>
42
-			<div id="ITP_POP_MSTOCKMNG01010_STCK_AREA" class="scroll_area row-2">
43
-			  <ul id="ITP_LIST_MSTOCKMNG01010_LIST_ROWS" class="panel-group"></ul>
44
-			  <div id="ITP_LIST_MSTOCKMNG01010_LIST_ROWCOPY" style="display:none;">
45
-				<li class="history_list">
43
+			<div id="ITP_POP_MSTOCKMNG01010_LIST_ITEM_AREA" class="scroll_area row-2">
44
+			  <ul id="ITP_LIST_MSTOCKMNG01010_LIST_ITEM_ROWS" class="panel-group"></ul>
45
+			  <div id="ITP_LIST_MSTOCKMNG01010_LIST_ITEM_ROWCOPY" style="display:none;">
46
+				<li class="history_list list-row">
46 47
 				  <div>
47 48
 					<div class="left">
48 49
 					  <div class="nomal">
@@ -99,7 +100,7 @@
99 100
 	  </form>
100 101
 	</div>
101 102
 	<div id="ITP_MOBILE_JS"></div>
102
-	<div id="ITP_POP_MSTOCKMNG01010_ITEM_AREA" class="popup2 mobile-pop-close" style="display: block;">
103
+	<div id="ITP_POP_MSTOCKMNG01010_ITEM_AREA" class="popup2 mobile-pop-close" style="display: none;">
103 104
 		<div class="pop">
104 105
 			<div class="header">
105 106
 				<div class="header_left">
@@ -155,10 +156,11 @@
155 156
 						<label>E-mail</label>
156 157
 					</div>
157 158
 					<div class="list_info mail" style="padding-top:10px;">
158
-						<input id="ITP_FORM_MLOANMNG02010_VIEW_EMAIL" name="email" class="" type="text">
159
+						<input id="ITP_FORM_MLOANMNG02010_VIEW_EMAIL" name="ordEmail" class="" type="hidden">
160
+						<input id="ITP_FORM_MLOANMNG02010_VIEW_EMAIL_ID" name="emailId" class="" type="text" data-check-required="empty">
159 161
 						<span>@</span>
160
-						<input id="ITP_FORM_MLOANMNG02010_VIEW_EMAIL" name="email" class="" type="text">
161
-						<select name="emailCd" id="ITP_FORM_MLOANMNG02010_VIEW_EMAIL_CD" data-select-code="EMAIL_CD" data-check-required="empty">
162
+						<input id="ITP_FORM_MLOANMNG02010_VIEW_EMAIL_NM" name="emailNm" class="" type="text" data-check-required="empty">
163
+						<select name="emailCd" id="ITP_FORM_MLOANMNG02010_VIEW_EMAIL_CD" data-select-code="EMAIL_CD">
162 164
 							<option value="">선택</option>
163 165
 						</select>
164 166
 					</div>

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

@@ -0,0 +1,313 @@
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" target="_PAYMENT_FRAME" action="">
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_BRAND_NM" name="brandNm" value="" />
25
+								<input type="hidden" id="ITP_FORM_PO_PAYMENT_POPUP_STORE_ID" name="storeId" value="" />
26
+								<!--  
27
+								<input type="hidden" id="ITP_FORM_PO_PAYMENT_POPUP_STTL_MGNT_UNQ_NO" name="sttlMgntUnqNo" value="" />
28
+								-->
29
+								<input type="hidden" id="ITP_FORM_PO_PAYMENT_POPUP_STTL_MGNT_UNQ_NO_LIST" name="sttlMgntUnqNoList" value="" />
30
+								
31
+								<input type="hidden" id="ITP_FORM_PO_PAYMENT_POPUP_PO_ORD_NO" name="poOrdNo" value="" />
32
+								<input type="hidden" id="ITP_FORM_PO_PAYMENT_POPUP_ORD_NM" name="ordNm" value="" />
33
+								<input type="hidden" id="ITP_FORM_PO_PAYMENT_POPUP_GOODS_NM" name="goodsNm" value="" />
34
+								<input type="hidden" id="ITP_FORM_PO_PAYMENT_POPUP_KICC_JAVASCRIPT_URL" name="kiccJavascriptUrl" value="" />
35
+								<input type="hidden" id="ITP_FORM_PO_PAYMENT_POPUP_KICC_ACTION_WEB_URL" name="kiccActionWebUrl" value="" />
36
+								<input type="hidden" id="ITP_FORM_PO_PAYMENT_POPUP_KICC_ACTION_MOBILE_URL" name="kiccActionMobileUrl" value="" />
37
+								<input type="hidden" id="ITP_FORM_PO_PAYMENT_POPUP_MALL_ID" name="mallId" value="" />
38
+							
39
+								<div class="form-group">
40
+									<label class="col-xs-2 itp_lb">주문번호</label>
41
+									<div class="col-xs-10 itp_ip fnPoOrdNo"></div>									
42
+								</div>
43
+								<div class="form-group">
44
+									<label class="col-xs-2 itp_lb">구매자명</label>
45
+									<div class="col-xs-10 itp_ip fnOrdNm"></div>									
46
+								</div>
47
+								<div class="form-group">
48
+									<label class="col-xs-2 itp_lb">상품명</label>
49
+									<div class="col-xs-10 itp_ip fnGoodsNm"></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_GOODS_AMT" class="form-control itp_input" name="goodsAmt" />
55
+									</div>									
56
+								</div>
57
+								<div class="form-group">
58
+									<label class="col-xs-2 itp_lb">결제방법*</label>
59
+									<div class="col-xs-10 itp_ip">
60
+										<div class="col-xs-5 itp_ip">
61
+											<select id="ITP_FORM_PO_PAYMENT_POPUP_PAY_METHOD" class="form-control itp_input" name="payMethod">
62
+												<option value="11">신용카드</option>
63
+												<option value="21">계좌이체</option>
64
+											</select>
65
+										</div>
66
+									</div>									
67
+								</div>								
68
+								<div class="form-group">
69
+									<label class="col-xs-2 itp_lb">휴대폰번호*</label>
70
+									<div class="col-xs-10 itp_ip">
71
+									<input type="text" id="ITP_FORM_PO_PAYMENT_POPUP_ORD_TEL" class="form-control itp_input" name="ordTel" placeholder="010-0000-0000" />
72
+									</div>
73
+								</div>
74
+								<div class="form-group">
75
+									<label class="col-xs-2 itp_lb">이메일</label>
76
+									<div class="col-xs-3 itp_ip">
77
+									<input id="ITP_FORM_PO_PAYMENT_POPUP_ORD_EMAIL" name="ordEmail" class="" type="hidden">
78
+									<input type="text" id="ITP_FORM_PO_PAYMENT_POPUP_ORD_EMAIL_ID" class="form-control itp_input" name="emailId" />
79
+									</div>
80
+									<div class="col-xs-1 itp_ip">@</div>
81
+									<div class="col-xs-3 itp_ip">
82
+										<input id="ITP_FORM_PO_PAYMENT_POPUP_ORD_EMAIL_NM" name="emailNm" class="form-control itp_input" type="text" data-check-required="empty">
83
+									</div>
84
+									<div class="col-xs-3 itp_ip">
85
+										<select name="emailCd" id="ITP_FORM_PO_PAYMENT_POPUP_EMAIL_CD" data-select-code="EMAIL_CD" class="form-control itp_input">
86
+										</select>
87
+									</div>
88
+								</div>								
89
+							</form>
90
+							
91
+							<form name="frm_pay" id="frm_pay" method="post" action="">
92
+							<input type="hidden" id="poOrdNo" name="poOrdNo" value="" />
93
+							<input type="hidden" id="payTpCd" name="payTpCd" value="" />
94
+							<input type="hidden" id="sttlMgntUnqNo" name="sttlMgntUnqNo" value="" />
95
+							<input type="hidden" id="brandId" name="brandId" value="" />
96
+							<input type="hidden" id="storeId" name="storeId" value="" />
97
+							
98
+							<input type="hidden" id="kiccActionWebUrl" 		name="kiccActionWebUrl"			value="">
99
+							<input type="hidden" id="kiccActionMobileUrl" 	name="kiccActionMobileUrl"		value="">
100
+							
101
+							<!-- WEB -->
102
+							
103
+							<!--------------------------->
104
+							<!-- ::: 공통 인증 요청 값 -->
105
+							<!--------------------------->
106
+							
107
+							<input type="hidden" id="EP_mall_nm"        name="EP_mall_nm"           value="">         <!-- 가맹점명-->
108
+							<input type="hidden" id="EP_currency"       name="EP_currency"          value="00">       <!-- 통화코드 // 00 : 원화-->
109
+							<input type="hidden" id="EP_return_url"     name="EP_return_url"        value="">         <!-- 가맹점 CALLBACK URL // -->
110
+							<input type="hidden" id="EP_ci_url"         name="EP_ci_url"            value="">         <!-- CI LOGO URL // -->
111
+							<input type="hidden" id="EP_lang_flag"      name="EP_lang_flag"         value="KOR">      <!-- 언어 // -->
112
+							<input type="hidden" id="EP_charset"        name="EP_charset"           value="UTF-8">    <!-- 가맹점 CharSet // EUC-KR,UTF-8 사용시 대문자 이용-->
113
+							<input type="hidden" id="EP_user_id"        name="EP_user_id"           value="">         <!-- 가맹점 고객ID // -->
114
+							<input type="hidden" id="EP_memb_user_no"   name="EP_memb_user_no"      value="">         <!-- 가맹점 고객일련번호 // -->
115
+							<input type="hidden" id="EP_user_nm"        name="EP_user_nm"           value="">         <!-- 가맹점 고객명 // -->
116
+							<input type="hidden" id="EP_user_mail"      name="EP_user_mail"         value="">         <!-- 가맹점 고객 E-mail // -->
117
+							<input type="hidden" id="EP_user_phone1"    name="EP_user_phone1"       value="">         <!-- 가맹점 고객 연락처1 // -->
118
+							<input type="hidden" id="EP_user_phone2"    name="EP_user_phone2"       value="">         <!-- 가맹점 고객 연락처2 // -->
119
+							<input type="hidden" id="EP_user_addr"      name="EP_user_addr"         value="">         <!-- 가맹점 고객 주소 // -->
120
+							<input type="hidden" id="EP_user_define1"   name="EP_user_define1"      value="">         <!-- 가맹점 필드1 // -->
121
+							<input type="hidden" id="EP_user_define2"   name="EP_user_define2"      value="">         <!-- 가맹점 필드2 // -->
122
+							<input type="hidden" id="EP_user_define3"   name="EP_user_define3"      value="">         <!-- 가맹점 필드3 // -->
123
+							<input type="hidden" id="EP_user_define4"   name="EP_user_define4"      value="">         <!-- 가맹점 필드4 // -->
124
+							<input type="hidden" id="EP_user_define5"   name="EP_user_define5"      value="">         <!-- 가맹점 필드5 // -->
125
+							<input type="hidden" id="EP_user_define6"   name="EP_user_define6"      value="">         <!-- 가맹점 필드6 // -->
126
+							<input type="hidden" id="EP_product_type"   name="EP_product_type"      value="0">        <!-- 상품정보구분 // -->
127
+							<input type="hidden" id="EP_product_expr"   name="EP_product_expr"      value="">         <!-- 서비스 기간 // (YYYYMMDD) -->
128
+							<input type="hidden" id="EP_disp_cash_yn"   name="EP_disp_cash_yn"      value="">         <!-- 현금영수증 화면표시여부 //미표시 : "N", 그외: DB조회 -->
129
+							
130
+							
131
+							<!--------------------------->
132
+							<!-- ::: 카드 인증 요청 값 -->
133
+							<!--------------------------->
134
+							
135
+							<input type="hidden" id="EP_usedcard_code"      name="EP_usedcard_code"     value="">      <!-- 사용가능한 카드 LIST // FORMAT->카드코드:카드코드: ... :카드코드 EXAMPLE->029:027:031 // 빈값 : DB조회-->
136
+							<input type="hidden" id="EP_quota"              name="EP_quota"             value="">      <!-- 할부개월 (카드코드-할부개월) -->
137
+							<input type="hidden" id="EP_os_cert_flag"       name="EP_os_cert_flag"      value="2">     <!-- 해외안심클릭 사용여부(변경불가) // -->
138
+							<input type="hidden" id="EP_noinst_flag"        name="EP_noinst_flag"       value="">      <!-- 무이자 여부 (Y/N) // -->
139
+							<input type="hidden" id="EP_noinst_term"        name="EP_noinst_term"       value="">      <!-- 무이자 기간 (카드코드-더할할부개월) // -->
140
+							<input type="hidden" id="EP_set_point_card_yn"  name="EP_set_point_card_yn" value="">      <!-- 카드사포인트 사용여부 (Y/N) // -->
141
+							<input type="hidden" id="EP_point_card"         name="EP_point_card"        value="">      <!-- 포인트카드 LIST  // -->
142
+							<input type="hidden" id="EP_join_cd"            name="EP_join_cd"           value="">      <!-- 조인코드 // -->
143
+							<input type="hidden" id="EP_kmotion_useyn"      name="EP_kmotion_useyn"     value="Y">     <!-- 국민앱카드 사용유무 (Y/N)// -->
144
+							
145
+							<!------------------------------->
146
+							<!-- ::: 가상계좌 인증 요청 값 -->
147
+							<!------------------------------->
148
+							
149
+							<input type="hidden" id="EP_vacct_bank"         name="EP_vacct_bank"        value="">      <!-- 가상계좌 사용가능한 은행 LIST // -->
150
+							<input type="hidden" id="EP_vacct_end_date"     name="EP_vacct_end_date"    value="">      <!-- 입금 만료 날짜 // -->
151
+							<input type="hidden" id="EP_vacct_end_time"     name="EP_vacct_end_time"    value="">      <!-- 입금 만료 시간 // -->
152
+							
153
+							<!------------------------------->
154
+							<!-- ::: 선불카드 인증 요청 값 -->
155
+							<!------------------------------->
156
+							
157
+							<input type="hidden" id="EP_prepaid_cp"         name="EP_prepaid_cp"        value="">      <!-- 선불카드 CP // FORMAT->코드:코드: ... :코드 EXAMPLE->CCB:ECB // 빈값 : DB조회-->
158
+							
159
+							<!--------------------------------->
160
+							<!-- ::: 인증응답용 인증 요청 값 -->
161
+							<!--------------------------------->
162
+							
163
+							<input type="hidden" id="EP_res_cd"             name="EP_res_cd"            value="">      <!--  응답코드 // -->
164
+							<input type="hidden" id="EP_res_msg"            name="EP_res_msg"           value="">      <!--  응답메세지 // -->
165
+							<input type="hidden" id="EP_tr_cd"              name="EP_tr_cd"             value="">      <!--  결제창 요청구분 // -->
166
+							<input type="hidden" id="EP_ret_pay_type"       name="EP_ret_pay_type"      value="">      <!--  결제수단 // -->
167
+							<input type="hidden" id="EP_ret_complex_yn"     name="EP_ret_complex_yn"    value="">      <!--  복합결제 여부 (Y/N) // -->
168
+							<input type="hidden" id="EP_card_code"          name="EP_card_code"         value="">      <!--  카드코드 (ISP:KVP카드코드 MPI:카드코드) // -->
169
+							<input type="hidden" id="EP_eci_code"           name="EP_eci_code"          value="">      <!--  MPI인 경우 ECI코드 // -->
170
+							<input type="hidden" id="EP_card_req_type"      name="EP_card_req_type"     value="">      <!--  거래구분 // -->
171
+							<input type="hidden" id="EP_save_useyn"         name="EP_save_useyn"        value="">      <!--  카드사 세이브 여부 (Y/N) // -->
172
+							<input type="hidden" id="EP_trace_no"           name="EP_trace_no"          value="">      <!--  추적번호 // -->
173
+							<input type="hidden" id="EP_sessionkey"         name="EP_sessionkey"        value="">      <!--  세션키 // -->
174
+							<input type="hidden" id="EP_encrypt_data"       name="EP_encrypt_data"      value="">      <!--  암호화전문 // -->
175
+							<input type="hidden" id="EP_spay_cp"            name="EP_spay_cp"           value="">      <!--  간편결제 CP 코드 // -->
176
+							<input type="hidden" id="EP_card_prefix"        name="EP_card_prefix"       value="">      <!--  신용카드prefix // -->
177
+							<input type="hidden" id="EP_card_no_7"          name="EP_card_no_7"         value="">      <!--  신용카드번호 앞7자리 // -->
178
+							
179
+							<!--------------------------------->
180
+							<!-- ::: 가맹점 정보 -->
181
+							<!--------------------------------->
182
+							
183
+							<input type="hidden" id="EP_mall_id"          	name="EP_mall_id"         	value="">      	   <!--  가맹점ID // -->
184
+							
185
+							<!--------------------------------->
186
+							<!-- ::: 결제 정보 -->
187
+							<!--------------------------------->
188
+							
189
+							<input type="hidden" id="EP_pay_type"           name="EP_pay_type"           value="">      	<!--  결제수단 // -->
190
+							<input type="hidden" id="EP_window_type"        name="EP_window_type"        value="iframe">    <!--  윈도우타입 (iframe[default], popup) // -->
191
+							<input type="hidden" id="EP_cert_type"          name="EP_cert_type"          value="">      	<!--  인증타입 (일반-"", 인증-"21", 비인증-"22") // -->
192
+							
193
+							<!--------------------------------->
194
+							<!-- ::: 주문 정보 -->
195
+							<!--------------------------------->
196
+							
197
+							<input type="hidden" id="EP_order_no"         	name="EP_order_no"           value="">      	<!--  주문번호 // -->
198
+							<input type="hidden" id="EP_product_nm"         name="EP_product_nm"         value="">      	<!--  상품명 // -->
199
+							<input type="hidden" id="EP_product_amt"        name="EP_product_amt"        value="">      	<!--  상품금액 // -->
200
+							
201
+							<!-- // WEB END -->
202
+							
203
+							<!-- MOBILE -->
204
+							<!-- [START] 인증요청 필드 -->     <!--  <table>내에도 일부 파라미터 존재합니다.-->
205
+							      
206
+							<!--------------------------->
207
+							<!-- ::: 공통 인증 요청 값 -->
208
+							<!--------------------------->
209
+							<input type="hidden" id="sp_mall_nm"           name="sp_mall_nm"           value="" />               <!--[선택]가맹점명 -->
210
+							<input type="hidden" id="sp_order_no"          name="sp_order_no"          value="" />               <!--[필수]가맹점 주문번호(인증응답) -->  
211
+							<input type="hidden" id="sp_currency"          name="sp_currency"          value="00" />             <!--[필수]통화코드(수정불가) -->        
212
+							<input type="hidden" id="sp_return_url"        name="sp_return_url"        value="" />         		 <!--[필수]가맹점 return URL -->
213
+							<input type="hidden" id="sp_lang_flag"         name="sp_lang_flag"         value="KOR" />            <!--[선택]언어 -->
214
+							<input type="hidden" id="sp_charset"           name="sp_charset"           value="UTF-8" />          <!--[선택]가맹점 charset -->  
215
+							<input type="hidden" id="sp_user_id"           name="sp_user_id"           value="" />               <!--[선택]가맹점 고객ID -->
216
+							<input type="hidden" id="sp_memb_user_no"      name="sp_memb_user_no"      value="" />               <!--[선택]가맹점 고객일련번호 -->
217
+							<input type="hidden" id="sp_user_nm"           name="sp_user_nm"           value="" />           	 <!--[선택]가맹점 고객명 -->
218
+							<input type="hidden" id="sp_user_mail"         name="sp_user_mail"         value="" />           	 <!--[선택]가맹점 고객 E-mail -->
219
+							<input type="hidden" id="sp_user_phone1"       name="sp_user_phone1"       value="" />               <!--[선택]가맹점 고객 연락처1 -->
220
+							<input type="hidden" id="sp_user_phone2"       name="sp_user_phone2"       value="" />               <!--[선택]가맹점 고객 연락처2 -->
221
+							<input type="hidden" id="sp_user_addr"         name="sp_user_addr"         value="" />               <!--[선택]가맹점 고객 주소 -->
222
+							<input type="hidden" id="sp_user_define1"      name="sp_user_define1"      value="" />               <!--[선택]가맹점 필드1 -->
223
+							<input type="hidden" id="sp_user_define2"      name="sp_user_define2"      value="" />               <!--[선택]가맹점 필드2 -->
224
+							<input type="hidden" id="sp_user_define3"      name="sp_user_define3"      value="" />               <!--[선택]가맹점 필드3 -->
225
+							<input type="hidden" id="sp_user_define4"      name="sp_user_define4"      value="" />               <!--[선택]가맹점 필드4 -->
226
+							<input type="hidden" id="sp_user_define5"      name="sp_user_define5"      value="" />               <!--[선택]가맹점 필드5 -->
227
+							<input type="hidden" id="sp_user_define6"      name="sp_user_define6"      value="" />               <!--[선택]가맹점 필드6 -->
228
+							<input type="hidden" id="sp_product_type"      name="sp_product_type"      value="" />               <!--[선택]상품정보구분 -->
229
+							<input type="hidden" id="sp_product_expr"      name="sp_product_expr"      value="" />               <!--[선택]서비스 기간 -->
230
+							<input type="hidden" id="sp_app_scheme"        name="sp_app_scheme"        value="" />               <!--[선택]가맹점 APP scheme -->  
231
+							
232
+							<input type="hidden" id="sp_mall_id"		   name="sp_mall_id"		   value="" />               <!--[필수]가맹점 ID -->
233
+							<input type="hidden" id="sp_pay_type"      	   name="sp_pay_type"   	   value="" />               <!--[필수]결제수단 -->
234
+							<input type="hidden" id="sp_cert_type"	       name="sp_cert_type"   	   value="" />               <!--[선택]인증타입 -->
235
+							<input type="hidden" id="sp_product_nm"    	   name="sp_product_nm"   	   value="" />               <!--[필수]상품명 -->
236
+							<input type="hidden" id="sp_product_amt"   	   name="sp_product_amt"       value="" />               <!--[필수]상품금액 -->
237
+							<input type="hidden" id="sp_window_type"       name="sp_window_type"       value="" />               <!--[선택]윈도우타입 -->
238
+							<input type="hidden" id="sp_disp_cash_yn"      name="sp_disp_cash_yn"      value="" />               <!--[선택]현금영수증 화면표시여부 -->  
239
+							<input type="hidden" id="sp_kmotion_useyn"     name="sp_kmotion_useyn"     value="" />               <!--[선택]국민앱카드 사용유무 --> 
240
+							
241
+							                                                                                                     
242
+							<!--신용카드-->                                                                                      
243
+							<input type="hidden" id="sp_usedcard_code"     name="sp_usedcard_code"     value="" />               <!--[선택]사용가능카드 LIST -->
244
+							<input type="hidden" id="sp_quota"             name="sp_quota"             value="" />               <!--[선택]할부개월 -->
245
+							<input type="hidden" id="sp_os_cert_flag"      name="sp_os_cert_flag"      value="2" />               <!--[선택]해외안심클릭 사용여부-->
246
+							<input type="hidden" id="sp_noinst_flag"       name="sp_noinst_flag"       value="" />               <!--[선택]무이자 여부(Y/N)-->
247
+							<input type="hidden" id="sp_noinst_term"       name="sp_noinst_term"       value="" />               <!--[선택]무이자 기간 -->
248
+							<input type="hidden" id="sp_set_point_card_yn" name="sp_set_point_card_yn" value="" />               <!--[선택]카드사포인트 사용여부(Y/N)-->
249
+							<input type="hidden" id="sp_point_card"        name="sp_point_card"        value="" />               <!--[선택]포인트카드 LIST(카드코드-더할 할부개월) -->
250
+							<input type="hidden" id="sp_join_cd"           name="sp_join_cd"           value="" />               <!--[선택]조인코드 -->
251
+							                                                                                                          
252
+							<!--가상계좌-->                                                                                      
253
+							<input type="hidden" id="sp_vacct_bank"        name="sp_vacct_bank"         value="" />               <!--[선택]가상계좌 사용가능한 은행 LIST -->
254
+							<input type="hidden" id="sp_vacct_end_date"    name="sp_vacct_end_date"     value="" />               <!--[선택]입금 만료 날짜 -->
255
+							<input type="hidden" id="sp_vacct_end_time"    name="sp_vacct_end_time"     value="" />               <!--[선택]입금 만료 시간 -->
256
+							                                                                                                     
257
+							<!--선불카드-->                                                                                      
258
+							<input type="hidden" id="sp_prepaid_cp"        name="sp_prepaid_cp"         value="" />               <!--[선택]선불카드 CP -->
259
+							                        
260
+							<!-- [END] 인증요청 필드  --> 
261
+							
262
+							<!-- [START] 인증응답 필드 -->     
263
+							
264
+							<!--------------------------->
265
+							<!-- ::: 공통 응답 값 -->
266
+							<!--------------------------->
267
+							<input type="hidden" id="sp_res_cd"              name="sp_res_cd"                value="" />         <!-- [필수]응답코드        --> 
268
+							<input type="hidden" id="sp_res_msg"             name="sp_res_msg"               value="" />         <!-- [필수]응답메시지      --> 
269
+							<input type="hidden" id="sp_tr_cd"               name="sp_tr_cd"                 value="" />         <!-- [필수]결제창 요청구분 --> 
270
+							<input type="hidden" id="sp_ret_pay_type"        name="sp_ret_pay_type"          value="" />         <!-- [필수]결제수단        --> 
271
+							<input type="hidden" id="sp_trace_no"            name="sp_trace_no"              value="" />         <!-- [선택]추적번호        --> 
272
+							<!-- 가맹점 주문번호 인증요청 필드에 존재.                                                                [필수]가맹점 주문번호 --> 
273
+							<input type="hidden" id="sp_sessionkey"          name="sp_sessionkey"            value="" />         <!-- [필수]세션키          --> 
274
+							<input type="hidden" id="sp_encrypt_data"        name="sp_encrypt_data"          value="" />         <!-- [필수]암호화전문      --> 
275
+							<!-- 가맹점 ID  인증요청 필드에 존재.                                                                 [필수]가맹점 ID       -->
276
+							<input type="hidden" id="sp_mobilereserved1"     name="sp_mobilereserved1"       value="" />         <!-- [선택]여유필드        --> 
277
+							<input type="hidden" id="sp_mobilereserved2"     name="sp_mobilereserved2"       value="" />         <!-- [선택]여유필드        --> 
278
+							<input type="hidden" id="sp_reserved1"           name="sp_reserved1"             value="" />         <!-- [선택]여유필드        --> 
279
+							<input type="hidden" id="sp_reserved2"           name="sp_reserved2"             value="" />         <!-- [선택]여유필드        --> 
280
+							<input type="hidden" id="sp_reserved3"           name="sp_reserved3"             value="" />         <!-- [선택]여유필드        --> 
281
+							<input type="hidden" id="sp_reserved4"           name="sp_reserved4"             value="" />         <!-- [선택]여유필드        --> 
282
+							
283
+							<!--신용카드-->                                                                                                                        
284
+							<input type="hidden" id="sp_card_code"            name="sp_card_code"            value="" />         <!-- [필수]카드코드               -->
285
+							<input type="hidden" id="sp_eci_code"             name="sp_eci_code"             value="" />         <!-- [선택]ECI코드(MPI인 경우)    -->
286
+							<input type="hidden" id="sp_card_req_type"        name="sp_card_req_type"        value="" />         <!-- [필수]거래구분               -->
287
+							<input type="hidden" id="sp_save_useyn"           name="sp_save_useyn"           value="" />         <!-- [선택]카드사 세이브 여부     -->
288
+							<input type="hidden" id="sp_card_prefix"          name="sp_card_prefix"          value="" />         <!-- [선택]신용카드 Prefix        -->
289
+							<input type="hidden" id="sp_card_no_7"            name="sp_card_no_7"            value="" />         <!-- [선택]신용카드번호 앞7자리   -->
290
+							
291
+							<!--간편결제-->
292
+							<input type="hidden" id="sp_spay_cp"              name="sp_spay_cp"              value="" />          <!-- [선택]간편결제 CP코드 -->
293
+							                                                                                                    
294
+							<!--선불카드-->                                                                                     
295
+							<input type="hidden" id="sp_prepaid_cp"           name="sp_prepaid_cp"           value="" />          <!-- [선택]선불카드 CP코드 -->
296
+							   
297
+							<!-- [END] 인증응답 필드  --> 
298
+							<!-- // MOBILE END -->
299
+							</form>
300
+							
301
+						</div>
302
+					</div>
303
+				</div>
304
+			</div>
305
+			<div class="modal-footer">
306
+				<button type="button" id="ITP_BTN_PO_PAYMENT_CLOSE_POP" class="btn btn-danger btn-sm CLB">&nbsp;&nbsp;취소&nbsp;&nbsp;</button>
307
+				<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>
308
+			</div>
309
+		</div>
310
+	</div>
311
+	<div id="ITP_POPUP_KICC_JS"></div>
312
+	<div id="ITP_POPUP_JS"></div>
313
+</div>

+ 2 - 1
src/main/webapp/mobile/js/app/mloanmng/ITP_MLOANMNG02010.js

@@ -74,7 +74,7 @@ let mobPageObj = {
74 74
 				var id = $(this).attr('id');
75 75
 				switch (id) {
76 76
 					case 'ITP_BTN_MLOANMNG02010_VIEW_PAY_REQ'		: mobContentObj.view.payment();		break;
77
-					case 'ITP_BTN_MLOANMNG02010_VIEW_CANCEL_LIST'	: mobContentObj.view.cancel();			break;
77
+					case 'ITP_BTN_MLOANMNG02010_VIEW_CANCEL_LIST'	: mobContentObj.view.cancel();		break;
78 78
 				}
79 79
 				return false;
80 80
 			});
@@ -202,6 +202,7 @@ let mobContentObj = {
202 202
 			fn_ajax_call(API_MOBILE_GRID_LIST, JSON.stringify(param), callbackFn, 'POST', errFn);
203 203
 		},
204 204
 		payment: function() {
205
+			console.log('payment');
205 206
 			mobPageObj.switchScreen(PAGE_MODE_VIEW);
206 207
 		},
207 208
 		add: function() {

+ 113 - 4
src/main/webapp/mobile/js/app/mloanmng/ITP_MLOANMNG03010.js

@@ -11,8 +11,13 @@ const API_MOBILE_INFO 				= '/api/unpaid/mng/info-unpaid';		// 상세
11 11
 const API_MOBILE_HISTORY			= '/api/unpaid/mng/stl-grid-list';		// 이력
12 12
 const API_POP_SEARCH_LIST			= '/api/store/pop-grid-list';
13 13
 
14
+// 이지페이 결제 생성
15
+let EASYPAY_PAYMENT_CREATE 			= '/api/easypay/payment/create';
16
+let EASYPAY_PAYMENT_REQUEST 		= '/api/easypay/payment/request';
17
+
14 18
 const PAGE_MODE_LIST				= "LIST";
15 19
 const PAGE_MODE_VIEW				= "VIEW";
20
+const PAGE_MODE_PAY					= "PAY";
16 21
 
17 22
 let mobPageObj = {
18 23
 	viewMode: PAGE_MODE_LIST,
@@ -62,17 +67,36 @@ let mobPageObj = {
62 67
 				var id = $(this).attr('id');
63 68
 				switch (id) {
64 69
 					case 'ITP_BTN_MLOANMNG03010_VIEW_SEARCH'		: mobContentObj.view.history.search();	break;
65
-					case 'ITP_BTN_MLOANMNG03010_VIEW_PAYMENT'		: mobContentObj.view.payment();	break;
70
+					case 'ITP_BTN_MLOANMNG03010_VIEW_PAYMENT'		: mobContentObj.view.payment.view();	break;
66 71
 					case 'ITP_BTN_MLOANMNG03010_VIEW_CANCEL_LIST'	: mobContentObj.view.cancel();			break;
67 72
 				}
68 73
 				return false;
69 74
 			});
70 75
 
76
+			$('button[id^="ITP_BTN_MLOANMNG03010_PAY"]').on('click', function() {
77
+				var id = $(this).attr('id');
78
+				switch (id) {
79
+					case 'ITP_BTN_MLOANMNG03010_PAY_REQ'			: mobContentObj.view.payment.request();	break;
80
+					case 'ITP_BTN_MLOANMNG03010_PAY_CANCEL'			: mobContentObj.view.payment.cancel();	break;
81
+				}
82
+				return false;
83
+			});
84
+
71 85
 			$(document).on('click', '#ITP_LIST_MLOANMNG03010_LIST_ITEM_ROWS li', function() {
72 86
 				var item = mobContentObj.list.rows[$(this).index()];
73 87
 				mobContentObj.view.init(item);
74 88
 			});
75 89
 
90
+			$('select[id="ITP_FORM_MLOANMNG03010_PAY_EMAIL_CD"]').on('change', function() {
91
+				var val = $(this).text();
92
+				var index = $("#ITP_FORM_MLOANMNG03010_PAY_EMAIL_CD option").index($("#ITP_FORM_MLOANMNG03010_PAY_EMAIL_CD option:selected"));
93
+				var emailId = '#ITP_FORM_MLOANMNG03010_PAY_EMAIL_NM';
94
+				(index === 0) ? $(emailId).val('').attr('readonly', false) : $(emailId).val($("#ITP_FORM_MLOANMNG03010_PAY_EMAIL_CD option:selected").text()).attr('readonly', true);
95
+				$('#ITP_FORM_MLOANMNG03010_PAY_ORD_EMAIL').val(
96
+					$('#ITP_FORM_MLOANMNG03010_PAY_EMAIL_ID').val() + '@' + $('#ITP_FORM_MLOANMNG03010_PAY_EMAIL_NM').val()
97
+				);
98
+			});
99
+
76 100
 			$(document).on('click', '#ITP_LIST_MLOANMNG03010_POP_STORE_ROWS li button', function() {
77 101
 				mobPopObj.popWhsNm.choice($(this));
78 102
 			});
@@ -89,6 +113,8 @@ let mobPageObj = {
89 113
 		} else if(mode === PAGE_MODE_VIEW) {
90 114
 			$('#ITP_AJAX_MLOANMNG03010_VIEW_CONTAINER').show();
91 115
 			this.moreView(false);
116
+		} else if(mode === PAGE_MODE_PAY) {
117
+			$('#ITP_AJAX_MLOANMNG03010_PAY_CONTAINER').show();
92 118
 		}
93 119
 	},
94 120
 	moreView: function(isScroll) {
@@ -163,7 +189,9 @@ let mobContentObj = {
163 189
 		}
164 190
 	},
165 191
 	view: {
192
+		item: null,
166 193
 		init: function(item) {
194
+			this.item = item;
167 195
 			mobPageObj.switchScreen(PAGE_MODE_VIEW);
168 196
 			this.search(item);
169 197
 		},
@@ -185,6 +213,13 @@ let mobContentObj = {
185 213
 			$(id).find('.fnSttlReqDt').text(result.sttlReqDt);
186 214
 			$(id).find('.fnSttlAmt').text(CommonObj.currency.add(result.sttlAmt));
187 215
 			$(id).find('.fnSttlDt').text(result.sttlDt);
216
+			$('#ITP_FORM_MLOANMNG03010_VIEW #ITP_FORM_MLOANMNG03010_VIEW_STORE_ID').val(result.storeId);
217
+			$('#ITP_FORM_MLOANMNG03010_VIEW #ITP_FORM_MLOANMNG03010_VIEW_STTL_MGNT_UNQ_NO').val(result.sttlMgntUnqNo);
218
+			$('#ITP_FORM_MLOANMNG03010_VIEW #ITP_FORM_MLOANMNG03010_VIEW_UNPAID_AMT').val(result.unpaidAmt);
219
+			$('#ITP_FORM_MLOANMNG03010_VIEW #ITP_FORM_MLOANMNG03010_VIEW_RCPT_YN').val(result.rcptYn);
220
+
221
+			$('#ITP_FORM_MLOANMNG03010_PAY #ITP_FORM_MLOANMNG03010_PAY_STORE_ID').val(result.storeId);
222
+			$('#ITP_FORM_MLOANMNG03010_PAY #ITP_FORM_MLOANMNG03010_PAY_GOODS_AMT').val(result.unpaidAmt);
188 223
 			_this.history.init(result.sttlMgntUnqNo);
189 224
 		},
190 225
 		history: {
@@ -234,11 +269,85 @@ let mobContentObj = {
234 269
 				fn_ajax_call(API_MOBILE_HISTORY, JSON.stringify(param), callbackFn, 'POST', errFn);
235 270
 			}
236 271
 		},
237
-		payment: function () {
272
+		payment: {
273
+			view: function() {
274
+				if(CommonObj.isApp) {
275
+					mobPageObj.switchScreen(PAGE_MODE_PAY);
276
+					this.load();
277
+				} else {
278
+					this.popup();
279
+				}
280
+			},
281
+			load: function() {
282
+				var callbackFn = function(result) {
283
+					console.log(result);
284
+					var id = '#ITP_AJAX_MLOANMNG03010_PAY_CONTAINER';
285
+					$(id).find('.fnPoOrdNo').text(result.poOrdNo);
286
+					$(id).find('.fnOrdNm').text(result.ordNm);
287
+					$(id).find('.fnGoodsNm').text(result.goodsNm);
288
+					$(id).find('#ITP_FORM_MLOANMNG03010_PAY_PO_ORD_NO').val(result.poOrdNo);
289
+					$(id).find('#ITP_FORM_MLOANMNG03010_PAY_ORD_NM').val(result.ordNm);
290
+					$(id).find('#ITP_FORM_MLOANMNG03010_PAY_GOODS_NM').val(result.goodsNm);
291
+					$(id).find('#ITP_FORM_MLOANMNG03010_PAY_MALL_ID').val(result.mallId);
292
+					$(id).find('#ITP_FORM_MLOANMNG03010_PAY_MOBILE_URL').val(result.kicc_action_mobile_url);
293
+					$(id).find('#ITP_FORM_MLOANMNG03010_PAY_JS_URL').val(result.kicc_javascript_url);
294
+					if(result.ordEmail) {
295
+						var email = result.ordEmail.split('@');
296
+						if(email.length === 2) {
297
+							$(id).find('#ITP_FORM_MLOANMNG03010_PAY_ORD_EMAIL').val(email);
298
+							$(id).find('#ITP_FORM_MLOANMNG03010_PAY_EMAIL_ID').val(email[0]);
299
+							$(id).find('#ITP_FORM_MLOANMNG03010_PAY_EMAIL_NM').val(email[1]);
300
+						}
301
+					}
302
+				};
303
+				// 결제타입코드 : 10(선불(충전)), 20(후불(결제)), 30(후불(선결제))
304
+				var param = $('#ITP_FORM_MLOANMNG03010_VIEW').serializeObject();
305
+				fn_ajax_call(EASYPAY_PAYMENT_CREATE, JSON.stringify(param), callbackFn, 'POST');
306
+			},
307
+			popup: function() {
308
+				// 결제 팝업 결과
309
+				var popFn = function(rowDataPop) {
310
+					console.log(JSON.stringify(rowDataPop));
311
+					listObj.grid.search();
312
+				};
313
+				// 결제 팝업
314
+				// 결제타입코드 : 10(선불(충전)), 20(후불(결제)), 30(후불(선결제))
315
+				var args = {
316
+					'payTpCd': '20',
317
+					'brandId': $('#ITP_FORM_MLOANMNG03010_VIEW_BRAND_ID').val(),
318
+					'storeId': $('#ITP_FORM_MLOANMNG03010_VIEW_STORE_ID').val(),
319
+					'sttlMgntUnqNoList': $('#ITP_FORM_MLOANMNG03010_VIEW_STTL_MGNT_UNQ_NO').val(),
320
+					'goodsAmt': $('#ITP_FORM_MLOANMNG03010_VIEW_UNPAID_AMT').val()
321
+				};
322
+				fn_call_popup('biz', 'BIZPOP_PO_PAYMENT', '#ITP_ASIDE', popFn, args, 'M');
323
+			},
324
+			request: function() {
325
+				var param = $('#ITP_FORM_MLOANMNG03010_PAY').serializeObject();
326
+				console.log(param);
327
+				location.replace('app:payment:' + JSON.stringify(param));
328
+			},
329
+			payResult: function(result) {
330
+				console.log(result);
331
+			},
332
+			cancel: function() {
333
+				$(id).find('.fnPoOrdNo').text('');
334
+				$(id).find('.fnOrdNm').text('');
335
+				$(id).find('.fnGoodsNm').text('');
336
+				$(id).find('#ITP_FORM_MLOANMNG03010_PAY_PO_ORD_NO').val('');
337
+				$(id).find('#ITP_FORM_MLOANMNG03010_PAY_ORD_NM').val('');
338
+				$(id).find('#ITP_FORM_MLOANMNG03010_PAY_GOODS_NM').val('');
339
+				$(id).find('#ITP_FORM_MLOANMNG03010_PAY_GOODS_AMT').val('');
340
+				$(id).find('#ITP_FORM_MLOANMNG03010_PAY_MALL_ID').val('');
341
+				$(id).find('#ITP_FORM_MLOANMNG03010_PAY_MOBILE_URL').val('');
342
+				$(id).find('#ITP_FORM_MLOANMNG03010_PAY_JS_URL').val('');
343
+				mobPageObj.switchScreen(PAGE_MODE_VIEW);
344
+			}
345
+		},
346
+		payRequest: function() {
238 347
 			location.replace('app:payment');
239 348
 		},
240
-		paymentCB: function() {
241
-
349
+		payCancel: function() {
350
+			mobPageObj.switchScreen(PAGE_MODE_VIEW);
242 351
 		},
243 352
 		cancel: function () {
244 353
 			var id = '#ITP_AJAX_MLOANMNG03010_VIEW_CONTAINER';

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

@@ -0,0 +1,389 @@
1
+require(['config'], function() {
2
+	require([
3
+		'jquery'
4
+	], function($) {
5
+
6
+	});
7
+});
8
+
9
+let EASYPAY_PAYMENT_CREATE = '/api/easypay/payment/create'; // 이지페이 결제 생성
10
+let EASYPAY_PAYMENT_REQUEST = '/api/easypay/payment/request';
11
+
12
+let KICC_JAVASCRIPT_URL;
13
+let KICC_ACTION_WEB_URL;
14
+let KICC_ACTION_MOBILE_URL; 
15
+let MALL_ID;
16
+let WEB_RETURN_URL;
17
+let MOBILE_RETURN_URL;
18
+
19
+var popPageObj = {
20
+	init: function () {
21
+		this.button();
22
+		this.change();
23
+		this.view();
24
+	},
25
+	parentPopFn: null,
26
+	args: null,
27
+	returnType: null,
28
+	button: function() {
29
+		$('#ITP_BTN_PO_PAYMENT_CLOSE_POP').on('click', function () {
30
+			$('#ITP_BIZPOP_PO_PAYMENT').modal('hide'); // 팝업닫기
31
+		});
32
+		$('#ITP_BTN_PO_PAYMENT_CONFIRM_POP').on('click', function () {
33
+			popPageObj.fnPaymentReq();
34
+		});
35
+	}, 
36
+	change: function() {
37
+		// 공통코드 표시
38
+		$('select').each(function() {
39
+			if($(this).data('select-code')) {
40
+				fn_make_select(CODE_LIST, $(this).data('select-code'), $(this).attr('id'));
41
+			}
42
+		});
43
+		$('select[id="ITP_FORM_PO_PAYMENT_POPUP_EMAIL_CD"]').on('change', function() {
44
+			var val = $(this).text();
45
+			var index = $("#ITP_FORM_PO_PAYMENT_POPUP_EMAIL_CD option").index($("#ITP_FORM_PO_PAYMENT_POPUP_EMAIL_CD option:selected"));
46
+			var emailId = '#ITP_FORM_PO_PAYMENT_POPUP_ORD_EMAIL_NM';
47
+			(index === 0) ? $(emailId).val('').attr('readonly', false) : $(emailId).val($("#ITP_FORM_PO_PAYMENT_POPUP_EMAIL_CD option:selected").text()).attr('readonly', true);
48
+			$('#ITP_FORM_PO_PAYMENT_POPUP_ORD_EMAIL').val(
49
+				$('#ITP_FORM_PO_PAYMENT_POPUP_ORD_EMAIL_ID').val() + '@' + $('#ITP_FORM_PO_PAYMENT_POPUP_ORD_EMAIL_NM').val()
50
+			);
51
+		});
52
+
53
+	}, 	
54
+	view: function() {
55
+		$('#ITP_FORM_PO_PAYMENT_POPUP_PAY_TP_CD').val(popPageObj.args.payTpCd);
56
+		$('#ITP_FORM_PO_PAYMENT_POPUP_BRAND_ID').val(popPageObj.args.brandId);
57
+		$('#ITP_FORM_PO_PAYMENT_POPUP_BRAND_NM').val(fn_make_user_info.get('brandNm'));
58
+		$('#ITP_FORM_PO_PAYMENT_POPUP_STORE_ID').val(popPageObj.args.storeId);
59
+		
60
+		// 결제타입코드 : 10(선불(충전)), 20(후불(결제)), 30(후불(선결제))
61
+		if(popPageObj.args.payTpCd == '10') {  
62
+			$('#ITP_BIZPOP_PO_PAYMENT_PAY_TP_NM').text('선불(충전)');
63
+		} else if(popPageObj.args.payTpCd == '20') {  
64
+			$('#ITP_BIZPOP_PO_PAYMENT_PAY_TP_NM').text('후불(결제)');
65
+			// $('#ITP_FORM_PO_PAYMENT_POPUP_STTL_MGNT_UNQ_NO').val(popPageObj.args.sttlMgntUnqNo); // 정산관리고유번호
66
+			$('#ITP_FORM_PO_PAYMENT_POPUP_STTL_MGNT_UNQ_NO_LIST').val(popPageObj.args.sttlMgntUnqNoList); // 정산관리고유번호 리스트
67
+			$('#ITP_FORM_PO_PAYMENT_POPUP_GOODS_AMT').val(popPageObj.args.goodsAmt); // 결제금액
68
+			$('#ITP_FORM_PO_PAYMENT_POPUP_GOODS_AMT').attr('readonly','readonly');			
69
+		} else if(popPageObj.args.payTpCd == '30') {  
70
+			$('#ITP_BIZPOP_PO_PAYMENT_PAY_TP_NM').text('후불(선결제)');
71
+		}			
72
+		// 이지페이 결제 생성
73
+		let param = $('#ITP_FORM_PO_PAYMENT_POPUP').serializeObject();	
74
+		param.goodsAmt = $('#ITP_FORM_PO_PAYMENT_POPUP_GOODS_AMT').val() == '' ? 0 : $('#ITP_FORM_PO_PAYMENT_POPUP_GOODS_AMT').val();	
75
+		fn_ajax_call(EASYPAY_PAYMENT_CREATE, JSON.stringify(param), function(result) {
76
+			// console.log(JSON.stringify(result));
77
+			
78
+			$('#ITP_FORM_PO_PAYMENT_POPUP_PO_ORD_NO').val(result.poOrdNo); // 주문번호
79
+			$('#ITP_FORM_PO_PAYMENT_POPUP_ORD_NM').val(result.ordNm); // 구매자명
80
+			$('#ITP_FORM_PO_PAYMENT_POPUP_GOODS_NM').val(result.goodsNm); // 상품명
81
+			$('#ITP_FORM_PO_PAYMENT_POPUP_KICC_JAVASCRIPT_URL').val(result.kicc_javascript_url); // 
82
+			$('#ITP_FORM_PO_PAYMENT_POPUP_KICC_ACTION_WEB_URL').val(result.kicc_action_web_url); // 
83
+			$('#ITP_FORM_PO_PAYMENT_POPUP_KICC_ACTION_MOBILE_URL').val(result.kicc_action_mobile_url); // 
84
+			$('#ITP_FORM_PO_PAYMENT_POPUP_MALL_ID').val(result.mallId); // 
85
+			
86
+			$('#ITP_FORM_PO_PAYMENT_POPUP .fnPoOrdNo').text(result.poOrdNo); // 주문번호
87
+			$('#ITP_FORM_PO_PAYMENT_POPUP .fnOrdNm').text(result.ordNm); // 구매자명
88
+			$('#ITP_FORM_PO_PAYMENT_POPUP .fnGoodsNm').text(result.goodsNm); // 상품명
89
+			$('#ITP_FORM_PO_PAYMENT_POPUP_ORD_TEL').val(result.ordTel); // 휴대전화번호
90
+			if(result.ordEmail) {
91
+				var email = result.ordEmail.split('@');
92
+				if(email.length === 2) {
93
+					$('#ITP_FORM_PO_PAYMENT_POPUP_ORD_EMAIL').val(result.ordEmail); // 이메일
94
+					$('#ITP_FORM_PO_PAYMENT_POPUP_ORD_EMAIL_ID').val(email[0]);
95
+					$('#ITP_FORM_PO_PAYMENT_POPUP_ORD_EMAIL_NM').val(email[1]);
96
+				}
97
+			}
98
+			
99
+			KICC_JAVASCRIPT_URL = result.kicc_javascript_url;
100
+            KICC_ACTION_WEB_URL = result.kicc_action_web_url;
101
+            KICC_ACTION_MOBILE_URL = result.kicc_action_mobile_url;
102
+			MALL_ID = result.mallId;
103
+			WEB_RETURN_URL = window.location.href.replace('main.html', 'easypay/oqpo/oqpo_order_res.jsp');
104
+			MOBILE_RETURN_URL = window.location.href.replace('main.html', 'easypay/oqpo/mobile_order_res_submit.jsp');
105
+			
106
+			const js = '<script src="'+KICC_JAVASCRIPT_URL+'"></script>';
107
+	        $('#ITP_ASIDE #ITP_BIZPOP_PO_PAYMENT #ITP_POPUP_KICC_JS').empty();
108
+	        $('#ITP_ASIDE #ITP_BIZPOP_PO_PAYMENT #ITP_POPUP_KICC_JS').append(js);
109
+			
110
+			// console.log('KICC_JAVASCRIPT_URL : ' + KICC_JAVASCRIPT_URL);
111
+            // console.log('KICC_ACTION_WEB_URL : ' + KICC_ACTION_WEB_URL);
112
+			// console.log('MALL_ID : ' + MALL_ID);
113
+			// console.log('WEB_RETURN_URL : ' + WEB_RETURN_URL);
114
+			
115
+			var frm_pay = document.frm_pay;
116
+
117
+			/*--웹 결제--*/
118
+		    /*--공통--*/        
119
+		    frm_pay.kiccActionWebUrl.value  	= KICC_ACTION_WEB_URL;       						  
120
+		    frm_pay.kiccActionMobileUrl.value  	= KICC_ACTION_MOBILE_URL;       						  
121
+		    frm_pay.EP_mall_id.value        = MALL_ID;       						   //가맹점 ID
122
+		    frm_pay.EP_mall_nm.value        = fn_make_user_info.get('brandNm');		   //가맹점명
123
+		    frm_pay.EP_order_no.value       = result.poOrdNo;   					   //가맹점 주문번호    
124
+		                                                                               //결제수단(select)
125
+		    frm_pay.EP_currency.value       = "00";                                    //통화코드 : 00-원
126
+		    frm_pay.EP_product_nm.value     = result.goodsNm;				   		   //상품명
127
+		    frm_pay.EP_product_amt.value    = $('#ITP_FORM_PO_PAYMENT_POPUP_GOODS_AMT').val();	//상품금액
128
+		                                                                               //가맹점 return_url(윈도우 타입 선택 시, 분기)
129
+		    frm_pay.EP_lang_flag.value      = "KOR"                                    //언어: KOR / ENG
130
+		    frm_pay.EP_charset.value        = "UTF-8"                                  //가맹점 Charset: EUC-KR(default) / UTF-8
131
+		    frm_pay.EP_user_id.value        = "";		                               //가맹점 고객 ID
132
+		    frm_pay.EP_memb_user_no.value   = "";			                           //가맹점 고객 일련번호
133
+		    frm_pay.EP_user_nm.value        = result.ordNm;						   	   //가맹점 고객명
134
+		    frm_pay.EP_user_mail.value      = result.ordEmail;                     	   //가맹점 고객 이메일
135
+		    frm_pay.EP_user_phone1.value    = result.ordTel;                       	   //가맹점 고객 번호1
136
+		    frm_pay.EP_user_phone2.value    = "";			                           //가맹점 고객 번호2
137
+		    frm_pay.EP_user_addr.value      = "";      								   //가맹점 고객 주소
138
+		    frm_pay.EP_product_type.value   = "0";                                     //상품정보구분 : 0-실물, 1-서비스
139
+		    frm_pay.EP_product_expr.value   = "";             				           //서비스기간 : YYYYMMDD
140
+		    frm_pay.EP_return_url.value     = WEB_RETURN_URL;  							   // Return 받을 URL (HTTP부터 입력)
141
+		                                    
142
+		    /*--신용카드--*/                    
143
+		    frm_pay.EP_usedcard_code.value  = "";                                      //사용가능한 카드 LIST
144
+		    frm_pay.EP_quota.value          = "";                                      //할부개월
145
+		
146
+		                                                                               //무이자 여부(Y/N) (select)   
147
+		    frm_pay.EP_noinst_term.value    = "";		                               //무이자기간
148
+		                                                                               //카드사포인트 사용여부(select) 
149
+		    frm_pay.EP_point_card.value     = "";	                                   //포인트카드 LIST
150
+		                                                                               //조인코드(select)
151
+		                                                                               //국민 앱카드 사용(select)                                                                                  
152
+		                                                                                                               
153
+		    /*--가상계좌--*/
154
+		    frm_pay.EP_vacct_bank.value     = "";                                      //가상계좌 사용가능한 은행 LIST 
155
+		    frm_pay.EP_vacct_end_date.value = "";		                               //입금 만료 날짜
156
+		    frm_pay.EP_vacct_end_time.value = "";        	                           //입금 만료 시간
157
+		    
158
+			/*--모바일 결제--*/
159
+		    /*--공통--*/        
160
+		    frm_pay.sp_mall_id.value        = MALL_ID;    							   //가맹점 ID
161
+		    frm_pay.sp_mall_nm.value        = fn_make_user_info.get('brandNm');		   //가맹점명
162
+		    frm_pay.sp_order_no.value       = result.poOrdNo;  						   //가맹점 주문번호    
163
+		                                                                               //결제수단(select)
164
+		    frm_pay.sp_currency.value       = "00";                                    //통화코드 : 00-원
165
+		    frm_pay.sp_product_nm.value     = result.goodsNm;               	   	   //상품명
166
+		    frm_pay.sp_product_amt.value    = $('#ITP_FORM_PO_PAYMENT_POPUP_GOODS_AMT').val(); 	//상품금액
167
+		                                                                               //가맹점 return_url(윈도우 타입 선택 시, 분기)
168
+		    frm_pay.sp_lang_flag.value      = "KOR"                                    //언어: KOR / ENG
169
+		    frm_pay.sp_charset.value        = "UTF-8"                                  //가맹점 Charset: EUC-KR(default) / UTF-8
170
+		    frm_pay.sp_user_id.value        = "";           	                       //가맹점 고객 ID
171
+		    frm_pay.sp_memb_user_no.value   = "";                 		  	           //가맹점 고객 일련번호
172
+		    frm_pay.sp_user_nm.value        = result.ordNm;                            //가맹점 고객명
173
+		    frm_pay.sp_user_mail.value      = result.ordEmail;                         //가맹점 고객 이메일
174
+		    frm_pay.sp_user_phone1.value    = result.ordTel;                           //가맹점 고객 번호1
175
+		    frm_pay.sp_user_phone2.value    = "";              				           //가맹점 고객 번호2
176
+		    frm_pay.sp_user_addr.value      = "";  									   //가맹점 고객 주소
177
+		    frm_pay.sp_product_type.value   = "0";                                     //상품정보구분 : 0-실물, 1-서비스
178
+		    frm_pay.sp_product_expr.value   = "";									   //서비스기간 : YYYYMMDD
179
+		    frm_pay.sp_app_scheme.value     = "";                                      //가맹점 app scheme : 모바일app으로 서비스시 필수
180
+		                                    
181
+		    /*--신용카드--*/                    
182
+		    frm_pay.sp_usedcard_code.value  = "";                                      //사용가능한 카드 LIST
183
+		    frm_pay.sp_quota.value          = "";                                      //할부개월
184
+		                                                                               //무이자 여부(Y/N) (select)   
185
+		    frm_pay.sp_noinst_term.value    = "";		                               //무이자기간
186
+		                                                                               //카드사포인트 사용여부(select) 
187
+		    frm_pay.sp_point_card.value     = "";         		                       //포인트카드 LIST
188
+		                                                                               //조인코드(select)
189
+		    /*--가상계좌--*/                        
190
+		    frm_pay.sp_vacct_bank.value     = "";                                      //가상계좌 사용가능한 은행 LIST 
191
+		    frm_pay.sp_vacct_end_date.value = "";               		               //입금 만료 날짜
192
+		    frm_pay.sp_vacct_end_time.value = "";                       	           //입금 만료 시간
193
+			
194
+		}, 'POST');
195
+	}, 
196
+	fnPaymentReq: function() {
197
+		const formId = '#ITP_FORM_PO_PAYMENT_POPUP';
198
+		itp_fn_form_clear_validate(null, formId);
199
+		
200
+		var vali_goodsAmt = itp_fn_form_validate(formId, formId + '_GOODS_AMT', ['empty'], undefined);
201
+		var vali_ordTel = itp_fn_form_validate(formId, formId + '_ORD_TEL', ['empty'], undefined);
202
+		var vali_ordEmail = itp_fn_form_validate(formId, formId + '_ORD_EMAIL', ['email'], undefined);
203
+		
204
+		if (vali_goodsAmt && vali_ordTel && vali_ordEmail) {		
205
+			// var sttlRjctRsn = $('#ITP_FORM_PO_PAYMENT_POPUP_STTL_RJCT_RSN').val();	
206
+			
207
+			// popPageObj.parentPopFn(sttlRjctRsn);
208
+			// $('#ITP_BIZPOP_PO_PAYMENT').modal('hide'); // 팝업닫기
209
+			
210
+			// $(formId).attr('action', '/oqpo-view/easypay/oqpo/oqpo_order.jsp');
211
+			// $(formId).submit();
212
+			
213
+			var frm_pay = document.frm_pay;
214
+			frm_pay.EP_pay_type.value       = $('#ITP_FORM_PO_PAYMENT_POPUP_PAY_METHOD').val();  	// 결제방법
215
+			frm_pay.EP_product_amt.value    = $('#ITP_FORM_PO_PAYMENT_POPUP_GOODS_AMT').val();  	// 결제금액			
216
+			frm_pay.EP_user_phone1.value    = $('#ITP_FORM_PO_PAYMENT_POPUP_ORD_TEL').val();  		// 휴대폰
217
+			frm_pay.EP_user_mail.value      = $('#ITP_FORM_PO_PAYMENT_POPUP_ORD_EMAIL').val();  	// 이메일
218
+			
219
+			frm_pay.sp_pay_type.value       = $('#ITP_FORM_PO_PAYMENT_POPUP_PAY_METHOD').val();  	// 결제방법
220
+			frm_pay.sp_product_amt.value    = $('#ITP_FORM_PO_PAYMENT_POPUP_GOODS_AMT').val();  	// 결제금액			
221
+			frm_pay.sp_user_phone1.value    = $('#ITP_FORM_PO_PAYMENT_POPUP_ORD_TEL').val();  		// 휴대폰
222
+			frm_pay.sp_user_mail.value      = $('#ITP_FORM_PO_PAYMENT_POPUP_ORD_EMAIL').val();  	// 이메일
223
+			
224
+			if (isMobile() || window.innerWidth < 1201 ) {
225
+				f_mobile_cert();
226
+			} else {
227
+			    f_cert();
228
+				// f_mobile_cert();
229
+			}
230
+		}
231
+	} 
232
+};
233
+
234
+/* 인증창 호출, 인증 요청 */
235
+function f_cert() {
236
+    var frm_pay = document.frm_pay;
237
+    
238
+    /*  주문정보 확인 */
239
+    if( !frm_pay.EP_order_no.value ) {
240
+        alert("가맹점주문번호가 존재하지않습니다.");
241
+        frm_pay.EP_order_no.focus();
242
+        return;
243
+    }
244
+
245
+    if( !frm_pay.EP_product_amt.value ) {
246
+        alert("상품금액이 존재하지않습니다.");
247
+        frm_pay.EP_product_amt.focus();
248
+        return;
249
+    } 
250
+
251
+    /* UTF-8 사용가맹점의 경우 EP_charset 값 셋팅 필수 */
252
+    if( frm_pay.EP_charset.value == "UTF-8" ) {
253
+        // 한글이 들어가는 값은 모두 encoding 필수.
254
+        frm_pay.EP_mall_nm.value        = encodeURIComponent( frm_pay.EP_mall_nm.value );
255
+        frm_pay.EP_product_nm.value     = encodeURIComponent( frm_pay.EP_product_nm.value );
256
+        frm_pay.EP_user_nm.value        = encodeURIComponent( frm_pay.EP_user_nm.value );
257
+        frm_pay.EP_user_addr.value      = encodeURIComponent( frm_pay.EP_user_addr.value );
258
+    }
259
+
260
+    /* 가맹점에서 원하는 인증창 호출 방법을 선택 */
261
+    if( frm_pay.EP_window_type.value == "iframe" ) {
262
+	
263
+    	easypay_webpay(frm_pay,"/oqpo-view/easypay/oqpo/oqpo_iframe_req.jsp","hiddenifr","0","0","iframe",30);
264
+
265
+        if( frm_pay.EP_charset.value == "UTF-8" ) {
266
+            // encoding 된 값은 모두 decoding 필수.
267
+            frm_pay.EP_mall_nm.value        = decodeURIComponent( frm_pay.EP_mall_nm.value );
268
+            frm_pay.EP_product_nm.value     = decodeURIComponent( frm_pay.EP_product_nm.value );
269
+            frm_pay.EP_user_nm.value        = decodeURIComponent( frm_pay.EP_user_nm.value );
270
+            frm_pay.EP_user_addr.value      = decodeURIComponent( frm_pay.EP_user_addr.value );
271
+        }
272
+    } else if( frm_pay.EP_window_type.value == "popup" ) {
273
+    	
274
+        easypay_webpay(frm_pay,"/oqpo-view/easypay/oqpo/oqpo_popup_req.jsp","hiddenifr","","","popup",30);
275
+
276
+        if( frm_pay.EP_charset.value == "UTF-8" ) {
277
+            // encoding 된 값은 모두 decoding 필수.
278
+            frm_pay.EP_mall_nm.value        = decodeURIComponent( frm_pay.EP_mall_nm.value );
279
+            frm_pay.EP_product_nm.value     = decodeURIComponent( frm_pay.EP_product_nm.value );
280
+            frm_pay.EP_user_nm.value        = decodeURIComponent( frm_pay.EP_user_nm.value );
281
+            frm_pay.EP_user_addr.value      = decodeURIComponent( frm_pay.EP_user_addr.value );
282
+        }
283
+    }
284
+}
285
+
286
+/* 인증창 호출, 인증 요청 */
287
+function f_mobile_cert() {
288
+    var frm_pay = document.frm_pay;
289
+    
290
+    /*  주문정보 확인 */
291
+    if( !frm_pay.sp_order_no.value ) {
292
+        alert("가맹점주문번호가 존재하지않습니다.");
293
+        frm_pay.sp_order_no.focus();
294
+        return;
295
+    }
296
+
297
+    if( !frm_pay.sp_product_amt.value ) {
298
+        alert("상품금액이 존재하지않습니다.");
299
+        frm_pay.sp_product_amt.focus();
300
+        return;
301
+    }
302
+    /* UTF-8 사용가맹점의 경우 EP_charset 값 셋팅 필수 */
303
+    if( frm_pay.sp_charset.value == "UTF-8" ) {
304
+        // 한글이 들어가는 값은 모두 encoding 필수.
305
+        frm_pay.sp_mall_nm.value      = encodeURIComponent( frm_pay.sp_mall_nm.value );
306
+        frm_pay.sp_product_nm.value   = encodeURIComponent( frm_pay.sp_product_nm.value );
307
+        frm_pay.sp_user_nm.value      = encodeURIComponent( frm_pay.sp_user_nm.value );
308
+        frm_pay.sp_user_addr.value    = encodeURIComponent( frm_pay.sp_user_addr.value );
309
+    }
310
+
311
+   	frm_pay.sp_return_url.value = MOBILE_RETURN_URL; //    	
312
+    easypay_card_webpay(frm_pay,"/oqpo-view/easypay/oqpo/mobile_order_req.jsp","_self","0","0","submit",30);    
313
+}
314
+
315
+/* 승인 요청 */
316
+function f_submit() {
317
+	
318
+	$('#frm_pay #poOrdNo').val($('#ITP_FORM_PO_PAYMENT_POPUP_PO_ORD_NO').val()); 
319
+	$('#frm_pay #payTpCd').val($('#ITP_FORM_PO_PAYMENT_POPUP_PAY_TP_CD').val()); 
320
+	// $('#frm_pay #sttlMgntUnqNo').val($('#ITP_FORM_PO_PAYMENT_POPUP_STTL_MGNT_UNQ_NO').val()); 
321
+	$('#frm_pay #brandId').val($('#ITP_FORM_PO_PAYMENT_POPUP_BRAND_ID').val()); 
322
+	$('#frm_pay #storeId').val($('#ITP_FORM_PO_PAYMENT_POPUP_STORE_ID').val()); 
323
+	
324
+	var reqDataList = [];	
325
+	var ca = $('#ITP_FORM_PO_PAYMENT_POPUP_STTL_MGNT_UNQ_NO_LIST').val().split(';');
326
+    for(var i = 0 ; i < ca.length ; i++) {
327
+		reqDataList.push( { sttlMgntUnqNo : ca[i] } );
328
+	}	
329
+		
330
+	let param = $('#frm_pay').serializeObject();
331
+	param.reqDataList = reqDataList;
332
+	
333
+	// console.log("REQ : " + JSON.stringify(param));
334
+		
335
+	fn_ajax_call(EASYPAY_PAYMENT_REQUEST, JSON.stringify(param), function(result) {
336
+		
337
+		// console.log("RES : " + JSON.stringify(result));
338
+		
339
+		if(result.res_cd == '0000') {
340
+			popPageObj.parentPopFn(result);			
341
+			$('#ITP_BIZPOP_PO_PAYMENT').modal('hide'); // 팝업닫기
342
+		} else {
343
+			itp_fn_modal_alert_ajax(result.res_msg);			
344
+		}
345
+		
346
+	}, 'POST');	
347
+}
348
+
349
+/* 모바일 승인 요청 */
350
+function f_moblie_submit() {
351
+     var frm_pay = document.frm_pay;
352
+     
353
+     // 정상("0000") 일 때 승인요청페이지로 이동.
354
+     if( frm_pay.sp_res_cd.value == "0000" ) {
355
+    	 
356
+         if( frm_pay.sp_charset.value == "UTF-8" ) {
357
+             // 인증요청 시 인코딩 한 값은 승인요청 시 디코딩 처리해야함.
358
+             frm_pay.sp_mall_nm.value      = decodeURIComponent( frm_pay.sp_mall_nm.value );
359
+             frm_pay.sp_product_nm.value   = decodeURIComponent( frm_pay.sp_product_nm.value );
360
+             frm_pay.sp_user_nm.value      = decodeURIComponent( frm_pay.sp_user_nm.value );
361
+             frm_pay.sp_user_addr.value    = decodeURIComponent( frm_pay.sp_user_addr.value );
362
+         }
363
+         
364
+         frm_pay.target = "_self";
365
+         // frm_pay.action = "${contextPath}/easypay_request.itp";
366
+         // frm_pay.submit();
367
+     }
368
+}
369
+
370
+function isMobile() {
371
+    // if we want a more complete list use this: http://detectmobilebrowsers.com/
372
+    // str.test() is more efficent than str.match()
373
+    // remember str.test is case sensitive
374
+    var isMobile = (/iphone|ipod|android|ie|blackberry|fennec/).test(navigator.userAgent.toLowerCase());
375
+    return isMobile;
376
+}
377
+
378
+function itp_fn_BIZPOP_PO_PAYMENT(parentPopFn, args, returnType) {
379
+	$('#ITP_BIZPOP_PO_PAYMENT').one('shown.bs.modal', function(e) {
380
+		itp_fn_fire_window_resize();
381
+	}).one('hidden.bs.modal', function(e) {
382
+		$('#ITP_BIZPOP_PO_PAYMENT').remove();
383
+	}).modal('show');
384
+
385
+	popPageObj.parentPopFn = parentPopFn;
386
+	popPageObj.args = args;
387
+	popPageObj.returnType = returnType;
388
+	popPageObj.init();
389
+}

+ 12 - 4
src/main/webapp/mobile/js/config.js

@@ -350,9 +350,10 @@ function fnSessionOut() { //1시간 동안 아무것도 안할때 또는 강제
350 350
 // 2021.07.07 송호성 추가
351 351
 function fn_call_popup(type, popnm, container,  popFn, args, returnType) {
352 352
 	console.log('[ITP_CALL_POPUP] type = ' + type + ', popnm = ' + popnm);
353
+	var contextPath = returnType === 'S' ? ITP_CONTEXTPATH : MOBILE_CONTEXTPATH;
353 354
 	$.ajax({
354 355
 		contentType: 'application/x-www-form-urlencoded; charset=UTF-8',
355
-		url: MOBILE_CONTEXTPATH + '/app/popup/'+type+'/'+popnm+'.html',
356
+		url: contextPath + '/app/popup/'+type+'/'+popnm+'.html',
356 357
 		type: 'POST',
357 358
 		dataType: 'html',
358 359
 		async: false,
@@ -376,7 +377,7 @@ function fn_call_popup(type, popnm, container,  popFn, args, returnType) {
376 377
 				return deferred.promise();
377 378
 			};
378 379
 			append().done(function() {
379
-				const js = '<script src="'+MOBILE_CONTEXTPATH+'/js/app/popup/'+type+'/ITP_'+popnm+'.js?version='+js_version+'"></script>';
380
+				const js = '<script src="'+contextPath+'/js/app/popup/'+type+'/ITP_'+popnm+'.js?version='+js_version+'"></script>';
380 381
 				$('#ITP_ASIDE #ITP_'+popnm+' #ITP_POPUP_JS').empty();
381 382
 				$('#ITP_ASIDE #ITP_'+popnm+' #ITP_POPUP_JS').append(js);
382 383
 
@@ -385,7 +386,7 @@ function fn_call_popup(type, popnm, container,  popFn, args, returnType) {
385 386
 			});
386 387
 		},
387 388
 		error: function(xhr, status, error) {
388
-			if (xhr.status == 401) location.href = MOBILE_CONTEXTPATH + '/';
389
+			if (xhr.status == 401) location.href = contextPath + '/';
389 390
 			itp_fn_modal_alert_ajax(ITP_MSG_LOCALE.message.ajax.failData);
390 391
 		},
391 392
 		fail: function() {
@@ -742,7 +743,8 @@ let CommonObj = {
742 743
 	},
743 744
 	onlyNumber: function(str) {
744 745
 		return (str) ? str.replace(/[^0-9]/g, '') : str;
745
-	}
746
+	},
747
+	isApp: (/app_android|app_ios/).test(navigator.userAgent.toLowerCase())
746 748
 };
747 749
 
748 750
 function itp_fn_date_format(date, type) {
@@ -779,6 +781,12 @@ function itp_fn_date_add(type, iAdd) {
779 781
 	return itp_fn_date_format(date, 4);
780 782
 }
781 783
 
784
+function itp_fn_fire_window_resize() {
785
+	var evt = document.createEvent('HTMLEvents');
786
+	evt.initEvent('resize', true, false);
787
+	window.dispatchEvent(evt);
788
+};
789
+
782 790
 const ITP_DATE_LANGUAGE = (function() {
783 791
 	let lang = ITP_LANGUAGE;
784 792
 	if (lang == 'en') {lang = ITP_LANGUAGE + '-GB';}