Subversion Repositories SmartDukaan

Rev

Rev 26740 | Rev 27333 | Go to most recent revision | Details | Compare with Previous | Last modification | View Log | RSS feed

Rev Author Line No. Line
26010 amit.gupta 1
<!DOCTYPE html>
2
<html lang="en">
3
  <head>
4
    <meta charset="utf-8">
5
    <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1">
6
    <meta name="description" content="Smart Dukaan FOCO Dashboard">
7
    <meta name="author" content="smartdukaan">
8
    <!--<meta http-equiv="Content-Security-Policy" content="upgrade-insecure-requests">--> 
9
	<link rel="shortcut icon" href="assets/images/icons/favicon.png">
10
 
11
    <title>Smart Dukaan - FOCO Dashboard</title>
12
 
13
    <!-- Bootstrap CSS -->    
14
    <!-- bootstrap theme -->
15
    <!--external css-->
16
    <!-- font icon -->
17
    <link href="resources/css/elegant-icons-style.css" rel="stylesheet" />
18
    <link href="resources/css/font-awesome.min.css" rel="stylesheet" />    
19
    <!-- full calendar css-->
20
    <!-- owl carousel -->
21
    <link rel="stylesheet" href="resources/css/owl.carousel.css" type="text/css">
22
	<link href="resources/css/jquery-jvectormap-1.2.2.css" rel="stylesheet">
23
    <!-- Custom styles -->
24
	<link href="resources/css/widgets.css" rel="stylesheet">
25
    <link href="resources/css/style.css?v=${cssVersion}" rel="stylesheet">
26
    <link href="resources/css/card.css?v=${cssVersion}" rel="stylesheet">
27
    <link href="resources/css/style-responsive.css" rel="stylesheet" />
28
	<link href="resources/css/jquery-ui-1.10.4.min.css" rel="stylesheet">
29
    <link type="text/css" href="resources/css/bootstrap.css" rel="stylesheet">
30
	<!--<link rel="stylesheet" type="text/css" href="//cdn.jsdelivr.net/bootstrap/3/css/bootstrap.css" />-->
31
    <link href="resources/css/bootstrap-theme.min.css" rel="stylesheet">
32
	<link rel="stylesheet" type="text/css" href="//cdn.jsdelivr.net/npm/daterangepicker/daterangepicker.css" />
33
 
34
	<link rel="stylesheet" type="text/css" href="resources/css/bootstrap-multiselect.css" />
35
	<link rel="stylesheet" type="text/css" href="//cdn.datatables.net/1.10.16/css/dataTables.bootstrap.min.css"/>
36
	<link rel='stylesheet' href='https://use.fontawesome.com/releases/v5.7.0/css/all.css' integrity='sha384-lZN37f5QGtY3VHgisS14W3ExzMWZxybE1SJSEsQp9S+oqd12jhcu+A56Ebc1zFSJ' crossorigin='anonymous'>
37
	<style type="text/css">
38
		.loading {
39
  			display: none;
40
		}
41
		.breadcrumb {
42
    		padding: 0 15px;
43
    	}
44
 
45
    	.stars-outer {
46
		  display: inline-block;
47
		  position: relative;
48
		  font-family: FontAwesome;
49
		}
50
 
51
		.stars-outer::before {
52
		  content: "\f006 \f006 \f006 \f006 \f006";
53
		}
54
 
55
		.stars-inner {
56
		  position: absolute;
57
		  top: 0;
58
		  left: 0;
59
		  white-space: nowrap;
60
		  overflow: hidden;
61
		  width: 0;
62
		}
63
 
64
		.stars-inner::before {
65
		  content: "\f005 \f005 \f005 \f005 \f005";
66
		  color: #f8ce0b;
67
		}
68
 
69
 
70
	.table-striped > tbody > tr:nth-child(odd) > td{
71
  		background: white;
72
  		background-color: #dae5f4;
73
	}
74
	.table-striped > tbody > tr:nth-child(even) > td{
75
  		background:  #f2f2f2;
76
  		background-color: #b8d1f3;
77
	}
78
 
