Przeglądaj źródła

운영관리 수정

whakdo963 2 lat temu
rodzic
commit
930f502ba6

+ 218 - 0
src/main/webapp/app/oper/OPER01010.html

@@ -1,3 +1,4 @@
1
+<<<<<<< HEAD
1 2
 <section id="ITP_TAB_STINFO01010" class="tab-pane active itp_sec">
2 3
 	<div class="itp_cont">
3 4
 		<article class="itp_detail">
@@ -33,12 +34,54 @@
33 34
 										<input type="text" id="ITP_FORM_STINFO01010_SEARCH_USER_NM" class="form-control itp_input" name="BRAND_NM" placeholder="브랜드명" />
34 35
 										</div>
35 36
 															
37
+=======
38
+<section id="ITP_TAB_OPER01010" class="tab-pane active itp_sec">
39
+	<div class="itp_cont">
40
+		<article class="itp_detail">
41
+			<div class="itp_det_head fix">
42
+				<h2 class="pull-left itp_det_tit"><i class="glyphicon glyphicon-chevron-right"></i> <strong>사용자관리</strong></h2>
43
+				<div class="pull-right itp_cicon">
44
+					<button type="button" id="ITP_BTN_OPER01010_SRH" class="btn btn-success btn-sm SEB" style="display: inline-block;"><i class="glyphicon glyphicon-search"></i> 조회</button>
45
+					<button type="button" id="ITP_BTN_OPER01010_MODIFY" class="btn btn-success btn-sm UPB" style="display: inline-block;"><i class="glyphicon glyphicon-ok"></i> 수정</button>
46
+					<button type="button" id="ITP_BTN_OPER01010_NEWREG" class="btn btn-primary btn-sm NEB" style="display: inline-block;"><i class="glyphicon glyphicon-plus"></i> 신규등록</button>
47
+					<button type="button" id="ITP_BTN_OPER01010_DELETE" class="btn btn-danger btn-sm DEB"><i class="glyphicon glyphicon-remove"></i> 삭제</button>
48
+					<button type="button" id="ITP_BTN_OPER01010_CANCELLIST" class="btn btn-warning btn-sm PRB"><i class="glyphicon glyphicon-minus"></i> 취소/목록</button>
49
+					<button type="button" id="ITP_BTN_OPER01010_SAVE" class="btn btn-success btn-sm SAB"><i class="glyphicon glyphicon-ok"></i> 저장</button>
50
+				</div>				
51
+			</div>
52
+			<div class="itp_det_in">
53
+				<div id="ITP_AJAX_OPER01010_LIST_CONTAINER">
54
+					<div class="itp_lg_form itp_type1 fix">
55
+						<div class="itp_srh_border fix">
56
+							<div class="col-xs-12">
57
+								<form id="ITP_FORM_OPER01010_SEARCH" class="form-horizontal">
58
+									<div class="form-group">
59
+										<div class="col-xs-2 itp_ip itp_noMar">
60
+											<select id="ITP_FORM_OPER01010_SERVICE_ST_DT" class="form-control itp_input" name="serviceStDt">
61
+												<option value="">가입일</option>											
62
+											</select>
63
+										</div>
64
+										<div class="col-xs-3 itp_ip">
65
+											<div class="input-daterange input-group date">
66
+												<input type="text" id="ITP_FORM_OPER01010_SEARCH_FROM_DT" class="form-control itp_input" name="fromDt" value="" readonly>
67
+												<span class="input-group-addon itp_date_to">~</span>
68
+												<input type="text" id="ITP_FORM_OPER01010_SEARCH_TO_DT" class="form-control itp_input" name="toDt" value="" readonly>
69
+											</div>
70
+										</div>
71
+										<div class="col-xs-2 itp_ip">
72
+										<input type="text" id="ITP_FORM_OPER01010_SEARCH_USER_NM" class="form-control itp_input" name="suserNm" placeholder="아이디/성명 검색" />
73
+										</div>
74
+										<div class="col-xs-2 itp_ip itp_noMar">
75
+											<select id="ITP_FORM_OPER01010_SEARCH_USER_STAT_CD" class="form-control itp_input" name="suserStatCd"></select>
76
+										</div>									
77
+>>>>>>> 1f5591176f85803c9f8126ffe3f4b6729e10f879
36 78
 									</div>
37 79
 								</form>
38 80
 							</div>
39 81
 						</div>
40 82
 					</div>
41 83
 					<div class="itp_table fix">
84
+<<<<<<< HEAD
42 85
 						<div id="ITP_STINFO01010_jqGrid_list" class="itp_tb_list itp_gType1" data-total-cnt="${totalCnt}">
43 86
 							<div id="ITP_STINFO01010_jqGridView" class="itp_views fix"></div>
44 87
 							<table id="ITP_STINFO01010_jqGrid"></table>
@@ -68,11 +111,43 @@
68 111
 												<div class="col-xs-8 itp_in">
69 112
 													<select id="ITP_FORM_STINFO01010_DETAIL_USER_STAT_CD" class="form-control itp_input" name="ST_CD">
70 113
 													<option value="">사용</option>
114
+=======
115
+						<div id="ITP_OPER01010_jqGrid_list" class="itp_tb_list itp_gType1" data-total-cnt="${totalCnt}">
116
+							<div id="ITP_OPER01010_jqGridView" class="itp_views fix"></div>
117
+							<table id="ITP_OPER01010_jqGrid"></table>
118
+							<div id="ITP_OPER01010_jqGridPager"></div>
119
+							<div id="ITP_OPER01010_jqGridEmpty" class="itp_no_data"></div>
120
+						</div>
121
+					</div>
122
+				</div>
123
+				
124
+				<div id="ITP_AJAX_OPER01010_DETAIL_CONTAINER">
125
+					<div class="itp_form itp_type1 fix">
126
+						<div class="col-xs-12">
127
+							<form id="ITP_FORM_OPER01010_DETAIL" class="form-horizontal">
128
+								<input type="hidden" id="ITP_FORM_OPER01010_DETAIL_VIEW_CD" name="viewCd" value="C">
129
+								<section class="itp_form_sec">
130
+									<!-- <h4 class="itp_form_tit">사용자정보 현재 테스트중</h4> -->
131
+									<div class="itp_form_in">
132
+										<div class="form-group">
133
+											<label class="col-xs-2 itp_lb">사용자명</label>
134
+											<div class="col-xs-4 itp_ip">
135
+												<div class="col-xs-5 itp_in">
136
+													<input type="text" id="ITP_FORM_OPER01010_DETAIL_USER_NM" class="form-control itp_input" name="userNm" value="" maxlength="40">
137
+												</div>
138
+											</div>
139
+											<label class="col-xs-2 itp_lb">상태</label>
140
+											<div class="col-xs-4 itp_ip">
141
+												<div class="col-xs-5 itp_in">
142
+													<select id="ITP_FORM_OPER01010_DETAIL_USER_STAT_CD" class="form-control itp_input" name="userStatCd">
143
+													<option value=""></option>
144
+>>>>>>> 1f5591176f85803c9f8126ffe3f4b6729e10f879
71 145
 													</select>
72 146
 												</div>
73 147
 											</div>
74 148
 										</div>
75 149
 										<div class="form-group">
150
+<<<<<<< HEAD
76 151
 											<label class="col-xs-2 itp_lb">브랜드 명* </label>
77 152
 											<div class="col-xs-4 itp_ip">
78 153
 												<div class="col-xs-10 itp_in">
@@ -115,10 +190,41 @@
115 190
 												</div>
116 191
 												<div class="col-xs-7 itp_in">
117 192
 													<input type="password" id="ITP_FORM_STINFO01010_DETAIL_USER_PW_CONFIRM" class="form-control itp_input" name="BRAND_LOGO" value="">
193
+=======
194
+											<label class="col-xs-2 itp_lb">사용자ID</label>
195
+											<div class="col-xs-4 itp_ip">
196
+												<div class="col-xs-6 itp_in">
197
+													<div class="input-group">
198
+													<input type="text" id="ITP_FORM_OPER01010_DETAIL_USER_ID" class="form-control itp_input" name="userId" value="" maxlength="20" readonly>
199
+													<span class="input-group-btn">
200
+														<button id="ITP_FORM_OPER01010_DETAIL_DUP" class="btn btn-default btn-sm itp_btn SHOW" type="button" disabled><i class="glyphicon glyphicon-ok"></i></button>
201
+													</span>
202
+													</div>
203
+												</div>
204
+											</div>
205
+											<label class="col-xs-2 itp_lb">상태 일시</label>
206
+											<div class="col-xs-4 itp_ip">
207
+												<div class="col-xs-5 itp_in fnUserStatDt"></div>
208
+											</div>
209
+										</div>
210
+										<div class="form-group">
211
+											<label class="col-xs-2 itp_lb">비밀번호</label>
212
+											<div class="col-xs-4 itp_ip">
213
+												<div class="col-xs-5 itp_in">
214
+													<input type="password" id="ITP_FORM_OPER01010_DETAIL_USER_PW" class="form-control itp_input" name="userPw" value="">																								
215
+												</div>
216
+												<button type="button" id="ITP_BTN_OPER01010_RESET_PW" class="btn btn-danger btn-xs PWC" style="margin: 3px 0px 0px 3px;">비밀번호 초기화</button>
217
+											</div>
218
+											<label class="col-xs-2 itp_lb">핸드폰번호</label>
219
+											<div class="col-xs-4 itp_ip">
220
+												<div class="col-xs-5 itp_in">
221
+													<input type="text" id="ITP_FORM_OPER01010_DETAIL_TEL_NO" class="form-control itp_input" name="telNo" value="">
222
+>>>>>>> 1f5591176f85803c9f8126ffe3f4b6729e10f879
118 223
 												</div>
119 224
 											</div>
120 225
 										</div>
121 226
 										<div class="form-group">
227
+<<<<<<< HEAD
122 228
 											<label class="col-xs-2 itp_lb">이메일</label>
123 229
 											<div class="col-xs-4 itp_ip">
124 230
 												<div class="col-xs-7 itp_in">
@@ -173,10 +279,37 @@
173 279
 												</div>
174 280
 											</div>	
175 281
 										</div>	
282
+=======
283
+											<label class="col-xs-2 itp_lb">비밀번호 확인</label>
284
+											<div class="col-xs-4 itp_ip">
285
+												<div class="col-xs-5 itp_in">
286
+													<input type="password" id="ITP_FORM_OPER01010_DETAIL_USER_PW_CONFIRM" class="form-control itp_input" value="">
287
+												</div>
288
+											</div>
289
+											<label class="col-xs-2 itp_lb">이메일</label>
290
+											<div class="col-xs-4 itp_ip">
291
+												<div class="col-xs-5 itp_in">
292
+													<input type="text" id="ITP_FORM_OPER01010_DETAIL_EMAIL" class="form-control itp_input" name="email" value="">
293
+												</div>
294
+											</div>
295
+										</div>
296
+										<div class="form-group border">
297
+											<label class="col-xs-2 itp_lb">등록일</label>
298
+											<div class="col-xs-4 itp_ip">
299
+												<div class="col-xs-5 itp_in fnAddDt"></div>
300
+											</div>
301
+											<label class="col-xs-2 itp_lb">마지막 로그인</label>
302
+											<div class="col-xs-4 itp_ip">
303
+												<div class="col-xs-5 itp_in fnLastLoginDt"></div>
304
+											</div>
305
+										</div>									
306
+									</div>
307
+>>>>>>> 1f5591176f85803c9f8126ffe3f4b6729e10f879
176 308
 								</section>								
177 309
 							</form>
178 310
 						</div>
179 311
 					</div>
312
+<<<<<<< HEAD
180 313
 				</div>
181 314
 				<div id="ITP_AJAX_STINFO01010_DETAIL_CONTAINER">
182 315
 					<div class="itp_form itp_type1 fix">
@@ -243,11 +376,60 @@
243 376
 												<div class="col-xs-7 itp_in">
244 377
 													<input type="password" id="ITP_FORM_STINFO01010_DETAIL_USER_PW_CONFIRM" style="border:none;" class="itp_input" name="BRAND_LOGO" value="">
245 378
 												</div>
379
+=======
380
+					
381
+					<div class="itp_table fix">
382
+						<div class="itp_table_head fix">
383
+							<!-- <h4 class="itp_table_tit">* 권한정보</h4> -->
384
+							<div class="pull-right itp_cicon">
385
+								<button type="button" id="ITP_BTN_OPER01010_DETAIL_ADDROW" class="btn btn-primary btn-sm ADB" style="display: inline-block;"><i class="glyphicon glyphicon-plus"></i> 추가</button>
386
+								<button type="button" id="ITP_BTN_OPER01010_DETAIL_DELROW" class="btn btn-danger btn-sm DEB"><i class="glyphicon glyphicon-remove"></i> 삭제</button>									
387
+							</div>
388
+						</div>
389
+						
390
+						<div id="ITP_OPER01010_DETAIL_jqGrid_list" class="itp_tb_list">
391
+							<div id="ITP_OPER01010_DETAIL_jqGridView" class="itp_views fix"></div>
392
+							<table id="ITP_OPER01010_DETAIL_jqGrid"></table>
393
+							<div id="ITP_OPER01010_DETAIL_jqGridPager"></div>
394
+							<div id="ITP_OPER01010_DETAIL_jqGridEmpty" class="itp_no_data"></div>
395
+						</div>
396
+					</div>
397
+				</div>
398
+				<div id="ITP_AJAX_OPER01010_VIEW_CONTAINER">
399
+					<div class="itp_form itp_type1 fix">
400
+						<div class="col-xs-12">
401
+							<form id="ITP_FORM_OPER01010_VIEW" class="form-horizontal">
402
+								<input type="hidden" id="ITP_FORM_OPER01010_VIEW_VIEW_CD" name="viewCd" value="R">
403
+								<input type="hidden" id="ITP_FORM_OPER01010_VIEW_USER_ID" name="userId" value="">
404
+					
405
+								<section class="itp_form_sec">
406
+									<h4 class="itp_form_tit">사용자정보</h4>
407
+									<div class="itp_form_in">
408
+										<div class="form-group">
409
+											<label class="col-xs-2 itp_lb">사용자명</label>
410
+											<div class="col-xs-4 itp_ip">
411
+												<div class="col-xs-5 itp_in fnUserNm"></div>
412
+											</div>
413
+											<label class="col-xs-2 itp_lb">상태</label>
414
+											<div class="col-xs-4 itp_ip">
415
+												<div class="col-xs-5 itp_in fnUserStatNm"></div>
416
+											</div>
417
+										</div>
418
+										<div class="form-group">
419
+											<label class="col-xs-2 itp_lb">사용자ID</label>
420
+											<div class="col-xs-4 itp_ip">
421
+												<div class="col-xs-5 itp_in fnUserId"></div>
422
+											</div>
423
+											<label class="col-xs-2 itp_lb">상태 일시</label>
424
+											<div class="col-xs-4 itp_ip">
425
+												<div class="col-xs-5 itp_in fnUserStatDt"></div>
426
+>>>>>>> 1f5591176f85803c9f8126ffe3f4b6729e10f879
246 427
 											</div>
247 428
 										</div>
248 429
 										<div class="form-group">
249 430
 											<label class="col-xs-2 itp_lb">이메일</label>
250 431
 											<div class="col-xs-4 itp_ip">
432
+<<<<<<< HEAD
251 433
 												<div class="col-xs-5 itp_in">
252 434
 													<input type="text" id="ITP_FORM_STINFO01010_DETAIL_EMAIL" style="border:none;" class="itp_input" name="EMAL_ADDR" value="aaaa@test.co.kr">
253 435
 												</div>
@@ -318,10 +500,46 @@
318 500
 												</div>
319 501
 											</div>
320 502
 										</div>							
503
+=======
504
+												<div class="col-xs-5 itp_in fnEmail"></div>
505
+											</div>
506
+											<label class="col-xs-2 itp_lb">핸드폰번호</label>
507
+											<div class="col-xs-4 itp_ip">
508
+												<div class="col-xs-5 itp_in fnTelNo"></div>
509
+											</div>
510
+										</div>
511
+										<div class="form-group border">
512
+											<label class="col-xs-2 itp_lb">등록일</label>
513
+											<div class="col-xs-4 itp_ip">
514
+												<div class="col-xs-5 itp_in fnAddDt"></div>
515
+											</div>
516
+											<label class="col-xs-2 itp_lb">마지막 로그인</label>
517
+											<div class="col-xs-4 itp_ip">
518
+												<div class="col-xs-5 itp_in fnLastLoginDt"></div>
519
+											</div>
520
+										</div>									
521
+									</div>
522
+>>>>>>> 1f5591176f85803c9f8126ffe3f4b6729e10f879
321 523
 								</section>								
322 524
 							</form>
323 525
 						</div>
324 526
 					</div>
527
+<<<<<<< HEAD
528
+=======
529
+					
530
+					<div class="itp_table fix">
531
+						<div class="itp_table_head fix">
532
+							<h4 class="itp_table_tit">*권한정보</h4>
533
+						</div>
534
+						
535
+						<div id="ITP_OPER01010_VIEW_jqGrid_list" class="itp_tb_list">
536
+							<div id="ITP_OPER01010_VIEW_jqGridView" class="itp_views fix"></div>
537
+							<table id="ITP_OPER01010_VIEW_jqGrid"></table>
538
+							<div id="ITP_OPER01010_VIEW_jqGridPager"></div>
539
+							<div id="ITP_OPER01010_VIEW_jqGridEmpty" class="itp_no_data"></div>
540
+						</div>
541
+					</div>					
542
+>>>>>>> 1f5591176f85803c9f8126ffe3f4b6729e10f879
325 543
 				</div>
326 544
 			</div>
327 545
 		</article>

+ 213 - 0
src/main/webapp/app/oper/OPER02010.html

@@ -0,0 +1,213 @@
1
+<section id="ITP_TAB_OPER02010" class="tab-pane active itp_sec">
2
+	<div class="itp_cont">
3
+		<article class="itp_detail">
4
+			<div class="itp_det_head fix">
5
+				<h2 class="pull-left itp_det_tit"><i class="glyphicon glyphicon-chevron-right"></i> <strong>공지사항관리</strong></h2>
6
+				<div class="pull-right itp_cicon">
7
+					<button type="button" id="ITP_BTN_OPER02010_SRH" class="btn btn-success btn-sm SEB" style="display: inline-block;"><i class="glyphicon glyphicon-search"></i> 조회</button>
8
+					<button type="button" id="ITP_BTN_OPER02010_MODIFY" class="btn btn-success btn-sm UPB" style="display: inline-block;"><i class="glyphicon glyphicon-ok"></i> 수정</button>
9
+					<button type="button" id="ITP_BTN_OPER02010_NEWREG" class="btn btn-primary btn-sm NEB" style="display: inline-block;"><i class="glyphicon glyphicon-plus"></i> 신규등록</button>
10
+					<button type="button" id="ITP_BTN_OPER02010_DELETE" class="btn btn-danger btn-sm DEB"><i class="glyphicon glyphicon-remove"></i> 삭제</button>
11
+					<button type="button" id="ITP_BTN_OPER02010_CANCELLIST" class="btn btn-warning btn-sm PRB"><i class="glyphicon glyphicon-minus"></i> 취소/목록</button>
12
+					<button type="button" id="ITP_BTN_OPER02010_SAVE" class="btn btn-success btn-sm SAB"><i class="glyphicon glyphicon-ok"></i> 저장</button>
13
+				</div>
14
+			</div>
15
+			<div class="itp_det_in">
16
+				<div id="ITP_AJAX_OPER02010_LIST_CONTAINER">
17
+					<div class="itp_lg_form itp_type1 fix">
18
+						<div class="itp_srh_border fix">
19
+							<div class="col-xs-12">
20
+								<form id="ITP_FORM_OPER02010_SEARCH" class="form-horizontal">
21
+									<div class="form-group">
22
+										<div class="col-xs-2 itp_ip itp_noMar">
23
+											<select id="ITP_FORM_OPER02010_SERVICE_ST_DT" class="form-control itp_input">
24
+												<option value="">노출일</option>
25
+											</select>
26
+										</div>
27
+										<div class="col-xs-3 itp_ip">
28
+											<div class="input-daterange input-group date">
29
+												<input type="text" id="ITP_FORM_OPER02010_SEARCH_FROM_DT" class="form-control itp_input" name="fromDt" value="" readonly>
30
+												<span class="input-group-addon itp_date_to">~</span>
31
+												<input type="text" id="ITP_FORM_OPER02010_SEARCH_TO_DT" class="form-control itp_input" name="toDt" value="" readonly>
32
+											</div>
33
+										</div>
34
+										<div class="col-xs-4 itp_ip">
35
+										<input type="text" id="ITP_FORM_OPER02010_SEARCH_SNTICE_TKTL" class="form-control itp_input" name="sNticeTitl" placeholder="공지제목 검색" />
36
+										</div>
37
+										<!--
38
+										<div class="col-xs-2 itp_ip itp_noMar">
39
+											<select id="ITP_FORM_OPER02010_SEARCH_NTICE_STAT_CD" class="form-control itp_input" name="snticeStatCd"></select>
40
+										</div>
41
+										-->
42
+									</div>
43
+								</form>
44
+							</div>
45
+						</div>
46
+					</div>
47
+					<div class="itp_table fix">
48
+						<div id="ITP_OPER02010_jqGrid_list" class="itp_tb_list itp_gType1" data-total-cnt="${totalCnt}">
49
+							<div id="ITP_OPER02010_jqGridView" class="itp_views fix"></div>
50
+							<table id="ITP_OPER02010_jqGrid"></table>
51
+							<div id="ITP_OPER02010_jqGridPager"></div>
52
+							<div id="ITP_OPER02010_jqGridEmpty" class="itp_no_data"></div>
53
+						</div>
54
+					</div>
55
+				</div>
56
+				<div id="ITP_AJAX_OPER02010_DETAIL_CONTAINER">
57
+					<div class="itp_form itp_type1 fix">
58
+						<div class="col-xs-12">
59
+							<form id="ITP_FORM_OPER02010_DETAIL" class="form-horizontal">
60
+								<input type="hidden" id="ITP_FORM_OPER02010_DETAIL_VIEW_CD" name="viewCd" value="C">
61
+								<input type="hidden" id="ITP_FORM_OPER02010_DETAIL_NTICE_NO" name="nticeNo" value="">
62
+								<input type="hidden" id="ITP_FORM_OPER02010_DETAIL_FILE_NO" name="fileNo" value="">
63
+
64
+								<section class="itp_form_sec">
65
+									<!-- <h4 class="itp_form_tit">공지정보</h4> -->
66
+									<div class="itp_form_in">
67
+										<div class="form-group colspan">
68
+											<label class="col-xs-2 itp_lb">공지제목</label>
69
+											<div class="col-xs-10 itp_ip">
70
+												<input type="text" id="ITP_FORM_OPER02010_DETAIL_NTICE_TITL" class="form-control itp_input" name="nticeTitl" value="">
71
+											</div>
72
+										</div>
73
+									</div>
74
+									<div class="itp_form_in">
75
+										<div class="form-group">
76
+											<label class="col-xs-2 itp_lb">공지일자</label>
77
+											<div class="col-xs-5 itp_ip">
78
+												<div class="col-xs-10 itp_in">
79
+									                <div class="input-daterange input-group date">
80
+														<input type="text" id="ITP_FORM_OPER02010_FROM_DT" class="form-control itp_input" name="notiStDay" readonly>
81
+														<span class="input-group-addon itp_date_to">~</span>
82
+														<input type="text" id="ITP_FORM_OPER02010_TO_DT" class="form-control itp_input" name="notiEdDay" readonly>
83
+													</div>
84
+												</div>
85
+											</div>
86
+											<label class="col-xs-2 itp_lb">삭제여부</label>
87
+											<div class="col-xs-5 itp_ip">
88
+												<div class="col-xs-5 itp_in">
89
+								                <select id="ITP_FORM_OPER02010_DEL_YN" class="form-control itp_input" name="delYn">
90
+												<option value="N">N</option>
91
+												<option value="Y">Y</option>
92
+												</select>
93
+												</div>
94
+											</div>
95
+										</div>
96
+									</div>
97
+									<div class="itp_form_in">	
98
+										<div class="form-group colspan">
99
+											<label class="col-xs-2 itp_lb">공지내용</label>
100
+											<div class="col-xs-10 itp_ip">
101
+												<textarea id="ITP_FORM_OPER02010_DETAIL_NTICE_DESC" class="form-control" rows="8" name="nticeDesc" maxlength="200"></textarea>
102
+											</div>
103
+										</div>
104
+										<div class="form-group colspan">
105
+											<label class="col-xs-2 itp_lb">첨부파일</label>
106
+											<div class="col-xs-10 itp_ip">
107
+												<div class="col-xs-6 itp_in">
108
+													<div class="fileupload-wrapper">
109
+														<!-- data-show-yn: 파일업로드를 할 수 있는 권한이 있는지 없는지.. -->
110
+														<div id="ITP_OPER02010_DETAIL_UPLOAD" data-show-yn="Y"></div>
111
+													</div>
112
+												</div>
113
+											</div>
114
+										</div>
115
+										<div class="form-group border">
116
+											<label class="col-xs-2 itp_lb">공지대상</label>
117
+											<div class="col-xs-10 itp_ip">
118
+												<div class="col-xs-2 itp_in">
119
+												<select id="ITP_FORM_OPER02010_DETAIL_TARGET_CD" class="form-control itp_input" name="targetCd"></select>
120
+												</div>
121
+											</div>
122
+										</div>
123
+									</div>
124
+								</section>
125
+							</form>
126
+						</div>
127
+					</div>
128
+
129
+					<div class="itp_table fix">
130
+						<div class="itp_table_head fix">
131
+							<h4 class="itp_table_tit">* 공지대상이 특정 대상일 경구 추가 버큰을 통해 사용자  등록 함</h4>
132
+							<div class="pull-right itp_cicon">
133
+								<button type="button" id="ITP_BTN_OPER02010_DETAIL_ADDROW" class="btn btn-primary btn-sm ADB" style="display: inline-block;"><i class="glyphicon glyphicon-plus"></i> 추가</button>
134
+								<button type="button" id="ITP_BTN_OPER02010_DETAIL_DELROW" class="btn btn-danger btn-sm DEB"><i class="glyphicon glyphicon-remove"></i> 삭제</button>
135
+							</div>
136
+						</div>
137
+
138
+						<div id="ITP_OPER02010_DETAIL_jqGrid_list" class="itp_tb_list">
139
+							<div id="ITP_OPER02010_DETAIL_jqGridView" class="itp_views fix"></div>
140
+							<table id="ITP_OPER02010_DETAIL_jqGrid"></table>
141
+							<div id="ITP_OPER02010_DETAIL_jqGridPager"></div>
142
+							<div id="ITP_OPER02010_DETAIL_jqGridEmpty" class="itp_no_data"></div>
143
+						</div>
144
+					</div>
145
+				</div>
146
+				<div id="ITP_AJAX_OPER02010_VIEW_CONTAINER">
147
+					<div class="itp_form itp_type1 fix">
148
+						<div class="col-xs-12">
149
+							<form id="ITP_FORM_OPER02010_VIEW" class="form-horizontal">
150
+								<input type="hidden" id="ITP_FORM_OPER02010_VIEW_VIEW_CD" name="viewCd" value="R">
151
+								<input type="hidden" id="ITP_FORM_OPER02010_VIEW_USER_ID" name="nticeNo" value="">
152
+								<input type="hidden" id="ITP_FORM_OPER02010_VIEW_FILE_NO" name="fileNo" value="">
153
+
154
+								<section class="itp_form_sec">
155
+									<h4 class="itp_form_tit">공지정보</h4>
156
+									<div class="itp_form_in">
157
+										<div class="form-group colspan">
158
+											<label class="col-xs-2 itp_lb">공지제목</label>
159
+											<div class="col-xs-10 itp_ip fnNticeTitl"></div>
160
+										</div>
161
+									</div>	
162
+									<div class="itp_form_in">
163
+										<div class="form-group">
164
+											<label class="col-xs-2 itp_lb">공지일자</label>
165
+											<div class="col-xs-5 itp_ip fnNotiDay"></div>
166
+											<label class="col-xs-2 itp_lb">삭제여부</label>
167
+											<div class="col-xs-5 itp_ip fnDelYn"></div>
168
+										</div>
169
+									</div>
170
+									<div class="itp_form_in">	
171
+										<div class="form-group colspan">
172
+											<label class="col-xs-2 itp_lb">공지내용</label>
173
+											<div class="col-xs-10 itp_ip fnNticeDesc"></div>
174
+										</div>
175
+										<div class="form-group colspan">
176
+											<label class="col-xs-2 itp_lb">첨부파일</label>
177
+											<div class="col-xs-10 itp_ip">
178
+												<div class="col-xs-6 itp_in">
179
+													<div class="fileupload-wrapper">
180
+														<div id="ITP_OPER02010_VIEW_UPLOAD"></div>
181
+													</div>
182
+												</div>
183
+											</div>
184
+										</div>
185
+										<div class="form-group border">
186
+											<label class="col-xs-2 itp_lb">공지대상</label>
187
+											<div class="col-xs-10 itp_ip fnTargetNm"></div>
188
+										</div>
189
+									</div>
190
+								</section>
191
+							</form>
192
+						</div>
193
+					</div>
194
+
195
+					<div class="itp_table fix">
196
+						<div class="itp_table_head fix">
197
+							<h4 class="itp_table_tit">* 공지대상이 특정 대상일 경구 추가 버큰을 통해 사용자  등록 함</h4>
198
+						</div>
199
+
200
+						<div id="ITP_OPER02010_VIEW_jqGrid_list" class="itp_tb_list">
201
+							<div id="ITP_OPER02010_VIEW_jqGridView" class="itp_views fix"></div>
202
+							<table id="ITP_OPER02010_VIEW_jqGrid"></table>
203
+							<div id="ITP_OPER02010_VIEW_jqGridPager"></div>
204
+							<div id="ITP_OPER02010_VIEW_jqGridEmpty" class="itp_no_data"></div>
205
+						</div>
206
+					</div>
207
+				</div>
208
+			</div>
209
+		</article>
210
+	</div>
211
+
212
+	<div id="ITP_TAP_JS"></div>
213
+</section>

+ 68 - 68
src/main/webapp/app/koper/KOPER01010.html

@@ -1,41 +1,41 @@
1
-<section id="ITP_TAB_KOPER01010" class="tab-pane active itp_sec">
1
+<section id="ITP_TAB_OPER03010" class="tab-pane active itp_sec">
2 2
 	<div class="itp_cont">
3 3
 		<article class="itp_detail">
4 4
 			<div class="itp_det_head fix">
5 5
 				<h2 class="pull-left itp_det_tit"><i class="glyphicon glyphicon-chevron-right"></i> <strong>가맹점관리</strong></h2>
6 6
 				<div class="pull-right itp_cicon">
7
-					<button type="button" id="ITP_BTN_KOPER01010_SRH" class="btn btn-success btn-sm SEB" style="display: inline-block;"><i class="glyphicon glyphicon-search"></i> 조회</button>
8
-					<button type="button" id="ITP_BTN_KOPER01010_MODIFY" class="btn btn-success btn-sm UPB" style="display: inline-block;"><i class="glyphicon glyphicon-ok"></i> 수정</button>
9
-					<button type="button" id="ITP_BTN_KOPER01010_NEWREG" class="btn btn-primary btn-sm NEB" style="display: inline-block;"><i class="glyphicon glyphicon-plus"></i> 신규등록</button>
10
-					<button type="button" id="ITP_BTN_KOPER01010_DELETE" class="btn btn-danger btn-sm DEB"><i class="glyphicon glyphicon-remove"></i> 삭제</button>
11
-					<button type="button" id="ITP_BTN_KOPER01010_CANCELLIST" class="btn btn-warning btn-sm PRB"><i class="glyphicon glyphicon-minus"></i> 취소/목록</button>
12
-					<button type="button" id="ITP_BTN_KOPER01010_SAVE" class="btn btn-success btn-sm SAB"><i class="glyphicon glyphicon-ok"></i> 저장</button>
7
+					<button type="button" id="ITP_BTN_OPER03010_SRH" class="btn btn-success btn-sm SEB" style="display: inline-block;"><i class="glyphicon glyphicon-search"></i> 조회</button>
8
+					<button type="button" id="ITP_BTN_OPER03010_MODIFY" class="btn btn-success btn-sm UPB" style="display: inline-block;"><i class="glyphicon glyphicon-ok"></i> 수정</button>
9
+					<button type="button" id="ITP_BTN_OPER03010_NEWREG" class="btn btn-primary btn-sm NEB" style="display: inline-block;"><i class="glyphicon glyphicon-plus"></i> 신규등록</button>
10
+					<button type="button" id="ITP_BTN_OPER03010_DELETE" class="btn btn-danger btn-sm DEB"><i class="glyphicon glyphicon-remove"></i> 삭제</button>
11
+					<button type="button" id="ITP_BTN_OPER03010_CANCELLIST" class="btn btn-warning btn-sm PRB"><i class="glyphicon glyphicon-minus"></i> 취소/목록</button>
12
+					<button type="button" id="ITP_BTN_OPER03010_SAVE" class="btn btn-success btn-sm SAB"><i class="glyphicon glyphicon-ok"></i> 저장</button>
13 13
 				</div>				
14 14
 			</div>
15 15
 			<div class="itp_det_in">
16
-				<div id="ITP_AJAX_KOPER01010_LIST_CONTAINER">
16
+				<div id="ITP_AJAX_OPER03010_LIST_CONTAINER">
17 17
 					<div class="itp_lg_form itp_type1 fix">
18 18
 						<div class="itp_srh_border fix">
19 19
 							<div class="col-xs-12">
20
-								<form id="ITP_FORM_KOPER01010_SEARCH" class="form-horizontal">
20
+								<form id="ITP_FORM_OPER03010_SEARCH" class="form-horizontal">
21 21
 									<div class="form-group">
22 22
 										<div class="col-xs-2 itp_ip itp_noMar">
23
-											<select id="ITP_FORM_KOPER01010_SEARCH_TYPE" class="form-control itp_input">
23
+											<select id="ITP_FORM_OPER03010_SEARCH_TYPE" class="form-control itp_input">
24 24
 												<option value="">가입일자</option>											
25 25
 											</select>
26 26
 										</div>
27 27
 										<div class="col-xs-3 itp_ip itp_noMar">
28 28
 											<div class="input-daterange input-group date">
29
-												<input type="text" id="ITP_FORM_KOPER01010_SEARCH_FROM_DT" class="form-control itp_input" name="fromDt" value="" readonly>
29
+												<input type="text" id="ITP_FORM_OPER03010_SEARCH_FROM_DT" class="form-control itp_input" name="fromDt" value="" readonly>
30 30
 												<span class="input-group-addon itp_date_to">~</span>
31
-												<input type="text" id="ITP_FORM_KOPER01010_SEARCH_TO_DT" class="form-control itp_input" name="toDt" value="" readonly>
31
+												<input type="text" id="ITP_FORM_OPER03010_SEARCH_TO_DT" class="form-control itp_input" name="toDt" value="" readonly>
32 32
 											</div>
33 33
 										</div>
34 34
 										<div class="col-xs-2 itp_ip itp_noMar">
35
-										<input type="text" id="ITP_FORM_KOPER01010_SEARCH_CMPY_NM" class="form-control itp_input" name="scmpyNm" placeholder="가입자명 검색" />
35
+										<input type="text" id="ITP_FORM_OPER03010_SEARCH_CMPY_NM" class="form-control itp_input" name="scmpyNm" placeholder="가입자명 검색" />
36 36
 										</div>
