Explorar el Código

스크립트 소스 정리

juney hace 2 años
padre
commit
e816f2485e

+ 19 - 8
src/main/webapp/app/oper/OPER03010.html

@@ -201,6 +201,14 @@
201 201
 													<input type="text" id="ITP_FORM_OPER03010_DETAIL_OWNER_TEL_NO" class="form-control itp_input" name="ownerTelNo" value="">
202 202
 												</div>
203 203
 											</div>
204
+											<label class="col-xs-2 itp_lb">기업형태 *</label>
205
+											<div class="col-xs-4 itp_ip">
206
+												<div class="col-xs-6 itp_in">
207
+													<select id="ITP_FORM_OPER03010_DETAIL_CORP_TYPE" data-select-code="CORP_TYPE" class="form-control itp_input" name="corpType"></select>
208
+												</div>
209
+											</div>
210
+										</div>
211
+										<div class="form-group">
204 212
 											<label class="col-xs-2 itp_lb">계약기간 *</label>
205 213
 											<div class="col-xs-4 itp_ip">
206 214
 												<div class="col-xs-10 itp_in">
@@ -208,9 +216,12 @@
208 216
 														<input type="text" id="ITP_FORM_OPER03010_SEARCH_JOIN_STT_DT" class="form-control itp_input" name="joinSttDt" value="" readonly>
209 217
 														<span class="input-group-addon itp_date_to">~</span>
210 218
 														<input type="text" id="ITP_FORM_OPER03010_SEARCH_JOIN_END_DT" class="form-control itp_input" name="joinEndDt" value="" readonly>
211
-													</div>												
219
+													</div>
212 220
 												</div>
213
-											</div>											
221
+											</div>
222
+											<label class="col-xs-2 itp_lb"></label>
223
+											<div class="col-xs-4 itp_ip">
224
+											</div>
214 225
 										</div>
215 226
 									</div>
216 227
 									<div class="itp_form_in">
@@ -224,17 +235,17 @@
224 235
 													<button type="button" id="ITP_FORM_OPER03010_DETAIL_ADRES_SCH" class="btn btn-primary btn-sm SHOW" style="margin: -1px 0px 0px 3px;">&nbsp;&nbsp;주소검색&nbsp;&nbsp;</button>
225 236
 												</div>
226 237
 												<div class="col-xs-4 itp_in" style="margin-right: 5px; margin-left:20px;">
227
-													<input type="text" id="ITP_FORM_OPER03010_DETAIL_ADRES" class="form-control itp_input" name="loadAddr" value="" readonly placeholder="기본주소">
238
+													<input type="text" id="ITP_FORM_OPER03010_DETAIL_ADRES" class="form-control itp_input" name="addr1" value="" readonly placeholder="기본주소">
228 239
 												</div>
229 240
 												<div class="col-xs-4 itp_in">
230
-													<input type="text" id="ITP_FORM_OPER03010_DETAIL_ADRES_DTL" class="form-control itp_input" name="dtlAddr" value="" placeholder="상세주소">
241
+													<input type="text" id="ITP_FORM_OPER03010_DETAIL_ADRES_DTL" class="form-control itp_input" name="addr2" value="" placeholder="상세주소">
231 242
 												</div>
232 243
 												
233 244
 												<!-- 주소 맵 -->
234 245
 												<input type="hidden" id="ITP_FORM_OPER03010_DETAIL_LOTS_ADDRESS" value="" />
235 246
 												<input type="hidden" id="ITP_FORM_OPER03010_DETAIL_STREET_ADDRESS" value="" />
236
-												<input type="hidden" name="cmpyLat" id="ITP_FORM_OPER03010_DETAIL_LAT" value="" />
237
-												<input type="hidden" name="cmpyLng" id="ITP_FORM_OPER03010_DETAIL_LNG" value="" />
247
+												<input type="hidden" name="latX" id="ITP_FORM_OPER03010_DETAIL_LAT" value="" />
248
+												<input type="hidden" name="latY" id="ITP_FORM_OPER03010_DETAIL_LNG" value="" />
238 249
 												<input type="hidden" id="ITP_FORM_OPER03010_DETAIL_HJ_DONG" value="" />
239 250
 												<input type="hidden" id="ITP_FORM_OPER03010_DETAIL_BJ_DONG" value="" />
240 251
 												<div id="ITP_FORM_OPER03010_DETAIL_MAP" style="width:700px; height:400px;"></div>
@@ -288,7 +299,7 @@
288 299
 											</div>
289 300
 											<label class="col-xs-2 itp_lb">가맹점 KEY *<br>사용자 계정 추가-3자리</label>
290 301
 											<div class="col-xs-4 itp_ip">
291
-												<div class="col-xs-4 itp_in "></div>
302
+												<div class="col-xs-4 itp_in fnAfflShopKey"></div>
292 303
 											</div>
293 304
 										</div>
294 305
 										<div class="form-group">
@@ -304,7 +315,7 @@
304 315
 										<div class="form-group">
305 316
 											<label class="col-xs-2 itp_lb">가맹점 구분</label>
306 317
 											<div class="col-xs-4 itp_ip">
307
-												<div class="col-xs-7 itp_in "></div>
318
+												<div class="col-xs-7 itp_in fnCorpTypeNm"></div>
308 319
 											</div>
309 320
 											<label class="col-xs-2 itp_lb"></label>
310 321
 											<div class="col-xs-4 itp_in">

+ 2 - 2
src/main/webapp/app/oper/OPER03011.html

@@ -250,7 +250,7 @@
250 250
 											</div>
251 251
 											<label class="col-xs-2 itp_lb">가맹점 KEY *<br>사용자 계정 추가-3자리</label>
252 252
 											<div class="col-xs-4 itp_ip">
253
-												<div class="col-xs-4 itp_in "></div>
253
+												<div class="col-xs-4 itp_in fnAfflShopkey"></div>
254 254
 											</div>
255 255
 										</div>
256 256
 										<div class="form-group">
@@ -266,7 +266,7 @@
266 266
 										<div class="form-group">
267 267
 											<label class="col-xs-2 itp_lb">가맹점 구분</label>
268 268
 											<div class="col-xs-4 itp_ip">
269
-												<div class="col-xs-7 itp_in "></div>
269
+												<div class="col-xs-7 itp_in fnCorpTypeNm"></div>
270 270
 											</div>
271 271
 											<label class="col-xs-2 itp_lb"></label>
272 272
 											<div class="col-xs-4 itp_in">

+ 7 - 0
src/main/webapp/js/app/config.js

