Bladeren bron

운영관리 > 사용자관리 조회 조건 수정

juney 2 jaren geleden
bovenliggende
commit
c46d22a6e3

+ 5 - 5
src/main/webapp/app/oper/OPER01010.html

@@ -21,11 +21,11 @@
21 21
 									<input type="hidden" id="ITP_FORM_OPER01010_SEARCH_AFFL_SHOP_ID" name="safflShopId" value="">
22 22
 									<div class="form-group">
23 23
 										<div class="col-xs-2 itp_ip itp_noMar">
24
-											<input type="text" id="ITP_FORM_OPER01010_SEARCH_SPPLY_NM" class="form-control itp_input" name="sspplyNm" value="공급업체" />
24
+											<input type="text" id="ITP_FORM_OPER01010_SEARCH_AFFL_SHOP_NM" class="form-control itp_input" name="safflShopNm" placeholder="가맹점" />
25 25
 										</div>
26 26
 										<div class="col-xs-1 itp_in" style="width:8%; padding:0px;">
27
-											<button type="button" id="ITP_BTN_OPER01010_SEARCH_SRH" class="btn btn-success btn-sm SEB" style="display: inline-block;"><i class="glyphicon glyphicon-search"></i></button>
28
-											<button type="button" id="ITP_BTN_OPER01010_SEARCH_MODIFY" class="btn btn-primary btn-sm UPB" style="display: inline-block;"><i class="glyphicon glyphicon-erase"></i></button>
27
+											<button type="button" id="ITP_FORM_OPER01010_SEARCH_AFFL_SHOP" class="btn btn-success btn-sm SEB" style="display: inline-block;"><i class="glyphicon glyphicon-search"></i></button>
28
+											<button type="button" id="ITP_FORM_OPER01010_DELETE_AFFL_SHOP" class="btn btn-primary btn-sm UPB" style="display: inline-block;"><i class="glyphicon glyphicon-erase"></i></button>
29 29
 						                </div>
30 30
 										<div class="col-xs-2 itp_ip itp_noMar">
31 31
 											<select id="ITP_FORM_OPER01010_SEARCH_BRAND_TYPE" class="form-control itp_input" name="sBrandType"></select>
@@ -48,10 +48,10 @@
48 48
 											<input type="text" id="ITP_FORM_OPER01010_SEARCH_USER_NM" class="form-control itp_input" name="suserNm" placeholder="아이디/성명 검색" />
49 49
 										</div>
50 50
 										<div class="col-xs-2 itp_ip itp_noMar">
51
-											<select id="ITP_FORM_OPER01010_SEARCH_BRAND_TYPE" class="form-control itp_input" name="sBrandType"></select>
51
+											<select id="ITP_FORM_OPER01010_SEARCH_USER_STAT_CD" class="form-control itp_input" name="suserStatCd"></select>
52 52
 										</div>
53 53
 										<div class="col-xs-2 itp_ip itp_noMar">
54
-											<select id="ITP_FORM_OPER01010_SEARCH_BRAND_TYPE" class="form-control itp_input" name="sBrandType"></select>
54
+											<select id="ITP_FORM_OPER01010_SEARCH_USER_TYPE_CD" class="form-control itp_input" name="suserTypeCd"></select>
55 55
 										</div>
56 56
 									</div>
57 57
 								</form>

+ 15 - 12
src/main/webapp/app/stinfo/STINFO01010.html

@@ -19,12 +19,12 @@
19 19
 								<form id="ITP_FORM_STINFO01010_SEARCH" class="form-horizontal">
20 20
 									<div class="form-group">
21 21
 										<div class="col-xs-2 itp_ip itp_noMar">
22
-											<select id="ITP_FORM_STINFO01010_SERVICE_" class="form-control itp_input" name="">
22
+											<select id="ITP_FORM_STINFO01010_SERVICE_BRAND_TYPE" class="form-control itp_input" name="sbrandType">
23 23
 												<option value="">카테고리(전체)</option>
24 24
 											</select>
25 25
 										</div>
26 26
 										<div class="col-xs-2 itp_ip itp_noMar">
27
-											<select id="ITP_FORM_STINFO01010_SERVICE_ST_CD" class="form-control itp_input" name="serviceStCd">
27
+											<select id="ITP_FORM_STINFO01010_SERVICE_ST_CD" class="form-control itp_input" name="sstCd">
28 28
 												<option value="">상태(전체)</option>
29 29
 											</select>
30 30
 										</div>
@@ -181,14 +181,16 @@
181 181
 													<div class="col-xs-4 itp_in">
182 182
 														<input type="text" id="ITP_FORM_STINFO01010_DETAIL_DTL_ADDR" class="form-control itp_input" name="dtlAddr" value="" placeholder="상세주소">													
183 183
 													</div>
