Browse Source

운영관리 기능 화면 추가

dwkim 2 years ago
parent
commit
3736570a80

+ 0 - 204
src/main/webapp/app/koper/KOPER05010.html

@@ -1,204 +0,0 @@
1
-<section id="ITP_TAB_KOPER05010" 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>VAN관리</strong></h2>
6
-				<div class="pull-right itp_cicon">
7
-					<button type="button" id="ITP_BTN_KOPER05010_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_KOPER05010_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_KOPER05010_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_KOPER05010_DELETE" class="btn btn-danger btn-sm DEB"><i class="glyphicon glyphicon-remove"></i> 삭제</button>
11
-					<button type="button" id="ITP_BTN_KOPER05010_CANCELLIST" class="btn btn-warning btn-sm PRB"><i class="glyphicon glyphicon-minus"></i> 취소/목록</button>
12
-					<button type="button" id="ITP_BTN_KOPER05010_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_KOPER05010_LIST_CONTAINER">
17
-					<div class="itp_table fix">
18
-						<div id="ITP_KOPER05010_jqGrid_list" class="itp_tb_list itp_gType1" data-total-cnt="${totalCnt}">
19
-							<div id="ITP_KOPER05010_jqGridView" class="itp_views fix"></div>
20
-							<table id="ITP_KOPER05010_jqGrid"></table>
21
-							<div id="ITP_KOPER05010_jqGridPager"></div>
22
-							<div id="ITP_KOPER05010_jqGridEmpty" class="itp_no_data"></div>
23
-						</div>
24
-					</div>
25
-				</div>
26
-				<div id="ITP_AJAX_KOPER05010_DETAIL_CONTAINER">
27
-					<div class="itp_form itp_type1 fix">
28
-						<div class="col-xs-12">
29
-							<form id="ITP_FORM_KOPER05010_DETAIL" class="form-horizontal">
30
-								<input type="hidden" id="ITP_FORM_KOPER05010_DETAIL_VIEW_CD" name="viewCd" value="C">
31
-								
32
-								<section class="itp_form_sec">
33
-									<h4 class="itp_form_tit">VAN 정보</h4>
34
-									<div class="itp_form_in">
35
-										<div class="form-group">
36
-											<label class="col-xs-2 itp_lb">VAN 코드(*)</label>
37
-											<div class="col-xs-4 itp_ip">
38
-												<div class="col-xs-5 itp_in">
39
-													<input type="text" id="ITP_FORM_KOPER05010_DETAIL_VAN_CD" class="form-control itp_input" name="vanCd" value="" maxlength="10" readonly>
40
-													<span class="input-group-btn">
41
-														<button id="ITP_FORM_KOPER05010_DETAIL_DUP" class="btn btn-default btn-sm itp_btn SHOW" type="button" disabled><i class="glyphicon glyphicon-ok"></i></button>
42
-													</span>
43
-												</div>
44
-											</div>
45
-											<label class="col-xs-2 itp_lb">VAN 명(*)</label>
46
-											<div class="col-xs-4 itp_ip">
47
-												<div class="col-xs-5 itp_in">
48
-													<input type="text" id="ITP_FORM_KOPER05010_DETAIL_VAN_NM" class="form-control itp_input" name="vanNm" value="">
49
-												</div>
50
-											</div>
51
-										</div>
52
-										<div class="form-group">
53
-											<label class="col-xs-2 itp_lb">VAN IP(*)</label>
54
-											<div class="col-xs-4 itp_ip">
55
-												<div class="col-xs-5 itp_in">
56
-													<input type="text" id="ITP_FORM_KOPER05010_DETAIL_VAN_IP" class="form-control itp_input" name="vanIp" value="">
57
-												</div>
58
-											</div>
59
-											<label class="col-xs-2 itp_lb">VAN PORT(*)</label>
60
-											<div class="col-xs-4 itp_ip">
61
-												<div class="col-xs-5 itp_in">
62
-													<input type="text" id="ITP_FORM_KOPER05010_DETAIL_VAN_PORT" class="form-control itp_input" name="vanPort" value="">
63
-												</div>
64
-											</div>
65
-										</div>
66
-										</div>
67
-										<div class="itp_form_in">
68
-											<div class="form-group">
69
-												<label class="col-xs-2 itp_lb">VAN 데이타(라이브러리)</label>
70
-												<div class="col-xs-10 itp_ip">
71
-													<input type="text" id="ITP_FORM_KOPER05010_DETAIL_VAN_DATA1" class="form-control itp_input" name="vanData1" value="">
72
-												</div>
73
-											</div>
74
-										</div>
75
-										<div class="itp_form_in">
76
-									
77
-										<div class="form-group">
78
-											<label class="col-xs-2 itp_lb">VAN DATA 1</label>
79
-											<div class="col-xs-4 itp_ip">
80
-												<div class="col-xs-5 itp_in">
81
-													<input type="text" id="ITP_FORM_KOPER05010_DETAIL_VAN_DATA2" class="form-control itp_input" name="vanData2" value="">
82
-												</div>
83
-											</div>
84
-											<label class="col-xs-2 itp_lb">VAN DATA 2</label>
85
-											<div class="col-xs-4 itp_ip">
86
-												<div class="col-xs-5 itp_in">
87
-													<input type="text" id="ITP_FORM_KOPER05010_DETAIL_VAN_DATA3" class="form-control itp_input" name="vanData3" value="">
88
-												</div>
89
-											</div>
90
-										</div>
91
-										<div class="form-group">
92
-											<label class="col-xs-2 itp_lb">VAN DATA 3</label>
93
-											<div class="col-xs-4 itp_ip">
94
-												<div class="col-xs-5 itp_in">
95
-													<input type="text" id="ITP_FORM_KOPER05010_DETAIL_VAN_DATA4" class="form-control itp_input" name="vanData4" value="">
96
-												</div>
97
-											</div>
98
-											<label class="col-xs-2 itp_lb">VAN DATA 4</label>
99
-											<div class="col-xs-4 itp_ip">
100
-												<div class="col-xs-5 itp_in">
101
-													<input type="text" id="ITP_FORM_KOPER05010_DETAIL_VAN_DATA5" class="form-control itp_input" name="vanData5" value="">
102
-												</div>
103
-											</div>										
104
-										</div>
105
-										<div class="form-group">
106
-											<label class="col-xs-2 itp_lb">등록일자</label>
107
-											<div class="col-xs-4 itp_ip">
108
-												<div class="col-xs-10 itp_in fnAddDt"></div>
109
-											</div>
110
-											<label class="col-xs-2 itp_lb">최종수정일자</label>
111
-											<div class="col-xs-4 itp_ip">
112
-												<div class="col-xs-10 itp_in fnChgDt"></div>
113
-											</div>
114
-										</div>
115
-									</div>	
116
-								</section>								
117
-							</form>
118
-						</div>
119
-					</div>					
120
-				</div>
121
-				<div id="ITP_AJAX_KOPER05010_VIEW_CONTAINER">
122
-					<div class="itp_form itp_type1 fix">
123
-						<div class="col-xs-12">
124
-							<form id="ITP_FORM_KOPER05010_VIEW" class="form-horizontal">
125
-								<input type="hidden" id="ITP_FORM_KOPER05010_VIEW_VIEW_CD" name="viewCd" value="R">
126
-								<input type="hidden" id="ITP_FORM_KOPER05010_VIEW_VAN_CD" name="vanCd" value="">
127
-					
128
-								<section class="itp_form_sec">
129
-									<h4 class="itp_form_tit">VAN 정보</h4>
130
-									<div class="itp_form_in">
131
-										<div class="form-group">
132
-											<label class="col-xs-2 itp_lb">VAN 코드</label>
133
-											<div class="col-xs-4 itp_ip">
134
-												<div class="col-xs-5 itp_in fnVanCd"></div>
135
-											</div>
136
-											<label class="col-xs-2 itp_lb">VAN 명</label>
137
-											<div class="col-xs-4 itp_ip">
138
-												<div class="col-xs-5 itp_in fnVanNm"></div>
139
-											</div>
140
-										</div>
141
-										<div class="form-group">
142
-											<label class="col-xs-2 itp_lb">VAN IP</label>
143
-											<div class="col-xs-4 itp_ip">
144
-												<div class="col-xs-5 itp_in fnVanIp"></div>
145
-											</div>
146
-											<label class="col-xs-2 itp_lb">VAN Port</label>
147
-											<div class="col-xs-4 itp_ip">
148
-												<div class="col-xs-5 itp_in fnVanPort"></div>
149
-											</div>
150
-										</div>
151
-									</div>
152
-										<div class="itp_form_in">
153
-											<div class="form-group">
154
-												<label class="col-xs-2 itp_lb">VAN 데이타(라이브러리)</label>
155
-												<div class="col-xs-10 itp_ip">
156
-													<div class="col-xs-5 itp_in fnVanData1"></div>
157
-												</div>
158
-											</div>
159
-										</div>
160
-									<div class="itp_form_in">
161
-										<div class="form-group">
162
-											<label class="col-xs-2 itp_lb">VAN DATA 1</label>
163
-											<div class="col-xs-4 itp_ip">
164
-												<div class="col-xs-5 itp_in fnVanData2"></div>
165
-											</div>
166
-											<label class="col-xs-2 itp_lb">VAN DATA 2</label>
167
-											<div class="col-xs-4 itp_ip">
168
-												<div class="col-xs-5 itp_in fnVanData3"></div>
169
-											</div>
170
-										</div>
171
-										<div class="form-group">
172
-											<label class="col-xs-2 itp_lb">VAN DATA 3</label>
173
-											<div class="col-xs-4 itp_ip">
174
-												<div class="col-xs-5 itp_in fnVanData4"></div>
175
-											</div>
176
-											<label class="col-xs-2 itp_lb">VAN DATA 4</label>
177
-											<div class="col-xs-4 itp_ip">
178
-												<div class="col-xs-5 itp_in fnVanData5"></div>
179
-											</div>
180
-										</div>
181
-									</div>
182
-									<div class="itp_form_in">
183
-										<div class="form-group border">
184
-											<label class="col-xs-2 itp_lb">등록일자</label>
185
-											<div class="col-xs-4 itp_ip">
186
-												<div class="col-xs-10 itp_in fnAddDt"></div>
187
-											</div>
188
-											<label class="col-xs-2 itp_lb">최종수정일자</label>
189
-											<div class="col-xs-4 itp_ip">
190
-												<div class="col-xs-10 itp_in fnChgDt"></div>
191
-											</div>
192
-										</div>
193
-									</div>
194
-								</section>								
195
-							</form>
196
-						</div>
197
-					</div>						
198
-				</div>
199
-			</div>
200
-		</article>
201
-	</div>
202
-	
203
-	<div id="ITP_TAP_JS"></div>	
204
-</section>

+ 0 - 57
src/main/webapp/app/koper/KOPER07010.html

@@ -1,57 +0,0 @@
1
-<section id="ITP_TAB_KOPER07010" 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_KOPER07010_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_KOPER07010_SAVE" class="btn btn-warning btn-sm SAB"><i class="glyphicon glyphicon-ok"></i> 저장</button>
9
-				</div>
10
-			</div>
11
-			<div class="itp_det_in">
12
-				<div id="ITP_AJAX_KOPER07010_LIST_CONTAINER">
13
-					<div class="itp_lg_form itp_type1 fix" style="margin-bottom: 5px;">
14
-						<div class="itp_srh_border fix">
15
-							<div class="col-xs-12">
16
-								<form id="ITP_FORM_KOPER07010_SAVE">
17
-								<input type="hidden" id="ITP_FORM_KOPER07010_SAVE_VIEW_CD" name="viewCd" value="C">
18
-								<input type="hidden" id="ITP_FORM_KOPER07010_SAVE_APP_TYPE_CD" name="appTypeCd" value="">
19
-								<input type="hidden" id="ITP_FORM_KOPER07010_SAVE_CFG_TYPE_CD" name="cfgTypeCd" value="">
20
-								</form>
21
-								<form id="ITP_FORM_KOPER07010_SEARCH" class="form-horizontal">
22
-								<input type="hidden" id="ITP_FORM_KOPER07010_SEARCH_YN" value="">
23
-									
24
-									<div class="form-group">
25
-										<div class="col-xs-2 itp_ip itp_noMar">
26
-											<select id="ITP_FORM_KOPER07010_SEARCH_APP_TYPE_CD" class="form-control itp_input" name="sappTypeCd"></select>
27
-										</div>
28
-										<div class="col-xs-2 itp_ip itp_noMar">	
29
-											<select id="ITP_FORM_KOPER07010_SEARCH_CFG_TYPE_CD" class="form-control itp_input" name="scfgTypeCd"></select>
30
-										</div>									
31
-									</div>
32
-								</form>
33
-							</div>
34
-						</div>
35
-					</div>
36
-					<div class="itp_table fix">
37
-						<div class="itp_table_head fix">
38
-							<div class="pull-right itp_cicon">
39
-								<button type="button" id="ITP_BTN_KOPER07010_ADD" class="btn btn-primary btn-sm ADB" style="display: inline-block;"><i class="glyphicon glyphicon-plus"></i> 추가</button>
40
-								<button type="button" id="ITP_BTN_KOPER07010_DEL" class="btn btn-danger btn-sm DEB"><i class="glyphicon glyphicon-remove"></i> 삭제</button>
41
-							</div>
42
-						</div>
43
-					
44
-						<div id="ITP_KOPER07010_jqGrid_list" class="itp_tb_list itp_gType1" data-total-cnt="${totalCnt}">
45
-							<div id="ITP_KOPER07010_jqGridView" class="itp_views fix"></div>
46
-							<table id="ITP_KOPER07010_jqGrid"></table>
47
-							<div id="ITP_KOPER07010_jqGridPager"></div>
48
-							<div id="ITP_KOPER07010_jqGridEmpty" class="itp_no_data"></div>
49
-						</div>
50
-					</div>
51
-				</div>				
52
-			</div>
53
-		</article>
54
-	</div>
55
-
56
-	<div id="ITP_TAP_JS"></div>
57
-</section>

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

@@ -0,0 +1,232 @@
1
+<section id="ITP_TAB_OPER01010" 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_OPER01010_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_OPER01010_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_OPER01010_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_OPER01010_DELETE" class="btn btn-danger btn-sm DEB"><i class="glyphicon glyphicon-remove"></i> 삭제</button>
11
+					<button type="button" id="ITP_BTN_OPER01010_CANCELLIST" class="btn btn-warning btn-sm PRB"><i class="glyphicon glyphicon-minus"></i> 취소/목록</button>
12
+					<button type="button" id="ITP_BTN_OPER01010_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_OPER01010_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_OPER01010_SEARCH" class="form-horizontal">
21
+									<div class="form-group">
22
+										<div class="col-xs-2 itp_ip itp_noMar">
23
+											<select id="ITP_FORM_OPER01010_SERVICE_ST_DT" class="form-control itp_input" name="serviceStDt">
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_OPER01010_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_OPER01010_SEARCH_TO_DT" class="form-control itp_input" name="toDt" value="" readonly>
32
+											</div>
33
+										</div>
34
+										<div class="col-xs-2 itp_ip">
35
+										<input type="text" id="ITP_FORM_OPER01010_SEARCH_USER_NM" class="form-control itp_input" name="suserNm" placeholder="아이디/성명 검색" />
36
+										</div>
37
+										<div class="col-xs-2 itp_ip itp_noMar">
38
+											<select id="ITP_FORM_OPER01010_SEARCH_USER_STAT_CD" class="form-control itp_input" name="suserStatCd"></select>
39
+										</div>									
40
+									</div>
41
+								</form>
42
+							</div>
43
+						</div>
44
+					</div>
45
+					<div class="itp_table fix">
46
+						<div id="ITP_OPER01010_jqGrid_list" class="itp_tb_list itp_gType1" data-total-cnt="${totalCnt}">
47
+							<div id="ITP_OPER01010_jqGridView" class="itp_views fix"></div>
48
+							<table id="ITP_OPER01010_jqGrid"></table>
49
+							<div id="ITP_OPER01010_jqGridPager"></div>
50
+							<div id="ITP_OPER01010_jqGridEmpty" class="itp_no_data"></div>
51
+						</div>
52
+					</div>
53
+				</div>
54
+				
55
+				<div id="ITP_AJAX_OPER01010_DETAIL_CONTAINER">
56
+					<div class="itp_form itp_type1 fix">
57
+						<div class="col-xs-12">
58
+							<form id="ITP_FORM_OPER01010_DETAIL" class="form-horizontal">
59
+								<input type="hidden" id="ITP_FORM_OPER01010_DETAIL_VIEW_CD" name="viewCd" value="C">
60
+								<section class="itp_form_sec">
61
+									<!-- <h4 class="itp_form_tit">사용자정보 현재 테스트중</h4> -->
62
+									<div class="itp_form_in">
63
+										<div class="form-group">
64
+											<label class="col-xs-2 itp_lb">사용자명</label>
65
+											<div class="col-xs-4 itp_ip">
66
+												<div class="col-xs-5 itp_in">
67
+													<input type="text" id="ITP_FORM_OPER01010_DETAIL_USER_NM" class="form-control itp_input" name="userNm" value="" maxlength="40">
68
+												</div>
69
+											</div>
70
+											<label class="col-xs-2 itp_lb">상태</label>
71
+											<div class="col-xs-4 itp_ip">
72
+												<div class="col-xs-5 itp_in">
73
+													<select id="ITP_FORM_OPER01010_DETAIL_USER_STAT_CD" class="form-control itp_input" name="userStatCd">
74
+													<option value=""></option>
75
+													</select>
76
+												</div>
77
+											</div>
78
+										</div>
79
+										<div class="form-group">
80
+											<label class="col-xs-2 itp_lb">사용자ID</label>
81
+											<div class="col-xs-4 itp_ip">
82
+												<div class="col-xs-6 itp_in">
83
+													<div class="input-group">
84
+													<input type="text" id="ITP_FORM_OPER01010_DETAIL_USER_ID" class="form-control itp_input" name="userId" value="" maxlength="20" readonly>
85
+													<span class="input-group-btn">
86
+														<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>
87
+													</span>
88
+													</div>
89
+												</div>
90
+											</div>
91
+											<label class="col-xs-2 itp_lb">상태 일시</label>
92
+											<div class="col-xs-4 itp_ip">
93
+												<div class="col-xs-5 itp_in fnUserStatDt"></div>
94
+											</div>
95
+										</div>
96
+										<div class="form-group">
97
+											<label class="col-xs-2 itp_lb">비밀번호</label>
98
+											<div class="col-xs-4 itp_ip">
99
+												<div class="col-xs-5 itp_in">
100
+													<input type="password" id="ITP_FORM_OPER01010_DETAIL_USER_PW" class="form-control itp_input" name="userPw" value="">																								
101
+												</div>
102
+												<button type="button" id="ITP_BTN_OPER01010_RESET_PW" class="btn btn-danger btn-xs PWC" style="margin: 3px 0px 0px 3px;">비밀번호 초기화</button>
103
+											</div>
104
+											<label class="col-xs-2 itp_lb">핸드폰번호</label>
105
+											<div class="col-xs-4 itp_ip">
106
+												<div class="col-xs-5 itp_in">
107
+													<input type="text" id="ITP_FORM_OPER01010_DETAIL_TEL_NO" class="form-control itp_input" name="telNo" value="">
108
+												</div>
109
+											</div>
110
+										</div>
111
+										<div class="form-group">
112
+											<label class="col-xs-2 itp_lb">비밀번호 확인</label>
113
+											<div class="col-xs-4 itp_ip">
114
+												<div class="col-xs-5 itp_in">
115
+													<input type="password" id="ITP_FORM_OPER01010_DETAIL_USER_PW_CONFIRM" class="form-control itp_input" value="">
116
+												</div>
117
+											</div>
118
+											<label class="col-xs-2 itp_lb">이메일</label>
119
+											<div class="col-xs-4 itp_ip">
120
+												<div class="col-xs-5 itp_in">
121
+													<input type="text" id="ITP_FORM_OPER01010_DETAIL_EMAIL" class="form-control itp_input" name="email" value="">
122
+												</div>
123
+											</div>
124
+										</div>
125
+										<div class="form-group border">
126
+											<label class="col-xs-2 itp_lb">등록일</label>
127
+											<div class="col-xs-4 itp_ip">
128
+												<div class="col-xs-5 itp_in fnAddDt"></div>
129
+											</div>
130
+											<label class="col-xs-2 itp_lb">마지막 로그인</label>
131
+											<div class="col-xs-4 itp_ip">
132
+												<div class="col-xs-5 itp_in fnLastLoginDt"></div>
133
+											</div>
134
+										</div>									
135
+									</div>
136
+								</section>								
137
+							</form>
138
+						</div>
139
+					</div>
140
+					
141
+					<div class="itp_table fix">
142
+						<div class="itp_table_head fix">
143
+							<!-- <h4 class="itp_table_tit">* 권한정보</h4> -->
144
+							<div class="pull-right itp_cicon">
145
+								<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>
146
+								<button type="button" id="ITP_BTN_OPER01010_DETAIL_DELROW" class="btn btn-danger btn-sm DEB"><i class="glyphicon glyphicon-remove"></i> 삭제</button>									
147
+							</div>
148
+						</div>
149
+						
150
+						<div id="ITP_OPER01010_DETAIL_jqGrid_list" class="itp_tb_list">
151
+							<div id="ITP_OPER01010_DETAIL_jqGridView" class="itp_views fix"></div>
152
+							<table id="ITP_OPER01010_DETAIL_jqGrid"></table>
153
+							<div id="ITP_OPER01010_DETAIL_jqGridPager"></div>
154
+							<div id="ITP_OPER01010_DETAIL_jqGridEmpty" class="itp_no_data"></div>
155
+						</div>
156
+					</div>
157
+				</div>
158
+				<div id="ITP_AJAX_OPER01010_VIEW_CONTAINER">
159
+					<div class="itp_form itp_type1 fix">
160
+						<div class="col-xs-12">
161
+							<form id="ITP_FORM_OPER01010_VIEW" class="form-horizontal">
162
+								<input type="hidden" id="ITP_FORM_OPER01010_VIEW_VIEW_CD" name="viewCd" value="R">
163
+								<input type="hidden" id="ITP_FORM_OPER01010_VIEW_USER_ID" name="userId" value="">
164
+					
165
+								<section class="itp_form_sec">
166
+									<h4 class="itp_form_tit">사용자정보</h4>
167
+									<div class="itp_form_in">
168
+										<div class="form-group">
169
+											<label class="col-xs-2 itp_lb">사용자명</label>
170
+											<div class="col-xs-4 itp_ip">
171
+												<div class="col-xs-5 itp_in fnUserNm"></div>
172
+											</div>
173
+											<label class="col-xs-2 itp_lb">상태</label>
174
+											<div class="col-xs-4 itp_ip">
175
+												<div class="col-xs-5 itp_in fnUserStatNm"></div>
176
+											</div>
177
+										</div>
178
+										<div class="form-group">
179
+											<label class="col-xs-2 itp_lb">사용자ID</label>
180
+											<div class="col-xs-4 itp_ip">
181
+												<div class="col-xs-5 itp_in fnUserId"></div>
182
+											</div>
183
+											<label class="col-xs-2 itp_lb">상태 일시</label>
184
+											<div class="col-xs-4 itp_ip">
185
+												<div class="col-xs-5 itp_in fnUserStatDt"></div>
186
+											</div>
187
+										</div>
188
+										<div class="form-group">
189
+											<label class="col-xs-2 itp_lb">이메일</label>
190
+											<div class="col-xs-4 itp_ip">
191
+												<div class="col-xs-5 itp_in fnEmail"></div>
192
+											</div>
193
+											<label class="col-xs-2 itp_lb">핸드폰번호</label>
194
+											<div class="col-xs-4 itp_ip">
195
+												<div class="col-xs-5 itp_in fnTelNo"></div>
196
+											</div>
197
+										</div>
198
+										<div class="form-group border">
199
+											<label class="col-xs-2 itp_lb">등록일</label>
200
+											<div class="col-xs-4 itp_ip">
201
+												<div class="col-xs-5 itp_in fnAddDt"></div>
202
+											</div>
203
+											<label class="col-xs-2 itp_lb">마지막 로그인</label>
204
+											<div class="col-xs-4 itp_ip">
205
+												<div class="col-xs-5 itp_in fnLastLoginDt"></div>
206
+											</div>
207
+										</div>									
208
+									</div>
209
+								</section>								
210
+							</form>
211
+						</div>
212
+					</div>
213
+					
214
+					<div class="itp_table fix">
215
+						<div class="itp_table_head fix">
216
+							<h4 class="itp_table_tit">*권한정보</h4>
217
+						</div>
218
+						
219
+						<div id="ITP_OPER01010_VIEW_jqGrid_list" class="itp_tb_list">
220
+							<div id="ITP_OPER01010_VIEW_jqGridView" class="itp_views fix"></div>
221
+							<table id="ITP_OPER01010_VIEW_jqGrid"></table>
222
+							<div id="ITP_OPER01010_VIEW_jqGridPager"></div>
223
+							<div id="ITP_OPER01010_VIEW_jqGridEmpty" class="itp_no_data"></div>
224
+						</div>
225
+					</div>					
226
+				</div>
227
+			</div>
228
+		</article>
229
+	</div>
230
+	
231
+	<div id="ITP_TAP_JS"></div>	
232
+</section>