@@ -30,6 +30,7 @@ requirejs.config({
30 30
 		'message.locale': 'js/app/locales/locale-' + ITP_LANGUAGE + '.js?version='+js_version,
31 31
 		'kakao.postcode': 'https://t1.daumcdn.net/mapjsapi/bundle/postcode/prod/postcode.v2',		
32 32
 		'kakao.maps': 'https://dapi.kakao.com/v2/maps/sdk.js?appkey=a2ce7c66185a5413095b6485ac9ad3cd&libraries=services,clusterer&autoload=false',
33
+		'kakao.map.util': 'js/app/kakao.map', 				// Crypto 암호화 js
33 34
 		'file.saver': 'js/FileSaver.min',					// 엑셀 다운로드 (JSON 데이터를 파일로 전환)
34 35
 		'xlsx': 'js/xlsx.full.min',							// 엑셀 다운로드 (JSON 데이터를 파일로 전환)
35 36
 		'html2canvas': 'js/html2canvas.min',				// PDF 다운로드 (html 객체를 canvas로 변환)
@@ -71,6 +72,12 @@ requirejs.config({
71 72
 		'xlsx': {
72 73
 			deps: ['file.saver']
73 74
 		},
75
+		'kakao.map.util': {
76
+			deps: [
77
+				'kakao.postcode',
78
+				'kakao.maps'
79
+			]
80
+		},
74 81
 		'jspdf': {
75 82
 			deps: [
76 83
 				// 'jspdf.autotable',

+ 120 - 0
src/main/webapp/js/app/kakao.map.js

@@ -0,0 +1,120 @@
1
+let kakaoMap = {
2
+    init: function(id, locate) {
3
+        this.formId = id;
4
+        this.load(locate);
5
+    },
6
+    geocoder: null,
7
+    schDetailAddrFromCoords: function(coords, callback) {
8
+        // 좌표로 법정동 상세 주소 정보를 요청합니다
9
+        if(this.geocoder) {
10
+            this.geocoder.coord2Address(coords.getLng(), coords.getLat(), callback);
11
+        }
12
+    },
13
+    getMap: function(id) {
14
+        var mapContainer = document.getElementById(id), // 지도를 표시할 div
15
+            mapOption = {
16
+                center: new kakao.maps.LatLng(37.56684, 126.97865), // 지도의 중심좌표
17
+                level: 3, // 지도의 확대 레벨
18
+                mapTypeId : kakao.maps.MapTypeId.ROADMAP // 지도종류
19
+            };
20
+
21
+        // 지도를 생성한다
22
+        var map = new kakao.maps.Map(mapContainer, mapOption);
23
+
24
+        // 마우스 휠과 모바일 터치를 이용한 지도 확대, 축소를 막는다
25
+        map.setZoomable(false);
26
+
27
+        // 지도에 확대 축소 컨트롤을 생성한다
28
+        //var zoomControl = new kakao.maps.ZoomControl();
29
+
30
+        // 지도의 우측에 확대 축소 컨트롤을 추가한다
31
+        //map.addControl(zoomControl, kakao.maps.ControlPosition.RIGHT);
32
+
33
+        return map;
34
+    },
35
+    marker: function(map, coords) {
36
+        // 지도에 마커를 생성하고 표시한다
37
+        marker = new kakao.maps.Marker({
38
+            position: coords, // 마커의 좌표
39
+            map: map // 마커를 표시할 지도 객체
40
+        });
41
+    },
42
+    load: function(locate) {
43
+        var _this = this;
44
+        kakao.maps.load(function() {
45
+            var map = _this.getMap(_this.formId + '_MAP');
46
+            // 주소-좌표 변환 객체를 생성합니다
47
+            _this.geocoder = new kakao.maps.services.Geocoder();
48
+            if( !locate || locate.length == 0 ) {
49
+                // 지도에 마커를 생성하고 표시한다
50
+                _this.marker(map, new kakao.maps.LatLng(37.56684, 126.97865));
51
+            } else {
52
+                // 주소로 좌표를 검색합니다
53
+                _this.geocoder.addressSearch(locate, function(result, status) {
54
+                    // 정상적으로 검색이 완료됐으면
55
+                    if (status === kakao.maps.services.Status.OK) {
56
+
57
+                        var coords = new kakao.maps.LatLng(result[0].y, result[0].x);
58
+                        if(_this.formId.lastIndexOf('DETAIL') > -1) {
59
+                            document.getElementById(_this.formId + '_LAT').value = result[0].y;
60
+                            document.getElementById(_this.formId + '_LNG').value = result[0].x;
61
+                        }
62
+
63
+                        // 결과값으로 받은 위치를 마커로 표시합니다
64
+                        _this.marker(map, coords);
65
+
66
+                        // 지도의 중심을 결과값으로 받은 위치로 이동시킵니다
67
+                        map.setCenter(coords);
68
+                    } else {
69
+                        _this.marker(map, new kakao.maps.LatLng(37.56684, 126.97865));
70
+                    }
71
+                });
72
+            }
73
+
74
+            if(_this.formId.lastIndexOf('DETAIL') > -1) {
75
+                _this.listener.drag(map);
76
+            }
77
+        });
78
+    },
79
+    listener: {
80
+        drag: function(map) {
81
+            // 지도 드래깅 이벤트를 등록한다 (드래그 시작 : dragstart, 드래그 종료 : dragend)
82
+            kakao.maps.event.addListener(map, 'drag', function () {
83
+                kakaoMap.schDetailAddrFromCoords(map.getCenter(), function(result, status) {
84
+                    if (status === kakao.maps.services.Status.OK) {
85
+
86
+                        document.getElementById(kakaoMap.formId + '_LOTS_ADDRESS').value = result[0].address.address_name ;
87
+                        document.getElementById(kakaoMap.formId + '_ADRES').value = !!result[0].road_address ? result[0].road_address.address_name : result[0].address.address_name ;
88
+                        document.getElementById(kakaoMap.formId + '_STREET_ADDRESS').value = !!result[0].road_address ? result[0].road_address.address_name : $('#' + this.formId + '_STREET_ADDRESS').val();
89
+                        document.getElementById(kakaoMap.formId + '_ZIPNO').value = !!result[0].road_address ? result[0].road_address.zone_no : $('#' + this.formId + '__CMPY_ZIPNO').val() ;
90
+                        document.getElementById(kakaoMap.formId + '_LAT').value = map.getCenter().getLat();
91
+                        document.getElementById(kakaoMap.formId + '_LNG').value = map.getCenter().getLng();
92
+
93
+                        // 마커를 클릭한 위치에 표시합니다
94
+                        marker.setPosition(map.getCenter());
95
+                        marker.setMap(map);
96
+                    }
97
+                });
98
+                /* 	var message = '지도를 드래그 하고 있습니다. 지도의 중심 좌표는 ' + map.getCenter().toString() +' 입니다.';
99
+                console.log(message); */
100
+            });
101
+        }
102
+    },
103
+    address: function() {
104
+        var _this = this;
105
+        new daum.Postcode({
106
+            oncomplete: function(data) {
107
+                // 전체주소 리턴
108
+                document.getElementById(kakaoMap.formId + '_ZIPNO').value = data.zonecode;
109
+                document.getElementById(kakaoMap.formId + '_ADRES').value = data.roadAddress;
110
+                document.getElementById(kakaoMap.formId + '_LOTS_ADDRESS').value = !!data.autoJibunAddress ? data.autoJibunAddress : data.jibunAddress;
111
+                document.getElementById(kakaoMap.formId + '_STREET_ADDRESS').value = data.roadAddress;
112
+                document.getElementById(kakaoMap.formId + '_HJ_DONG').value = !!data.hname ? data.hname : data.bname;
113
+                document.getElementById(kakaoMap.formId + '_BJ_DONG').value = data.bname;
114
+
115
+                _this.init(kakaoMap.formId, data.roadAddress);
116
+                document.getElementById(kakaoMap.formId + '_ADRES_DTL').focus();
117
+            }
118
+        }).open();
119
+    }
120
+};

+ 56 - 256
src/main/webapp/js/app/oper/ITP_OPER01010.js

@@ -109,40 +109,6 @@ const gridColModel = {
109 109
 			sortable: false, hidden: false
110 110
 		}
111 111
 	],
112
-	// view: [
113
-	// 	{
114
-	// 		index: 'VIEW_CD', name: 'viewCd',
115
-	// 		label: ITP_MSG_LOCALE.label.viewCd,
116
-	// 		width: '10', fixed: false, align: 'center',
117
-	// 		sortable: false, hidden: true
118
-	// 	},
119
-	// 	{
120
-	// 		index: 'AUTH_NO', name: 'authNo',
121
-	// 		label: ITP_MSG_LOCALE.label.permitCd,
122
-	// 		width: '20', fixed: false, align: 'center',
123
-	// 		sortable: false, editable: false, edittype: 'text',
124
-	// 		editrules: {required: true}
125
-	// 	},
126
-	// 	{
127
-	// 		index: 'AUTH_NM', name: 'authNm',
128
-	// 		label: ITP_MSG_LOCALE.label.permitName,
129
-	// 		width: '30', fixed: false, align: 'center',
130
-	// 		sortable: true, editable: false, edittype: 'text',
131
-	// 		editrules: {required: true}
132
-	// 	},
133
-	// 	{
134
-	// 		index: 'USE_YN_NM', name: 'useYnNm',
135
-	// 		label: ITP_MSG_LOCALE.label.status,
136
-	// 		width: '10', fixed: false, align: 'center',
137
-	// 		sortable: false, editable: false, edittype: 'text'
138
-	// 	},
139
-	// 	{
140
-	// 		index: 'ADD_DT', name: 'addDt',
141
-	// 		label: ITP_MSG_LOCALE.label.regDt,
142
-	// 		width: '10', fixed: false, align: 'center',
143
-	// 		sortable: false, editable: false, edittype: 'text'
144
-	// 	}
145
-	// ],
146 112
 	detail: [
147 113
 		{
148 114
 			index: 'VIEW_CD', name: 'viewCd',
@@ -287,73 +253,49 @@ let pageObj = {
287 253
 			$('#ITP_AJAX_OPER01010_VIEW_CONTAINER').show();
288 254
 		}
289 255
 	},
290
-	// switchScreen: function(mode) {
291
-	// 	if(mode == 'LIST') { // 목록
292
-	// 		$('#ITP_BTN_OPER01010_MODIFY').hide();
293
-	// 		$('#ITP_BTN_OPER01010_CANCELLIST').hide();
294
-	// 		$('#ITP_BTN_OPER01010_DELETE').hide();
295
-	// 		$('#ITP_BTN_OPER01010_SAVE').hide();
296
-	// 		fn_show_btn_auth('#ITP_BTN_OPER01010_SRH');
297
-	// 		fn_show_btn_auth('#ITP_BTN_OPER01010_NEWREG');
298
-	//
299
-	// 		$('#ITP_AJAX_OPER01010_LIST_CONTAINER').show();
300
-	// 		$('#ITP_AJAX_OPER01010_DETAIL_CONTAINER').hide();
301
-	// 		$('#ITP_AJAX_OPER01010_VIEW_CONTAINER').hide();
302
-	// 	} else if(mode == 'ADD') { // 등록
303
-	// 		ITP_FORM_OPER01010_DETAIL_IS_DUPLICATE = true;
304
-	//
305
-	// 		$('#ITP_BTN_OPER01010_SRH').hide();
306
-	// 		$('#ITP_BTN_OPER01010_MODIFY').hide();
307
-	// 		$('#ITP_BTN_OPER01010_NEWREG').hide();
308
-	// 		$('#ITP_BTN_OPER01010_DELETE').hide();
309
-	// 		$('#ITP_BTN_OPER01010_RESET_PW').hide();
310
-	// 		fn_show_btn_auth('#ITP_BTN_OPER01010_CANCELLIST');
311
-	// 		fn_show_btn_auth('#ITP_BTN_OPER01010_SAVE');
312
-	//
313
-	// 		$('#ITP_AJAX_OPER01010_LIST_CONTAINER').hide();
314
-	// 		$('#ITP_AJAX_OPER01010_DETAIL_CONTAINER').show();
315
-	// 		$('#ITP_AJAX_OPER01010_VIEW_CONTAINER').hide();
316
-	// 		$('#ITP_FORM_OPER01010_DETAIL_USER_ID').removeAttr('readonly');
317
-	// 		$('#ITP_FORM_OPER01010_DETAIL_DUP').removeAttr('disabled');
318
-	//
319
-	// 		$('input[id^="ITP_FORM_OPER03010_DETAIL_"]').each(function(i) {
320
-	// 			($(this).attr('id') === 'ITP_FORM_OPER01010_DETAIL_VIEW_CD') ? $(this).val('C') : $(this).val('');
321
-	// 		});
322
-	//
323
-	// 		$('#ITP_FORM_OPER01010_DETAIL_SEARCH_BRAND_ID option').remove();
324
-	// 		$('#ITP_FORM_OPER01010_DETAIL_SEARCH_AFFL_SHOP').show();
325
-	// 		$('#ITP_FORM_OPER01010_DETAIL_DELETE_AFFL_SHOP').show();
326
-	// 	} else if(mode == 'MODIFY') { // 수정
327
-	// 		$('#ITP_BTN_OPER01010_SRH').hide();
328
-	// 		$('#ITP_BTN_OPER01010_MODIFY').hide();
329
-	// 		$('#ITP_BTN_OPER01010_NEWREG').hide();
330
-	// 		$('#ITP_BTN_OPER01010_DELETE').hide();
331
-	// 		fn_show_btn_auth('#ITP_BTN_OPER01010_CANCELLIST');
332
-	// 		fn_show_btn_auth('#ITP_BTN_OPER01010_SAVE');
333
-	// 		fn_show_btn_auth('#ITP_BTN_OPER01010_RESET_PW');
334
-	//
335
-	// 		$('#ITP_AJAX_OPER01010_LIST_CONTAINER').hide();
336
-	// 		$('#ITP_AJAX_OPER01010_DETAIL_CONTAINER').show();
337
-	// 		$('#ITP_AJAX_OPER01010_VIEW_CONTAINER').hide();
338
-	// 		$('#ITP_FORM_OPER01010_DETAIL_USER_ID').attr('readonly', true);
339
-	// 		$('#ITP_FORM_OPER01010_DETAIL_DUP').attr('disabled', true);
340
-	// 		$('#ITP_FORM_OPER01010_DETAIL_SEARCH_AFFL_SHOP_NM').attr('readonly', true);
341
-	//
342
-	// 		$('#ITP_FORM_OPER01010_DETAIL_SEARCH_AFFL_SHOP').hide();
343
-	// 		$('#ITP_FORM_OPER01010_DETAIL_DELETE_AFFL_SHOP').hide();
344
-	// 	} else if(mode == 'VIEW') { // 보기
345
-	// 		$('#ITP_BTN_OPER01010_SRH').hide();
346
-	// 		$('#ITP_BTN_OPER01010_NEWREG').hide();
347
-	// 		$('#ITP_BTN_OPER01010_DELETE').hide();
348
-	// 		$('#ITP_BTN_OPER01010_SAVE').hide();
349
-	// 		fn_show_btn_auth('#ITP_BTN_OPER01010_MODIFY');
350
-	// 		fn_show_btn_auth('#ITP_BTN_OPER01010_CANCELLIST');
351
-	//
352
-	// 		$('#ITP_AJAX_OPER01010_LIST_CONTAINER').hide();
353
-	// 		$('#ITP_AJAX_OPER01010_DETAIL_CONTAINER').hide();
354
-	// 		$('#ITP_AJAX_OPER01010_VIEW_CONTAINER').show();
355
-	// 	}
356
-	// }
256
+	grid: {
257
+		init: function(mode) {
258
+			this.gridId = (mode === 'VIEW') ? OPER01010_VIEW_GRID_ID : OPER01010_DETAIL_GRID_ID;
259
+			this.unload();
260
+			this.load(mode);
261
+		},
262
+		gridId: '',
263
+		load: function(mode) {
264
+			let gridView = (mode === 'VIEW') ? 'OPER01010_VIEW' : 'OPER01010_DETAIL';
265
+			let param = $('#ITP_FORM_' + gridView).serializeObject();
266
+			param.gridSize = $.jgrid.defaults.rowNum;
267
+			param.pagingYn = false; // 페이징안함
268
+
269
+			var _this = this;
270
+			var option = {
271
+				gridId: _this.gridId,
272
+				colModel: gridColModel.detail,
273
+				param: JSON.stringify(param),
274
+				url: DOMAIN + USER_USERAUTH_GRID_LIST,
275
+				multiselect: (mode !== 'VIEW'),
276
+				loadComplete: function(data) {
277
+					itp_fn_grid_load_complete(data, _this.gridId, true, undefined, gridView);
278
+				},
279
+				onSortCol: function(index, columnIndex, sortOrder) {
280
+					var sortingFn = {
281
+						callBack: function(args) {
282
+							$(args).trigger('reloadGrid');
283
+						}
284
+					};
285
+					if (itp_fn_check_grid_is_writing(_this.gridId)) {
286
+						itp_fn_modal_confirm(ITP_MSG_LOCALE.message.ajax.cancelData, sortingFn, _this.gridId);
287
+						return 'stop';
288
+					} else {
289
+						itp_fn_grid_sorting(_this.gridId, index, sortOrder);
290
+					}
291
+				}
292
+			};
293
+			itp_fn_grid_make_not_paging(option);
294
+		},
295
+		unload : function() {
296
+			$.jgrid.gridUnload(this.gridId);
297
+		}
298
+	}
357 299
 };
358 300
 
359 301
 /*목록화면 Object*/
@@ -485,51 +427,8 @@ let viewObj = {
485 427
 		$('#ITP_FORM_OPER01010_VIEW .fnLastLoginDt').text(result.lastLoginDt);
486 428
 
487 429
 		// 권한정보 리스트 조회
488
-		viewObj.grid.load(result.spplyMgrList);
489
-	},
490
-	grid: {
491
-		init: function() {
492
-			this.unload();
493
-			this.load();
494
-		},
495
-		load : function() {
496
-			let param = $('#ITP_FORM_OPER01010_VIEW').serializeObject();
497
-			param.gridSize = $.jgrid.defaults.rowNum;
498
-			param.pagingYn = false; // 페이징안함
499
-
500
-			var option = {
501
-				gridId: OPER01010_VIEW_GRID_ID,
502
-				colModel: gridColModel.detail,
503
-				param: JSON.stringify(param),
504
-				url: DOMAIN + USER_USERAUTH_GRID_LIST,
505
-				loadComplete: function(data) {
506
-					itp_fn_grid_load_complete(data, OPER01010_VIEW_GRID_ID, true, undefined, 'OPER01010_VIEW');
507
-				},
508
-				onSortCol: function(index, columnIndex, sortOrder) {
509
-					var sortingFn = {
510
-						callBack: function(args) {
511
-							$(args).trigger('reloadGrid');
512
-						}
513
-					};
514
-					if (itp_fn_check_grid_is_writing(OPER01010_VIEW_GRID_ID)) {
515
-						itp_fn_modal_confirm(ITP_MSG_LOCALE.message.ajax.cancelData, sortingFn, OPER01010_VIEW_GRID_ID);
516
-						return 'stop';
517
-					} else {
518
-						itp_fn_grid_sorting(OPER01010_VIEW_GRID_ID, index, sortOrder);
519
-					}
520
-				}
521
-			};
522
-			itp_fn_grid_make_not_paging(option);
523
-		},
524
-		clearData : function() {
525
-			$(OPER01010_VIEW_GRID_ID).jqGrid('clearGridData', true);
526
-			$(OPER01010_VIEW_GRID_LIST).find('.ui-jqgrid-bdiv').css('min-height', '100px');
527
-			$(OPER01010_VIEW_GRID_EMPTY).html(ITP_MSG_LOCALE.message.grid.noData);
528
-			$(OPER01010_VIEW_GRID_EMPTY).show();
529
-		},
530
-		unload : function() {
531
-			$.jgrid.gridUnload(OPER01010_VIEW_GRID_ID);
532
-		}
430
+		pageObj.grid.init('VIEW');
431
+		// viewObj.grid.load(result.spplyMgrList);
533 432
 	}
534 433
 };
535 434
 
@@ -573,60 +472,14 @@ let modifyObj = {
573 472
 		$('#ITP_FORM_OPER01010_DETAIL .fnLastLoginDt').text(result.lastLoginDt);
574 473
 
575 474
 		// 권한정보 리스트 조회
576
-		modifyObj.grid.init();
577
-	},
578
-	grid: {
579
-		init: function() {
580
-			this.unload();
581
-			this.load();
582
-		},
583
-		load : function() {
584
-			let param = $('#ITP_FORM_OPER01010_DETAIL').serializeObject();
585
-			param.gridSize = $.jgrid.defaults.rowNum;
586
-			param.pagingYn = false; // 페이지안함
587
-
588
-			var option = {
589
-				gridId: OPER01010_DETAIL_GRID_ID,
590
-				colModel: gridColModel.detail,
591
-				param: JSON.stringify(param),
592
-				url: DOMAIN + USER_USERAUTH_GRID_LIST,
593
-				multiselect: true,
594
-				loadComplete: function(data) {
595
-					itp_fn_grid_load_complete(data, OPER01010_DETAIL_GRID_ID, true, undefined, 'OPER01010_DETAIL');
596
-				},
597
-				onSortCol: function(index, columnIndex, sortOrder) {
598
-					var sortingFn = {
599
-						callBack: function(args) {
600
-							$(args).trigger('reloadGrid');
601
-						}
602
-					};
603
-					if (itp_fn_check_grid_is_writing(OPER01010_DETAIL_GRID_ID)) {
604
-						itp_fn_modal_confirm(ITP_MSG_LOCALE.message.ajax.cancelData, sortingFn, OPER01010_DETAIL_GRID_ID);
605
-						return 'stop';
606
-					} else {
607
-						itp_fn_grid_sorting(OPER01010_DETAIL_GRID_ID, index, sortOrder);
608
-					}
609
-				}
610
-			};
611
-			itp_fn_grid_make_not_paging(option);
612
-		},
613
-		clearData : function() {
614
-			$(OPER01010_DETAIL_GRID_ID).jqGrid('clearGridData', true);
615
-			$(OPER01010_DETAIL_GRID_LIST).find('.ui-jqgrid-bdiv').css('min-height', '100px');
616
-			$(OPER01010_DETAIL_GRID_EMPTY).html(ITP_MSG_LOCALE.message.grid.noData);
617
-			$(OPER01010_DETAIL_GRID_EMPTY).show();
618
-		},
619
-		unload : function() {
620
-			$.jgrid.gridUnload(OPER01010_DETAIL_GRID_ID);
621
-		}
475
+		pageObj.grid.init('DETAIL');
622 476
 	}
623 477
 };
624 478
 
625 479
 /*신규화면 Object*/
626 480
 let createObj = {
627 481
 	init: function () {
628
-		this.unload();
629
-		this.load();
482
+		pageObj.grid.init('DETAIL');
630 483
 	},
631 484
 	button: {
632 485
 		cancel: function() {
@@ -707,70 +560,13 @@ let createObj = {
707 560
 			};
708 561
 			itp_fn_modal_confirm(ITP_MSG_LOCALE.message.ajax.askResetUserPw, resetPwFn, null);
709 562
 		}
710
-	},
711
-	load: function () {
712
-		let param = $('#ITP_FORM_OPER01010_DETAIL').serializeObject();
713
-		param.gridSize = $.jgrid.defaults.rowNum;
714
-		param.pagingYn = false; // 페이지안함
715
-
716
-		var option = {
717
-			gridId: OPER01010_DETAIL_GRID_ID,
718
-			colModel: gridColModel.detail,
719
-			param: JSON.stringify(param),
720
-			url: DOMAIN + USER_USERAUTH_GRID_LIST,
721
-			pager: OPER01010_DETAIL_GRID_PAGER,
722
-			multiselect: true,
723
-			loadComplete: function(data) {
724
-				itp_fn_grid_load_complete(data, OPER01010_DETAIL_GRID_ID, true, undefined, 'OPER01010_DETAIL');
725
-			},
726
-			onPaging: function(action) {
727
-				var pagingFn = {
728
-					callBack: function(args) {
729
-						$(args).trigger('reloadGrid');
730
-					}
731
-				};
732
-				if (itp_fn_check_grid_is_writing(OPER01010_DETAIL_GRID_ID)) {
733
-					itp_fn_modal_confirm(ITP_MSG_LOCALE.message.ajax.cancelData, pagingFn, OPER01010_DETAIL_GRID_ID);
734
-					return 'stop';
735
-				} else {
736
-					itp_fn_grid_paging(OPER01010_DETAIL_GRID_ID, action, param);
737
-				}
738
-			},
739
-			onSortCol: function(index, columnIndex, sortOrder) {
740
-				var sortingFn = {
741
-					callBack: function(args) {
742
-						$(args).trigger('reloadGrid');
743
-					}
744
-				};
745
-				if (itp_fn_check_grid_is_writing(OPER01010_DETAIL_GRID_ID)) {
746
-					itp_fn_modal_confirm(ITP_MSG_LOCALE.message.ajax.cancelData, sortingFn, OPER01010_DETAIL_GRID_ID);
747
-					return 'stop';
748
-				} else {
749
-					itp_fn_grid_sorting(OPER01010_DETAIL_GRID_ID, index, sortOrder);
750
-				}
751
-			}
752
-		};
753
-		itp_fn_grid_make_remote(option);
754
-	},
755
-	clearData : function() {
756
-		$(OPER01010_DETAIL_GRID_ID).jqGrid('clearGridData', true);
757
-		$(OPER01010_DETAIL_GRID_LIST).find('.ui-jqgrid-bdiv').css('min-height', '100px');
758
-		$(OPER01010_DETAIL_GRID_EMPTY).html(ITP_MSG_LOCALE.message.grid.noData);
759
-		$(OPER01010_DETAIL_GRID_EMPTY).show();
760
-	},
761
-	unload : function() {
762
-		$.jgrid.gridUnload(OPER01010_DETAIL_GRID_ID);
763 563
 	}
764 564
 };
765 565
 
766 566
 /*가맹점 Object*/
767 567
 let afflShopObj = {
768 568
 	init: function () {
769
-		if(AUTH_TYPE_CD === '10' || AUTH_TYPE_CD === '20') {
770
-			this.action();
771
-		} else {
772
-			this.make();
773
-		}
569
+		(AUTH_TYPE_CD === '10' || AUTH_TYPE_CD === '20') ? this.action() : this.make();
774 570
 	},
775 571
 	button: {
776 572
 		addRow: function() {
@@ -785,13 +581,17 @@ let afflShopObj = {
785 581
 
786 582
 				$.each(rowDataPop, function(key, value) {
787 583
 					if(exists.indexOf(value.authNo) < 0) {
788
-						// 행추가
789
-						$(OPER01010_DETAIL_GRID_ID).jqGrid('addRow', {position: 'last'});
584
+						$(OPER03010_DETAIL_GRID_ID).jqGrid('addRowData', value.authNo, value, 'last');
790 585
 						var rids = $(OPER01010_DETAIL_GRID_ID).jqGrid('getDataIDs');
791 586
 						var last_row_id = rids[rids.length - 1];
792 587
 						$(OPER01010_DETAIL_GRID_ID).jqGrid('setCell', last_row_id, 'viewCd', 'C');
793
-						$(OPER01010_DETAIL_GRID_ID).jqGrid('setCell', last_row_id, 'authNo', value.authNo);
794
-						$(OPER01010_DETAIL_GRID_ID).jqGrid('setCell', last_row_id, 'authNm', value.authNm);
588
+						// 행추가
589
+						// $(OPER01010_DETAIL_GRID_ID).jqGrid('addRow', {position: 'last'});
590
+						// var rids = $(OPER01010_DETAIL_GRID_ID).jqGrid('getDataIDs');
591
+						// var last_row_id = rids[rids.length - 1];
592
+						// $(OPER01010_DETAIL_GRID_ID).jqGrid('setCell', last_row_id, 'viewCd', 'C');
593
+						// $(OPER01010_DETAIL_GRID_ID).jqGrid('setCell', last_row_id, 'authNo', value.authNo);
594
+						// $(OPER01010_DETAIL_GRID_ID).jqGrid('setCell', last_row_id, 'authNm', value.authNm);
795 595
 					}
796 596
 				});
797 597
 				$(OPER01010_DETAIL_GRID_EMPTY).hide();

+ 43 - 74
src/main/webapp/js/app/oper/ITP_OPER02010.js

@@ -149,26 +149,24 @@ let pageObj = {
149 149
 	ui: {
150 150
 		init: function () {
151 151
 			this.button();
152
-			this.comCode();
153 152
 			this.ready();
154 153
 		},
155 154
 		button: function () {
156 155
 			// 버튼 권한설정
157 156
 			fn_proc_btn_auth('OPER02010');
158 157
 
159
-			// 조회일자 지정
160
-			var now = new Date();
161
-			$('#ITP_TAB_OPER02010 .input-group.date').datepicker(ITP_DATE_LANGUAGE);
162
-			$('#ITP_FORM_OPER02010_SEARCH_FROM_DT').datepicker('setDate', new Date(now.setMonth(now.getMonth() - 1)));
163
-			$('#ITP_FORM_OPER02010_SEARCH_TO_DT').datepicker('setDate', new Date());
164
-		},
165
-		comCode: function () {
166 158
 			// 공통코드 표시
167 159
 			$('select').each(function() {
168 160
 				if($(this).data('select-code')) {
169 161
 					fn_make_select(CODE_LIST, $(this).data('select-code'), $(this).attr('id'));
170 162
 				}
171 163
 			});
164
+
165
+			// 조회일자 지정
166
+			var now = new Date();
167
+			$('#ITP_TAB_OPER02010 .input-group.date').datepicker(ITP_DATE_LANGUAGE);
168
+			$('#ITP_FORM_OPER02010_SEARCH_FROM_DT').datepicker('setDate', new Date(now.setMonth(now.getMonth() - 1)));
169
+			$('#ITP_FORM_OPER02010_SEARCH_TO_DT').datepicker('setDate', new Date());
172 170
 		},
173 171
 		ready: function () {
174 172
 			listObj.init();
@@ -201,70 +199,37 @@ let pageObj = {
201 199
 		}
202 200
 	},
203 201
 	switchScreen: function(mode) {
204
-		if(mode == 'LIST') { // 목록
205
-			$('#ITP_BTN_OPER02010_MODIFY').hide();
206
-			$('#ITP_BTN_OPER02010_CANCELLIST').hide();
207
-			$('#ITP_BTN_OPER02010_DELETE').hide();
208
-			$('#ITP_BTN_OPER02010_SAVE').hide();
209
-			fn_show_btn_auth('#ITP_BTN_OPER02010_SRH');
210
-			fn_show_btn_auth('#ITP_BTN_OPER02010_NEWREG');
211
-
202
+		$('.itp_det_head').find('button[id^="ITP_BTN_OPER02010_"]').each(function(i) {
203
+			$(this).hide();
204
+		});
205
+		$('div[id$="_CONTAINER"]').each(function(i) {
206
+			if($(this).attr('id').startsWith('ITP_AJAX_OPER02010')) {
207
+				$(this).hide();
208
+			}
209
+		});
210
+		if(mode === 'LIST') { // 목록
211
+			fn_show_btn_auth_array(['#ITP_BTN_OPER02010_SRH', '#ITP_BTN_OPER02010_NEWREG']);
212 212
 			$('#ITP_AJAX_OPER02010_LIST_CONTAINER').show();
213
-			$('#ITP_AJAX_OPER02010_DETAIL_CONTAINER').hide();
214
-			$('#ITP_AJAX_OPER02010_VIEW_CONTAINER').hide();
215 213
 		} else if(mode == 'ADD') { // 등록
216
-			$('#ITP_BTN_OPER02010_SRH').hide();
217
-			$('#ITP_BTN_OPER02010_MODIFY').hide();
218
-			$('#ITP_BTN_OPER02010_NEWREG').hide();
219
-			$('#ITP_BTN_OPER02010_DELETE').hide();
220
-			fn_show_btn_auth('#ITP_BTN_OPER02010_CANCELLIST');
221
-			fn_show_btn_auth('#ITP_BTN_OPER02010_SAVE');
222
-
223
-			$('#ITP_AJAX_OPER02010_LIST_CONTAINER').hide();
214
+			fn_show_btn_auth_array(['#ITP_BTN_OPER02010_CANCELLIST', '#ITP_BTN_OPER02010_SAVE']);
224 215
 			$('#ITP_AJAX_OPER02010_DETAIL_CONTAINER').show();
225
-			$('#ITP_AJAX_OPER02010_VIEW_CONTAINER').hide();
226 216
 
227 217
 			$('input[id^="ITP_FORM_OPER02010_DETAIL_"]').each(function(i) {
228 218
 				($(this).attr('id') === 'ITP_FORM_OPER02010_DETAIL_VIEW_CD') ? $(this).val('C') : $(this).val('');
229 219
 			});
230 220
 
231
-			$('#ITP_FORM_OPER02010_DEL_YN').val('N');
232 221
 			$('#ITP_FORM_OPER02010_FROM_DT').datepicker('setDate', new Date());
233 222
 			$('#ITP_FORM_OPER02010_TO_DT').datepicker('setDate', new Date());
234 223
 
235
-			$('#ITP_FORM_OPER02010_DETAIL #ITP_FORM_OPER02010_DETAIL_SEARCH_AFFL_SHOP_ID').val('');
236
-			$('#ITP_FORM_OPER02010_DETAIL #ITP_FORM_OPER02010_DETAIL_SEARCH_AFFL_SHOP_NM').val('');
237
-			$('#ITP_FORM_OPER02010_DETAIL_SEARCH_AFFL_SHOP').removeAttr('disabled');
238
-			$('#ITP_FORM_OPER02010_DETAIL_DELETE_AFFL_SHOP').removeAttr('disabled');
224
+			$('#ITP_FORM_OPER02010_DETAIL #ITP_FORM_OPER02010_DETAIL_AFFL_SHOP_ID').val('');
225
+			$('#ITP_FORM_OPER02010_DETAIL #ITP_FORM_OPER02010_DETAIL_AFFL_SHOP_NM').val('').prop('readonly', true);
239 226
 			$('#ITP_FORM_OPER02010_DETAIL #ITP_FORM_OPER02010_DETAIL_SEARCH_BRAND_ID option').remove();
240
-			$('#ITP_FORM_OPER02010_DETAIL #ITP_FORM_OPER02010_DETAIL_SEARCH_AFFL_SHOP_NM').removeAttr('readonly');
241
-			$('#ITP_FORM_OPER02010_DETAIL #ITP_FORM_OPER02010_DETAIL_SEARCH_BRAND_ID').removeAttr('readonly');
242
-		} else if(mode == 'MODIFY') { // 수정
243
-			$('#ITP_BTN_OPER02010_SRH').hide();
244
-			$('#ITP_BTN_OPER02010_MODIFY').hide();
245
-			$('#ITP_BTN_OPER02010_NEWREG').hide();
246
-			$('#ITP_BTN_OPER02010_DELETE').hide();
247
-			fn_show_btn_auth('#ITP_BTN_OPER02010_CANCELLIST');
248
-			fn_show_btn_auth('#ITP_BTN_OPER02010_SAVE');
249
-
250
-			$('#ITP_AJAX_OPER02010_LIST_CONTAINER').hide();
227
+		} else if(mode === 'MODIFY') { // 수정
228
+			fn_show_btn_auth_array(['#ITP_BTN_OPER02010_CANCELLIST', '#ITP_BTN_OPER02010_SAVE', '#ITP_BTN_OPER02010_RESET_PW']);
251 229
 			$('#ITP_AJAX_OPER02010_DETAIL_CONTAINER').show();
252
-			$('#ITP_AJAX_OPER02010_VIEW_CONTAINER').hide();
253
-
254
-			$('#ITP_FORM_OPER02010_DETAIL_SEARCH_AFFL_SHOP').attr('disabled', true);
255
-			$('#ITP_FORM_OPER02010_DETAIL_DELETE_AFFL_SHOP').attr('disabled', true);
256
-			$('#ITP_FORM_OPER02010_DETAIL #ITP_FORM_OPER02010_DETAIL_SEARCH_AFFL_SHOP_NM').attr('readonly', true);
257
-			$('#ITP_FORM_OPER02010_DETAIL #ITP_FORM_OPER02010_DETAIL_SEARCH_BRAND_ID').attr('readonly', true);
258
-		} else if(mode == 'VIEW') { // 보기
259
-			$('#ITP_BTN_OPER02010_SRH').hide();
260
-			$('#ITP_BTN_OPER02010_NEWREG').hide();
261
-			$('#ITP_BTN_OPER02010_DELETE').hide();
262
-			$('#ITP_BTN_OPER02010_SAVE').hide();
263
-			fn_show_btn_auth('#ITP_BTN_OPER02010_MODIFY');
264
-			fn_show_btn_auth('#ITP_BTN_OPER02010_CANCELLIST');
265
-
266
-			$('#ITP_AJAX_OPER02010_LIST_CONTAINER').hide();
267
-			$('#ITP_AJAX_OPER02010_DETAIL_CONTAINER').hide();
230
+			$('#ITP_FORM_OPER02010_DETAIL #ITP_FORM_OPER02010_DETAIL_AFFL_SHOP_NM').prop('readonly', true);
231
+		} else if(mode === 'VIEW') { // 보기
232
+			fn_show_btn_auth_array(['#ITP_BTN_OPER02010_MODIFY', '#ITP_BTN_OPER02010_CANCELLIST']);
268 233
 			$('#ITP_AJAX_OPER02010_VIEW_CONTAINER').show();
269 234
 		}
270 235
 	},
@@ -288,6 +253,7 @@ let pageObj = {
288 253
 				url: DOMAIN + NTICE_TARGET_GRID_LIST,
289 254
 				multiselect: (mode !== 'VIEW'),
290 255
 				loadComplete: function(data) {
256
+					console.log(data);
291 257
 					itp_fn_grid_load_complete(data, _gridId, true, undefined, 'OPER02010_' + mode);
292 258
 				},
293 259
 				onSortCol: function(index, columnIndex, sortOrder) {
@@ -310,7 +276,7 @@ let pageObj = {
310 276
 			var gridId = this.gridId.replace('#', '');
311 277
 			var rids = $(this.gridId).jqGrid('getDataIDs');
312 278
 			var last_row_id = rids[rids.length - 1];
313
-			itp_fn_grid_reset_selection(e, last_row_id, gridId, 'OPER02010_DETAIL');
279
+			itp_fn_grid_reset_selection(e, last_row_id, gridId, 'OPER02010_' + mode);
314 280
 		},
315 281
 		unload : function() {
316 282
 			$.jgrid.gridUnload(this.gridId);
@@ -545,23 +511,22 @@ let createObj = {
545 511
 		},
546 512
 		selectbox: function () {
547 513
 			// 브랜드 selectbox 선택
548
-			$('#ITP_FORM_OPER02010_DETAIL_SEARCH_BRAND_ID').off('change').on('change', function() {
514
+			$('#ITP_FORM_OPER02010_DETAIL_BRAND_ID').off('change').on('change', function() {
549 515
 				if(this.selectedIndex > 0) {
550 516
 					$('#ITP_FORM_OPER02010_DETAIL_TARGET_CD option:eq(0)').prop('selected', true);
551
-					$('#ITP_FORM_OPER02010_DETAIL_TARGET_CD').attr('disabled', true);
552
-					$('#ITP_FORM_OPER02010_DETAIL_TARGET_CD').trigger('change');
517
+					$('#ITP_FORM_OPER02010_DETAIL_TARGET_CD').prop('disabled', true).trigger('change');
553 518
 				} else {
554
-					$('#ITP_FORM_OPER02010_DETAIL_TARGET_CD').attr('disabled', false);
519
+					$('#ITP_FORM_OPER02010_DETAIL_TARGET_CD').prop('disabled', false);
555 520
 				}
556 521
 			});
557 522
 			// 공지대상 selectbox 선택
558 523
 			$('#ITP_FORM_OPER02010_DETAIL_TARGET_CD').off('change').on('change', function() {
559 524
 				if(this.selectedIndex > 0) {
560
-					$('#ITP_BTN_OPER02010_DETAIL_ADDROW').attr('disabled', false);
561
-					$('#ITP_BTN_OPER02010_DETAIL_DELROW').attr('disabled', false);
525
+					$('#ITP_BTN_OPER02010_DETAIL_ADDROW').prop('disabled', false);
526
+					$('#ITP_BTN_OPER02010_DETAIL_DELROW').prop('disabled', false);
562 527
 				} else {
563
-					$('#ITP_BTN_OPER02010_DETAIL_ADDROW').attr('disabled', true);
564
-					$('#ITP_BTN_OPER02010_DETAIL_DELROW').attr('disabled', true);
528
+					$('#ITP_BTN_OPER02010_DETAIL_ADDROW').prop('disabled', true);
529
+					$('#ITP_BTN_OPER02010_DETAIL_DELROW').prop('disabled', true);
565 530
 					$(OPER02010_DETAIL_GRID_ID).jqGrid('clearGridData');
566 531
 				}
567 532
 			});
@@ -589,13 +554,17 @@ let createObj = {
589 554
 					// console.log(JSON.stringify(value));
590 555
 					// console.log(exists.indexOf(value.userId));
591 556
 					if(exists.indexOf(value.brandId) < 0) {
592
-						// 행추가
593
-						$(OPER02010_DETAIL_GRID_ID).jqGrid('addRow', {position: 'last'});
594
-						var rids = $(OPER02010_DETAIL_GRID_ID).jqGrid('getDataIDs');
557
+						$(OPER03010_DETAIL_GRID_ID).jqGrid('addRowData', value.brandId, value, 'last');
558
+						var rids = $(OPER01010_DETAIL_GRID_ID).jqGrid('getDataIDs');
595 559
 						var last_row_id = rids[rids.length - 1];
596
-						$(OPER02010_DETAIL_GRID_ID).jqGrid('setCell', last_row_id, 'viewCd', 'C');
597
-						$(OPER02010_DETAIL_GRID_ID).jqGrid('setCell', last_row_id, 'brandId', value.brandId);
598
-						$(OPER02010_DETAIL_GRID_ID).jqGrid('setCell', last_row_id, 'brandNm', value.brandNm);
560
+						$(OPER01010_DETAIL_GRID_ID).jqGrid('setCell', last_row_id, 'viewCd', 'C');
561
+						// 행추가
562
+						// $(OPER02010_DETAIL_GRID_ID).jqGrid('addRow', {position: 'last'});
563
+						// var rids = $(OPER02010_DETAIL_GRID_ID).jqGrid('getDataIDs');
564
+						// var last_row_id = rids[rids.length - 1];
565
+						// $(OPER02010_DETAIL_GRID_ID).jqGrid('setCell', last_row_id, 'viewCd', 'C');
566
+						// $(OPER02010_DETAIL_GRID_ID).jqGrid('setCell', last_row_id, 'brandId', value.brandId);
567
+						// $(OPER02010_DETAIL_GRID_ID).jqGrid('setCell', last_row_id, 'brandNm', value.brandNm);
599 568
 					}
600 569
 				});
601 570
 				$(OPER02010_DETAIL_GRID_EMPTY).hide();

+ 121 - 411
src/main/webapp/js/app/oper/ITP_OPER03010.js

@@ -1,8 +1,7 @@
1 1
 require(['config'], function() {
2 2
 	require([
3 3
 		'jquery.bootstrap.fileUpload', //파일 업로드가 있는 페이지에서 로딩
4
-		'kakao.postcode',
5
-		'kakao.maps'
4
+		'kakao.map.util'
6 5
 	], function($) {
7 6
 		pageObj.init();
8 7
 	});
@@ -95,6 +94,12 @@ const gridColModel = {
95 94
 		}
96 95
 	],
97 96
 	detail: [
97
+		{
98
+			index: 'VIEW_CD', name: 'viewCd',
99
+			label: ITP_MSG_LOCALE.label.viewCd,
100
+			width: '10', fixed: false, align: 'center',
101
+			sortable: false, hidden: true
102
+		},
98 103
 		{
99 104
 			index: 'SALE_MGR_ID', name: 'saleMgrId',
100 105
 			label: '영업담당자ID',
@@ -147,7 +152,6 @@ let pageObj = {
147 152
 	init: function () {
148 153
 		this.ui.init();
149 154
 		this.event.init();
150
-		afflUserObj.init();
151 155
 	},
152 156
 	itp_OPER03010_param: {},
153 157
 	itp_OPER03010_search: false,
@@ -199,8 +203,8 @@ let pageObj = {
199 203
 						case 'ITP_BTN_OPER03010_DETAIL_AFFL_SHOP_KEY'	: createObj.button.duplicate();	break;	// 중복체크
200 204
 						case 'ITP_BTN_OPER03010_RESET_PW'				: createObj.button.resetPass();	break;	// 상세:비밀번호 초기화
201 205
 						case 'ITP_FORM_OPER03010_DETAIL_ADRES_SCH'		: createObj.button.address();	break;	// 신규등록 주소 찾기
202
-						case 'ITP_BTN_OPER03010_DETAIL_ADDROW'			: afflUserObj.button.addRow();	break;	// 신규등록 영업담당자 행 추가
203
-						case 'ITP_BTN_OPER03010_DETAIL_DELROW'			: afflUserObj.button.delRow();	break;	// 상세:삭제버튼
206
+						case 'ITP_BTN_OPER03010_DETAIL_ADDROW'			: pageObj.grid.button.addRow();	break;	// 신규등록 영업담당자 행 추가
207
+						case 'ITP_BTN_OPER03010_DETAIL_DELROW'			: pageObj.grid.button.delRow();	break;	// 상세:삭제버튼
204 208
 					}
205 209
 				});
206 210
 			});
@@ -224,64 +228,102 @@ let pageObj = {
224 228
 		itp_fn_set_file_upload('ITP_' + id + '_DETAIL_UPLOAD', 'notice', true, false, id, fileArgs);
225 229
 	},
226 230
 	switchScreen: function(mode) {
227
-		if(mode == 'LIST') { // 목록
228
-			$('#ITP_BTN_OPER03010_MODIFY').hide();
229
-			$('#ITP_BTN_OPER03010_CANCELLIST').hide();
230
-			$('#ITP_BTN_OPER03010_DELETE').hide();
231
-			$('#ITP_BTN_OPER03010_SAVE').hide();
232
-			fn_show_btn_auth('#ITP_BTN_OPER03010_SRH');
233
-			fn_show_btn_auth('#ITP_BTN_OPER03010_NEWREG');
234
-
231
+		$('.itp_det_head').find('button[id^="ITP_BTN_OPER03010_"]').each(function(i) {
232
+			$(this).hide();
233
+		});
234
+		$('div[id$="_CONTAINER"]').each(function(i) {
235
+			if($(this).attr('id').startsWith('ITP_AJAX_OPER03010')) {
236
+				$(this).hide();
237
+			}
238
+		});
239
+		if(mode === 'LIST') { // 목록
240
+			fn_show_btn_auth_array(['#ITP_BTN_OPER03010_SRH', '#ITP_BTN_OPER03010_NEWREG']);
235 241
 			$('#ITP_AJAX_OPER03010_LIST_CONTAINER').show();
236
-			$('#ITP_AJAX_OPER03010_DETAIL_CONTAINER').hide();
237
-			$('#ITP_AJAX_OPER03010_VIEW_CONTAINER').hide();
238 242
 		} else if(mode == 'ADD') { // 등록
239
-			ITP_FORM_OPER03010_DETAIL_IS_DUPLICATE = true;
240
-
241
-			$('#ITP_BTN_OPER03010_SRH').hide();
242
-			$('#ITP_BTN_OPER03010_MODIFY').hide();
243
-			$('#ITP_BTN_OPER03010_NEWREG').hide();
244
-			$('#ITP_BTN_OPER03010_DELETE').hide();
245
-			$('#ITP_BTN_OPER03010_RESET_PW').hide();
246
-			fn_show_btn_auth('#ITP_BTN_OPER03010_CANCELLIST');
247
-			fn_show_btn_auth('#ITP_BTN_OPER03010_SAVE');
248
-
249
-			$('#ITP_AJAX_OPER03010_LIST_CONTAINER').hide();
243
+			fn_show_btn_auth_array(['#ITP_BTN_OPER03010_CANCELLIST', '#ITP_BTN_OPER03010_SAVE']);
250 244
 			$('#ITP_AJAX_OPER03010_DETAIL_CONTAINER').show();
251
-			$('#ITP_AJAX_OPER03010_VIEW_CONTAINER').hide();
252
-			$('#ITP_FORM_OPER03010_DETAIL_AFFL_SHOP_KEY').removeAttr('readonly');
253
-			$('#ITP_BTN_OPER03010_DETAIL_AFFL_SHOP_KEY').removeAttr('disabled');
254 245
 
255 246
 			$('input[id^="ITP_FORM_OPER03010_DETAIL_"]').each(function(i) {
256 247
 				($(this).attr('id') === 'ITP_FORM_OPER03010_DETAIL_VIEW_CD') ? $(this).val('C') : $(this).val('');
257 248
 			});
258
-			$('.fnAfflShopId').text('(자동부여)');
259
-		} else if(mode == 'MODIFY') { // 수정
260
-			$('#ITP_BTN_OPER03010_SRH').hide();
261
-			$('#ITP_BTN_OPER03010_MODIFY').hide();
262
-			$('#ITP_BTN_OPER03010_NEWREG').hide();
263
-			$('#ITP_BTN_OPER03010_DELETE').hide();
264
-			fn_show_btn_auth('#ITP_BTN_OPER03010_RESET_PW');
265
-			fn_show_btn_auth('#ITP_BTN_OPER03010_CANCELLIST');
266
-			fn_show_btn_auth('#ITP_BTN_OPER03010_SAVE');
267 249
 
268
-			$('#ITP_AJAX_OPER03010_LIST_CONTAINER').hide();
250
+			$('#ITP_FORM_OPER03010_DETAIL_AFFL_SHOP_KEY').removeAttr('readonly');
251
+			$('#ITP_BTN_OPER03010_DETAIL_AFFL_SHOP_KEY').removeAttr('disabled');
252
+			$('.fnAfflShopId').text('(자동부여)');
253
+		} else if(mode === 'MODIFY') { // 수정
254
+			fn_show_btn_auth_array(['#ITP_BTN_OPER03010_CANCELLIST', '#ITP_BTN_OPER03010_SAVE', '#ITP_BTN_OPER03010_RESET_PW']);
269 255
 			$('#ITP_AJAX_OPER03010_DETAIL_CONTAINER').show();
270
-			$('#ITP_AJAX_OPER03010_VIEW_CONTAINER').hide();
271
-			$('#ITP_FORM_OPER03010_DETAIL_AFFL_SHOP_KEY').attr('readonly', true);
272
-			$('#ITP_BTN_OPER03010_DETAIL_AFFL_SHOP_KEY').attr('disabled', true);
273
-		} else if(mode == 'VIEW') { // 보기
274
-			$('#ITP_BTN_OPER03010_SRH').hide();
275
-			$('#ITP_BTN_OPER03010_NEWREG').hide();
276
-			$('#ITP_BTN_OPER03010_DELETE').hide();
277
-			$('#ITP_BTN_OPER03010_SAVE').hide();
278
-			fn_show_btn_auth('#ITP_BTN_OPER03010_MODIFY');
279
-			fn_show_btn_auth('#ITP_BTN_OPER03010_CANCELLIST');
280
-
281
-			$('#ITP_AJAX_OPER03010_LIST_CONTAINER').hide();
282
-			$('#ITP_AJAX_OPER03010_DETAIL_CONTAINER').hide();
256
+			$('#ITP_FORM_OPER03010_DETAIL_AFFL_SHOP_NM').prop('readonly', true);
257
+			$('#ITP_FORM_OPER03010_DETAIL_AFFL_SHOP_KEY').prop('readonly', true);
258
+			$('#ITP_BTN_OPER03010_DETAIL_AFFL_SHOP_KEY').prop('disabled', true);
259
+		} else if(mode === 'VIEW') { // 보기
260
+			fn_show_btn_auth_array(['#ITP_BTN_OPER03010_MODIFY', '#ITP_BTN_OPER03010_CANCELLIST']);
283 261
 			$('#ITP_AJAX_OPER03010_VIEW_CONTAINER').show();
284 262
 		}
263
+	},
264
+	grid: {
265
+		init: function(mode, gridData) {
266
+			this.mode = mode;
267
+			this.gridId = (mode === 'VIEW') ? OPER03010_VIEW_GRID_ID : OPER03010_DETAIL_GRID_ID;
268
+			this.unload();
269
+			this.load(gridData);
270
+		},
271
+		mode: 'DETAIL',
272
+		gridId: '',
273
+		button: {
274
+			addRow: function () {
275
+				// 팝업
276
+				var popFn = function(rowDataPop) {
277
+					// console.log(rowDataPop);
278
+					// 기존등록 데이터
279
+					var exists = '';
280
+					const rowData = $(OPER03010_DETAIL_GRID_ID).getRowData();
281
+					$.each(rowData, function(key, value) {
282
+						exists = exists + value.saleMgrId + ';';
283
+					});
284
+
285
+					$.each(rowDataPop, function(key, value) {
286
+						if(exists.indexOf(value.saleMgrId) < 0) {
287
+							value['viewCd'] =  (pageObj.grid.mode === 'MODIFY') ? 'U' : "C";
288
+							$(OPER03010_DETAIL_GRID_ID).jqGrid('addRowData', value.saleMgrId, value, 'last');
289
+						}
290
+					});
291
+					$(OPER03010_DETAIL_GRID_EMPTY).hide();
292
+				};
293
+				fn_call_popup('biz', 'BIZPOP_APPL_SALES_USER_SCH', '#ITP_ASIDE', popFn, null, 'S');
294
+			},
295
+			delRow: function () {
296
+				itp_fn_grid_del_row(OPER03010_DETAIL_GRID_ID);
297
+			}
298
+		},
299
+		load: function(gridData) {
300
+			var _this = this;
301
+			var option = {
302
+				gridId: this.gridId,
303
+				colModel: gridColModel.detail,
304
+				data: gridData,
305
+				multiselect: (this.mode !== 'VIEW'),
306
+				loadComplete: function(data) {
307
+					$(_this.mode === 'VIEW' ? OPER03010_VIEW_GRID_LIST : OPER03010_DETAIL_GRID_LIST).find('.ui-jqgrid .ui-jqgrid-bdiv').css('overflow-x', 'hidden');
308
+					if(data.records === 0) {
309
+						_this.clearData();
310
+						var gridEmpty = (this.mode === 'VIEW') ? OPER03010_VIEW_GRID_EMPTY : OPER03010_DETAIL_GRID_EMPTY;
311
+						$(gridEmpty).html(ITP_MSG_LOCALE.message.grid.noData);
312
+						$(gridEmpty).show();
313
+					}
314
+				}
315
+			};
316
+			itp_fn_grid_make_local(option);
317
+		},
318
+		clearData : function() {
319
+			$(this.gridId).jqGrid('clearGridData', true);
320
+			$(this.mode === 'VIEW' ? OPER03010_VIEW_GRID_LIST : OPER03010_DETAIL_GRID_LIST).find('.ui-jqgrid-bdiv').css('min-height', '100px');
321
+			$(this.mode === 'VIEW' ? OPER03010_VIEW_GRID_EMPTY : OPER03010_DETAIL_GRID_EMPTY).html(ITP_MSG_LOCALE.message.grid.noData);
322
+			$(this.mode === 'VIEW' ? OPER03010_VIEW_GRID_EMPTY : OPER03010_DETAIL_GRID_EMPTY).show();
323
+		},
324
+		unload : function() {
325
+			$.jgrid.gridUnload(this.gridId);
326
+		}
285 327
 	}
286 328
 };
287 329
 
@@ -409,8 +451,9 @@ let viewObj = {
409 451
 
410 452
 		$('#ITP_FORM_OPER03010_VIEW .fnAfflShopId').text(result.afflShopId);
411 453
 		$('#ITP_FORM_OPER03010_VIEW .fnAfflShopNm').text(result.afflShopNm);
454
+		$('#ITP_FORM_OPER03010_VIEW .fnAfflShopKey').text(result.afflAbbr);
412 455
 		$('#ITP_FORM_OPER03010_VIEW .fnStCd').text(result.stNm);
413
-		$('#ITP_FORM_OPER03010_VIEW .fnCmpyTypeCd').text(result.corpType);
456
+		$('#ITP_FORM_OPER03011_VIEW .fnCorpTypeNm').text(result.corpTypeNm);
414 457
 		$('#ITP_FORM_OPER03010_VIEW .fnBsnsRegNo').text(result.corpRegNo);
415 458
 		$('#ITP_FORM_OPER03010_VIEW .fnCorpRegNo').text(result.corpRegNo);
416 459
 		$('#ITP_FORM_OPER03010_VIEW .fnTelNo').text(result.ownerTelNo);
@@ -426,71 +469,11 @@ let viewObj = {
426 469
 		$('#ITP_FORM_OPER03010_VIEW .fnLoadAddr').text(result.addr1);
427 470
 		$('#ITP_FORM_OPER03010_VIEW .fnDtlAddr').text(result.addr2);
428 471
 
429
-		$('#ITP_FORM_OPER03010_VIEW .fnAddDt').text(result.regDt);
430
-		$('#ITP_FORM_OPER03010_VIEW .fnChgDt').text(result.chgDt);
431
-
432
-		kakaoMap.init('ITP_FORM_OPER03010_VIEW_MAP', result.cmpyAdres);
472
+		let locate = result.addr1 + ' ' + result.addr2;
473
+		kakaoMap.init('ITP_FORM_OPER03011_VIEW', locate);
433 474
 
434 475
 		// 영업담당자정보  리스트 조회
435
-		afflUserObj.grid.init('VIEW', result.saleList);
436
-	},
437
-	grid: {
438
-		init: function() {
439
-			this.unload();
440
-			this.load();
441
-		},
442
-		load : function() {
443
-			let param = $('#ITP_FORM_OPER03010_VIEW').serializeObject();
444
-			param.gridSize = $.jgrid.defaults.rowNum;
445
-			param.pagingYn = false; // 페이징안함
446
-
447
-			var option = {
448
-				gridId: OPER03010_VIEW_GRID_ID,
449
-				colModel: gridColModel.detail,
450
-				param: JSON.stringify(param),
451
-				url: DOMAIN + USER_USERAUTH_GRID_LIST,
452
-				pager: OPER03010_VIEW_GRID_PAGER,
453
-				loadComplete: function(data) {
454
-					itp_fn_grid_load_complete(data, OPER03010_VIEW_GRID_ID, true, undefined, 'OPER03010_VIEW');
455
-				},
456
-				onPaging: function(action) {
457
-					var pagingFn = {
458
-						callBack: function(args) {
459
-							$(args).trigger('reloadGrid');
460
-						}
461
-					};
462
-					if (itp_fn_check_grid_is_writing(OPER03010_VIEW_GRID_ID)) {
463
-						itp_fn_modal_confirm(ITP_MSG_LOCALE.message.ajax.cancelData, pagingFn, OPER03010_VIEW_GRID_ID);
464
-						return 'stop';
465
-					} else {
466
-						itp_fn_grid_paging(OPER03010_VIEW_GRID_ID, action, param);
467
-					}
468
-				},
469
-				onSortCol: function(index, columnIndex, sortOrder) {
470
-					var sortingFn = {
471
-						callBack: function(args) {
472
-							$(args).trigger('reloadGrid');
473
-						}
474
-					};
475
-					if (itp_fn_check_grid_is_writing(OPER03010_VIEW_GRID_ID)) {
476
-						itp_fn_modal_confirm(ITP_MSG_LOCALE.message.ajax.cancelData, sortingFn, OPER03010_VIEW_GRID_ID);
477
-						return 'stop';
478
-					} else {
479
-						itp_fn_grid_sorting(OPER03010_VIEW_GRID_ID, index, sortOrder);
480
-					}
481
-				}
482
-			};
483
-			itp_fn_grid_make_remote(option);
484
-		},
485
-		clearData : function() {
486
-			$(OPER03010_VIEW_GRID_ID).jqGrid('clearGridData', true);
487
-			$(OPER03010_VIEW_GRID_LIST).find('.ui-jqgrid-bdiv').css('min-height', '100px');
488
-			$(OPER03010_VIEW_GRID_EMPTY).html(ITP_MSG_LOCALE.message.grid.noData);
489
-			$(OPER03010_VIEW_GRID_EMPTY).show();
490
-		},
491
-		unload : function() {
492
-			$.jgrid.gridUnload(OPER03010_VIEW_GRID_ID);
493
-		}
476
+		pageObj.grid.init('VIEW', result.saleList);
494 477
 	}
495 478
 };
496 479
 
@@ -515,10 +498,12 @@ let modifyObj = {
515 498
 
516 499
 		$('#ITP_FORM_OPER03010_DETAIL #ITP_FORM_OPER03010_DETAIL_AFFL_SHOP_ID').val(result.afflShopId);
517 500
 		$('#ITP_FORM_OPER03010_DETAIL .fnAfflShopId').text(result.afflShopId);
518
-		$('#ITP_FORM_OPER03010_DETAIL .fnAfflShopNm').text(result.afflShopNm);
519
-		$('#ITP_FORM_OPER03010_DETAIL #ITP_FORM_OPER03010_DETAIL_ST_CD').val(result.stNm);
520
-		// $('#ITP_FORM_OPER03010_DETAIL #fnCmpyTypeCd').text(result.corpType);
521
-		$('#ITP_FORM_OPER03010_DETAIL #ITP_FORM_OPER03010_DETAIL_BSNS_REG_NO').val(result.corpRegNo);
501
+		$('#ITP_FORM_OPER03010_DETAIL #ITP_FORM_OPER03010_DETAIL_AFFL_SHOP_NM').val(result.afflShopNm);
502
+		$('#ITP_FORM_OPER03010_DETAIL #ITP_FORM_OPER03010_DETAIL_AFFL_SHOP_KEY').val(result.afflAbbr);
503
+		$('#ITP_FORM_OPER03010_DETAIL #ITP_FORM_OPER03010_DETAIL_ST_CD').val(result.stCd);
504
+		$('#ITP_FORM_OPER03010_DETAIL #ITP_FORM_OPER03010_DETAIL_AUTH_TYPE').val(result.authType);
505
+		$('#ITP_FORM_OPER03010_DETAIL #ITP_FORM_OPER03010_DETAIL_CORP_TYPE').val(result.corpType);
506
+		$('#ITP_FORM_OPER03010_DETAIL #ITP_FORM_OPER03010_DETAIL_BSNS_REG_NO').val(result.bsnsRegNo);
522 507
 		$('#ITP_FORM_OPER03010_DETAIL #ITP_FORM_OPER03010_DETAIL_CORP_REG_NO').val(result.corpRegNo);
523 508
 		$('#ITP_FORM_OPER03010_DETAIL #ITP_FORM_STINFO01010_DETAIL_TEL_NO').val(result.ownerTelNo);
524 509
 		$('#ITP_FORM_OPER03010_DETAIL #ITP_FORM_STINFO01010_DETAIL_FAX_NO').val(result.rprstFaxNo);
@@ -530,75 +515,16 @@ let modifyObj = {
530 515
 		$('#ITP_FORM_OPER03010_DETAIL #ITP_FORM_OPER03010_SEARCH_JOIN_STT_DT').val(result.joinSttDt);
531 516
 		$('#ITP_FORM_OPER03010_DETAIL #ITP_FORM_OPER03010_SEARCH_JOIN_END_DT').val(result.joinEndDt);
532 517
 		$('#ITP_FORM_OPER03010_DETAIL #ITP_FORM_OPER03010_DETAIL_ZIPNO').val(result.zipNo);
533
-		$('#ITP_FORM_OPER03010_DETAIL #ITP_FORM_OPER03010_DETAIL_LOAD_ADDR').val(result.addr1);
534
-		$('#ITP_FORM_OPER03010_DETAIL #ITP_FORM_OPER03010_DETAIL_DTL_ADDR').val(result.addr2);
518
+		$('#ITP_FORM_OPER03010_DETAIL #ITP_FORM_OPER03010_DETAIL_ADRES').val(result.addr1);
519
+		$('#ITP_FORM_OPER03010_DETAIL #ITP_FORM_OPER03010_DETAIL_ADRES_DTL').val(result.addr2);
535 520
 
536 521
 		$('#ITP_FORM_OPER03010_DETAIL .fnAddDt').text(result.regDt);
537 522
 		$('#ITP_FORM_OPER03010_DETAIL .fnChgDt').text(result.chgDt);
538 523
 
539
-		kakaoMap.init('ITP_FORM_OPER03010_DETAIL_MAP', $('#ITP_FORM_OPER03010_DETAIL_ADRES').val());
524
+		kakaoMap.init('ITP_FORM_OPER03010_DETAIL', $('#ITP_FORM_OPER03010_DETAIL_ADRES').val());
540 525
 
541 526
 		// 권한정보 리스트 조회
542
-		afflUserObj.grid.init('MODIFY', result.saleList);
543
-	},
544
-	grid: {
545
-		init: function() {
546
-			this.unload();
547
-			this.load();
548
-		},
549
-		load : function() {
550
-			let param = $('#ITP_FORM_OPER03010_DETAIL').serializeObject();
551
-			param.gridSize = $.jgrid.defaults.rowNum;
552
-			param.pagingYn = false; // 페이지안함
553
-
554
-			var option = {
555
-				gridId: OPER03010_DETAIL_GRID_ID,
556
-				colModel: gridColModel.detail,
557
-				param: JSON.stringify(param),
558
-				url: DOMAIN + USER_USERAUTH_GRID_LIST,
559
-				pager: OPER03010_DETAIL_GRID_PAGER,
560
-				multiselect: true,
561
-				loadComplete: function(data) {
562
-					itp_fn_grid_load_complete(data, OPER03010_DETAIL_GRID_ID, true, undefined, 'OPER03010_DETAIL');
563
-				},
564
-				onPaging: function(action) {
565
-					var pagingFn = {
566
-						callBack: function(args) {
567
-							$(args).trigger('reloadGrid');
568
-						}
569
-					};
570
-					if (itp_fn_check_grid_is_writing(OPER03010_DETAIL_GRID_ID)) {
571
-						itp_fn_modal_confirm(ITP_MSG_LOCALE.message.ajax.cancelData, pagingFn, OPER03010_DETAIL_GRID_ID);
572
-						return 'stop';
573
-					} else {
574
-						itp_fn_grid_paging(OPER03010_DETAIL_GRID_ID, action, param);
575
-					}
576
-				},
577
-				onSortCol: function(index, columnIndex, sortOrder) {
578
-					var sortingFn = {
579
-						callBack: function(args) {
580
-							$(args).trigger('reloadGrid');
581
-						}
582
-					};
583
-					if (itp_fn_check_grid_is_writing(OPER03010_DETAIL_GRID_ID)) {
584
-						itp_fn_modal_confirm(ITP_MSG_LOCALE.message.ajax.cancelData, sortingFn, OPER03010_DETAIL_GRID_ID);
585
-						return 'stop';
586
-					} else {
587
-						itp_fn_grid_sorting(OPER03010_DETAIL_GRID_ID, index, sortOrder);
588
-					}
589
-				}
590
-			};
591
-			itp_fn_grid_make_remote(option);
592
-		},
593
-		clearData : function() {
594
-			$(OPER03010_DETAIL_GRID_ID).jqGrid('clearGridData', true);
595
-			$(OPER03010_DETAIL_GRID_LIST).find('.ui-jqgrid-bdiv').css('min-height', '100px');
596
-			$(OPER03010_DETAIL_GRID_EMPTY).html(ITP_MSG_LOCALE.message.grid.noData);
597
-			$(OPER03010_DETAIL_GRID_EMPTY).show();
598
-		},
599
-		unload : function() {
600
-			$.jgrid.gridUnload(OPER03010_DETAIL_GRID_ID);
601
-		}
527
+		pageObj.grid.init('MODIFY', result.saleList);
602 528
 	}
603 529
 };
604 530
 
@@ -606,8 +532,8 @@ let modifyObj = {
606 532
 let createObj = {
607 533
 	init: function () {
608 534
 		pageObj.fileUpload();
609
-		kakaoMap.init('ITP_FORM_OPER03010_DETAIL_MAP', '');
610
-		afflUserObj.grid.init();
535
+		kakaoMap.init('ITP_FORM_OPER03010_DETAIL', '');
536
+		pageObj.grid.init('DETAIL', []);
611 537
 	},
612 538
 	button: {
613 539
 		duplicate: function() {
@@ -616,7 +542,7 @@ let createObj = {
616 542
 			var vali_cmpyCd = itp_fn_form_validate(formId + '_DETAIL', formId + '_AFFL_SHOP_KEY', ['empty'], undefined);
617 543
 			if (vali_cmpyCd) {
618 544
 				var dupFn = function(result) {
619
-					if (result.code == 'N') {
545
+					if (result.code === 'N') {
620 546
 						ITP_FORM_OPER03010_DETAIL_IS_DUPLICATE = false;
621 547
 					} else {
622 548
 						ITP_FORM_OPER03010_DETAIL_IS_DUPLICATE = true;
@@ -638,20 +564,7 @@ let createObj = {
638 564
 			itp_fn_modal_confirm(ITP_MSG_LOCALE.message.ajax.askResetUserPw, resetPwFn, null);
639 565
 		},
640 566
 		address: function() {
641
-			new daum.Postcode({
642
-				oncomplete: function(data) {
643
-					// 전체주소 리턴
644
-					document.getElementById('ITP_FORM_OPER03010_DETAIL_ZIPNO').value = data.zonecode;
645
-					document.getElementById('ITP_FORM_OPER03010_DETAIL_ADRES').value = data.roadAddress;
646
-					document.getElementById('ITP_FORM_OPER03010_DETAIL_LOTS_ADDRESS').value = !!data.autoJibunAddress ? data.autoJibunAddress : data.jibunAddress;
647
-					document.getElementById('ITP_FORM_OPER03010_DETAIL_STREET_ADDRESS').value = data.roadAddress;
648
-					document.getElementById('ITP_FORM_OPER03010_DETAIL_HJ_DONG').value = !!data.hname ? data.hname : data.bname;
649
-					document.getElementById('ITP_FORM_OPER03010_DETAIL_BJ_DONG').value = data.bname;
650
-
651
-					kakaoMap.init('ITP_FORM_OPER03010_DETAIL_MAP', data.roadAddress);
652
-					document.getElementById('ITP_FORM_OPER03010_DETAIL_ADRES_DTL').focus();
653
-				}
654
-			}).open();
567
+			kakaoMap.address('ITP_FORM_OPER03010_DETAIL');
655 568
 		},
656 569
 		cancel: function() {
657 570
 			listObj.grid.search();
@@ -669,27 +582,27 @@ let createObj = {
669 582
 
670 583
 			if (vali_cmpyCd && vali_cmpyStatCd && vali_cmpyTypeCd && vali_cmpyNm && vali_bossNm && vali_mainTel && vali_mainEmail) {
671 584
 
672
-				if($('#ITP_FORM_OPER03010_DETAIL_CMPY_ZIPNO').val() == '' || $('#ITP_FORM_OPER03010_DETAIL_CMPY_ADRES').val() == '') {
585
+				if($('#ITP_FORM_OPER03010_DETAIL_CMPY_ZIPNO').val() === '' || $('#ITP_FORM_OPER03010_DETAIL_CMPY_ADRES').val() === '') {
673 586
 					itp_fn_modal_alert('주소 검색을 통해 회사 주소를 입력하세요.');
674 587
 					return;
675 588
 				}
676 589
 
677 590
 				if (ITP_FORM_OPER03010_DETAIL_IS_DUPLICATE) {
678
-					itp_fn_modal_duplicate('회사코드 중복체크를 해주세요.', formId + '_CMPY_CD');
591
+					itp_fn_modal_duplicate('회사코드 중복체크를 해주세요.', formId + '_AFFL_SHOP_ID');
679 592
 				} else {
680 593
 					let gridInsertData = [];
681 594
 					let gridUpdateData = [];
682 595
 					let gridDeleteData = [];
683 596
 					const rowData = $(OPER03010_DETAIL_GRID_ID).getRowData();
684
-					const keyValue = $(formId + '_CMPY_CD').val();
597
+					const keyValue = $(formId + '_AFFL_SHOP_ID').val();
685 598
 					$.each(rowData, function(key, value) {
686
-						if (value.viewCd != 'R') {
687
-							value.userId = keyValue;
688
-							if (value.viewCd == 'C') {
599
+						if (value.viewCd !== 'R') {
600
+							value.afflShopId = keyValue;
601
+							if (value.viewCd === 'C') {
689 602
 								gridInsertData.push(value);
690
-							} else if (value.viewCd == 'U') {
603
+							} else if (value.viewCd === 'U') {
691 604
 								gridUpdateData.push(value);
692
-							} else if (value.viewCd == 'D') {
605
+							} else if (value.viewCd === 'D') {
693 606
 								gridDeleteData.push(value);
694 607
 							}
695 608
 						}
@@ -707,208 +620,5 @@ let createObj = {
707 620
 				}
708 621
 			}
709 622
 		}
710
-	},
711
-	load: function () {
712
-		let param = $('#ITP_FORM_OPER03010_DETAIL').serializeObject();
713
-		param.gridSize = $.jgrid.defaults.rowNum;
714
-		param.pagingYn = false; // 페이지안함
715
-
716
-		var option = {
717
-			gridId: OPER03010_DETAIL_GRID_ID,
718
-			colModel: gridColModel.detail,
719
-			data: [],
720
-			pager: OPER03010_DETAIL_GRID_PAGER,
721
-		};
722
-		itp_fn_grid_make_local(option);
723
-	},
724
-	clearData : function() {
725
-		$(OPER03010_DETAIL_GRID_ID).jqGrid('clearGridData', true);
726
-		$(OPER03010_DETAIL_GRID_LIST).find('.ui-jqgrid-bdiv').css('min-height', '100px');
727
-		$(OPER03010_DETAIL_GRID_EMPTY).html(ITP_MSG_LOCALE.message.grid.noData);
728
-		$(OPER03010_DETAIL_GRID_EMPTY).show();
729
-	},
730
-	unload : function() {
731
-		$.jgrid.gridUnload(OPER03010_DETAIL_GRID_ID);
732
-	}
733
-};
734
-
735
-/*가맹점 담당자 Object*/
736
-let afflUserObj = {
737
-	init: function () {
738
-	},
739
-	button: {
740
-		addRow: function() {
741
-			// 팝업
742
-			var popFn = function(rowDataPop) {
743
-				console.log(rowDataPop);
744
-				// 기존등록 데이터
745
-				var exists = '';
746
-				const rowData = $(OPER03010_DETAIL_GRID_ID).getRowData();
747
-				$.each(rowData, function(key, value) {
748
-					exists = exists + value.saleMgrId + ';';
749
-				});
750
-
751
-				$.each(rowDataPop, function(key, value) {
752
-					if(exists.indexOf(value.saleMgrId) < 0) {
753
-						// 행추가
754
-						$(OPER03010_DETAIL_GRID_ID).jqGrid('addRow', {position: 'last'});
755
-						var rids = $(OPER03010_DETAIL_GRID_ID).jqGrid('getDataIDs');
756
-						var last_row_id = rids[rids.length - 1];
757
-						$(OPER03010_DETAIL_GRID_ID).jqGrid('setCell', last_row_id, 'viewCd', 'C');
758
-						$(OPER03010_DETAIL_GRID_ID).jqGrid('setCell', last_row_id, 'saleMgrId', value.saleMgrId);
759
-						$(OPER03010_DETAIL_GRID_ID).jqGrid('setCell', last_row_id, 'saleMgrNm', value.saleMgrNm);
760
-						$(OPER03010_DETAIL_GRID_ID).jqGrid('setCell', last_row_id, 'rprstTelNo', value.rprstTelNo);
761
-						$(OPER03010_DETAIL_GRID_ID).jqGrid('setCell', last_row_id, 'rprstEmai', value.rprstEmai);
762
-						$(OPER03010_DETAIL_GRID_ID).jqGrid('setCell', last_row_id, 'stCd', value.stCd);
763
-						$(OPER03010_DETAIL_GRID_ID).jqGrid('setCell', last_row_id, 'stNm', value.stNm);
764
-					}
765
-				});
766
-				$(OPER03010_DETAIL_GRID_EMPTY).hide();
767
-			};
768
-			fn_call_popup('biz', 'BIZPOP_APPL_SALES_USER_SCH', '#ITP_ASIDE', popFn, null, 'S');
769
-		},
770
-		delRow: function() {
771
-			itp_fn_grid_del_row(OPER03010_DETAIL_GRID_ID);
772
-		}
773
-	},
774
-	grid: {
775
-		init: function(view, gridData) {
776
-			this.gridId = view === 'VIEW' ? OPER03010_VIEW_GRID_ID : OPER03010_DETAIL_GRID_ID;
777
-			this.gridList = view === 'VIEW' ? OPER03010_VIEW_GRID_LIST : OPER03010_DETAIL_GRID_LIST;
778
-			this.gridPager = view === 'VIEW' ? OPER03010_VIEW_GRID_PAGER : OPER03010_DETAIL_GRID_PAGER;
779
-			this.gridEmpty = view === 'VIEW' ? OPER03010_VIEW_GRID_EMPTY : OPER03010_DETAIL_GRID_EMPTY;
780
-			this.unload();
781
-			this.load(gridData);
782
-		},
783
-		colModel: gridColModel.detail,
784
-		gridId: OPER03010_DETAIL_GRID_ID,
785
-		gridList: OPER03010_DETAIL_GRID_LIST,
786
-		gridPager: OPER03010_DETAIL_GRID_PAGER,
787
-		gridEmpty: OPER03010_DETAIL_GRID_EMPTY,
788
-		load: function (gridData) {
789
-			var option = {
790
-				gridId: this.gridId,
791
-				colModel: gridColModel.detail,
792
-				data: gridData,
793
-				pager: this.gridPager
794
-			};
795
-			itp_fn_grid_make_local(option);
796
-			if(!gridData) {
797
-				this.clearData();
798
-			}
799
-		},
800
-		clearData : function() {
801
-			$(this.gridId).jqGrid('clearGridData', true);
802
-			$(this.gridList).find('.ui-jqgrid-bdiv').css('min-height', '100px');
803
-			$(this.gridEmpty).html(ITP_MSG_LOCALE.message.grid.noData);
804
-			$(this.gridEmpty).show();
805
-		},
806
-		unload : function() {
807
-			$.jgrid.gridUnload(this.gridId);
808
-		}
809
-	}
810
-};
811
-
812
-let kakaoMap = {
813
-	init: function(id, locate) {
814
-		this.load(id, locate);
815
-	},
816
-	geocoder: null,
817
-	schDetailAddrFromCoords: function(coords, callback) {
818
-		// 좌표로 법정동 상세 주소 정보를 요청합니다
819
-		if(this.geocoder) {
820
-			this.geocoder.coord2Address(coords.getLng(), coords.getLat(), callback);
821
-		}
822
-	},
823
-	getMap: function(id) {
824
-		var mapContainer = document.getElementById(id), // 지도를 표시할 div
825
-			mapOption = {
826
-				center: new kakao.maps.LatLng(37.56684, 126.97865), // 지도의 중심좌표
827
-				level: 3, // 지도의 확대 레벨
828
-				mapTypeId : kakao.maps.MapTypeId.ROADMAP // 지도종류
829
-			};
830
-
831
-		// 지도를 생성한다
832
-		var map = new kakao.maps.Map(mapContainer, mapOption);
833
-
834
-		// 마우스 휠과 모바일 터치를 이용한 지도 확대, 축소를 막는다
835
-		map.setZoomable(false);
836
-
837
-		// 지도에 확대 축소 컨트롤을 생성한다
838
-		//var zoomControl = new kakao.maps.ZoomControl();
839
-
840
-		// 지도의 우측에 확대 축소 컨트롤을 추가한다
841
-		//map.addControl(zoomControl, kakao.maps.ControlPosition.RIGHT);
842
-
843
-		return map;
844
-	},
845
-	marker: function(map, coords) {
846
-		// 지도에 마커를 생성하고 표시한다
847
-		marker = new kakao.maps.Marker({
848
-			position: coords, // 마커의 좌표
849
-			map: map // 마커를 표시할 지도 객체
850
-		});
851
-	},
852
-	load: function(id, locate) {
853
-		var _this = this;
854
-		kakao.maps.load(function() {
855
-			var map = _this.getMap(id);
856
-			// 주소-좌표 변환 객체를 생성합니다
857
-			_this.geocoder = new kakao.maps.services.Geocoder();
858
-			if( !locate || locate.length == 0 ) {
859
-				// 지도에 마커를 생성하고 표시한다
860
-				_this.marker(map, new kakao.maps.LatLng(37.56684, 126.97865));
861
-			} else {
862
-				// 주소로 좌표를 검색합니다
863
-				_this.geocoder.addressSearch(locate, function(result, status) {
864
-					// 정상적으로 검색이 완료됐으면
865
-					if (status === kakao.maps.services.Status.OK) {
866
-
867
-						var coords = new kakao.maps.LatLng(result[0].y, result[0].x);
868
-						if(id === 'ITP_FORM_OPER03010_DETAIL_MAP') {
869
-							document.getElementById('ITP_FORM_OPER03010_DETAIL_LAT').value = result[0].y;
870
-							document.getElementById('ITP_FORM_OPER03010_DETAIL_LNG').value = result[0].x;
871
-						}
872
-
873
-						// 결과값으로 받은 위치를 마커로 표시합니다
874
-						_this.marker(map, coords);
875
-
876
-						// 지도의 중심을 결과값으로 받은 위치로 이동시킵니다
877
-						map.setCenter(coords);
878
-					} else {
879
-						_this.marker(map, new kakao.maps.LatLng(37.56684, 126.97865));
880
-					}
881
-				});
882
-			}
883
-
884
-			if(id === 'ITP_FORM_OPER03010_DETAIL_MAP') {
885
-				_this.listener.drag(map);
886
-			}
887
-		});
888
-	},
889
-	listener: {
890
-		drag: function(map) {
891
-			var _this = this;
892
-			// 지도 드래깅 이벤트를 등록한다 (드래그 시작 : dragstart, 드래그 종료 : dragend)
893
-			kakao.maps.event.addListener(map, 'drag', function () {
894
-				kakaoMap.schDetailAddrFromCoords(map.getCenter(), function(result, status) {
895
-					if (status === kakao.maps.services.Status.OK) {
896
-
897
-						document.getElementById('ITP_FORM_OPER03010_DETAIL_LOTS_ADDRESS').value = result[0].address.address_name ;
898
-						document.getElementById('ITP_FORM_OPER03010_DETAIL_ADRES').value = !!result[0].road_address ? result[0].road_address.address_name : result[0].address.address_name ;
899
-						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();
900
-						document.getElementById('ITP_FORM_OPER03010_DETAIL_ZIPNO').value = !!result[0].road_address ? result[0].road_address.zone_no : $('#ITP_FORM_OPER03010_DETAIL_CMPY_ZIPNO').val() ;
901
-						document.getElementById('ITP_FORM_OPER03010_DETAIL_LAT').value = map.getCenter().getLat();
902
-						document.getElementById('ITP_FORM_OPER03010_DETAIL_LNG').value = map.getCenter().getLng();
903
-
904
-						// 마커를 클릭한 위치에 표시합니다
905
-						marker.setPosition(map.getCenter());
906
-						marker.setMap(map);
907
-					}
908
-				});
909
-				/* 	var message = '지도를 드래그 하고 있습니다. 지도의 중심 좌표는 ' + map.getCenter().toString() +' 입니다.';
910
-                console.log(message); */
911
-			});
912
-		}
913 623
 	}
914 624
 };

+ 90 - 224
src/main/webapp/js/app/oper/ITP_OPER03011.js

@@ -1,8 +1,7 @@
1 1
 require(['config'], function() {
2 2
 	require([
3 3
 		'jquery.bootstrap.fileUpload', //파일 업로드가 있는 페이지에서 로딩
4
-		'kakao.postcode',
5
-		'kakao.maps'
4
+		'kakao.map.util'
6 5
 	], function($) {
7 6
 		pageObj.init();
8 7
 	});
@@ -93,7 +92,6 @@ let pageObj = {
93 92
 	init: function () {
94 93
 		this.ui.init();
95 94
 		this.event.init();
96
-		afflUserObj.init();
97 95
 	},
98 96
 	itp_OPER03011_param: {},
99 97
 	itp_OPER03011_search: false,
@@ -132,8 +130,8 @@ let pageObj = {
132 130
 						case 'ITP_BTN_OPER03011_SAVE'					: modifyObj.button.save(); 		break;	// 저장 버튼
133 131
 						case 'ITP_BTN_OPER03011_RESET_PW'				: modifyObj.button.resetPass();	break;	// 상세:비밀번호 초기화
134 132
 						case 'ITP_FORM_OPER03011_DETAIL_ADRES_SCH'		: modifyObj.button.address();	break;	// 신규등록 주소 찾기
135
-						case 'ITP_BTN_OPER03011_DETAIL_ADDROW'			: afflUserObj.button.addRow();	break;	// 신규등록 영업담당자 행 추가
136
-						case 'ITP_BTN_OPER03011_DETAIL_DELROW'			: afflUserObj.button.delRow();	break;	// 상세:삭제버튼
133
+						case 'ITP_BTN_OPER03011_DETAIL_ADDROW'			: pageObj.grid.button.addRow();	break;	// 신규등록 영업담당자 행 추가
134
+						case 'ITP_BTN_OPER03011_DETAIL_DELROW'			: pageObj.grid.button.delRow();	break;	// 상세:삭제버튼
137 135
 					}
138 136
 				});
139 137
 			});
@@ -157,30 +155,90 @@ let pageObj = {
157 155
 		itp_fn_set_file_upload('ITP_' + id + '_DETAIL_UPLOAD', 'notice', true, false, id, fileArgs);
158 156
 	},
159 157
 	switchScreen: function(mode) {
158
+		$('.itp_det_head').find('button[id^="ITP_BTN_OPER03011_"]').each(function(i) {
159
+			$(this).hide();
160
+		});
161
+		$('div[id$="_CONTAINER"]').each(function(i) {
162
+			if($(this).attr('id').startsWith('ITP_AJAX_OPER03011')) {
163
+				$(this).hide();
164
+			}
165
+		});
160 166
 		if(mode == 'MODIFY') { // 수정
161
-			$('#ITP_BTN_OPER03011_SRH').hide();
162
-			$('#ITP_BTN_OPER03011_MODIFY').hide();
163
-			$('#ITP_BTN_OPER03011_NEWREG').hide();
164
-			$('#ITP_BTN_OPER03011_DELETE').hide();
165
-			fn_show_btn_auth('#ITP_BTN_OPER03011_RESET_PW');
166
-			fn_show_btn_auth('#ITP_BTN_OPER03011_CANCELLIST');
167
-			fn_show_btn_auth('#ITP_BTN_OPER03011_SAVE');
168
-
167
+			fn_show_btn_auth_array(['#ITP_BTN_OPER03011_CANCELLIST', '#ITP_BTN_OPER03011_SAVE', '#ITP_BTN_OPER03011_RESET_PW']);
169 168
 			$('#ITP_AJAX_OPER03011_DETAIL_CONTAINER').show();
170
-			$('#ITP_AJAX_OPER03011_VIEW_CONTAINER').hide();
171
-			$('#ITP_FORM_OPER03011_DETAIL_AFFL_SHOP_KEY').attr('readonly', true);
172
-			$('#ITP_BTN_OPER03011_DETAIL_AFFL_SHOP_KEY').attr('disabled', true);
169
+			$('#ITP_FORM_OPER03011_DETAIL_AFFL_SHOP_KEY').prop('readonly', true);
170
+			$('#ITP_BTN_OPER03011_DETAIL_AFFL_SHOP_KEY').prop('disabled', true);
173 171
 		} else if(mode == 'VIEW') { // 보기
174
-			$('#ITP_BTN_OPER03011_SRH').hide();
175
-			$('#ITP_BTN_OPER03011_NEWREG').hide();
176
-			$('#ITP_BTN_OPER03011_DELETE').hide();
177
-			$('#ITP_BTN_OPER03011_SAVE').hide();
178
-			fn_show_btn_auth('#ITP_BTN_OPER03011_MODIFY');
179
-			fn_show_btn_auth('#ITP_BTN_OPER03011_CANCELLIST');
180
-
181
-			$('#ITP_AJAX_OPER03011_DETAIL_CONTAINER').hide();
172
+			fn_show_btn_auth_array(['#ITP_BTN_OPER03011_MODIFY', '#ITP_BTN_OPER03011_CANCELLIST']);
182 173
 			$('#ITP_AJAX_OPER03011_VIEW_CONTAINER').show();
183 174
 		}
175
+	},
176
+	grid: {
177
+		init: function(mode, gridData) {
178
+			this.mode = mode;
179
+			this.gridId = (mode === 'VIEW') ? OPER03011_VIEW_GRID_ID : OPER03011_DETAIL_GRID_ID;
180
+			this.unload();
181
+			this.load(gridData);
182
+		},
183
+		mode: 'DETAIL',
184
+		gridId: '',
185
+		button: {
186
+			addRow: function () {
187
+				// 팝업
188
+				var popFn = function(rowDataPop) {
189
+					console.log(rowDataPop);
190
+					// 기존등록 데이터
191
+					var exists = '';
192
+					const rowData = $(OPER03011_DETAIL_GRID_ID).getRowData();
193
+					$.each(rowData, function(key, value) {
194
+						exists = exists + value.saleMgrId + ';';
195
+					});
196
+
197
+					$.each(rowDataPop, function(key, value) {
198
+						if(exists.indexOf(value.saleMgrId) < 0) {
199
+							$(OPER03011_DETAIL_GRID_ID).jqGrid('addRowData', value.saleMgrId, value, 'last');
200
+							var rids = $(OPER01010_DETAIL_GRID_ID).jqGrid('getDataIDs');
201
+							var last_row_id = rids[rids.length - 1];
202
+							$(OPER01010_DETAIL_GRID_ID).jqGrid('setCell', last_row_id, 'viewCd', 'C');
203
+						}
204
+					});
205
+					$(OPER03011_DETAIL_GRID_EMPTY).hide();
206
+				};
207
+				fn_call_popup('biz', 'BIZPOP_APPL_SALES_USER_SCH', '#ITP_ASIDE', popFn, null, 'S');
208
+			},
209
+			delRow: function () {
210
+				itp_fn_grid_del_row(OPER03011_DETAIL_GRID_ID);
211
+			}
212
+		},
213
+		load: function(gridData) {
214
+			var _this = this;
215
+			var option = {
216
+				gridId: this.gridId,
217
+				colModel: gridColModel.detail,
218
+				data: gridData,
219
+				multiselect: (this.mode !== 'VIEW'),
220
+				loadComplete: function(data) {
221
+					$(_this.mode === 'VIEW' ? OPER03011_VIEW_GRID_LIST : OPER03011_DETAIL_GRID_LIST).find('.ui-jqgrid .ui-jqgrid-bdiv').css('overflow-x', 'hidden');
222
+					if(data.records === 0) {
223
+						_this.clearData();
224
+						console.log(ITP_MSG_LOCALE.message.grid.noData);
225
+						var gridEmpty = (this.mode === 'VIEW') ? OPER03011_VIEW_GRID_EMPTY : OPER03011_DETAIL_GRID_EMPTY;
226
+						$(gridEmpty).html(ITP_MSG_LOCALE.message.grid.noData);
227
+						$(gridEmpty).show();
228
+					}
229
+				}
230
+			};
231
+			itp_fn_grid_make_local(option);
232
+		},
233
+		clearData : function() {
234
+			$(this.gridId).jqGrid('clearGridData', true);
235
+			$(this.mode === 'VIEW' ? OPER03011_VIEW_GRID_LIST : OPER03011_DETAIL_GRID_LIST).find('.ui-jqgrid-bdiv').css('min-height', '100px');
236
+			$(this.mode === 'VIEW' ? OPER03011_VIEW_GRID_EMPTY : OPER03011_DETAIL_GRID_EMPTY).html(ITP_MSG_LOCALE.message.grid.noData);
237
+			$(this.mode === 'VIEW' ? OPER03011_VIEW_GRID_EMPTY : OPER03011_DETAIL_GRID_EMPTY).show();
238
+		},
239
+		unload : function() {
240
+			$.jgrid.gridUnload(this.gridId);
241
+		}
184 242
 	}
185 243
 };
186 244
 
@@ -203,8 +261,9 @@ let viewObj = {
203 261
 
204 262
 		$('#ITP_FORM_OPER03011_VIEW .fnAfflShopId').text(result.afflShopId);
205 263
 		$('#ITP_FORM_OPER03011_VIEW .fnAfflShopNm').text(result.afflShopNm);
264
+		$('#ITP_FORM_OPER03010_VIEW .fnAfflShopKey').text(result.afflAbbr);
206 265
 		$('#ITP_FORM_OPER03011_VIEW .fnStCd').text(result.stNm);
207
-		$('#ITP_FORM_OPER03011_VIEW .fnCmpyTypeCd').text(result.corpType);
266
+		$('#ITP_FORM_OPER03011_VIEW .fnCorpTypeNm').text(result.corpTypeNm);
208 267
 		$('#ITP_FORM_OPER03011_VIEW .fnBsnsRegNo').text(result.corpRegNo);
209 268
 		$('#ITP_FORM_OPER03011_VIEW .fnCorpRegNo').text(result.corpRegNo);
210 269
 		$('#ITP_FORM_OPER03011_VIEW .fnTelNo').text(result.ownerTelNo);
@@ -223,10 +282,11 @@ let viewObj = {
223 282
 		$('#ITP_FORM_OPER03011_VIEW .fnAddDt').text(result.regDt);
224 283
 		$('#ITP_FORM_OPER03011_VIEW .fnChgDt').text(result.chgDt);
225 284
 
226
-		kakaoMap.init('ITP_FORM_OPER03011_VIEW_MAP', result.cmpyAdres);
285
+		let locate = result.addr1 + ' ' + result.addr2;
286
+		kakaoMap.init('ITP_FORM_OPER03011_VIEW', locate);
227 287
 
228 288
 		// 영업담당자정보  리스트 조회
229
-		afflUserObj.grid.init('VIEW', result.saleList);
289
+		pageObj.grid.init('VIEW', result.saleList);
230 290
 	},
231 291
 	grid: {
232 292
 		init: function() {
@@ -309,20 +369,7 @@ let modifyObj = {
309 369
 			itp_fn_modal_confirm(ITP_MSG_LOCALE.message.ajax.askResetUserPw, resetPwFn, null);
310 370
 		},
311 371
 		address: function() {
312
-			new daum.Postcode({
313
-				oncomplete: function(data) {
314
-					// 전체주소 리턴
315
-					document.getElementById('ITP_FORM_OPER03011_DETAIL_ZIPNO').value = data.zonecode;
316
-					document.getElementById('ITP_FORM_OPER03011_DETAIL_ADRES').value = data.roadAddress;
317
-					document.getElementById('ITP_FORM_OPER03011_DETAIL_LOTS_ADDRESS').value = !!data.autoJibunAddress ? data.autoJibunAddress : data.jibunAddress;
318
-					document.getElementById('ITP_FORM_OPER03011_DETAIL_STREET_ADDRESS').value = data.roadAddress;
319
-					document.getElementById('ITP_FORM_OPER03011_DETAIL_HJ_DONG').value = !!data.hname ? data.hname : data.bname;
320
-					document.getElementById('ITP_FORM_OPER03011_DETAIL_BJ_DONG').value = data.bname;
321
-
322
-					kakaoMap.init('ITP_FORM_OPER03011_DETAIL_MAP', data.roadAddress);
323
-					document.getElementById('ITP_FORM_OPER03011_DETAIL_ADRES_DTL').focus();
324
-				}
325
-			}).open();
372
+			kakaoMap.address('ITP_FORM_OPER03011_DETAIL');
326 373
 		},
327 374
 		cancel: function() {
328 375
 			viewObj.init();
@@ -410,10 +457,10 @@ let modifyObj = {
410 457
 		$('#ITP_FORM_OPER03011_DETAIL .fnAddDt').text(result.regDt);
411 458
 		$('#ITP_FORM_OPER03011_DETAIL .fnChgDt').text(result.chgDt);
412 459
 
413
-		kakaoMap.init('ITP_FORM_OPER03011_DETAIL_MAP', $('#ITP_FORM_OPER03011_DETAIL_ADRES').val());
460
+		kakaoMap.init('ITP_FORM_OPER03011_DETAIL', $('#ITP_FORM_OPER03011_DETAIL_ADRES').val());
414 461
 
415 462
 		// 권한정보 리스트 조회
416
-		afflUserObj.grid.init('MODIFY', result.saleList);
463
+		pageObj.grid.init('MODIFY', result.saleList);
417 464
 	},
418 465
 	grid: {
419 466
 		init: function() {
@@ -475,184 +522,3 @@ let modifyObj = {
475 522
 		}
476 523
 	}
477 524
 };
478
-
479
-/*가맹점 담당자 Object*/
480
-let afflUserObj = {
481
-	init: function () {
482
-	},
483
-	button: {
484
-		addRow: function() {
485
-			// 팝업
486
-			var popFn = function(rowDataPop) {
487
-				console.log(rowDataPop);
488
-				// 기존등록 데이터
489
-				var exists = '';
490
-				const rowData = $(OPER03011_DETAIL_GRID_ID).getRowData();
491
-				$.each(rowData, function(key, value) {
492
-					exists = exists + value.saleMgrId + ';';
493
-				});
494
-
495
-				$.each(rowDataPop, function(key, value) {
496
-					if(exists.indexOf(value.saleMgrId) < 0) {
497
-						// 행추가
498
-						$(OPER03011_DETAIL_GRID_ID).jqGrid('addRow', {position: 'last'});
499
-						var rids = $(OPER03011_DETAIL_GRID_ID).jqGrid('getDataIDs');
500
-						var last_row_id = rids[rids.length - 1];
501
-						$(OPER03011_DETAIL_GRID_ID).jqGrid('setCell', last_row_id, 'viewCd', 'C');
502
-						$(OPER03011_DETAIL_GRID_ID).jqGrid('setCell', last_row_id, 'saleMgrId', value.saleMgrId);
503
-						$(OPER03011_DETAIL_GRID_ID).jqGrid('setCell', last_row_id, 'saleMgrNm', value.saleMgrNm);
504
-						$(OPER03011_DETAIL_GRID_ID).jqGrid('setCell', last_row_id, 'rprstTelNo', value.rprstTelNo);
505
-						$(OPER03011_DETAIL_GRID_ID).jqGrid('setCell', last_row_id, 'rprstEmai', value.rprstEmai);
506
-						$(OPER03011_DETAIL_GRID_ID).jqGrid('setCell', last_row_id, 'stCd', value.stCd);
507
-						$(OPER03011_DETAIL_GRID_ID).jqGrid('setCell', last_row_id, 'stNm', value.stNm);
508
-					}
509
-				});
510
-				$(OPER03011_DETAIL_GRID_EMPTY).hide();
511
-			};
512
-			fn_call_popup('biz', 'BIZPOP_APPL_SALES_USER_SCH', '#ITP_ASIDE', popFn, null, 'S');
513
-		},
514
-		delRow: function() {
515
-			itp_fn_grid_del_row(OPER03011_DETAIL_GRID_ID);
516
-		}
517
-	},
518
-	grid: {
519
-		init: function(view, gridData) {
520
-			this.gridId = view === 'VIEW' ? OPER03011_VIEW_GRID_ID : OPER03011_DETAIL_GRID_ID;
521
-			this.gridList = view === 'VIEW' ? OPER03011_VIEW_GRID_LIST : OPER03011_DETAIL_GRID_LIST;
522
-			this.gridPager = view === 'VIEW' ? OPER03011_VIEW_GRID_PAGER : OPER03011_DETAIL_GRID_PAGER;
523
-			this.gridEmpty = view === 'VIEW' ? OPER03011_VIEW_GRID_EMPTY : OPER03011_DETAIL_GRID_EMPTY;
524
-			this.unload();
525
-			this.load(gridData);
526
-		},
527
-		colModel: gridColModel.detail,
528
-		gridId: OPER03011_DETAIL_GRID_ID,
529
-		gridList: OPER03011_DETAIL_GRID_LIST,
530
-		gridPager: OPER03011_DETAIL_GRID_PAGER,
531
-		gridEmpty: OPER03011_DETAIL_GRID_EMPTY,
532
-		load: function (gridData) {
533
-			var option = {
534
-				gridId: this.gridId,
535
-				colModel: gridColModel.detail,
536
-				data: gridData,
537
-				pager: this.gridPager
538
-			};
539
-			itp_fn_grid_make_local(option);
540
-			if(!gridData) {
541
-				this.clearData();
542
-			}
543
-		},
544
-		clearData : function() {
545
-			$(this.gridId).jqGrid('clearGridData', true);
546
-			$(this.gridList).find('.ui-jqgrid-bdiv').css('min-height', '100px');
547
-			$(this.gridEmpty).html(ITP_MSG_LOCALE.message.grid.noData);
548
-			$(this.gridEmpty).show();
549
-		},
550
-		unload : function() {
551
-			$.jgrid.gridUnload(this.gridId);
552
-		}
553
-	}
554
-};
555
-
556
-let kakaoMap = {
557
-	init: function(id, locate) {
558
-		this.load(id, locate);
559
-	},
560
-	geocoder: null,
561
-	schDetailAddrFromCoords: function(coords, callback) {
562
-		// 좌표로 법정동 상세 주소 정보를 요청합니다
563
-		if(this.geocoder) {
564
-			this.geocoder.coord2Address(coords.getLng(), coords.getLat(), callback);
565
-		}
566
-	},
567
-	getMap: function(id) {
568
-		var mapContainer = document.getElementById(id), // 지도를 표시할 div
569
-			mapOption = {
570
-				center: new kakao.maps.LatLng(37.56684, 126.97865), // 지도의 중심좌표
571
-				level: 3, // 지도의 확대 레벨
572
-				mapTypeId : kakao.maps.MapTypeId.ROADMAP // 지도종류
573
-			};
574
-
575
-		// 지도를 생성한다
576
-		var map = new kakao.maps.Map(mapContainer, mapOption);
577
-
578
-		// 마우스 휠과 모바일 터치를 이용한 지도 확대, 축소를 막는다
579
-		map.setZoomable(false);
580
-
581
-		// 지도에 확대 축소 컨트롤을 생성한다
582
-		//var zoomControl = new kakao.maps.ZoomControl();
583
-
584
-		// 지도의 우측에 확대 축소 컨트롤을 추가한다
585
-		//map.addControl(zoomControl, kakao.maps.ControlPosition.RIGHT);
586
-
587
-		return map;
588
-	},
589
-	marker: function(map, coords) {
590
-		// 지도에 마커를 생성하고 표시한다
591
-		marker = new kakao.maps.Marker({
592
-			position: coords, // 마커의 좌표
593
-			map: map // 마커를 표시할 지도 객체
594
-		});
595
-	},
596
-	load: function(id, locate) {
597
-		var _this = this;
598
-		kakao.maps.load(function() {
599
-			var map = _this.getMap(id);
600
-			// 주소-좌표 변환 객체를 생성합니다
601
-			_this.geocoder = new kakao.maps.services.Geocoder();
602
-			if( !locate || locate.length == 0 ) {
603
-				// 지도에 마커를 생성하고 표시한다
604
-				_this.marker(map, new kakao.maps.LatLng(37.56684, 126.97865));
605
-			} else {
606
-				// 주소로 좌표를 검색합니다
607
-				_this.geocoder.addressSearch(locate, function(result, status) {
608
-					// 정상적으로 검색이 완료됐으면
609
-					if (status === kakao.maps.services.Status.OK) {
610
-
611
-						var coords = new kakao.maps.LatLng(result[0].y, result[0].x);
612
-						if(id === 'ITP_FORM_OPER03011_DETAIL_MAP') {
613
-							document.getElementById('ITP_FORM_OPER03011_DETAIL_LAT').value = result[0].y;
614
-							document.getElementById('ITP_FORM_OPER03011_DETAIL_LNG').value = result[0].x;
615
-						}
616
-
617
-						// 결과값으로 받은 위치를 마커로 표시합니다
618
-						_this.marker(map, coords);
619
-
620
-						// 지도의 중심을 결과값으로 받은 위치로 이동시킵니다
621
-						map.setCenter(coords);
622
-					} else {
623
-						_this.marker(map, new kakao.maps.LatLng(37.56684, 126.97865));
624
-					}
625
-				});
626
-			}
627
-
628
-			if(id === 'ITP_FORM_OPER03011_DETAIL_MAP') {
629
-				_this.listener.drag(map);
630
-			}
631
-		});
632
-	},
633
-	listener: {
634
-		drag: function(map) {
635
-			var _this = this;
636
-			// 지도 드래깅 이벤트를 등록한다 (드래그 시작 : dragstart, 드래그 종료 : dragend)
637
-			kakao.maps.event.addListener(map, 'drag', function () {
638
-				kakaoMap.schDetailAddrFromCoords(map.getCenter(), function(result, status) {
639
-					if (status === kakao.maps.services.Status.OK) {
640
-
641
-						document.getElementById('ITP_FORM_OPER03011_DETAIL_LOTS_ADDRESS').value = result[0].address.address_name ;
642
-						document.getElementById('ITP_FORM_OPER03011_DETAIL_ADRES').value = !!result[0].road_address ? result[0].road_address.address_name : result[0].address.address_name ;
643
-						document.getElementById('ITP_FORM_OPER03011_DETAIL_STREET_ADDRESS').value = !!result[0].road_address ? result[0].road_address.address_name : $('#ITP_FORM_OPER03011_DETAIL_STREET_ADDRESS').val();
644
-						document.getElementById('ITP_FORM_OPER03011_DETAIL_ZIPNO').value = !!result[0].road_address ? result[0].road_address.zone_no : $('#ITP_FORM_OPER03011_DETAIL_CMPY_ZIPNO').val() ;
645
-						document.getElementById('ITP_FORM_OPER03011_DETAIL_LAT').value = map.getCenter().getLat();
646
-						document.getElementById('ITP_FORM_OPER03011_DETAIL_LNG').value = map.getCenter().getLng();
647
-
648
-						// 마커를 클릭한 위치에 표시합니다
649
-						marker.setPosition(map.getCenter());
650
-						marker.setMap(map);
651
-					}
652
-				});
653
-				/* 	var message = '지도를 드래그 하고 있습니다. 지도의 중심 좌표는 ' + map.getCenter().toString() +' 입니다.';
654
-                console.log(message); */
655
-			});
656
-		}
657
-	}
658
-};