37 37
 										<div class="col-xs-2 itp_ip itp_noMar">
38
-											<select id="ITP_FORM_KOPER01010_SEARCH_CMPY_STAT_CD" class="form-control itp_input" name="scmpyStatCd"></select>
38
+											<select id="ITP_FORM_OPER03010_SEARCH_CMPY_STAT_CD" class="form-control itp_input" name="scmpyStatCd"></select>
39 39
 										</div>									
40 40
 									</div>
41 41
 								</form>
@@ -43,35 +43,35 @@
43 43
 						</div>
44 44
 					</div>
45 45
 					<div class="itp_table fix">
46
-						<div id="ITP_KOPER01010_jqGrid_list" class="itp_tb_list itp_gType1" data-total-cnt="${totalCnt}">
47
-							<div id="ITP_KOPER01010_jqGridView" class="itp_views fix"></div>
48
-							<table id="ITP_KOPER01010_jqGrid"></table>
49
-							<div id="ITP_KOPER01010_jqGridPager"></div>
50
-							<div id="ITP_KOPER01010_jqGridEmpty" class="itp_no_data"></div>
46
+						<div id="ITP_OPER03010_jqGrid_list" class="itp_tb_list itp_gType1" data-total-cnt="${totalCnt}">
47
+							<div id="ITP_OPER03010_jqGridView" class="itp_views fix"></div>
48
+							<table id="ITP_OPER03010_jqGrid"></table>
49
+							<div id="ITP_OPER03010_jqGridPager"></div>
50
+							<div id="ITP_OPER03010_jqGridEmpty" class="itp_no_data"></div>
51 51
 						</div>
52 52
 					</div>
53 53
 				</div>
54
-				<div id="ITP_AJAX_KOPER01010_DETAIL_CONTAINER">
54
+				<div id="ITP_AJAX_OPER03010_DETAIL_CONTAINER">
55 55
 					<div class="itp_form itp_type1 fix">
56 56
 						<div class="col-xs-12">
57
-							<form id="ITP_FORM_KOPER01010_DETAIL" class="form-horizontal">
58
-								<input type="hidden" id="ITP_FORM_KOPER01010_DETAIL_VIEW_CD" name="viewCd" value="C">
59
-								<input type="hidden" id="ITP_FORM_KOPER01010_DETAIL_CMPY_LOCATION" name="cmpyLocation" value="">
57
+							<form id="ITP_FORM_OPER03010_DETAIL" class="form-horizontal">
58
+								<input type="hidden" id="ITP_FORM_OPER03010_DETAIL_VIEW_CD" name="viewCd" value="C">
59
+								<input type="hidden" id="ITP_FORM_OPER03010_DETAIL_CMPY_LOCATION" name="cmpyLocation" value="">
60 60
 					
61 61
 								<section class="itp_form_sec">
62
-									<h4 class="itp_form_tit">가맹점정보</h4>
62
+									<!-- <h4 class="itp_form_tit">가맹점정보</h4> -->
63 63
 									<div class="itp_form_in">
64 64
 										<div class="form-group">
65 65
 											<label class="col-xs-2 itp_lb">가맹점명(*)</label>
66 66
 											<div class="col-xs-4 itp_ip">
67 67
 												<div class="col-xs-5 itp_in">
68
-													<input type="text" id="ITP_FORM_KOPER01010_DETAIL_CMPY_NM" class="form-control itp_input" name="cmpyNm" value="" maxlength="40">
68
+													<input type="text" id="ITP_FORM_OPER03010_DETAIL_CMPY_NM" class="form-control itp_input" name="cmpyNm" value="" maxlength="40">
69 69
 												</div>
70 70
 											</div>
71 71
 											<label class="col-xs-2 itp_lb">상태(*)</label>
72 72
 											<div class="col-xs-4 itp_ip">
73 73
 												<div class="col-xs-5 itp_in">
74
-													<select id="ITP_FORM_KOPER01010_DETAIL_CMPY_STAT_CD" class="form-control itp_input" name="cmpyStatCd"></select>
74
+													<select id="ITP_FORM_OPER03010_DETAIL_CMPY_STAT_CD" class="form-control itp_input" name="cmpyStatCd"></select>
75 75
 												</div>
76 76
 											</div>
77 77
 										</div>
@@ -80,9 +80,9 @@
80 80
 											<div class="col-xs-4 itp_ip">
81 81
 												<div class="col-xs-6 itp_in">
82 82
 													<div class="input-group">
83
-													<input type="text" id="ITP_FORM_KOPER01010_DETAIL_CMPY_CD" class="form-control itp_input" name="cmpyCd" value="" maxlength="10" readonly>
83
+													<input type="text" id="ITP_FORM_OPER03010_DETAIL_CMPY_CD" class="form-control itp_input" name="cmpyCd" value="" maxlength="10" readonly>
84 84
 													<span class="input-group-btn">
85
-														<button id="ITP_FORM_KOPER01010_DETAIL_DUP" class="btn btn-default btn-sm itp_btn SHOW" type="button" disabled><i class="glyphicon glyphicon-ok"></i></button>
85
+														<button id="ITP_FORM_OPER03010_DETAIL_DUP" class="btn btn-default btn-sm itp_btn SHOW" type="button" disabled><i class="glyphicon glyphicon-ok"></i></button>
86 86
 													</span>
87 87
 													</div>
88 88
 												</div>
@@ -90,7 +90,7 @@
90 90
 											<label class="col-xs-2 itp_lb">기업형태</label>
91 91
 											<div class="col-xs-4 itp_ip">
92 92
 												<div class="col-xs-5 itp_in">
93
-													<select id="ITP_FORM_KOPER01010_DETAIL_CMPY_TYPE_CD" class="form-control itp_input" name="cmpyTypeCd"></select>
93
+													<select id="ITP_FORM_OPER03010_DETAIL_CMPY_TYPE_CD" class="form-control itp_input" name="cmpyTypeCd"></select>
94 94
 												</div>
95 95
 											</div>
96 96
 										</div>
@@ -98,13 +98,13 @@
98 98
 											<label class="col-xs-2 itp_lb">사업자등록번호(*)</label>
99 99
 											<div class="col-xs-4 itp_ip">
100 100
 												<div class="col-xs-5 itp_in">
101
-													<input type="text" id="ITP_FORM_KOPER01010_DETAIL_CMPY_REG_NUM" class="form-control itp_input" name="cmpyRegNum" value="">
101
+													<input type="text" id="ITP_FORM_OPER03010_DETAIL_CMPY_REG_NUM" class="form-control itp_input" name="cmpyRegNum" value="">
102 102
 												</div>
103 103
 											</div>
104 104
 											<label class="col-xs-2 itp_lb">법인번호</label>
105 105
 											<div class="col-xs-4 itp_ip">
106 106
 												<div class="col-xs-5 itp_in">
107
-													<input type="text" id="ITP_FORM_KOPER01010_DETAIL_COPT_NUM" class="form-control itp_input" name="coptNum" value="">
107
+													<input type="text" id="ITP_FORM_OPER03010_DETAIL_COPT_NUM" class="form-control itp_input" name="coptNum" value="">
108 108
 												</div>
109 109
 											</div>
110 110
 										</div>
@@ -112,13 +112,13 @@
112 112
 											<label class="col-xs-2 itp_lb">권한정보(*)</label>
113 113
 											<div class="col-xs-4 itp_ip">
114 114
 												<div class="col-xs-5 itp_in">
115
-													<select id="ITP_FORM_KOPER01010_DETAIL_FRCOMP_AUTH_CD" class="form-control itp_input" name="frcompAuthCd"></select>
115
+													<select id="ITP_FORM_OPER03010_DETAIL_FRCOMP_AUTH_CD" class="form-control itp_input" name="frcompAuthCd"></select>
116 116
 												</div>
117 117
 											</div>
118 118
 											<label class="col-xs-2 itp_lb">업태</label>
119 119
 											<div class="col-xs-4 itp_ip">
120 120
 												<div class="col-xs-5 itp_in">
121
-													<input type="text" id="ITP_FORM_KOPER01010_DETAIL_BIZ_CATE" class="form-control itp_input" name="bizCate" value="">
121
+													<input type="text" id="ITP_FORM_OPER03010_DETAIL_BIZ_CATE" class="form-control itp_input" name="bizCate" value="">
122 122
 												</div>
123 123
 											</div>
124 124
 										</div>
@@ -126,14 +126,14 @@
126 126
 											<label class="col-xs-2 itp_lb">비밀번호(초기-전화번호)</label>
127 127
 											<div class="col-xs-4 itp_ip">
128 128
 												<div class="col-xs-5 itp_in">
129
-													<input type="password" id="ITP_FORM_KOPER01010_DETAIL_USER_PW" class="form-control itp_input" name="userPw" value="" disabled>
129
+													<input type="password" id="ITP_FORM_OPER03010_DETAIL_USER_PW" class="form-control itp_input" name="userPw" value="" disabled>
130 130
 												</div>
131
-												<button type="button" id="ITP_BTN_KOPER01010_RESET_PW" class="btn btn-danger btn-xs PWC" style="margin: 3px 0px 0px 3px;">비밀번호 초기화</button>
131
+												<button type="button" id="ITP_BTN_OPER03010_RESET_PW" class="btn btn-danger btn-xs PWC" style="margin: 3px 0px 0px 3px;">비밀번호 초기화</button>
132 132
 											</div>
133 133
 											<label class="col-xs-2 itp_lb">업종</label>
134 134
 											<div class="col-xs-4 itp_ip">
135 135
 												<div class="col-xs-5 itp_in">
136
-													<input type="text" id="ITP_FORM_KOPER01010_DETAIL_BIZ_TYPE" class="form-control itp_input" name="bizType" value="">
136
+													<input type="text" id="ITP_FORM_OPER03010_DETAIL_BIZ_TYPE" class="form-control itp_input" name="bizType" value="">
137 137
 												</div>
138 138
 											</div>
139 139
 										</div>
@@ -141,13 +141,13 @@
141 141
 											<label class="col-xs-2 itp_lb">대표자명(*)</label>
142 142
 											<div class="col-xs-4 itp_ip">
143 143
 												<div class="col-xs-5 itp_in">
144
-													<input type="text" id="ITP_FORM_KOPER01010_DETAIL_BOSS_NM" class="form-control itp_input" name="bossNm" value="">
144
+													<input type="text" id="ITP_FORM_OPER03010_DETAIL_BOSS_NM" class="form-control itp_input" name="bossNm" value="">
145 145
 												</div>
146 146
 											</div>
147 147
 											<label class="col-xs-2 itp_lb">대표연락처(*)</label>
148 148
 											<div class="col-xs-4 itp_ip">
149 149
 												<div class="col-xs-5 itp_in">
150
-													<input type="text" id="ITP_FORM_KOPER01010_DETAIL_MAIN_TEL" class="form-control itp_input" name="mainTel" value="">
150
+													<input type="text" id="ITP_FORM_OPER03010_DETAIL_MAIN_TEL" class="form-control itp_input" name="mainTel" value="">
151 151
 												</div>
152 152
 											</div>											
153 153
 										</div>
@@ -155,13 +155,13 @@
155 155
 											<label class="col-xs-2 itp_lb">대표FAX</label>
156 156
 											<div class="col-xs-4 itp_ip">
157 157
 												<div class="col-xs-5 itp_in">
158
-													<input type="text" id="ITP_FORM_KOPER01010_DETAIL_MAIN_FAX" class="form-control itp_input" name="mainFax" value="">
158
+													<input type="text" id="ITP_FORM_OPER03010_DETAIL_MAIN_FAX" class="form-control itp_input" name="mainFax" value="">
159 159
 												</div>
160 160
 											</div>
161 161
 											<label class="col-xs-2 itp_lb">대표이메일(*)</label>
162 162
 											<div class="col-xs-4 itp_ip">
163 163
 												<div class="col-xs-5 itp_in">
164
-													<input type="text" id="ITP_FORM_KOPER01010_DETAIL_MAIN_EMAIL" class="form-control itp_input" name="mainEmail" value="">
164
+													<input type="text" id="ITP_FORM_OPER03010_DETAIL_MAIN_EMAIL" class="form-control itp_input" name="mainEmail" value="">
165 165
 												</div>
166 166
 											</div>											
167 167
 										</div>					
@@ -171,26 +171,26 @@
171 171
 											<label class="col-xs-2 itp_lb">가맹점회사주소(*)</label>
172 172
 											<div class="col-xs-10 itp_ip">
173 173
 												<div class="col-xs-1 itp_in">
174
-												<input type="text" id="ITP_FORM_KOPER01010_DETAIL_CMPY_ZIPNO" class="form-control itp_input" name="cmpyZipno" value="" maxlength="6" readonly placeholder="우편번호">													
174
+												<input type="text" id="ITP_FORM_OPER03010_DETAIL_CMPY_ZIPNO" class="form-control itp_input" name="cmpyZipno" value="" maxlength="6" readonly placeholder="우편번호">													
175 175
 												</div>
176 176
 												<div class="col-xs-1 itp_in">
177
-												<button type="button" id="ITP_FORM_KOPER01010_DETAIL_ADRES_SCH" class="btn btn-primary btn-xs SHOW" style="margin: 3px 0px 0px 3px;">&nbsp;&nbsp;주소검색&nbsp;&nbsp;</button>
177
+												<button type="button" id="ITP_FORM_OPER03010_DETAIL_ADRES_SCH" class="btn btn-primary btn-xs SHOW" style="margin: 3px 0px 0px 3px;">&nbsp;&nbsp;주소검색&nbsp;&nbsp;</button>
178 178
 												</div>
179 179
 												<div class="col-xs-4 itp_in" style="margin-right: 5px;">
180
-												<input type="text" id="ITP_FORM_KOPER01010_DETAIL_CMPY_ADRES" class="form-control itp_input" name="cmpyAdres" value="" readonly placeholder="기본주소">													
180
+												<input type="text" id="ITP_FORM_OPER03010_DETAIL_CMPY_ADRES" class="form-control itp_input" name="cmpyAdres" value="" readonly placeholder="기본주소">													
181 181
 												</div>
182 182
 												<div class="col-xs-4 itp_in">
183
-												<input type="text" id="ITP_FORM_KOPER01010_DETAIL_CMPY_ADRES_DTL" class="form-control itp_input" name="cmpyAdresDtl" value="" placeholder="상세주소">													
183
+												<input type="text" id="ITP_FORM_OPER03010_DETAIL_CMPY_ADRES_DTL" class="form-control itp_input" name="cmpyAdresDtl" value="" placeholder="상세주소">													
184 184
 												</div>
185 185
 												
186 186
 												<!-- 주소 맵 -->
187
-												<input type="hidden" id="ITP_FORM_KOPER01010_DETAIL_LOTS_ADDRESS" value="" />
188
-												<input type="hidden" id="ITP_FORM_KOPER01010_DETAIL_STREET_ADDRESS" value="" />
189
-												<input type="hidden" name="cmpyLat" id="ITP_FORM_KOPER01010_DETAIL_LAT" value="" />
190
-												<input type="hidden" name="cmpyLng" id="ITP_FORM_KOPER01010_DETAIL_LNG" value="" />
191
-												<input type="hidden" id="ITP_FORM_KOPER01010_DETAIL_HJ_DONG" value="" />
192
-												<input type="hidden" id="ITP_FORM_KOPER01010_DETAIL_BJ_DONG" value="" />
193
-												<div id="ITP_FORM_KOPER01010_DETAIL_MAP" style="width:700px; height:400px; margin-top:35px;"></div>
187
+												<input type="hidden" id="ITP_FORM_OPER03010_DETAIL_LOTS_ADDRESS" value="" />
188
+												<input type="hidden" id="ITP_FORM_OPER03010_DETAIL_STREET_ADDRESS" value="" />
189
+												<input type="hidden" name="cmpyLat" id="ITP_FORM_OPER03010_DETAIL_LAT" value="" />
190
+												<input type="hidden" name="cmpyLng" id="ITP_FORM_OPER03010_DETAIL_LNG" value="" />
191
+												<input type="hidden" id="ITP_FORM_OPER03010_DETAIL_HJ_DONG" value="" />
192
+												<input type="hidden" id="ITP_FORM_OPER03010_DETAIL_BJ_DONG" value="" />
193
+												<div id="ITP_FORM_OPER03010_DETAIL_MAP" style="width:700px; height:400px; margin-top:35px;"></div>
194 194
 											</div>
195 195
 										</div>
196 196
 									</div>
@@ -214,25 +214,25 @@
214 214
 						<div class="itp_table_head fix">
215 215
 							<h4 class="itp_table_tit">* 영업담당자정보</h4>
216 216
 							<div class="pull-right itp_cicon">
217
-								<button type="button" id="ITP_BTN_KOPER01010_DETAIL_ADDROW" class="btn btn-primary btn-sm ARB" style="display: inline-block;"><i class="glyphicon glyphicon-plus"></i> 행추가</button>
218
-								<button type="button" id="ITP_BTN_KOPER01010_DETAIL_DELROW" class="btn btn-danger btn-sm DRB"><i class="glyphicon glyphicon-remove"></i> 행삭제</button>									
217
+								<button type="button" id="ITP_BTN_OPER03010_DETAIL_ADDROW" class="btn btn-primary btn-sm ARB" style="display: inline-block;"><i class="glyphicon glyphicon-plus"></i> 행추가</button>
218
+								<button type="button" id="ITP_BTN_OPER03010_DETAIL_DELROW" class="btn btn-danger btn-sm DRB"><i class="glyphicon glyphicon-remove"></i> 행삭제</button>									
219 219
 							</div>
220 220
 						</div>
221 221
 						
222
-						<div id="ITP_KOPER01010_DETAIL_jqGrid_list" class="itp_tb_list">
223
-							<div id="ITP_KOPER01010_DETAIL_jqGridView" class="itp_views fix"></div>
224
-							<table id="ITP_KOPER01010_DETAIL_jqGrid"></table>
225
-							<div id="ITP_KOPER01010_DETAIL_jqGridPager"></div>
226
-							<div id="ITP_KOPER01010_DETAIL_jqGridEmpty" class="itp_no_data"></div>
222
+						<div id="ITP_OPER03010_DETAIL_jqGrid_list" class="itp_tb_list">
223
+							<div id="ITP_OPER03010_DETAIL_jqGridView" class="itp_views fix"></div>
224
+							<table id="ITP_OPER03010_DETAIL_jqGrid"></table>
225
+							<div id="ITP_OPER03010_DETAIL_jqGridPager"></div>
226
+							<div id="ITP_OPER03010_DETAIL_jqGridEmpty" class="itp_no_data"></div>
227 227
 						</div>
228 228
 					</div>				
229 229
 				</div>
230
-				<div id="ITP_AJAX_KOPER01010_VIEW_CONTAINER">
230
+				<div id="ITP_AJAX_OPER03010_VIEW_CONTAINER">
231 231
 					<div class="itp_form itp_type1 fix">
232 232
 						<div class="col-xs-12">
233
-							<form id="ITP_FORM_KOPER01010_VIEW" class="form-horizontal">
234
-								<input type="hidden" id="ITP_FORM_KOPER01010_VIEW_VIEW_CD" name="viewCd" value="R">
235
-								<input type="hidden" id="ITP_FORM_KOPER01010_VIEW_CMPY_CD" name="cmpyCd" value="">
233
+							<form id="ITP_FORM_OPER03010_VIEW" class="form-horizontal">
234
+								<input type="hidden" id="ITP_FORM_OPER03010_VIEW_VIEW_CD" name="viewCd" value="R">
235
+								<input type="hidden" id="ITP_FORM_OPER03010_VIEW_CMPY_CD" name="cmpyCd" value="">
236 236
 					
237 237
 								<section class="itp_form_sec">
238 238
 									<h4 class="itp_form_tit">가맹점정보</h4>
@@ -318,7 +318,7 @@
318 318
 												<div class="col-xs-10 itp_in fnCmpyAddress"></div>
319 319
 												
320 320
 												<!-- 주소 맵 -->
321
-												<div id="ITP_FORM_KOPER01010_VIEW_MAP" style="width:700px; height:400px; margin-top:27px;"></div>
321
+												<div id="ITP_FORM_OPER03010_VIEW_MAP" style="width:700px; height:400px; margin-top:27px;"></div>
322 322
 											</div>
323 323
 										</div>
324 324
 									</div>
@@ -344,11 +344,11 @@
344 344
 							<h4 class="itp_table_tit">* 영업담당자정보</h4>
345 345
 						</div>
346 346
 						
347
-						<div id="ITP_KOPER01010_VIEW_jqGrid_list" class="itp_tb_list">
348
-							<div id="ITP_KOPER01010_VIEW_jqGridView" class="itp_views fix"></div>
349
-							<table id="ITP_KOPER01010_VIEW_jqGrid"></table>
350
-							<div id="ITP_KOPER01010_VIEW_jqGridPager"></div>
351
-							<div id="ITP_KOPER01010_VIEW_jqGridEmpty" class="itp_no_data"></div>
347
+						<div id="ITP_OPER03010_VIEW_jqGrid_list" class="itp_tb_list">
348
+							<div id="ITP_OPER03010_VIEW_jqGridView" class="itp_views fix"></div>
349
+							<table id="ITP_OPER03010_VIEW_jqGrid"></table>
350
+							<div id="ITP_OPER03010_VIEW_jqGridPager"></div>
351
+							<div id="ITP_OPER03010_VIEW_jqGridEmpty" class="itp_no_data"></div>
352 352
 						</div>
353 353
 					</div>	
354 354
 										

+ 50 - 50
src/main/webapp/app/koper/KOPER02010.html

@@ -1,41 +1,41 @@
1
-<section id="ITP_TAB_KOPER02010" class="tab-pane active itp_sec">
1
+<section id="ITP_TAB_OPER04010" class="tab-pane active itp_sec">
2 2
 	<div class="itp_cont">
3 3
 		<article class="itp_detail">
4 4
 			<div class="itp_det_head fix">
5 5
 				<h2 class="pull-left itp_det_tit"><i class="glyphicon glyphicon-chevron-right"></i> <strong>영업담당자관리</strong></h2>
6 6
 				<div class="pull-right itp_cicon">
7
-					<button type="button" id="ITP_BTN_KOPER02010_SRH" class="btn btn-success btn-sm SEB" style="display: inline-block;"><i class="glyphicon glyphicon-search"></i> 조회</button>
8
-					<button type="button" id="ITP_BTN_KOPER02010_MODIFY" class="btn btn-success btn-sm UPB" style="display: inline-block;"><i class="glyphicon glyphicon-ok"></i> 수정</button>
9
-					<button type="button" id="ITP_BTN_KOPER02010_NEWREG" class="btn btn-primary btn-sm NEB" style="display: inline-block;"><i class="glyphicon glyphicon-plus"></i> 신규등록</button>
10
-					<button type="button" id="ITP_BTN_KOPER02010_DELETE" class="btn btn-danger btn-sm DEB"><i class="glyphicon glyphicon-remove"></i> 삭제</button>
11
-					<button type="button" id="ITP_BTN_KOPER02010_CANCELLIST" class="btn btn-warning btn-sm PRB"><i class="glyphicon glyphicon-minus"></i> 취소/목록</button>
12
-					<button type="button" id="ITP_BTN_KOPER02010_SAVE" class="btn btn-success btn-sm SAB"><i class="glyphicon glyphicon-ok"></i> 저장</button>
7
+					<button type="button" id="ITP_BTN_OPER04010_SRH" class="btn btn-success btn-sm SEB" style="display: inline-block;"><i class="glyphicon glyphicon-search"></i> 조회</button>
8
+					<button type="button" id="ITP_BTN_OPER04010_MODIFY" class="btn btn-success btn-sm UPB" style="display: inline-block;"><i class="glyphicon glyphicon-ok"></i> 수정</button>
9
+					<button type="button" id="ITP_BTN_OPER04010_NEWREG" class="btn btn-primary btn-sm NEB" style="display: inline-block;"><i class="glyphicon glyphicon-plus"></i> 신규등록</button>
10
+					<button type="button" id="ITP_BTN_OPER04010_DELETE" class="btn btn-danger btn-sm DEB"><i class="glyphicon glyphicon-remove"></i> 삭제</button>
11
+					<button type="button" id="ITP_BTN_OPER04010_CANCELLIST" class="btn btn-warning btn-sm PRB"><i class="glyphicon glyphicon-minus"></i> 취소/목록</button>
12
+					<button type="button" id="ITP_BTN_OPER04010_SAVE" class="btn btn-success btn-sm SAB"><i class="glyphicon glyphicon-ok"></i> 저장</button>
13 13
 				</div>				
14 14
 			</div>
15 15
 			<div class="itp_det_in">
16
-				<div id="ITP_AJAX_KOPER02010_LIST_CONTAINER">
16
+				<div id="ITP_AJAX_OPER04010_LIST_CONTAINER">
17 17
 					<div class="itp_lg_form itp_type1 fix">
18 18
 						<div class="itp_srh_border fix">
19 19
 							<div class="col-xs-12">
20
-								<form id="ITP_FORM_KOPER02010_SEARCH" class="form-horizontal">
20
+								<form id="ITP_FORM_OPER04010_SEARCH" class="form-horizontal">
21 21
 									<div class="form-group">
22 22
 										<div class="col-xs-2 itp_ip itp_noMar">
23
-											<select id="ITP_FORM_KOPER02010_SEARCH_TYPE" class="form-control itp_input">
23
+											<select id="ITP_FORM_OPER04010_SEARCH_TYPE" class="form-control itp_input">
24 24
 												<option value="">등록일자</option>											
25 25
 											</select>
26 26
 										</div>
27 27
 										<div class="col-xs-3 itp_ip itp_noMar">
28 28
 											<div class="input-daterange input-group date">
29
-												<input type="text" id="ITP_FORM_KOPER02010_SEARCH_FROM_DT" class="form-control itp_input" name="fromDt" value="" readonly>
29
+												<input type="text" id="ITP_FORM_OPER04010_SEARCH_FROM_DT" class="form-control itp_input" name="fromDt" value="" readonly>
30 30
 												<span class="input-group-addon itp_date_to">~</span>
31
-												<input type="text" id="ITP_FORM_KOPER02010_SEARCH_TO_DT" class="form-control itp_input" name="toDt" value="" readonly>
31
+												<input type="text" id="ITP_FORM_OPER04010_SEARCH_TO_DT" class="form-control itp_input" name="toDt" value="" readonly>
32 32
 											</div>
33 33
 										</div>
34 34
 										<div class="col-xs-2 itp_ip itp_noMar">
35
-										<input type="text" id="ITP_FORM_KOPER02010_SEARCH_SALES_USER_NM" class="form-control itp_input" name="ssalesUserNm" placeholder="영업담당자 검색" />
35
+										<input type="text" id="ITP_FORM_OPER04010_SEARCH_SALES_USER_NM" class="form-control itp_input" name="ssalesUserNm" placeholder="영업담당자 검색" />
36 36
 										</div>
37 37
 										<div class="col-xs-2 itp_ip itp_noMar">
38
-											<select id="ITP_FORM_KOPER02010_SEARCH_USE_STAT_CD" class="form-control itp_input" name="suseStatCd"></select>
38
+											<select id="ITP_FORM_OPER04010_SEARCH_USE_STAT_CD" class="form-control itp_input" name="suseStatCd"></select>
39 39
 										</div>									
40 40
 									</div>
41 41
 								</form>
@@ -43,35 +43,35 @@
43 43
 						</div>
44 44
 					</div>
45 45
 					<div class="itp_table fix">
46
-						<div id="ITP_KOPER02010_jqGrid_list" class="itp_tb_list itp_gType1" data-total-cnt="${totalCnt}">
47
-							<div id="ITP_KOPER02010_jqGridView" class="itp_views fix"></div>
48
-							<table id="ITP_KOPER02010_jqGrid"></table>
49
-							<div id="ITP_KOPER02010_jqGridPager"></div>
50
-							<div id="ITP_KOPER02010_jqGridEmpty" class="itp_no_data"></div>
46
+						<div id="ITP_OPER04010_jqGrid_list" class="itp_tb_list itp_gType1" data-total-cnt="${totalCnt}">
47
+							<div id="ITP_OPER04010_jqGridView" class="itp_views fix"></div>
48
+							<table id="ITP_OPER04010_jqGrid"></table>
49
+							<div id="ITP_OPER04010_jqGridPager"></div>
50
+							<div id="ITP_OPER04010_jqGridEmpty" class="itp_no_data"></div>
51 51
 						</div>
52 52
 					</div>
53 53
 				</div>
54
-				<div id="ITP_AJAX_KOPER02010_DETAIL_CONTAINER">
54
+				<div id="ITP_AJAX_OPER04010_DETAIL_CONTAINER">
55 55
 					<div class="itp_form itp_type1 fix">
56 56
 						<div class="col-xs-12">
57
-							<form id="ITP_FORM_KOPER02010_DETAIL" class="form-horizontal">
58
-								<input type="hidden" id="ITP_FORM_KOPER02010_DETAIL_VIEW_CD" name="viewCd" value="C">
59
-								<input type="hidden" id="ITP_FORM_KOPER02010_DETAIL_LOCATION" name="location" value="">
57
+							<form id="ITP_FORM_OPER04010_DETAIL" class="form-horizontal">
58
+								<input type="hidden" id="ITP_FORM_OPER04010_DETAIL_VIEW_CD" name="viewCd" value="C">
59
+								<input type="hidden" id="ITP_FORM_OPER04010_DETAIL_LOCATION" name="location" value="">
60 60
 					
61 61
 								<section class="itp_form_sec">
62
-									<h4 class="itp_form_tit">영업담당자정보</h4>
62
+									<!-- <h4 class="itp_form_tit">영업담당자정보</h4> -->
63 63
 									<div class="itp_form_in">
64 64
 										<div class="form-group">
65 65
 											<label class="col-xs-2 itp_lb">영업담당자명(*)</label>
66 66
 											<div class="col-xs-4 itp_ip">
67 67
 												<div class="col-xs-5 itp_in">
68
-													<input type="text" id="ITP_FORM_KOPER02010_DETAIL_SALES_USER_NM" class="form-control itp_input" name="salesUserNm" value="" maxlength="40">
68
+													<input type="text" id="ITP_FORM_OPER04010_DETAIL_SALES_USER_NM" class="form-control itp_input" name="salesUserNm" value="" maxlength="40">
69 69
 												</div>
70 70
 											</div>
71 71
 											<label class="col-xs-2 itp_lb">상태(*)</label>
72 72
 											<div class="col-xs-4 itp_ip">
73 73
 												<div class="col-xs-5 itp_in">
74
-													<select id="ITP_FORM_KOPER02010_DETAIL_USE_STAT_CD" class="form-control itp_input" name="useStatCd"></select>
74
+													<select id="ITP_FORM_OPER04010_DETAIL_USE_STAT_CD" class="form-control itp_input" name="useStatCd"></select>
75 75
 												</div>
76 76
 											</div>
77 77
 										</div>
@@ -80,9 +80,9 @@
80 80
 											<div class="col-xs-4 itp_ip">
81 81
 												<div class="col-xs-6 itp_in">
82 82
 													<div class="input-group">
83
-													<input type="text" id="ITP_FORM_KOPER02010_DETAIL_SALES_USER_ID" class="form-control itp_input" name="salesUserId" value="" maxlength="10" >
83
+													<input type="text" id="ITP_FORM_OPER04010_DETAIL_SALES_USER_ID" class="form-control itp_input" name="salesUserId" value="" maxlength="10" >
84 84
 													<span class="input-group-btn">
85
-														<button id="ITP_FORM_KOPER02010_DETAIL_DUP" class="btn btn-default btn-sm itp_btn SHOW" type="button" disabled><i class="glyphicon glyphicon-ok"></i></button>
85
+														<button id="ITP_FORM_OPER04010_DETAIL_DUP" class="btn btn-default btn-sm itp_btn SHOW" type="button" disabled><i class="glyphicon glyphicon-ok"></i></button>
86 86
 													</span>
87 87
 													</div>
88 88
 												</div>
@@ -90,7 +90,7 @@
90 90
 											<label class="col-xs-2 itp_lb">영업타입</label>
91 91
 											<div class="col-xs-4 itp_ip">
92 92
 												<div class="col-xs-5 itp_in">
93
-													<select id="ITP_FORM_KOPER02010_DETAIL_SALES_TYPE_CD" class="form-control itp_input" name="salesTypeCd"></select>
93
+													<select id="ITP_FORM_OPER04010_DETAIL_SALES_TYPE_CD" class="form-control itp_input" name="salesTypeCd"></select>
94 94
 												</div>
95 95
 											</div>
96 96
 										</div>
@@ -99,14 +99,14 @@
99 99
 											<label class="col-xs-2 itp_lb">비밀번호(초기-전화번호)</label>
100 100
 											<div class="col-xs-4 itp_ip">
101 101
 												<div class="col-xs-5 itp_in">
102
-													<input type="password" id="ITP_FORM_KOPER02010_DETAIL_USER_PW" class="form-control itp_input" name="userPw" value="" disabled>
102
+													<input type="password" id="ITP_FORM_OPER04010_DETAIL_USER_PW" class="form-control itp_input" name="userPw" value="" disabled>
103 103
 												</div>
104
-												<button type="button" id="ITP_BTN_KOPER02010_RESET_PW" class="btn btn-danger btn-xs PWC" style="margin: 3px 0px 0px 3px;">비밀번호 초기화</button>
104
+												<button type="button" id="ITP_BTN_OPER04010_RESET_PW" class="btn btn-danger btn-xs PWC" style="margin: 3px 0px 0px 3px;">비밀번호 초기화</button>
105 105
 											</div>
106 106
 											<label class="col-xs-2 itp_lb">대표연락처(*)</label>
107 107
 											<div class="col-xs-4 itp_ip">
108 108
 												<div class="col-xs-5 itp_in">
109
-													<input type="text" id="ITP_FORM_KOPER02010_DETAIL_TEL_NO" class="form-control itp_input" name="telNo" value="">
109
+													<input type="text" id="ITP_FORM_OPER04010_DETAIL_TEL_NO" class="form-control itp_input" name="telNo" value="">
110 110
 												</div>
111 111
 											</div>		
112 112
 										</div>
@@ -114,13 +114,13 @@
114 114
 											<label class="col-xs-2 itp_lb">FAX</label>
115 115
 											<div class="col-xs-4 itp_ip">
116 116
 												<div class="col-xs-5 itp_in">
117
-													<input type="text" id="ITP_FORM_KOPER02010_DETAIL_FAX_NO" class="form-control itp_input" name="faxNo" value="">
117
+													<input type="text" id="ITP_FORM_OPER04010_DETAIL_FAX_NO" class="form-control itp_input" name="faxNo" value="">
118 118
 												</div>
119 119
 											</div>
120 120
 											<label class="col-xs-2 itp_lb">이메일(*)</label>
121 121
 											<div class="col-xs-4 itp_ip">
122 122
 												<div class="col-xs-5 itp_in">
123
-													<input type="text" id="ITP_FORM_KOPER02010_DETAIL_EMAIL" class="form-control itp_input" name="email" value="">
123
+													<input type="text" id="ITP_FORM_OPER04010_DETAIL_EMAIL" class="form-control itp_input" name="email" value="">
124 124
 												</div>
125 125
 											</div>											
126 126
 										</div>					
@@ -130,26 +130,26 @@
130 130
 											<label class="col-xs-2 itp_lb">주소(*)</label>
131 131
 											<div class="col-xs-10 itp_ip">
132 132
 												<div class="col-xs-1 itp_in">