184
-													
185
-													<input type="hidden" id="ITP_FORM_OPER04010_DETAIL_LOTS_ADDRESS" value="" />
186
-													<input type="hidden" id="ITP_FORM_OPER04010_DETAIL_STREET_ADDRESS" value="" />
187
-													<input type="hidden" name="latX" id="ITP_FORM_OPER04010_DETAIL_LAT" value="" />
188
-													<input type="hidden" name="longY" id="ITP_FORM_OPER04010_DETAIL_LNG" value="" />
189
-													<input type="hidden" id="ITP_FORM_OPER04010_DETAIL_HJ_DONG" value="" />
190
-													<input type="hidden" id="ITP_FORM_OPER04010_DETAIL_BJ_DONG" value="" />
191
-													<div id="ITP_FORM_OPER04010_DETAIL_MAP" style="width:700px; height:400px; margin-top:35px;"></div>
184
+
185
+
186
+													<!-- 주소 맵 -->
187
+													<input type="hidden" id="ITP_FORM_STINFO01010_DETAIL_LOTS_ADDRESS" value="" />
188
+													<input type="hidden" id="ITP_FORM_STINFO01010_DETAIL_STREET_ADDRESS" value="" />
189
+													<input type="hidden" name="cmpyLat" id="ITP_FORM_STINFO01010_DETAIL_LAT" value="" />
190
+													<input type="hidden" name="cmpyLng" id="ITP_FORM_STINFO01010_DETAIL_LNG" value="" />
191
+													<input type="hidden" id="ITP_FORM_STINFO01010_DETAIL_HJ_DONG" value="" />
192
+													<input type="hidden" id="ITP_FORM_STINFO01010_DETAIL_BJ_DONG" value="" />
193
+													<div id="ITP_FORM_STINFO01010_DETAIL_MAP" style="width:700px; height:400px;"></div>
192 194
 												</div>
193 195
 											</div>	
194 196
 										</div>	
@@ -202,7 +204,7 @@
202 204
 						<div class="col-xs-12">
203 205
 							<form id="ITP_FORM_STINFO01010_VIEW" class="form-horizontal">
204 206
  								<input type="hidden" id="ITP_FORM_STINFO01010_VIEW_VIEW_CD" name="viewCd" value="R">
205
- 								<input type="hidden" id="ITP_FORM_STINFO01010_VIEW_USER_ID" name="userId" value="">
207
+ 								<input type="hidden" id="ITP_FORM_STINFO01010_VIEW_BRAND_ID" name="brandId" value="">
206 208
 								
207 209
 								<section class="itp_form_sec">
208 210
 									<h4 class="itp_form_tit">브랜드 정보-상세</h4>
@@ -234,7 +236,8 @@
234 236
 											</div>
235 237
 											<label class="col-xs-2 itp_lb"></label>
236 238
 											<div class="col-xs-1 itp_ip">
237
-												<img src="/oqpo-view/images/naver.png" alt="로고 샘플" style="border:none; top:12px; left:12px; height:100px; width:125px; position:absolute;" class="form-control itp_input" name="fnBrandLogo" >																					
239
+												<img src="/oqpo-view/images/naver.png" alt="로고 샘플" style="border:none; top:12px; left:12px; height:100px; width:125px; position:absolute;" class="form-control itp_input" name="fnBrandLogo" >
240
+												<img src="/oqpo-view/images/naver.png" alt="로고 샘플" style="border:none; top:12px; left:12px; height:100px; width:125px; position:absolute;" class="form-control itp_input" name="fnBrandLogo2" >
238 241
 											</div>
239 242
 										</div>
240 243
 										<div class="form-group">

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

