Explorar o código

메인화면 차트 개발중

marseyes %!s(int64=2) %!d(string=hai) anos
pai
achega
51e713f4a7
Modificáronse 2 ficheiros con 159 adicións e 43 borrados
  1. 120 36
      src/main/webapp/js/app/main.js
  2. 39 7
      src/main/webapp/main.html

+ 120 - 36
src/main/webapp/js/app/main.js

@@ -10,6 +10,7 @@ let MAIN_CHART_PCH_ODR_CHART = '/api/main/chart/pch-odr-chart';
10 10
 let MAIN_CHART_PR_RANK_CHART = '/api/main/chart/pr-rank-chart';
11 11
 let MAIN_CHART_STL_CHART = '/api/main/chart/stl-chart';
12 12
 let MAIN_CHART_SFT_STCK_CHART = '/api/main/chart/sft-stck-chart';
13
+let MAIN_CHART_DELI_CHART = '/api/main/chart/deli-chart';
13 14
 
14 15
 require(['config'], function() {
15 16
 	require([
@@ -27,43 +28,86 @@ require(['config'], function() {
27 28
 	    	// itp_fn_fire_window_resize();
28 29
 
29 30
 			// 조회
30
-	    	itp_fn_MAIN_NOTICE_search();		
31
+	    	itp_fn_MAIN_NOTICE_search();
31 32
 
32
-		}, 300);
33
-		
34
-		$('#ITP_FORM_MAIN_SEARCH_PR_TYPE').on('change', function() {
35
-			drawChartReq();
36
-		});
37
-		
38
-		$('#ITP_FORM_MAIN_SEARCH_PO_TYPE').on('change', function() {
39
-			drawChartPodr();
40
-		});
41
-		
42
-		$('#ITP_FORM_MAIN_SEARCH_ITEM_CNT_TYPE').on('change', function() {
43
-			drawChartReqUp();
44
-		});
45
-		
46
-		//그래프 
47
-		google.charts.load('current', {'packages':['corechart']});
48
-		google.charts.load('current', {'packages':['bar']});
49
-		
50
-		var authTpCd = fn_make_user_info.get('authTpCd'); // 10:관리자, 20:영업담당자, 30:가맹점, 40:브랜드, 50:매장, 60:공급사
51
-		
52
-		if( authTpCd == '40' ) {  
53
-			google.charts.setOnLoadCallback(drawChartReq); // 구매요청	
54
-		}
55
-		if( authTpCd == '40' ) {
56
-			google.charts.setOnLoadCallback(drawChartPodr); // 구매발주	
57
-		}
58
-		if( authTpCd == '40' ) {
59
-			google.charts.setOnLoadCallback(drawChartReqUp); // 매출순위 	
60
-		}
61
-		if( authTpCd == '40' ) {
62
-			google.charts.setOnLoadCallback(drawChartcore); // 정산	
63
-		}
64
-		if( authTpCd == '40' ) {
65
-			google.charts.setOnLoadCallback(drawLine); // 안전재고 	
66
-		}
33
+			$('#ITP_FORM_MAIN_SEARCH_PR_TYPE').on('change', function() {
34
+				drawChartReq();
35
+			});
36
+			
37
+			$('#ITP_FORM_MAIN_SEARCH_PO_TYPE').on('change', function() {
38
+				drawChartPodr();
39
+			});
40
+			
41
+			$('#ITP_FORM_MAIN_SEARCH_ITEM_CNT_TYPE').on('change', function() {
42
+				drawChartReqUp();
43
+			});
44
+			
45
+			$('#ITP_FORM_MAIN_SEARCH_DELI_TYPE').on('change', function() {
46
+				drawChartDeli();
47
+			});
48
+			
49
+			$('#ITP_FORM_MAIN_SEARCH_RELEASE_TYPE').on('change', function() {
50
+				drawChartRelease();
51
+			});
52
+			
53
+			//그래프 
54
+			google.charts.load('current', {'packages':['corechart']});
55
+			google.charts.load('current', {'packages':['bar']});
56
+			
57
+			$('#ITP_MAIN_DRAW_CHART_REQ').hide();
58
+			$('#ITP_MAIN_DRAW_CHART_PODR').hide();
59
+			$('#ITP_MAIN_DRAW_CHART_REQ_UP').hide();
60
+			$('#ITP_MAIN_DRAW_CHART_CORE').hide();
61
+			$('#ITP_MAIN_DRAW_LINE').hide();
62
+			$('#ITP_MAIN_DRAW_DELI_CHART').hide(); 		// 입고
63
+			$('#ITP_MAIN_DRAW_RELEASE_CHART').hide();	// 출고
64
+			
65
+			var authTpCd = fn_make_user_info.get('authTpCd'); // 10:관리자, 20:영업담당자, 30:가맹점, 40:브랜드, 50:매장, 60:공급사
66
+			// console.log('>>>> authTpCd = ' + authTpCd);
67
+			
68
+			if( authTpCd == '40' ) { // 브랜드
69
+				$('#ITP_MAIN_DRAW_CHART_REQ').show();  
70
+				google.charts.setOnLoadCallback(drawChartReq); // 구매요청
71
+				
72
+				$('#ITP_MAIN_DRAW_CHART_PODR').show();
73
+				google.charts.setOnLoadCallback(drawChartPodr); // 구매발주
74
+			
75
+				$('#ITP_MAIN_DRAW_CHART_REQ_UP').show();
76
+				google.charts.setOnLoadCallback(drawChartReqUp); // 매출순위
77
+				
78
+				$('#ITP_MAIN_DRAW_CHART_CORE').show();
79
+				google.charts.setOnLoadCallback(drawChartcore); // 정산
80
+			
81
+				$('#ITP_MAIN_DRAW_LINE').show();	
82
+				google.charts.setOnLoadCallback(drawLine); // 안전재고
83
+			} else if( authTpCd == '50' ) { // 매장
84
+				$('#ITP_MAIN_DRAW_CHART_REQ').show();  
85
+				google.charts.setOnLoadCallback(drawChartReq); // 구매요청
86
+				
87
+				$('#ITP_MAIN_DRAW_DELI_CHART').show();  
88
+				google.charts.setOnLoadCallback(drawChartDeli); // 입고
89
+				
90
+				$('#ITP_MAIN_DRAW_CHART_REQ_UP').show();
91
+				google.charts.setOnLoadCallback(drawChartReqUp); // 매출순위
92
+				
93
+				$('#ITP_MAIN_DRAW_CHART_CORE').show();
94
+				google.charts.setOnLoadCallback(drawChartcore); // 정산
95
+				
96
+			} else if( authTpCd == '60' ) { // 공급사
97
+			
98
+				// 수주내역 (pch_odr_base_info)
99
+				
100
+				$('#ITP_MAIN_DRAW_RELEASE_CHART').show();  
101
+				google.charts.setOnLoadCallback(drawChartRelease); // 출고
102
+				
103
+				$('#ITP_MAIN_DRAW_CHART_REQ_UP').show();
104
+				google.charts.setOnLoadCallback(drawChartReqUp); // 매출순위
105
+				
106
+				$('#ITP_MAIN_DRAW_CHART_CORE').show();
107
+				google.charts.setOnLoadCallback(drawChartcore); // 정산
108
+			}		
109
+
110
+		}, 300);		
67 111
 	});