133
-												<input type="text" id="ITP_FORM_KOPER02010_DETAIL_ZIPNO" class="form-control itp_input" name="zipno" value="" maxlength="6" readonly placeholder="우편번호">													
133
+												<input type="text" id="ITP_FORM_OPER04010_DETAIL_ZIPNO" class="form-control itp_input" name="zipno" value="" maxlength="6" readonly placeholder="우편번호">													
134 134
 												</div>
135 135
 												<div class="col-xs-1 itp_in">
136
-												<button type="button" id="ITP_FORM_KOPER02010_DETAIL_ADRES_SCH" class="btn btn-primary btn-xs SHOW" style="margin: 3px 0px 0px 3px;">&nbsp;&nbsp;주소검색&nbsp;&nbsp;</button>
136
+												<button type="button" id="ITP_FORM_OPER04010_DETAIL_ADRES_SCH" class="btn btn-primary btn-xs SHOW" style="margin: 3px 0px 0px 3px;">&nbsp;&nbsp;주소검색&nbsp;&nbsp;</button>
137 137
 												</div>
138 138
 												<div class="col-xs-4 itp_in" style="margin-right: 5px;">
139
-												<input type="text" id="ITP_FORM_KOPER02010_DETAIL_ADRES" class="form-control itp_input" name="adres" value="" readonly placeholder="기본주소">													
139
+												<input type="text" id="ITP_FORM_OPER04010_DETAIL_ADRES" class="form-control itp_input" name="adres" value="" readonly placeholder="기본주소">													
140 140
 												</div>
141 141
 												<div class="col-xs-4 itp_in">
142
-												<input type="text" id="ITP_FORM_KOPER02010_DETAIL_ADRES_DTL" class="form-control itp_input" name="adresDtl" value="" placeholder="상세주소">													
142
+												<input type="text" id="ITP_FORM_OPER04010_DETAIL_ADRES_DTL" class="form-control itp_input" name="adresDtl" value="" placeholder="상세주소">													
143 143
 												</div>
144 144
 												
145 145
 												<!-- 주소 맵 -->
146
-												<input type="hidden" id="ITP_FORM_KOPER02010_DETAIL_LOTS_ADDRESS" value="" />
147
-												<input type="hidden" id="ITP_FORM_KOPER02010_DETAIL_STREET_ADDRESS" value="" />
148
-												<input type="hidden" name="salesUserLat" id="ITP_FORM_KOPER02010_DETAIL_LAT" value="" />
149
-												<input type="hidden" name="salesUserLng" id="ITP_FORM_KOPER02010_DETAIL_LNG" value="" />
150
-												<input type="hidden" id="ITP_FORM_KOPER02010_DETAIL_HJ_DONG" value="" />
151
-												<input type="hidden" id="ITP_FORM_KOPER02010_DETAIL_BJ_DONG" value="" />
152
-												<div id="ITP_FORM_KOPER02010_DETAIL_MAP" style="width:700px; height:400px; margin-top:35px;"></div>
146
+												<input type="hidden" id="ITP_FORM_OPER04010_DETAIL_LOTS_ADDRESS" value="" />
147
+												<input type="hidden" id="ITP_FORM_OPER04010_DETAIL_STREET_ADDRESS" value="" />
148
+												<input type="hidden" name="salesUserLat" id="ITP_FORM_OPER04010_DETAIL_LAT" value="" />
149
+												<input type="hidden" name="salesUserLng" id="ITP_FORM_OPER04010_DETAIL_LNG" value="" />
150
+												<input type="hidden" id="ITP_FORM_OPER04010_DETAIL_HJ_DONG" value="" />
151
+												<input type="hidden" id="ITP_FORM_OPER04010_DETAIL_BJ_DONG" value="" />
152
+												<div id="ITP_FORM_OPER04010_DETAIL_MAP" style="width:700px; height:400px; margin-top:35px;"></div>
153 153
 											</div>
154 154
 										</div>
155 155
 									</div>
@@ -170,12 +170,12 @@
170 170
 						</div>
171 171
 					</div>					
172 172
 				</div>
173
-				<div id="ITP_AJAX_KOPER02010_VIEW_CONTAINER">
173
+				<div id="ITP_AJAX_OPER04010_VIEW_CONTAINER">
174 174
 					<div class="itp_form itp_type1 fix">
175 175
 						<div class="col-xs-12">
176
-							<form id="ITP_FORM_KOPER02010_VIEW" class="form-horizontal">
177
-								<input type="hidden" id="ITP_FORM_KOPER02010_VIEW_VIEW_CD" name="viewCd" value="R">
178
-								<input type="hidden" id="ITP_FORM_KOPER02010_VIEW_SALES_USER_ID" name="salesUserId" value="">
176
+							<form id="ITP_FORM_OPER04010_VIEW" class="form-horizontal">
177
+								<input type="hidden" id="ITP_FORM_OPER04010_VIEW_VIEW_CD" name="viewCd" value="R">
178
+								<input type="hidden" id="ITP_FORM_OPER04010_VIEW_SALES_USER_ID" name="salesUserId" value="">
179 179
 					
180 180
 								<section class="itp_form_sec">
181 181
 									<h4 class="itp_form_tit">영업담당자정보</h4>
@@ -230,7 +230,7 @@
230 230
 												<div class="col-xs-10 itp_in fnAddress"></div>
231 231
 												
232 232
 												<!-- 주소 맵 -->
233
-												<div id="ITP_FORM_KOPER02010_VIEW_MAP" style="width:700px; height:400px; margin-top:27px;"></div>
233
+												<div id="ITP_FORM_OPER04010_VIEW_MAP" style="width:700px; height:400px; margin-top:27px;"></div>
234 234
 											</div>
235 235
 										</div>
236 236
 									</div>

+ 4 - 652
src/main/webapp/js/app/locales/locale-ko.js