@@ -110,6 +110,7 @@ const ITP_MSG_LOCALE = (function() {
110 110
 			"afflShopNm": "가맹점",
111 111
 			"brandId": "브랜드ID",
112 112
 			"brandNm": "브랜드명",
113
+			"brandTypeNm": "브랜드 타입",
113 114
 			"notiNo": "공지번호",
114 115
 			"titlet": "제목",
115 116
 			"targetNm": "대상구분",
@@ -122,6 +123,11 @@ const ITP_MSG_LOCALE = (function() {
122 123
 			"ranking": "순위",
123 124
 			"tot": "총",
124 125
 			"pages": "페이지",
126
+			"corpTypeNm": "기업형태",
127
+			"stNm": "상태",
128
+			"ownerNm": "대표자명",
129
+			"rprstTelNo": "대표연락처",
130
+			"joinDt": "가입일자"
125 131
 		},
126 132
 		"table": {
127 133
 			"brandId": "브랜드ID",

+ 20 - 18
src/main/webapp/js/app/oper/ITP_OPER01010.js

@@ -198,6 +198,7 @@ let pageObj = {
198 198
 			// 공통코드 표시
199 199
 			fn_make_select(CODE_LIST, 'USER_STAT_CD', 'ITP_FORM_OPER01010_SEARCH_USER_STAT_CD');
200 200
 			fn_make_select(CODE_LIST, 'USER_STAT_CD', 'ITP_FORM_OPER01010_DETAIL_USER_STAT_CD', true, '선택');
201
+			fn_make_select(CODE_LIST, 'USER_TYPE_CD', 'ITP_FORM_OPER01010_SEARCH_USER_TYPE_CD');
201 202
 
202 203
 			// 조회일자 지정
203 204
 			$('#ITP_TAB_OPER01010 .input-group.date').datepicker(ITP_DATE_LANGUAGE);
@@ -329,7 +330,7 @@ let listObj = {
329 330
 	itp_OPER01010_search: false,
330 331
 	button: {
331 332
 		search: function() {
332
-			itp_OPER01010_search = true;
333
+			listObj.itp_OPER01010_search = true;
333 334
 			let param = $('#ITP_FORM_OPER01010_SEARCH').serializeObject();
334 335
 			param.gridSize = $.jgrid.defaults.rowNum;
335 336
 			param.gridPage = $.jgrid.defaults.page;
@@ -344,26 +345,27 @@ let listObj = {
344 345
 	},
345 346
 	empty: {
346 347
 		init: function() {
348
+			var _this = this;
347 349
 			this.push();
348 350
 			$(OPER01010_GRID_EMPTY).on('click', function() {
349
-				itp_fn_OPER01010_empty.back();
350
-				itp_OPER01010_param.gridSize = $.jgrid.defaults.rowNum;
351
-				$(OPER01010_GRID_ID).setGridParam({'postData': JSON.stringify(itp_OPER01010_param)}).trigger('reloadGrid');
351
+				_this.back();
352
+				listObj.itp_OPER01010_param.gridSize = $.jgrid.defaults.rowNum;
353
+				$(OPER01010_GRID_ID).setGridParam({'postData': JSON.stringify(listObj.itp_OPER01010_param)}).trigger('reloadGrid');
352 354
 			});
353 355
 		},
354 356
 		push: function() {
355 357
 			let param = $('#ITP_FORM_OPER01010_SEARCH').serializeObject();
356
-			itp_OPER01010_param = param;
358
+			listObj.itp_OPER01010_param = param;
357 359
 		},
358 360
 		back: function() {
359
-			$('#ITP_FORM_OPER01010_DEVI_TP_CD').val(itp_OPER01010_param.deviTpCd);
360
-			$('#ITP_FORM_OPER01010_ORDER_YN').val(itp_OPER01010_param.orderYn);
361
-			$('#ITP_FORM_OPER01010_ADT_AUTH_CD').val(itp_OPER01010_param.adtAuthCd);
362
-			$('#ITP_FORM_OPER01010_EMAIL_RCV_YN').val(itp_OPER01010_param.emailRcvYn);
363
-			$('#ITP_FORM_OPER01010_MEMB_EXIT_DT').val(itp_OPER01010_param.membExitDt);
364
-			$('#ITP_FORM_OPER01010_FROM_DT').val(itp_OPER01010_param.fromDt);
365
-			$('#ITP_FORM_OPER01010_TO_DT').val(itp_OPER01010_param.toDt);
366
-			$('#ITP_FORM_OPER01010_KEYWORD').val(itp_OPER01010_param.keyword);
361
+			$('#ITP_FORM_OPER01010_DEVI_TP_CD').val(listObj.itp_OPER01010_param.deviTpCd);
362
+			$('#ITP_FORM_OPER01010_ORDER_YN').val(listObj.itp_OPER01010_param.orderYn);
363
+			$('#ITP_FORM_OPER01010_ADT_AUTH_CD').val(listObj.itp_OPER01010_param.adtAuthCd);
364
+			$('#ITP_FORM_OPER01010_EMAIL_RCV_YN').val(listObj.itp_OPER01010_param.emailRcvYn);
365
+			$('#ITP_FORM_OPER01010_MEMB_EXIT_DT').val(listObj.itp_OPER01010_param.membExitDt);
366
+			$('#ITP_FORM_OPER01010_FROM_DT').val(listObj.itp_OPER01010_param.fromDt);
367
+			$('#ITP_FORM_OPER01010_TO_DT').val(listObj.itp_OPER01010_param.toDt);
368
+			$('#ITP_FORM_OPER01010_KEYWORD').val(listObj.itp_OPER01010_param.keyword);
367 369
 		}
368 370
 	},
369 371
 	grid: {
@@ -399,7 +401,7 @@ let listObj = {
399 401
 					}
400 402
 				},
401 403
 				loadComplete: function(data) {
402
-					//console.log(JSON.stringify(data));
404
+					console.log(data);
403 405
 					itp_fn_grid_load_complete(data, OPER01010_GRID_ID, true, 'number', 'OPER01010', listObj.itp_OPER01010_search, listObj.empty, true, data.gridRecords, true);
404 406
 					var ids = $(OPER01010_GRID_ID).getDataIDs();
405 407
 					$.each(ids, function(idx, rowId) {
@@ -807,20 +809,20 @@ let afflShopObj = {
807 809
 	action: function () {
808 810
 		var _this = this;
809 811
 		// 가맹점 조회 버튼 클릭
810
-		$('#ITP_FORM_OPER01010_SEARCH_AFFL_SHOP').off('click').on('click', function() {
812
+		$('#ITP_FORM_OPER01010_SEARCH_AFFL_SHOP').on('click', function() {
811 813
 			_this.popup('L');
812 814
 		});
813 815
 		// 가맹점 텍스트 삭제 버튼 클릭
814
-		$('#ITP_FORM_OPER01010_DELETE_AFFL_SHOP').off('click').on('click', function() {
816
+		$('#ITP_FORM_OPER01010_DELETE_AFFL_SHOP').on('click', function() {
815 817
 			$('#ITP_FORM_OPER01010_SEARCH_AFFL_SHOP_NM').val('');
816 818
 			$('select#ITP_FORM_OPER01010_SEARCH_BRAND_ID option').remove();
817 819
 		});
818 820
 		// 신규등록 가맹점 조회 버튼 클릭
819
-		$('#ITP_FORM_OPER01010_DETAIL_SEARCH_AFFL_SHOP').off('click').on('click', function() {
821
+		$('#ITP_FORM_OPER01010_DETAIL_SEARCH_AFFL_SHOP').on('click', function() {
820 822
 			_this.popup('C');
821 823
 		});
822 824
 		// 신규등록 가맹점 텍스트 삭제 버튼 클릭
823
-		$('#ITP_FORM_OPER01010_DETAIL_DELETE_AFFL_SHOP').off('click').on('click', function() {
825
+		$('#ITP_FORM_OPER01010_DETAIL_DELETE_AFFL_SHOP').on('click', function() {
824 826
 			$('#ITP_FORM_OPER01010_DETAIL_SEARCH_AFFL_SHOP_NM').val('');
825 827
 			$('select#ITP_FORM_OPER01010_DETAIL_SEARCH_BRAND_ID option').remove();
826 828
 		});

+ 481 - 0
src/main/webapp/js/app/stinfo/ITP_STINFO01010.js

@@ -0,0 +1,481 @@
1
+/********************************************************
2
+ --------------------------------------------------------
3
+ - Object 목록								            -
4
+ --------------------------------------------------------
5
+ * const gridColModel = {}	: 화면 Grid Object			*
6
+ * let pageObj = {}			: 화면공통 Object			*
7
+ * let listObj = {}			: 목록화면 Object			*
8
+ * let viewObj = {}			: 상세화면 Object			*
9
+ * let modifyObj = {}		: 수정화면 Object			*
10
+ * let createObj = {}		: 신규화면 Object			*
11
+ *******************************************************/
12
+
13
+/*화면 변수*/
14
+const STINFO01010_GRID_ID = '#ITP_STINFO01010_jqGrid';
15
+const STINFO01010_GRID_LIST = '#ITP_STINFO01010_jqGrid_list';
16
+const STINFO01010_GRID_PAGER = '#ITP_STINFO01010_jqGridPager';
17
+const STINFO01010_GRID_EMPTY = '#ITP_STINFO01010_jqGridEmpty';
18
+
19
+const STINFO01010_VIEW_GRID_ID = '#ITP_STINFO01010_VIEW_jqGrid';
20
+const STINFO01010_VIEW_GRID_LIST = '#ITP_STINFO01010_VIEW_jqGrid_list';
21
+const STINFO01010_VIEW_GRID_PAGER = '#ITP_STINFO01010_VIEW_jqGridPager';
22
+const STINFO01010_VIEW_GRID_EMPTY = '#ITP_STINFO01010_VIEW_jqGridEmpty';
23
+
24
+const STINFO01010_DETAIL_GRID_ID = '#ITP_STINFO01010_DETAIL_jqGrid';
25
+const STINFO01010_DETAIL_GRID_LIST = '#ITP_STINFO01010_DETAIL_jqGrid_list';
26
+const STINFO01010_DETAIL_GRID_PAGER = '#ITP_STINFO01010_DETAIL_jqGridPager';
27
+const STINFO01010_DETAIL_GRID_EMPTY = '#ITP_STINFO01010_DETAIL_jqGridEmpty';
28
+
29
+/*API URL*/
30
+let BRAND_DETAIL_GRID_LIST = '/api/brand/detail-grid-list';
31
+let  BRAND_INFO_BRAND = '/api/brand/info-brand';
32
+
33
+let ITP_FORM_STINFO01010_DETAIL_IS_DUPLICATE = false;
34
+let ITP_FORM_STINFO01010_DETAIL_IS_WRITING = false;
35
+
36
+let kakaoMap = {
37
+    init: function(id, locate) {
38
+        this.load(id, locate);
39
+    },
40
+    geocoder: null,
41
+    schDetailAddrFromCoords: function(coords, callback) {
42
+        // 좌표로 법정동 상세 주소 정보를 요청합니다
43
+        if(this.geocoder) {
44
+            this.geocoder.coord2Address(coords.getLng(), coords.getLat(), callback);
45
+        }
46
+    },
47
+    getMap: function(id) {
48
+        var mapContainer = document.getElementById(id), // 지도를 표시할 div
49
+            mapOption = {
50
+                center: new kakao.maps.LatLng(37.56684, 126.97865), // 지도의 중심좌표
51
+                level: 3, // 지도의 확대 레벨
52
+                mapTypeId : kakao.maps.MapTypeId.ROADMAP // 지도종류
53
+            };
54
+
55
+        // 지도를 생성한다
56
+        var map = new kakao.maps.Map(mapContainer, mapOption);
57
+
58
+        // 마우스 휠과 모바일 터치를 이용한 지도 확대, 축소를 막는다
59
+        map.setZoomable(false);
60
+
61
+        // 지도에 확대 축소 컨트롤을 생성한다
62
+        //var zoomControl = new kakao.maps.ZoomControl();
63
+
64
+        // 지도의 우측에 확대 축소 컨트롤을 추가한다
65
+        //map.addControl(zoomControl, kakao.maps.ControlPosition.RIGHT);
66
+
67
+        return map;
68
+    },
69
+    marker: function(map, coords) {
70
+        // 지도에 마커를 생성하고 표시한다
71
+        marker = new kakao.maps.Marker({
72
+            position: coords, // 마커의 좌표
73
+            map: map // 마커를 표시할 지도 객체
74
+        });
75
+    },
76
+    load: function(id, locate) {
77
+        var _this = this;
78
+        kakao.maps.load(function() {
79
+            var map = _this.getMap(id);
80
+            // 주소-좌표 변환 객체를 생성합니다
81
+            _this.geocoder = new kakao.maps.services.Geocoder();
82
+            if( !locate || locate.length == 0 ) {
83
+                // 지도에 마커를 생성하고 표시한다
84
+                _this.marker(map, new kakao.maps.LatLng(37.56684, 126.97865));
85
+            } else {
86
+                // 주소로 좌표를 검색합니다
87
+                _this.geocoder.addressSearch(locate, function(result, status) {
88
+                    // 정상적으로 검색이 완료됐으면
89
+                    if (status === kakao.maps.services.Status.OK) {
90
+
91
+                        var coords = new kakao.maps.LatLng(result[0].y, result[0].x);
92
+                        if(id === 'ITP_FORM_STINFO01010_DETAIL_MAP') {
93
+                            document.getElementById('ITP_FORM_STINFO01010_DETAIL_LAT').value = result[0].y;
94
+                            document.getElementById('ITP_FORM_STINFO01010_DETAIL_LNG').value = result[0].x;
95
+                        }
96
+
97
+                        // 결과값으로 받은 위치를 마커로 표시합니다
98
+                        _this.marker(map, coords);
99
+
100
+                        // 지도의 중심을 결과값으로 받은 위치로 이동시킵니다
101
+                        map.setCenter(coords);
102
+                    } else {
103
+                        _this.marker(map, new kakao.maps.LatLng(37.56684, 126.97865));
104
+                    }
105
+                });
106
+            }
107
+
108
+            if(id === 'ITP_FORM_STINFO01010_DETAIL_MAP') {
109
+                _this.listener.drag(map);
110
+            }
111
+        });
112
+    },
113
+    listener: {
114
+        drag: function(map) {
115
+            var _this = this;
116
+            // 지도 드래깅 이벤트를 등록한다 (드래그 시작 : dragstart, 드래그 종료 : dragend)
117
+            kakao.maps.event.addListener(map, 'drag', function () {
118
+                kakaoMap.schDetailAddrFromCoords(map.getCenter(), function(result, status) {
119
+                    if (status === kakao.maps.services.Status.OK) {
120
+
121
+                        document.getElementById('ITP_FORM_STINFO01010_DETAIL_LOTS_ADDRESS').value = result[0].address.address_name ;
122
+                        document.getElementById('ITP_FORM_STINFO01010_DETAIL_ADRES').value = !!result[0].road_address ? result[0].road_address.address_name : result[0].address.address_name ;
123
+                        document.getElementById('ITP_FORM_STINFO01010_DETAIL_STREET_ADDRESS').value = !!result[0].road_address ? result[0].road_address.address_name : $('#ITP_FORM_STINFO01010_DETAIL_STREET_ADDRESS').val();
124
+                        document.getElementById('ITP_FORM_STINFO01010_DETAIL_ZIPNO').value = !!result[0].road_address ? result[0].road_address.zone_no : $('#ITP_FORM_STINFO01010_DETAIL_CMPY_ZIPNO').val() ;
125
+                        document.getElementById('ITP_FORM_STINFO01010_DETAIL_LAT').value = map.getCenter().getLat();
126
+                        document.getElementById('ITP_FORM_STINFO01010_DETAIL_LNG').value = map.getCenter().getLng();
127
+
128
+                        // 마커를 클릭한 위치에 표시합니다
129
+                        marker.setPosition(map.getCenter());
130
+                        marker.setMap(map);
131
+                    }
132
+                });
133
+                /* 	var message = '지도를 드래그 하고 있습니다. 지도의 중심 좌표는 ' + map.getCenter().toString() +' 입니다.';
134
+                console.log(message); */
135
+            });
136
+        }
137
+    }
138
+};
139
+
140
+/*화면 Grid Object*/
141
+const gridColModel = {
142
+    list: [
143
+        {
144
+            index: 'VIEW_CD', name: 'viewCd',
145
+            label: ITP_MSG_LOCALE.label.viewCd,
146
+            width: '10', fixed: false, align: 'center',
147
+            sortable: false, hidden: true
148
+        },
149
+        {
150
+            index: 'AFFL_SHOP_ID', name: 'afflShopId',
151
+            label: ITP_MSG_LOCALE.label.afflShopId,
152
+            width: '10', fixed: false, align: 'center',
153
+            sortable: false, hidden: true
154
+        },
155
+        {
156
+            index: 'AFFL_SHOP_NM', name: 'afflShopNm',
157
+            label: ITP_MSG_LOCALE.label.afflShopNm, //가맹점
158
+            width: '10', fixed: false, align: 'center',
159
+            sortable: false, hidden: false
160
+        },
161
+        {
162
+            index: 'BRAND_ID', name: 'brandId',
163
+            label: ITP_MSG_LOCALE.label.brandId,
164
+            width: '10', fixed: false, align: 'center',
165
+            sortable: false, hidden: false
166
+        },
167
+        {
168
+            index: 'BRAND_NM', name: 'brandNm',
169
+            label: ITP_MSG_LOCALE.label.brandNm, //브랜드명
170
+            width: '13', fixed: false, align: 'center',
171
+            sortable: false, hidden: false
172
+        },
173
+        {
174
+            index: 'ST_NM', name: 'stNm',
175
+            label: ITP_MSG_LOCALE.label.stNm, //상태
176
+            width: '10', fixed: false, align: 'center',
177
+            sortable: false, hidden: false
178
+        },
179
+        {
180
+            index: 'BRAND_TYPE_NM', name: 'brandTypeNm',
181
+            label: ITP_MSG_LOCALE.label.brandTypeNm, //브랜드 타입
182
+            width: '13', fixed: false, align: 'center',
183
+            sortable: false, hidden: false
184
+        },
185
+        {
186
+            index: 'REG_DT', name: 'regDt',
187
+            label: ITP_MSG_LOCALE.label.regDt, //등록일
188
+            width: '10', fixed: false, align: 'center',
189
+            sortable: false, hidden: false
190
+        }],
191
+    view: [],
192
+    detail: []
193
+};
194
+
195
+require(['config'], function() {
196
+    require([
197
+    ], function($) {
198
+        pageObj.init();
199
+    });
200
+});
201
+
202
+/*화면공통 Object*/
203
+let pageObj = {
204
+    init: function () {
205
+        this.ui.init();
206
+        this.event.init();
207
+    },
208
+    ui: {
209
+        init: function () {
210
+            this.view();
211
+            this.grid();
212
+            this.ready();
213
+        },
214
+        view: function() {
215
+            // 버튼 권한설정
216
+            fn_proc_btn_auth('STINFO01010');
217
+            // 공통코드 표시
218
+            fn_make_select(CODE_LIST, 'BRAND_TYPE', 'ITP_FORM_STINFO01010_SERVICE_BRAND_TYPE');
219
+            fn_make_select(CODE_LIST, 'ST_CD', 'ITP_FORM_STINFO01010_SERVICE_ST_CD', true, '선택');
220
+        },
221
+        grid: function() {
222
+            itp_fn_jqgrid_resize(STINFO01010_GRID_ID, STINFO01010_GRID_LIST, 'lg');
223
+            listObj.empty.init();
224
+            itp_fn_fire_window_resize();
225
+        },
226
+        ready: function() {
227
+            listObj.init();
228
+        }
229
+    },
230
+    event: {
231
+        init: function () {
232
+            this.button();
233
+        },
234
+        button: function () {
235
+            // 버튼 클릭 이벤트
236
+            $('button').each(function() {
237
+                var id = $(this).attr('id');
238
+                $(this).on('click', function() {
239
+                    switch (id) {
240
+                        case 'ITP_BTN_STINFO01010_SRH'				    : listObj.button.search();		break;	// 조회 버튼 클릭
241
+                        case 'ITP_BTN_STINFO01010_NEWREG'				: listObj.button.create(); 		break;	// 신규등록 버튼
242
+                        case 'ITP_BTN_STINFO01010_MODIFY'				: modifyObj.button.modify();	break;	// 수정 버튼
243
+                        case 'ITP_BTN_STINFO01010_CANCELLIST'			: createObj.button.cancel(); 	break;	// 취소/목록 버튼
244
+                        case 'ITP_BTN_STINFO01010_DELETE'				: 								break;	// 삭제 버튼
245
+                        case 'ITP_BTN_STINFO01010_SAVE'				    : createObj.button.save(); 		break;	// 저장 버튼
246
+                        case 'ITP_FORM_STINFO01010_DETAIL_DUP'		    : createObj.button.duplicate();	break;	// 중복체크
247
+                        case 'ITP_BTN_STINFO01010_RESET_PW'			    : createObj.button.resetPass();	break;	// 상세:비밀번호 초기화
248
+                        case 'ITP_BTN_STINFO01010_DETAIL_ADDROW'		: afflShopObj.button.addRow();	break;	// 상세:추가버튼
249
+                        case 'ITP_BTN_STINFO01010_DETAIL_DELROW'		: afflShopObj.button.delRow();	break;	// 상세:삭제버튼
250
+                    }
251
+                });
252
+            });
253
+        }
254
+    },
255
+    switchScreen: function(mode) {
256
+        if(mode == 'LIST') { // 목록
257
+            $('#ITP_BTN_STINFO01010_MODIFY').hide();
258
+            $('#ITP_BTN_STINFO01010_CANCELLIST').hide();
259
+            $('#ITP_BTN_STINFO01010_DELETE').hide();
260
+            $('#ITP_BTN_STINFO01010_SAVE').hide();
261
+            fn_show_btn_auth('#ITP_BTN_STINFO01010_SRH');
262
+            fn_show_btn_auth('#ITP_BTN_STINFO01010_NEWREG');
263
+
264
+            $('#ITP_AJAX_STINFO01010_LIST_CONTAINER').show();
265
+            $('#ITP_AJAX_STINFO01010_DETAIL_CONTAINER').hide();
266
+            $('#ITP_AJAX_STINFO01010_VIEW_CONTAINER').hide();
267
+        } else if(mode == 'ADD') { // 등록
268
+            ITP_FORM_STINFO01010_DETAIL_IS_DUPLICATE = true;
269
+
270
+            $('#ITP_BTN_STINFO01010_SRH').hide();
271
+            $('#ITP_BTN_STINFO01010_MODIFY').hide();
272
+            $('#ITP_BTN_STINFO01010_NEWREG').hide();
273
+            $('#ITP_BTN_STINFO01010_DELETE').hide();
274
+            $('#ITP_BTN_STINFO01010_RESET_PW').hide();
275
+            fn_show_btn_auth('#ITP_BTN_STINFO01010_CANCELLIST');
276
+            fn_show_btn_auth('#ITP_BTN_STINFO01010_SAVE');
277
+
278
+            $('#ITP_AJAX_STINFO01010_LIST_CONTAINER').hide();
279
+            $('#ITP_AJAX_STINFO01010_DETAIL_CONTAINER').show();
280
+            $('#ITP_AJAX_STINFO01010_VIEW_CONTAINER').hide();
281
+            $('#ITP_FORM_STINFO01010_DETAIL_BRAND_CD').removeAttr('readonly');
282
+            $('#ITP_FORM_STINFO01010_DETAIL_DUP').removeAttr('disabled');
283
+
284
+            $('#ITP_FORM_STINFO01010_DETAIL_VIEW_CD').val('C');
285
+            $('#ITP_FORM_STINFO01010_DETAIL_BRAND_NM').val('');
286
+            $('#ITP_FORM_STINFO01010_DETAIL_BRAND_USE_CD').val('');
287
+            $('#ITP_FORM_STINFO01010_DETAIL_BRAND_CD').val('');
288
+            $('#ITP_FORM_STINFO01010_DETAIL_CATE_CD').val('');
289
+            $('#ITP_FORM_STINFO01010_DETAIL_TAKEOUT_YN').val('');
290
+            $('#ITP_FORM_STINFO01010_DETAIL_CIRCULATE_STORE_YN').val('');
291
+            $('#ITP_FORM_STINFO01010_DETAIL_STORE_MENU_REG_YN').val('');
292
+            $('#ITP_FORM_STINFO01010_DETAIL_SALES_USER_ID').val('');
293
+            $('#ITP_FORM_STINFO01010_DETAIL_SALES_USER_NM').val('');
294
+
295
+        } else if(mode == 'MODIFY') { // 수정
296
+            $('#ITP_BTN_STINFO01010_SRH').hide();
297
+            $('#ITP_BTN_STINFO01010_MODIFY').hide();
298
+            $('#ITP_BTN_STINFO01010_NEWREG').hide();
299
+            $('#ITP_BTN_STINFO01010_DELETE').hide();
300
+            fn_show_btn_auth('#ITP_BTN_STINFO01010_CANCELLIST');
301
+            fn_show_btn_auth('#ITP_BTN_STINFO01010_SAVE');
302
+            fn_show_btn_auth('#ITP_BTN_STINFO01010_RESET_PW');
303
+
304
+            $('#ITP_AJAX_STINFO01010_LIST_CONTAINER').hide();
305
+            $('#ITP_AJAX_STINFO01010_DETAIL_CONTAINER').show();
306
+            $('#ITP_AJAX_STINFO01010_VIEW_CONTAINER').hide();
307
+            $('#ITP_FORM_STINFO01010_DETAIL_BRAND_CD').attr('readonly', true);
308
+            $('#ITP_FORM_STINFO01010_DETAIL_DUP').attr('disabled', true);
309
+        } else if(mode == 'VIEW') { // 보기
310
+            $('#ITP_BTN_STINFO01010_SRH').hide();
311
+            $('#ITP_BTN_STINFO01010_NEWREG').hide();
312
+            $('#ITP_BTN_STINFO01010_DELETE').hide();
313
+            $('#ITP_BTN_STINFO01010_SAVE').hide();
314
+            fn_show_btn_auth('#ITP_BTN_STINFO01010_MODIFY');
315
+            fn_show_btn_auth('#ITP_BTN_STINFO01010_CANCELLIST');
316
+
317
+            $('#ITP_AJAX_STINFO01010_LIST_CONTAINER').hide();
318
+            $('#ITP_AJAX_STINFO01010_DETAIL_CONTAINER').hide();
319
+            $('#ITP_AJAX_STINFO01010_VIEW_CONTAINER').show();
320
+        }
321
+    }
322
+};
323
+
324
+/*목록화면 Object*/
325
+let listObj = {
326
+    init: function () {
327
+        this.grid.init();
328
+    },
329
+    itp_STINFO01010_param: {},
330
+    itp_STINFO01010_search: false,
331
+    button: {
332
+        search: function() {
333
+            listObj.itp_STINFO01010_search = true;
334
+            let param = $('#ITP_FORM_STINFO01010_SEARCH').serializeObject();
335
+            param.gridSize = $.jgrid.defaults.rowNum;
336
+            param.gridPage = $.jgrid.defaults.page;
337
+            $(STINFO01010_GRID_ID).setGridParam({'postData': JSON.stringify(param)}).trigger('reloadGrid');
338
+        },
339
+        create: function() {
340
+            pageObj.switchScreen('ADD');
341
+            itp_fn_form_clear_validate(null, '#ITP_FORM_STINFO01010_DETAIL');
342
+            // 권한정보 리스트 조회
343
+            createObj.init();
344
+        }
345
+    },
346
+    empty: {
347
+        init: function() {
348
+            var _this = this;
349
+            this.push();
350
+            $(STINFO01010_GRID_EMPTY).on('click', function() {
351
+                _this.back();
352
+                listObj.itp_STINFO01010_param.gridSize = $.jgrid.defaults.rowNum;
353
+                $(STINFO01010_GRID_ID).setGridParam({'postData': JSON.stringify(listObj.itp_STINFO01010_param)}).trigger('reloadGrid');
354
+            });
355
+        },
356
+        push: function() {
357
+            let param = $('#ITP_FORM_STINFO01010_SEARCH').serializeObject();
358
+            listObj.itp_STINFO01010_param = param;
359
+        },
360
+        back: function() {
361
+            $('#ITP_FORM_STINFO01010_SERVICE_BRAND_TYPE').val(listObj.itp_STINFO01010_param.brandType);
362
+            $('#ITP_FORM_STINFO01010_SERVICE_ST_CD').val(listObj.itp_STINFO01010_param.stCd);
363
+            $('#ITP_FORM_STINFO01010_SEARCH_BRAND_NM').val(listObj.itp_STINFO01010_param.brandNm);
364
+        }
365
+    },
366
+    grid: {
367
+        init: function () {
368
+            // 데이터 없을때
369
+            listObj.empty.push();
370
+            this.search();
371
+        },
372
+        colModel: gridColModel.list,
373
+        search: function() {
374
+            pageObj.switchScreen('LIST');
375
+            this.unload();
376
+            this.load();
377
+        },
378
+        load: function() {
379
+            let param = $('#ITP_FORM_OPER01010_SEARCH').serializeObject();
380
+            param.gridSize = $.jgrid.defaults.rowNum;
381
+
382
+            var option = {
383
+                gridId: STINFO01010_GRID_ID,
384
+                colModel: gridColModel.list,
385
+                param: JSON.stringify(param),
386
+                url: DOMAIN + BRAND_DETAIL_GRID_LIST,
387
+                pager: STINFO01010_GRID_PAGER,
388
+                onCellSelect: function(rowId, cellIdx, cellValue) {
389
+                    var cm = $(this).jqGrid('getGridParam', 'colModel');
390
+                    var colNm = cm[cellIdx].name;
391
+                    if (colNm === 'brandId') {
392
+                        const brandIdVal = $(this).jqGrid('getCell', rowId, 'brandId');
393
+                        const key = {brandId: brandIdVal, viewCd: 'R'};
394
+                        var param = $.param(key);
395
+                        viewObj.init(param);
396
+                    }
397
+                },
398
+                loadComplete: function(data) {
399
+                    //console.log(JSON.stringify(data));
400
+                    itp_fn_grid_load_complete(data, STINFO01010_GRID_ID, true, 'number', 'STINFO01010', listObj.itp_STINFO01010_search, listObj.empty, true, data.gridRecords, true);
401
+                    var ids = $(STINFO01010_GRID_ID).getDataIDs();
402
+                    $.each(ids, function(idx, rowId) {
403
+                        $(STINFO01010_GRID_ID).jqGrid('setCell', rowId, 'brandId', '', ITP_GRID_COL_STYLE.link);
404
+                    });
405
+                },
406
+                onPaging: function(action) {
407
+                    itp_fn_grid_paging(STINFO01010_GRID_ID, action, param);
408
+                }
409
+            };
410
+            itp_fn_grid_make_remote(option);
411
+        },
412
+        clearData : function() {
413
+            $(STINFO01010_GRID_ID).jqGrid('clearGridData', true);
414
+            $(STINFO01010_GRID_LIST).find('.ui-jqgrid-bdiv').css('min-height', '100px');
415
+            $(STINFO01010_GRID_EMPTY).html(ITP_MSG_LOCALE.message.grid.noData);
416
+            $(STINFO01010_GRID_EMPTY).show();
417
+        },
418
+        unload : function() {
419
+            $.jgrid.gridUnload(STINFO01010_GRID_ID);
420
+        }
421
+    }
422
+};
423
+
424
+/*상세화면 Object*/
425
+let viewObj = {
426
+    init: function (param) {
427
+        this.load(param);
428
+    },
429
+    load: function(param) {
430
+        fn_ajax_call(BRAND_INFO_BRAND, param, this.callback, 'GET');
431
+    },
432
+    callback: function (result) {
433
+        console.log(result);
434
+        pageObj.switchScreen('VIEW');
435
+        $('#ITP_FORM_STINFO01010_VIEW #ITP_FORM_OPER01010_VIEW_BRAND_ID').val(result.brandId);
436
+        $('#ITP_FORM_STINFO01010_VIEW .fnBrandUnitUnqNo').text(result.brandId);
437
+        $('#ITP_FORM_STINFO01010_VIEW .fnStCd').text(result.stCd);
438
+        $('#ITP_FORM_STINFO01010_VIEW .fnBrandNm').text(result.brandNm);
439
+        $('#ITP_FORM_STINFO01010_VIEW .fnBrandType').text(result.brandType);
440
+        $('#ITP_FORM_STINFO01010_VIEW .fnTelNo').text(result.telNo);
441
+        $('#ITP_FORM_STINFO01010_VIEW .fnFaxNo').text(result.faxNo);
442
+        $('#ITP_FORM_STINFO01010_VIEW .fnEmalAddr').text(result.email);
443
+        $('#ITP_FORM_STINFO01010_VIEW .fnDpstBnkCd').text(result.bnkCd);
444
+        $('#ITP_FORM_STINFO01010_VIEW .fnRcvAcctNo').text(result.acctNo);
445
+        $('#ITP_FORM_STINFO01010_VIEW .fnOwacNm').text(result.owacNm);
446
+        $('#ITP_FORM_STINFO01010_VIEW .fnZipNo').text(result.zipNo);
447
+        $('#ITP_FORM_STINFO01010_VIEW .fnLoadAddr').text(result.addr1);
448
+        $('#ITP_FORM_STINFO01010_VIEW .fnDtlAddr').text(result.addr2);
449
+        $('#ITP_FORM_STINFO01010_VIEW .fnRegId').text(result.sysRegId);
450
+        $('#ITP_FORM_STINFO01010_VIEW .fnRegDt').text(result.sysRegDttm);
451
+        $('#ITP_FORM_STINFO01010_VIEW .fnChgId').text(result.sysChgId);
452
+        $('#ITP_FORM_STINFO01010_VIEW .fnChgDt').text(result.sysChgDttm);
453
+        // $('#ITP_FORM_STINFO01010_VIEW .fnBrandLogo').text(result.lastLoginDt);
454
+    }
455
+};
456
+
457
+/*수정화면 Object*/
458
+let modifyObj = {
459
+    init: function (param) {
460
+        this.load(param);
461
+    },
462
+    load: function() {
463
+    },
464
+    callback: function (result) {
465
+        // console.log(result);
466
+    }
467
+};
468
+
469
+/*신규화면 Object*/
470
+let createObj = {
471
+    init: function () {
472
+        this.load();
473
+    },
474
+    button: {
475
+        cancel: function () {
476
+            listObj.grid.search();
477
+        }
478
+    },
479
+    load: function () {
480
+    }
481
+};