68 112
 });
69 113
 
@@ -85,6 +129,46 @@ function drawChartReq() {
85 129
 	
86 130
 }
87 131
 
132
+//입고 그래프
133
+function drawChartDeli() {
134
+	
135
+	const key = { brandId:fn_make_user_info.get('brandId'), 
136
+				  storeId:fn_make_user_info.get('storeId'), 
137
+				  deliType: $('#ITP_FORM_MAIN_SEARCH_DELI_TYPE').val() };
138
+	var param = $.param(key);
139
+	fn_ajax_call(MAIN_CHART_DELI_CHART, param, function(result) {
140
+		
141
+		var data = google.visualization.arrayToDataTable( eval(result.chartData) );
142
+	  	var options = {
143
+			legend: { position: 'left' }
144
+	  	};	
145
+	  	var chart = new google.charts.Bar(document.getElementById('ITP_DELI_GRAPH'));
146
+	  	chart.draw(data, options);
147
+		
148
+	}, 'GET');
149
+	
150
+}
151
+
152
+//출고 그래프
153
+function drawChartRelease() {
154
+	
155
+	const key = { brandId:fn_make_user_info.get('brandId'), 
156
+				  spplyId:fn_make_user_info.get('spplyId'), 
157
+				  deliType: $('#ITP_FORM_MAIN_SEARCH_RELEASE_TYPE').val() };
158
+	var param = $.param(key);
159
+	fn_ajax_call(MAIN_CHART_DELI_CHART, param, function(result) {
160
+		
161
+		var data = google.visualization.arrayToDataTable( eval(result.chartData) );
162
+	  	var options = {
163
+			legend: { position: 'left' }
164
+	  	};	
165
+	  	var chart = new google.charts.Bar(document.getElementById('ITP_RELEASE_GRAPH'));
166
+	  	chart.draw(data, options);
167
+		
168
+	}, 'GET');
169
+	
170
+}
171
+
88 172
 //구매발주 그래프