@@ -5,7 +5,7 @@ const ITP_MSG_LOCALE = (function() {
5 5
 		},
6 6
 		"title": {
7 7
 			"browser": "운영시스템",
8
-			"author": "누리키오스크",
8
+			"author": "수발주시스템",
9 9
 			"findPassword": "비밀번호찾기",
10 10
 			"alert": "알림",
11 11
 			"userInfo": "사용자정보",
@@ -29,88 +29,9 @@ const ITP_MSG_LOCALE = (function() {
29 29
 			"accountInfo": "계정 정보",
30 30
 			"authInfo": "권한 정보",
31 31
 			"storeSrh": "매장 검색",
32
-			"nonMember": "비회원",
33
-			"member": "정회원",
34
-			"exitMember": "탈퇴회원",
35
-			"memeNum": "고객 번호",
36
-			"serviceInfo": "서비스 이용 정보",
37
-			"appOrderInfo": "단말/주문앱 정보",
38
-			"bossMng": "사장님 관리",
39
-			"linkStore": "계정에 연결된 매장",
40
-			"bossAdd": "사장님 계정 등록",
41
-			"teleShop": "전화 매장",
42
-			"goodShop": "바른 매장",
43
-			"trustShop": "안심 매장",
44
-			"noShop": "비노출 매장(폐업 등)",
45 32
 			"storeInfo": "매장 정보",
46 33
 			"addressFind": "주소 검색",
47
-			"storeLink": "매장 연결",
48
-			"bossIdSrh": "사장님 계정 검색",
49
-			"orderInfo": "주문 정보",
50
-			"storeTimeSet": "주문가능 요일/시간 설정",
51
-			"delivInfo": "배달 정보",
52
-			"guideInfo": "안내 정보",
53
-			"areaSeting": "지역 설정",
54
-			"feeInfo": "수수료 정보",
55
-			"bunssInfo": "사업자 정보",
56
-			"contractInfo": "정산/계약 정보",
57
-			"showLocSel": "노출 위치 선택",
58
-			"menuGruop": "메뉴 그룹",
59
-			"menuGrpNm": "메뉴 그룹 등록",
60
-			"totalMenu": "전체 메뉴",
61
-			"menuStat": "메뉴 상태",
62
-			"menuInfos": "메뉴 정보",
63
-			"addOptionReg": "추가 옵션 등록",
64
-			"otherMenu": "추가 옵션을 다른 메뉴에서 불러오기",
65
-			"disMenu": "할인 메뉴",
66
-			"disMenuReg": "할인 메뉴 등록",
67
-			"recoMenu": "추천 메뉴",
68
-			"recoMenuReg": "추천 메뉴 등록",
69
-			"orderSaleMng": "주문 관리(매출 조회)",
70
-			"allHis": "전체 내역",
71
-			"detailHis": "상세 내역",
72
-			"orderReceipt": "주문서",
73
-			"allHisExcel": "* 전체 내역",
74
-			"detailHisExcel": "* 상세 내역",
75
-			"storeSett": "매장 정산",
76
-			"storeFeeMng": "매장 수수료 관리",
77
-			"operFeeAdd": "운영 수수료 등록",
78
-			"payFeeAdd": "결제 수수료 등록",
79
-			"normalShow": "정상노출",
80
-			"reviewPhoto": "리뷰사진",
81
-			"blindTit": "블라인드",
82
-			"inquiryApp": "1:1 문의(앱회원)",
83
-			"inquiryTit": "문의",
84
-			"repleTit": "답변",
85
-			"inquiryBoss": "1:1 문의(사장님)",
86
-			"faqTit": "자주 묻는 질문",
87
-			"top5Tit": "TOP5 등록",
88
-			"faqtpTit": "질문 분류 등록",
89
-			"notiTit": "공지사항(앱회원)",
90
-			"notiBoss": "공지사항(사장님)",
91
-			"eventTit": "이벤트",
92
-			"pushTit": "PUSH",
93
-			"introScn": "인트로 화면",
94
-			"tutorial": "튜토리얼",
95
-			"banner": "홈 배너",
96
-			"bannerAdd": "홈 배너 등록",
97
-			"homePop": "홈 팝업",
98
-			"homePopTit": "홈 팝업 등록",
99
-			"homeCate": "홈 카테고리(매장)",
100
-			"homeCateReg": "홈 카테고리(매장) 등록",
101
-			"homeCate2": "홈 카테고리(기획)",
102
-			"homeCate2Reg": "홈 카테고리(기획) 등록",
103
-			"agreement": "약관",
104
-			"version": "버전",
105
-			"versionReg": "버전 등록",
106
-			"aos": "AOS",
107
-			"ios": "IOS",
108
-			"guide": "이용가이드(접수앱)",
109
-			"version2": "버전(접수앱)",
110
-		    "version2Reg": "버전(접수앱) 등록",
111
-		    "mainVisual": "메인 비주얼(사장님사이트)",
112
-		    "mainVisReg": "사장님사이트 메인 비주얼 등록",
113
-		    "logStats": "로그/통계"
34
+			"bunssInfo": "사업자 정보"
114 35
 		},
115 36
 		"label": {
116 37
 			"sysAdmin": "시스템관리자",
@@ -157,13 +78,10 @@ const ITP_MSG_LOCALE = (function() {
157 78
 			"seqCd": "채번코드",
158 79
 			"connHis": "접속일자",
159 80
 			"menuTxt": "메뉴",
160
-			"ifName": "IF명",
161 81
 			"connResult": "전송결과",
162
-			"ifCd": "IF코드",
163 82
 			"userNameKr": "사용자명",
164 83
 			"passwordNew": "새 비밀번호",
165 84
 			"confrimPasswordNew": "새 비밀번호확인",
166
-			"ifUrl": "IF URL",
167 85
 			"actionId": "액션ID",
168 86
 			"actionName": "액션명",
169 87
 			"actionUrl": "액션URL",
@@ -186,574 +104,16 @@ const ITP_MSG_LOCALE = (function() {
186 104
 			"status": "상태",
187 105
 			"statusDt": "상태일시",
188 106
 			"numbering": "NO",
189
-			"ordering": "노출순서",
190
-			"viewDt": "노출일",
191
-			"superAdmin": "슈퍼관리자",
192 107
 			"inputSelf": "직접입력",
193 108
 			"active": "활성",
194
-			"stop": "정지",
195
-			"categoryTot": "카테고리 (전체)",
196
-			"storeSrhTxt": "매장명, 매장 전화번호 검색",
197
-			"srhResult": "검색결과",
198
-			"storeNm": "매장명",
199
-			"storeTel": "매장 전화번호",
200
-			"storeNo": "매장번호",
201
-			"businessNo": "사업자번호",
202
-			"tot": "총",
203
-			"pages": "페이지",
204
-			"deviceTpTot": "단말 타입 (전체)",
205
-			"firstAct": "최초 실행일",
206
-			"deviceIdSrh": "단말 ID, 단말 OS 버전, APP 버전 검색",
207
-			"deviceTp": "단말 타입",
208
-			"deviceId": "단말 ID",
209
-			"deviceOs": "단말 OS 버전",
210
-			"appVer": "APP 버전",
211
-			"lastAct": "마지막 실행일",
212
-			"orderHistTot": "주문 이력 (전체)",
213
-			"adultAuthTot": "성인인증 (전체)",
214
-			"emailYnTot": "이메일 수신동의 (전체)",
215
-			"smsYnTot": "SMS 수신동의 (전체)",
216
-			"memberInDt": "정회원 가입일",
217
-			"memberSrh": "고객 번호, 이메일(아이디), 휴대폰 번호, 닉네임, 단말 ID, 단말 OS 버전, APP 버전 검색",
218
-			"memeNo": "고객 번호",
219
-			"idEmail": "아이디(이메일)",
220
-			"nickNm": "닉네임",
221
-			"orderComp": "주문 접수/완료",
222
-			"lastLogin": "마지막 로그인",
223
-			"exitMembDt": "서비스 탈퇴일",
224
-			"adtAuth": "성인인증",
225
-			"emailYn": "이메일 수신동의",
226
-			"smsYn": "SMS 수신동의",
227
-			"lastOrder": "마지막 주문일",
228
-			"orderHist": "주문 이력",
229
-			"orderCancel": "주문 취소",
230
-			"orderAmt": "주문 금액",
231
-			"deliveryFee": "배달비",
232
-			"discountFee": "할인 금액",
233
-			"payFee": "결제 금액",
234
-			"won": "원",
235
-			"gun": "건",
236
-			"linkStoreTot": "연결 매장 (전체)",
237
-			"linkStoreSrh": "연결 매장",
238
-			"loginHisTot": "로그인 이력 (전체)",
239
-			"loginHis": "로그인 이력",
240
-			"bossSrh": "아이디, 사장님 이름, 사장님 휴대폰 번호, 단말 ID, 단말 OS 버전, APP 버전, 계정에 연결된 매장 검색",
241
-			"bossNm": "사장님 이름",
242
-			"bossPhone": "사장님 휴대폰 번호",
243
-			"linkStore": "계정에 연결된 매장",
244
-			"serviceDt": "서비스 가입일",
245
-			"bunssNo": "사장님 번호",
246
-			"lastBossLogin": "마지막 로그인 (접수앱)",
247
-			"shopNo": "매장 번호",
248
-			"shopType": "매장 타입",
249
-			"saleStatus": "영업 상태",
250
-			"contractStat": "계약 상태",
251
-			"category": "카테고리",
252
-			"storeAddr": "매장 주소",
253
-			"showPlaceTot": "노출 위치 (전체)",
254
-			"showPlace": "노출 위치",
255
-			"onlyNumber": "숫자만 입력 가능",
256
-			"idRule": "5~12자 / 영문 소문자, 숫자",
257
-			"dafaultPw": "초기 비밀번호로 사용됨",
258
-			"writeStatTot": "작성 상태 (전체)",
259
-			"contractStatTot": "계약 상태 (전체)",
260
-			"firstRegTot": "최초 등록자 (전체)",
261
-			"lastModiyTot": "최종 수정자 (전체)",
262
-			"telStoreSrh": "사장님 계정(아이디,이름,휴대폰 번호), 매장명, 매장 주소, 매장 전화번호, 사업자등록번호 검색",
263
-			"mngFeeTot": "운영 수수료 (전체)",
264
-			"saleStatTot": "영업 상태 (전체)",
265
-			"bossId": "사장님 계정",
266
-			"writeStat": "작성 상태",
267
-			"mngFee": "운영 수수료",
268
-			"firstRegDt": "최초 등록일",
269
-			"lastModDt": "최종 수정일",
270
-			"zipCode": "우편번호",
271
-			"address": "기본주소",
272
-			"detailAddr": "상세주소",
273
-			"storeNmRule": "지역명이 있는 경우 함께 입력 해주세요.  ex : 피자나라치킨공주 강남역삼점",
274
-			"streetSrh": "도로명 또는 지번 주소 검색",
275
-			"noAddr": "검색 결과가 없습니다.",
276
-			"addrStreet": "[도로명]",
277
-			"addrJibun": "[<em>지</em>번]",
278
-			"addrJibun2": "[지번]",
279
-			"addrXpos": "[경도]",
280
-			"addrYpos": "[위도]",
281
-			"storeLogo": "매장 리스트에<br>노출되는 로고",
282
-			"bossSrhPop": "아이디, 사장님 이름, 사장님 휴대폰 번호 검색",
283
-			"orderDay": "주문가능 요일/시간",
284
-			"minOrder": "최소주문 금액",
285
-			"minPrice": "원 이상시 주문할 수 있습니다.",
286
-			"weeks": "요일",
287
-			"stTime": "시작 시간",
288
-			"endTime": "종료 시간",
289
-			"copy": "복사",
290
-			"selAll": "전체적용",
291
-			"same": "상동",
292
-			"hour": "시",
293
-			"min": "분",
294
-			"holiday": "(휴무)",
295
-			"storeShowArea": "매장 노출 반경",
296
-			"delivArea": "배달 가능 지역",
297
-			"addDelivArea": "추가 배달비/지역",
298
-			"delivFree": "배달비 조건부 무료",
299
-			"atStoreAddr": "매장 주소에서",
300
-			"storeToShow": "이내에 배달 주소를 설정한 사용자에게 노출 됩니다.",
301
-			"toStore": "매장에서",
302
-			"areaSet": "지역 직접 설정",
303
-			"free": "무료",
304
-			"notFree": "유료",
305
-			"notUse": "사용안함",
306
-			"use": "사용",
307
-			"addDelivFee": "원이 기본 배달비에 추가 됩니다.",
308
-			"aboveDelivFree": "원 이상 주문시 배달비 무료",
309
-			"deliFeeArea": "배달비/지역",
310
-			"sidoTot": "시/도 (전체)",
311
-			"sido": "시/도",
312
-			"dongMyunSrh": "읍/면/동 검색",
313
-			"siGuGun": "시/구/군",
314
-			"dongMyun": "읍/면/동",
315
-			"selResult": "선택결과",
316
-			"areaNo": "지역 코드",
317
-			"noSelect": "선택 결과가 없습니다.",
318
-			"cusNotice": "고객에게 공지/알림",
319
-			"rawInfo": "원산지 정보",
320
-			"payFeeCard": "결제 수수료(신용/체크)",
321
-			"withVat": "V.A.T 포함",
322
-			"taxType": "과세 구분",
323
-			"shopNm": "상호",
324
-			"bussRegNo": "사업자등록번호",
325
-			"repreNm": "대표자 이름",
326
-			"repreTel": "대표자 휴대폰 번호",
327
-			"bussRegCopy": "사업자등록증 사본",
328
-			"settleWay": "정산 방식",
329
-			"settleAcc": "정산 계좌",
330
-			"settleCopy": "정산 계좌 통장 사본",
331
-			"settleRule": "월~일 완료 처리한 주문을 영업일 기준 5일째 되는 날 정산",
332
-			"bankSel": "은행 선택",
333
-			"accNum": "계좌번호(숫자만 입력 가능)",
334
-			"accNm": "예금주",
335
-			"disabled": "선택 불가",
336
-			"firstReg": "최초 등록",
337
-			"lastMod": "최종 수정",
338
-			"noInfos": "정보없음",
339
-			"chooseStore": "관리할 매장을 검색 후 선택해주세요.",
340
-			"noShops": "선택된 매장이 없습니다.",
341
-			"viewOrder": "노출 순서",
342
-			"menuGroupNm": "메뉴 그룹명",
343
-			"adultGroup": "성인용",
344
-			"viewYn": "노출 여부",
345
-			"regMenuCnt": "등록 메뉴 수",
346
-			"deleted": "삭제",
347
-			"menuEx": "ex : 세트 메뉴, 사이드 메뉴, 주류",
348
-			"menuSrhEx": "메뉴명, 메뉴 소개 검색",
349
-			"firstRegId": "최초 등록자",
350
-			"lastModiyId": "최종 수정자",
351
-			"menuGrp": "메뉴 그룹",
352
-			"saleStat": "판매 상태",
353
-			"priceTp": "가격 구분",
354
-			"menuGrpTot": "메뉴 그룹 (전체)",
355
-			"unWriteSrhTot": "미작성 검색 (전체)",
356
-			"priceTpTot": "가격 구분 (전체)",
357
-			"unWriteSrhImg": "미작성 검색 (이미지)",
358
-			"unWriteSrhMenu": "미작성 검색 (메뉴 소개)",
359
-			"unWriteSrhAdd": "미작성 검색 (추가 옵션)",
360
-			"menuNo": "메뉴 번호",
361
-			"menuNmIntro": "메뉴명 /메뉴 소개",
362
-			"price": "가격",
363
-			"sellCnt": "판매 수량",
364
-			"menuIntro": "메뉴 소개",
365
-			"imageNo": "이미지 번호",
366
-			"more": "더보기",
367
-			"saleCnt": "판매 수량 (누적)",
368
-			"menuPriceTp": "메뉴 가격 구분",
369
-			"oneMenuPrice": "단일 메뉴 가격",
370
-			"moreMenuPirce": "메뉴 구성별 가격 다름",
371
-			"inputPrice": "└ 가격 입력",
372
-			"menuDisEx": "메뉴 할인은 메뉴 관리 > 할인 메뉴에서 설정 할 수 있습니다.",
373
-			"menuImg": "메뉴 이미지",
374
-			"menuIntroIn": "메뉴 소개 또는 구성",
375
-			"pilsuIn": "(필수입력)",
376
-			"selectIn": "(선택입력)",
377
-			"addOption": "추가 옵션",
378
-			"optGrpNm": "옵션 그룹명",
379
-			"selAvail": "선택 가능",
380
-			"optConf": "옵션 구성",
381
-			"noOption": "등록된 추가 옵션이 없습니다.<br>ex : 떡 사리 추가 (1,000원), 라면 사리 추가 (2,000원), 콜라 1.25L 추가 (2,000원)",
382
-			"basicShow": "└ 기본 노출",
383
-			"custSel": "└ 고객 선택 항목",
384
-			"config": "구성",
385
-			"configEx": "ex : 감자탕 중",
386
-			"basic": "기본",
387
-			"orderSelCnt": "주문시 선택 가능 수",
388
-			"addEx": "ex : 사리 추가",
389
-			"addEx2": "ex : 떡 사리 추가",
390
-			"optionIng": "개의 옵션 중",
391
-			"availSel": "개 선택 가능",
392
-			"optionMenu": "옵션이 등록된 메뉴",
393
-			"regStatus": "└ 등록 현황",
394
-			"noSelMenu": "선택된 메뉴가 없습니다.",
395
-			"disStatusTot": "할인 상태 (전체)",
396
-			"disStatus": "할인 상태",
397
-			"dcNo": "할인 번호",
398
-			"disPrice": "할인 가격",
399
-			"dcStDt": "할인 시작일시",
400
-			"dcEdDt": "할인 종료일시",
401
-			"imgMenu": "이미지가 등록된 메뉴",
402
-			"selMenuAuto": "(위) 메뉴 선택시 자동 반영",
403
-			"disPriceTxt": "└ 할인 가격",
404
-			"typePrice": "구성/가격",
405
-			"discount": "할인",
406
-			"recoStatTot": "노출 상태 (전체)",
407
-			"recoStatus": "노출 상태",
408
-			"recoNo": "추천 번호",
409
-			"recoStDt": "노출 시작일시",
410
-			"recoEdDt": "노출 종료일시",
411
-			"orderDeviTot": "주문 단말 (전체)",
412
-			"orderDevi": "주문 단말",
413
-			"orderSrhEx": "주문 번호, 주문시 연락처, 배달 주소, 고객 번호, 고객 아이디, 고객 휴대폰 번호 검색",
414
-			"orderStatTot": "주문 상태 (전체)",
415
-			"orderStat": "주문 상태",
416
-			"orderStore": "주문발생 매장",
417
-			"autoFive": "자동(5분)",
418
-			"boss": "사장님",
419
-			"custServ": "고객센터",
420
-			"thBelow": "30” 이하",
421
-			"sixBelow": "60” 이하",
422
-			"sixAbove": "60” 이상",
423
-			"creditChk": "신용/체크",
424
-			"coupon": "쿠폰",
425
-			"pgSettle": "PG정산",
426
-			"rSettle": "R정산",
427
-			"storeSettle": "매장정산",
428
-			"ranking": "순위",
429
-			"orderAmtP": "+ 주문 금액",
430
-			"delvAmtP": "+ 배달비",
431
-			"disAmtM": "- 할인 금액",
432
-			"payAmtE": "= 결제 금액",
433
-			"detail": "자세히",
434
-			"orderTotExe": "매출조회_전체",
435
-			"rowNum": "순위",
436
-			"totalSum": "합계",
437
-			"orderCateExe": "매출조회",
438
-			"customerNoBr": "고객 번호<br>(고객정보 보기)",
439
-			"orderDeviceBr": "주문<br>단말",
440
-			"orderDateBr": "주문<br>일자",
441
-			"orderTimeBr": "주문<br>시간",
442
-			"orderNoBr": "주문 번호<br>(주문서 보기)",
443
-			"orderAmtBr": "주문<br>금액",
444
-			"discountAmtBr": "할인<br>금액",
445
-			"payAmtBr": "결제<br>금액",
446
-			"payMethodBr": "결제<br>수단",
447
-			"orderStatusBr": "주문<br>상태",
448
-			"orderActionBr": "주문<br>처리",
449
-			"showPositionBr": "노출<br>위치",
450
-			"feeVatBr": "수수료 (V.A.T 포함)",
451
-			"settleVatBr": "정산 (V.A.T 포함)",
452
-			"pgpg": "PG(PG)",
453
-			"pgr": "PG(R)",
454
-			"operr": "운영(R)",
455
-			"store": "매장",
456
-			"customerNonn": "고객 번호\n(고객정보 보기)",
457
-			"orderDevicenn": "주문\n단말",
458
-			"orderDatenn": "주문\n일자",
459
-			"orderTimenn": "주문\n시간",
460
-			"orderNonn": "주문 번호\n(주문서 보기)",
461
-			"orderAmtnn": "주문\n금액",
462
-			"discountAmtnn": "할인\n금액",
463
-			"payAmtnn": "결제\n금액",
464
-			"payMethodnn": "결제\n수단",
465
-			"orderStatusnn": "주문\n상태",
466
-			"orderActionnn": "주문\n처리",
467
-			"showPositionnn": "노출\n위치",
468
-			"processTime": "처리시간",
469
-			"finishDt": "완료일시",
470
-			"cancelDt": "취소일시",
471
-			"reason": "사유",
472
-			"cardNm": "카드사",
473
-			"approvalNo": "승인/취소 번호",
474
-			"delayFive": "사장님의 접수 지연 (5분)",
475
-			"cancelOper": "취소자",
476
-			"membSatat": "회원구분",
477
-			"orderDtt": "주문일시",
478
-			"deivAddrr": "배달주소",
479
-			"requestOrder": "요청사항",
480
-			"quantity": "수량",
481
-			"pricee": "금액",
482
-			"orderAmtt": "주문금액",
483
-			"delivFeee": "+ 배달비",
484
-			"payAmtt": "결제금액",
485
-			"creditCheck": "(신용/체크카드)",
486
-			"payCancell": "결제 취소하기",
487
-			"fromOrderDays": "(주문 시점부터 4일간 가능)",
488
-			"writeSimple": "간단히 입력 (최대 20자)",
489
-			"selectReasons": "사유 선택",
490
-			"customerReq": "고객 요청",
491
-			"writeSelf": "직접 입력",
492
-			"moreMenus": "+ 추가 구성",
493
-			"safeTelNo": "안심번호",
494
-			"menuPrice": "메뉴/가격",
495
-			"settleAmt": "매출액(결제금액)",
496
-			"payFeee": "결제 수수료(V.A.T 포함)",
497
-			"operFeee": "운영 수수료(V.A.T 포함)",
498
-			"settleFeee": "정산금액",
499
-			"orderShopEx": "매출조회",
500
-			"finishDay": "* 완료일",
501
-			"srhStroe": "매장명 검색",
502
-			"completeOrder": "완료 처리한 주문",
503
-			"orderCnt": "주문 수",
504
-			"storeBrSett": "매장<br>정산",
505
-			"storeBrSettEx": "매장\n정산",
506
-			"settleAccount": "정산 계좌 정보",
507
-			"businessInfo": "사업자 정보",
508
-			"bankName": "은행명",
509
-			"bankCode": "은행코드",
510
-			"bankAccount": "계좌번호",
511
-			"taxTypee": "과세구분",
512
-			"bossName": "대표자이름",
513
-			"payFeeTab": "결제 수수료",
514
-			"feeName": "수수료명",
515
-			"fee": "수수료",
516
-			"regStoreCnt": "등록 매장 수",
517
-			"feeWithVat": "※ 수수료는 V.A.T 포함 입니다.",
518
-			"feeNumber": "수수료 번호",
519
-			"payNumber": "결제 번호",
520
-			"feeType": "수수료 구분",
521
-			"payMethod": "결제수단",
522
-			"feeTotal": "수수료 총액",
523
-			"pgSetFee": "PG사 정산 수수료",
524
-			"rSetFee": "R 정산 수수료",
525
-			"autoCalc": "자동 계산",
526
-			"reviewTpTot": "리뷰 유형 (전체)",
527
-			"scoreTot": "평점 (전체)",
528
-			"bossRepleTot": "사장님 댓글 (전체)",
529
-			"reviewTp": "리뷰 유형",
530
-			"score": "평점",
531
-			"bossReple": "사장님 댓글",
532
-			"repleEx": "매장명, 고객 번호, 닉네임, 리뷰 내용, 댓글 내용 검색",
533
-			"storeCusNum": "매장명, 고객/주문 번호",
534
-			"review": "리뷰",
535
-			"photo": "포토",
536
-			"reviewDt": "리뷰 작성일",
537
-			"repleDt": "댓글 작성일",
538
-			"blind": "블라인드",
539
-			"blindDt": "블라인드 설정일",
540
-			"setOn": "설정",
541
-			"setOff": "해제",
542
-			"view": "보기",
543
-			"reviewNo": "리뷰 번호",
544
-			"blindYn": "블라인드 여부",
545
-			"orderNum": "주문 번호",
546
-			"repleWait": "답변대기",
547
-			"repleComp": "답변완료",
548
-			"repleNo": "답변제외",
549
-			"repleDate": "문의일",
550
-			"repleTypeTot": "문의 분류 (전체)",
551
-			"repleType": "문의 분류",
552
-			"replyEx": "문의자 아이디(이메일)/휴대폰 번호, 문의 제목/내용 검색",
553
-			"replyTitle": "문의 제목",
554
-			"repleEmail": "문의자 아이디(이메일)",
555
-			"excuteNm": "처리자",
556
-			"excuteDt": "처리일",
557
-			"excuteEx": "문의자 아이디(이메일)/휴대폰 번호, 문의 제목/내용, 처리자 검색",
558
-			"inqNo": "문의 번호",
559
-			"inqGu": "문의 구분",
560
-			"askCustNo": "문의자 고객 번호",
561
-			"askDt": "문의 일시",
562
-			"askDesc": "문의 내용",
563
-			"askImg": "첨부 사진",
564
-			"repleYn": "답변 여부",
565
-			"excuteDtNm": "처리 일시 (처리자)",
566
-			"repleDesc": "답변 내용",
567
-			"replyEx2": "사장님 아이디, 문의 매장, 문의 제목/내용 검색",
568
-			"excuteEx2": "사장님 아이디, 문의 매장, 문의 제목/내용, 처리자 검색",
569
-			"askStore": "문의 매장",
570
-			"fileUp": "첨부 파일",
571
-			"faqTab": "자주 묻는 질문",
572
-			"faqTop5": "TOP5 관리",
573
-			"faqSame": "질문 분류 관리",
574
-			"askTypeTot": "질문 분류 (전체)",
575
-			"askType": "질문 분류",
576
-			"faqEx": "제목, 내용, 등록자 검색",
577
-			"regDt": "등록일",
578
-			"veiwCnt": "조회수",
579
-			"titlet": "제목",
580
-			"regName": "등록자",
581
-			"askNo": "질문 번호",
582
-			"regiDt": "등록 일시 (등록자)",
583
-			"faqDesc": "내용",
584
-			"askTpNm": "질문 분류명",
585
-			"askRegCnt": "등록 질문 수",
586
-			"regDate": "등록 일시",
587
-			"regNow": "즉시등록",
588
-			"appReg": "예약등록",
589
-			"notiNo": "공지사항 번호",
590
-			"targetNm": "대상 구분",
591
-			"eventTot": "이벤트 상태 (전체)",
592
-			"eventStat": "이벤트 상태",
593
-			"eventEx": "이벤트 제목, 이벤트 내용, 등록자 검색",
594
-			"listImg": "리스트 이미지",
595
-			"eventTitle": "이벤트 제목/기간",
596
-			"ings": "진행중",
597
-			"waits": "대기",
598
-			"dones": "종료",
599
-			"evtNo": "이벤트 번호",
600
-			"evtDt": "이벤트 기간",
601
-			"evtTit": "이벤트 제목",
602
-			"evtImg": "본문 이미지",
603
-			"evtDesc": "이벤트 내용",
604
-			"pushTpTot": "PUSH 구분 (전체)",
605
-			"pushTp": "PUSH 구분",
606
-			"pushStatTot": "발송 상태 (전체)",
607
-			"pushStat": "발송 상태",
608
-			"pushEx": "PUSH 제목, PUSH 내용, 등록자 검색",
609
-			"pushTt": "PUSH 제목",
610
-			"pushDt": "발송 일시",
611
-			"pushCnt": "발송 수",
612
-			"pushSucc": "성공 수",
613
-			"pushFail": "실패 수",
614
-			"pushNo": "PUSH 번호",
615
-			"landingSc": "└ 랜딩 화면",
616
-			"sendDesc": "발송 내용",
617
-			"sendTar": "발송 대상",
618
-			"enterUrl": "URL을 입력해주세요.",
619
-			"notiTxt": "[공지]",
620
-			"banWait": "대기/노출중",
621
-			"showCnt": "※ 노출중 상태 기준 노출 순서 1~99까지 노출 됩니다.",
622
-			"banImg": "홈 배너 이미지",
623
-			"banTit": "홈 배너 제목",
624
-			"landSc": "랜딩 화면",
625
-			"clickShow": "클릭수 (노출수)",
626
-			"clickCnt": "클릭률",
627
-			"landDetail": "└ 랜딩 상세",
628
-			"landHelp": "공지사항, 이벤트, URL 입력 선택시 설정합니다.",
629
-			"lineBann": "마이오더 때배너 이미지",
630
-			"hpopImg": "홈 팝업 이미지",
631
-			"hpopTit": "홈 팝업 제목",
632
-			"hpopHelp": "※ 노출중 상태 기준 노출 순서 1~5까지 노출 됩니다.",
633
-			"goLink": "화면으로 이동",
634
-			"distanceIn": "소수점 한자리까지 입력",
635
-			"veiwDis": "노출 거리",
636
-			"cateName": "카테고리명",
637
-			"cateImg": "카테고리 이미지",
638
-			"agreeNm": "약관명",
639
-			"versionDesc": "버전 설명",
640
-			"ver": "버전",
641
-			"major": "major . major . minor",
642
-			"mVisualImg": "메인 비주얼 이미지",
643
-			"mVisualTit": "메인 비주얼 제목",
644
-			"noSafeNo": "050 번호 없음",
645
-			"summ": "요약",
646
-		    "accrue": "매장별 누적",
647
-		    "salePrice": "매출액",
648
-		    "orderRate": "주문율",
649
-		    "cancelRate": "취소율",
650
-		    "payOrderRate": "결제주문율",
651
-		    "telOrderRate": "전화주문율",
652
-		    "reviewRate": "리뷰작성율",
653
-		    "repleRate": "댓글작성율",
654
-		    "blindRate": "블라인드율",
655
-		    "freqCntBr": "단골<br>등록수",
656
-		    "orderCntt": "주문수",
657
-		    "regComp": "접수/완료",
658
-		    "cancelTxt": "취소",
659
-		    "tele": "전화",
660
-		    "reviewCnt": "리뷰수",
661
-		    "repleCnt": "댓글수",
662
-		    "blindCnt": "블라인드수",
663
-		    "orderCompMinBr": "평균<br>주문처리<br>(분)",
664
-		    "orderr": "주문",
665
-		    "telOrder": "전화주문",
666
-		    "payOrder": "결제주문",
667
-		    "repley": "댓글",
668
-		    "orderCntInfo": "주문수 상세",
669
-		    "rrbCnt": "리뷰/댓글/블라인드 수",
670
-		    "linkCnt": "공유수",
671
-		    "statPer": "통계 (율)",
672
-		    "statEx": "로그통계_매장별누적",
673
-		    "freqCntnn": "단골\n등록수",
674
-		    "areaStatStore": "지역별 매장 통계 방식 (매장수)",
675
-		    "areaStatPrice": "지역별 매장 통계 방식 (매출액)",
676
-		    "orAppMemCnt": "주문앱 회원 수",
677
-		    "bossCnt": "사장님 수",
678
-		    "orderVisCnt": "주문앱 방문 수",
679
-		    "storeCnt": "매장 수",
680
-		    "appLog": "주문앱 이용로그",
681
-		    "areaStore": "지역별 매장",
682
-		    "logHelp": "※ 매장수로 검색시 ‘누적'은 현재, ‘기간 내’는 등록시점의 주소를 기준으로 추출",
683
-		    "cateGo": "항목",
684
-		    "stack": "누적",
685
-		    "inTime": "기간내",
686
-		    "areaa": "지역",
687
-		    "downloadCnt": "비회원 = 예상 다운로드 수",
688
-		    "noPrice": "산출불가",
689
-		    "intorpv": "인트로 PV",
690
-		    "intoruv": "인트로 UV",
691
-		    "reVisit": "평균 재방문",
692
-		    "logsEx": "로그통계_요약",
693
-		    "urlReg": "URL 입력",
694
-			"popNo": "팝업번호",
695
-			"popNm": "팝업제목",
696
-			"mailFormNo": "양식번호",
697
-			"mailFormNm": "양식명", 
698
-			"batchNo": "배치번호", 
699
-			"batchTpCd": "배치업무구분", 
700
-			"batchTimeSetCd": "시간설정구분", 
701
-			"runUnitCd": "배치실행단위", 
702
-			"lastRunDt": "최종실행시간", 
703
-			"runDt": "실행시간", 
704
-			"runTpCd": "가동구분", 
705
-			"addId": "수행자", 
706
-			"resultCd": "결과", 
707
-			"errorView": "오류보기", 
708
-			"ifNo": "IF번호", 
709
-			"ifId": "IF아이디", 
710
-			"ifNm": "IF명", 
711
-			"linkInfo": "연동정보", 
712
-			"comMethCd": "통신방식", 
713
-			"srTpCd": "송수신구분", 
714
-			"batchNm": "배치명" 
715 109
 		},
716 110
 		"link": {
717 111
 			"forgotPassword": "비밀번호찾기"
718 112
 		},
719 113
 		"text": {
720
-			"copyright": "COPYRIGHT © RICHBEAM Co., Ltd. ALL RIGHTS RESERVED",
114
+			"copyright": "COPYRIGHT © ORDERQUEEN Co., Ltd. ALL RIGHTS RESERVED",
721 115
 			"changePassword": "비밀번호 변경을 해주세요.",
722
-			"chrome": "본 시스템은 크롬 브라우저에 최적화 되어 있습니다.",
723
-			"noRuleTxt": "규칙에 제한이 없습니다.",
724
-			"noRuleDup": "규칙에 제한이 없습니다. (중복제외)",
725
-			"selAuthNm": "권한명을 선택해주세요.",
726
-			"selMngMenu": "관리 메뉴를 선택해주세요.",
727
-			"noInfo": "정보 없음",
728
-			"pwRule": "비밀번호 초기화시 랜덤 문자+숫자 조합 6자리가 회원 휴대폰 번호로 발송 됩니다.",
729
-			"lastLogin": "(마지막 로그인 정보를 저장 합니다.)",
730
-			"bossPwRule": "사장님 휴대폰 번호로 초기화 됩니다.",
731
-			"onlyTelStore": "(이 부분만 등록 후 전화 매장으로 등록 할 수 있습니다.)",
732
-			"fileLogo": "000px * 000px / jpg, jpeg 파일만 등록 가능",
733
-			"fileBanner": "000px * 000px<br>jpg, jpeg 파일만 등록 가능",
734
-			"fileBanner2": "000px * 000px<br>jpg, jpeg, png 파일만 등록 가능",
735
-			"bossLink": "사장님 계정에 연결되어야 주문을 받을 수 있습니다.",
736
-			"noticeEx": "깨끗하고 맛있는 음식을 만들겠습니다.\n주문 후 예상 소요시간을 꼭 확인해주세요.\n감사합니다.",
737
-			"settleHelp": "※ 월~일 완료 처리한 주문을 영업일 기준 5일째 되는 날 정산하며, 이 시점에 정확한 데이터 확인이 가능합니다.",
738
-			"noReple": "등록된 댓글이 없습니다.",
739
-			"blindOn": "리뷰를\n블라인드로 설정합니다.",
740
-			"blindOff": "리뷰의 블라인드를\n해제합니다.",
741
-			"showTop5": "※ 노출 순서 1~5까지 노출 됩니다.",
742
-			"pushHelp": "<b>발송 시점</b>에 설정한 대상 中 이벤트 및 혜택 알림 받기를 설정한 대상을 집계 합니다.",
743
-			"randomImg": "<span>최소 1장(필수), 최대 3장</span> 등록 가능하며 등록된 이미지가 <span>랜덤으로 노출</span> 됩니다.",
744
-			"randomTuto": "<span>최소 1장(필수), 최대 5장</span> 등록 가능하며 등록된 이미지가 <span>설정된 순서대로 노출</span> 됩니다.",
745
-			"randomGuide": "<span>최소 1장(필수), 최대 10장</span> 등록 가능하며 등록된 이미지가 <span>설정된 순서대로 노출</span> 됩니다.",
746
-			"clickHere": "여기를 클릭해서 등록",
747
-			"findImg": "이미지를 찾아 등록해주세요.",
748
-			"statsHelp": "※ 전일 데이터를 다음날 새벽 1~3시경 반영 (새벽 5시 이 후 정확한 데이터 확인 가능)",
749
-			"statsFaq0": "<span><b>참고</b>. 통계 (율)은 아래의 공식으로 계산된 백분율로, 소수점 둘째자리 이하 절사 되었습니다.</span>",
750
-			"statsFaq1": "1. 주문(율) : 매장 조회수 대비 주문율 입니다. 주문수에는 전화 주문과 취소 주문을 포함합니다.",
751
-			"statsFaq2": "2. 전화주문(율) : 주문수 대비 전화 주문율 입니다.",
752
-			"statsFaq3": "3. 결제주문(율) : 주문수 대비 결제 주문율 입니다. 결제 주문수에는 취소 주문을 포함합니다.",
753
-			"statsFaq4": "4. 취소(율) : 결제 주문수 대비 취소율 입니다.",
754
-			"statsFaq5": "5. 리뷰(율) : 접수/완료된 결제 주문수 대비 리뷰 작성율 입니다.",
755
-			"statsFaq6": "6. 댓글(율) : 리뷰 작성수 대비 사장님 댓글 작성율 입니다.",
756
-			"statsFaq7": "7. 블라인드(율) : 리뷰 작성수 대비 블라인드 등록율 입니다."
116
+			"chrome": "본 시스템은 크롬 브라우저에 최적화 되어 있습니다."
757 117
 		},
758 118
 		"button": {
759 119
 			"login": "로그인",
@@ -767,7 +127,6 @@ const ITP_MSG_LOCALE = (function() {
767 127
 			"addRow": "행추가",
768 128
 			"delRow": "행삭제",
769 129
 			"addLowLvl": "하위레벨추가",
770
-			"bom": "BOM",
771 130
 			"material": "자재",
772 131
 			"select": "선택",
773 132
 			"inquiry": "조회",
@@ -782,20 +141,16 @@ const ITP_MSG_LOCALE = (function() {
782 141
 			"startUpload": "업로드시작",
783 142
 			"cancelUpload": "업로드취소",
784 143
 			"download": "다운로드",
785
-			"autoProdPlan": "자동생산계획",
786 144
 			"excelDown": "엑셀다운로드",
787 145
 			"addTopLvl": "상위레벨추가",
788
-			"addBom": "신규BOM",
789 146
 			"excelUp": "엑셀업로드",
790 147
 			"register": "등록",
791 148
 			"downForm": "양식다운로드",
792 149
 			"applySelct": "선택영역적용",
793 150
 			"processing": "처리",
794
-			"rawMateInfo": "원자재",
795 151
 			"printOut": "출력",
796 152
 			"applyOne": "일괄적용",
797 153
 			"transfer": "이동지시",
798
-			"closeProc": "공정마감처리",
799 154
 			"addItem": "품목추가",
800 155
 			"shipOrder": "출하지시",
801 156
 			"publish": "발행",
@@ -803,10 +158,7 @@ const ITP_MSG_LOCALE = (function() {
803 158
 			"transMate": "자재이동지시",
804 159
 			"viewItem": "품목정보보기",
805 160
 			"relay": "전송",
806
-			"releaseDetail": "출고내역",
807
-			"printLabels": "라벨출력",
808 161
 			"releaseProc": "출고처리",
809
-			"downQualityForm": "품질검사양식다운로드",
810 162
 			"uploadForm": "올리기",
811 163
 			"closePop": "닫기"
812 164
 		},

+ 424 - 0
src/main/webapp/js/app/oper/ITP_OPER01010.js

@@ -1,4 +1,5 @@
1 1
 
2
+<<<<<<< HEAD
2 3
 const STINFO01010_GRID_ID = '#ITP_STINFO01010_jqGrid';
3 4
 const STINFO01010_GRID_LIST = '#ITP_STINFO01010_jqGrid_list';
4 5
 const STINFO01010_GRID_PAGER = '#ITP_STINFO01010_jqGridPager';
@@ -16,6 +17,25 @@ const STINFO01010_DETAIL_GRID_EMPTY = '#ITP_STINFO01010_DETAIL_jqGridEmpty';
16 17
 
17 18
 let ITP_FORM_STINFO01010_DETAIL_IS_DUPLICATE = false;
18 19
 let ITP_FORM_STINFO01010_DETAIL_IS_WRITING = false;
20
+=======
21
+const OPER01010_GRID_ID = '#ITP_OPER01010_jqGrid';
22
+const OPER01010_GRID_LIST = '#ITP_OPER01010_jqGrid_list';
23
+const OPER01010_GRID_PAGER = '#ITP_OPER01010_jqGridPager';
24
+const OPER01010_GRID_EMPTY = '#ITP_OPER01010_jqGridEmpty';
25
+
26
+const OPER01010_VIEW_GRID_ID = '#ITP_OPER01010_VIEW_jqGrid';
27
+const OPER01010_VIEW_GRID_LIST = '#ITP_OPER01010_VIEW_jqGrid_list';
28
+const OPER01010_VIEW_GRID_PAGER = '#ITP_OPER01010_VIEW_jqGridPager';
29
+const OPER01010_VIEW_GRID_EMPTY = '#ITP_OPER01010_VIEW_jqGridEmpty';
30
+
31
+const OPER01010_DETAIL_GRID_ID = '#ITP_OPER01010_DETAIL_jqGrid';
32
+const OPER01010_DETAIL_GRID_LIST = '#ITP_OPER01010_DETAIL_jqGrid_list';
33
+const OPER01010_DETAIL_GRID_PAGER = '#ITP_OPER01010_DETAIL_jqGridPager';
34
+const OPER01010_DETAIL_GRID_EMPTY = '#ITP_OPER01010_DETAIL_jqGridEmpty';
35
+
36
+let ITP_FORM_OPER01010_DETAIL_IS_DUPLICATE = false;
37
+let ITP_FORM_OPER01010_DETAIL_IS_WRITING = false;
38
+>>>>>>> 1f5591176f85803c9f8126ffe3f4b6729e10f879
19 39
 
20 40
 let USER_DETAIL_GRID_LIST = '/api/user/detail-grid-list';
21 41
 let USER_USERAUTH_GRID_LIST = '/api/user/userauth-grid-list';
@@ -29,6 +49,7 @@ require(['config'], function() {
29 49
 		'jquery'
30 50
 	], function($) {
31 51
 		// 버튼 권한설정
52
+<<<<<<< HEAD
32 53
 		fn_proc_btn_auth('STINFO01010');
33 54
 		// 공통코드 표시
34 55
 		fn_make_select(CODE_LIST, 'USER_STAT_CD', 'ITP_FORM_STINFO01010_SEARCH_USER_STAT_CD');
@@ -82,12 +103,72 @@ require(['config'], function() {
82 103
 		
83 104
 		// 삭제 버튼
84 105
 		$('#ITP_BTN_STINFO01010_DELETE').on('click', function() {
106
+=======
107
+		fn_proc_btn_auth('OPER01010');
108
+		// 공통코드 표시
109
+		fn_make_select(CODE_LIST, 'USER_STAT_CD', 'ITP_FORM_OPER01010_SEARCH_USER_STAT_CD');
110
+		fn_make_select(CODE_LIST, 'USER_STAT_CD', 'ITP_FORM_OPER01010_DETAIL_USER_STAT_CD', true, '선택');
111
+		
112
+		// 조회일자 지정
113
+		var now = new Date();
114
+		$('#ITP_TAB_OPER01010 .input-group.date').datepicker(ITP_DATE_LANGUAGE);
115
+		// $('#ITP_FORM_OPER01010_SEARCH_FROM_DT').datepicker('setDate', new Date(now.setMonth(now.getMonth() - 1)));
116
+		// $('#ITP_FORM_OPER01010_SEARCH_TO_DT').datepicker('setDate', new Date());
117
+				
118
+		// 그리드				
119
+		itp_fn_jqgrid_resize(OPER01010_GRID_ID, OPER01010_GRID_LIST, 'lg');
120
+		itp_fn_OPER01010_grid.init();
121
+    	itp_fn_fire_window_resize();
122
+
123
+		// 조회    	
124
+    	itp_fn_OPER01010_search();
125
+    	
126
+		// 조회 버튼 클릭
127
+		$('#ITP_BTN_OPER01010_SRH').on('click', function() {
128
+			itp_OPER01010_search = true;
129
+			let param = $('#ITP_FORM_OPER01010_SEARCH').serializeObject();
130
+			param.gridSize = $.jgrid.defaults.rowNum;
131
+			param.gridPage = $.jgrid.defaults.page;
132
+			$(OPER01010_GRID_ID).setGridParam({'postData': JSON.stringify(param)}).trigger('reloadGrid');
133
+		});
134
+		
135
+		// 수정 버튼
136
+		$('#ITP_BTN_OPER01010_MODIFY').on('click', function() {
137
+			itp_fn_form_clear_validate(null, '#ITP_FORM_OPER01010_DETAIL');			
138
+			const userIdVal = $('#ITP_FORM_OPER01010_VIEW_USER_ID').val();
139
+			const key = {userId: userIdVal, viewCd: 'R'};
140
+			var param = $.param(key);
141
+			itp_fn_OPER01010_detail(param);	
142
+		});
143
+		
144
+		// 신규등록 버튼
145
+		$('#ITP_BTN_OPER01010_NEWREG').on('click', function() {
146
+			itp_fn_OPER01010_switch_screen('ADD');			
147
+			itp_fn_form_clear_validate(null, '#ITP_FORM_OPER01010_DETAIL');				
148
+			// 권한정보 리스트 조회
149
+			itp_fn_OPER01010_detail_grid.unload();
150
+			itp_fn_OPER01010_detail_grid.callBack();
151
+		});
152
+		
153
+		// 취소/목록 버튼
154
+		$('#ITP_BTN_OPER01010_CANCELLIST').on('click', function() {
155
+			itp_fn_OPER01010_search();
156
+    	});
157
+		
158
+		// 삭제 버튼
159
+		$('#ITP_BTN_OPER01010_DELETE').on('click', function() {
160
+>>>>>>> 1f5591176f85803c9f8126ffe3f4b6729e10f879
85 161
 			
86 162
 		});
87 163
 		
88 164
 		// 저장 버튼
165
+<<<<<<< HEAD
89 166
 		$('#ITP_BTN_STINFO01010_SAVE').on('click', function() {			
90 167
 			const formId = '#ITP_FORM_STINFO01010_DETAIL';
168
+=======
169
+		$('#ITP_BTN_OPER01010_SAVE').on('click', function() {			
170
+			const formId = '#ITP_FORM_OPER01010_DETAIL';
171
+>>>>>>> 1f5591176f85803c9f8126ffe3f4b6729e10f879
91 172
 			itp_fn_form_clear_validate(null, formId);			
92 173
 			var vali_userId = itp_fn_form_validate(formId, formId + '_USER_ID', ['empty'], undefined);
93 174
 			var vali_userStatCd = itp_fn_form_validate(formId, formId + '_USER_STAT_CD', ['empty'], undefined);
@@ -96,18 +177,30 @@ require(['config'], function() {
96 177
 			var vali_email = itp_fn_form_validate(formId, formId + '_EMAIL', ['empty'], undefined);
97 178
 			var vali_userPw = true;
98 179
 			var vali_userPwConfirm = true;
180
+<<<<<<< HEAD
99 181
 			if($('#ITP_FORM_STINFO01010_DETAIL_VIEW_CD').val() == 'C') { // 신규
182
+=======
183
+			if($('#ITP_FORM_OPER01010_DETAIL_VIEW_CD').val() == 'C') { // 신규
184
+>>>>>>> 1f5591176f85803c9f8126ffe3f4b6729e10f879
100 185
 				vali_userPw = itp_fn_form_validate(formId, formId + '_USER_PW', ['empty'], undefined);
101 186
 				vali_userPwConfirm = itp_fn_form_validate(formId, formId + '_USER_PW_CONFIRM', ['empty'], undefined);	
102 187
 			}
103 188
 			if (vali_userId && vali_userStatCd && vali_userNm && vali_userPw && vali_userPwConfirm && vali_telNo && vali_email) {
189
+<<<<<<< HEAD
104 190
 				if (ITP_FORM_STINFO01010_DETAIL_IS_DUPLICATE) {
191
+=======
192
+				if (ITP_FORM_OPER01010_DETAIL_IS_DUPLICATE) {
193
+>>>>>>> 1f5591176f85803c9f8126ffe3f4b6729e10f879
105 194
 					itp_fn_modal_duplicate(ITP_MSG_LOCALE.label.userId, formId + '_USER_ID');
106 195
 				} else {
107 196
 					let gridInsertData = [];
108 197
 					let gridUpdateData = [];
109 198
 					let gridDeleteData = [];
199
+<<<<<<< HEAD
110 200
 					const rowData = $(STINFO01010_DETAIL_GRID_ID).getRowData();
201
+=======
202
+					const rowData = $(OPER01010_DETAIL_GRID_ID).getRowData();
203
+>>>>>>> 1f5591176f85803c9f8126ffe3f4b6729e10f879
111 204
 					const keyValue = $(formId + '_USER_ID').val();
112 205
 					$.each(rowData, function(key, value) {
113 206
 						if (value.viewCd != 'R') {
@@ -127,8 +220,13 @@ require(['config'], function() {
127 220
 					param.gridDeleteData = gridDeleteData;
128 221
 					//console.log(JSON.stringify(param)); 						
129 222
 					var searhFn = function() {
223
+<<<<<<< HEAD
130 224
 						ITP_FORM_STINFO01010_DETAIL_IS_WRITING = false;
131 225
 						itp_fn_STINFO01010_search();
226
+=======
227
+						ITP_FORM_OPER01010_DETAIL_IS_WRITING = false;
228
+						itp_fn_OPER01010_search();
229
+>>>>>>> 1f5591176f85803c9f8126ffe3f4b6729e10f879
132 230
 					};
133 231
 					fn_ajax_call(USER_SAVE_USER, JSON.stringify(param), searhFn, 'POST');	
134 232
 				}
@@ -136,16 +234,27 @@ require(['config'], function() {
136 234
 		});		
137 235
 		
138 236
 		// 중복체크
237
+<<<<<<< HEAD
139 238
 		$('#ITP_FORM_STINFO01010_DETAIL_DUP').on('click', function() {
140 239
 			const formId = '#ITP_FORM_STINFO01010_DETAIL';
240
+=======
241
+		$('#ITP_FORM_OPER01010_DETAIL_DUP').on('click', function() {
242
+			const formId = '#ITP_FORM_OPER01010_DETAIL';
243
+>>>>>>> 1f5591176f85803c9f8126ffe3f4b6729e10f879
141 244
 			itp_fn_form_clear_validate(null, formId + '_DETAIL');
142 245
 			var vali_userId = itp_fn_form_validate(formId + '_DETAIL', formId + '_USER_ID', ['empty'], undefined);
143 246
 			if (vali_userId) {
144 247
 				var dupFn = function(result) {
145 248
 					if (result.code == 'N') {
249
+<<<<<<< HEAD
146 250
 						ITP_FORM_STINFO01010_DETAIL_IS_DUPLICATE = false;
147 251
 					} else {
148 252
 						ITP_FORM_STINFO01010_DETAIL_IS_DUPLICATE = true;
253
+=======
254
+						ITP_FORM_OPER01010_DETAIL_IS_DUPLICATE = false;
255
+					} else {
256
+						ITP_FORM_OPER01010_DETAIL_IS_DUPLICATE = true;
257
+>>>>>>> 1f5591176f85803c9f8126ffe3f4b6729e10f879
149 258
 					}
150 259
 				};
151 260
 				const key = {'userId':  $(formId + '_USER_ID').val()};
@@ -155,10 +264,17 @@ require(['config'], function() {
155 264
 		});
156 265
 		
157 266
 		// 상세:비밀번호 초기화
267
+<<<<<<< HEAD
158 268
 		$('#ITP_BTN_STINFO01010_RESET_PW').on('click', function() {
159 269
 			var resetPwFn = {
160 270
 				callBack: function(args) {
161 271
 					const key = {'userId':  $('#ITP_FORM_STINFO01010_DETAIL_USER_ID').val()};
272
+=======
273
+		$('#ITP_BTN_OPER01010_RESET_PW').on('click', function() {
274
+			var resetPwFn = {
275
+				callBack: function(args) {
276
+					const key = {'userId':  $('#ITP_FORM_OPER01010_DETAIL_USER_ID').val()};
277
+>>>>>>> 1f5591176f85803c9f8126ffe3f4b6729e10f879
162 278
 					const param = $.param(key);
163 279
 					fn_ajax_call(USER_INTI_USERPW, param, undefined, 'GET');					
164 280
 				}
@@ -166,12 +282,20 @@ require(['config'], function() {
166 282
 			itp_fn_modal_confirm(ITP_MSG_LOCALE.message.ajax.askResetUserPw, resetPwFn, null);		
167 283
 		});
168 284
 		// 상세:추가버튼
285
+<<<<<<< HEAD
169 286
 		$('#ITP_BTN_STINFO01010_DETAIL_ADDROW').on('click', function() {
287
+=======
288
+		$('#ITP_BTN_OPER01010_DETAIL_ADDROW').on('click', function() {
289
+>>>>>>> 1f5591176f85803c9f8126ffe3f4b6729e10f879
170 290
 			// 팝업
171 291
 			var popFn = function(rowDataPop) {
172 292
 				// 기존등록 데이터 
173 293
 				var exists = '';				
294
+<<<<<<< HEAD
174 295
 				const rowData = $(STINFO01010_DETAIL_GRID_ID).getRowData();
296
+=======
297
+				const rowData = $(OPER01010_DETAIL_GRID_ID).getRowData();
298
+>>>>>>> 1f5591176f85803c9f8126ffe3f4b6729e10f879
175 299
 				$.each(rowData, function(key, value) {
176 300
 					exists = exists + value.authNo + ';';
177 301
 				});
@@ -179,6 +303,7 @@ require(['config'], function() {
179 303
 				$.each(rowDataPop, function(key, value) {
180 304
 					if(exists.indexOf(value.authNo) < 0) {
181 305
 						// 행추가
306
+<<<<<<< HEAD
182 307
 						$(STINFO01010_DETAIL_GRID_ID).jqGrid('addRow', {position: 'last'});
183 308
 						var rids = $(STINFO01010_DETAIL_GRID_ID).jqGrid('getDataIDs');
184 309
 						var last_row_id = rids[rids.length - 1];
@@ -188,10 +313,22 @@ require(['config'], function() {
188 313
 					}
189 314
 				});
190 315
 				$(STINFO01010_DETAIL_GRID_EMPTY).hide();
316
+=======
317
+						$(OPER01010_DETAIL_GRID_ID).jqGrid('addRow', {position: 'last'});
318
+						var rids = $(OPER01010_DETAIL_GRID_ID).jqGrid('getDataIDs');
319
+						var last_row_id = rids[rids.length - 1];
320
+						$(OPER01010_DETAIL_GRID_ID).jqGrid('setCell', last_row_id, 'viewCd', 'C');
321
+						$(OPER01010_DETAIL_GRID_ID).jqGrid('setCell', last_row_id, 'authNo', value.authNo);
322
+						$(OPER01010_DETAIL_GRID_ID).jqGrid('setCell', last_row_id, 'authNm', value.authNm);	
323
+					}
324
+				});
325
+				$(OPER01010_DETAIL_GRID_EMPTY).hide();
326
+>>>>>>> 1f5591176f85803c9f8126ffe3f4b6729e10f879
191 327
 			};
192 328
 			fn_call_popup('comm', 'AUTH_SCH_POPUP', '#ITP_ASIDE', popFn, null, 'S');
193 329
 		});
194 330
 		// 상세:삭제버튼
331
+<<<<<<< HEAD
195 332
 		$('#ITP_BTN_STINFO01010_DETAIL_DELROW').on('click', function() {
196 333
 			itp_fn_grid_del_row(STINFO01010_DETAIL_GRID_ID);
197 334
 		});
@@ -201,10 +338,22 @@ require(['config'], function() {
201 338
 			var rids = $(STINFO01010_DETAIL_GRID_ID).jqGrid('getDataIDs');
202 339
 			var last_row_id = rids[rids.length - 1];			
203 340
 			itp_fn_grid_reset_selection(e, last_row_id, gridId, 'STINFO01010_DETAIL');
341
+=======
342
+		$('#ITP_BTN_OPER01010_DETAIL_DELROW').on('click', function() {
343
+			itp_fn_grid_del_row(OPER01010_DETAIL_GRID_ID);
344
+		});
345
+		
346
+		$('body').on('click', function(e) {
347
+			var gridId = OPER01010_DETAIL_GRID_ID.replace('#', '');
348
+			var rids = $(OPER01010_DETAIL_GRID_ID).jqGrid('getDataIDs');
349
+			var last_row_id = rids[rids.length - 1];			
350
+			itp_fn_grid_reset_selection(e, last_row_id, gridId, 'OPER01010_DETAIL');
351
+>>>>>>> 1f5591176f85803c9f8126ffe3f4b6729e10f879
204 352
 		});
205 353
 	});
206 354
 });
207 355
 
356
+<<<<<<< HEAD
208 357
 var itp_fn_STINFO01010_switch_screen = function(mode) {
209 358
 	if(mode == 'LIST') { // 목록
210 359
 		$('#ITP_BTN_STINFO01010_MODIFY').hide();
@@ -284,6 +433,87 @@ var itp_fn_STINFO01010_grid = {
284 433
 		let param = $('#ITP_FORM_STINFO01010_SEARCH').serializeObject();
285 434
 		param.gridSize = $.jgrid.defaults.rowNum;	
286 435
 		$(STINFO01010_GRID_ID).jqGrid({
436
+=======
437
+var itp_fn_OPER01010_switch_screen = function(mode) {
438
+	if(mode == 'LIST') { // 목록
439
+		$('#ITP_BTN_OPER01010_MODIFY').hide();
440
+		$('#ITP_BTN_OPER01010_CANCELLIST').hide();
441
+		$('#ITP_BTN_OPER01010_DELETE').hide();
442
+		$('#ITP_BTN_OPER01010_SAVE').hide();
443
+		fn_show_btn_auth('#ITP_BTN_OPER01010_SRH');
444
+		fn_show_btn_auth('#ITP_BTN_OPER01010_NEWREG');
445
+		
446
+		$('#ITP_AJAX_OPER01010_LIST_CONTAINER').show();
447
+		$('#ITP_AJAX_OPER01010_DETAIL_CONTAINER').hide();		
448
+		$('#ITP_AJAX_OPER01010_VIEW_CONTAINER').hide();
449
+	} else if(mode == 'ADD') { // 등록
450
+		ITP_FORM_OPER01010_DETAIL_IS_DUPLICATE = true;
451
+	
452
+		$('#ITP_BTN_OPER01010_SRH').hide();
453
+		$('#ITP_BTN_OPER01010_MODIFY').hide();
454
+		$('#ITP_BTN_OPER01010_NEWREG').hide();
455
+		$('#ITP_BTN_OPER01010_DELETE').hide();
456
+		$('#ITP_BTN_OPER01010_RESET_PW').hide();
457
+		fn_show_btn_auth('#ITP_BTN_OPER01010_CANCELLIST');
458
+		fn_show_btn_auth('#ITP_BTN_OPER01010_SAVE');
459
+		
460
+		$('#ITP_AJAX_OPER01010_LIST_CONTAINER').hide();
461
+		$('#ITP_AJAX_OPER01010_DETAIL_CONTAINER').show();
462
+		$('#ITP_AJAX_OPER01010_VIEW_CONTAINER').hide();		
463
+		$('#ITP_FORM_OPER01010_DETAIL_USER_ID').removeAttr('readonly');
464
+		$('#ITP_FORM_OPER01010_DETAIL_DUP').removeAttr('disabled');
465
+		
466
+		$('#ITP_FORM_OPER01010_DETAIL_VIEW_CD').val('C');
467
+		$('#ITP_FORM_OPER01010_DETAIL_USER_NM').val('');
468
+		$('#ITP_FORM_OPER01010_DETAIL_USER_STAT_CD').val('');
469
+		$('#ITP_FORM_OPER01010_DETAIL_USER_ID').val('');
470
+		$('#ITP_FORM_OPER01010_DETAIL_USER_PW').val('');
471
+		$('#ITP_FORM_OPER01010_DETAIL_TEL_NO').val('');
472
+		$('#ITP_FORM_OPER01010_DETAIL_USER_PW_CONFIRM').val('');
473
+		$('#ITP_FORM_OPER01010_DETAIL_EMAIL').val('');
474
+	} else if(mode == 'MODIFY') { // 수정
475
+		$('#ITP_BTN_OPER01010_SRH').hide();
476
+		$('#ITP_BTN_OPER01010_MODIFY').hide();
477
+		$('#ITP_BTN_OPER01010_NEWREG').hide();		
478
+		$('#ITP_BTN_OPER01010_DELETE').hide();
479
+		fn_show_btn_auth('#ITP_BTN_OPER01010_CANCELLIST');
480
+		fn_show_btn_auth('#ITP_BTN_OPER01010_SAVE');
481
+		fn_show_btn_auth('#ITP_BTN_OPER01010_RESET_PW');	
482
+		
483
+		$('#ITP_AJAX_OPER01010_LIST_CONTAINER').hide();
484
+		$('#ITP_AJAX_OPER01010_DETAIL_CONTAINER').show();
485
+		$('#ITP_AJAX_OPER01010_VIEW_CONTAINER').hide();
486
+		$('#ITP_FORM_OPER01010_DETAIL_USER_ID').attr('readonly', true);
487
+		$('#ITP_FORM_OPER01010_DETAIL_DUP').attr('disabled', true);
488
+	} else if(mode == 'VIEW') { // 보기
489
+		$('#ITP_BTN_OPER01010_SRH').hide();
490
+		$('#ITP_BTN_OPER01010_NEWREG').hide();		
491
+		$('#ITP_BTN_OPER01010_DELETE').hide();
492
+		$('#ITP_BTN_OPER01010_SAVE').hide();
493
+		fn_show_btn_auth('#ITP_BTN_OPER01010_MODIFY');
494
+		fn_show_btn_auth('#ITP_BTN_OPER01010_CANCELLIST');
495
+		
496
+		$('#ITP_AJAX_OPER01010_LIST_CONTAINER').hide();
497
+		$('#ITP_AJAX_OPER01010_DETAIL_CONTAINER').hide();
498
+		$('#ITP_AJAX_OPER01010_VIEW_CONTAINER').show();
499
+	}	
500
+};
501
+
502
+var itp_fn_OPER01010_grid = {
503
+	init: function() {
504
+		// 데이터 없을때
505
+		itp_fn_OPER01010_empty.push();
506
+		$(OPER01010_GRID_EMPTY).on('click', function() {
507
+			itp_fn_OPER01010_empty.back();
508
+			itp_OPER01010_param.gridSize = $.jgrid.defaults.rowNum;
509
+			$(OPER01010_GRID_ID).setGridParam({'postData': JSON.stringify(itp_OPER01010_param)}).trigger('reloadGrid');
510
+		});	
511
+	},
512
+	callBack: function() {
513
+		let param = $('#ITP_FORM_OPER01010_SEARCH').serializeObject();
514
+		param.gridSize = $.jgrid.defaults.rowNum;	
515
+		$(OPER01010_GRID_ID).jqGrid({
516
+>>>>>>> 1f5591176f85803c9f8126ffe3f4b6729e10f879
287 517
 			colModel: [
288 518
 				{
289 519
 					index: 'USER_ID', name: 'userId',
@@ -339,7 +569,11 @@ var itp_fn_STINFO01010_grid = {
339 569
 			},
340 570
 			postData: JSON.stringify(param),
341 571
 			url: DOMAIN + USER_DETAIL_GRID_LIST,
572
+<<<<<<< HEAD
342 573
 			pager: STINFO01010_GRID_PAGER,
574
+=======
575
+			pager: OPER01010_GRID_PAGER,
576
+>>>>>>> 1f5591176f85803c9f8126ffe3f4b6729e10f879
343 577
 			multiselect: false,
344 578
 			rownumbers: true, 
345 579
 			onCellSelect: function(rowId, cellIdx, cellValue) {
@@ -349,21 +583,33 @@ var itp_fn_STINFO01010_grid = {
349 583
 					const userIdVal = $(this).jqGrid('getCell', rowId, 'userId');
350 584
 					const key = {userId: userIdVal, viewCd: 'R'};
351 585
 					var param = $.param(key);
586
+<<<<<<< HEAD
352 587
 					itp_fn_STINFO01010_view(param);
588
+=======
589
+					itp_fn_OPER01010_view(param);
590
+>>>>>>> 1f5591176f85803c9f8126ffe3f4b6729e10f879
353 591
 				}
354 592
 		   	},
355 593
 			loadComplete: function(data) {
356 594
 				//console.log(JSON.stringify(data));
595
+<<<<<<< HEAD
357 596
 				itp_fn_grid_load_complete(data, STINFO01010_GRID_ID, true, 'number', 'STINFO01010', itp_STINFO01010_search, itp_fn_STINFO01010_empty, true, data.gridRecords, true);
358 597
 				var ids = $(STINFO01010_GRID_ID).getDataIDs();
359 598
 				$.each(ids, function(idx, rowId) {
360 599
 					$(STINFO01010_GRID_ID).jqGrid('setCell', rowId, 'userNm', '', ITP_GRID_COL_STYLE.link);
600
+=======
601
+				itp_fn_grid_load_complete(data, OPER01010_GRID_ID, true, 'number', 'OPER01010', itp_OPER01010_search, itp_fn_OPER01010_empty, true, data.gridRecords, true);
602
+				var ids = $(OPER01010_GRID_ID).getDataIDs();
603
+				$.each(ids, function(idx, rowId) {
604
+					$(OPER01010_GRID_ID).jqGrid('setCell', rowId, 'userNm', '', ITP_GRID_COL_STYLE.link);
605
+>>>>>>> 1f5591176f85803c9f8126ffe3f4b6729e10f879
361 606
 				});	
362 607
 		    },
363 608
 		    loadError: function(jqXHR, textStatus, errorThrown) {
364 609
 		    	itp_fn_grid_load_error(jqXHR, textStatus, errorThrown);
365 610
 		    },
366 611
 		    onPaging: function(action) {
612
+<<<<<<< HEAD
367 613
 		    	itp_fn_grid_paging(STINFO01010_GRID_ID, action, param);
368 614
 		    }
369 615
 		}).navGrid(STINFO01010_GRID_PAGER, ITP_GRID_NAV_DEFAULTS.navGrid);
@@ -436,6 +682,79 @@ var itp_fn_STINFO01010_view_grid = {
436 682
 		param.pagingYn = false; // 페이징안함
437 683
 		
438 684
 		$(STINFO01010_VIEW_GRID_ID).jqGrid({
685
+=======
686
+		    	itp_fn_grid_paging(OPER01010_GRID_ID, action, param);
687
+		    }
688
+		}).navGrid(OPER01010_GRID_PAGER, ITP_GRID_NAV_DEFAULTS.navGrid);
689
+	},
690
+	clearData : function() {
691
+		$(OPER01010_GRID_ID).jqGrid('clearGridData', true);
692
+		$(OPER01010_GRID_LIST).find('.ui-jqgrid-bdiv').css('min-height', '100px');
693
+		$(OPER01010_GRID_EMPTY).html(ITP_MSG_LOCALE.message.grid.noData);
694
+		$(OPER01010_GRID_EMPTY).show();
695
+	}, 
696
+	unload : function() {
697
+		$.jgrid.gridUnload(OPER01010_GRID_ID); 
698
+	}
699
+};
700
+
701
+var itp_fn_OPER01010_search = function() {
702
+	itp_fn_OPER01010_switch_screen('LIST');	
703
+	itp_fn_OPER01010_grid.unload();
704
+	itp_fn_OPER01010_grid.callBack();
705
+};
706
+
707
+let itp_OPER01010_param = {};
708
+let itp_OPER01010_search = false;
709
+var itp_fn_OPER01010_empty = {
710
+	push: function() {
711
+		let param = $('#ITP_FORM_OPER01010_SEARCH').serializeObject();
712
+		itp_OPER01010_param = param;
713
+	},
714
+	back: function() {
715
+		$('#ITP_FORM_OPER01010_DEVI_TP_CD').val(itp_OPER01010_param.deviTpCd);
716
+		$('#ITP_FORM_OPER01010_ORDER_YN').val(itp_OPER01010_param.orderYn);
717
+		$('#ITP_FORM_OPER01010_ADT_AUTH_CD').val(itp_OPER01010_param.adtAuthCd);
718
+		$('#ITP_FORM_OPER01010_EMAIL_RCV_YN').val(itp_OPER01010_param.emailRcvYn);
719
+		$('#ITP_FORM_OPER01010_MEMB_EXIT_DT').val(itp_OPER01010_param.membExitDt);
720
+		$('#ITP_FORM_OPER01010_FROM_DT').val(itp_OPER01010_param.fromDt);
721
+		$('#ITP_FORM_OPER01010_TO_DT').val(itp_OPER01010_param.toDt);
722
+		$('#ITP_FORM_OPER01010_KEYWORD').val(itp_OPER01010_param.keyword);
723
+	}
724
+};
725
+
726
+var itp_fn_OPER01010_view = function(param) {
727
+	fn_ajax_call(USER_INFO_USER, param, itp_fn_OPER01010_view_callback, 'GET');
728
+};
729
+
730
+var itp_fn_OPER01010_view_callback = function(result) {
731
+	// console.log(result);
732
+	itp_fn_OPER01010_switch_screen('VIEW');
733
+	$('#ITP_FORM_OPER01010_VIEW #ITP_FORM_OPER01010_VIEW_USER_ID').val(result.userId);
734
+	$('#ITP_FORM_OPER01010_VIEW .fnUserNm').text(result.userNm);
735
+	$('#ITP_FORM_OPER01010_VIEW .fnUserStatDt').text(result.userStatDt);
736
+	$('#ITP_FORM_OPER01010_VIEW .fnUserStatNm').text(result.userStatNm);
737
+	$('#ITP_FORM_OPER01010_VIEW .fnUserId').text(result.userId);
738
+	$('#ITP_FORM_OPER01010_VIEW .fnEmail').text(result.email);
739
+	$('#ITP_FORM_OPER01010_VIEW .fnTelNo').text(result.telNo);
740
+	$('#ITP_FORM_OPER01010_VIEW .fnAddDt').text(result.addDt);
741
+	$('#ITP_FORM_OPER01010_VIEW .fnLastLoginDt').text(result.lastLoginDt);
742
+	
743
+	// 권한정보 리스트 조회
744
+	itp_fn_OPER01010_view_grid.unload();
745
+	itp_fn_OPER01010_view_grid.callBack();
746
+};
747
+
748
+var itp_fn_OPER01010_view_grid = {
749
+	init: function() {
750
+	},
751
+	callBack: function() {
752
+		let param = $('#ITP_FORM_OPER01010_VIEW').serializeObject();
753
+		param.gridSize = $.jgrid.defaults.rowNum; 
754
+		param.pagingYn = false; // 페이징안함
755
+		
756
+		$(OPER01010_VIEW_GRID_ID).jqGrid({
757
+>>>>>>> 1f5591176f85803c9f8126ffe3f4b6729e10f879
439 758
 			colModel: [
440 759
 				{
441 760
 					index: 'VIEW_CD', name: 'viewCd',
@@ -475,10 +794,17 @@ var itp_fn_STINFO01010_view_grid = {
475 794
 			},
476 795
 			postData: JSON.stringify(param),
477 796
 			url: DOMAIN + USER_USERAUTH_GRID_LIST,
797
+<<<<<<< HEAD
478 798
 			pager: STINFO01010_VIEW_GRID_PAGER,
479 799
 			multiselect: false,
480 800
 			loadComplete: function(data) {				
481 801
 				itp_fn_grid_load_complete(data, STINFO01010_VIEW_GRID_ID, true, undefined, 'STINFO01010_VIEW');
802
+=======
803
+			pager: OPER01010_VIEW_GRID_PAGER,
804
+			multiselect: false,
805
+			loadComplete: function(data) {				
806
+				itp_fn_grid_load_complete(data, OPER01010_VIEW_GRID_ID, true, undefined, 'OPER01010_VIEW');
807
+>>>>>>> 1f5591176f85803c9f8126ffe3f4b6729e10f879
482 808
 		    },
483 809
 		    loadError: function(jqXHR, textStatus, errorThrown) {
484 810
 		    	itp_fn_grid_load_error(jqXHR, textStatus, errorThrown);
@@ -489,11 +815,19 @@ var itp_fn_STINFO01010_view_grid = {
489 815
 	    				$(args).trigger('reloadGrid');
490 816
 	    			}
491 817
 	    		};
818
+<<<<<<< HEAD
492 819
 		    	if (itp_fn_check_grid_is_writing(STINFO01010_VIEW_GRID_ID)) {
493 820
 		    		itp_fn_modal_confirm(ITP_MSG_LOCALE.message.ajax.cancelData, pagingFn, STINFO01010_VIEW_GRID_ID);
494 821
 		    		return 'stop';
495 822
 		    	} else {
496 823
 		    		itp_fn_grid_paging(STINFO01010_VIEW_GRID_ID, action, param);
824
+=======
825
+		    	if (itp_fn_check_grid_is_writing(OPER01010_VIEW_GRID_ID)) {
826
+		    		itp_fn_modal_confirm(ITP_MSG_LOCALE.message.ajax.cancelData, pagingFn, OPER01010_VIEW_GRID_ID);
827
+		    		return 'stop';
828
+		    	} else {
829
+		    		itp_fn_grid_paging(OPER01010_VIEW_GRID_ID, action, param);
830
+>>>>>>> 1f5591176f85803c9f8126ffe3f4b6729e10f879
497 831
 		    	}
498 832
 		    },
499 833
 		    onSortCol: function(index, columnIndex, sortOrder) {
@@ -502,6 +836,7 @@ var itp_fn_STINFO01010_view_grid = {
502 836
 	    				$(args).trigger('reloadGrid');
503 837
 	    			}
504 838
 	    		};
839
+<<<<<<< HEAD
505 840
 		    	if (itp_fn_check_grid_is_writing(STINFO01010_VIEW_GRID_ID)) {
506 841
 		    		itp_fn_modal_confirm(ITP_MSG_LOCALE.message.ajax.cancelData, sortingFn, STINFO01010_VIEW_GRID_ID);
507 842
 		    		return 'stop';
@@ -555,6 +890,61 @@ var itp_fn_STINFO01010_detail_grid = {
555 890
 		param.pagingYn = false; // 페이지안함 
556 891
 		
557 892
 		$(STINFO01010_DETAIL_GRID_ID).jqGrid({
893
+=======
894
+		    	if (itp_fn_check_grid_is_writing(OPER01010_VIEW_GRID_ID)) {
895
+		    		itp_fn_modal_confirm(ITP_MSG_LOCALE.message.ajax.cancelData, sortingFn, OPER01010_VIEW_GRID_ID);
896
+		    		return 'stop';
897
+		    	} else {
898
+		    		itp_fn_grid_sorting(OPER01010_VIEW_GRID_ID, index, sortOrder);
899
+		    	}
900
+		    }
901
+		}).navGrid(OPER01010_VIEW_GRID_PAGER, ITP_GRID_NAV_DEFAULTS.navGrid);
902
+	},
903
+	clearData : function() {
904
+		$(OPER01010_VIEW_GRID_ID).jqGrid('clearGridData', true);
905
+		$(OPER01010_VIEW_GRID_LIST).find('.ui-jqgrid-bdiv').css('min-height', '100px');
906
+		$(OPER01010_VIEW_GRID_EMPTY).html(ITP_MSG_LOCALE.message.grid.noData);
907
+		$(OPER01010_VIEW_GRID_EMPTY).show();
908
+	}, 
909
+	unload : function() {
910
+		$.jgrid.gridUnload(OPER01010_VIEW_GRID_ID); 
911
+	}
912
+};
913
+
914
+var itp_fn_OPER01010_detail = function(param) {
915
+	fn_ajax_call(USER_INFO_USER, param, itp_fn_OPER01010_detail_callback, 'GET');
916
+};
917
+
918
+var itp_fn_OPER01010_detail_callback = function(result) {
919
+	// console.log(result);
920
+	itp_fn_OPER01010_switch_screen('MODIFY');
921
+	$('#ITP_FORM_OPER01010_DETAIL #ITP_FORM_OPER01010_DETAIL_VIEW_CD').val('U');
922
+	$('#ITP_FORM_OPER01010_DETAIL #ITP_FORM_OPER01010_DETAIL_USER_NM').val(result.userNm);
923
+	$('#ITP_FORM_OPER01010_DETAIL #ITP_FORM_OPER01010_DETAIL_USER_STAT_CD').val(result.userStatCd);
924
+	$('#ITP_FORM_OPER01010_DETAIL #ITP_FORM_OPER01010_DETAIL_USER_ID').val(result.userId);
925
+	$('#ITP_FORM_OPER01010_DETAIL .fnUserStatDt').text(result.userStatDt);
926
+	$('#ITP_FORM_OPER01010_DETAIL #ITP_FORM_OPER01010_DETAIL_USER_PW').val(result.userPw);
927
+	$('#ITP_FORM_OPER01010_DETAIL #ITP_FORM_OPER01010_DETAIL_USER_PW_CONFIRM').val(result.userPw);
928
+	$('#ITP_FORM_OPER01010_DETAIL #ITP_FORM_OPER01010_DETAIL_TEL_NO').val(result.telNo);
929
+	$('#ITP_FORM_OPER01010_DETAIL #ITP_FORM_OPER01010_DETAIL_EMAIL').val(result.email);
930
+	$('#ITP_FORM_OPER01010_DETAIL .fnAddDt').text(result.addDt);
931
+	$('#ITP_FORM_OPER01010_DETAIL .fnLastLoginDt').text(result.lastLoginDt);
932
+	
933
+	// 권한정보 리스트 조회
934
+	itp_fn_OPER01010_detail_grid.unload();
935
+	itp_fn_OPER01010_detail_grid.callBack();
936
+};
937
+
938
+var itp_fn_OPER01010_detail_grid = {
939
+	init: function() {
940
+	},
941
+	callBack: function() {
942
+		let param = $('#ITP_FORM_OPER01010_DETAIL').serializeObject();
943
+		param.gridSize = $.jgrid.defaults.rowNum; 
944
+		param.pagingYn = false; // 페이지안함 
945
+		
946
+		$(OPER01010_DETAIL_GRID_ID).jqGrid({
947
+>>>>>>> 1f5591176f85803c9f8126ffe3f4b6729e10f879
558 948
 			colModel: [
559 949
 				{
560 950
 					index: 'VIEW_CD', name: 'viewCd',
@@ -594,9 +984,15 @@ var itp_fn_STINFO01010_detail_grid = {
594 984
 			},
595 985
 			postData: JSON.stringify(param),
596 986
 			url: DOMAIN + USER_USERAUTH_GRID_LIST,
987
+<<<<<<< HEAD
597 988
 			pager: STINFO01010_DETAIL_GRID_PAGER,
598 989
 			loadComplete: function(data) {				
599 990
 				itp_fn_grid_load_complete(data, STINFO01010_DETAIL_GRID_ID, true, undefined, 'STINFO01010_DETAIL');
991
+=======
992
+			pager: OPER01010_DETAIL_GRID_PAGER,
993
+			loadComplete: function(data) {				
994
+				itp_fn_grid_load_complete(data, OPER01010_DETAIL_GRID_ID, true, undefined, 'OPER01010_DETAIL');
995
+>>>>>>> 1f5591176f85803c9f8126ffe3f4b6729e10f879
600 996
 		    },
601 997
 		    loadError: function(jqXHR, textStatus, errorThrown) {
602 998
 		    	itp_fn_grid_load_error(jqXHR, textStatus, errorThrown);
@@ -607,11 +1003,19 @@ var itp_fn_STINFO01010_detail_grid = {
607 1003
 	    				$(args).trigger('reloadGrid');
608 1004
 	    			}
609 1005
 	    		};
1006
+<<<<<<< HEAD
610 1007
 		    	if (itp_fn_check_grid_is_writing(STINFO01010_DETAIL_GRID_ID)) {
611 1008
 		    		itp_fn_modal_confirm(ITP_MSG_LOCALE.message.ajax.cancelData, pagingFn, STINFO01010_DETAIL_GRID_ID);
612 1009
 		    		return 'stop';
613 1010
 		    	} else {
614 1011
 		    		itp_fn_grid_paging(STINFO01010_DETAIL_GRID_ID, action, param);
1012
+=======
1013
+		    	if (itp_fn_check_grid_is_writing(OPER01010_DETAIL_GRID_ID)) {
1014
+		    		itp_fn_modal_confirm(ITP_MSG_LOCALE.message.ajax.cancelData, pagingFn, OPER01010_DETAIL_GRID_ID);
1015
+		    		return 'stop';
1016
+		    	} else {
1017
+		    		itp_fn_grid_paging(OPER01010_DETAIL_GRID_ID, action, param);
1018
+>>>>>>> 1f5591176f85803c9f8126ffe3f4b6729e10f879
615 1019
 		    	}
616 1020
 		    },
617 1021
 		    onSortCol: function(index, columnIndex, sortOrder) {
@@ -620,6 +1024,7 @@ var itp_fn_STINFO01010_detail_grid = {
620 1024
 	    				$(args).trigger('reloadGrid');
621 1025
 	    			}
622 1026
 	    		};
1027
+<<<<<<< HEAD
623 1028
 		    	if (itp_fn_check_grid_is_writing(STINFO01010_DETAIL_GRID_ID)) {
624 1029
 		    		itp_fn_modal_confirm(ITP_MSG_LOCALE.message.ajax.cancelData, sortingFn, STINFO01010_DETAIL_GRID_ID);
625 1030
 		    		return 'stop';
@@ -637,5 +1042,24 @@ var itp_fn_STINFO01010_detail_grid = {
637 1042
 	}, 
638 1043
 	unload : function() {
639 1044
 		$.jgrid.gridUnload(STINFO01010_DETAIL_GRID_ID); 
1045
+=======
1046
+		    	if (itp_fn_check_grid_is_writing(OPER01010_DETAIL_GRID_ID)) {
1047
+		    		itp_fn_modal_confirm(ITP_MSG_LOCALE.message.ajax.cancelData, sortingFn, OPER01010_DETAIL_GRID_ID);
1048
+		    		return 'stop';
1049
+		    	} else {
1050
+		    		itp_fn_grid_sorting(OPER01010_DETAIL_GRID_ID, index, sortOrder);
1051
+		    	}
1052
+		    }
1053
+		}).navGrid(OPER01010_DETAIL_GRID_PAGER, ITP_GRID_NAV_DEFAULTS.navGrid);
1054
+	},
1055
+	clearData : function() {
1056
+		$(OPER01010_DETAIL_GRID_ID).jqGrid('clearGridData', true);
1057
+		$(OPER01010_DETAIL_GRID_LIST).find('.ui-jqgrid-bdiv').css('min-height', '100px');
1058
+		$(OPER01010_DETAIL_GRID_EMPTY).html(ITP_MSG_LOCALE.message.grid.noData);
1059
+		$(OPER01010_DETAIL_GRID_EMPTY).show();
1060
+	}, 
1061
+	unload : function() {
1062
+		$.jgrid.gridUnload(OPER01010_DETAIL_GRID_ID); 
1063
+>>>>>>> 1f5591176f85803c9f8126ffe3f4b6729e10f879
640 1064
 	}
641 1065
 };

+ 597 - 0
src/main/webapp/js/app/oper/ITP_OPER02010.js

@@ -0,0 +1,597 @@
1
+
2
+const OPER02010_GRID_ID = '#ITP_OPER02010_jqGrid';
3
+const OPER02010_GRID_LIST = '#ITP_OPER02010_jqGrid_list';
4
+const OPER02010_GRID_PAGER = '#ITP_OPER02010_jqGridPager';
5
+const OPER02010_GRID_EMPTY = '#ITP_OPER02010_jqGridEmpty';
6
+
7
+const OPER02010_VIEW_GRID_ID = '#ITP_OPER02010_VIEW_jqGrid';
8
+const OPER02010_VIEW_GRID_LIST = '#ITP_OPER02010_VIEW_jqGrid_list';
9
+const OPER02010_VIEW_GRID_PAGER = '#ITP_OPER02010_VIEW_jqGridPager';
10
+const OPER02010_VIEW_GRID_EMPTY = '#ITP_OPER02010_VIEW_jqGridEmpty';
11
+
12
+const OPER02010_DETAIL_GRID_ID = '#ITP_OPER02010_DETAIL_jqGrid';
13
+const OPER02010_DETAIL_GRID_LIST = '#ITP_OPER02010_DETAIL_jqGrid_list';
14
+const OPER02010_DETAIL_GRID_PAGER = '#ITP_OPER02010_DETAIL_jqGridPager';
15
+const OPER02010_DETAIL_GRID_EMPTY = '#ITP_OPER02010_DETAIL_jqGridEmpty';
16
+
17
+let ITP_FORM_OPER02010_DETAIL_IS_WRITING = false;
18
+
19
+let NTICE_SAVE_NTICE = '/api/ntice/save-ntice';
20
+let NTICE_DETAIL_GRID_LIST = '/api/ntice/detail-grid-list';
21
+let NTICE_INFO_NTICE = '/api/ntice/info-ntice';
22
+let NTICE_TARGET_GRID_LIST = '/api/ntice/target-grid-list';
23
+
24
+require(['config'], function() {
25
+	require([
26
+		'jquery',
27
+		'jquery.bootstrap.fileUpload' //파일 업로드가 있는 페이지에서 로딩
28
+	], function($) {
29
+		// 버튼 권한설정
30
+		fn_proc_btn_auth('OPER02010');
31
+		// 공통코드 표시
32
+		fn_make_select(CODE_LIST, 'TARGET_CD', 'ITP_FORM_OPER02010_DETAIL_TARGET_CD', true, '선택');
33
+
34
+		// 조회일자 지정
35
+		var now = new Date();
36
+		$('#ITP_TAB_OPER02010 .input-group.date').datepicker(ITP_DATE_LANGUAGE);
37
+		$('#ITP_FORM_OPER02010_SEARCH_FROM_DT').datepicker('setDate', new Date(now.setMonth(now.getMonth() - 1)));
38
+		$('#ITP_FORM_OPER02010_SEARCH_TO_DT').datepicker('setDate', new Date());
39
+
40
+		// 그리드
41
+		itp_fn_jqgrid_resize(OPER02010_GRID_ID, OPER02010_GRID_LIST, 'lg');
42
+		itp_fn_OPER02010_grid.init();
43
+    	itp_fn_fire_window_resize();
44
+
45
+		// 조회
46
+    	itp_fn_OPER02010_search();
47
+
48
+		// 조회 버튼 클릭
49
+		$('#ITP_BTN_OPER02010_SRH').on('click', function() {
50
+			itp_OPER02010_search = true;
51
+			let param = $('#ITP_FORM_OPER02010_SEARCH').serializeObject();
52
+			param.gridSize = $.jgrid.defaults.rowNum;
53
+			param.gridPage = $.jgrid.defaults.page;
54
+			$(OPER02010_GRID_ID).setGridParam({'postData': JSON.stringify(param)}).trigger('reloadGrid');
55
+		});
56
+
57
+		// 수정 버튼
58
+		$('#ITP_BTN_OPER02010_MODIFY').on('click', function() {
59
+			itp_fn_form_clear_validate(null, '#ITP_FORM_OPER02010_DETAIL');
60
+			const nticeNoVal = $('#ITP_FORM_OPER02010_VIEW_USER_ID').val();
61
+			const key = {nticeNo: nticeNoVal, viewCd: 'R'};
62
+			var param = $.param(key);
63
+			itp_fn_OPER02010_detail(param);
64
+		});
65
+
66
+		// 신규등록 버튼
67
+		$('#ITP_BTN_OPER02010_NEWREG').on('click', function() {
68
+			itp_fn_OPER02010_switch_screen('ADD');
69
+			itp_fn_form_clear_validate(null, '#ITP_FORM_OPER02010_DETAIL');
70
+
71
+			//파일업로드(등록화면)
72
+			$('#ITP_FORM_OPER02010_DETAIL_FILE_NO').val('');
73
+			$('#ITP_OPER02010_DETAIL_UPLOAD').empty();
74
+			const fileArgs = {
75
+				'fileNo': $('#ITP_FORM_OPER02010_DETAIL_FILE_NO').val(),
76
+				'viewCd': $('#ITP_FORM_OPER02010_DETAIL_VIEW_CD').val(),
77
+				'showYn': $('#ITP_OPER02010_DETAIL_UPLOAD').attr('data-show-yn'),
78
+				'fileId': '#ITP_FORM_OPER02010_DETAIL_FILE_NO' //파일번호를 서버에서 받아서 넣을 파일번호 인풋박스 아이디
79
+			};
80
+			itp_fn_set_file_upload('ITP_OPER02010_DETAIL_UPLOAD', 'notice', true, false, 'OPER02010', fileArgs);
81
+
82
+			// 권한정보 리스트 조회
83
+			itp_fn_OPER02010_detail_grid.unload();
84
+			itp_fn_OPER02010_detail_grid.callBack();
85
+		});
86
+
87
+		// 취소/목록 버튼
88
+		$('#ITP_BTN_OPER02010_CANCELLIST').on('click', function() {
89
+			itp_fn_OPER02010_search();
90
+    	});
91
+
92
+		// 삭제 버튼
93
+		$('#ITP_BTN_OPER02010_DELETE').on('click', function() {
94
+
95
+		});
96
+
97
+		// 저장 버튼
98
+		$('#ITP_BTN_OPER02010_SAVE').on('click', function() {
99
+			const formId = '#ITP_FORM_OPER02010_DETAIL';
100
+			itp_fn_form_clear_validate(null, formId);
101
+			var vali_nticeNo = itp_fn_form_validate(formId, formId + '_NTICE_TITL', ['empty'], undefined);
102
+			var vali_nticeDesc = itp_fn_form_validate(formId, formId + '_NTICE_DESC', ['empty'], undefined);
103
+			var vali_targetCd = itp_fn_form_validate(formId, formId + '_TARGET_CD', ['empty'], undefined);
104
+
105
+			if (vali_nticeNo && vali_nticeDesc && vali_targetCd) {
106
+				let gridInsertData = [];
107
+				let gridUpdateData = [];
108
+				let gridDeleteData = [];
109
+				const rowData = $(OPER02010_DETAIL_GRID_ID).getRowData();
110
+				const keyValue = $(formId + '_USER_ID').val();
111
+				$.each(rowData, function(key, value) {
112
+					if (value.viewCd != 'R') {
113
+						value.nticeNo = keyValue;
114
+						if (value.viewCd == 'C') {
115
+							gridInsertData.push(value);
116
+						} else if (value.viewCd == 'U') {
117
+							gridUpdateData.push(value);
118
+						} else if (value.viewCd == 'D') {
119
+							gridDeleteData.push(value);
120
+						}
121
+					}
122
+				});
123
+				let param = $(formId).serializeObject();
124
+				param.gridInsertData = gridInsertData;
125
+				param.gridUpdateData = gridUpdateData;
126
+				param.gridDeleteData = gridDeleteData;
127
+				// console.log(JSON.stringify(param));
128
+
129
+				var searhFn = function() {
130
+					ITP_FORM_OPER02010_DETAIL_IS_WRITING = false;
131
+					itp_fn_OPER02010_search();
132
+				};
133
+				fn_ajax_call(NTICE_SAVE_NTICE, JSON.stringify(param), searhFn, 'POST');
134
+			}
135
+		});
136
+
137
+		// 상세:추가버튼
138
+		$('#ITP_BTN_OPER02010_DETAIL_ADDROW').on('click', function() {
139
+			// 팝업
140
+			var popFn = function(rowDataPop) {
141
+				// 기존등록 사용자ID
142
+				var exists = '';
143
+				const rowData = $(OPER02010_DETAIL_GRID_ID).getRowData();
144
+				$.each(rowData, function(key, value) {
145
+					exists = exists + value.userId + ';';
146
+				});
147
+
148
+				$.each(rowDataPop, function(key, value) {
149
+					// console.log(JSON.stringify(value));
150
+					// console.log(exists.indexOf(value.userId));
151
+					if(exists.indexOf(value.userId) < 0) {
152
+						// 행추가
153
+						$(OPER02010_DETAIL_GRID_ID).jqGrid('addRow', {position: 'last'});
154
+						var rids = $(OPER02010_DETAIL_GRID_ID).jqGrid('getDataIDs');
155
+						var last_row_id = rids[rids.length - 1];
156
+						$(OPER02010_DETAIL_GRID_ID).jqGrid('setCell', last_row_id, 'viewCd', 'C');
157
+						$(OPER02010_DETAIL_GRID_ID).jqGrid('setCell', last_row_id, 'userId', value.userId);
158
+						$(OPER02010_DETAIL_GRID_ID).jqGrid('setCell', last_row_id, 'userNm', value.userNm);
159
+					}
160
+				});
161
+				$(OPER02010_DETAIL_GRID_EMPTY).hide();
162
+			};
163
+			fn_call_popup('comm', 'USER_SCH_POPUP', '#ITP_ASIDE', popFn, null, 'S');
164
+		});
165
+		// 상세:삭제버튼
166
+		$('#ITP_BTN_OPER02010_DETAIL_DELROW').on('click', function() {
167
+			itp_fn_grid_del_row(OPER02010_DETAIL_GRID_ID);
168
+		});
169
+
170
+		$('body').on('click', function(e) {
171
+			var gridId = OPER02010_DETAIL_GRID_ID.replace('#', '');
172
+			var rids = $(OPER02010_DETAIL_GRID_ID).jqGrid('getDataIDs');
173
+			var last_row_id = rids[rids.length - 1];
174
+			itp_fn_grid_reset_selection(e, last_row_id, gridId, 'OPER02010_DETAIL');
175
+		});
176
+	});
177
+});
178
+
179
+var itp_fn_OPER02010_switch_screen = function(mode) {
180
+	if(mode == 'LIST') { // 목록
181
+		$('#ITP_BTN_OPER02010_MODIFY').hide();
182
+		$('#ITP_BTN_OPER02010_CANCELLIST').hide();
183
+		$('#ITP_BTN_OPER02010_DELETE').hide();
184
+		$('#ITP_BTN_OPER02010_SAVE').hide();
185
+		fn_show_btn_auth('#ITP_BTN_OPER02010_SRH');
186
+		fn_show_btn_auth('#ITP_BTN_OPER02010_NEWREG');
187
+		
188
+		$('#ITP_AJAX_OPER02010_LIST_CONTAINER').show();
189
+		$('#ITP_AJAX_OPER02010_DETAIL_CONTAINER').hide();
190
+		$('#ITP_AJAX_OPER02010_VIEW_CONTAINER').hide();
191
+	} else if(mode == 'ADD') { // 등록
192
+		$('#ITP_BTN_OPER02010_SRH').hide();
193
+		$('#ITP_BTN_OPER02010_MODIFY').hide();
194
+		$('#ITP_BTN_OPER02010_NEWREG').hide();
195
+		$('#ITP_BTN_OPER02010_DELETE').hide();
196
+		fn_show_btn_auth('#ITP_BTN_OPER02010_CANCELLIST');
197
+		fn_show_btn_auth('#ITP_BTN_OPER02010_SAVE');
198
+		
199
+		$('#ITP_AJAX_OPER02010_LIST_CONTAINER').hide();
200
+		$('#ITP_AJAX_OPER02010_DETAIL_CONTAINER').show();
201
+		$('#ITP_AJAX_OPER02010_VIEW_CONTAINER').hide();
202
+
203
+		$('#ITP_FORM_OPER02010_DETAIL_VIEW_CD').val('C');
204
+		$('#ITP_FORM_OPER02010_DETAIL_NTICE_NO').val('');
205
+		$('#ITP_FORM_OPER02010_DETAIL_NTICE_TITL').val('');
206
+		$('#ITP_FORM_OPER02010_DEL_YN').val('N');
207
+		$('#ITP_FORM_OPER02010_DETAIL_NTICE_DESC').val('');
208
+		$('#ITP_FORM_OPER02010_DETAIL_TARGET_CD').val('');
209
+		$('#ITP_FORM_OPER02010_FROM_DT').datepicker('setDate', new Date());
210
+		$('#ITP_FORM_OPER02010_TO_DT').datepicker('setDate', new Date());
211
+	} else if(mode == 'MODIFY') { // 수정
212
+		$('#ITP_BTN_OPER02010_SRH').hide();
213
+		$('#ITP_BTN_OPER02010_MODIFY').hide();
214
+		$('#ITP_BTN_OPER02010_NEWREG').hide();
215
+		$('#ITP_BTN_OPER02010_DELETE').hide();
216
+		fn_show_btn_auth('#ITP_BTN_OPER02010_CANCELLIST');
217
+		fn_show_btn_auth('#ITP_BTN_OPER02010_SAVE');
218
+		
219
+		$('#ITP_AJAX_OPER02010_LIST_CONTAINER').hide();
220
+		$('#ITP_AJAX_OPER02010_DETAIL_CONTAINER').show();
221
+		$('#ITP_AJAX_OPER02010_VIEW_CONTAINER').hide();
222
+	} else if(mode == 'VIEW') { // 보기
223
+		$('#ITP_BTN_OPER02010_SRH').hide();
224
+		$('#ITP_BTN_OPER02010_NEWREG').hide();
225
+		$('#ITP_BTN_OPER02010_DELETE').hide();
226
+		$('#ITP_BTN_OPER02010_SAVE').hide();
227
+		fn_show_btn_auth('#ITP_BTN_OPER02010_MODIFY');
228
+		fn_show_btn_auth('#ITP_BTN_OPER02010_CANCELLIST');
229
+		
230
+		$('#ITP_AJAX_OPER02010_LIST_CONTAINER').hide();
231
+		$('#ITP_AJAX_OPER02010_DETAIL_CONTAINER').hide();
232
+		$('#ITP_AJAX_OPER02010_VIEW_CONTAINER').show();
233
+	}
234
+};
235
+
236
+var itp_fn_OPER02010_grid = {
237
+	init: function() {
238
+		// 데이터 없을때
239
+		itp_fn_OPER02010_empty.push();
240
+		$(OPER02010_GRID_EMPTY).on('click', function() {
241
+			itp_fn_OPER02010_empty.back();
242
+			itp_OPER02010_param.gridSize = $.jgrid.defaults.rowNum;
243
+			$(OPER02010_GRID_ID).setGridParam({'postData': JSON.stringify(itp_OPER02010_param)}).trigger('reloadGrid');
244
+		});
245
+	},
246
+	callBack: function() {
247
+		let param = $('#ITP_FORM_OPER02010_SEARCH').serializeObject();
248
+		param.gridSize = $.jgrid.defaults.rowNum;
249
+		$(OPER02010_GRID_ID).jqGrid({
250
+			colModel: [
251
+				{
252
+					index: 'NTICE_NO', name: 'nticeNo',
253
+					label: ITP_MSG_LOCALE.label.notiNo, //공지번호
254
+					width: '10', fixed: false, align: 'center',
255
+					sortable: false, hidden: false
256
+				},
257
+				{
258
+					index: 'NTICE_TITL', name: 'nticeTitl',
259
+					label: ITP_MSG_LOCALE.label.titlet, //공지제목
260
+					width: '15', fixed: false, align: 'center',
261
+					sortable: false, hidden: false
262
+				},
263
+				{
264
+					index: 'TARGET_NM', name: 'targetNm',
265
+					label: ITP_MSG_LOCALE.label.targetNm, //공지대상
266
+					width: '10', fixed: false, align: 'center',
267
+					sortable: false, hidden: false
268
+				},
269
+				{
270
+					index: 'NTICE_STAT_NM', name: 'nticeStatNm',
271
+					label: ITP_MSG_LOCALE.label.status, //상태
272
+					width: '6', fixed: false, align: 'center',
273
+					sortable: false, hidden: false
274
+				},
275
+				{
276
+					index: 'NOTI_ST_DAY', name: 'notiStDay',
277
+					label: ITP_MSG_LOCALE.label.viewDt, //노출일
278
+					width: '10', fixed: false, align: 'center',
279
+					sortable: false, hidden: false
280
+				},
281
+				{
282
+					index: 'ADD_DT', name: 'addDt',
283
+					label: ITP_MSG_LOCALE.label.regDt, //등록일
284
+					width: '10', fixed: false, align: 'center',
285
+					sortable: false, hidden: false
286
+				}
287
+			],
288
+			loadBeforeSend: function(jqXHR) {
289
+			    jqXHR.setRequestHeader('X-AUTH-TOKEN', CONN_KEY);
290
+			},
291
+			postData: JSON.stringify(param),
292
+			url: DOMAIN + NTICE_DETAIL_GRID_LIST,
293
+			pager: OPER02010_GRID_PAGER,
294
+			multiselect: false,
295
+			rownumbers: true,
296
+			onCellSelect: function(rowId, cellIdx, cellValue) {
297
+				var cm = $(this).jqGrid('getGridParam', 'colModel');
298
+				var colNm = cm[cellIdx].name;
299
+				if (colNm == 'nticeTitl') {
300
+					const nticeNoVal = $(this).jqGrid('getCell', rowId, 'nticeNo');
301
+					const key = {nticeNo: nticeNoVal, viewCd: 'R'};
302
+					var param = $.param(key);
303
+					itp_fn_OPER02010_view(param);
304
+				}
305
+		   	},
306
+			loadComplete: function(data) {
307
+				//console.log(JSON.stringify(data));
308
+				itp_fn_grid_load_complete(data, OPER02010_GRID_ID, true, 'number', 'OPER02010', itp_OPER02010_search, itp_fn_OPER02010_empty, true, data.gridRecords, true);
309
+				var ids = $(OPER02010_GRID_ID).getDataIDs();
310
+				$.each(ids, function(idx, rowId) {
311
+					$(OPER02010_GRID_ID).jqGrid('setCell', rowId, 'nticeTitl', '', ITP_GRID_COL_STYLE.link);
312
+				});
313
+
314
+				if ($('#ITP_CONTAINER').data('openYn') == 'Y') {
315
+					$('#ITP_CONTAINER').data('openYn', 'N');
316
+					const keyNew = {nticeNo: $('#ITP_CONTAINER').data('nticeNo'), viewCd: 'R'};
317
+					var paramNew = $.param(keyNew);
318
+					itp_fn_OPER02010_view(paramNew);
319
+				}
320
+		    },
321
+		    loadError: function(jqXHR, textStatus, errorThrown) {
322
+		    	itp_fn_grid_load_error(jqXHR, textStatus, errorThrown);
323
+		    },
324
+		    onPaging: function(action) {
325
+		    	itp_fn_grid_paging(OPER02010_GRID_ID, action, param);
326
+		    }
327
+		}).navGrid(OPER02010_GRID_PAGER, ITP_GRID_NAV_DEFAULTS.navGrid);
328
+	},
329
+	clearData : function() {
330
+		$(OPER02010_GRID_ID).jqGrid('clearGridData', true);
331
+		$(OPER02010_GRID_LIST).find('.ui-jqgrid-bdiv').css('min-height', '100px');
332
+		$(OPER02010_GRID_EMPTY).html(ITP_MSG_LOCALE.message.grid.noData);
333
+		$(OPER02010_GRID_EMPTY).show();
334
+	},
335
+	unload : function() {
336
+		$.jgrid.gridUnload(OPER02010_GRID_ID);
337
+	}
338
+};
339
+
340
+var itp_fn_OPER02010_search = function() {
341
+	itp_fn_OPER02010_switch_screen('LIST');
342
+	itp_fn_OPER02010_grid.unload();
343
+	itp_fn_OPER02010_grid.callBack();
344
+};
345
+
346
+let itp_OPER02010_param = {};
347
+let itp_OPER02010_search = false;
348
+var itp_fn_OPER02010_empty = {
349
+	push: function() {
350
+		let param = $('#ITP_FORM_OPER02010_SEARCH').serializeObject();
351
+		itp_OPER02010_param = param;
352
+	},
353
+	back: function() {
354
+		$('#ITP_FORM_OPER02010_DEVI_TP_CD').val(itp_OPER02010_param.deviTpCd);
355
+		$('#ITP_FORM_OPER02010_ORDER_YN').val(itp_OPER02010_param.orderYn);
356
+		$('#ITP_FORM_OPER02010_ADT_AUTH_CD').val(itp_OPER02010_param.adtAuthCd);
357
+		$('#ITP_FORM_OPER02010_EMAIL_RCV_YN').val(itp_OPER02010_param.emailRcvYn);
358
+		$('#ITP_FORM_OPER02010_SMS_RCV_YN').val(itp_OPER02010_param.smsRcvYn);
359
+		$('#ITP_FORM_OPER02010_MEMB_EXIT_DT').val(itp_OPER02010_param.membExitDt);
360
+		$('#ITP_FORM_OPER02010_FROM_DT').val(itp_OPER02010_param.fromDt);
361
+		$('#ITP_FORM_OPER02010_TO_DT').val(itp_OPER02010_param.toDt);
362
+		$('#ITP_FORM_OPER02010_KEYWORD').val(itp_OPER02010_param.keyword);
363
+	}
364
+};
365
+
366
+var itp_fn_OPER02010_view = function(param) {
367
+	fn_ajax_call(NTICE_INFO_NTICE, param, itp_fn_OPER02010_view_callback, 'GET');
368
+};
369
+
370
+var itp_fn_OPER02010_view_callback = function(result) {
371
+	// console.log(result);
372
+	itp_fn_OPER02010_switch_screen('VIEW');
373
+	$('#ITP_FORM_OPER02010_VIEW #ITP_FORM_OPER02010_VIEW_USER_ID').val(result.nticeNo);
374
+	$('#ITP_FORM_OPER02010_VIEW .fnNticeTitl').text(result.nticeTitl);
375
+	$('#ITP_FORM_OPER02010_VIEW .fnNotiDay').text(result.notiStDay+' ~ '+result.notiEdDay);
376
+	$('#ITP_FORM_OPER02010_VIEW .fnDelYn').text(result.delYn);
377
+	$('#ITP_FORM_OPER02010_VIEW .fnNticeDesc').html(result.nticeDesc.replace(/(\n|\r\n)/g, '<br>'));
378
+	$('#ITP_FORM_OPER02010_VIEW .fnTargetNm').text(result.targetNm);
379
+	$('#ITP_FORM_OPER02010_VIEW_FILE_NO').val(result.fileNo); //파일번호 셋팅
380
+
381
+	//파일업로드(뷰화면)
382
+	$('#ITP_OPER02010_VIEW_UPLOAD').empty();
383
+	const fileArgs = {
384
+		'fileNo': $('#ITP_FORM_OPER02010_VIEW_FILE_NO').val(),
385
+		'viewCd': $('#ITP_FORM_OPER02010_VIEW_VIEW_CD').val()
386
+	};
387
+	itp_fn_set_file_upload('ITP_OPER02010_VIEW_UPLOAD', 'notice', true, false, 'OPER02010', fileArgs);
388
+
389
+	// 권한정보 리스트 조회
390
+	itp_fn_OPER02010_view_grid.unload();
391
+	itp_fn_OPER02010_view_grid.callBack();
392
+};
393
+
394
+var itp_fn_OPER02010_view_grid = {
395
+	init: function() {
396
+	},
397
+	callBack: function() {
398
+		let param = $('#ITP_FORM_OPER02010_VIEW').serializeObject();
399
+		param.gridSize = $.jgrid.defaults.rowNum;
400
+		param.pagingYn = false; // 페이징안함
401
+
402
+		$(OPER02010_VIEW_GRID_ID).jqGrid({
403
+			colModel: [
404
+				{
405
+					index: 'VIEW_CD', name: 'viewCd',
406
+					label: ITP_MSG_LOCALE.label.viewCd,
407
+					width: '10', fixed: false, align: 'center',
408
+					sortable: false, hidden: true
409
+				},
410
+				{
411
+					index: 'NTICE_NO', name: 'nticeNo',
412
+					label: ITP_MSG_LOCALE.label.notiNo,
413
+					width: '10', fixed: false, align: 'center',
414
+					sortable: false, hidden: true
415
+				},
416
+				{
417
+					index: 'USER_ID', name: 'userId',
418
+					label: ITP_MSG_LOCALE.label.userId,
419
+					width: '20', fixed: false, align: 'center',
420
+					sortable: false, editable: false, edittype: 'text'
421
+				},
422
+				{
423
+					index: 'USER_NM', name: 'userNm',
424
+					label: ITP_MSG_LOCALE.label.userName,
425
+					width: '30', fixed: false, align: 'center',
426
+					sortable: false, editable: false, edittype: 'text'
427
+				}
428
+			],
429
+			loadBeforeSend: function(jqXHR) {
430
+			    jqXHR.setRequestHeader('X-AUTH-TOKEN', CONN_KEY);
431
+			},
432
+			postData: JSON.stringify(param),
433
+			url: DOMAIN + NTICE_TARGET_GRID_LIST,
434
+			pager: OPER02010_VIEW_GRID_PAGER,
435
+			multiselect: false,
436
+			loadComplete: function(data) {
437
+				itp_fn_grid_load_complete(data, OPER02010_VIEW_GRID_ID, true, undefined, 'OPER02010_VIEW');
438
+		    },
439
+		    loadError: function(jqXHR, textStatus, errorThrown) {
440
+		    	itp_fn_grid_load_error(jqXHR, textStatus, errorThrown);
441
+		    },
442
+		    onPaging: function(action) {
443
+		    	var pagingFn = {
444
+	    			callBack: function(args) {
445
+	    				$(args).trigger('reloadGrid');
446
+	    			}
447
+	    		};
448
+		    	if (itp_fn_check_grid_is_writing(OPER02010_VIEW_GRID_ID)) {
449
+		    		itp_fn_modal_confirm(ITP_MSG_LOCALE.message.ajax.cancelData, pagingFn, OPER02010_VIEW_GRID_ID);
450
+		    		return 'stop';
451
+		    	} else {
452
+		    		itp_fn_grid_paging(OPER02010_VIEW_GRID_ID, action, param);
453
+		    	}
454
+		    },
455
+		    onSortCol: function(index, columnIndex, sortOrder) {
456
+		    	var sortingFn = {
457
+	    			callBack: function(args) {
458
+	    				$(args).trigger('reloadGrid');
459
+	    			}
460
+	    		};
461
+		    	if (itp_fn_check_grid_is_writing(OPER02010_VIEW_GRID_ID)) {
462
+		    		itp_fn_modal_confirm(ITP_MSG_LOCALE.message.ajax.cancelData, sortingFn, OPER02010_VIEW_GRID_ID);
463
+		    		return 'stop';
464
+		    	} else {
465
+		    		itp_fn_grid_sorting(OPER02010_VIEW_GRID_ID, index, sortOrder);
466
+		    	}
467
+		    }
468
+		}).navGrid(OPER02010_VIEW_GRID_PAGER, ITP_GRID_NAV_DEFAULTS.navGrid);
469
+	},
470
+	clearData : function() {
471
+		$(OPER02010_VIEW_GRID_ID).jqGrid('clearGridData', true);
472
+		$(OPER02010_VIEW_GRID_LIST).find('.ui-jqgrid-bdiv').css('min-height', '100px');
473
+		$(OPER02010_VIEW_GRID_EMPTY).html(ITP_MSG_LOCALE.message.grid.noData);
474
+		$(OPER02010_VIEW_GRID_EMPTY).show();
475
+	},
476
+	unload : function() {
477
+		$.jgrid.gridUnload(OPER02010_VIEW_GRID_ID);
478
+	}
479
+};
480
+
481
+var itp_fn_OPER02010_detail = function(param) {
482
+	fn_ajax_call(NTICE_INFO_NTICE, param, itp_fn_OPER02010_detail_callback, 'GET');
483
+};
484
+
485
+var itp_fn_OPER02010_detail_callback = function(result) {
486
+	// console.log(result);
487
+	itp_fn_OPER02010_switch_screen('MODIFY');
488
+	$('#ITP_FORM_OPER02010_DETAIL #ITP_FORM_OPER02010_DETAIL_VIEW_CD').val('U');
489
+	$('#ITP_FORM_OPER02010_DETAIL #ITP_FORM_OPER02010_DETAIL_NTICE_NO').val(result.nticeNo);
490
+	$('#ITP_FORM_OPER02010_DETAIL #ITP_FORM_OPER02010_DETAIL_NTICE_TITL').val(result.nticeTitl);
491
+	$('#ITP_FORM_OPER02010_DETAIL #ITP_FORM_OPER02010_FROM_DT').val(result.notiStDay);
492
+	$('#ITP_FORM_OPER02010_DETAIL #ITP_FORM_OPER02010_TO_DT').val(result.notiEdDay);
493
+	$('#ITP_FORM_OPER02010_DETAIL #ITP_FORM_OPER02010_DEL_YN').val(result.delYn);
494
+	$('#ITP_FORM_OPER02010_DETAIL #ITP_FORM_OPER02010_DETAIL_NTICE_DESC').val(result.nticeDesc);
495
+	$('#ITP_FORM_OPER02010_DETAIL #ITP_FORM_OPER02010_DETAIL_TARGET_CD').val(result.targetCd);
496
+	$('#ITP_FORM_OPER02010_DETAIL_FILE_NO').val(result.fileNo); //파일번호 셋팅
497
+
498
+	//파일업로드(수정화면)
499
+	$('#ITP_OPER02010_DETAIL_UPLOAD').empty();
500
+	const fileArgs = {
501
+		'fileNo': $('#ITP_FORM_OPER02010_DETAIL_FILE_NO').val(),
502
+		'viewCd': $('#ITP_FORM_OPER02010_DETAIL_VIEW_CD').val(),
503
+		'showYn': $('#ITP_OPER02010_DETAIL_UPLOAD').attr('data-show-yn'),
504
+		'fileId': '#ITP_FORM_OPER02010_DETAIL_FILE_NO' //파일번호를 서버에서 받아서 넣을 파일번호 인풋박스 아이디
505
+	};
506
+	itp_fn_set_file_upload('ITP_OPER02010_DETAIL_UPLOAD', 'notice', true, false, 'OPER02010', fileArgs);
507
+
508
+	// 리스트 조회
509
+	itp_fn_OPER02010_detail_grid.unload();
510
+	itp_fn_OPER02010_detail_grid.callBack();
511
+};
512
+
513
+var itp_fn_OPER02010_detail_grid = {
514
+	init: function() {
515
+	},
516
+	callBack: function() {
517
+		let param = $('#ITP_FORM_OPER02010_DETAIL').serializeObject();
518
+		param.gridSize = $.jgrid.defaults.rowNum;
519
+		param.pagingYn = false; // 페이지안함
520
+
521
+		$(OPER02010_DETAIL_GRID_ID).jqGrid({
522
+			colModel: [
523
+				{
524
+					index: 'VIEW_CD', name: 'viewCd',
525
+					label: ITP_MSG_LOCALE.label.viewCd,
526
+					width: '10', fixed: false, align: 'center',
527
+					sortable: false, hidden: true
528
+				},
529
+				{
530
+					index: 'NTICE_NO', name: 'nticeNo',
531
+					label: ITP_MSG_LOCALE.label.notiNo,
532
+					width: '10', fixed: false, align: 'center',
533
+					sortable: false, hidden: true
534
+				},
535
+				{
536
+					index: 'USER_ID', name: 'userId',
537
+					label: ITP_MSG_LOCALE.label.userId,
538
+					width: '20', fixed: false, align: 'center',
539
+					sortable: false, editable: false, edittype: 'text'
540
+				},
541
+				{
542
+					index: 'USER_NM', name: 'userNm',
543
+					label: ITP_MSG_LOCALE.label.userName,
544
+					width: '30', fixed: false, align: 'center',
545
+					sortable: false, editable: false, edittype: 'text'
546
+				}
547
+			],
548
+			loadBeforeSend: function(jqXHR) {
549
+			    jqXHR.setRequestHeader('X-AUTH-TOKEN', CONN_KEY);
550
+			},
551
+			postData: JSON.stringify(param),
552
+			url: DOMAIN + NTICE_TARGET_GRID_LIST,
553
+			pager: OPER02010_DETAIL_GRID_PAGER,
554
+			loadComplete: function(data) {
555
+				itp_fn_grid_load_complete(data, OPER02010_DETAIL_GRID_ID, true, undefined, 'OPER02010_DETAIL');
556
+		    },
557
+		    loadError: function(jqXHR, textStatus, errorThrown) {
558
+		    	itp_fn_grid_load_error(jqXHR, textStatus, errorThrown);
559
+		    },
560
+		    onPaging: function(action) {
561
+		    	var pagingFn = {
562
+	    			callBack: function(args) {
563
+	    				$(args).trigger('reloadGrid');
564
+	    			}
565
+	    		};
566
+		    	if (itp_fn_check_grid_is_writing(OPER02010_DETAIL_GRID_ID)) {
567
+		    		itp_fn_modal_confirm(ITP_MSG_LOCALE.message.ajax.cancelData, pagingFn, OPER02010_DETAIL_GRID_ID);
568
+		    		return 'stop';
569
+		    	} else {
570
+		    		itp_fn_grid_paging(OPER02010_DETAIL_GRID_ID, action, param);
571
+		    	}
572
+		    },
573
+		    onSortCol: function(index, columnIndex, sortOrder) {
574
+		    	var sortingFn = {
575
+	    			callBack: function(args) {
576
+	    				$(args).trigger('reloadGrid');
577
+	    			}
578
+	    		};
579
+		    	if (itp_fn_check_grid_is_writing(OPER02010_DETAIL_GRID_ID)) {
580
+		    		itp_fn_modal_confirm(ITP_MSG_LOCALE.message.ajax.cancelData, sortingFn, OPER02010_DETAIL_GRID_ID);
581
+		    		return 'stop';
582
+		    	} else {
583
+		    		itp_fn_grid_sorting(OPER02010_DETAIL_GRID_ID, index, sortOrder);
584
+		    	}
585
+		    }
586
+		}).navGrid(OPER02010_DETAIL_GRID_PAGER, ITP_GRID_NAV_DEFAULTS.navGrid);
587
+	},
588
+	clearData : function() {
589
+		$(OPER02010_DETAIL_GRID_ID).jqGrid('clearGridData', true);
590
+		$(OPER02010_DETAIL_GRID_LIST).find('.ui-jqgrid-bdiv').css('min-height', '100px');
591
+		$(OPER02010_DETAIL_GRID_EMPTY).html(ITP_MSG_LOCALE.message.grid.noData);
592
+		$(OPER02010_DETAIL_GRID_EMPTY).show();
593
+	},
594
+	unload : function() {
595
+		$.jgrid.gridUnload(OPER02010_DETAIL_GRID_ID);
596
+	}
597
+};

+ 860 - 0
src/main/webapp/js/app/oper/ITP_OPER03010.js

@@ -0,0 +1,860 @@
1
+
2
+const OPER03010_GRID_ID = '#ITP_OPER03010_jqGrid';
3
+const OPER03010_GRID_LIST = '#ITP_OPER03010_jqGrid_list';
4
+const OPER03010_GRID_PAGER = '#ITP_OPER03010_jqGridPager';
5
+const OPER03010_GRID_EMPTY = '#ITP_OPER03010_jqGridEmpty';
6
+
7
+const OPER03010_VIEW_GRID_ID = '#ITP_OPER03010_VIEW_jqGrid';
8
+const OPER03010_VIEW_GRID_LIST = '#ITP_OPER03010_VIEW_jqGrid_list';
9
+const OPER03010_VIEW_GRID_PAGER = '#ITP_OPER03010_VIEW_jqGridPager';
10
+const OPER03010_VIEW_GRID_EMPTY = '#ITP_OPER03010_VIEW_jqGridEmpty';
11
+
12
+const OPER03010_DETAIL_GRID_ID = '#ITP_OPER03010_DETAIL_jqGrid';
13
+const OPER03010_DETAIL_GRID_LIST = '#ITP_OPER03010_DETAIL_jqGrid_list';
14
+const OPER03010_DETAIL_GRID_PAGER = '#ITP_OPER03010_DETAIL_jqGridPager';
15
+const OPER03010_DETAIL_GRID_EMPTY = '#ITP_OPER03010_DETAIL_jqGridEmpty';
16
+
17
+
18
+let ITP_FORM_OPER03010_DETAIL_IS_DUPLICATE = false;
19
+let ITP_FORM_OPER03010_DETAIL_IS_WRITING = false;
20
+
21
+let COMPANY_GRID_LIST = '/api/frcomp/grid-list';
22
+let USER_SALESUSER_GRID_LIST = '/api/frcomp/cmpy-saleusers-list'; 
23
+let COMPANY_INFO_COMPANY = '/api/frcomp/info-frcomp';
24
+let COMPANY_SAVE_COMPANY = '/api/frcomp/save-frcomp';
25
+let COMPANY_CHECK_DUPLICATE = '/api/frcomp/check-duplicate';
26
+let USER_INTI_USERPW = '/api/user/inti-userpw';
27
+
28
+require(['config'], function() {
29
+	require([
30
+		'jquery', 
31
+		'kakao.postcode', 
32
+		'kakao.maps'
33
+	], function($) {
34
+		// 버튼 권한설정
35
+		fn_proc_btn_auth('OPER03010');
36
+		// 공통코드 표시
37
+		fn_make_select(CODE_LIST, 'CMPY_STAT_CD', 'ITP_FORM_OPER03010_SEARCH_CMPY_STAT_CD');
38
+		fn_make_select(CODE_LIST, 'CMPY_STAT_CD', 'ITP_FORM_OPER03010_DETAIL_CMPY_STAT_CD', true, '선택');
39
+		fn_make_select(CODE_LIST, 'CMPY_TYPE_CD', 'ITP_FORM_OPER03010_DETAIL_CMPY_TYPE_CD', true, '선택');
40
+		fn_make_select(CODE_LIST, 'FRCOMP_AUTH_CD', 'ITP_FORM_OPER03010_DETAIL_FRCOMP_AUTH_CD', true, '선택');
41
+		
42
+		// 조회일자 지정
43
+		// var now = new Date();
44
+		$('#ITP_TAB_OPER03010 .input-group.date').datepicker(ITP_DATE_LANGUAGE);
45
+		// $('#ITP_FORM_OPER03010_SEARCH_FROM_DT').datepicker('setDate', new Date(now.setMonth(now.getMonth() - 1)));
46
+		// $('#ITP_FORM_OPER03010_SEARCH_TO_DT').datepicker('setDate', new Date());
47
+				
48
+		// 그리드				
49
+		itp_fn_jqgrid_resize(OPER03010_GRID_ID, OPER03010_GRID_LIST, 'lg');
50
+		itp_fn_OPER03010_grid.init();
51
+    	itp_fn_fire_window_resize();
52
+
53
+		// 조회    	
54
+    	itp_fn_OPER03010_search();
55
+    	
56
+		// 조회 버튼 클릭
57
+		$('#ITP_BTN_OPER03010_SRH').on('click', function() {
58
+			itp_OPER03010_search = true;
59
+			let param = $('#ITP_FORM_OPER03010_SEARCH').serializeObject();
60
+			param.gridSize = $.jgrid.defaults.rowNum;
61
+			param.gridPage = $.jgrid.defaults.page;
62
+			$(OPER03010_GRID_ID).setGridParam({'postData': JSON.stringify(param)}).trigger('reloadGrid');
63
+		});
64
+		
65
+		// 수정 버튼
66
+		$('#ITP_BTN_OPER03010_MODIFY').on('click', function() {
67
+			itp_fn_form_clear_validate(null, '#ITP_FORM_OPER03010_DETAIL');			
68
+			const cmpyCdVal = $('#ITP_FORM_OPER03010_VIEW_CMPY_CD').val();
69
+			const key = {cmpyCd: cmpyCdVal, viewCd: 'R'};
70
+			var param = $.param(key);
71
+			itp_fn_OPER03010_detail(param);	
72
+		});
73
+		
74
+		// 신규등록 버튼
75
+		$('#ITP_BTN_OPER03010_NEWREG').on('click', function() {
76
+			itp_fn_OPER03010_switch_screen('ADD');			
77
+			itp_fn_form_clear_validate(null, '#ITP_FORM_OPER03010_DETAIL');
78
+			itp_fn_OPER03010_detail_map($('#ITP_FORM_OPER03010_DETAIL_STREET_ADDRESS').val());	
79
+			
80
+			// 영업담당자 리스트 조회		
81
+			itp_fn_OPER03010_detail_grid.unload();
82
+			itp_fn_OPER03010_detail_grid.callBack();	
83
+		});
84
+		
85
+		// 취소/목록 버튼
86
+		$('#ITP_BTN_OPER03010_CANCELLIST').on('click', function() {
87
+			itp_fn_OPER03010_search();
88
+    	});
89
+		
90
+		// 삭제 버튼
91
+		$('#ITP_BTN_OPER03010_DELETE').on('click', function() {
92
+			
93
+		});
94
+		
95
+		// 저장 버튼
96
+		$('#ITP_BTN_OPER03010_SAVE').on('click', function() {			
97
+			const formId = '#ITP_FORM_OPER03010_DETAIL';
98
+			itp_fn_form_clear_validate(null, formId);			
99
+			var vali_cmpyCd = itp_fn_form_validate(formId, formId + '_CMPY_CD', ['empty'], undefined);
100
+			var vali_cmpyStatCd = itp_fn_form_validate(formId, formId + '_CMPY_STAT_CD', ['empty'], undefined);
101
+			var vali_cmpyTypeCd = itp_fn_form_validate(formId, formId + '_CMPY_TYPE_CD', ['empty'], undefined);
102
+			var vali_cmpyNm = itp_fn_form_validate(formId, formId + '_CMPY_NM', ['empty'], undefined);			
103
+			var vali_bossNm = itp_fn_form_validate(formId, formId + '_BOSS_NM', ['empty'], undefined);
104
+			var vali_mainTel = itp_fn_form_validate(formId, formId + '_MAIN_TEL', ['empty'], undefined);
105
+			var vali_mainEmail = itp_fn_form_validate(formId, formId + 'MAIN_EMAIL', ['empty'], undefined);
106
+			
107
+			if (vali_cmpyCd && vali_cmpyStatCd && vali_cmpyTypeCd && vali_cmpyNm && vali_bossNm && vali_mainTel && vali_mainEmail) {
108
+				
109
+				if($('#ITP_FORM_OPER03010_DETAIL_CMPY_ZIPNO').val() == '' || $('#ITP_FORM_OPER03010_DETAIL_CMPY_ADRES').val() == '') {
110
+					itp_fn_modal_alert('주소 검색을 통해 회사 주소를 입력하세요.');
111
+					return;
112
+				}
113
+				
114
+				if (ITP_FORM_OPER03010_DETAIL_IS_DUPLICATE) {
115
+					itp_fn_modal_duplicate('회사코드 중복체크를 해주세요.', formId + '_CMPY_CD');
116
+				} else {
117
+					let gridInsertData = [];
118
+					let gridUpdateData = [];
119
+					let gridDeleteData = [];
120
+					const rowData = $(OPER03010_DETAIL_GRID_ID).getRowData();
121
+					const keyValue = $(formId + '_CMPY_CD').val();
122
+					$.each(rowData, function(key, value) {
123
+						if (value.viewCd != 'R') {
124
+							value.userId = keyValue;
125
+							if (value.viewCd == 'C') {
126
+								gridInsertData.push(value);
127
+							} else if (value.viewCd == 'U') {
128
+								gridUpdateData.push(value);
129
+							} else if (value.viewCd == 'D') {
130
+								gridDeleteData.push(value);
131
+							}
132
+						}
133
+					});
134
+					
135
+					let param = $(formId).serializeObject();
136
+					param.gridInsertData = gridInsertData;
137
+					param.gridUpdateData = gridUpdateData;
138
+					param.gridDeleteData = gridDeleteData;
139
+					var searhFn = function() {
140
+						ITP_FORM_OPER03010_DETAIL_IS_WRITING = false;
141
+						itp_fn_OPER03010_search();
142
+					};
143
+					console.log(JSON.stringify(param));
144
+					fn_ajax_call(COMPANY_SAVE_COMPANY, JSON.stringify(param), searhFn, 'POST');	
145
+				}
146
+			}
147
+		});		
148
+		
149
+		// 중복체크
150
+		$('#ITP_FORM_OPER03010_DETAIL_DUP').on('click', function() {
151
+			const formId = '#ITP_FORM_OPER03010_DETAIL';
152
+			itp_fn_form_clear_validate(null, formId + '_DETAIL');
153
+			var vali_cmpyCd = itp_fn_form_validate(formId + '_DETAIL', formId + '_CMPY_CD', ['empty'], undefined);
154
+			if (vali_cmpyCd) {
155
+				var dupFn = function(result) {
156
+					if (result.code == 'N') {
157
+						ITP_FORM_OPER03010_DETAIL_IS_DUPLICATE = false;
158
+					} else {
159
+						ITP_FORM_OPER03010_DETAIL_IS_DUPLICATE = true;
160
+					}
161
+				};
162
+				const key = {'cmpyCd':  $(formId + '_CMPY_CD').val()};
163
+				const param = $.param(key);
164
+				fn_ajax_call(COMPANY_CHECK_DUPLICATE, param, dupFn, 'GET');
165
+			}
166
+		});
167
+		
168
+		// 상세:비밀번호 초기화
169
+		$('#ITP_BTN_OPER03010_RESET_PW').on('click', function() {
170
+			var resetPwFn = {
171
+				callBack: function(args) {
172
+					const key = {'userId':  $('#ITP_FORM_OPER03010_DETAIL_CMPY_CD').val()};
173
+					const param = $.param(key);
174
+					fn_ajax_call(USER_INTI_USERPW, param, undefined, 'GET');					
175
+				}
176
+			};
177
+			itp_fn_modal_confirm(ITP_MSG_LOCALE.message.ajax.askResetUserPw, resetPwFn, null);		
178
+		});
179
+		
180
+		$('#ITP_FORM_OPER03010_DETAIL_ADRES_SCH').on('click', function() {
181
+			new daum.Postcode({
182
+		    	oncomplete: function(data) {
183
+					// 전체주소 리턴
184
+					document.getElementById('ITP_FORM_OPER03010_DETAIL_CMPY_ZIPNO').value = data.zonecode;
185
+					document.getElementById('ITP_FORM_OPER03010_DETAIL_CMPY_ADRES').value = data.roadAddress;
186
+					document.getElementById('ITP_FORM_OPER03010_DETAIL_LOTS_ADDRESS').value = !!data.autoJibunAddress ? data.autoJibunAddress : data.jibunAddress;
187
+					document.getElementById('ITP_FORM_OPER03010_DETAIL_STREET_ADDRESS').value = data.roadAddress;
188
+					document.getElementById('ITP_FORM_OPER03010_DETAIL_HJ_DONG').value = !!data.hname ? data.hname : data.bname;
189
+					document.getElementById('ITP_FORM_OPER03010_DETAIL_BJ_DONG').value = data.bname;
190
+					
191
+					itp_fn_OPER03010_detail_map(data.roadAddress);
192
+					document.getElementById('ITP_FORM_OPER03010_DETAIL_CMPY_ADRES_DTL').focus();		  
193
+		        }
194
+			}).open();
195
+		});
196
+		
197
+		
198
+		$('#ITP_BTN_OPER03010_DETAIL_ADDROW').on('click', function() {
199
+			// 팝업
200
+			var popFn = function(rowDataPop) {
201
+				// 기존등록 데이터 
202
+				var exists = '';				
203
+				const rowData = $(OPER03010_DETAIL_GRID_ID).getRowData();
204
+				$.each(rowData, function(key, value) {
205
+					exists = exists + value.salesUserId + ';';
206
+				});
207
+				
208
+				$.each(rowDataPop, function(key, value) {
209
+					if(exists.indexOf(value.salesUserId) < 0) {
210
+						// 행추가
211
+						$(OPER03010_DETAIL_GRID_ID).jqGrid('addRow', {position: 'last'});
212
+						var rids = $(OPER03010_DETAIL_GRID_ID).jqGrid('getDataIDs');
213
+						var last_row_id = rids[rids.length - 1];
214
+						$(OPER03010_DETAIL_GRID_ID).jqGrid('setCell', last_row_id, 'viewCd', 'C');
215
+						$(OPER03010_DETAIL_GRID_ID).jqGrid('setCell', last_row_id, 'salesUserId', value.salesUserId);
216
+						$(OPER03010_DETAIL_GRID_ID).jqGrid('setCell', last_row_id, 'salesUserNm', value.salesUserNm);
217
+						$(OPER03010_DETAIL_GRID_ID).jqGrid('setCell', last_row_id, 'useStatCd', value.useStatCd);
218
+						$(OPER03010_DETAIL_GRID_ID).jqGrid('setCell', last_row_id, 'useStatNm', value.useStatNm);
219
+						$(OPER03010_DETAIL_GRID_ID).jqGrid('setCell', last_row_id, 'cmpyCd', '');	
220
+					}
221
+				});
222
+				$(OPER03010_DETAIL_GRID_EMPTY).hide();
223
+			};
224
+			fn_call_popup('biz', 'BIZPOP_NK_SALES_USER_SCH', '#ITP_ASIDE', popFn, null, 'S');  //=====================================================================================
225
+		});
226
+		// 상세:삭제버튼
227
+		$('#ITP_BTN_OPER03010_DETAIL_DELROW').on('click', function() {
228
+			itp_fn_grid_del_row(OPER03010_DETAIL_GRID_ID);
229
+		});
230
+		
231
+		$('body').on('click', function(e) {
232
+			var gridId = OPER03010_DETAIL_GRID_ID.replace('#', '');
233
+			var rids = $(OPER03010_DETAIL_GRID_ID).jqGrid('getDataIDs');
234
+			var last_row_id = rids[rids.length - 1];			
235
+			itp_fn_grid_reset_selection(e, last_row_id, gridId, 'OPER03010_DETAIL');
236
+		});
237
+		
238
+	});
239
+});
240
+
241
+var itp_fn_OPER03010_detail_map = function(locate) {
242
+	
243
+	kakao.maps.load(function() {
244
+				
245
+		var mapContainer = document.getElementById('ITP_FORM_OPER03010_DETAIL_MAP'), // 지도를 표시할 div 
246
+		    mapOption = {
247
+		        center: new kakao.maps.LatLng(37.56684, 126.97865), // 지도의 중심좌표
248
+		        level: 3, // 지도의 확대 레벨
249
+		        mapTypeId : kakao.maps.MapTypeId.ROADMAP // 지도종류
250
+		    }; 
251
+	
252
+		// 지도를 생성한다 
253
+		var map = new kakao.maps.Map(mapContainer, mapOption); 
254
+		
255
+		// 마우스 휠과 모바일 터치를 이용한 지도 확대, 축소를 막는다
256
+		map.setZoomable(false);   
257
+	
258
+		// 지도에 확대 축소 컨트롤을 생성한다
259
+		//var zoomControl = new kakao.maps.ZoomControl();
260
+	
261
+		// 지도의 우측에 확대 축소 컨트롤을 추가한다
262
+		//map.addControl(zoomControl, kakao.maps.ControlPosition.RIGHT);
263
+	
264
+		function searchDetailAddrFromCoords(coords, callback) {
265
+		    // 좌표로 법정동 상세 주소 정보를 요청합니다
266
+		    geocoder.coord2Address(coords.getLng(), coords.getLat(), callback);
267
+		}
268
+		
269
+		// 주소-좌표 변환 객체를 생성합니다
270
+		var geocoder = new kakao.maps.services.Geocoder();	
271
+		var map;
272
+		
273
+		if( !locate || locate.length == 0 ) {
274
+			// 지도에 마커를 생성하고 표시한다
275
+		    	marker = new kakao.maps.Marker({
276
+		  	    position: new kakao.maps.LatLng(37.56684, 126.97865), // 마커의 좌표
277
+		   	    map: map // 마커를 표시할 지도 객체
278
+	    	});
279
+		} else {
280
+			// 주소로 좌표를 검색합니다
281
+			geocoder.addressSearch(locate, function(result, status) {
282
+			    // 정상적으로 검색이 완료됐으면 
283
+			     if (status === kakao.maps.services.Status.OK) {
284
+		
285
+			        var coords = new kakao.maps.LatLng(result[0].y, result[0].x);
286
+			        document.getElementById('ITP_FORM_OPER03010_DETAIL_LAT').value = result[0].y;
287
+			        document.getElementById('ITP_FORM_OPER03010_DETAIL_LNG').value = result[0].x;
288
+			        
289
+			        // 결과값으로 받은 위치를 마커로 표시합니다
290
+			        	marker = new kakao.maps.Marker({
291
+			            map: map,
292
+			            position: coords
293
+			        });
294
+		
295
+			        // 지도의 중심을 결과값으로 받은 위치로 이동시킵니다
296
+			        map.setCenter(coords);
297
+			    }
298
+			});    
299
+		}
300
+		
301
+		// 지도 드래깅 이벤트를 등록한다 (드래그 시작 : dragstart, 드래그 종료 : dragend)
302
+		kakao.maps.event.addListener(map, 'drag', function () {
303
+		    searchDetailAddrFromCoords(map.getCenter(), function(result, status) {
304
+		        if (status === kakao.maps.services.Status.OK) {
305
+	
306
+	   		        document.getElementById('ITP_FORM_OPER03010_DETAIL_LOTS_ADDRESS').value = result[0].address.address_name ;
307
+	   		        document.getElementById('ITP_FORM_OPER03010_DETAIL_CMPY_ADRES').value = !!result[0].road_address ? result[0].road_address.address_name : result[0].address.address_name ;
308
+	   		        document.getElementById('ITP_FORM_OPER03010_DETAIL_STREET_ADDRESS').value = !!result[0].road_address ? result[0].road_address.address_name : $('#ITP_FORM_OPER03010_DETAIL_STREET_ADDRESS').val();
309
+	   		        document.getElementById('ITP_FORM_OPER03010_DETAIL_CMPY_ZIPNO').value = !!result[0].road_address ? result[0].road_address.zone_no : $('#ITP_FORM_OPER03010_DETAIL_CMPY_ZIPNO').val() ;
310
+			        document.getElementById('ITP_FORM_OPER03010_DETAIL_LAT').value = map.getCenter().getLat();
311
+			        document.getElementById('ITP_FORM_OPER03010_DETAIL_LNG').value = map.getCenter().getLng();
312
+		                        
313
+		            // 마커를 클릭한 위치에 표시합니다
314
+		            marker.setPosition(map.getCenter());
315
+		            marker.setMap(map);
316
+		        }   
317
+		    });
318
+			/* 	var message = '지도를 드래그 하고 있습니다. 지도의 중심 좌표는 ' + map.getCenter().toString() +' 입니다.';
319
+			console.log(message); */
320
+		});
321
+	});
322
+};
323
+
324
+var itp_fn_OPER03010_view_map = function(locate) {
325
+	
326
+	kakao.maps.load(function() {
327
+				
328
+		var mapContainer = document.getElementById('ITP_FORM_OPER03010_VIEW_MAP'), // 지도를 표시할 div 
329
+		    mapOption = {
330
+		        center: new kakao.maps.LatLng(37.56684, 126.97865), // 지도의 중심좌표
331
+		        level: 3, // 지도의 확대 레벨
332
+		        mapTypeId : kakao.maps.MapTypeId.ROADMAP // 지도종류
333
+		    }; 
334
+	
335
+		// 지도를 생성한다 
336
+		var map = new kakao.maps.Map(mapContainer, mapOption); 
337
+		
338
+		// 마우스 휠과 모바일 터치를 이용한 지도 확대, 축소를 막는다
339
+		map.setZoomable(false);   
340
+	
341
+		// 지도에 확대 축소 컨트롤을 생성한다
342
+		//var zoomControl = new kakao.maps.ZoomControl();
343
+	
344
+		// 지도의 우측에 확대 축소 컨트롤을 추가한다
345
+		//map.addControl(zoomControl, kakao.maps.ControlPosition.RIGHT);
346
+		
347
+		// 주소-좌표 변환 객체를 생성합니다
348
+		var geocoder = new kakao.maps.services.Geocoder();	
349
+		var map;
350
+		
351
+		if( !locate || locate.length == 0 ) {
352
+			// 지도에 마커를 생성하고 표시한다
353
+		    	marker = new kakao.maps.Marker({
354
+		  	    position: new kakao.maps.LatLng(37.56684, 126.97865), // 마커의 좌표
355
+		   	    map: map // 마커를 표시할 지도 객체
356
+	    	});
357
+		} else {
358
+			// 주소로 좌표를 검색합니다
359
+			geocoder.addressSearch(locate, function(result, status) {
360
+			    // 정상적으로 검색이 완료됐으면 
361
+			     if (status === kakao.maps.services.Status.OK) {
362
+		
363
+			        var coords = new kakao.maps.LatLng(result[0].y, result[0].x);
364
+			        
365
+			        // 결과값으로 받은 위치를 마커로 표시합니다
366
+			        marker = new kakao.maps.Marker({
367
+			            map: map,
368
+			            position: coords
369
+			        });
370
+		
371
+			        // 지도의 중심을 결과값으로 받은 위치로 이동시킵니다
372
+			        map.setCenter(coords);
373
+			    }
374
+			});    
375
+		}
376
+	});
377
+};
378
+	
379
+var itp_fn_OPER03010_switch_screen = function(mode) {
380
+	if(mode == 'LIST') { // 목록
381
+		$('#ITP_BTN_OPER03010_MODIFY').hide();
382
+		$('#ITP_BTN_OPER03010_CANCELLIST').hide();
383
+		$('#ITP_BTN_OPER03010_DELETE').hide();
384
+		$('#ITP_BTN_OPER03010_SAVE').hide();
385
+		fn_show_btn_auth('#ITP_BTN_OPER03010_SRH');
386
+		fn_show_btn_auth('#ITP_BTN_OPER03010_NEWREG');
387
+		
388
+		$('#ITP_AJAX_OPER03010_LIST_CONTAINER').show();
389
+		$('#ITP_AJAX_OPER03010_DETAIL_CONTAINER').hide();		
390
+		$('#ITP_AJAX_OPER03010_VIEW_CONTAINER').hide();
391
+	} else if(mode == 'ADD') { // 등록
392
+		ITP_FORM_OPER03010_DETAIL_IS_DUPLICATE = true;
393
+	
394
+		$('#ITP_BTN_OPER03010_SRH').hide();
395
+		$('#ITP_BTN_OPER03010_MODIFY').hide();
396
+		$('#ITP_BTN_OPER03010_NEWREG').hide();
397
+		$('#ITP_BTN_OPER03010_DELETE').hide();
398
+		$('#ITP_BTN_OPER03010_RESET_PW').hide();
399
+		fn_show_btn_auth('#ITP_BTN_OPER03010_CANCELLIST');
400
+		fn_show_btn_auth('#ITP_BTN_OPER03010_SAVE');
401
+		
402
+		$('#ITP_AJAX_OPER03010_LIST_CONTAINER').hide();
403
+		$('#ITP_AJAX_OPER03010_DETAIL_CONTAINER').show();
404
+		$('#ITP_AJAX_OPER03010_VIEW_CONTAINER').hide();		
405
+		$('#ITP_FORM_OPER03010_DETAIL_CMPY_CD').removeAttr('readonly');
406
+		$('#ITP_FORM_OPER03010_DETAIL_DUP').removeAttr('disabled');
407
+		
408
+		$('#ITP_FORM_OPER03010_DETAIL_VIEW_CD').val('C');
409
+		$('#ITP_FORM_OPER03010_DETAIL_CMPY_NM').val('');
410
+		$('#ITP_FORM_OPER03010_DETAIL_CMPY_STAT_CD').val('');
411
+		$('#ITP_FORM_OPER03010_DETAIL_FRCOMP_AUTH_CD').val('');
412
+		$('#ITP_FORM_OPER03010_DETAIL_CMPY_CD').val('');
413
+		$('#ITP_FORM_OPER03010_DETAIL_CMPY_TYPE_CD').val('');
414
+		$('#ITP_FORM_OPER03010_DETAIL_CMPY_REG_NUM').val('');
415
+		$('#ITP_FORM_OPER03010_DETAIL_COPT_NUM').val('');
416
+		$('#ITP_FORM_OPER03010_DETAIL_BIZ_CATE').val('');
417
+		$('#ITP_FORM_OPER03010_DETAIL_BIZ_TYPE').val('');
418
+		$('#ITP_FORM_OPER03010_DETAIL_BOSS_NM').val('');
419
+		$('#ITP_FORM_OPER03010_DETAIL_MAIN_TEL').val('');
420
+		$('#ITP_FORM_OPER03010_DETAIL_MAIN_FAX').val('');
421
+		$('#ITP_FORM_OPER03010_DETAIL_MAIN_EMAIL').val('');
422
+		$('#ITP_FORM_OPER03010_DETAIL_CMPY_ZIPNO').val('');
423
+		$('#ITP_FORM_OPER03010_DETAIL_CMPY_ADRES').val('');
424
+		$('#ITP_FORM_OPER03010_DETAIL_CMPY_ADRES_DTL').val('');
425
+		$('#ITP_FORM_OPER03010_DETAIL_LOTS_ADDRESS').val('');
426
+		$('#ITP_FORM_OPER03010_DETAIL_STREET_ADDRESS').val('');
427
+		$('#ITP_FORM_OPER03010_DETAIL_LAT').val('');
428
+		$('#ITP_FORM_OPER03010_DETAIL_LNG').val('');
429
+		$('#ITP_FORM_OPER03010_DETAIL_HJ_DONG').val('');
430
+		$('#ITP_FORM_OPER03010_DETAIL_BJ_DONG').val('');
431
+		
432
+	} else if(mode == 'MODIFY') { // 수정
433
+		$('#ITP_BTN_OPER03010_SRH').hide();
434
+		$('#ITP_BTN_OPER03010_MODIFY').hide();
435
+		$('#ITP_BTN_OPER03010_NEWREG').hide();		
436
+		$('#ITP_BTN_OPER03010_DELETE').hide();
437
+		fn_show_btn_auth('#ITP_BTN_OPER03010_RESET_PW');
438
+		fn_show_btn_auth('#ITP_BTN_OPER03010_CANCELLIST');
439
+		fn_show_btn_auth('#ITP_BTN_OPER03010_SAVE');
440
+		
441
+		$('#ITP_AJAX_OPER03010_LIST_CONTAINER').hide();
442
+		$('#ITP_AJAX_OPER03010_DETAIL_CONTAINER').show();
443
+		$('#ITP_AJAX_OPER03010_VIEW_CONTAINER').hide();
444
+		$('#ITP_FORM_OPER03010_DETAIL_CMPY_CD').attr('readonly', true);
445
+		$('#ITP_FORM_OPER03010_DETAIL_DUP').attr('disabled', true);
446
+	} else if(mode == 'VIEW') { // 보기
447
+		$('#ITP_BTN_OPER03010_SRH').hide();
448
+		$('#ITP_BTN_OPER03010_NEWREG').hide();		
449
+		$('#ITP_BTN_OPER03010_DELETE').hide();
450
+		$('#ITP_BTN_OPER03010_SAVE').hide();
451
+		fn_show_btn_auth('#ITP_BTN_OPER03010_MODIFY');
452
+		fn_show_btn_auth('#ITP_BTN_OPER03010_CANCELLIST');
453
+		
454
+		$('#ITP_AJAX_OPER03010_LIST_CONTAINER').hide();
455
+		$('#ITP_AJAX_OPER03010_DETAIL_CONTAINER').hide();
456
+		$('#ITP_AJAX_OPER03010_VIEW_CONTAINER').show();
457
+	}	
458
+};
459
+
460
+var itp_fn_OPER03010_grid = {
461
+	init: function() {
462
+		// 데이터 없을때
463
+		itp_fn_OPER03010_empty.push();
464
+		$(OPER03010_GRID_EMPTY).on('click', function() {
465
+			itp_fn_OPER03010_empty.back();
466
+			itp_OPER03010_param.gridSize = $.jgrid.defaults.rowNum;
467
+			$(OPER03010_GRID_ID).setGridParam({'postData': JSON.stringify(itp_OPER03010_param)}).trigger('reloadGrid');
468
+		});	
469
+	},
470
+	callBack: function() {
471
+		let param = $('#ITP_FORM_OPER03010_SEARCH').serializeObject();
472
+		param.gridSize = $.jgrid.defaults.rowNum;	
473
+		$(OPER03010_GRID_ID).jqGrid({
474
+			colModel: [
475
+				{
476
+					index: 'CMPY_CD', name: 'cmpyCd',
477
+					label: '가입자코드', 
478
+					width: '6', fixed: false, align: 'center',
479
+					sortable: false, hidden: false
480
+				},
481
+				{
482
+					index: 'CMPY_NM', name: 'cmpyNm',
483
+					label: '가입자명', 
484
+					width: '10', fixed: false, align: 'center',
485
+					sortable: false, hidden: false
486
+				},
487
+				{
488
+					index: 'CMPY_TYPE_NM', name: 'cmpyTypeNm',
489
+					label: '기업형태', 
490
+					width: '6', fixed: false, align: 'center',
491
+					sortable: false, hidden: false
492
+				},
493
+				{
494
+					index: 'CMPY_STAT_NM', name: 'cmpyStatNm',
495
+					label: '기업상태', 
496
+					width: '6', fixed: false, align: 'center',
497
+					sortable: false, hidden: false
498
+				},
499
+				{
500
+					index: 'BOSS_NM', name: 'bossNm',
501
+					label: '대표자명', 
502
+					width: '6', fixed: false, align: 'center',
503
+					sortable: false, hidden: false
504
+				},
505
+				{
506
+					index: 'MAIN_TEL', name: 'mainTel',
507
+					label: '대표연락처', 
508
+					width: '6', fixed: false, align: 'center',
509
+					sortable: false, hidden: false
510
+				},
511
+				{
512
+					index: 'ADD_DT', name: 'addDt',
513
+					label: '가입일자', 
514
+					width: '8', fixed: false, align: 'center',
515
+					sortable: false, hidden: false
516
+				}
517
+			],
518
+			loadBeforeSend: function(jqXHR) {
519
+			    jqXHR.setRequestHeader('X-AUTH-TOKEN', CONN_KEY);
520
+			},
521
+			postData: JSON.stringify(param),
522
+			url: DOMAIN + COMPANY_GRID_LIST,
523
+			pager: OPER03010_GRID_PAGER,
524
+			multiselect: false,
525
+			rownumbers: true, 
526
+			onCellSelect: function(rowId, cellIdx, cellValue) {
527
+				var cm = $(this).jqGrid('getGridParam', 'colModel');
528
+				var colNm = cm[cellIdx].name;
529
+				if (colNm == 'cmpyNm') {
530
+					const cmpyCdVal = $(this).jqGrid('getCell', rowId, 'cmpyCd');
531
+					const key = {cmpyCd: cmpyCdVal, viewCd: 'R'};
532
+					var param = $.param(key);
533
+					itp_fn_OPER03010_view(param);
534
+				}
535
+		   	},
536
+			loadComplete: function(data) {
537
+				console.log(JSON.stringify(data));
538
+				itp_fn_grid_load_complete(data, OPER03010_GRID_ID, true, 'number', 'OPER03010', itp_OPER03010_search, itp_fn_OPER03010_empty, true, data.gridRecords, true);
539
+				var ids = $(OPER03010_GRID_ID).getDataIDs();
540
+				$.each(ids, function(idx, rowId) {
541
+					$(OPER03010_GRID_ID).jqGrid('setCell', rowId, 'cmpyNm', '', ITP_GRID_COL_STYLE.link);
542
+				});	
543
+		    },
544
+		    loadError: function(jqXHR, textStatus, errorThrown) {
545
+		    	itp_fn_grid_load_error(jqXHR, textStatus, errorThrown);
546
+		    },
547
+		    onPaging: function(action) {
548
+		    	itp_fn_grid_paging(OPER03010_GRID_ID, action, param);
549
+		    }
550
+		}).navGrid(OPER03010_GRID_PAGER, ITP_GRID_NAV_DEFAULTS.navGrid);
551
+	},
552
+	clearData : function() {
553
+		$(OPER03010_GRID_ID).jqGrid('clearGridData', true);
554
+		$(OPER03010_GRID_LIST).find('.ui-jqgrid-bdiv').css('min-height', '100px');
555
+		$(OPER03010_GRID_EMPTY).html(ITP_MSG_LOCALE.message.grid.noData);
556
+		$(OPER03010_GRID_EMPTY).show();
557
+	}, 
558
+	unload : function() {
559
+		$.jgrid.gridUnload(OPER03010_GRID_ID); 
560
+	}
561
+};
562
+
563
+var itp_fn_OPER03010_search = function() {
564
+	itp_fn_OPER03010_switch_screen('LIST');	
565
+	itp_fn_OPER03010_grid.unload();
566
+	itp_fn_OPER03010_grid.callBack();
567
+};
568
+
569
+let itp_OPER03010_param = {};
570
+let itp_OPER03010_search = false;
571
+var itp_fn_OPER03010_empty = {
572
+	push: function() {
573
+		let param = $('#ITP_FORM_OPER03010_SEARCH').serializeObject();
574
+		itp_OPER03010_param = param;
575
+	},
576
+	back: function() {
577
+		$('#ITP_FORM_OPER03010_DEVI_TP_CD').val(itp_OPER03010_param.deviTpCd);
578
+		$('#ITP_FORM_OPER03010_ORDER_YN').val(itp_OPER03010_param.orderYn);
579
+		$('#ITP_FORM_OPER03010_ADT_AUTH_CD').val(itp_OPER03010_param.adtAuthCd);
580
+		$('#ITP_FORM_OPER03010_EMAIL_RCV_YN').val(itp_OPER03010_param.emailRcvYn);
581
+		$('#ITP_FORM_OPER03010_SMS_RCV_YN').val(itp_OPER03010_param.smsRcvYn);
582
+		$('#ITP_FORM_OPER03010_MEMB_EXIT_DT').val(itp_OPER03010_param.membExitDt);
583
+		$('#ITP_FORM_OPER03010_FROM_DT').val(itp_OPER03010_param.fromDt);
584
+		$('#ITP_FORM_OPER03010_TO_DT').val(itp_OPER03010_param.toDt);
585
+		$('#ITP_FORM_OPER03010_KEYWORD').val(itp_OPER03010_param.keyword);
586
+	}
587
+};
588
+
589
+var itp_fn_OPER03010_view = function(param) {
590
+	fn_ajax_call(COMPANY_INFO_COMPANY, param, itp_fn_OPER03010_view_callback, 'GET');
591
+};
592
+
593
+var itp_fn_OPER03010_view_callback = function(result) {
594
+	// console.log(result);
595
+	itp_fn_OPER03010_switch_screen('VIEW');
596
+	$('#ITP_FORM_OPER03010_VIEW #ITP_FORM_OPER03010_VIEW_CMPY_CD').val(result.cmpyCd);
597
+	
598
+	$('#ITP_FORM_OPER03010_VIEW .fnCmpyNm').text(result.cmpyNm);
599
+	$('#ITP_FORM_OPER03010_VIEW .fnCmpyStatCd').text(result.cmpyStatNm);
600
+	$('#ITP_FORM_OPER03010_VIEW .fnCmpyCd').text(result.cmpyCd);
601
+	$('#ITP_FORM_OPER03010_VIEW .fnCmpyTypeCd').text(result.cmpyTypeNm);
602
+	$('#ITP_FORM_OPER03010_VIEW .fnCmpyRegNum').text(result.cmpyRegNum);
603
+	$('#ITP_FORM_OPER03010_VIEW .fnFrcompAuthCd').text(result.frcompAuthNm);
604
+	$('#ITP_FORM_OPER03010_VIEW .fnCoptNum').text(result.coptNum);
605
+	$('#ITP_FORM_OPER03010_VIEW .fnBizCate').text(result.bizCate);
606
+	$('#ITP_FORM_OPER03010_VIEW .fnBizType').text(result.bizType);
607
+	$('#ITP_FORM_OPER03010_VIEW .fnBossNm').text(result.bossNm);
608
+	$('#ITP_FORM_OPER03010_VIEW .fnMainTel').text(result.mainTel);
609
+	$('#ITP_FORM_OPER03010_VIEW .fnMainFax').text(result.mainFax);
610
+	$('#ITP_FORM_OPER03010_VIEW .fnMainEmail').text(result.mainEmail);
611
+	$('#ITP_FORM_OPER03010_VIEW .fnCmpyAddress').text('('+ result.cmpyZipno + ') ' + result.cmpyAdres + ' ' + result.cmpyAdresDtl);
612
+	
613
+	$('#ITP_FORM_OPER03010_VIEW .fnAddDt').text(result.addDt);
614
+	$('#ITP_FORM_OPER03010_VIEW .fnChgDt').text(result.chgDt);
615
+	
616
+	itp_fn_OPER03010_view_map(result.cmpyAdres);	
617
+	
618
+	// 영업담당자정보  리스트 조회
619
+	itp_fn_OPER03010_view_grid.unload();
620
+	itp_fn_OPER03010_view_grid.callBack();
621
+};
622
+
623
+var itp_fn_OPER03010_view_grid = {
624
+	init: function() {
625
+	},
626
+	callBack: function() {
627
+		let param = $('#ITP_FORM_OPER03010_VIEW').serializeObject();
628
+		param.gridSize = $.jgrid.defaults.rowNum; 
629
+		param.pagingYn = false; // 페이징안함
630
+		
631
+		$(OPER03010_VIEW_GRID_ID).jqGrid({
632
+			colModel: [
633
+				{
634
+					index: 'VIEW_CD', name: 'viewCd',
635
+					label: ITP_MSG_LOCALE.label.viewCd,
636
+					width: '10', fixed: false, align: 'center',
637
+					sortable: false, hidden: true
638
+				},
639
+				{
640
+					index: 'SALES_USER_ID', name: 'salesUserId',
641
+					label: '영업담당자ID',
642
+					width: '20', fixed: false, align: 'center',
643
+					sortable: false, editable: false, edittype: 'text',
644
+					editrules: {required: true}
645
+				},
646
+				{
647
+					index: 'SALES_USER_NM', name: 'salesUserNm',
648
+					label: '영업담당자명',
649
+					width: '30', fixed: false, align: 'center',
650
+					sortable: true, editable: false, edittype: 'text',
651
+					editrules: {required: true}
652
+				},
653
+				{
654
+					index: 'USE_STAT_CD', name: 'useStatCd',
655
+					label: ITP_MSG_LOCALE.label.status,
656
+					width: '10', fixed: false, align: 'center',
657
+					sortable: false, editable: false, edittype: 'text', hidden: true
658
+				},
659
+				{
660
+					index: 'USE_STAT_NM', name: 'useStatNm',
661
+					label: ITP_MSG_LOCALE.label.status,
662
+					width: '10', fixed: false, align: 'center',
663
+					sortable: false, editable: false, edittype: 'text'
664
+				},
665
+				{
666
+					index: 'CMPY_CD', name: 'cmpyCd',
667
+					label: '가맹점코드',
668
+					width: '10', fixed: false, align: 'center',
669
+					sortable: false, editable: false, edittype: 'text', hidden: true
670
+				}
671
+			],
672
+			loadBeforeSend: function(jqXHR) {
673
+			    jqXHR.setRequestHeader('X-AUTH-TOKEN', CONN_KEY);
674
+			},
675
+			postData: JSON.stringify(param),
676
+			url: DOMAIN + USER_SALESUSER_GRID_LIST,
677
+			pager: OPER03010_VIEW_GRID_PAGER,
678
+			multiselect: false,
679
+			loadComplete: function(data) {				
680
+				itp_fn_grid_load_complete(data, OPER03010_VIEW_GRID_ID, true, undefined, 'OPER03010_VIEW');
681
+		    },
682
+		    loadError: function(jqXHR, textStatus, errorThrown) {
683
+		    	itp_fn_grid_load_error(jqXHR, textStatus, errorThrown);
684
+		    },
685
+		    onPaging: function(action) {
686
+		    	var pagingFn = {
687
+	    			callBack: function(args) {
688
+	    				$(args).trigger('reloadGrid');
689
+	    			}
690
+	    		};
691
+		    	if (itp_fn_check_grid_is_writing(OPER03010_VIEW_GRID_ID)) {
692
+		    		itp_fn_modal_confirm(ITP_MSG_LOCALE.message.ajax.cancelData, pagingFn, OPER03010_VIEW_GRID_ID);
693
+		    		return 'stop';
694
+		    	} else {
695
+		    		itp_fn_grid_paging(OPER03010_VIEW_GRID_ID, action, param);
696
+		    	}
697
+		    },
698
+		    onSortCol: function(index, columnIndex, sortOrder) {
699
+		    	var sortingFn = {
700
+	    			callBack: function(args) {
701
+	    				$(args).trigger('reloadGrid');
702
+	    			}
703
+	    		};
704
+		    	if (itp_fn_check_grid_is_writing(OPER03010_VIEW_GRID_ID)) {
705
+		    		itp_fn_modal_confirm(ITP_MSG_LOCALE.message.ajax.cancelData, sortingFn, OPER03010_VIEW_GRID_ID);
706
+		    		return 'stop';
707
+		    	} else {
708
+		    		itp_fn_grid_sorting(OPER03010_VIEW_GRID_ID, index, sortOrder);
709
+		    	}
710
+		    }
711
+		}).navGrid(OPER03010_VIEW_GRID_PAGER, ITP_GRID_NAV_DEFAULTS.navGrid);
712
+	},
713
+	clearData : function() {
714
+		$(OPER03010_VIEW_GRID_ID).jqGrid('clearGridData', true);
715
+		$(OPER03010_VIEW_GRID_LIST).find('.ui-jqgrid-bdiv').css('min-height', '100px');
716
+		$(OPER03010_VIEW_GRID_EMPTY).html(ITP_MSG_LOCALE.message.grid.noData);
717
+		$(OPER03010_VIEW_GRID_EMPTY).show();
718
+	}, 
719
+	unload : function() {
720
+		$.jgrid.gridUnload(OPER03010_VIEW_GRID_ID); 
721
+	}
722
+};
723
+
724
+var itp_fn_OPER03010_detail = function(param) {
725
+	fn_ajax_call(COMPANY_INFO_COMPANY, param, itp_fn_OPER03010_detail_callback, 'GET');
726
+};
727
+
728
+var itp_fn_OPER03010_detail_callback = function(result) {
729
+	// console.log(result);
730
+	itp_fn_OPER03010_switch_screen('MODIFY');
731
+	$('#ITP_FORM_OPER03010_DETAIL #ITP_FORM_OPER03010_DETAIL_VIEW_CD').val('U');
732
+	
733
+	$('#ITP_FORM_OPER03010_DETAIL #ITP_FORM_OPER03010_DETAIL_CMPY_NM').val(result.cmpyNm);
734
+	$('#ITP_FORM_OPER03010_DETAIL #ITP_FORM_OPER03010_DETAIL_CMPY_STAT_CD').val(result.cmpyStatCd);
735
+	$('#ITP_FORM_OPER03010_DETAIL #ITP_FORM_OPER03010_DETAIL_FRCOMP_AUTH_CD').val(result.frcompAuthCd);
736
+	$('#ITP_FORM_OPER03010_DETAIL #ITP_FORM_OPER03010_DETAIL_CMPY_CD').val(result.cmpyCd);	
737
+	$('#ITP_FORM_OPER03010_DETAIL #ITP_FORM_OPER03010_DETAIL_CMPY_TYPE_CD').val(result.cmpyTypeCd);
738
+	$('#ITP_FORM_OPER03010_DETAIL #ITP_FORM_OPER03010_DETAIL_CMPY_REG_NUM').val(result.cmpyRegNum);
739
+	$('#ITP_FORM_OPER03010_DETAIL #ITP_FORM_OPER03010_DETAIL_COPT_NUM').val(result.coptNum);
740
+	$('#ITP_FORM_OPER03010_DETAIL #ITP_FORM_OPER03010_DETAIL_BIZ_CATE').val(result.bizCate);
741
+	$('#ITP_FORM_OPER03010_DETAIL #ITP_FORM_OPER03010_DETAIL_BIZ_TYPE').val(result.bizType);
742
+	$('#ITP_FORM_OPER03010_DETAIL #ITP_FORM_OPER03010_DETAIL_BOSS_NM').val(result.bossNm);
743
+	$('#ITP_FORM_OPER03010_DETAIL #ITP_FORM_OPER03010_DETAIL_MAIN_TEL').val(result.mainTel);
744
+	$('#ITP_FORM_OPER03010_DETAIL #ITP_FORM_OPER03010_DETAIL_MAIN_FAX').val(result.mainFax);
745
+	$('#ITP_FORM_OPER03010_DETAIL #ITP_FORM_OPER03010_DETAIL_MAIN_EMAIL').val(result.mainEmail);
746
+		
747
+	$('#ITP_FORM_OPER03010_DETAIL #ITP_FORM_OPER03010_DETAIL_CMPY_ZIPNO').val(result.cmpyZipno);	
748
+	$('#ITP_FORM_OPER03010_DETAIL #ITP_FORM_OPER03010_DETAIL_CMPY_ADRES').val(result.cmpyAdres);	
749
+	$('#ITP_FORM_OPER03010_DETAIL #ITP_FORM_OPER03010_DETAIL_CMPY_ADRES_DTL').val(result.cmpyAdresDtl);		
750
+	
751
+	$('#ITP_FORM_OPER03010_DETAIL .fnAddDt').text(result.addDt);
752
+	$('#ITP_FORM_OPER03010_DETAIL .fnChgDt').text(result.chgDt);
753
+	
754
+	itp_fn_OPER03010_detail_map($('#ITP_FORM_OPER03010_DETAIL_CMPY_ADRES').val());
755
+	
756
+	// 영업담당자 리스트 조회
757
+	itp_fn_OPER03010_detail_grid.unload();
758
+	itp_fn_OPER03010_detail_grid.callBack();
759
+};
760
+
761
+
762
+var itp_fn_OPER03010_detail_grid = {
763
+	init: function() {
764
+	},
765
+	callBack: function() {
766
+		let param = $('#ITP_FORM_OPER03010_DETAIL').serializeObject();
767
+		param.gridSize = $.jgrid.defaults.rowNum; 
768
+		param.pagingYn = false; // 페이지안함 
769
+		
770
+		$(OPER03010_DETAIL_GRID_ID).jqGrid({
771
+			colModel: [
772
+				{
773
+					index: 'VIEW_CD', name: 'viewCd',
774
+					label: ITP_MSG_LOCALE.label.viewCd,
775
+					width: '10', fixed: false, align: 'center',
776
+					sortable: false, hidden: true
777
+				},
778
+				{
779
+					index: 'SALES_USER_ID', name: 'salesUserId',
780
+					label: '영업담당자ID',
781
+					width: '20', fixed: false, align: 'center',
782
+					sortable: false, editable: false, edittype: 'text',
783
+					editrules: {required: true}
784
+				},
785
+				{
786
+					index: 'SALES_USER_NM', name: 'salesUserNm',
787
+					label: '영업담당자명',
788
+					width: '30', fixed: false, align: 'center',
789
+					sortable: true, editable: false, edittype: 'text',
790
+					editrules: {required: true}
791
+				},
792
+				{
793
+					index: 'USE_STAT_CD', name: 'useStatCd',
794
+					label: ITP_MSG_LOCALE.label.status,
795
+					width: '10', fixed: false, align: 'center',
796
+					sortable: false, editable: false, edittype: 'text', hidden: true
797
+				},
798
+				{
799
+					index: 'USE_STAT_NM', name: 'useStatNm',
800
+					label: ITP_MSG_LOCALE.label.status,
801
+					width: '10', fixed: false, align: 'center',
802
+					sortable: false, editable: false, edittype: 'text'
803
+				},
804
+				{
805
+					index: 'CMPY_CD', name: 'cmpyCd',
806
+					label: '가맹점코드',
807
+					width: '10', fixed: false, align: 'center',
808
+					sortable: false, editable: false, edittype: 'text', hidden: true
809
+				}
810
+			],
811
+			loadBeforeSend: function(jqXHR) {
812
+			    jqXHR.setRequestHeader('X-AUTH-TOKEN', CONN_KEY);
813
+			},
814
+			postData: JSON.stringify(param),
815
+			url: DOMAIN + USER_SALESUSER_GRID_LIST,
816
+			pager: OPER03010_DETAIL_GRID_PAGER,
817
+			loadComplete: function(data) {				
818
+				itp_fn_grid_load_complete(data, OPER03010_DETAIL_GRID_ID, true, undefined, 'OPER03010_DETAIL');
819
+		    },
820
+		    loadError: function(jqXHR, textStatus, errorThrown) {
821
+		    	itp_fn_grid_load_error(jqXHR, textStatus, errorThrown);
822
+		    },
823
+		    onPaging: function(action) {
824
+		    	var pagingFn = {
825
+	    			callBack: function(args) {
826
+	    				$(args).trigger('reloadGrid');
827
+	    			}
828
+	    		};
829
+		    	if (itp_fn_check_grid_is_writing(OPER03010_DETAIL_GRID_ID)) {
830
+		    		itp_fn_modal_confirm(ITP_MSG_LOCALE.message.ajax.cancelData, pagingFn, OPER03010_DETAIL_GRID_ID);
831
+		    		return 'stop';
832
+		    	} else {
833
+		    		itp_fn_grid_paging(OPER03010_DETAIL_GRID_ID, action, param);
834
+		    	}
835
+		    },
836
+		    onSortCol: function(index, columnIndex, sortOrder) {
837
+		    	var sortingFn = {
838
+	    			callBack: function(args) {
839
+	    				$(args).trigger('reloadGrid');
840
+	    			}
841
+	    		};
842
+		    	if (itp_fn_check_grid_is_writing(OPER03010_DETAIL_GRID_ID)) {
843
+		    		itp_fn_modal_confirm(ITP_MSG_LOCALE.message.ajax.cancelData, sortingFn, OPER03010_DETAIL_GRID_ID);
844
+		    		return 'stop';
845
+		    	} else {
846
+		    		itp_fn_grid_sorting(OPER03010_DETAIL_GRID_ID, index, sortOrder);
847
+		    	}
848
+		    }
849
+		}).navGrid(OPER03010_DETAIL_GRID_PAGER, ITP_GRID_NAV_DEFAULTS.navGrid);
850
+	},
851
+	clearData : function() {
852
+		$(OPER03010_DETAIL_GRID_ID).jqGrid('clearGridData', true);
853
+		$(OPER03010_DETAIL_GRID_LIST).find('.ui-jqgrid-bdiv').css('min-height', '100px');
854
+		$(OPER03010_DETAIL_GRID_EMPTY).html(ITP_MSG_LOCALE.message.grid.noData);
855
+		$(OPER03010_DETAIL_GRID_EMPTY).show();
856
+	}, 
857
+	unload : function() {
858
+		$.jgrid.gridUnload(OPER03010_DETAIL_GRID_ID); 
859
+	}
860
+};

+ 555 - 0
src/main/webapp/js/app/oper/ITP_OPER04010.js

@@ -0,0 +1,555 @@
1
+
2
+const OPER04010_GRID_ID = '#ITP_OPER04010_jqGrid';
3
+const OPER04010_GRID_LIST = '#ITP_OPER04010_jqGrid_list';
4
+const OPER04010_GRID_PAGER = '#ITP_OPER04010_jqGridPager';
5
+const OPER04010_GRID_EMPTY = '#ITP_OPER04010_jqGridEmpty';
6
+
7
+let ITP_FORM_OPER04010_DETAIL_IS_DUPLICATE = false;
8
+let ITP_FORM_OPER04010_DETAIL_IS_WRITING = false;
9
+
10
+let SALES_USER_GRID_LIST = '/api/sauser/grid-list';
11
+let SALES_USER_INFO = '/api/sauser/info-salesuser';
12
+let SALES_USER_SAVE = '/api/sauser/save-salesusesr';
13
+let SALES_USER_CHECK_DUPLICATE = '/api/sauser/check-duplicate';
14
+let USER_INTI_USERPW = '/api/user/inti-userpw';
15
+
16
+require(['config'], function() {
17
+	require([
18
+		'jquery', 
19
+		'kakao.postcode', 
20
+		'kakao.maps'
21
+	], function($) {
22
+		// 버튼 권한설정
23
+		fn_proc_btn_auth('OPER04010');
24
+		// 공통코드 표시
25
+		fn_make_select(CODE_LIST, 'USE_STAT_CD', 'ITP_FORM_OPER04010_SEARCH_USE_STAT_CD');
26
+		fn_make_select(CODE_LIST, 'USE_STAT_CD', 'ITP_FORM_OPER04010_DETAIL_USE_STAT_CD', true, '선택');
27
+		fn_make_select(CODE_LIST, 'SALES_TYPE_CD', 'ITP_FORM_OPER04010_DETAIL_SALES_TYPE_CD', true, '선택');
28
+		
29
+		// 조회일자 지정
30
+		// var now = new Date();
31
+		$('#ITP_TAB_OPER04010 .input-group.date').datepicker(ITP_DATE_LANGUAGE);
32
+		// $('#ITP_FORM_OPER04010_SEARCH_FROM_DT').datepicker('setDate', new Date(now.setMonth(now.getMonth() - 1)));
33
+		// $('#ITP_FORM_OPER04010_SEARCH_TO_DT').datepicker('setDate', new Date());
34
+				
35
+		// 그리드				
36
+		itp_fn_jqgrid_resize(OPER04010_GRID_ID, OPER04010_GRID_LIST, 'lg');
37
+		itp_fn_OPER04010_grid.init();
38
+    	itp_fn_fire_window_resize();
39
+
40
+		// 조회    	
41
+    	itp_fn_OPER04010_search();
42
+    	
43
+		// 조회 버튼 클릭
44
+		$('#ITP_BTN_OPER04010_SRH').on('click', function() {
45
+			itp_OPER04010_search = true;
46
+			let param = $('#ITP_FORM_OPER04010_SEARCH').serializeObject();
47
+			param.gridSize = $.jgrid.defaults.rowNum;
48
+			param.gridPage = $.jgrid.defaults.page;
49
+			$(OPER04010_GRID_ID).setGridParam({'postData': JSON.stringify(param)}).trigger('reloadGrid');
50
+		});
51
+		
52
+		// 수정 버튼
53
+		$('#ITP_BTN_OPER04010_MODIFY').on('click', function() {
54
+			itp_fn_form_clear_validate(null, '#ITP_FORM_OPER04010_DETAIL');			
55
+			const salesUserIdVal = $('#ITP_FORM_OPER04010_VIEW_SALES_USER_ID').val();
56
+			const key = {salesUserId: salesUserIdVal, viewCd: 'R'};
57
+			var param = $.param(key);
58
+			itp_fn_OPER04010_detail(param);	
59
+		});
60
+		
61
+		// 신규등록 버튼
62
+		$('#ITP_BTN_OPER04010_NEWREG').on('click', function() {
63
+			itp_fn_OPER04010_switch_screen('ADD');			
64
+			itp_fn_form_clear_validate(null, '#ITP_FORM_OPER04010_DETAIL');
65
+			itp_fn_OPER04010_detail_map($('#ITP_FORM_OPER04010_DETAIL_STREET_ADDRESS').val());				
66
+		});
67
+		
68
+		// 취소/목록 버튼
69
+		$('#ITP_BTN_OPER04010_CANCELLIST').on('click', function() {
70
+			itp_fn_OPER04010_search();
71
+    	});
72
+		
73
+		// 삭제 버튼
74
+		$('#ITP_BTN_OPER04010_DELETE').on('click', function() {
75
+			
76
+		});
77
+		
78
+		// 저장 버튼
79
+		$('#ITP_BTN_OPER04010_SAVE').on('click', function() {			
80
+			const formId = '#ITP_FORM_OPER04010_DETAIL';
81
+			itp_fn_form_clear_validate(null, formId);			
82
+			var vali_salesUserId = itp_fn_form_validate(formId, formId + '_SALES_USER_ID', ['empty'], undefined);
83
+			var vali_salesTypeCd = itp_fn_form_validate(formId, formId + '_SALES_TYPE_CD', ['empty'], undefined);
84
+			var vali_useStatCd = itp_fn_form_validate(formId, formId + '_USE_STAT_CD', ['empty'], undefined);
85
+			var vali_salesUserNm = itp_fn_form_validate(formId, formId + '_SALES_USER_NM', ['empty'], undefined);			
86
+			var vali_telNo = itp_fn_form_validate(formId, formId + '_TEL_NO', ['empty'], undefined);
87
+			var vali_email = itp_fn_form_validate(formId, formId + 'EMAIL', ['empty'], undefined);
88
+			
89
+			if (vali_salesUserId && vali_salesTypeCd && vali_useStatCd && vali_salesUserNm && vali_telNo && vali_email) {
90
+				
91
+				if($('#ITP_FORM_OPER04010_DETAIL_ZIPNO').val() == '' || $('#ITP_FORM_OPER04010_DETAIL_ADRES').val() == '') {
92
+					itp_fn_modal_alert('주소 검색을 통해 회사 주소를 입력하세요.');
93
+					return;
94
+				}
95
+				
96
+				if (ITP_FORM_OPER04010_DETAIL_IS_DUPLICATE) {
97
+					itp_fn_modal_duplicate('영업담당자 ID 중복체크를 해주세요.', formId + '_SALES_USER_ID');
98
+				} else {
99
+					let param = $(formId).serializeObject();
100
+					var searhFn = function() {
101
+						ITP_FORM_OPER04010_DETAIL_IS_WRITING = false;
102
+						itp_fn_OPER04010_search();
103
+					};
104
+					console.log(JSON.stringify(param));
105
+					fn_ajax_call(SALES_USER_SAVE, JSON.stringify(param), searhFn, 'POST');	
106
+				}
107
+			}
108
+		});		
109
+		
110
+		// 중복체크
111
+		$('#ITP_FORM_OPER04010_DETAIL_DUP').on('click', function() {
112
+			const formId = '#ITP_FORM_OPER04010_DETAIL';
113
+			itp_fn_form_clear_validate(null, formId + '_DETAIL');
114
+			var vali_salesUserId = itp_fn_form_validate(formId + '_DETAIL', formId + '_SALES_USER_ID', ['empty'], undefined);
115
+			if (vali_salesUserId) {
116
+				var dupFn = function(result) {
117
+					if (result.code == 'N') {
118
+						ITP_FORM_OPER04010_DETAIL_IS_DUPLICATE = false;
119
+					} else {
120
+						ITP_FORM_OPER04010_DETAIL_IS_DUPLICATE = true;
121
+					}
122
+				};
123
+				const key = {'salesUserId':  $(formId + '_SALES_USER_ID').val()};
124
+				const param = $.param(key);
125
+				fn_ajax_call(SALES_USER_CHECK_DUPLICATE, param, dupFn, 'GET');
126
+			}
127
+		});
128
+		
129
+		// 상세:비밀번호 초기화
130
+		$('#ITP_BTN_OPER04010_RESET_PW').on('click', function() {
131
+			var resetPwFn = {
132
+				callBack: function(args) {
133
+					const key = {'userId':  $('#ITP_FORM_OPER04010_DETAIL_SALES_USER_ID').val()};
134
+					const param = $.param(key);
135
+					fn_ajax_call(USER_INTI_USERPW, param, undefined, 'GET');					
136
+				}
137
+			};
138
+			itp_fn_modal_confirm(ITP_MSG_LOCALE.message.ajax.askResetUserPw, resetPwFn, null);		
139
+		});
140
+		
141
+		$('#ITP_FORM_OPER04010_DETAIL_ADRES_SCH').on('click', function() {
142
+			new daum.Postcode({
143
+		    	oncomplete: function(data) {
144
+					// 전체주소 리턴
145
+					document.getElementById('ITP_FORM_OPER04010_DETAIL_ZIPNO').value = data.zonecode;
146
+					document.getElementById('ITP_FORM_OPER04010_DETAIL_ADRES').value = data.roadAddress;
147
+					document.getElementById('ITP_FORM_OPER04010_DETAIL_LOTS_ADDRESS').value = !!data.autoJibunAddress ? data.autoJibunAddress : data.jibunAddress;
148
+					document.getElementById('ITP_FORM_OPER04010_DETAIL_STREET_ADDRESS').value = data.roadAddress;
149
+					document.getElementById('ITP_FORM_OPER04010_DETAIL_HJ_DONG').value = !!data.hname ? data.hname : data.bname;
150
+					document.getElementById('ITP_FORM_OPER04010_DETAIL_BJ_DONG').value = data.bname;
151
+					
152
+					itp_fn_OPER04010_detail_map(data.roadAddress);
153
+					document.getElementById('ITP_FORM_OPER04010_DETAIL_ADRES_DTL').focus();		  
154
+		        }
155
+			}).open();
156
+		});
157
+		
158
+	});
159
+});
160
+
161
+var itp_fn_OPER04010_detail_map = function(locate) {
162
+	
163
+	kakao.maps.load(function() {
164
+				
165
+		var mapContainer = document.getElementById('ITP_FORM_OPER04010_DETAIL_MAP'), // 지도를 표시할 div 
166
+		    mapOption = {
167
+		        center: new kakao.maps.LatLng(37.56684, 126.97865), // 지도의 중심좌표
168
+		        level: 3, // 지도의 확대 레벨
169
+		        mapTypeId : kakao.maps.MapTypeId.ROADMAP // 지도종류
170
+		    }; 
171
+	
172
+		// 지도를 생성한다 
173
+		var map = new kakao.maps.Map(mapContainer, mapOption); 
174
+		
175
+		// 마우스 휠과 모바일 터치를 이용한 지도 확대, 축소를 막는다
176
+		map.setZoomable(false);   
177
+	
178
+		// 지도에 확대 축소 컨트롤을 생성한다
179
+		//var zoomControl = new kakao.maps.ZoomControl();
180
+	
181
+		// 지도의 우측에 확대 축소 컨트롤을 추가한다
182
+		//map.addControl(zoomControl, kakao.maps.ControlPosition.RIGHT);
183
+	
184
+		function searchDetailAddrFromCoords(coords, callback) {
185
+		    // 좌표로 법정동 상세 주소 정보를 요청합니다
186
+		    geocoder.coord2Address(coords.getLng(), coords.getLat(), callback);
187
+		}
188
+		
189
+		// 주소-좌표 변환 객체를 생성합니다
190
+		var geocoder = new kakao.maps.services.Geocoder();	
191
+		var map;
192
+		
193
+		if( !locate || locate.length == 0 ) {
194
+			// 지도에 마커를 생성하고 표시한다
195
+		    	marker = new kakao.maps.Marker({
196
+		  	    position: new kakao.maps.LatLng(37.56684, 126.97865), // 마커의 좌표
197
+		   	    map: map // 마커를 표시할 지도 객체
198
+	    	});
199
+		} else {
200
+			// 주소로 좌표를 검색합니다
201
+			geocoder.addressSearch(locate, function(result, status) {
202
+			    // 정상적으로 검색이 완료됐으면 
203
+			     if (status === kakao.maps.services.Status.OK) {
204
+		
205
+			        var coords = new kakao.maps.LatLng(result[0].y, result[0].x);
206
+			        document.getElementById('ITP_FORM_OPER04010_DETAIL_LAT').value = result[0].y;
207
+			        document.getElementById('ITP_FORM_OPER04010_DETAIL_LNG').value = result[0].x;
208
+			        
209
+			        // 결과값으로 받은 위치를 마커로 표시합니다
210
+			        	marker = new kakao.maps.Marker({
211
+			            map: map,
212
+			            position: coords
213
+			        });
214
+		
215
+			        // 지도의 중심을 결과값으로 받은 위치로 이동시킵니다
216
+			        map.setCenter(coords);
217
+			    }
218
+			});    
219
+		}
220
+		
221
+		// 지도 드래깅 이벤트를 등록한다 (드래그 시작 : dragstart, 드래그 종료 : dragend)
222
+		kakao.maps.event.addListener(map, 'drag', function () {
223
+		    searchDetailAddrFromCoords(map.getCenter(), function(result, status) {
224
+		        if (status === kakao.maps.services.Status.OK) {
225
+	
226
+	   		        document.getElementById('ITP_FORM_OPER04010_DETAIL_LOTS_ADDRESS').value = result[0].address.address_name ;
227
+	   		        document.getElementById('ITP_FORM_OPER04010_DETAIL_ADRES').value = !!result[0].road_address ? result[0].road_address.address_name : result[0].address.address_name ;
228
+	   		        document.getElementById('ITP_FORM_OPER04010_DETAIL_STREET_ADDRESS').value = !!result[0].road_address ? result[0].road_address.address_name : $('#ITP_FORM_OPER04010_DETAIL_STREET_ADDRESS').val();
229
+	   		        document.getElementById('ITP_FORM_OPER04010_DETAIL_ZIPNO').value = !!result[0].road_address ? result[0].road_address.zone_no : $('#ITP_FORM_OPER04010_DETAIL_CMPY_ZIPNO').val() ;
230
+			        document.getElementById('ITP_FORM_OPER04010_DETAIL_LAT').value = map.getCenter().getLat();
231
+			        document.getElementById('ITP_FORM_OPER04010_DETAIL_LNG').value = map.getCenter().getLng();
232
+		                        
233
+		            // 마커를 클릭한 위치에 표시합니다
234
+		            marker.setPosition(map.getCenter());
235
+		            marker.setMap(map);
236
+		        }   
237
+		    });
238
+			/* 	var message = '지도를 드래그 하고 있습니다. 지도의 중심 좌표는 ' + map.getCenter().toString() +' 입니다.';
239
+			console.log(message); */
240
+		});
241
+	});
242
+};
243
+
244
+var itp_fn_OPER04010_view_map = function(locate) {
245
+	
246
+	kakao.maps.load(function() {
247
+				
248
+		var mapContainer = document.getElementById('ITP_FORM_OPER04010_VIEW_MAP'), // 지도를 표시할 div 
249
+		    mapOption = {
250
+		        center: new kakao.maps.LatLng(37.56684, 126.97865), // 지도의 중심좌표
251
+		        level: 3, // 지도의 확대 레벨
252
+		        mapTypeId : kakao.maps.MapTypeId.ROADMAP // 지도종류
253
+		    }; 
254
+	
255
+		// 지도를 생성한다 
256
+		var map = new kakao.maps.Map(mapContainer, mapOption); 
257
+		
258
+		// 마우스 휠과 모바일 터치를 이용한 지도 확대, 축소를 막는다
259
+		map.setZoomable(false);   
260
+	
261
+		// 지도에 확대 축소 컨트롤을 생성한다
262
+		//var zoomControl = new kakao.maps.ZoomControl();
263
+	
264
+		// 지도의 우측에 확대 축소 컨트롤을 추가한다
265
+		//map.addControl(zoomControl, kakao.maps.ControlPosition.RIGHT);
266
+		
267
+		// 주소-좌표 변환 객체를 생성합니다
268
+		var geocoder = new kakao.maps.services.Geocoder();	
269
+		var map;
270
+		
271
+		if( !locate || locate.length == 0 ) {
272
+			// 지도에 마커를 생성하고 표시한다
273
+		    	marker = new kakao.maps.Marker({
274
+		  	    position: new kakao.maps.LatLng(37.56684, 126.97865), // 마커의 좌표
275
+		   	    map: map // 마커를 표시할 지도 객체
276
+	    	});
277
+		} else {
278
+			// 주소로 좌표를 검색합니다
279
+			geocoder.addressSearch(locate, function(result, status) {
280
+			    // 정상적으로 검색이 완료됐으면 
281
+			     if (status === kakao.maps.services.Status.OK) {
282
+		
283
+			        var coords = new kakao.maps.LatLng(result[0].y, result[0].x);
284
+			        
285
+			        // 결과값으로 받은 위치를 마커로 표시합니다
286
+			        marker = new kakao.maps.Marker({
287
+			            map: map,
288
+			            position: coords
289
+			        });
290
+		
291
+			        // 지도의 중심을 결과값으로 받은 위치로 이동시킵니다
292
+			        map.setCenter(coords);
293
+			    }
294
+			});    
295
+		}
296
+	});
297
+};
298
+	
299
+var itp_fn_OPER04010_switch_screen = function(mode) {
300
+	if(mode == 'LIST') { // 목록
301
+		$('#ITP_BTN_OPER04010_MODIFY').hide();
302
+		$('#ITP_BTN_OPER04010_CANCELLIST').hide();
303
+		$('#ITP_BTN_OPER04010_DELETE').hide();
304
+		$('#ITP_BTN_OPER04010_SAVE').hide();
305
+		fn_show_btn_auth('#ITP_BTN_OPER04010_SRH');
306
+		fn_show_btn_auth('#ITP_BTN_OPER04010_NEWREG');
307
+		
308
+		$('#ITP_AJAX_OPER04010_LIST_CONTAINER').show();
309
+		$('#ITP_AJAX_OPER04010_DETAIL_CONTAINER').hide();		
310
+		$('#ITP_AJAX_OPER04010_VIEW_CONTAINER').hide();
311
+	} else if(mode == 'ADD') { // 등록
312
+		ITP_FORM_OPER04010_DETAIL_IS_DUPLICATE = true;
313
+	
314
+		$('#ITP_BTN_OPER04010_SRH').hide();
315
+		$('#ITP_BTN_OPER04010_MODIFY').hide();
316
+		$('#ITP_BTN_OPER04010_NEWREG').hide();
317
+		$('#ITP_BTN_OPER04010_DELETE').hide();
318
+		$('#ITP_BTN_OPER04010_RESET_PW').hide();
319
+		fn_show_btn_auth('#ITP_BTN_OPER04010_CANCELLIST');
320
+		fn_show_btn_auth('#ITP_BTN_OPER04010_SAVE');
321
+		
322
+		$('#ITP_AJAX_OPER04010_LIST_CONTAINER').hide();
323
+		$('#ITP_AJAX_OPER04010_DETAIL_CONTAINER').show();
324
+		$('#ITP_AJAX_OPER04010_VIEW_CONTAINER').hide();		
325
+		$('#ITP_FORM_OPER04010_DETAIL_SALES_USER_ID').removeAttr('readonly');
326
+		$('#ITP_FORM_OPER04010_DETAIL_DUP').removeAttr('disabled');
327
+		
328
+		$('#ITP_FORM_OPER04010_DETAIL_VIEW_CD').val('C');
329
+		$('#ITP_FORM_OPER04010_DETAIL_SALES_USER_NM').val('');
330
+		$('#ITP_FORM_OPER04010_DETAIL_SALES_TYPE_CD').val('');
331
+		$('#ITP_FORM_OPER04010_DETAIL_USE_STAT_CD').val('');
332
+		$('#ITP_FORM_OPER04010_DETAIL_SALES_USER_ID').val('');
333
+		$('#ITP_FORM_OPER04010_DETAIL_TEL_NO').val('');
334
+		$('#ITP_FORM_OPER04010_DETAIL_FAX_NO').val('');
335
+		$('#ITP_FORM_OPER04010_DETAIL_EMAIL').val('');
336
+		$('#ITP_FORM_OPER04010_DETAIL_ZIPNO').val('');
337
+		$('#ITP_FORM_OPER04010_DETAIL_ADRES').val('');
338
+		$('#ITP_FORM_OPER04010_DETAIL_ADRES_DTL').val('');
339
+		$('#ITP_FORM_OPER04010_DETAIL_LOTS_ADDRESS').val('');
340
+		$('#ITP_FORM_OPER04010_DETAIL_STREET_ADDRESS').val('');
341
+		$('#ITP_FORM_OPER04010_DETAIL_LAT').val('');
342
+		$('#ITP_FORM_OPER04010_DETAIL_LNG').val('');
343
+		$('#ITP_FORM_OPER04010_DETAIL_HJ_DONG').val('');
344
+		$('#ITP_FORM_OPER04010_DETAIL_BJ_DONG').val('');
345
+		
346
+	} else if(mode == 'MODIFY') { // 수정
347
+		$('#ITP_BTN_OPER04010_SRH').hide();
348
+		$('#ITP_BTN_OPER04010_MODIFY').hide();
349
+		$('#ITP_BTN_OPER04010_NEWREG').hide();		
350
+		$('#ITP_BTN_OPER04010_DELETE').hide();
351
+		fn_show_btn_auth('#ITP_BTN_OPER04010_RESET_PW');
352
+		fn_show_btn_auth('#ITP_BTN_OPER04010_CANCELLIST');
353
+		fn_show_btn_auth('#ITP_BTN_OPER04010_SAVE');
354
+		
355
+		$('#ITP_AJAX_OPER04010_LIST_CONTAINER').hide();
356
+		$('#ITP_AJAX_OPER04010_DETAIL_CONTAINER').show();
357
+		$('#ITP_AJAX_OPER04010_VIEW_CONTAINER').hide();
358
+		$('#ITP_FORM_OPER04010_DETAIL_SALES_USER_ID').attr('readonly', true);
359
+		$('#ITP_FORM_OPER04010_DETAIL_DUP').attr('disabled', true);
360
+	} else if(mode == 'VIEW') { // 보기
361
+		$('#ITP_BTN_OPER04010_SRH').hide();
362
+		$('#ITP_BTN_OPER04010_NEWREG').hide();		
363
+		$('#ITP_BTN_OPER04010_DELETE').hide();
364
+		$('#ITP_BTN_OPER04010_SAVE').hide();
365
+		fn_show_btn_auth('#ITP_BTN_OPER04010_MODIFY');
366
+		fn_show_btn_auth('#ITP_BTN_OPER04010_CANCELLIST');
367
+		
368
+		$('#ITP_AJAX_OPER04010_LIST_CONTAINER').hide();
369
+		$('#ITP_AJAX_OPER04010_DETAIL_CONTAINER').hide();
370
+		$('#ITP_AJAX_OPER04010_VIEW_CONTAINER').show();
371
+	}	
372
+};
373
+
374
+var itp_fn_OPER04010_grid = {
375
+	init: function() {
376
+		// 데이터 없을때
377
+		itp_fn_OPER04010_empty.push();
378
+		$(OPER04010_GRID_EMPTY).on('click', function() {
379
+			itp_fn_OPER04010_empty.back();
380
+			itp_OPER04010_param.gridSize = $.jgrid.defaults.rowNum;
381
+			$(OPER04010_GRID_ID).setGridParam({'postData': JSON.stringify(itp_OPER04010_param)}).trigger('reloadGrid');
382
+		});	
383
+	},
384
+	callBack: function() {
385
+		let param = $('#ITP_FORM_OPER04010_SEARCH').serializeObject();
386
+		param.gridSize = $.jgrid.defaults.rowNum;	
387
+		$(OPER04010_GRID_ID).jqGrid({
388
+			colModel: [
389
+				{
390
+					index: 'SALES_USER_ID', name: 'salesUserId',
391
+					label: '영업담당자ID', 
392
+					width: '6', fixed: false, align: 'center',
393
+					sortable: false, hidden: false
394
+				},
395
+				{
396
+					index: 'SALES_USER_NM', name: 'salesUserNm',
397
+					label: '영업담당자명', 
398
+					width: '10', fixed: false, align: 'center',
399
+					sortable: false, hidden: false
400
+				},
401
+				{
402
+					index: 'SALES_TYPE_NM', name: 'salesTypeNm',
403
+					label: '영업타입', 
404
+					width: '6', fixed: false, align: 'center',
405
+					sortable: false, hidden: false
406
+				},
407
+				{
408
+					index: 'USE_STAT_NM', name: 'useStatNm',
409
+					label: '상태', 
410
+					width: '6', fixed: false, align: 'center',
411
+					sortable: false, hidden: false
412
+				},
413
+				{
414
+					index: 'ADD_DT', name: 'addDt',
415
+					label: '가입일자', 
416
+					width: '8', fixed: false, align: 'center',
417
+					sortable: false, hidden: false
418
+				}
419
+			],
420
+			loadBeforeSend: function(jqXHR) {
421
+			    jqXHR.setRequestHeader('X-AUTH-TOKEN', CONN_KEY);
422
+			},
423
+			postData: JSON.stringify(param),
424
+			url: DOMAIN + SALES_USER_GRID_LIST,
425
+			pager: OPER04010_GRID_PAGER,
426
+			multiselect: false,
427
+			rownumbers: true, 
428
+			onCellSelect: function(rowId, cellIdx, cellValue) {
429
+				var cm = $(this).jqGrid('getGridParam', 'colModel');
430
+				var colNm = cm[cellIdx].name;
431
+				if (colNm == 'salesUserId') {
432
+					const salesUserIdVal = $(this).jqGrid('getCell', rowId, 'salesUserId');
433
+					const key = {salesUserId: salesUserIdVal, viewCd: 'R'};
434
+					var param = $.param(key);
435
+					itp_fn_OPER04010_view(param);
436
+				}
437
+		   	},
438
+			loadComplete: function(data) {
439
+				console.log(JSON.stringify(data));
440
+				itp_fn_grid_load_complete(data, OPER04010_GRID_ID, true, 'number', 'OPER04010', itp_OPER04010_search, itp_fn_OPER04010_empty, true, data.gridRecords, true);
441
+				var ids = $(OPER04010_GRID_ID).getDataIDs();
442
+				$.each(ids, function(idx, rowId) {
443
+					$(OPER04010_GRID_ID).jqGrid('setCell', rowId, 'salesUserId', '', ITP_GRID_COL_STYLE.link);
444
+				});	
445
+		    },
446
+		    loadError: function(jqXHR, textStatus, errorThrown) {
447
+		    	itp_fn_grid_load_error(jqXHR, textStatus, errorThrown);
448
+		    },
449
+		    onPaging: function(action) {
450
+		    	itp_fn_grid_paging(OPER04010_GRID_ID, action, param);
451
+		    }
452
+		}).navGrid(OPER04010_GRID_PAGER, ITP_GRID_NAV_DEFAULTS.navGrid);
453
+	},
454
+	clearData : function() {
455
+		$(OPER04010_GRID_ID).jqGrid('clearGridData', true);
456
+		$(OPER04010_GRID_LIST).find('.ui-jqgrid-bdiv').css('min-height', '100px');
457
+		$(OPER04010_GRID_EMPTY).html(ITP_MSG_LOCALE.message.grid.noData);
458
+		$(OPER04010_GRID_EMPTY).show();
459
+	}, 
460
+	unload : function() {
461
+		$.jgrid.gridUnload(OPER04010_GRID_ID); 
462
+	}
463
+};
464
+
465
+var itp_fn_OPER04010_search = function() {
466
+	itp_fn_OPER04010_switch_screen('LIST');	
467
+	itp_fn_OPER04010_grid.unload();
468
+	itp_fn_OPER04010_grid.callBack();
469
+};
470
+
471
+let itp_OPER04010_param = {};
472
+let itp_OPER04010_search = false;
473
+var itp_fn_OPER04010_empty = {
474
+	push: function() {
475
+		let param = $('#ITP_FORM_OPER04010_SEARCH').serializeObject();
476
+		itp_OPER04010_param = param;
477
+	},
478
+	back: function() {
479
+		$('#ITP_FORM_OPER04010_DEVI_TP_CD').val(itp_OPER04010_param.deviTpCd);
480
+		$('#ITP_FORM_OPER04010_ORDER_YN').val(itp_OPER04010_param.orderYn);
481
+		$('#ITP_FORM_OPER04010_ADT_AUTH_CD').val(itp_OPER04010_param.adtAuthCd);
482
+		$('#ITP_FORM_OPER04010_EMAIL_RCV_YN').val(itp_OPER04010_param.emailRcvYn);
483
+		$('#ITP_FORM_OPER04010_SMS_RCV_YN').val(itp_OPER04010_param.smsRcvYn);
484
+		$('#ITP_FORM_OPER04010_MEMB_EXIT_DT').val(itp_OPER04010_param.membExitDt);
485
+		$('#ITP_FORM_OPER04010_FROM_DT').val(itp_OPER04010_param.fromDt);
486
+		$('#ITP_FORM_OPER04010_TO_DT').val(itp_OPER04010_param.toDt);
487
+		$('#ITP_FORM_OPER04010_KEYWORD').val(itp_OPER04010_param.keyword);
488
+	}
489
+};
490
+
491
+var itp_fn_OPER04010_view = function(param) {
492
+	fn_ajax_call(SALES_USER_INFO, param, itp_fn_OPER04010_view_callback, 'GET');
493
+};
494
+
495
+var itp_fn_OPER04010_view_callback = function(result) {
496
+	// console.log(result);
497
+	itp_fn_OPER04010_switch_screen('VIEW');
498
+	$('#ITP_FORM_OPER04010_VIEW #ITP_FORM_OPER04010_VIEW_SALES_USER_ID').val(result.salesUserId);
499
+	$('#ITP_FORM_OPER04010_VIEW .fnSalesUserId').text(result.salesUserId);
500
+	$('#ITP_FORM_OPER04010_VIEW .fnSalesUserNm').text(result.salesUserNm);
501
+	$('#ITP_FORM_OPER04010_VIEW .fnSalesTypeCd').text(result.salesTypeCd);
502
+	$('#ITP_FORM_OPER04010_VIEW .fnUseStatCd').text(result.useStatCd);
503
+	$('#ITP_FORM_OPER04010_VIEW .fnSalesTypeNm').text(result.salesTypeNm);
504
+	$('#ITP_FORM_OPER04010_VIEW .fnUseStatNm').text(result.useStatNm);
505
+	$('#ITP_FORM_OPER04010_VIEW .fnTelNo').text(result.telNo);
506
+	$('#ITP_FORM_OPER04010_VIEW .fnFaxNo').text(result.faxNo);
507
+	$('#ITP_FORM_OPER04010_VIEW .fnEmail').text(result.email);
508
+	$('#ITP_FORM_OPER04010_VIEW .fnCmpyAddress').text('('+ result.zipno + ') ' + result.adres + ' ' + result.adresDtl);
509
+	
510
+	$('#ITP_FORM_OPER04010_VIEW .fnAddDt').text(result.addDt);
511
+	$('#ITP_FORM_OPER04010_VIEW .fnChgDt').text(result.chgDt);
512
+	
513
+	itp_fn_OPER04010_view_map(result.adres);	
514
+};
515
+
516
+var itp_fn_OPER04010_detail = function(param) {
517
+	fn_ajax_call(SALES_USER_INFO, param, itp_fn_OPER04010_detail_callback, 'GET');
518
+};
519
+
520
+var itp_fn_OPER04010_detail_callback = function(result) {
521
+	 console.log(result);
522
+	itp_fn_OPER04010_switch_screen('MODIFY');
523
+	$('#ITP_FORM_OPER04010_DETAIL #ITP_FORM_OPER04010_DETAIL_VIEW_CD').val('U');
524
+	
525
+	$('#ITP_FORM_OPER04010_VIEW #ITP_FORM_OPER04010_VIEW_SALES_USER_ID').val(result.salesUserId);
526
+	$('#ITP_FORM_OPER04010_VIEW .fnSalesUserId').text(result.salesUserId);
527
+	$('#ITP_FORM_OPER04010_VIEW .fnSalesUserNm').text(result.salesUserNm);
528
+	$('#ITP_FORM_OPER04010_VIEW .fnSalesTypeCd').text(result.salesTypeCd);
529
+	$('#ITP_FORM_OPER04010_VIEW .fnUseStatCd').text(result.useStatCd);
530
+	$('#ITP_FORM_OPER04010_VIEW .fnSalesTypeNm').text(result.salesTypeNm);
531
+	$('#ITP_FORM_OPER04010_VIEW .fnUseStatNm').text(result.useStatNm);
532
+	$('#ITP_FORM_OPER04010_VIEW .fnTelNo').text(result.telNo);
533
+	$('#ITP_FORM_OPER04010_VIEW .fnFaxNo').text(result.faxNo);
534
+	$('#ITP_FORM_OPER04010_VIEW .fnEmail').text(result.email);
535
+	
536
+	$('#ITP_FORM_OPER04010_DETAIL #ITP_FORM_OPER04010_DETAIL_SALES_USER_NM').val(result.salesUserNm);
537
+	$('#ITP_FORM_OPER04010_DETAIL #ITP_FORM_OPER04010_DETAIL_SALES_TYPE_CD').val(result.salesTypeCd);
538
+	$('#ITP_FORM_OPER04010_DETAIL #ITP_FORM_OPER04010_DETAIL_USE_STAT_CD').val(result.useStatCd);
539
+	$('#ITP_FORM_OPER04010_DETAIL #ITP_FORM_OPER04010_DETAIL_SALES_USER_ID').val(result.salesUserId);	
540
+	$('#ITP_FORM_OPER04010_DETAIL #ITP_FORM_OPER04010_DETAIL_SALES_TYPE_NM').val(result.salesTypeNm);
541
+	$('#ITP_FORM_OPER04010_DETAIL #ITP_FORM_OPER04010_DETAIL_USE_STAT_NM').val(result.useStatNm);
542
+	$('#ITP_FORM_OPER04010_DETAIL #ITP_FORM_OPER04010_DETAIL_TEL_NO').val(result.telNo);
543
+	$('#ITP_FORM_OPER04010_DETAIL #ITP_FORM_OPER04010_DETAIL_FAX_NO').val(result.faxNo);
544
+	$('#ITP_FORM_OPER04010_DETAIL #ITP_FORM_OPER04010_DETAIL_EMAIL').val(result.email);
545
+		
546
+	$('#ITP_FORM_OPER04010_DETAIL #ITP_FORM_OPER04010_DETAIL_ZIPNO').val(result.zipno);	
547
+	$('#ITP_FORM_OPER04010_DETAIL #ITP_FORM_OPER04010_DETAIL_ADRES').val(result.adres);	
548
+	$('#ITP_FORM_OPER04010_DETAIL #ITP_FORM_OPER04010_DETAIL_ADRES_DTL').val(result.adresDtl);		
549
+	
550
+	$('#ITP_FORM_OPER04010_DETAIL .fnAddDt').text(result.addDt);
551
+	$('#ITP_FORM_OPER04010_DETAIL .fnChgDt').text(result.chgDt);
552
+	
553
+	itp_fn_OPER04010_detail_map($('#ITP_FORM_OPER04010_DETAIL_ADRES').val());
554
+	
555
+};