79
	.btn:hover{
80
  		color: grey;
81
  		text-decoration: none;
82
	}
83
	.btn-primary:hover{
84
  		color: grey;
85
  		text-decoration: none;
86
	}
87
	.sale-details{
88
		cursor:pointer;
89
	}
90
 
91
	.popover {
92
		min-width:18%;
93
	}
94
	.fa-2x {
95
		font-size:1.4em;
96
	}
97
	.cover {
98
	  object-fit: cover;
99
	  width: 100%;
100
	  height: 90px;
101
	  padding: 8px;
102
	}
103
	.info-box .notifications i {
104
    display: inline-block;
105
    margin-top:0px;
106
    height: 25px;
107
    font-size: 16px;
108
    line-height: 25px;
109
    width: 25px;
110
    float: none;
111
    text-align: center;
112
    padding-right: 0px;
113
    color:#768399;
114
  }
115
 
116
	#preview {
117
	  position: relative;
118
	  color: #fff;
119
	  float: left;
120
	  width: 100%;
121
	  -webkit-border-radius: 10px;
122
	  -moz-border-radius: 10px;
123
	  border-radius: 10px;
124
	  clear: both;
125
	}
126
	#canvas-preview{
127
	  width: 100%;
128
	  position: relative;
129
	  top:-15px;
130
	}
131
	#preview-textfield{
132
	  position: absolute; top: -10px; left: 0; right: 0;
133
	  text-align: center; font-size: 2em; font-weight: bold;
134
	  color: white; font-family: 'Amaranth', sans-serif;
135
	}
136
 
137
 
138
	</style>
26418 tejbeer 139
	<script type="text/javascript">
140
	function getAuthUser(authId){
141
 
26473 amit.gupta 142
		doGetAjaxRequestHandler(context + "/getAuthUserPartners?authId="+authId,
26418 tejbeer 143
			function(response) {
144
				$('#' + "main-content").html(response);
145
				console.log(response)
146
			});
147
	}
148
	</script>
149
 
26010 amit.gupta 150
  </head>
151
 
152
  <body style="zoom:90%;background-color:#f7f7f7">
153
  <!--<div class="loading"><img src="resources/images/icons/loading.gif"></div>-->
154
  <!-- container section start -->
155
  <section id="container">
156
 
157
 
158
      <header class="header dark-bg">
159
            <div class="toggle-nav">
160
                <div class="icon-reorder tooltips" data-original-title="Toggle Navigation" data-placement="bottom"><i class="icon_menu"></i></div>
161
            </div>
162
            <div class="top-nav notification-row">
163
                <!-- notificatoin dropdown start-->
164
                <ul class="nav pull-right top-menu">
165
                    <!-- user login dropdown start-->
166
                    <li class="dropdown">
167
                        <a data-toggle="dropdown" class="dropdown-toggle" href="#">
168
                            <span class="profile-ava">
169
                                <img class="avatar-custom" id="photo" alt="" src="">
170
                            </span>
171
                            <span class="username" id="fofo_name"></span>
172
                            <b class="caret"></b>
173
                        </a>
174
                        <ul class="dropdown-menu extended logout">
175
                            <div class="log-arrow-up"></div>
176
                            <li class="eborder-top">
177
                                <a class="change-auth-user-password" href="javascript:void(0);"><i class=""></i>Change Password</a>
178
                            </li>
179
                            <li>
180
                                <a href="${rc.contextPath}/logout"><i class="icon_key_alt" id = "logout"></i> Log Out</a>
181
                            </li>
182
                        </ul>
183
                    </li>
184
                    <!-- user login dropdown end -->
185
                </ul>
186
                <!-- notificatoin dropdown end-->
187
            </div>
188
      </header>      
189
      <!--header end-->
190
 
191
      <!--sidebar start-->
192
      <aside>
193
          <div id="sidebar"  class="nav-collapse ">
194
              <!-- sidebar menu start-->
195
              <ul class="sidebar-menu">                
196
              	  <li class="active">
197
                      <a class="" href="${rc.contextPath}/dashboard">
198
                          <i class="icon_house_alt"></i>