89 173
 function drawChartPodr() {
90 174
 	

+ 39 - 7
src/main/webapp/main.html

@@ -69,7 +69,7 @@
69 69
 			<!-- 상단 탭 부분 -->
70 70
 			<div id="ITP_TAB_BAR" class="itp_tabs">
71 71
 				<ul class="nav nav-tabs itp_tab_list" role="tablist">
72
-					<li class="active"><a href="#ITP_TAB_SUMMARY" role="tab" data-toggle="tab" class="itp_tab_open">메뉴안내</a></li>
72
+					<li class="active"><a href="#ITP_TAB_SUMMARY" role="tab" data-toggle="tab" class="itp_tab_open">대시보드</a></li>
73 73
 				</ul>
74 74
 			</div>
75 75
 		</header>
@@ -142,7 +142,7 @@
142 142
 			<div class="tab-content itp_contents">
143 143
 				<section id="ITP_TAB_SUMMARY" class="tab-pane active itp_sec">
144 144
 					<div class="itp_cont">
145
-						<h2 class="hidden">메뉴안내</h2>
145
+						<h2 class="hidden">대시보드</h2>
146 146
 						<article class="itp_detail">
147 147
 							<div id="ITP_AJAX_SUMMARY_DETAIL_CONTAINER" class="itp_det_in">
148 148
 								<form id="ITP_FORM_MAIN_SEARCH" class="form-horizontal">
@@ -223,7 +223,7 @@
223 223
 									</div>
224 224
 								</div>
225 225
 								<div id="ITP_MAIN_GRAPH_AREA">
226
-									<div class="itp_graph_box">
226
+									<div class="itp_graph_box" id="ITP_MAIN_DRAW_CHART_REQ">
227 227
 										<div class="itp_graph_side">
228 228
 											<select id="ITP_FORM_MAIN_SEARCH_PR_TYPE" name="prType">
229 229
 												<option value="A">당일</option>
@@ -237,7 +237,38 @@
237 237
 										</div>
238 238
 										<div id="ITP_PCH_REQ_GRAPH" class="itp_graph_area"></div>
239 239
 									</div>
240
-									<div class="itp_graph_box">
240
+									
241
+									<div class="itp_graph_box" id="ITP_MAIN_DRAW_DELI_CHART">
242
+										<div class="itp_graph_side">
243
+											<select id="ITP_FORM_MAIN_SEARCH_DELI_TYPE" name="deliType">
244
+												<option value="A">당일</option>
245
+												<option value="B">1주일</option>
246
+												<option value="C">15일</option>
247
+												<option value="D">1개월</option>
248
+											</select>
249
+											<div class="itp_graph_info_bar">
250
+												<div class="itp_graph_info">입고</div>
251
+											</div>
252
+										</div>
253
+										<div id="ITP_DELI_GRAPH" class="itp_graph_area"></div>
254
+									</div>
255
+									
256
+									<div class="itp_graph_box" id="ITP_MAIN_DRAW_RELEASE_CHART">
257
+										<div class="itp_graph_side">
258
+											<select id="ITP_FORM_MAIN_SEARCH_RELEASE_TYPE">
259
+												<option value="A">당일</option>
260
+												<option value="B">1주일</option>
261
+												<option value="C">15일</option>
262
+												<option value="D">1개월</option>
263
+											</select>
264
+											<div class="itp_graph_info_bar">
265
+												<div class="itp_graph_info">출고</div>
266
+											</div>
267
+										</div>
268
+										<div id="ITP_RELEASE_GRAPH" class="itp_graph_area"></div>
269
+									</div>
270
+									
271
+									<div class="itp_graph_box" id="ITP_MAIN_DRAW_CHART_PODR">
241 272
 										<div class="itp_graph_side">
242 273
 											<select id="ITP_FORM_MAIN_SEARCH_PO_TYPE" name="poType">
243 274
 												<option value="A">당일</option>
@@ -251,7 +282,8 @@
251 282
 										</div>
252 283
 										<div id="ITP_PCH_PODR_GRAPH" class="itp_graph_area"></div>
253 284
 									</div>
254
-									<div class="itp_graph_box">
285
+									
286
+									<div class="itp_graph_box" id="ITP_MAIN_DRAW_CHART_REQ_UP">
255 287
 										<div class="itp_graph_side">
256 288
 											<select id="ITP_FORM_MAIN_SEARCH_ITEM_CNT_TYPE" name="itemCntType">
257 289
 												<option value="A">당일</option>
@@ -265,7 +297,7 @@
265 297
 										</div>
266 298
 										<div id="ITP_PCH_REQ_UP_ITEM_GRAPH" class="itp_graph_area"></div>
267 299
 									</div>
268
-									<div class="itp_graph_box">
300
+									<div class="itp_graph_box" id="ITP_MAIN_DRAW_CHART_CORE">
269 301
 										<div class="itp_graph_side">
270 302
 											<div class="itp_graph_info_bar">
271 303
 												<div class="itp_graph_info" style="padding-top:8px;">&nbsp;정&nbsp;&nbsp;산</div>
@@ -273,7 +305,7 @@
273 305
 										</div>
274 306
 										<div id="ITP_STTL_GRAPH" class="itp_graph_area"></div>
275 307
 									</div>
276
-									<div class="itp_graph_box" style="width:100%">
308
+									<div class="itp_graph_box" style="width:100%" id="ITP_MAIN_DRAW_LINE">
277 309
 										<div class="itp_graph_side" style="width:12%;">
278 310
 											<div class="itp_graph_info_bar">
279 311
 												<div class="itp_graph_info">안전재고</div>