juney vor 2 Jahren
Ursprung
Commit
241c4f3df8

+ 1 - 1
src/main/webapp/app/oper/OPER03010.html

@@ -232,7 +232,7 @@
232 232
 						<div class="col-xs-12">
233 233
 							<form id="ITP_FORM_OPER03010_VIEW" class="form-horizontal">
234 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="">
235
+								<input type="hidden" id="ITP_FORM_OPER03010_VIEW_AFFL_SHOP_ID" name="afflShopId" value="">
236 236
 					
237 237
 								<section class="itp_form_sec">
238 238
 									<h4 class="itp_form_tit">가맹점정보</h4>

+ 44 - 1
src/main/webapp/js/app/config.js

@@ -1640,6 +1640,49 @@ function itp_fn_search_tabs_detail(tabs, wrap) {
1640 1640
 	});
1641 1641
 };
1642 1642
 
1643
+// [수발주 추가]
1644
+function itp_fn_grid_make_remote(option) {
1645
+	var options = $.extend({
1646
+		multiselect: false,
1647
+		rownumbers: true,
1648
+		loadBeforeSend: function(jqXHR) {
1649
+			jqXHR.setRequestHeader('X-AUTH-TOKEN', CONN_KEY);
1650
+		},
1651
+		loadError: function(jqXHR, textStatus, errorThrown) {
1652
+			itp_fn_grid_load_error(jqXHR, textStatus, errorThrown);
1653
+		}
1654
+	}, option);
1655
+
1656
+	$(options.gridId).jqGrid({
1657
+		colModel: options.colModel,
1658
+		postData: options.param,
1659
+		url: options.url,
1660
+		pager: options.pager,
1661
+		multiselect: options.multiselect,
1662
+		rownumbers: options.rownumbers,
1663
+		loadBeforeSend: options.loadBeforeSend,
1664
+		onCellSelect: options.onCellSelect,
1665
+		loadComplete: options.loadComplete,
1666
+		loadError: options.loadError,
1667
+		onPaging: function(action) {
1668
+			itp_fn_grid_paging(options.gridId, action, options.param);
1669
+		}
1670
+	}).navGrid(options.pager, ITP_GRID_NAV_DEFAULTS.navGrid);
1671
+}
1672
+
1673
+function itp_fn_grid_make_local(option) {
1674
+	var options = $.extend({
1675
+		multiselect: false,
1676
+		rownumbers: true
1677
+	}, option);
1678
+	$(OPER03010_VIEW_GRID_ID).jqGrid({
1679
+		colModel: options.colModel,
1680
+		data: options.data,
1681
+		datatype: 'local',
1682
+		pager: options.pager
1683
+	}).navGrid(options.pager, ITP_GRID_NAV_DEFAULTS.navGrid);
1684
+}
1685
+
1643 1686
 function itp_fn_grid_paging(grid_id, action, args) {
1644 1687
 	var gridOption = $(grid_id).jqGrid('getGridParam');
1645 1688
 	const suffix = gridOption.pager;
@@ -1682,7 +1725,7 @@ function itp_fn_grid_sorting(grid_id, index, sortOrder, args) {
1682 1725
 };
1683 1726
 
1684 1727
 function itp_fn_grid_load_complete(data, gridId, paging, rn, menuId, isSrh, emptyFn, isView, totCnt, totPage, emptyMsg, helpMsg, excelDownloadId, excelUploadId) {
1685
-		
1728
+
1686 1729
 	if (data.resultCd == 'E') {
1687 1730
 		itp_fn_modal_alert(ITP_MSG_LOCALE.message.ajax.failData);
1688 1731
 	} else {

+ 2 - 0
src/main/webapp/js/app/locales/locale-ko.js

@@ -120,6 +120,8 @@ const ITP_MSG_LOCALE = (function() {
120 120
 			"numbering": "NO",
121 121
 			"ordering": "노출순서",
122 122
 			"ranking": "순위",
123
+			"tot": "총",
124
+			"pages": "페이지",
123 125
 		},
124 126
 		"table": {
125 127
 			"brandId": "브랜드ID",

Datei-Diff unterdrückt, da er zu groß ist
+ 631 - 667
src/main/webapp/js/app/oper/ITP_OPER02010.js


+ 754 - 111
src/main/webapp/js/app/oper/ITP_OPER03010.js

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