199
                          <span>Dashboard</span>
200
                      </a>
201
                  </li>
26512 amit.gupta 202
                  <li><a class="product-compare-info" href="javascript:void(0);">Product Compare</a></li>
26740 amit.gupta 203
                  <li><a class="web-listing" href="javascript:void(0);">Web Listing</a></li>
26958 tejbeer 204
                  <li><a class="banner-listing" href="javascript:void(0);">Banner Listing</a></li>
26014 amit.gupta 205
                  #foreach($menuItem in $menu)
206
		            <li class="sub-menu">
207
		              <a href="javascript:;" class="">
208
	                       <i class="icon_document_alt"></i>
209
	                       <span>$menuItem.getDisplayText()</span>
210
	                       <span class="menu-arrow arrow_carrot-right"></span>
211
		              </a>
212
					  <ul class="sub">
213
					  #foreach($subMenu in $menuItem.getSubMenus())
214
						  <li><a class="$subMenu.getActionClass()" href="javascript:void(0);">$subMenu.getDisplayText()</a></li>
215
					  #end
216
					</ul>
217
		           	</li>
26010 amit.gupta 218
                  #end
219
              </ul>
220
              <!-- sidebar menu end-->
221
          </div>
222
      </aside>
223
      <!--sidebar end-->
224
 
225
	<!--main content start-->
226
	<section id="main-content">
227
		<section class="wrapper">
228
          	<!--overview start-->
229
			<div class="row">
230
				<div class="col-lg-12">
231
					<h3 class="page-header"><i class="fa fa-laptop"></i> Dashboard</h3>
232
					<ol class="breadcrumb">
233
						<li><i class="fa fa-home"></i><a href="${rc.contextPath}/dashboard">Home</a></li>
234
						<li><i class="fa fa-laptop"></i>Dashboard</li>						  	
235
					</ol>
236
				</div>
237
			</div>
238
			<!-- overview end -->
26418 tejbeer 239
 
26468 amit.gupta 240
			    #if($authIdAndallValues)
26418 tejbeer 241
				<div class="row">
242
 
243
					<div class="col-lg-6">
244
				 <table class="table table-striped table-advance table-hover">
245
	    			<tbody>
246
	    				<tr>
247
	    				<th>Sale Head</th>
26472 amit.gupta 248
	    				<th>Total Partners</th>
26418 tejbeer 249
	    				<th>lmtd</th>
250
	    				<th>mtd</th>
251
	    				<th>Hygiene</th>
252
	    				<th>In Stock Investment</th>
253
	    				<th>Total Investment</th>
254
	    				</tr>
26460 amit.gupta 255
	    				#foreach($name in $authIdAndallValues.keySet())
26418 tejbeer 256
	    				<tr onclick="getAuthUser($name)">
26468 amit.gupta 257
	    	 		     <td>$authIdAndAuthUserMap.get($name).getFirstName() $authIdAndAuthUserMap.get($name).getLastName()</td>
258
	    	 		     <td>$authIdAndallValues.get($name).getCount()</td>
26418 tejbeer 259
	    	 		     <td class="currency">$authIdAndallValues.get($name).getLmtd()</td>
260
	    	 		     <td class="currency">$authIdAndallValues.get($name).getMtd()</td>
26460 amit.gupta 261
	    	 		     <td>$authIdAndallValues.get($name).getHygienePercentage()</td>
26474 amit.gupta 262
	    	 		     <td class="currency">$authIdAndallValues.get($name).getInvestment().getInStockAmount()</td>
26467 amit.gupta 263
	    	 		     <td class="currency">$authIdAndallValues.get($name).getInvestment().getTotalInvestment()</td>
26418 tejbeer 264
 
265
	    				</tr>
266
	    				 #end
267
 
268
	    		    </tbody>
269
	    		</table>
270
						</div>
271
 
272
						<div class="col-lg-4">
273
						 <table class="table table-striped table-advance table-hover">
274
	    			<tbody>
275
	    				<tr>
276
	    				<th>Name </th>
277
	    				<th>Ticket</th>