+ 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>

+ 0 - 860
src/main/webapp/js/app/koper/ITP_KOPER01010.js

@@ -1,860 +0,0 @@
1
-
2
-const KOPER01010_GRID_ID = '#ITP_KOPER01010_jqGrid';
3
-const KOPER01010_GRID_LIST = '#ITP_KOPER01010_jqGrid_list';
4
-const KOPER01010_GRID_PAGER = '#ITP_KOPER01010_jqGridPager';
5
-const KOPER01010_GRID_EMPTY = '#ITP_KOPER01010_jqGridEmpty';
6
-
7
-const KOPER01010_VIEW_GRID_ID = '#ITP_KOPER01010_VIEW_jqGrid';
8
-const KOPER01010_VIEW_GRID_LIST = '#ITP_KOPER01010_VIEW_jqGrid_list';
9
-const KOPER01010_VIEW_GRID_PAGER = '#ITP_KOPER01010_VIEW_jqGridPager';
10
-const KOPER01010_VIEW_GRID_EMPTY = '#ITP_KOPER01010_VIEW_jqGridEmpty';
11
-
12
-const KOPER01010_DETAIL_GRID_ID = '#ITP_KOPER01010_DETAIL_jqGrid';
13
-const KOPER01010_DETAIL_GRID_LIST = '#ITP_KOPER01010_DETAIL_jqGrid_list';
14
-const KOPER01010_DETAIL_GRID_PAGER = '#ITP_KOPER01010_DETAIL_jqGridPager';
15
-const KOPER01010_DETAIL_GRID_EMPTY = '#ITP_KOPER01010_DETAIL_jqGridEmpty';
16
-
17
-
18
-let ITP_FORM_KOPER01010_DETAIL_IS_DUPLICATE = false;
19
-let ITP_FORM_KOPER01010_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('KOPER01010');
36
-		// 공통코드 표시
37
-		fn_make_select(CODE_LIST, 'CMPY_STAT_CD', 'ITP_FORM_KOPER01010_SEARCH_CMPY_STAT_CD');
38
-		fn_make_select(CODE_LIST, 'CMPY_STAT_CD', 'ITP_FORM_KOPER01010_DETAIL_CMPY_STAT_CD', true, '선택');
39
-		fn_make_select(CODE_LIST, 'CMPY_TYPE_CD', 'ITP_FORM_KOPER01010_DETAIL_CMPY_TYPE_CD', true, '선택');
40
-		fn_make_select(CODE_LIST, 'FRCOMP_AUTH_CD', 'ITP_FORM_KOPER01010_DETAIL_FRCOMP_AUTH_CD', true, '선택');
41
-		
42
-		// 조회일자 지정
43
-		// var now = new Date();
44
-		$('#ITP_TAB_KOPER01010 .input-group.date').datepicker(ITP_DATE_LANGUAGE);
45
-		// $('#ITP_FORM_KOPER01010_SEARCH_FROM_DT').datepicker('setDate', new Date(now.setMonth(now.getMonth() - 1)));
46
-		// $('#ITP_FORM_KOPER01010_SEARCH_TO_DT').datepicker('setDate', new Date());
47
-				
48
-		// 그리드				
49
-		itp_fn_jqgrid_resize(KOPER01010_GRID_ID, KOPER01010_GRID_LIST, 'lg');
50
-		itp_fn_KOPER01010_grid.init();
51
-    	itp_fn_fire_window_resize();
52
-
53
-		// 조회    	
54
-    	itp_fn_KOPER01010_search();
55
-    	
56
-		// 조회 버튼 클릭
57
-		$('#ITP_BTN_KOPER01010_SRH').on('click', function() {
58
-			itp_KOPER01010_search = true;
59
-			let param = $('#ITP_FORM_KOPER01010_SEARCH').serializeObject();
60
-			param.gridSize = $.jgrid.defaults.rowNum;
61
-			param.gridPage = $.jgrid.defaults.page;
62
-			$(KOPER01010_GRID_ID).setGridParam({'postData': JSON.stringify(param)}).trigger('reloadGrid');
63
-		});
64
-		
65
-		// 수정 버튼
66
-		$('#ITP_BTN_KOPER01010_MODIFY').on('click', function() {
67
-			itp_fn_form_clear_validate(null, '#ITP_FORM_KOPER01010_DETAIL');			
68
-			const cmpyCdVal = $('#ITP_FORM_KOPER01010_VIEW_CMPY_CD').val();
69
-			const key = {cmpyCd: cmpyCdVal, viewCd: 'R'};
70
-			var param = $.param(key);
71
-			itp_fn_KOPER01010_detail(param);	
72
-		});
73
-		
74
-		// 신규등록 버튼
75
-		$('#ITP_BTN_KOPER01010_NEWREG').on('click', function() {
76
-			itp_fn_KOPER01010_switch_screen('ADD');			
77
-			itp_fn_form_clear_validate(null, '#ITP_FORM_KOPER01010_DETAIL');
78
-			itp_fn_KOPER01010_detail_map($('#ITP_FORM_KOPER01010_DETAIL_STREET_ADDRESS').val());	
79
-			
80
-			// 영업담당자 리스트 조회		
81
-			itp_fn_KOPER01010_detail_grid.unload();
82
-			itp_fn_KOPER01010_detail_grid.callBack();	
83
-		});
84
-		
85
-		// 취소/목록 버튼
86
-		$('#ITP_BTN_KOPER01010_CANCELLIST').on('click', function() {
87
-			itp_fn_KOPER01010_search();
88
-    	});
89
-		
90
-		// 삭제 버튼
91
-		$('#ITP_BTN_KOPER01010_DELETE').on('click', function() {
92
-			
93
-		});
94
-		
95
-		// 저장 버튼
96
-		$('#ITP_BTN_KOPER01010_SAVE').on('click', function() {			
97
-			const formId = '#ITP_FORM_KOPER01010_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_KOPER01010_DETAIL_CMPY_ZIPNO').val() == '' || $('#ITP_FORM_KOPER01010_DETAIL_CMPY_ADRES').val() == '') {
110
-					itp_fn_modal_alert('주소 검색을 통해 회사 주소를 입력하세요.');
111
-					return;
112
-				}
113
-				
114
-				if (ITP_FORM_KOPER01010_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 = $(KOPER01010_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_KOPER01010_DETAIL_IS_WRITING = false;
141
-						itp_fn_KOPER01010_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_KOPER01010_DETAIL_DUP').on('click', function() {
151
-			const formId = '#ITP_FORM_KOPER01010_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_KOPER01010_DETAIL_IS_DUPLICATE = false;
158
-					} else {
159
-						ITP_FORM_KOPER01010_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_KOPER01010_RESET_PW').on('click', function() {
170
-			var resetPwFn = {
171
-				callBack: function(args) {
172
-					const key = {'userId':  $('#ITP_FORM_KOPER01010_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_KOPER01010_DETAIL_ADRES_SCH').on('click', function() {
181
-			new daum.Postcode({
182
-		    	oncomplete: function(data) {
183
-					// 전체주소 리턴
184
-					document.getElementById('ITP_FORM_KOPER01010_DETAIL_CMPY_ZIPNO').value = data.zonecode;
185
-					document.getElementById('ITP_FORM_KOPER01010_DETAIL_CMPY_ADRES').value = data.roadAddress;
186
-					document.getElementById('ITP_FORM_KOPER01010_DETAIL_LOTS_ADDRESS').value = !!data.autoJibunAddress ? data.autoJibunAddress : data.jibunAddress;
187
-					document.getElementById('ITP_FORM_KOPER01010_DETAIL_STREET_ADDRESS').value = data.roadAddress;
188
-					document.getElementById('ITP_FORM_KOPER01010_DETAIL_HJ_DONG').value = !!data.hname ? data.hname : data.bname;
189
-					document.getElementById('ITP_FORM_KOPER01010_DETAIL_BJ_DONG').value = data.bname;
190
-					
191
-					itp_fn_KOPER01010_detail_map(data.roadAddress);
192
-					document.getElementById('ITP_FORM_KOPER01010_DETAIL_CMPY_ADRES_DTL').focus();		  
193
-		        }
194
-			}).open();
195
-		});
196
-		
197
-		
198
-		$('#ITP_BTN_KOPER01010_DETAIL_ADDROW').on('click', function() {
199
-			// 팝업
200
-			var popFn = function(rowDataPop) {
201
-				// 기존등록 데이터 
202
-				var exists = '';				
203
-				const rowData = $(KOPER01010_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
-						$(KOPER01010_DETAIL_GRID_ID).jqGrid('addRow', {position: 'last'});
212
-						var rids = $(KOPER01010_DETAIL_GRID_ID).jqGrid('getDataIDs');
213
-						var last_row_id = rids[rids.length - 1];
214
-						$(KOPER01010_DETAIL_GRID_ID).jqGrid('setCell', last_row_id, 'viewCd', 'C');
215
-						$(KOPER01010_DETAIL_GRID_ID).jqGrid('setCell', last_row_id, 'salesUserId', value.salesUserId);
216
-						$(KOPER01010_DETAIL_GRID_ID).jqGrid('setCell', last_row_id, 'salesUserNm', value.salesUserNm);
217
-						$(KOPER01010_DETAIL_GRID_ID).jqGrid('setCell', last_row_id, 'useStatCd', value.useStatCd);
218
-						$(KOPER01010_DETAIL_GRID_ID).jqGrid('setCell', last_row_id, 'useStatNm', value.useStatNm);
219
-						$(KOPER01010_DETAIL_GRID_ID).jqGrid('setCell', last_row_id, 'cmpyCd', '');	
220
-					}
221
-				});
222
-				$(KOPER01010_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_KOPER01010_DETAIL_DELROW').on('click', function() {
228
-			itp_fn_grid_del_row(KOPER01010_DETAIL_GRID_ID);
229
-		});
230
-		
231
-		$('body').on('click', function(e) {
232
-			var gridId = KOPER01010_DETAIL_GRID_ID.replace('#', '');
233
-			var rids = $(KOPER01010_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, 'KOPER01010_DETAIL');
236
-		});
237
-		
238
-	});
239
-});
240
-
241
-var itp_fn_KOPER01010_detail_map = function(locate) {
242
-	
243
-	kakao.maps.load(function() {
244
-				
245
-		var mapContainer = document.getElementById('ITP_FORM_KOPER01010_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_KOPER01010_DETAIL_LAT').value = result[0].y;
287
-			        document.getElementById('ITP_FORM_KOPER01010_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_KOPER01010_DETAIL_LOTS_ADDRESS').value = result[0].address.address_name ;
307
-	   		        document.getElementById('ITP_FORM_KOPER01010_DETAIL_CMPY_ADRES').value = !!result[0].road_address ? result[0].road_address.address_name : result[0].address.address_name ;
308
-	   		        document.getElementById('ITP_FORM_KOPER01010_DETAIL_STREET_ADDRESS').value = !!result[0].road_address ? result[0].road_address.address_name : $('#ITP_FORM_KOPER01010_DETAIL_STREET_ADDRESS').val();
309
-	   		        document.getElementById('ITP_FORM_KOPER01010_DETAIL_CMPY_ZIPNO').value = !!result[0].road_address ? result[0].road_address.zone_no : $('#ITP_FORM_KOPER01010_DETAIL_CMPY_ZIPNO').val() ;
310
-			        document.getElementById('ITP_FORM_KOPER01010_DETAIL_LAT').value = map.getCenter().getLat();
311
-			        document.getElementById('ITP_FORM_KOPER01010_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_KOPER01010_view_map = function(locate) {
325
-	
326
-	kakao.maps.load(function() {
327
-				
328
-		var mapContainer = document.getElementById('ITP_FORM_KOPER01010_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_KOPER01010_switch_screen = function(mode) {
380
-	if(mode == 'LIST') { // 목록
381
-		$('#ITP_BTN_KOPER01010_MODIFY').hide();
382
-		$('#ITP_BTN_KOPER01010_CANCELLIST').hide();
383
-		$('#ITP_BTN_KOPER01010_DELETE').hide();
384
-		$('#ITP_BTN_KOPER01010_SAVE').hide();
385
-		fn_show_btn_auth('#ITP_BTN_KOPER01010_SRH');
386
-		fn_show_btn_auth('#ITP_BTN_KOPER01010_NEWREG');
387
-		
388
-		$('#ITP_AJAX_KOPER01010_LIST_CONTAINER').show();
389
-		$('#ITP_AJAX_KOPER01010_DETAIL_CONTAINER').hide();		
390
-		$('#ITP_AJAX_KOPER01010_VIEW_CONTAINER').hide();
391
-	} else if(mode == 'ADD') { // 등록
392
-		ITP_FORM_KOPER01010_DETAIL_IS_DUPLICATE = true;
393
-	
394
-		$('#ITP_BTN_KOPER01010_SRH').hide();
395
-		$('#ITP_BTN_KOPER01010_MODIFY').hide();
396
-		$('#ITP_BTN_KOPER01010_NEWREG').hide();
397
-		$('#ITP_BTN_KOPER01010_DELETE').hide();
398
-		$('#ITP_BTN_KOPER01010_RESET_PW').hide();
399
-		fn_show_btn_auth('#ITP_BTN_KOPER01010_CANCELLIST');
400
-		fn_show_btn_auth('#ITP_BTN_KOPER01010_SAVE');
401
-		
402
-		$('#ITP_AJAX_KOPER01010_LIST_CONTAINER').hide();
403
-		$('#ITP_AJAX_KOPER01010_DETAIL_CONTAINER').show();
404
-		$('#ITP_AJAX_KOPER01010_VIEW_CONTAINER').hide();		
405
-		$('#ITP_FORM_KOPER01010_DETAIL_CMPY_CD').removeAttr('readonly');
406
-		$('#ITP_FORM_KOPER01010_DETAIL_DUP').removeAttr('disabled');
407
-		
408
-		$('#ITP_FORM_KOPER01010_DETAIL_VIEW_CD').val('C');
409
-		$('#ITP_FORM_KOPER01010_DETAIL_CMPY_NM').val('');
410
-		$('#ITP_FORM_KOPER01010_DETAIL_CMPY_STAT_CD').val('');
411
-		$('#ITP_FORM_KOPER01010_DETAIL_FRCOMP_AUTH_CD').val('');
412
-		$('#ITP_FORM_KOPER01010_DETAIL_CMPY_CD').val('');
413
-		$('#ITP_FORM_KOPER01010_DETAIL_CMPY_TYPE_CD').val('');
414
-		$('#ITP_FORM_KOPER01010_DETAIL_CMPY_REG_NUM').val('');
415
-		$('#ITP_FORM_KOPER01010_DETAIL_COPT_NUM').val('');
416
-		$('#ITP_FORM_KOPER01010_DETAIL_BIZ_CATE').val('');
417
-		$('#ITP_FORM_KOPER01010_DETAIL_BIZ_TYPE').val('');
418
-		$('#ITP_FORM_KOPER01010_DETAIL_BOSS_NM').val('');
419
-		$('#ITP_FORM_KOPER01010_DETAIL_MAIN_TEL').val('');
420
-		$('#ITP_FORM_KOPER01010_DETAIL_MAIN_FAX').val('');
421
-		$('#ITP_FORM_KOPER01010_DETAIL_MAIN_EMAIL').val('');
422
-		$('#ITP_FORM_KOPER01010_DETAIL_CMPY_ZIPNO').val('');
423
-		$('#ITP_FORM_KOPER01010_DETAIL_CMPY_ADRES').val('');
424
-		$('#ITP_FORM_KOPER01010_DETAIL_CMPY_ADRES_DTL').val('');
425
-		$('#ITP_FORM_KOPER01010_DETAIL_LOTS_ADDRESS').val('');
426
-		$('#ITP_FORM_KOPER01010_DETAIL_STREET_ADDRESS').val('');
427
-		$('#ITP_FORM_KOPER01010_DETAIL_LAT').val('');
428
-		$('#ITP_FORM_KOPER01010_DETAIL_LNG').val('');
429
-		$('#ITP_FORM_KOPER01010_DETAIL_HJ_DONG').val('');
430
-		$('#ITP_FORM_KOPER01010_DETAIL_BJ_DONG').val('');
431
-		
432
-	} else if(mode == 'MODIFY') { // 수정
433
-		$('#ITP_BTN_KOPER01010_SRH').hide();
434
-		$('#ITP_BTN_KOPER01010_MODIFY').hide();
435
-		$('#ITP_BTN_KOPER01010_NEWREG').hide();		
436
-		$('#ITP_BTN_KOPER01010_DELETE').hide();
437
-		fn_show_btn_auth('#ITP_BTN_KOPER01010_RESET_PW');
438
-		fn_show_btn_auth('#ITP_BTN_KOPER01010_CANCELLIST');
439
-		fn_show_btn_auth('#ITP_BTN_KOPER01010_SAVE');
440
-		
441
-		$('#ITP_AJAX_KOPER01010_LIST_CONTAINER').hide();
442
-		$('#ITP_AJAX_KOPER01010_DETAIL_CONTAINER').show();
443
-		$('#ITP_AJAX_KOPER01010_VIEW_CONTAINER').hide();
444
-		$('#ITP_FORM_KOPER01010_DETAIL_CMPY_CD').attr('readonly', true);
445
-		$('#ITP_FORM_KOPER01010_DETAIL_DUP').attr('disabled', true);
446
-	} else if(mode == 'VIEW') { // 보기
447
-		$('#ITP_BTN_KOPER01010_SRH').hide();
448
-		$('#ITP_BTN_KOPER01010_NEWREG').hide();		
449
-		$('#ITP_BTN_KOPER01010_DELETE').hide();
450
-		$('#ITP_BTN_KOPER01010_SAVE').hide();
451
-		fn_show_btn_auth('#ITP_BTN_KOPER01010_MODIFY');
452
-		fn_show_btn_auth('#ITP_BTN_KOPER01010_CANCELLIST');
453
-		
454
-		$('#ITP_AJAX_KOPER01010_LIST_CONTAINER').hide();
455
-		$('#ITP_AJAX_KOPER01010_DETAIL_CONTAINER').hide();
456
-		$('#ITP_AJAX_KOPER01010_VIEW_CONTAINER').show();
457
-	}	
458
-};
459
-
460
-var itp_fn_KOPER01010_grid = {
461
-	init: function() {
462
-		// 데이터 없을때
463
-		itp_fn_KOPER01010_empty.push();
464
-		$(KOPER01010_GRID_EMPTY).on('click', function() {
465
-			itp_fn_KOPER01010_empty.back();
466
-			itp_KOPER01010_param.gridSize = $.jgrid.defaults.rowNum;
467
-			$(KOPER01010_GRID_ID).setGridParam({'postData': JSON.stringify(itp_KOPER01010_param)}).trigger('reloadGrid');
468
-		});	
469
-	},
470
-	callBack: function() {
471
-		let param = $('#ITP_FORM_KOPER01010_SEARCH').serializeObject();
472
-		param.gridSize = $.jgrid.defaults.rowNum;	
473
-		$(KOPER01010_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: KOPER01010_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_KOPER01010_view(param);
534
-				}
535
-		   	},
536
-			loadComplete: function(data) {
537
-				console.log(JSON.stringify(data));
538
-				itp_fn_grid_load_complete(data, KOPER01010_GRID_ID, true, 'number', 'KOPER01010', itp_KOPER01010_search, itp_fn_KOPER01010_empty, true, data.gridRecords, true);
539
-				var ids = $(KOPER01010_GRID_ID).getDataIDs();
540
-				$.each(ids, function(idx, rowId) {
541
-					$(KOPER01010_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(KOPER01010_GRID_ID, action, param);
549
-		    }
550
-		}).navGrid(KOPER01010_GRID_PAGER, ITP_GRID_NAV_DEFAULTS.navGrid);
551
-	},
552
-	clearData : function() {
553
-		$(KOPER01010_GRID_ID).jqGrid('clearGridData', true);
554
-		$(KOPER01010_GRID_LIST).find('.ui-jqgrid-bdiv').css('min-height', '100px');
555
-		$(KOPER01010_GRID_EMPTY).html(ITP_MSG_LOCALE.message.grid.noData);
556
-		$(KOPER01010_GRID_EMPTY).show();
557
-	}, 
558
-	unload : function() {
559
-		$.jgrid.gridUnload(KOPER01010_GRID_ID); 
560
-	}
561
-};
562
-
563
-var itp_fn_KOPER01010_search = function() {
564
-	itp_fn_KOPER01010_switch_screen('LIST');	
565
-	itp_fn_KOPER01010_grid.unload();
566
-	itp_fn_KOPER01010_grid.callBack();
567
-};
568
-
569
-let itp_KOPER01010_param = {};
570
-let itp_KOPER01010_search = false;
571
-var itp_fn_KOPER01010_empty = {
572
-	push: function() {
573
-		let param = $('#ITP_FORM_KOPER01010_SEARCH').serializeObject();
574
-		itp_KOPER01010_param = param;
575
-	},
576
-	back: function() {
577
-		$('#ITP_FORM_KOPER01010_DEVI_TP_CD').val(itp_KOPER01010_param.deviTpCd);
578
-		$('#ITP_FORM_KOPER01010_ORDER_YN').val(itp_KOPER01010_param.orderYn);
579
-		$('#ITP_FORM_KOPER01010_ADT_AUTH_CD').val(itp_KOPER01010_param.adtAuthCd);
580
-		$('#ITP_FORM_KOPER01010_EMAIL_RCV_YN').val(itp_KOPER01010_param.emailRcvYn);
581
-		$('#ITP_FORM_KOPER01010_SMS_RCV_YN').val(itp_KOPER01010_param.smsRcvYn);
582
-		$('#ITP_FORM_KOPER01010_MEMB_EXIT_DT').val(itp_KOPER01010_param.membExitDt);
583
-		$('#ITP_FORM_KOPER01010_FROM_DT').val(itp_KOPER01010_param.fromDt);
584
-		$('#ITP_FORM_KOPER01010_TO_DT').val(itp_KOPER01010_param.toDt);
585
-		$('#ITP_FORM_KOPER01010_KEYWORD').val(itp_KOPER01010_param.keyword);
586
-	}
587
-};
588
-
589
-var itp_fn_KOPER01010_view = function(param) {
590
-	fn_ajax_call(COMPANY_INFO_COMPANY, param, itp_fn_KOPER01010_view_callback, 'GET');
591
-};
592
-
593
-var itp_fn_KOPER01010_view_callback = function(result) {
594
-	// console.log(result);
595
-	itp_fn_KOPER01010_switch_screen('VIEW');
596
-	$('#ITP_FORM_KOPER01010_VIEW #ITP_FORM_KOPER01010_VIEW_CMPY_CD').val(result.cmpyCd);
597
-	
598
-	$('#ITP_FORM_KOPER01010_VIEW .fnCmpyNm').text(result.cmpyNm);
599
-	$('#ITP_FORM_KOPER01010_VIEW .fnCmpyStatCd').text(result.cmpyStatNm);
600
-	$('#ITP_FORM_KOPER01010_VIEW .fnCmpyCd').text(result.cmpyCd);
601
-	$('#ITP_FORM_KOPER01010_VIEW .fnCmpyTypeCd').text(result.cmpyTypeNm);
602
-	$('#ITP_FORM_KOPER01010_VIEW .fnCmpyRegNum').text(result.cmpyRegNum);
603
-	$('#ITP_FORM_KOPER01010_VIEW .fnFrcompAuthCd').text(result.frcompAuthNm);
604
-	$('#ITP_FORM_KOPER01010_VIEW .fnCoptNum').text(result.coptNum);
605
-	$('#ITP_FORM_KOPER01010_VIEW .fnBizCate').text(result.bizCate);
606
-	$('#ITP_FORM_KOPER01010_VIEW .fnBizType').text(result.bizType);
607
-	$('#ITP_FORM_KOPER01010_VIEW .fnBossNm').text(result.bossNm);
608
-	$('#ITP_FORM_KOPER01010_VIEW .fnMainTel').text(result.mainTel);
609
-	$('#ITP_FORM_KOPER01010_VIEW .fnMainFax').text(result.mainFax);
610
-	$('#ITP_FORM_KOPER01010_VIEW .fnMainEmail').text(result.mainEmail);
611
-	$('#ITP_FORM_KOPER01010_VIEW .fnCmpyAddress').text('('+ result.cmpyZipno + ') ' + result.cmpyAdres + ' ' + result.cmpyAdresDtl);
612
-	
613
-	$('#ITP_FORM_KOPER01010_VIEW .fnAddDt').text(result.addDt);
614
-	$('#ITP_FORM_KOPER01010_VIEW .fnChgDt').text(result.chgDt);
615
-	
616
-	itp_fn_KOPER01010_view_map(result.cmpyAdres);	
617
-	
618
-	// 영업담당자정보  리스트 조회
619
-	itp_fn_KOPER01010_view_grid.unload();
620
-	itp_fn_KOPER01010_view_grid.callBack();
621
-};
622
-
623
-var itp_fn_KOPER01010_view_grid = {
624
-	init: function() {
625
-	},
626
-	callBack: function() {
627
-		let param = $('#ITP_FORM_KOPER01010_VIEW').serializeObject();
628
-		param.gridSize = $.jgrid.defaults.rowNum; 
629
-		param.pagingYn = false; // 페이징안함
630
-		
631
-		$(KOPER01010_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: KOPER01010_VIEW_GRID_PAGER,
678
-			multiselect: false,
679
-			loadComplete: function(data) {				
680
-				itp_fn_grid_load_complete(data, KOPER01010_VIEW_GRID_ID, true, undefined, 'KOPER01010_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(KOPER01010_VIEW_GRID_ID)) {
692
-		    		itp_fn_modal_confirm(ITP_MSG_LOCALE.message.ajax.cancelData, pagingFn, KOPER01010_VIEW_GRID_ID);
693
-		    		return 'stop';
694
-		    	} else {
695
-		    		itp_fn_grid_paging(KOPER01010_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(KOPER01010_VIEW_GRID_ID)) {
705
-		    		itp_fn_modal_confirm(ITP_MSG_LOCALE.message.ajax.cancelData, sortingFn, KOPER01010_VIEW_GRID_ID);
706
-		    		return 'stop';
707
-		    	} else {
708
-		    		itp_fn_grid_sorting(KOPER01010_VIEW_GRID_ID, index, sortOrder);
709
-		    	}
710
-		    }
711
-		}).navGrid(KOPER01010_VIEW_GRID_PAGER, ITP_GRID_NAV_DEFAULTS.navGrid);
712
-	},
713
-	clearData : function() {
714
-		$(KOPER01010_VIEW_GRID_ID).jqGrid('clearGridData', true);
715
-		$(KOPER01010_VIEW_GRID_LIST).find('.ui-jqgrid-bdiv').css('min-height', '100px');
716
-		$(KOPER01010_VIEW_GRID_EMPTY).html(ITP_MSG_LOCALE.message.grid.noData);
717
-		$(KOPER01010_VIEW_GRID_EMPTY).show();
718
-	}, 
719
-	unload : function() {
720
-		$.jgrid.gridUnload(KOPER01010_VIEW_GRID_ID); 
721
-	}
722
-};
723
-
724
-var itp_fn_KOPER01010_detail = function(param) {
725
-	fn_ajax_call(COMPANY_INFO_COMPANY, param, itp_fn_KOPER01010_detail_callback, 'GET');
726
-};
727
-
728
-var itp_fn_KOPER01010_detail_callback = function(result) {
729
-	// console.log(result);
730
-	itp_fn_KOPER01010_switch_screen('MODIFY');
731
-	$('#ITP_FORM_KOPER01010_DETAIL #ITP_FORM_KOPER01010_DETAIL_VIEW_CD').val('U');
732
-	
733
-	$('#ITP_FORM_KOPER01010_DETAIL #ITP_FORM_KOPER01010_DETAIL_CMPY_NM').val(result.cmpyNm);
734
-	$('#ITP_FORM_KOPER01010_DETAIL #ITP_FORM_KOPER01010_DETAIL_CMPY_STAT_CD').val(result.cmpyStatCd);
735
-	$('#ITP_FORM_KOPER01010_DETAIL #ITP_FORM_KOPER01010_DETAIL_FRCOMP_AUTH_CD').val(result.frcompAuthCd);
736
-	$('#ITP_FORM_KOPER01010_DETAIL #ITP_FORM_KOPER01010_DETAIL_CMPY_CD').val(result.cmpyCd);	
737
-	$('#ITP_FORM_KOPER01010_DETAIL #ITP_FORM_KOPER01010_DETAIL_CMPY_TYPE_CD').val(result.cmpyTypeCd);
738
-	$('#ITP_FORM_KOPER01010_DETAIL #ITP_FORM_KOPER01010_DETAIL_CMPY_REG_NUM').val(result.cmpyRegNum);
739
-	$('#ITP_FORM_KOPER01010_DETAIL #ITP_FORM_KOPER01010_DETAIL_COPT_NUM').val(result.coptNum);
740
-	$('#ITP_FORM_KOPER01010_DETAIL #ITP_FORM_KOPER01010_DETAIL_BIZ_CATE').val(result.bizCate);
741
-	$('#ITP_FORM_KOPER01010_DETAIL #ITP_FORM_KOPER01010_DETAIL_BIZ_TYPE').val(result.bizType);
742
-	$('#ITP_FORM_KOPER01010_DETAIL #ITP_FORM_KOPER01010_DETAIL_BOSS_NM').val(result.bossNm);
743
-	$('#ITP_FORM_KOPER01010_DETAIL #ITP_FORM_KOPER01010_DETAIL_MAIN_TEL').val(result.mainTel);
744
-	$('#ITP_FORM_KOPER01010_DETAIL #ITP_FORM_KOPER01010_DETAIL_MAIN_FAX').val(result.mainFax);
745
-	$('#ITP_FORM_KOPER01010_DETAIL #ITP_FORM_KOPER01010_DETAIL_MAIN_EMAIL').val(result.mainEmail);
746
-		
747
-	$('#ITP_FORM_KOPER01010_DETAIL #ITP_FORM_KOPER01010_DETAIL_CMPY_ZIPNO').val(result.cmpyZipno);	
748
-	$('#ITP_FORM_KOPER01010_DETAIL #ITP_FORM_KOPER01010_DETAIL_CMPY_ADRES').val(result.cmpyAdres);	
749
-	$('#ITP_FORM_KOPER01010_DETAIL #ITP_FORM_KOPER01010_DETAIL_CMPY_ADRES_DTL').val(result.cmpyAdresDtl);		
750
-	
751
-	$('#ITP_FORM_KOPER01010_DETAIL .fnAddDt').text(result.addDt);
752
-	$('#ITP_FORM_KOPER01010_DETAIL .fnChgDt').text(result.chgDt);
753
-	
754
-	itp_fn_KOPER01010_detail_map($('#ITP_FORM_KOPER01010_DETAIL_CMPY_ADRES').val());
755
-	
756
-	// 영업담당자 리스트 조회
757
-	itp_fn_KOPER01010_detail_grid.unload();
758
-	itp_fn_KOPER01010_detail_grid.callBack();
759
-};
760
-
761
-
762
-var itp_fn_KOPER01010_detail_grid = {
763
-	init: function() {
764
-	},
765
-	callBack: function() {
766
-		let param = $('#ITP_FORM_KOPER01010_DETAIL').serializeObject();
767
-		param.gridSize = $.jgrid.defaults.rowNum; 
768
-		param.pagingYn = false; // 페이지안함 
769
-		
770
-		$(KOPER01010_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: KOPER01010_DETAIL_GRID_PAGER,
817
-			loadComplete: function(data) {				
818
-				itp_fn_grid_load_complete(data, KOPER01010_DETAIL_GRID_ID, true, undefined, 'KOPER01010_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(KOPER01010_DETAIL_GRID_ID)) {
830
-		    		itp_fn_modal_confirm(ITP_MSG_LOCALE.message.ajax.cancelData, pagingFn, KOPER01010_DETAIL_GRID_ID);
831
-		    		return 'stop';
832
-		    	} else {
833
-		    		itp_fn_grid_paging(KOPER01010_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(KOPER01010_DETAIL_GRID_ID)) {
843
-		    		itp_fn_modal_confirm(ITP_MSG_LOCALE.message.ajax.cancelData, sortingFn, KOPER01010_DETAIL_GRID_ID);
844
-		    		return 'stop';
845
-		    	} else {
846
-		    		itp_fn_grid_sorting(KOPER01010_DETAIL_GRID_ID, index, sortOrder);
847
-		    	}
848
-		    }
849
-		}).navGrid(KOPER01010_DETAIL_GRID_PAGER, ITP_GRID_NAV_DEFAULTS.navGrid);
850
-	},
851
-	clearData : function() {
852
-		$(KOPER01010_DETAIL_GRID_ID).jqGrid('clearGridData', true);
853
-		$(KOPER01010_DETAIL_GRID_LIST).find('.ui-jqgrid-bdiv').css('min-height', '100px');
854
-		$(KOPER01010_DETAIL_GRID_EMPTY).html(ITP_MSG_LOCALE.message.grid.noData);
855
-		$(KOPER01010_DETAIL_GRID_EMPTY).show();
856
-	}, 
857
-	unload : function() {
858
-		$.jgrid.gridUnload(KOPER01010_DETAIL_GRID_ID); 
859
-	}
860
-};

+ 0 - 555
src/main/webapp/js/app/koper/ITP_KOPER02010.js

@@ -1,555 +0,0 @@
1
-
2
-const KOPER02010_GRID_ID = '#ITP_KOPER02010_jqGrid';
3
-const KOPER02010_GRID_LIST = '#ITP_KOPER02010_jqGrid_list';
4
-const KOPER02010_GRID_PAGER = '#ITP_KOPER02010_jqGridPager';
5
-const KOPER02010_GRID_EMPTY = '#ITP_KOPER02010_jqGridEmpty';
6
-
7
-let ITP_FORM_KOPER02010_DETAIL_IS_DUPLICATE = false;
8
-let ITP_FORM_KOPER02010_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('KOPER02010');
24
-		// 공통코드 표시
25
-		fn_make_select(CODE_LIST, 'USE_STAT_CD', 'ITP_FORM_KOPER02010_SEARCH_USE_STAT_CD');
26
-		fn_make_select(CODE_LIST, 'USE_STAT_CD', 'ITP_FORM_KOPER02010_DETAIL_USE_STAT_CD', true, '선택');
27
-		fn_make_select(CODE_LIST, 'SALES_TYPE_CD', 'ITP_FORM_KOPER02010_DETAIL_SALES_TYPE_CD', true, '선택');
28
-		
29
-		// 조회일자 지정
30
-		// var now = new Date();
31
-		$('#ITP_TAB_KOPER02010 .input-group.date').datepicker(ITP_DATE_LANGUAGE);
32
-		// $('#ITP_FORM_KOPER02010_SEARCH_FROM_DT').datepicker('setDate', new Date(now.setMonth(now.getMonth() - 1)));
33
-		// $('#ITP_FORM_KOPER02010_SEARCH_TO_DT').datepicker('setDate', new Date());
34
-				
35
-		// 그리드				
36
-		itp_fn_jqgrid_resize(KOPER02010_GRID_ID, KOPER02010_GRID_LIST, 'lg');
37
-		itp_fn_KOPER02010_grid.init();
38
-    	itp_fn_fire_window_resize();
39
-
40
-		// 조회    	
41
-    	itp_fn_KOPER02010_search();
42
-    	
43
-		// 조회 버튼 클릭
44
-		$('#ITP_BTN_KOPER02010_SRH').on('click', function() {
45
-			itp_KOPER02010_search = true;
46
-			let param = $('#ITP_FORM_KOPER02010_SEARCH').serializeObject();
47
-			param.gridSize = $.jgrid.defaults.rowNum;
48
-			param.gridPage = $.jgrid.defaults.page;
49
-			$(KOPER02010_GRID_ID).setGridParam({'postData': JSON.stringify(param)}).trigger('reloadGrid');
50
-		});
51
-		
52
-		// 수정 버튼
53
-		$('#ITP_BTN_KOPER02010_MODIFY').on('click', function() {
54
-			itp_fn_form_clear_validate(null, '#ITP_FORM_KOPER02010_DETAIL');			
55
-			const salesUserIdVal = $('#ITP_FORM_KOPER02010_VIEW_SALES_USER_ID').val();
56
-			const key = {salesUserId: salesUserIdVal, viewCd: 'R'};
57
-			var param = $.param(key);
58
-			itp_fn_KOPER02010_detail(param);	
59
-		});
60
-		
61
-		// 신규등록 버튼
62
-		$('#ITP_BTN_KOPER02010_NEWREG').on('click', function() {
63
-			itp_fn_KOPER02010_switch_screen('ADD');			
64
-			itp_fn_form_clear_validate(null, '#ITP_FORM_KOPER02010_DETAIL');
65
-			itp_fn_KOPER02010_detail_map($('#ITP_FORM_KOPER02010_DETAIL_STREET_ADDRESS').val());				
66
-		});
67
-		
68
-		// 취소/목록 버튼
69
-		$('#ITP_BTN_KOPER02010_CANCELLIST').on('click', function() {
70
-			itp_fn_KOPER02010_search();
71
-    	});
72
-		
73
-		// 삭제 버튼
74
-		$('#ITP_BTN_KOPER02010_DELETE').on('click', function() {
75
-			
76
-		});
77
-		
78
-		// 저장 버튼
79
-		$('#ITP_BTN_KOPER02010_SAVE').on('click', function() {			
80
-			const formId = '#ITP_FORM_KOPER02010_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_KOPER02010_DETAIL_ZIPNO').val() == '' || $('#ITP_FORM_KOPER02010_DETAIL_ADRES').val() == '') {
92
-					itp_fn_modal_alert('주소 검색을 통해 회사 주소를 입력하세요.');
93
-					return;
94
-				}
95
-				
96
-				if (ITP_FORM_KOPER02010_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_KOPER02010_DETAIL_IS_WRITING = false;
102
-						itp_fn_KOPER02010_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_KOPER02010_DETAIL_DUP').on('click', function() {
112
-			const formId = '#ITP_FORM_KOPER02010_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_KOPER02010_DETAIL_IS_DUPLICATE = false;
119
-					} else {
120
-						ITP_FORM_KOPER02010_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_KOPER02010_RESET_PW').on('click', function() {
131
-			var resetPwFn = {
132
-				callBack: function(args) {
133
-					const key = {'userId':  $('#ITP_FORM_KOPER02010_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_KOPER02010_DETAIL_ADRES_SCH').on('click', function() {
142
-			new daum.Postcode({
143
-		    	oncomplete: function(data) {
144
-					// 전체주소 리턴
145
-					document.getElementById('ITP_FORM_KOPER02010_DETAIL_ZIPNO').value = data.zonecode;
146
-					document.getElementById('ITP_FORM_KOPER02010_DETAIL_ADRES').value = data.roadAddress;
147
-					document.getElementById('ITP_FORM_KOPER02010_DETAIL_LOTS_ADDRESS').value = !!data.autoJibunAddress ? data.autoJibunAddress : data.jibunAddress;
148
-					document.getElementById('ITP_FORM_KOPER02010_DETAIL_STREET_ADDRESS').value = data.roadAddress;
149
-					document.getElementById('ITP_FORM_KOPER02010_DETAIL_HJ_DONG').value = !!data.hname ? data.hname : data.bname;
150
-					document.getElementById('ITP_FORM_KOPER02010_DETAIL_BJ_DONG').value = data.bname;
151
-					
152
-					itp_fn_KOPER02010_detail_map(data.roadAddress);
153
-					document.getElementById('ITP_FORM_KOPER02010_DETAIL_ADRES_DTL').focus();		  
154
-		        }
155
-			}).open();
156
-		});
157
-		
158
-	});
159
-});
160
-
161
-var itp_fn_KOPER02010_detail_map = function(locate) {
162
-	
163
-	kakao.maps.load(function() {
164
-				
165
-		var mapContainer = document.getElementById('ITP_FORM_KOPER02010_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_KOPER02010_DETAIL_LAT').value = result[0].y;
207
-			        document.getElementById('ITP_FORM_KOPER02010_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_KOPER02010_DETAIL_LOTS_ADDRESS').value = result[0].address.address_name ;
227
-	   		        document.getElementById('ITP_FORM_KOPER02010_DETAIL_ADRES').value = !!result[0].road_address ? result[0].road_address.address_name : result[0].address.address_name ;
228
-	   		        document.getElementById('ITP_FORM_KOPER02010_DETAIL_STREET_ADDRESS').value = !!result[0].road_address ? result[0].road_address.address_name : $('#ITP_FORM_KOPER02010_DETAIL_STREET_ADDRESS').val();
229
-	   		        document.getElementById('ITP_FORM_KOPER02010_DETAIL_ZIPNO').value = !!result[0].road_address ? result[0].road_address.zone_no : $('#ITP_FORM_KOPER02010_DETAIL_CMPY_ZIPNO').val() ;
230
-			        document.getElementById('ITP_FORM_KOPER02010_DETAIL_LAT').value = map.getCenter().getLat();
231
-			        document.getElementById('ITP_FORM_KOPER02010_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_KOPER02010_view_map = function(locate) {
245
-	
246
-	kakao.maps.load(function() {
247
-				
248
-		var mapContainer = document.getElementById('ITP_FORM_KOPER02010_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_KOPER02010_switch_screen = function(mode) {
300
-	if(mode == 'LIST') { // 목록
301
-		$('#ITP_BTN_KOPER02010_MODIFY').hide();
302
-		$('#ITP_BTN_KOPER02010_CANCELLIST').hide();
303
-		$('#ITP_BTN_KOPER02010_DELETE').hide();
304
-		$('#ITP_BTN_KOPER02010_SAVE').hide();
305
-		fn_show_btn_auth('#ITP_BTN_KOPER02010_SRH');
306
-		fn_show_btn_auth('#ITP_BTN_KOPER02010_NEWREG');
307
-		
308
-		$('#ITP_AJAX_KOPER02010_LIST_CONTAINER').show();
309
-		$('#ITP_AJAX_KOPER02010_DETAIL_CONTAINER').hide();		
310
-		$('#ITP_AJAX_KOPER02010_VIEW_CONTAINER').hide();
311
-	} else if(mode == 'ADD') { // 등록
312
-		ITP_FORM_KOPER02010_DETAIL_IS_DUPLICATE = true;
313
-	
314
-		$('#ITP_BTN_KOPER02010_SRH').hide();
315
-		$('#ITP_BTN_KOPER02010_MODIFY').hide();
316
-		$('#ITP_BTN_KOPER02010_NEWREG').hide();
317
-		$('#ITP_BTN_KOPER02010_DELETE').hide();
318
-		$('#ITP_BTN_KOPER02010_RESET_PW').hide();
319
-		fn_show_btn_auth('#ITP_BTN_KOPER02010_CANCELLIST');
320
-		fn_show_btn_auth('#ITP_BTN_KOPER02010_SAVE');
321
-		
322
-		$('#ITP_AJAX_KOPER02010_LIST_CONTAINER').hide();
323
-		$('#ITP_AJAX_KOPER02010_DETAIL_CONTAINER').show();
324
-		$('#ITP_AJAX_KOPER02010_VIEW_CONTAINER').hide();		
325
-		$('#ITP_FORM_KOPER02010_DETAIL_SALES_USER_ID').removeAttr('readonly');
326
-		$('#ITP_FORM_KOPER02010_DETAIL_DUP').removeAttr('disabled');
327
-		
328
-		$('#ITP_FORM_KOPER02010_DETAIL_VIEW_CD').val('C');
329
-		$('#ITP_FORM_KOPER02010_DETAIL_SALES_USER_NM').val('');
330
-		$('#ITP_FORM_KOPER02010_DETAIL_SALES_TYPE_CD').val('');
331
-		$('#ITP_FORM_KOPER02010_DETAIL_USE_STAT_CD').val('');
332
-		$('#ITP_FORM_KOPER02010_DETAIL_SALES_USER_ID').val('');
333
-		$('#ITP_FORM_KOPER02010_DETAIL_TEL_NO').val('');
334
-		$('#ITP_FORM_KOPER02010_DETAIL_FAX_NO').val('');
335
-		$('#ITP_FORM_KOPER02010_DETAIL_EMAIL').val('');
336
-		$('#ITP_FORM_KOPER02010_DETAIL_ZIPNO').val('');
337
-		$('#ITP_FORM_KOPER02010_DETAIL_ADRES').val('');
338
-		$('#ITP_FORM_KOPER02010_DETAIL_ADRES_DTL').val('');
339
-		$('#ITP_FORM_KOPER02010_DETAIL_LOTS_ADDRESS').val('');
340
-		$('#ITP_FORM_KOPER02010_DETAIL_STREET_ADDRESS').val('');
341
-		$('#ITP_FORM_KOPER02010_DETAIL_LAT').val('');
342
-		$('#ITP_FORM_KOPER02010_DETAIL_LNG').val('');
343
-		$('#ITP_FORM_KOPER02010_DETAIL_HJ_DONG').val('');
344
-		$('#ITP_FORM_KOPER02010_DETAIL_BJ_DONG').val('');
345
-		
346
-	} else if(mode == 'MODIFY') { // 수정
347
-		$('#ITP_BTN_KOPER02010_SRH').hide();
348
-		$('#ITP_BTN_KOPER02010_MODIFY').hide();
349
-		$('#ITP_BTN_KOPER02010_NEWREG').hide();		
350
-		$('#ITP_BTN_KOPER02010_DELETE').hide();
351
-		fn_show_btn_auth('#ITP_BTN_KOPER02010_RESET_PW');
352
-		fn_show_btn_auth('#ITP_BTN_KOPER02010_CANCELLIST');
353
-		fn_show_btn_auth('#ITP_BTN_KOPER02010_SAVE');
354
-		
355
-		$('#ITP_AJAX_KOPER02010_LIST_CONTAINER').hide();
356
-		$('#ITP_AJAX_KOPER02010_DETAIL_CONTAINER').show();
357
-		$('#ITP_AJAX_KOPER02010_VIEW_CONTAINER').hide();
358
-		$('#ITP_FORM_KOPER02010_DETAIL_SALES_USER_ID').attr('readonly', true);
359
-		$('#ITP_FORM_KOPER02010_DETAIL_DUP').attr('disabled', true);
360
-	} else if(mode == 'VIEW') { // 보기
361
-		$('#ITP_BTN_KOPER02010_SRH').hide();
362
-		$('#ITP_BTN_KOPER02010_NEWREG').hide();		
363
-		$('#ITP_BTN_KOPER02010_DELETE').hide();
364
-		$('#ITP_BTN_KOPER02010_SAVE').hide();
365
-		fn_show_btn_auth('#ITP_BTN_KOPER02010_MODIFY');
366
-		fn_show_btn_auth('#ITP_BTN_KOPER02010_CANCELLIST');
367
-		
368
-		$('#ITP_AJAX_KOPER02010_LIST_CONTAINER').hide();
369
-		$('#ITP_AJAX_KOPER02010_DETAIL_CONTAINER').hide();
370
-		$('#ITP_AJAX_KOPER02010_VIEW_CONTAINER').show();
371
-	}	
372
-};
373
-
374
-var itp_fn_KOPER02010_grid = {
375
-	init: function() {
376
-		// 데이터 없을때
377
-		itp_fn_KOPER02010_empty.push();
378
-		$(KOPER02010_GRID_EMPTY).on('click', function() {
379
-			itp_fn_KOPER02010_empty.back();
380
-			itp_KOPER02010_param.gridSize = $.jgrid.defaults.rowNum;
381
-			$(KOPER02010_GRID_ID).setGridParam({'postData': JSON.stringify(itp_KOPER02010_param)}).trigger('reloadGrid');
382
-		});	
383
-	},
384
-	callBack: function() {
385
-		let param = $('#ITP_FORM_KOPER02010_SEARCH').serializeObject();
386
-		param.gridSize = $.jgrid.defaults.rowNum;	
387
-		$(KOPER02010_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: KOPER02010_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_KOPER02010_view(param);
436
-				}
437
-		   	},
438
-			loadComplete: function(data) {
439
-				console.log(JSON.stringify(data));
440
-				itp_fn_grid_load_complete(data, KOPER02010_GRID_ID, true, 'number', 'KOPER02010', itp_KOPER02010_search, itp_fn_KOPER02010_empty, true, data.gridRecords, true);
441
-				var ids = $(KOPER02010_GRID_ID).getDataIDs();
442
-				$.each(ids, function(idx, rowId) {
443
-					$(KOPER02010_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(KOPER02010_GRID_ID, action, param);
451
-		    }
452
-		}).navGrid(KOPER02010_GRID_PAGER, ITP_GRID_NAV_DEFAULTS.navGrid);
453
-	},
454
-	clearData : function() {
455
-		$(KOPER02010_GRID_ID).jqGrid('clearGridData', true);
456
-		$(KOPER02010_GRID_LIST).find('.ui-jqgrid-bdiv').css('min-height', '100px');
457
-		$(KOPER02010_GRID_EMPTY).html(ITP_MSG_LOCALE.message.grid.noData);
458
-		$(KOPER02010_GRID_EMPTY).show();
459
-	}, 
460
-	unload : function() {
461
-		$.jgrid.gridUnload(KOPER02010_GRID_ID); 
462
-	}
463
-};
464
-
465
-var itp_fn_KOPER02010_search = function() {
466
-	itp_fn_KOPER02010_switch_screen('LIST');	
467
-	itp_fn_KOPER02010_grid.unload();
468
-	itp_fn_KOPER02010_grid.callBack();
469
-};
470
-
471
-let itp_KOPER02010_param = {};
472
-let itp_KOPER02010_search = false;
473
-var itp_fn_KOPER02010_empty = {
474
-	push: function() {
475
-		let param = $('#ITP_FORM_KOPER02010_SEARCH').serializeObject();
476
-		itp_KOPER02010_param = param;
477
-	},
478
-	back: function() {
479
-		$('#ITP_FORM_KOPER02010_DEVI_TP_CD').val(itp_KOPER02010_param.deviTpCd);
480
-		$('#ITP_FORM_KOPER02010_ORDER_YN').val(itp_KOPER02010_param.orderYn);
481
-		$('#ITP_FORM_KOPER02010_ADT_AUTH_CD').val(itp_KOPER02010_param.adtAuthCd);
482
-		$('#ITP_FORM_KOPER02010_EMAIL_RCV_YN').val(itp_KOPER02010_param.emailRcvYn);
483
-		$('#ITP_FORM_KOPER02010_SMS_RCV_YN').val(itp_KOPER02010_param.smsRcvYn);
484
-		$('#ITP_FORM_KOPER02010_MEMB_EXIT_DT').val(itp_KOPER02010_param.membExitDt);
485
-		$('#ITP_FORM_KOPER02010_FROM_DT').val(itp_KOPER02010_param.fromDt);
486
-		$('#ITP_FORM_KOPER02010_TO_DT').val(itp_KOPER02010_param.toDt);
487
-		$('#ITP_FORM_KOPER02010_KEYWORD').val(itp_KOPER02010_param.keyword);
488
-	}
489
-};
490
-
491
-var itp_fn_KOPER02010_view = function(param) {
492
-	fn_ajax_call(SALES_USER_INFO, param, itp_fn_KOPER02010_view_callback, 'GET');
493
-};
494
-
495
-var itp_fn_KOPER02010_view_callback = function(result) {
496
-	// console.log(result);
497
-	itp_fn_KOPER02010_switch_screen('VIEW');
498
-	$('#ITP_FORM_KOPER02010_VIEW #ITP_FORM_KOPER02010_VIEW_SALES_USER_ID').val(result.salesUserId);
499
-	$('#ITP_FORM_KOPER02010_VIEW .fnSalesUserId').text(result.salesUserId);
500
-	$('#ITP_FORM_KOPER02010_VIEW .fnSalesUserNm').text(result.salesUserNm);
501
-	$('#ITP_FORM_KOPER02010_VIEW .fnSalesTypeCd').text(result.salesTypeCd);
502
-	$('#ITP_FORM_KOPER02010_VIEW .fnUseStatCd').text(result.useStatCd);
503
-	$('#ITP_FORM_KOPER02010_VIEW .fnSalesTypeNm').text(result.salesTypeNm);
504
-	$('#ITP_FORM_KOPER02010_VIEW .fnUseStatNm').text(result.useStatNm);
505
-	$('#ITP_FORM_KOPER02010_VIEW .fnTelNo').text(result.telNo);
506
-	$('#ITP_FORM_KOPER02010_VIEW .fnFaxNo').text(result.faxNo);
507
-	$('#ITP_FORM_KOPER02010_VIEW .fnEmail').text(result.email);
508
-	$('#ITP_FORM_KOPER02010_VIEW .fnCmpyAddress').text('('+ result.zipno + ') ' + result.adres + ' ' + result.adresDtl);
509
-	
510
-	$('#ITP_FORM_KOPER02010_VIEW .fnAddDt').text(result.addDt);
511
-	$('#ITP_FORM_KOPER02010_VIEW .fnChgDt').text(result.chgDt);
512
-	
513
-	itp_fn_KOPER02010_view_map(result.adres);	
514
-};
515
-
516
-var itp_fn_KOPER02010_detail = function(param) {
517
-	fn_ajax_call(SALES_USER_INFO, param, itp_fn_KOPER02010_detail_callback, 'GET');
518
-};
519
-
520
-var itp_fn_KOPER02010_detail_callback = function(result) {
521
-	 console.log(result);
522
-	itp_fn_KOPER02010_switch_screen('MODIFY');
523
-	$('#ITP_FORM_KOPER02010_DETAIL #ITP_FORM_KOPER02010_DETAIL_VIEW_CD').val('U');
524
-	
525
-	$('#ITP_FORM_KOPER02010_VIEW #ITP_FORM_KOPER02010_VIEW_SALES_USER_ID').val(result.salesUserId);
526
-	$('#ITP_FORM_KOPER02010_VIEW .fnSalesUserId').text(result.salesUserId);
527
-	$('#ITP_FORM_KOPER02010_VIEW .fnSalesUserNm').text(result.salesUserNm);
528
-	$('#ITP_FORM_KOPER02010_VIEW .fnSalesTypeCd').text(result.salesTypeCd);
529
-	$('#ITP_FORM_KOPER02010_VIEW .fnUseStatCd').text(result.useStatCd);
530
-	$('#ITP_FORM_KOPER02010_VIEW .fnSalesTypeNm').text(result.salesTypeNm);
531
-	$('#ITP_FORM_KOPER02010_VIEW .fnUseStatNm').text(result.useStatNm);
532
-	$('#ITP_FORM_KOPER02010_VIEW .fnTelNo').text(result.telNo);
533
-	$('#ITP_FORM_KOPER02010_VIEW .fnFaxNo').text(result.faxNo);
534
-	$('#ITP_FORM_KOPER02010_VIEW .fnEmail').text(result.email);
535
-	
536
-	$('#ITP_FORM_KOPER02010_DETAIL #ITP_FORM_KOPER02010_DETAIL_SALES_USER_NM').val(result.salesUserNm);
537
-	$('#ITP_FORM_KOPER02010_DETAIL #ITP_FORM_KOPER02010_DETAIL_SALES_TYPE_CD').val(result.salesTypeCd);
538
-	$('#ITP_FORM_KOPER02010_DETAIL #ITP_FORM_KOPER02010_DETAIL_USE_STAT_CD').val(result.useStatCd);
539
-	$('#ITP_FORM_KOPER02010_DETAIL #ITP_FORM_KOPER02010_DETAIL_SALES_USER_ID').val(result.salesUserId);	
540
-	$('#ITP_FORM_KOPER02010_DETAIL #ITP_FORM_KOPER02010_DETAIL_SALES_TYPE_NM').val(result.salesTypeNm);
541
-	$('#ITP_FORM_KOPER02010_DETAIL #ITP_FORM_KOPER02010_DETAIL_USE_STAT_NM').val(result.useStatNm);
542
-	$('#ITP_FORM_KOPER02010_DETAIL #ITP_FORM_KOPER02010_DETAIL_TEL_NO').val(result.telNo);
543
-	$('#ITP_FORM_KOPER02010_DETAIL #ITP_FORM_KOPER02010_DETAIL_FAX_NO').val(result.faxNo);
544
-	$('#ITP_FORM_KOPER02010_DETAIL #ITP_FORM_KOPER02010_DETAIL_EMAIL').val(result.email);
545
-		
546
-	$('#ITP_FORM_KOPER02010_DETAIL #ITP_FORM_KOPER02010_DETAIL_ZIPNO').val(result.zipno);	
547
-	$('#ITP_FORM_KOPER02010_DETAIL #ITP_FORM_KOPER02010_DETAIL_ADRES').val(result.adres);	
548
-	$('#ITP_FORM_KOPER02010_DETAIL #ITP_FORM_KOPER02010_DETAIL_ADRES_DTL').val(result.adresDtl);		
549
-	
550
-	$('#ITP_FORM_KOPER02010_DETAIL .fnAddDt').text(result.addDt);
551
-	$('#ITP_FORM_KOPER02010_DETAIL .fnChgDt').text(result.chgDt);
552
-	
553
-	itp_fn_KOPER02010_detail_map($('#ITP_FORM_KOPER02010_DETAIL_ADRES').val());
554
-	
555
-};

+ 0 - 352
src/main/webapp/js/app/koper/ITP_KOPER05010.js

@@ -1,352 +0,0 @@
1
-
2
-const KOPER05010_GRID_ID = '#ITP_KOPER05010_jqGrid';
3
-const KOPER05010_GRID_LIST = '#ITP_KOPER05010_jqGrid_list';
4
-const KOPER05010_GRID_PAGER = '#ITP_KOPER05010_jqGridPager';
5
-const KOPER05010_GRID_EMPTY = '#ITP_KOPER05010_jqGridEmpty';
6
-
7
-let ITP_FORM_KOPER05010_DETAIL_IS_DUPLICATE = false;
8
-let ITP_FORM_KOPER05010_DETAIL_IS_WRITING = false;
9
-
10
-let VAN_GRID_LIST = '/api/vanInfo/grid-list';
11
-let VAN_INFO = '/api/vanInfo/info-vaninfo';
12
-let VAN_SAVE = '/api/vanInfo/save-vaninfo';
13
-let VAN_CHECK_DUPLICATE = '/api/vanInfo/check-duplicate';
14
-
15
-require(['config'], function() {
16
-	require([
17
-		'jquery'
18
-	], function($) {
19
-		// 버튼 권한설정
20
-		fn_proc_btn_auth('KOPER05010');
21
-		// 공통코드 표시
22
-		//fn_make_select(CODE_LIST, 'USE_STAT_CD', 'ITP_FORM_KOPER05010_SEARCH_USE_STAT_CD');
23
-		//fn_make_select(CODE_LIST, 'USE_STAT_CD', 'ITP_FORM_KOPER05010_DETAIL_USE_STAT_CD', true, '선택');
24
-		//fn_make_select(CODE_LIST, 'SALES_TYPE_CD', 'ITP_FORM_KOPER05010_DETAIL_SALES_TYPE_CD', true, '선택');
25
-		
26
-		// 조회일자 지정
27
-		// var now = new Date();
28
-		//$('#ITP_TAB_KOPER05010 .input-group.date').datepicker(ITP_DATE_LANGUAGE);
29
-		// $('#ITP_FORM_KOPER05010_SEARCH_FROM_DT').datepicker('setDate', new Date(now.setMonth(now.getMonth() - 1)));
30
-		// $('#ITP_FORM_KOPER05010_SEARCH_TO_DT').datepicker('setDate', new Date());
31
-				
32
-		// 그리드				
33
-		itp_fn_jqgrid_resize(KOPER05010_GRID_ID, KOPER05010_GRID_LIST, 'lg');
34
-		itp_fn_KOPER05010_grid.init();
35
-    	itp_fn_fire_window_resize();
36
-
37
-		// 조회    	
38
-    	itp_fn_KOPER05010_search();
39
-    	
40
-		// 조회 버튼 클릭
41
-		$('#ITP_BTN_KOPER05010_SRH').on('click', function() {
42
-			itp_KOPER05010_search = true;
43
-			let param = $('#ITP_FORM_KOPER05010_SEARCH').serializeObject();
44
-			param.gridSize = $.jgrid.defaults.rowNum;
45
-			param.gridPage = $.jgrid.defaults.page;
46
-			$(KOPER05010_GRID_ID).setGridParam({'postData': JSON.stringify(param)}).trigger('reloadGrid');
47
-		});
48
-		
49
-		// 수정 버튼
50
-		$('#ITP_BTN_KOPER05010_MODIFY').on('click', function() {
51
-			itp_fn_form_clear_validate(null, '#ITP_FORM_KOPER05010_DETAIL');			
52
-			const vanCdVal = $('#ITP_FORM_KOPER05010_VIEW_VAN_CD').val();
53
-			const key = {vanCd: vanCdVal, viewCd: 'R'};
54
-			var param = $.param(key);
55
-			itp_fn_KOPER05010_detail(param);	
56
-		});
57
-		
58
-		// 신규등록 버튼
59
-		$('#ITP_BTN_KOPER05010_NEWREG').on('click', function() {
60
-			itp_fn_KOPER05010_switch_screen('ADD');			
61
-			itp_fn_form_clear_validate(null, '#ITP_FORM_KOPER05010_DETAIL');		
62
-		});
63
-		
64
-		// 취소/목록 버튼
65
-		$('#ITP_BTN_KOPER05010_CANCELLIST').on('click', function() {
66
-			itp_fn_KOPER05010_search();
67
-    	});
68
-		
69
-		// 삭제 버튼
70
-		$('#ITP_BTN_KOPER05010_DELETE').on('click', function() {
71
-			
72
-		});
73
-		
74
-		// 저장 버튼
75
-		$('#ITP_BTN_KOPER05010_SAVE').on('click', function() {			
76
-			const formId = '#ITP_FORM_KOPER05010_DETAIL';
77
-			itp_fn_form_clear_validate(null, formId);			
78
-			var vali_vanCd = itp_fn_form_validate(formId, formId + '_VAN_CD', ['empty'], undefined);
79
-			var vali_vanNm = itp_fn_form_validate(formId, formId + '_VAN_NM', ['empty'], undefined);
80
-			var vali_vanIp = itp_fn_form_validate(formId, formId + '_VAN_IP', ['empty'], undefined);
81
-			var vali_vanPort = itp_fn_form_validate(formId, formId + '_VAN_PORT', ['empty'], undefined);		
82
-			
83
-			if (vali_vanCd && vali_vanNm && vali_vanIp && vali_vanPort) {
84
-				
85
-				if (ITP_FORM_KOPER05010_DETAIL_IS_DUPLICATE) {
86
-					itp_fn_modal_duplicate('VAN코드 중복체크를 해주세요.', formId + '_VAN_CD');
87
-				} else {
88
-				
89
-					let param = $(formId).serializeObject();
90
-					var searhFn = function() {
91
-						ITP_FORM_KOPER05010_DETAIL_IS_WRITING = false;
92
-						itp_fn_KOPER05010_search();
93
-					};
94
-					console.log(JSON.stringify(param));
95
-					fn_ajax_call(VAN_SAVE, JSON.stringify(param), searhFn, 'POST');	
96
-				}
97
-			}
98
-		});
99
-		
100
-		// 중복체크
101
-		$('#ITP_FORM_KOPER05010_DETAIL_DUP').on('click', function() {
102
-			const formId = '#ITP_FORM_KOPER05010_DETAIL';
103
-			itp_fn_form_clear_validate(null, formId + '_DETAIL');
104
-			var vali_vanCd = itp_fn_form_validate(formId + '_DETAIL', formId + '_VAN_CD', ['empty'], undefined);
105
-			if (vali_vanCd) {
106
-				var dupFn = function(result) {
107
-					if (result.code == 'N') {
108
-						ITP_FORM_KOPER05010_DETAIL_IS_DUPLICATE = false;
109
-					} else {
110
-						ITP_FORM_KOPER05010_DETAIL_IS_DUPLICATE = true;
111
-					}
112
-				};
113
-				const key = {'vanCd':  $(formId + '_VAN_CD').val()};
114
-				const param = $.param(key);
115
-				fn_ajax_call(VAN_CHECK_DUPLICATE, param, dupFn, 'GET');
116
-			}
117
-		});
118
-		
119
-	});
120
-});
121
-
122
-
123
-var itp_fn_KOPER05010_switch_screen = function(mode) {
124
-	if(mode == 'LIST') { // 목록
125
-		$('#ITP_BTN_KOPER05010_MODIFY').hide();
126
-		$('#ITP_BTN_KOPER05010_CANCELLIST').hide();
127
-		$('#ITP_BTN_KOPER05010_DELETE').hide();
128
-		$('#ITP_BTN_KOPER05010_SAVE').hide();
129
-		fn_show_btn_auth('#ITP_BTN_KOPER05010_SRH');
130
-		fn_show_btn_auth('#ITP_BTN_KOPER05010_NEWREG');
131
-		
132
-		$('#ITP_AJAX_KOPER05010_LIST_CONTAINER').show();
133
-		$('#ITP_AJAX_KOPER05010_DETAIL_CONTAINER').hide();		
134
-		$('#ITP_AJAX_KOPER05010_VIEW_CONTAINER').hide();
135
-	} else if(mode == 'ADD') { // 등록
136
-		ITP_FORM_KOPER05010_DETAIL_IS_DUPLICATE = true;
137
-		$('#ITP_BTN_KOPER05010_SRH').hide();
138
-		$('#ITP_BTN_KOPER05010_MODIFY').hide();
139
-		$('#ITP_BTN_KOPER05010_NEWREG').hide();
140
-		$('#ITP_BTN_KOPER05010_DELETE').hide();
141
-		fn_show_btn_auth('#ITP_BTN_KOPER05010_CANCELLIST');
142
-		fn_show_btn_auth('#ITP_BTN_KOPER05010_SAVE');
143
-		
144
-		$('#ITP_AJAX_KOPER05010_LIST_CONTAINER').hide();
145
-		$('#ITP_AJAX_KOPER05010_DETAIL_CONTAINER').show();
146
-		$('#ITP_AJAX_KOPER05010_VIEW_CONTAINER').hide();		
147
-		$('#ITP_FORM_KOPER05010_DETAIL_VAN_CD').removeAttr('readonly');
148
-		$('#ITP_FORM_KOPER05010_DETAIL_DUP').removeAttr('disabled');
149
-		
150
-		$('#ITP_FORM_KOPER05010_DETAIL_VIEW_CD').val('C');
151
-		$('#ITP_FORM_KOPER05010_DETAIL_VAN_CD').val('');
152
-		$('#ITP_FORM_KOPER05010_DETAIL_VAN_NM').val('');
153
-		$('#ITP_FORM_KOPER05010_DETAIL_VAN_IP').val('');
154
-		$('#ITP_FORM_KOPER05010_DETAIL_VAN_PORT').val('');
155
-		
156
-	} else if(mode == 'MODIFY') { // 수정
157
-		$('#ITP_BTN_KOPER05010_SRH').hide();
158
-		$('#ITP_BTN_KOPER05010_MODIFY').hide();
159
-		$('#ITP_BTN_KOPER05010_NEWREG').hide();		
160
-		$('#ITP_BTN_KOPER05010_DELETE').hide();
161
-		fn_show_btn_auth('#ITP_BTN_KOPER05010_CANCELLIST');
162
-		fn_show_btn_auth('#ITP_BTN_KOPER05010_SAVE');
163
-		
164
-		$('#ITP_AJAX_KOPER05010_LIST_CONTAINER').hide();
165
-		$('#ITP_AJAX_KOPER05010_DETAIL_CONTAINER').show();
166
-		$('#ITP_AJAX_KOPER05010_VIEW_CONTAINER').hide();
167
-		$('#ITP_FORM_KOPER05010_DETAIL_VAN_CD').attr('readonly', true);
168
-		$('#ITP_FORM_KOPER05010_DETAIL_DUP').attr('disabled', true);
169
-	} else if(mode == 'VIEW') { // 보기
170
-		$('#ITP_BTN_KOPER05010_SRH').hide();
171
-		$('#ITP_BTN_KOPER05010_NEWREG').hide();		
172
-		$('#ITP_BTN_KOPER05010_DELETE').hide();
173
-		$('#ITP_BTN_KOPER05010_SAVE').hide();
174
-		fn_show_btn_auth('#ITP_BTN_KOPER05010_MODIFY');
175
-		fn_show_btn_auth('#ITP_BTN_KOPER05010_CANCELLIST');
176
-		
177
-		$('#ITP_AJAX_KOPER05010_LIST_CONTAINER').hide();
178
-		$('#ITP_AJAX_KOPER05010_DETAIL_CONTAINER').hide();
179
-		$('#ITP_AJAX_KOPER05010_VIEW_CONTAINER').show();
180
-	}	
181
-};
182
-
183
-var itp_fn_KOPER05010_grid = {
184
-	init: function() {
185
-		// 데이터 없을때
186
-		itp_fn_KOPER05010_empty.push();
187
-		$(KOPER05010_GRID_EMPTY).on('click', function() {
188
-			itp_fn_KOPER05010_empty.back();
189
-			itp_KOPER05010_param.gridSize = $.jgrid.defaults.rowNum;
190
-			$(KOPER05010_GRID_ID).setGridParam({'postData': JSON.stringify(itp_KOPER05010_param)}).trigger('reloadGrid');
191
-		});	
192
-	},
193
-	callBack: function() {
194
-		let param = $('#ITP_FORM_KOPER05010_SEARCH').serializeObject();
195
-		param.gridSize = $.jgrid.defaults.rowNum;	
196
-		$(KOPER05010_GRID_ID).jqGrid({
197
-			colModel: [
198
-				{
199
-					index: 'VAN_CD', name: 'vanCd',
200
-					label: 'VAN코드', 
201
-					width: '6', fixed: false, align: 'center',
202
-					sortable: false, hidden: false
203
-				},
204
-				{
205
-					index: 'VAN_NM', name: 'vanNm',
206
-					label: 'VAN명', 
207
-					width: '10', fixed: false, align: 'center',
208
-					sortable: false, hidden: false
209
-				},
210
-				{
211
-					index: 'VAN_IP', name: 'vanIp',
212
-					label: 'IP', 
213
-					width: '6', fixed: false, align: 'center',
214
-					sortable: false, hidden: false
215
-				},
216
-				{
217
-					index: 'VAN_PORT', name: 'vanPort',
218
-					label: 'PORT', 
219
-					width: '6', fixed: false, align: 'center',
220
-					sortable: false, hidden: false
221
-				},
222
-				{
223
-					index: 'ADD_DT', name: 'addDt',
224
-					label: '등록일자', 
225
-					width: '8', fixed: false, align: 'center',
226
-					sortable: false, hidden: false
227
-				}
228
-			],
229
-			loadBeforeSend: function(jqXHR) {
230
-			    jqXHR.setRequestHeader('X-AUTH-TOKEN', CONN_KEY);
231
-			},
232
-			postData: JSON.stringify(param),
233
-			url: DOMAIN + VAN_GRID_LIST,
234
-			pager: KOPER05010_GRID_PAGER,
235
-			multiselect: false,
236
-			rownumbers: true, 
237
-			onCellSelect: function(rowId, cellIdx, cellValue) {
238
-				var cm = $(this).jqGrid('getGridParam', 'colModel');
239
-				var colNm = cm[cellIdx].name;
240
-				if (colNm == 'vanCd') {
241
-					const vanCdVal = $(this).jqGrid('getCell', rowId, 'vanCd');
242
-					const key = {vanCd: vanCdVal, viewCd: 'R'};
243
-					var param = $.param(key);
244
-					itp_fn_KOPER05010_view(param);
245
-				}
246
-		   	},
247
-			loadComplete: function(data) {
248
-				console.log(JSON.stringify(data));
249
-				itp_fn_grid_load_complete(data, KOPER05010_GRID_ID, true, 'number', 'KOPER05010', itp_KOPER05010_search, itp_fn_KOPER05010_empty, true, data.gridRecords, true);
250
-				var ids = $(KOPER05010_GRID_ID).getDataIDs();
251
-				$.each(ids, function(idx, rowId) {
252
-					$(KOPER05010_GRID_ID).jqGrid('setCell', rowId, 'vanCd', '', ITP_GRID_COL_STYLE.link);
253
-				});	
254
-		    },
255
-		    loadError: function(jqXHR, textStatus, errorThrown) {
256
-		    	itp_fn_grid_load_error(jqXHR, textStatus, errorThrown);
257
-		    },
258
-		    onPaging: function(action) {
259
-		    	itp_fn_grid_paging(KOPER05010_GRID_ID, action, param);
260
-		    }
261
-		}).navGrid(KOPER05010_GRID_PAGER, ITP_GRID_NAV_DEFAULTS.navGrid);
262
-	},
263
-	clearData : function() {
264
-		$(KOPER05010_GRID_ID).jqGrid('clearGridData', true);
265
-		$(KOPER05010_GRID_LIST).find('.ui-jqgrid-bdiv').css('min-height', '100px');
266
-		$(KOPER05010_GRID_EMPTY).html(ITP_MSG_LOCALE.message.grid.noData);
267
-		$(KOPER05010_GRID_EMPTY).show();
268
-	}, 
269
-	unload : function() {
270
-		$.jgrid.gridUnload(KOPER05010_GRID_ID); 
271
-	}
272
-};
273
-
274
-var itp_fn_KOPER05010_search = function() {
275
-	itp_fn_KOPER05010_switch_screen('LIST');	
276
-	itp_fn_KOPER05010_grid.unload();
277
-	itp_fn_KOPER05010_grid.callBack();
278
-};
279
-
280
-let itp_KOPER05010_param = {};
281
-let itp_KOPER05010_search = false;
282
-var itp_fn_KOPER05010_empty = {
283
-	push: function() {
284
-		let param = $('#ITP_FORM_KOPER05010_SEARCH').serializeObject();
285
-		itp_KOPER05010_param = param;
286
-	}
287
-};
288
-
289
-var itp_fn_KOPER05010_view = function(param) {
290
-	fn_ajax_call(VAN_INFO, param, itp_fn_KOPER05010_view_callback, 'GET');
291
-};
292
-
293
-var itp_fn_KOPER05010_view_callback = function(result) {
294
-	// console.log(result);
295
-	itp_fn_KOPER05010_switch_screen('VIEW');
296
-	$('#ITP_FORM_KOPER05010_VIEW #ITP_FORM_KOPER05010_VIEW_VAN_CD').val(result.vanCd);
297
-	$('#ITP_FORM_KOPER05010_VIEW .fnVanCd').text(result.vanCd);
298
-	$('#ITP_FORM_KOPER05010_VIEW .fnVanNm').text(result.vanNm);
299
-	$('#ITP_FORM_KOPER05010_VIEW .fnVanIp').text(result.vanIp);
300
-	$('#ITP_FORM_KOPER05010_VIEW .fnVanPort').text(result.vanPort);
301
-	$('#ITP_FORM_KOPER05010_VIEW .fnAddDt').text(result.addDt);
302
-	$('#ITP_FORM_KOPER05010_VIEW .fnChgDt').text(result.chgDt);
303
-	
304
-	$('#ITP_FORM_KOPER05010_VIEW .fnVanData1').text(result.vanData1);
305
-	$('#ITP_FORM_KOPER05010_VIEW .fnVanData2').text(result.vanData2);
306
-	$('#ITP_FORM_KOPER05010_VIEW .fnVanData3').text(result.vanData3);
307
-	$('#ITP_FORM_KOPER05010_VIEW .fnVanData4').text(result.vanData4);
308
-	$('#ITP_FORM_KOPER05010_VIEW .fnVanData5').text(result.vanData5);
309
-	
310
-};
311
-
312
-var itp_fn_KOPER05010_detail = function(param) {
313
-	fn_ajax_call(VAN_INFO, param, itp_fn_KOPER05010_detail_callback, 'GET');
314
-};
315
-
316
-var itp_fn_KOPER05010_detail_callback = function(result) {
317
-	 console.log(result);
318
-	itp_fn_KOPER05010_switch_screen('MODIFY');
319
-	$('#ITP_FORM_KOPER05010_DETAIL #ITP_FORM_KOPER05010_DETAIL_VIEW_CD').val('U');
320
-	
321
-	//$('#ITP_FORM_KOPER05010_VIEW #ITP_FORM_KOPER05010_VIEW_VAN_CD').val(result.vanCd);
322
-	$('#ITP_FORM_KOPER05010_VIEW .fnVanCd').text(result.vanCd);
323
-	$('#ITP_FORM_KOPER05010_VIEW .fnVanNm').text(result.vanNm);
324
-	$('#ITP_FORM_KOPER05010_VIEW .fnVanIp').text(result.vanIp);
325
-	$('#ITP_FORM_KOPER05010_VIEW .fnVanPort').text(result.vanPort);
326
-	$('#ITP_FORM_KOPER05010_VIEW .fnAddDt').text(result.addDt);
327
-	$('#ITP_FORM_KOPER05010_VIEW .fnChgDt').text(result.chgDt);
328
-	$('#ITP_FORM_KOPER05010_VIEW .fnVanData1').text(result.vanData1);
329
-	$('#ITP_FORM_KOPER05010_VIEW .fnVanData2').text(result.vanData2);
330
-	$('#ITP_FORM_KOPER05010_VIEW .fnVanData3').text(result.vanData3);
331
-	$('#ITP_FORM_KOPER05010_VIEW .fnVanData4').text(result.vanData4);
332
-	$('#ITP_FORM_KOPER05010_VIEW .fnVanData5').text(result.vanData5);
333
-	
334
-	
335
-	
336
-	$('#ITP_FORM_KOPER05010_DETAIL #ITP_FORM_KOPER05010_DETAIL_VAN_CD').val(result.vanCd);
337
-	$('#ITP_FORM_KOPER05010_DETAIL #ITP_FORM_KOPER05010_DETAIL_VAN_NM').val(result.vanNm);
338
-	$('#ITP_FORM_KOPER05010_DETAIL #ITP_FORM_KOPER05010_DETAIL_VAN_IP').val(result.vanIp);
339
-	$('#ITP_FORM_KOPER05010_DETAIL #ITP_FORM_KOPER05010_DETAIL_VAN_PORT').val(result.vanPort);	
340
-	$('#ITP_FORM_KOPER05010_DETAIL .fnAddDt').text(result.addDt);
341
-	$('#ITP_FORM_KOPER05010_DETAIL .fnChgDt').text(result.chgDt);
342
-	
343
-	
344
-	$('#ITP_FORM_KOPER05010_DETAIL #ITP_FORM_KOPER05010_DETAIL_VAN_DATA1').val(result.vanData1);
345
-	$('#ITP_FORM_KOPER05010_DETAIL #ITP_FORM_KOPER05010_DETAIL_VAN_DATA2').val(result.vanData2);
346
-	$('#ITP_FORM_KOPER05010_DETAIL #ITP_FORM_KOPER05010_DETAIL_VAN_DATA3').val(result.vanData3);
347
-	$('#ITP_FORM_KOPER05010_DETAIL #ITP_FORM_KOPER05010_DETAIL_VAN_DATA4').val(result.vanData4);
348
-	$('#ITP_FORM_KOPER05010_DETAIL #ITP_FORM_KOPER05010_DETAIL_VAN_DATA5').val(result.vanData5);
349
-	
350
-	
351
-	
352
-};

+ 0 - 278
src/main/webapp/js/app/koper/ITP_KOPER07010.js

@@ -1,278 +0,0 @@
1
-
2
-const KOPER07010_GRID_ID = '#ITP_KOPER07010_jqGrid';
3
-const KOPER07010_GRID_LIST = '#ITP_KOPER07010_jqGrid_list';
4
-const KOPER07010_GRID_PAGER = '#ITP_KOPER07010_jqGridPager';
5
-const KOPER07010_GRID_EMPTY = '#ITP_KOPER07010_jqGridEmpty';
6
-
7
-let ITP_FORM_KOPER07010_DETAIL_IS_WRITING = false;
8
-let KOPER07010_GRID_LAST_ROW_ID;
9
-
10
-let NK_APPTYPE_CFG_GRID_LIST = '/api/nk/apptype/cfg/grid-list';
11
-let NK_SAVE_APPTYPE_CFG = '/api/nk/apptype/cfg/save-apptype-cfg'; 
12
-let BRAND_LIST_BRAND = '/api/nk/brand/list-brand'; // 브랜드리스트
13
-let CORNER_LIST_CORNER = '/api/nk/corner/list-corner'; // 코너리스트
14
-
15
-require(['config'], function() {
16
-	require([
17
-		'jquery',
18
-		'check'
19
-	], function($) {
20
-		
21
-		// 버튼 권한설정
22
-		fn_proc_btn_auth('KOPER07010');
23
-		// 공통코드 표시
24
-		fn_make_select(CODE_LIST, 'APP_TYPE_CD', 'ITP_FORM_KOPER07010_SEARCH_APP_TYPE_CD');
25
-		fn_make_select(CODE_LIST, 'CFG_TYPE_CD', 'ITP_FORM_KOPER07010_SEARCH_CFG_TYPE_CD');
26
-		fn_make_input_common_cd(CODE_LIST, 'YN', 'ITP_FORM_KOPER07010_SEARCH_YN', false);
27
-
28
-		// 그리드
29
-		itp_fn_jqgrid_resize(KOPER07010_GRID_ID, KOPER07010_GRID_LIST, 'lg');
30
-		itp_fn_KOPER07010_grid.init();
31
-    	itp_fn_fire_window_resize();
32
-
33
-		// 조회
34
-		itp_fn_KOPER07010_search();
35
-		
36
-		$('#ITP_FORM_KOPER07010_SEARCH_APP_TYPE_CD,#ITP_FORM_KOPER07010_SEARCH_CFG_TYPE_CD').on('change', function() {
37
-			// 조회
38
-			itp_fn_KOPER07010_search();
39
-		});
40
-
41
-		// 조회 버튼 클릭
42
-		$('#ITP_BTN_KOPER07010_SRH').on('click', function() {
43
-			itp_KOPER07010_search = true;
44
-			let param = $('#ITP_FORM_KOPER07010_SEARCH').serializeObject();
45
-			param.gridSize = $.jgrid.defaults.rowNum;
46
-			param.gridPage = $.jgrid.defaults.page;
47
-			$(KOPER07010_GRID_ID).setGridParam({'postData': JSON.stringify(param)}).trigger('reloadGrid');
48
-		});
49
-
50
-		// 추가 버튼
51
-		$('#ITP_BTN_KOPER07010_ADD').on('click', function() {
52
-			if($('#ITP_FORM_KOPER07010_SEARCH_APP_TYPE_CD').val() == '') {
53
-				itp_fn_modal_alert('어플리케이션유형코드를 선택하세요.');
54
-				return;
55
-			}
56
-			if($('#ITP_FORM_KOPER07010_SEARCH_CFG_TYPE_CD').val() == '') {
57
-				itp_fn_modal_alert('환경설정구분코드를 선택하세요.');
58
-				return;
59
-			}
60
-			KOPER07010_GRID_LAST_ROW_ID = itp_fn_grid_add_row(KOPER07010_GRID_ID, function(last_row_id, row_count) {
61
-				
62
-				const cfgTypeNm = $('#ITP_FORM_KOPER07010_SEARCH_CFG_TYPE_CD option:selected').text();
63
-				$(KOPER07010_GRID_ID).jqGrid('setCell', last_row_id, 'cfgTypeNm', cfgTypeNm);
64
-				
65
-			}, ['cfgKey'], 'KOPER07010');
66
-		});
67
-		
68
-		// 삭제 버튼
69
-		$('#ITP_BTN_KOPER07010_DEL').on('click', function() {
70
-			if($('#ITP_FORM_KOPER07010_SEARCH_APP_TYPE_CD').val() == '') {
71
-				itp_fn_modal_alert('어플리케이션유형코드를 선택하세요.');
72
-				return;
73
-			}
74
-			if($('#ITP_FORM_KOPER07010_SEARCH_CFG_TYPE_CD').val() == '') {
75
-				itp_fn_modal_alert('환경설정구분코드를 선택하세요.');
76
-				return;
77
-			}
78
-			itp_fn_grid_del_row(KOPER07010_GRID_ID);			
79
-		});
80
-		
81
-		// 저장 버튼
82
-		$('#ITP_BTN_KOPER07010_SAVE').on('click', function() {
83
-			if($('#ITP_FORM_KOPER07010_SEARCH_APP_TYPE_CD').val() == '') {
84
-				itp_fn_modal_alert('어플리케이션유형코드를 선택하세요.');
85
-				return;
86
-			}
87
-			if($('#ITP_FORM_KOPER07010_SEARCH_CFG_TYPE_CD').val() == '') {
88
-				itp_fn_modal_alert('환경설정구분코드를 선택하세요.');
89
-				return;
90
-			}
91
-			
92
-			let gridInsertData = [];
93
-			let gridUpdateData = [];
94
-			let gridDeleteData = [];
95
-			const rowData = $(KOPER07010_GRID_ID).getRowData();
96
-			$.each(rowData, function(key, value) {
97
-				if (value.viewCd != 'R') {
98
-					if (value.viewCd == 'C') {
99
-						gridInsertData.push(value);
100
-					} else if (value.viewCd == 'U') {
101
-						gridUpdateData.push(value);
102
-					} else if (value.viewCd == 'D') {
103
-						gridDeleteData.push(value);
104
-					}
105
-				}
106
-			});
107
-			
108
-			$('#ITP_FORM_KOPER07010_SAVE_VIEW_CD').val('U');
109
-			$('#ITP_FORM_KOPER07010_SAVE_APP_TYPE_CD').val($('#ITP_FORM_KOPER07010_SEARCH_APP_TYPE_CD').val());
110
-			$('#ITP_FORM_KOPER07010_SAVE_CFG_TYPE_CD').val($('#ITP_FORM_KOPER07010_SEARCH_CFG_TYPE_CD').val());
111
-			
112
-			let param = $('#ITP_FORM_KOPER07010_SAVE').serializeObject();
113
-			param.gridInsertData = gridInsertData;
114
-			param.gridUpdateData = gridUpdateData;
115
-			param.gridDeleteData = gridDeleteData;
116
-			
117
-			fn_ajax_call(NK_SAVE_APPTYPE_CFG, JSON.stringify(param), function() {			
118
-				// 조회
119
-    			itp_fn_KOPER07010_search();
120
-			}, 'POST');
121
-		});
122
-
123
-		$('body').on('click', function(e) {			
124
-			var gridId = KOPER07010_GRID_ID.replace('#', '');
125
-			var rids = $(KOPER07010_GRID_ID).jqGrid('getDataIDs');			
126
-			var last_row_id = rids[rids.length - 1];
127
-			itp_fn_grid_reset_selection(e, last_row_id, gridId, 'KOPER07010_DETAIL');
128
-		});
129
-	});
130
-});
131
-
132
-var itp_fn_KOPER07010_grid = {
133
-	init: function() {
134
-		// 데이터 없을때
135
-		itp_fn_KOPER07010_empty.push();
136
-		$(KOPER07010_GRID_EMPTY).on('click', function() {
137
-			itp_fn_KOPER07010_empty.back();
138
-			itp_KOPER07010_param.gridSize = $.jgrid.defaults.rowNum;
139
-			$(KOPER07010_GRID_ID).setGridParam({'postData': JSON.stringify(itp_KOPER07010_param)}).trigger('reloadGrid');
140
-		});
141
-	},
142
-	callBack: function() {
143
-		let param = $('#ITP_FORM_KOPER07010_SEARCH').serializeObject();
144
-		param.gridSize = $.jgrid.defaults.rowNum;
145
-		$(KOPER07010_GRID_ID).jqGrid({
146
-			colModel: [
147
-				{
148
-					index: 'VIEW_CD', name: 'viewCd',
149
-					label: ITP_MSG_LOCALE.label.viewCd,
150
-					width: '10', fixed: false, align: 'center',
151
-					sortable: false, hidden: true
152
-				},
153
-				{
154
-					index: 'CFG_TYPE_NM', name: 'cfgTypeNm',
155
-					label: '환경설정구분', 
156
-					width: '10', fixed: false, align: 'center',
157
-					sortable: false, hidden: false
158
-				},
159
-				{
160
-					index: 'CFG_KEY', name: 'cfgKey',
161
-					label: '환경설정키', 
162
-					width: '10', fixed: false, align: 'center',
163
-					sortable: false, editable: false, edittype: 'text',
164
-					editrules: {required: true}, 
165
-					editoptions: {maxlength: 100}
166
-				},
167
-				{
168
-					index: 'CFG_NM', name: 'cfgNm',
169
-					label: '환경설정명', 
170
-					width: '10', fixed: false, align: 'center',
171
-					sortable: false, editable: true, edittype: 'text', 
172
-					editrules: {required: true},
173
-					editoptions: {maxlength: 25}
174
-				},
175
-				{
176
-					index: 'MUST_YN', name: 'mustYn',
177
-					label: '필수여부', 
178
-					width: '7', fixed: false, align: 'center',
179
-					sortable: false, editable: true, formatter: 'select', edittype: 'select',
180
-					editoptions: {value: $('#ITP_FORM_KOPER07010_SEARCH_YN').val()},
181
-					editrules: {required: true}
182
-				},
183
-				{
184
-					index: 'CFG_VALUE', name: 'cfgValue',
185
-					label: '기본값', 
186
-					width: '10', fixed: false, align: 'center',
187
-					sortable: false, editable: true, edittype: 'text', 
188
-					editrules: {required: true}
189
-				},
190
-				{
191
-					index: 'CFG_DESC', name: 'cfgDesc',
192
-					label: '설명', 
193
-					width: '15', fixed: false, align: 'center',
194
-					sortable: false, editable: true, edittype: 'text', 
195
-					editrules: {required: false}
196
-				}
197
-			],
198
-			loadBeforeSend: function(jqXHR) {
199
-			    jqXHR.setRequestHeader('X-AUTH-TOKEN', CONN_KEY);
200
-			},
201
-			postData: JSON.stringify(param),
202
-			url: DOMAIN + NK_APPTYPE_CFG_GRID_LIST,
203
-			pager: KOPER07010_GRID_PAGER,
204
-			multiselect: true,
205
-			rownumbers: false,
206
-			onCellSelect: function(rowId, cellIdx, cellValue) {
207
-				KOPER07010_GRID_LAST_ROW_ID = itp_fn_set_data_editable(rowId, cellIdx, KOPER07010_GRID_LAST_ROW_ID, KOPER07010_GRID_ID, ['cfgKey']);
208
-		   	},
209
-			loadComplete: function(data) {
210
-				itp_fn_grid_load_complete(data, KOPER07010_GRID_ID, true, 'number', 'KOPER07010', itp_KOPER07010_search, itp_fn_KOPER07010_empty, false, data.gridRecords, true);
211
-				var ids = $(KOPER07010_GRID_ID).getDataIDs();
212
-				$.each(ids, function(idx, rowId) {
213
-					$(KOPER07010_GRID_ID).jqGrid('setCell', rowId, 'cornerNm', '', ITP_GRID_COL_STYLE.link);
214
-				});
215
-		    },
216
-		    loadError: function(jqXHR, textStatus, errorThrown) {
217
-		    	itp_fn_grid_load_error(jqXHR, textStatus, errorThrown);
218
-		    },
219
-		    onPaging: function(action) {
220
-		    	itp_fn_grid_paging(KOPER07010_GRID_ID, action, param);
221
-		    }
222
-		}).navGrid(KOPER07010_GRID_PAGER, ITP_GRID_NAV_DEFAULTS.navGrid);
223
-	},
224
-	clearData : function() {
225
-		$(KOPER07010_GRID_ID).jqGrid('clearGridData', true);
226
-		$(KOPER07010_GRID_LIST).find('.ui-jqgrid-bdiv').css('min-height', '100px');
227
-		$(KOPER07010_GRID_EMPTY).html(ITP_MSG_LOCALE.message.grid.noData);
228
-		$(KOPER07010_GRID_EMPTY).show();
229
-	},
230
-	unload : function() {
231
-		$.jgrid.gridUnload(KOPER07010_GRID_ID);
232
-	}
233
-};
234
-
235
-var itp_fn_KOPER07010_search = function() {	
236
-	itp_fn_KOPER07010_grid.unload();
237
-	itp_fn_KOPER07010_grid.callBack();
238
-};
239
-
240
-let itp_KOPER07010_param = {};
241
-let itp_KOPER07010_search = false;
242
-var itp_fn_KOPER07010_empty = {
243
-	push: function() {
244
-		let param = $('#ITP_FORM_KOPER07010_SEARCH').serializeObject();
245
-		itp_KOPER07010_param = param;
246
-	},
247
-	back: function() {
248
-		$('#ITP_FORM_KOPER07010_SEARCH_APP_TYPE_CD').val(itp_KOPER07010_param.sappTypeCd);
249
-		$('#ITP_FORM_KOPER07010_SEARCH_CFG_TYPE_CD').val(itp_KOPER07010_param.scfgTypeCd);
250
-	}
251
-};
252
-
253
-var itp_fn_KOPER07010_brand_list = function(fnCall) {
254
-	const cmpyCdVal = $('#ITP_TXT_KOPER07010_SHR_CMPY').attr('data-cmpy-cd');	
255
-	const key = {cmpyCd: cmpyCdVal, userTypeCd: USER_TYPE_CD, userId: USER_ID};
256
-	var param = $.param(key);
257
-	fn_ajax_call(BRAND_LIST_BRAND, param, function(result) {
258
-		
259
-		fn_make_select_brand(result, 'ITP_FORM_KOPER07010_SEARCH_BRAND_CD');
260
-		fn_make_select_brand(result, 'ITP_FORM_KOPER07010_DETAIL_BRAND_CD');
261
-		
262
-		if (fnCall !== undefined || typeof fnCall !== 'undefined') fnCall();
263
-				
264
-	}, 'GET');
265
-};
266
-
267
-var itp_fn_KFRGD02010_corner_list = function(brandCdVal, storeNoVal, fnCall) {
268
-	const key = {brandCd: brandCdVal, storeNo: storeNoVal};
269
-	var param = $.param(key);
270
-	fn_ajax_call(CORNER_LIST_CORNER, param, function(result) {
271
-	
272
-		fn_make_select_corner(result, 'ITP_FORM_KOPER07010_SEARCH_CORNER_CD');
273
-		
274
-		if (fnCall !== undefined || typeof fnCall !== 'undefined') fnCall();
275
-	
276
-	}, 'GET');
277
-};
278
-

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

@@ -0,0 +1,640 @@
1
+
2
+const OPER01010_GRID_ID = '#ITP_OPER01010_jqGrid';
3
+const OPER01010_GRID_LIST = '#ITP_OPER01010_jqGrid_list';
4
+const OPER01010_GRID_PAGER = '#ITP_OPER01010_jqGridPager';
5
+const OPER01010_GRID_EMPTY = '#ITP_OPER01010_jqGridEmpty';
6
+
7
+const OPER01010_VIEW_GRID_ID = '#ITP_OPER01010_VIEW_jqGrid';
8
+const OPER01010_VIEW_GRID_LIST = '#ITP_OPER01010_VIEW_jqGrid_list';
9
+const OPER01010_VIEW_GRID_PAGER = '#ITP_OPER01010_VIEW_jqGridPager';
10
+const OPER01010_VIEW_GRID_EMPTY = '#ITP_OPER01010_VIEW_jqGridEmpty';
11
+
12
+const OPER01010_DETAIL_GRID_ID = '#ITP_OPER01010_DETAIL_jqGrid';
13
+const OPER01010_DETAIL_GRID_LIST = '#ITP_OPER01010_DETAIL_jqGrid_list';
14
+const OPER01010_DETAIL_GRID_PAGER = '#ITP_OPER01010_DETAIL_jqGridPager';
15
+const OPER01010_DETAIL_GRID_EMPTY = '#ITP_OPER01010_DETAIL_jqGridEmpty';
16
+
17
+let ITP_FORM_OPER01010_DETAIL_IS_DUPLICATE = false;
18
+let ITP_FORM_OPER01010_DETAIL_IS_WRITING = false;
19
+
20
+let USER_DETAIL_GRID_LIST = '/api/user/detail-grid-list';
21
+let USER_USERAUTH_GRID_LIST = '/api/user/userauth-grid-list';
22
+let USER_INFO_USER = '/api/user/info-user';
23
+let USER_SAVE_USER = '/api/user/save-user';
24
+let USER_CHECK_DUPLICATE = '/api/user/check-duplicate';
25
+let USER_INTI_USERPW = '/api/user/inti-userpw';
26
+
27
+require(['config'], function() {
28
+	require([
29
+		'jquery'
30
+	], function($) {
31
+		// 버튼 권한설정
32
+		fn_proc_btn_auth('OPER01010');
33
+		// 공통코드 표시
34
+		fn_make_select(CODE_LIST, 'USER_STAT_CD', 'ITP_FORM_OPER01010_SEARCH_USER_STAT_CD');
35
+		fn_make_select(CODE_LIST, 'USER_STAT_CD', 'ITP_FORM_OPER01010_DETAIL_USER_STAT_CD', true, '선택');
36
+		
37
+		// 조회일자 지정
38
+		var now = new Date();
39
+		$('#ITP_TAB_OPER01010 .input-group.date').datepicker(ITP_DATE_LANGUAGE);
40
+		// $('#ITP_FORM_OPER01010_SEARCH_FROM_DT').datepicker('setDate', new Date(now.setMonth(now.getMonth() - 1)));
41
+		// $('#ITP_FORM_OPER01010_SEARCH_TO_DT').datepicker('setDate', new Date());
42
+				
43
+		// 그리드				
44
+		itp_fn_jqgrid_resize(OPER01010_GRID_ID, OPER01010_GRID_LIST, 'lg');
45
+		itp_fn_OPER01010_grid.init();
46
+    	itp_fn_fire_window_resize();
47
+
48
+		// 조회    	
49
+    	itp_fn_OPER01010_search();
50
+    	
51
+		// 조회 버튼 클릭
52
+		$('#ITP_BTN_OPER01010_SRH').on('click', function() {
53
+			itp_OPER01010_search = true;
54
+			let param = $('#ITP_FORM_OPER01010_SEARCH').serializeObject();
55
+			param.gridSize = $.jgrid.defaults.rowNum;
56
+			param.gridPage = $.jgrid.defaults.page;
57
+			$(OPER01010_GRID_ID).setGridParam({'postData': JSON.stringify(param)}).trigger('reloadGrid');
58
+		});
59
+		
60
+		// 수정 버튼
61
+		$('#ITP_BTN_OPER01010_MODIFY').on('click', function() {
62
+			itp_fn_form_clear_validate(null, '#ITP_FORM_OPER01010_DETAIL');			
63
+			const userIdVal = $('#ITP_FORM_OPER01010_VIEW_USER_ID').val();
64
+			const key = {userId: userIdVal, viewCd: 'R'};
65
+			var param = $.param(key);
66
+			itp_fn_OPER01010_detail(param);	
67
+		});
68
+		
69
+		// 신규등록 버튼
70
+		$('#ITP_BTN_OPER01010_NEWREG').on('click', function() {
71
+			itp_fn_OPER01010_switch_screen('ADD');			
72
+			itp_fn_form_clear_validate(null, '#ITP_FORM_OPER01010_DETAIL');				
73
+			// 권한정보 리스트 조회
74
+			itp_fn_OPER01010_detail_grid.unload();
75
+			itp_fn_OPER01010_detail_grid.callBack();
76
+		});
77
+		
78
+		// 취소/목록 버튼
79
+		$('#ITP_BTN_OPER01010_CANCELLIST').on('click', function() {
80
+			itp_fn_OPER01010_search();
81
+    	});
82
+		
83
+		// 삭제 버튼
84
+		$('#ITP_BTN_OPER01010_DELETE').on('click', function() {
85
+			
86
+		});
87
+		
88
+		// 저장 버튼
89
+		$('#ITP_BTN_OPER01010_SAVE').on('click', function() {			
90
+			const formId = '#ITP_FORM_OPER01010_DETAIL';
91
+			itp_fn_form_clear_validate(null, formId);			
92
+			var vali_userId = itp_fn_form_validate(formId, formId + '_USER_ID', ['empty'], undefined);
93
+			var vali_userStatCd = itp_fn_form_validate(formId, formId + '_USER_STAT_CD', ['empty'], undefined);
94
+			var vali_userNm = itp_fn_form_validate(formId, formId + '_USER_NM', ['empty'], undefined);
95
+			var vali_telNo = itp_fn_form_validate(formId, formId + '_TEL_NO', ['empty'], undefined);
96
+			var vali_email = itp_fn_form_validate(formId, formId + '_EMAIL', ['empty'], undefined);
97
+			var vali_userPw = true;
98
+			var vali_userPwConfirm = true;
99
+			if($('#ITP_FORM_OPER01010_DETAIL_VIEW_CD').val() == 'C') { // 신규
100
+				vali_userPw = itp_fn_form_validate(formId, formId + '_USER_PW', ['empty'], undefined);
101
+				vali_userPwConfirm = itp_fn_form_validate(formId, formId + '_USER_PW_CONFIRM', ['empty'], undefined);	
102
+			}
103
+			if (vali_userId && vali_userStatCd && vali_userNm && vali_userPw && vali_userPwConfirm && vali_telNo && vali_email) {
104
+				if (ITP_FORM_OPER01010_DETAIL_IS_DUPLICATE) {
105
+					itp_fn_modal_duplicate(ITP_MSG_LOCALE.label.userId, formId + '_USER_ID');
106
+				} else {
107
+					let gridInsertData = [];
108
+					let gridUpdateData = [];
109
+					let gridDeleteData = [];
110
+					const rowData = $(OPER01010_DETAIL_GRID_ID).getRowData();
111
+					const keyValue = $(formId + '_USER_ID').val();
112
+					$.each(rowData, function(key, value) {
113
+						if (value.viewCd != 'R') {
114
+							value.userId = keyValue;
115
+							if (value.viewCd == 'C') {
116
+								gridInsertData.push(value);
117
+							} else if (value.viewCd == 'U') {
118
+								gridUpdateData.push(value);
119
+							} else if (value.viewCd == 'D') {
120
+								gridDeleteData.push(value);
121
+							}
122
+						}
123
+					});
124
+					let param = $(formId).serializeObject();
125
+					param.gridInsertData = gridInsertData;
126
+					param.gridUpdateData = gridUpdateData;
127
+					param.gridDeleteData = gridDeleteData;
128
+					//console.log(JSON.stringify(param)); 						
129
+					var searhFn = function() {
130
+						ITP_FORM_OPER01010_DETAIL_IS_WRITING = false;
131
+						itp_fn_OPER01010_search();
132
+					};
133
+					fn_ajax_call(USER_SAVE_USER, JSON.stringify(param), searhFn, 'POST');	
134
+				}
135
+			}
136
+		});		
137
+		
138
+		// 중복체크
139
+		$('#ITP_FORM_OPER01010_DETAIL_DUP').on('click', function() {
140
+			const formId = '#ITP_FORM_OPER01010_DETAIL';
141
+			itp_fn_form_clear_validate(null, formId + '_DETAIL');
142
+			var vali_userId = itp_fn_form_validate(formId + '_DETAIL', formId + '_USER_ID', ['empty'], undefined);
143
+			if (vali_userId) {
144
+				var dupFn = function(result) {
145
+					if (result.code == 'N') {
146
+						ITP_FORM_OPER01010_DETAIL_IS_DUPLICATE = false;
147
+					} else {
148
+						ITP_FORM_OPER01010_DETAIL_IS_DUPLICATE = true;
149
+					}
150
+				};
151
+				const key = {'userId':  $(formId + '_USER_ID').val()};
152
+				const param = $.param(key);
153
+				fn_ajax_call(USER_CHECK_DUPLICATE, param, dupFn, 'GET');
154
+			}
155
+		});
156
+		
157
+		// 상세:비밀번호 초기화
158
+		$('#ITP_BTN_OPER01010_RESET_PW').on('click', function() {
159
+			var resetPwFn = {
160
+				callBack: function(args) {
161
+					const key = {'userId':  $('#ITP_FORM_OPER01010_DETAIL_USER_ID').val()};
162
+					const param = $.param(key);
163
+					fn_ajax_call(USER_INTI_USERPW, param, undefined, 'GET');					
164
+				}
165
+			};
166
+			itp_fn_modal_confirm(ITP_MSG_LOCALE.message.ajax.askResetUserPw, resetPwFn, null);		
167
+		});
168
+		// 상세:추가버튼
169
+		$('#ITP_BTN_OPER01010_DETAIL_ADDROW').on('click', function() {
170
+			// 팝업
171
+			var popFn = function(rowDataPop) {
172
+				// 기존등록 데이터 
173
+				var exists = '';				
174
+				const rowData = $(OPER01010_DETAIL_GRID_ID).getRowData();
175
+				$.each(rowData, function(key, value) {
176
+					exists = exists + value.authNo + ';';
177
+				});
178
+				
179
+				$.each(rowDataPop, function(key, value) {
180
+					if(exists.indexOf(value.authNo) < 0) {
181
+						// 행추가
182
+						$(OPER01010_DETAIL_GRID_ID).jqGrid('addRow', {position: 'last'});
183
+						var rids = $(OPER01010_DETAIL_GRID_ID).jqGrid('getDataIDs');
184
+						var last_row_id = rids[rids.length - 1];
185
+						$(OPER01010_DETAIL_GRID_ID).jqGrid('setCell', last_row_id, 'viewCd', 'C');
186
+						$(OPER01010_DETAIL_GRID_ID).jqGrid('setCell', last_row_id, 'authNo', value.authNo);
187
+						$(OPER01010_DETAIL_GRID_ID).jqGrid('setCell', last_row_id, 'authNm', value.authNm);	
188
+					}
189
+				});
190
+				$(OPER01010_DETAIL_GRID_EMPTY).hide();
191
+			};
192
+			fn_call_popup('comm', 'AUTH_SCH_POPUP', '#ITP_ASIDE', popFn, null, 'S');
193
+		});
194
+		// 상세:삭제버튼
195
+		$('#ITP_BTN_OPER01010_DETAIL_DELROW').on('click', function() {
196
+			itp_fn_grid_del_row(OPER01010_DETAIL_GRID_ID);
197
+		});
198
+		
199
+		$('body').on('click', function(e) {
200
+			var gridId = OPER01010_DETAIL_GRID_ID.replace('#', '');
201
+			var rids = $(OPER01010_DETAIL_GRID_ID).jqGrid('getDataIDs');
202
+			var last_row_id = rids[rids.length - 1];			
203
+			itp_fn_grid_reset_selection(e, last_row_id, gridId, 'OPER01010_DETAIL');
204
+		});
205
+	});
206
+});
207
+
208
+var itp_fn_OPER01010_switch_screen = function(mode) {
209
+	if(mode == 'LIST') { // 목록
210
+		$('#ITP_BTN_OPER01010_MODIFY').hide();
211
+		$('#ITP_BTN_OPER01010_CANCELLIST').hide();
212
+		$('#ITP_BTN_OPER01010_DELETE').hide();
213
+		$('#ITP_BTN_OPER01010_SAVE').hide();
214
+		fn_show_btn_auth('#ITP_BTN_OPER01010_SRH');
215
+		fn_show_btn_auth('#ITP_BTN_OPER01010_NEWREG');
216
+		
217
+		$('#ITP_AJAX_OPER01010_LIST_CONTAINER').show();
218
+		$('#ITP_AJAX_OPER01010_DETAIL_CONTAINER').hide();		
219
+		$('#ITP_AJAX_OPER01010_VIEW_CONTAINER').hide();
220
+	} else if(mode == 'ADD') { // 등록
221
+		ITP_FORM_OPER01010_DETAIL_IS_DUPLICATE = true;
222
+	
223
+		$('#ITP_BTN_OPER01010_SRH').hide();
224
+		$('#ITP_BTN_OPER01010_MODIFY').hide();
225
+		$('#ITP_BTN_OPER01010_NEWREG').hide();
226
+		$('#ITP_BTN_OPER01010_DELETE').hide();
227
+		$('#ITP_BTN_OPER01010_RESET_PW').hide();
228
+		fn_show_btn_auth('#ITP_BTN_OPER01010_CANCELLIST');
229
+		fn_show_btn_auth('#ITP_BTN_OPER01010_SAVE');
230
+		
231
+		$('#ITP_AJAX_OPER01010_LIST_CONTAINER').hide();
232
+		$('#ITP_AJAX_OPER01010_DETAIL_CONTAINER').show();
233
+		$('#ITP_AJAX_OPER01010_VIEW_CONTAINER').hide();		
234
+		$('#ITP_FORM_OPER01010_DETAIL_USER_ID').removeAttr('readonly');
235
+		$('#ITP_FORM_OPER01010_DETAIL_DUP').removeAttr('disabled');
236
+		
237
+		$('#ITP_FORM_OPER01010_DETAIL_VIEW_CD').val('C');
238
+		$('#ITP_FORM_OPER01010_DETAIL_USER_NM').val('');
239
+		$('#ITP_FORM_OPER01010_DETAIL_USER_STAT_CD').val('');
240
+		$('#ITP_FORM_OPER01010_DETAIL_USER_ID').val('');
241
+		$('#ITP_FORM_OPER01010_DETAIL_USER_PW').val('');
242
+		$('#ITP_FORM_OPER01010_DETAIL_TEL_NO').val('');
243
+		$('#ITP_FORM_OPER01010_DETAIL_USER_PW_CONFIRM').val('');
244
+		$('#ITP_FORM_OPER01010_DETAIL_EMAIL').val('');
245
+	} else if(mode == 'MODIFY') { // 수정
246
+		$('#ITP_BTN_OPER01010_SRH').hide();
247
+		$('#ITP_BTN_OPER01010_MODIFY').hide();
248
+		$('#ITP_BTN_OPER01010_NEWREG').hide();		
249
+		$('#ITP_BTN_OPER01010_DELETE').hide();
250
+		fn_show_btn_auth('#ITP_BTN_OPER01010_CANCELLIST');
251
+		fn_show_btn_auth('#ITP_BTN_OPER01010_SAVE');
252
+		fn_show_btn_auth('#ITP_BTN_OPER01010_RESET_PW');	
253
+		
254
+		$('#ITP_AJAX_OPER01010_LIST_CONTAINER').hide();
255
+		$('#ITP_AJAX_OPER01010_DETAIL_CONTAINER').show();
256
+		$('#ITP_AJAX_OPER01010_VIEW_CONTAINER').hide();
257
+		$('#ITP_FORM_OPER01010_DETAIL_USER_ID').attr('readonly', true);
258
+		$('#ITP_FORM_OPER01010_DETAIL_DUP').attr('disabled', true);
259
+	} else if(mode == 'VIEW') { // 보기
260
+		$('#ITP_BTN_OPER01010_SRH').hide();
261
+		$('#ITP_BTN_OPER01010_NEWREG').hide();		
262
+		$('#ITP_BTN_OPER01010_DELETE').hide();
263
+		$('#ITP_BTN_OPER01010_SAVE').hide();
264
+		fn_show_btn_auth('#ITP_BTN_OPER01010_MODIFY');
265
+		fn_show_btn_auth('#ITP_BTN_OPER01010_CANCELLIST');
266
+		
267
+		$('#ITP_AJAX_OPER01010_LIST_CONTAINER').hide();
268
+		$('#ITP_AJAX_OPER01010_DETAIL_CONTAINER').hide();
269
+		$('#ITP_AJAX_OPER01010_VIEW_CONTAINER').show();
270
+	}	
271
+};
272
+
273
+var itp_fn_OPER01010_grid = {
274
+	init: function() {
275
+		// 데이터 없을때
276
+		itp_fn_OPER01010_empty.push();
277
+		$(OPER01010_GRID_EMPTY).on('click', function() {
278
+			itp_fn_OPER01010_empty.back();
279
+			itp_OPER01010_param.gridSize = $.jgrid.defaults.rowNum;
280
+			$(OPER01010_GRID_ID).setGridParam({'postData': JSON.stringify(itp_OPER01010_param)}).trigger('reloadGrid');
281
+		});	
282
+	},
283
+	callBack: function() {
284
+		let param = $('#ITP_FORM_OPER01010_SEARCH').serializeObject();
285
+		param.gridSize = $.jgrid.defaults.rowNum;	
286
+		$(OPER01010_GRID_ID).jqGrid({
287
+			colModel: [
288
+				{
289
+					index: 'USER_ID', name: 'userId',
290
+					label: ITP_MSG_LOCALE.label.userId, //사용자ID
291
+					width: '10', fixed: false, align: 'center',
292
+					sortable: false, hidden: false
293
+				},
294
+				{
295
+					index: 'USER_NM', name: 'userNm',
296
+					label: ITP_MSG_LOCALE.label.userName, //닉네임
297
+					width: '13', fixed: false, align: 'center',
298
+					sortable: false, hidden: false
299
+				},
300
+				{
301
+					index: 'EMAIL', name: 'email',
302
+					label: ITP_MSG_LOCALE.label.idEmail, //아이디(이메일)
303
+					width: '15', fixed: false, align: 'center',
304
+					sortable: false, hidden: false
305
+				},
306
+				{
307
+					index: 'TEL_NO', name: 'telNo',
308
+					label: ITP_MSG_LOCALE.label.telNo, //휴대폰 번호
309
+					width: '10', fixed: false, align: 'center',
310
+					sortable: false, hidden: false
311
+				},			
312
+				{
313
+					index: 'USER_STAT_NM', name: 'userStatNm',
314
+					label: ITP_MSG_LOCALE.label.status, //상태
315
+					width: '6', fixed: false, align: 'center',
316
+					sortable: false, hidden: false
317
+				},
318
+				{
319
+					index: 'USER_STAT_DT', name: 'userStatDt',
320
+					label: ITP_MSG_LOCALE.label.statusDt, //상태일시
321
+					width: '10', fixed: false, align: 'center',
322
+					sortable: false, hidden: false
323
+				},
324
+				{
325
+					index: 'ADD_DT', name: 'addDt',
326
+					label: ITP_MSG_LOCALE.label.regDt, //등록일
327
+					width: '10', fixed: false, align: 'center',
328
+					sortable: false, hidden: false
329
+				},
330
+				{
331
+					index: 'LAST_LOGIN_DT', name: 'lastLoginDt',
332
+					label: ITP_MSG_LOCALE.label.lastLogin, //마지막 로그인
333
+					width: '10', fixed: false, align: 'center',
334
+					sortable: false, hidden: false
335
+				}
336
+			],
337
+			loadBeforeSend: function(jqXHR) {
338
+			    jqXHR.setRequestHeader('X-AUTH-TOKEN', CONN_KEY);
339
+			},
340
+			postData: JSON.stringify(param),
341
+			url: DOMAIN + USER_DETAIL_GRID_LIST,
342
+			pager: OPER01010_GRID_PAGER,
343
+			multiselect: false,
344
+			rownumbers: true, 
345
+			onCellSelect: function(rowId, cellIdx, cellValue) {
346
+				var cm = $(this).jqGrid('getGridParam', 'colModel');
347
+				var colNm = cm[cellIdx].name;
348
+				if (colNm == 'userNm') {
349
+					const userIdVal = $(this).jqGrid('getCell', rowId, 'userId');
350
+					const key = {userId: userIdVal, viewCd: 'R'};
351
+					var param = $.param(key);
352
+					itp_fn_OPER01010_view(param);
353
+				}
354
+		   	},
355
+			loadComplete: function(data) {
356
+				//console.log(JSON.stringify(data));
357
+				itp_fn_grid_load_complete(data, OPER01010_GRID_ID, true, 'number', 'OPER01010', itp_OPER01010_search, itp_fn_OPER01010_empty, true, data.gridRecords, true);
358
+				var ids = $(OPER01010_GRID_ID).getDataIDs();
359
+				$.each(ids, function(idx, rowId) {
360
+					$(OPER01010_GRID_ID).jqGrid('setCell', rowId, 'userNm', '', ITP_GRID_COL_STYLE.link);
361
+				});	
362
+		    },
363
+		    loadError: function(jqXHR, textStatus, errorThrown) {
364
+		    	itp_fn_grid_load_error(jqXHR, textStatus, errorThrown);
365
+		    },
366
+		    onPaging: function(action) {
367
+		    	itp_fn_grid_paging(OPER01010_GRID_ID, action, param);
368
+		    }
369
+		}).navGrid(OPER01010_GRID_PAGER, ITP_GRID_NAV_DEFAULTS.navGrid);
370
+	},
371
+	clearData : function() {
372
+		$(OPER01010_GRID_ID).jqGrid('clearGridData', true);
373
+		$(OPER01010_GRID_LIST).find('.ui-jqgrid-bdiv').css('min-height', '100px');
374
+		$(OPER01010_GRID_EMPTY).html(ITP_MSG_LOCALE.message.grid.noData);
375
+		$(OPER01010_GRID_EMPTY).show();
376
+	}, 
377
+	unload : function() {
378
+		$.jgrid.gridUnload(OPER01010_GRID_ID); 
379
+	}
380
+};
381
+
382
+var itp_fn_OPER01010_search = function() {
383
+	itp_fn_OPER01010_switch_screen('LIST');	
384
+	itp_fn_OPER01010_grid.unload();
385
+	itp_fn_OPER01010_grid.callBack();
386
+};
387
+
388
+let itp_OPER01010_param = {};
389
+let itp_OPER01010_search = false;
390
+var itp_fn_OPER01010_empty = {
391
+	push: function() {
392
+		let param = $('#ITP_FORM_OPER01010_SEARCH').serializeObject();
393
+		itp_OPER01010_param = param;
394
+	},
395
+	back: function() {
396
+		$('#ITP_FORM_OPER01010_DEVI_TP_CD').val(itp_OPER01010_param.deviTpCd);
397
+		$('#ITP_FORM_OPER01010_ORDER_YN').val(itp_OPER01010_param.orderYn);
398
+		$('#ITP_FORM_OPER01010_ADT_AUTH_CD').val(itp_OPER01010_param.adtAuthCd);
399
+		$('#ITP_FORM_OPER01010_EMAIL_RCV_YN').val(itp_OPER01010_param.emailRcvYn);
400
+		$('#ITP_FORM_OPER01010_MEMB_EXIT_DT').val(itp_OPER01010_param.membExitDt);
401
+		$('#ITP_FORM_OPER01010_FROM_DT').val(itp_OPER01010_param.fromDt);
402
+		$('#ITP_FORM_OPER01010_TO_DT').val(itp_OPER01010_param.toDt);
403
+		$('#ITP_FORM_OPER01010_KEYWORD').val(itp_OPER01010_param.keyword);
404
+	}
405
+};
406
+
407
+var itp_fn_OPER01010_view = function(param) {
408
+	fn_ajax_call(USER_INFO_USER, param, itp_fn_OPER01010_view_callback, 'GET');
409
+};
410
+
411
+var itp_fn_OPER01010_view_callback = function(result) {
412
+	// console.log(result);
413
+	itp_fn_OPER01010_switch_screen('VIEW');
414
+	$('#ITP_FORM_OPER01010_VIEW #ITP_FORM_OPER01010_VIEW_USER_ID').val(result.userId);
415
+	$('#ITP_FORM_OPER01010_VIEW .fnUserNm').text(result.userNm);
416
+	$('#ITP_FORM_OPER01010_VIEW .fnUserStatDt').text(result.userStatDt);
417
+	$('#ITP_FORM_OPER01010_VIEW .fnUserStatNm').text(result.userStatNm);
418
+	$('#ITP_FORM_OPER01010_VIEW .fnUserId').text(result.userId);
419
+	$('#ITP_FORM_OPER01010_VIEW .fnEmail').text(result.email);
420
+	$('#ITP_FORM_OPER01010_VIEW .fnTelNo').text(result.telNo);
421
+	$('#ITP_FORM_OPER01010_VIEW .fnAddDt').text(result.addDt);
422
+	$('#ITP_FORM_OPER01010_VIEW .fnLastLoginDt').text(result.lastLoginDt);
423
+	
424
+	// 권한정보 리스트 조회
425
+	itp_fn_OPER01010_view_grid.unload();
426
+	itp_fn_OPER01010_view_grid.callBack();
427
+};
428
+
429
+var itp_fn_OPER01010_view_grid = {
430
+	init: function() {
431
+	},
432
+	callBack: function() {
433
+		let param = $('#ITP_FORM_OPER01010_VIEW').serializeObject();
434
+		param.gridSize = $.jgrid.defaults.rowNum; 
435
+		param.pagingYn = false; // 페이징안함
436
+		
437
+		$(OPER01010_VIEW_GRID_ID).jqGrid({
438
+			colModel: [
439
+				{
440
+					index: 'VIEW_CD', name: 'viewCd',
441
+					label: ITP_MSG_LOCALE.label.viewCd,
442
+					width: '10', fixed: false, align: 'center',
443
+					sortable: false, hidden: true
444
+				},
445
+				{
446
+					index: 'AUTH_NO', name: 'authNo',
447
+					label: ITP_MSG_LOCALE.label.permitCd,
448
+					width: '20', fixed: false, align: 'center',
449
+					sortable: false, editable: false, edittype: 'text',
450
+					editrules: {required: true}
451
+				},
452
+				{
453
+					index: 'AUTH_NM', name: 'authNm',
454
+					label: ITP_MSG_LOCALE.label.permitName,
455
+					width: '30', fixed: false, align: 'center',
456
+					sortable: true, editable: false, edittype: 'text',
457
+					editrules: {required: true}
458
+				},
459
+				{
460
+					index: 'USE_YN_NM', name: 'useYnNm',
461
+					label: ITP_MSG_LOCALE.label.status,
462
+					width: '10', fixed: false, align: 'center',
463
+					sortable: false, editable: false, edittype: 'text'
464
+				},
465
+				{
466
+					index: 'ADD_DT', name: 'addDt',
467
+					label: ITP_MSG_LOCALE.label.regDt,
468
+					width: '10', fixed: false, align: 'center',
469
+					sortable: false, editable: false, edittype: 'text'
470
+				}
471
+			],
472
+			loadBeforeSend: function(jqXHR) {
473
+			    jqXHR.setRequestHeader('X-AUTH-TOKEN', CONN_KEY);
474
+			},
475
+			postData: JSON.stringify(param),
476
+			url: DOMAIN + USER_USERAUTH_GRID_LIST,
477
+			pager: OPER01010_VIEW_GRID_PAGER,
478
+			multiselect: false,
479
+			loadComplete: function(data) {				
480
+				itp_fn_grid_load_complete(data, OPER01010_VIEW_GRID_ID, true, undefined, 'OPER01010_VIEW');
481
+		    },
482
+		    loadError: function(jqXHR, textStatus, errorThrown) {
483
+		    	itp_fn_grid_load_error(jqXHR, textStatus, errorThrown);
484
+		    },
485
+		    onPaging: function(action) {
486
+		    	var pagingFn = {
487
+	    			callBack: function(args) {
488
+	    				$(args).trigger('reloadGrid');
489
+	    			}
490
+	    		};
491
+		    	if (itp_fn_check_grid_is_writing(OPER01010_VIEW_GRID_ID)) {
492
+		    		itp_fn_modal_confirm(ITP_MSG_LOCALE.message.ajax.cancelData, pagingFn, OPER01010_VIEW_GRID_ID);
493
+		    		return 'stop';
494
+		    	} else {
495
+		    		itp_fn_grid_paging(OPER01010_VIEW_GRID_ID, action, param);
496
+		    	}
497
+		    },
498
+		    onSortCol: function(index, columnIndex, sortOrder) {
499
+		    	var sortingFn = {
500
+	    			callBack: function(args) {
501
+	    				$(args).trigger('reloadGrid');
502
+	    			}
503
+	    		};
504
+		    	if (itp_fn_check_grid_is_writing(OPER01010_VIEW_GRID_ID)) {
505
+		    		itp_fn_modal_confirm(ITP_MSG_LOCALE.message.ajax.cancelData, sortingFn, OPER01010_VIEW_GRID_ID);
506
+		    		return 'stop';
507
+		    	} else {
508
+		    		itp_fn_grid_sorting(OPER01010_VIEW_GRID_ID, index, sortOrder);
509
+		    	}
510
+		    }
511
+		}).navGrid(OPER01010_VIEW_GRID_PAGER, ITP_GRID_NAV_DEFAULTS.navGrid);
512
+	},
513
+	clearData : function() {
514
+		$(OPER01010_VIEW_GRID_ID).jqGrid('clearGridData', true);
515
+		$(OPER01010_VIEW_GRID_LIST).find('.ui-jqgrid-bdiv').css('min-height', '100px');
516
+		$(OPER01010_VIEW_GRID_EMPTY).html(ITP_MSG_LOCALE.message.grid.noData);
517
+		$(OPER01010_VIEW_GRID_EMPTY).show();
518
+	}, 
519
+	unload : function() {
520
+		$.jgrid.gridUnload(OPER01010_VIEW_GRID_ID); 
521
+	}
522
+};
523
+
524
+var itp_fn_OPER01010_detail = function(param) {
525
+	fn_ajax_call(USER_INFO_USER, param, itp_fn_OPER01010_detail_callback, 'GET');
526
+};
527
+
528
+var itp_fn_OPER01010_detail_callback = function(result) {
529
+	// console.log(result);
530
+	itp_fn_OPER01010_switch_screen('MODIFY');
531
+	$('#ITP_FORM_OPER01010_DETAIL #ITP_FORM_OPER01010_DETAIL_VIEW_CD').val('U');
532
+	$('#ITP_FORM_OPER01010_DETAIL #ITP_FORM_OPER01010_DETAIL_USER_NM').val(result.userNm);
533
+	$('#ITP_FORM_OPER01010_DETAIL #ITP_FORM_OPER01010_DETAIL_USER_STAT_CD').val(result.userStatCd);
534
+	$('#ITP_FORM_OPER01010_DETAIL #ITP_FORM_OPER01010_DETAIL_USER_ID').val(result.userId);
535
+	$('#ITP_FORM_OPER01010_DETAIL .fnUserStatDt').text(result.userStatDt);
536
+	$('#ITP_FORM_OPER01010_DETAIL #ITP_FORM_OPER01010_DETAIL_USER_PW').val(result.userPw);
537
+	$('#ITP_FORM_OPER01010_DETAIL #ITP_FORM_OPER01010_DETAIL_USER_PW_CONFIRM').val(result.userPw);
538
+	$('#ITP_FORM_OPER01010_DETAIL #ITP_FORM_OPER01010_DETAIL_TEL_NO').val(result.telNo);
539
+	$('#ITP_FORM_OPER01010_DETAIL #ITP_FORM_OPER01010_DETAIL_EMAIL').val(result.email);
540
+	$('#ITP_FORM_OPER01010_DETAIL .fnAddDt').text(result.addDt);
541
+	$('#ITP_FORM_OPER01010_DETAIL .fnLastLoginDt').text(result.lastLoginDt);
542
+	
543
+	// 권한정보 리스트 조회
544
+	itp_fn_OPER01010_detail_grid.unload();
545
+	itp_fn_OPER01010_detail_grid.callBack();
546
+};
547
+
548
+var itp_fn_OPER01010_detail_grid = {
549
+	init: function() {
550
+	},
551
+	callBack: function() {
552
+		let param = $('#ITP_FORM_OPER01010_DETAIL').serializeObject();
553
+		param.gridSize = $.jgrid.defaults.rowNum; 
554
+		param.pagingYn = false; // 페이지안함 
555
+		
556
+		$(OPER01010_DETAIL_GRID_ID).jqGrid({
557
+			colModel: [
558
+				{
559
+					index: 'VIEW_CD', name: 'viewCd',
560
+					label: ITP_MSG_LOCALE.label.viewCd,
561
+					width: '10', fixed: false, align: 'center',
562
+					sortable: false, hidden: true
563
+				},
564
+				{
565
+					index: 'AUTH_NO', name: 'authNo',
566
+					label: ITP_MSG_LOCALE.label.permitCd,
567
+					width: '20', fixed: false, align: 'center',
568
+					sortable: false, editable: false, edittype: 'text',
569
+					editrules: {required: true}
570
+				},
571
+				{
572
+					index: 'AUTH_NM', name: 'authNm',
573
+					label: ITP_MSG_LOCALE.label.permitName,
574
+					width: '30', fixed: false, align: 'center',
575
+					sortable: true, editable: false, edittype: 'text',
576
+					editrules: {required: true}
577
+				},
578
+				{
579
+					index: 'USE_YN_NM', name: 'useYnNm',
580
+					label: ITP_MSG_LOCALE.label.status,
581
+					width: '10', fixed: false, align: 'center',
582
+					sortable: false, editable: false, edittype: 'text'
583
+				},
584
+				{
585
+					index: 'ADD_DT', name: 'addDt',
586
+					label: ITP_MSG_LOCALE.label.regDt,
587
+					width: '10', fixed: false, align: 'center',
588
+					sortable: false, editable: false, edittype: 'text'
589
+				}
590
+			],
591
+			loadBeforeSend: function(jqXHR) {
592
+			    jqXHR.setRequestHeader('X-AUTH-TOKEN', CONN_KEY);
593
+			},
594
+			postData: JSON.stringify(param),
595
+			url: DOMAIN + USER_USERAUTH_GRID_LIST,
596
+			pager: OPER01010_DETAIL_GRID_PAGER,
597
+			loadComplete: function(data) {				
598
+				itp_fn_grid_load_complete(data, OPER01010_DETAIL_GRID_ID, true, undefined, 'OPER01010_DETAIL');
599
+		    },
600
+		    loadError: function(jqXHR, textStatus, errorThrown) {
601
+		    	itp_fn_grid_load_error(jqXHR, textStatus, errorThrown);
602
+		    },
603
+		    onPaging: function(action) {
604
+		    	var pagingFn = {
605
+	    			callBack: function(args) {
606
+	    				$(args).trigger('reloadGrid');
607
+	    			}
608
+	    		};
609
+		    	if (itp_fn_check_grid_is_writing(OPER01010_DETAIL_GRID_ID)) {
610
+		    		itp_fn_modal_confirm(ITP_MSG_LOCALE.message.ajax.cancelData, pagingFn, OPER01010_DETAIL_GRID_ID);
611
+		    		return 'stop';
612
+		    	} else {
613
+		    		itp_fn_grid_paging(OPER01010_DETAIL_GRID_ID, action, param);
614
+		    	}
615
+		    },
616
+		    onSortCol: function(index, columnIndex, sortOrder) {
617
+		    	var sortingFn = {
618
+	    			callBack: function(args) {
619
+	    				$(args).trigger('reloadGrid');
620
+	    			}
621
+	    		};
622
+		    	if (itp_fn_check_grid_is_writing(OPER01010_DETAIL_GRID_ID)) {
623
+		    		itp_fn_modal_confirm(ITP_MSG_LOCALE.message.ajax.cancelData, sortingFn, OPER01010_DETAIL_GRID_ID);
624
+		    		return 'stop';
625
+		    	} else {
626
+		    		itp_fn_grid_sorting(OPER01010_DETAIL_GRID_ID, index, sortOrder);
627
+		    	}
628
+		    }
629
+		}).navGrid(OPER01010_DETAIL_GRID_PAGER, ITP_GRID_NAV_DEFAULTS.navGrid);
630
+	},
631
+	clearData : function() {
632
+		$(OPER01010_DETAIL_GRID_ID).jqGrid('clearGridData', true);
633
+		$(OPER01010_DETAIL_GRID_LIST).find('.ui-jqgrid-bdiv').css('min-height', '100px');
634
+		$(OPER01010_DETAIL_GRID_EMPTY).html(ITP_MSG_LOCALE.message.grid.noData);
635
+		$(OPER01010_DETAIL_GRID_EMPTY).show();
636
+	}, 
637
+	unload : function() {
638
+		$.jgrid.gridUnload(OPER01010_DETAIL_GRID_ID); 
639
+	}
640
+};

+ 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
+};