278
	    				<th>Leads</th>
279
	    				</tr>
280
 
281
	    				#foreach($key in $authIdAndallValues.keySet())
282
	    				<tr>
283
	    	 		     <td>$authIdAndAuthUserMap.get($key).getFirstName()</td>
284
	    	 		     <td>$authIdAndallValues.get($key).getTicket()</td>
285
	    	 		     <td>$authIdAndallValues.get($key).getLeads()</td>
286
		                  </tr>
287
	    				 #end
288
 
289
 
290
	    		    </tbody>
291
	    		</table>
292
 
293
			 </div>
294
			</div>
295
 
296
			#end
297
 
26010 amit.gupta 298
			<div class="row">
26063 amit.gupta 299
				<div class="col-lg-6">
300
					<div class="row col-lg-4">
301
						<h3 style="margin-top:-2px;margin-bottom:24px"><strong>Reports</strong></h3>
26010 amit.gupta 302
					</div>
26063 amit.gupta 303
					<div class="row col-lg-12 info-box white-bg">
26214 amit.gupta 304
						<table class="table table-striped reports-table" style="display:none">
26063 amit.gupta 305
						    <tbody>
306
					    		<div class="list-group">
307
					            #foreach($reporticoProjectEntry in $reporticoProjectMap.entrySet())
308
						            #foreach($reporticoUrlInfo in $reporticoProjectEntry.getValue())
309
										  <a href="${rc.contextPath}/reports/${reporticoProjectEntry.getKey()}${reporticoUrlInfo.getUrl()}" class="list-group-item"
310
											  #if($reporticoUrlInfo.getParamsList())
311
											  data-paramslist="$vmUtils.htmlJson($reporticoUrlInfo.getParamsList())"
312
											  #end
313
										  >
314
										    <h4 class="list-group-item-heading">$reporticoUrlInfo.getTitle()</h4>
315
										    <p class="list-group-item-text">$reporticoUrlInfo.getDescription()</p>
316
										  </a>
317
 
318
					    			#end
319
				    			#end
320
								</div>
321
						    </tbody>
322
						</table>
323
 
324
					</div>
325
				</div>
326
				<div class="col-lg-6">
327
					<div class="row col-lg-12 info-box white-bg">
328
						<div class="col-lg-4">
329
						<h3 style="margin-top:-2px;margin-bottom:24px"><strong>My Messages</strong>
330
						</h3>
26010 amit.gupta 331
						</div>
26063 amit.gupta 332
						<div class="col-lg-4">
333
							<div class="btn-group message-filter"> 
334
								<button data-messagetype="notification" type="button" class="btn btn-default" aria-label="Notifications" title="Notifications">
335
								<span class="glyphicon glyphicon-bell" aria-hidden="true"></span></button> 
336
								<button data-messagetype="announcement" type="button" class="btn btn-default" aria-label="Announcements" title="Announcements">
337
								<span class="glyphicon glyphicon-bullhorn" aria-hidden="true"></span></button> 
338
								<button data-messagetype="scheme" type="button" class="btn btn-default" aria-label="SmartDukaan Schemes" title="SmartDukaan Schemes">
339
									<span class="glyphicon glyphicon-tags" aria-hidden="true"></span>
340
								</button>
26446 tejbeer 341
								<button data-messagetype="marketing" type="button" class="btn btn-default" aria-label="SmartDukaan Schemes" title="SmartDukaan Schemes">
342
								 <span class="glyphicon glyphicon-picture" aria-hidden="true"></span>
343
							</button>
26063 amit.gupta 344
							</div>
345
						</div>
346
				    	<div class="col-lg-12 row notification-container" style="max-height: 500px;overflow-y: scroll;">
347
						</div>
26010 amit.gupta 348
					</div>
349
				</div>
350
			</div>
351
		</section>
352
    	<div class="text-center">
353
          <div class="credits">
354
          	<p>All rights reserved.&copy;2017, Smart Dukaan</p>
355
          </div>
356
		</div>
357
	</section>
358
 
359
	<script type="text/javascript">
360
		context="${rc.contextPath}";
361
		webApiScheme="$webApiScheme";
362
		webApiRoot="$webApiRoot";
363
		webApiHost="$webApiHost";
364
		webApiPort="$webApiPort";
26287 amit.gupta 365
		#if($authId)
26286 amit.gupta 366
			retailers = $retailers;
367
			warehouses = $warehouses;
26287 amit.gupta 368
	        authId = $authId;
26286 amit.gupta 369
		#end
26010 amit.gupta 370
	</script>
371
	#parse("include-scripts.vm")
372
 
373
  <script>
374
 
375
      //knob
376
      $(function() {
377
        /*$(".knob").knob({
378
          'draw' : function () { 
379
            $(this.i).val(this.cv + '%')
380
          }
381
        });*/
382
        $.fn.dataTable.moment( 'DD/MM/YYYY' );
383
        $.fn.dataTable.moment( 'DD/MM/YYYY hh:mm' );
384
        $('.currency').each(function(index, ele) {
385
			if (!isNaN(parseInt($(ele).html()))) {
386
				$(ele).html(numberToComma($(ele).html()));
387
			}
388
		});
389
      });
390
 
391
      $(function() {
392
    	 	var profile = localStorage.getItem('profile');
393
    	 	if (profile){
394
    			$("#photo").attr("src",JSON.parse(profile).image_url);
395
    			$("#fofo_name").text(JSON.parse(profile).name);
396
    	 	}
397
    	 	else{
398
    	 		$("#photo").attr("src","");
399
    			$("#fofo_name").text("Welcome, User");
400
    	 	}
401
    });
402
 
403
 
404
 
405
	$(function(){
406
		dateRangeCallback(moment(),moment());
407
		loaderDialogObj = bootbox.dialog({
408
		    message: '<div class="container text-center"><i class="fa fa-spin fa-spinner"></i>Loading...</div>',
409
		    show: false	
410
		});
411
	});
26062 tejbeer 412
 
26166 amit.gupta 413
	$(document).ready(function(){
26062 tejbeer 414
		 $('div.message-filter').on('click', 'button', function() {
415
			messageType = $(this).data("messagetype");
416
			if($(this).hasClass('btn-pressed')) {
417
				messageType="";
418
				$('div.message-filter').find('button').removeClass('btn-pressed').addClass('btn-default');
419
			} else {
420
				$('div.message-filter').find('button').removeClass('btn-pressed').addClass('btn-default');
421
				$(this).addClass('btn-pressed').removeClass('btn-default');
422
			}
423
			notifyTypeChange(messageType);
424
		});
425
		notifyTypeChange("");
26166 amit.gupta 426
	});
26062 tejbeer 427
 
26166 amit.gupta 428
	/*$(function(){
26062 tejbeer 429
		messageType = $(this).data("messagetype");
430
		if($(this).hasClass('btn-pressed')) {
431
			messageType="";
432
			$('div.message-filter').find('button').removeClass('btn-pressed').addClass('btn-default');
433
		} else {
434
			$('div.message-filter').find('button').removeClass('btn-pressed').addClass('btn-default');
435
			$(this).addClass('btn-pressed').removeClass('btn-default');
436
		}
437
		notifyTypeChange(messageType);
26166 amit.gupta 438
	});*/
26010 amit.gupta 439
</script>
26318 tejbeer 440
	<div id="report-modal" class="modal" role="dialog" data-backdrop="static" data-keyboard="false">
26063 amit.gupta 441
		<div class="modal-dialog">
442
 
443
		    <!-- Modal content-->
444
		    <div class="modal-content">
445
		      <div class="modal-header">
446
		        <button type="button" class="close" data-dismiss="modal">&times;</button>
447
		        <h4 class="modal-title"></h4>
448
		      </div>
449
		      <div class="modal-body">
450
			  </div>
451
			  <div class="modal-footer">
452
		        <button type="button" data-dismiss="modal" class="btn btn-default download-report">Download</button>
453
		      </div>
454
	    	</div>
455
		</div>
456
	</div>
26010 amit.gupta 457
 
458
  </body>
459
</html>