Subversion Repositories SmartDukaan

Rev

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

Rev Author Line No. Line
23405 amit.gupta 1
<style>
2
	.btn:hover{
3
  		color: grey;
4
  		text-decoration: none;
5
	}
6
	.btn-primary:hover{
7
  		color: grey;
8
  		text-decoration: none;
9
	}
10
	.retailer-details{
11
		cursor:pointer;
12
	}
26176 tejbeer 13
	.indentMessage{
14
	text-transform: lowercase;
15
	display: inline-block;
16
	}
17
	.indentMessage:first-letter{
18
	text-transform: UpperCase;
19
	}
23405 amit.gupta 20
</style>
21
 
22
<section class="wrapper">            
23
	<div class="row">
24
		<div class="col-lg-12">
23796 amit.gupta 25
		#if ($isAdmin)
23786 amit.gupta 26
			<h3 class="page-header"><i class="icon_document_alt"></i>Create/Edit Allocation</h3>
23405 amit.gupta 27
			<ol class="breadcrumb">
28
				<li><i class="fa fa-home"></i><a href="${rc.contextPath}/dashboard">Home</a></li>
23786 amit.gupta 29
				#if($retailerName)
30
				<script type="text/javascript">
31
					currentFofoId=${retailerId};
32
				</script>
33
				<li><i class="icon_document_alt"></i><b>Allocation for $retailerName (Counter Size - $counterSize)</b></li>
34
				#else
35
				<li><i class="icon_document_alt"></i><b>Standard Allocation (Counter Size - $counterSize)</b></li>
36
				#end
23405 amit.gupta 37
			</ol>
23796 amit.gupta 38
		#else
26176 tejbeer 39
			<h3 class="page-header"><i class="icon_document_alt"></i>My Business Plan <span style ="font-size:18px";>(Open from <b>26<sup>th</sup> to 7<sup>th</sup></b> of each Month)</span></h3>
26082 tejbeer 40
 
23796 amit.gupta 41
		#end
23405 amit.gupta 42
		</div>
26131 tejbeer 43
 
44
 
23405 amit.gupta 45
	</div>
46
 
47
    <div>
23796 amit.gupta 48
    	#if ($isAdmin)
23786 amit.gupta 49
    	<div class="row">
50
    		<div class="col-lg-3">
51
                <div class="input-group">
52
			    	<input id="partnerId" type="text" class="typeahead form-control form-control-sm" placeholder="Search Partner by Store" data-provide="typeahead" 
53
			    	 #if(${retailerName}) value="${retailerName}" #end
54
			    	 autocomplete="off"/>
55
	               	<div class="input-group-btn">
56
		    			<button class="create_indent btn btn-primary">Get Partner Allocation</button>
24229 amit.gupta 57
		    			<button class="download_indent btn btn-primary">Download</button>
23786 amit.gupta 58
		    		</div>
59
		    	</div>
60
    		</div>
61
		    <div class="col-lg-3">
62
			    <div class="dropdown">
63
			 		<button class="btn btn-primary dropdown-toggle" type="button" data-toggle="dropdown">Change Counter Size
64
					  <span class="caret"></span></button>
65
					  <ul class="dropdown-menu">
66
					  #foreach($counterSiz in $counterSizes)
67
					    <li class="mk_counter_size #if(${counterSiz}==${counterSize}) active#end"><a href="javascript:void(0)">$counterSiz</a></li>
68
					  #end
69
			  		</ul>
70
				</div>
71
	    	</div>
72
    	</div>
23796 amit.gupta 73
    	#end
26176 tejbeer 74
 
75
    	<div class="row">
76
    		   <div class="col-lg-3" style="text-align:left;">
77
 
78
						<button type="button" class="btn btn-default previous-month" aria-label="Previous" >
79
							$previousPlanningMonth</button> 
80
						<button type="button" class="btn btn-default current-month" aria-label="Current" >
81
							$currentPlanningMonth</button> 
82
	           	</div>
83
 
84
	         #if($freezed&&$planningMonth)
85
			<div style = "font-size:20px;font-weight:bold;color:red;"  class="indentMessage"> $planningMonth Month Planning is <b>Closed</b></div>
86
			#else
87
			<div style = "font-size:20px;font-weight:bold;color:Green;" >$planningMonth Month Planning is <b>Open</b></div>
88
			#end
89
    	</div>
23405 amit.gupta 90
	         <div class="row">
26176 tejbeer 91
 
25721 tejbeer 92
	    		<div class="col-lg-8" id="indent-container">
26176 tejbeer 93
 
23405 amit.gupta 94
	    			<table class="table table-striped table-condensed table-bordered" id="entire-catalog-table">
95
		    			<thead>
96
				            <tr>
97
								<th>Id</th>
25721 tejbeer 98
	    						<th style="width:30%">Description</th>
24229 amit.gupta 99
	    						<th style="width:12%">DP</th>
23405 amit.gupta 100
	    						<th>MOP</th>
25721 tejbeer 101
	    						<th style="width:20%">Planned Qty</th>
26176 tejbeer 102
	    						#if($previousMonth||$mtd)
26131 tejbeer 103
	    						<th style="width:6%">Sale</th>
104
	    						#else		
25721 tejbeer 105
	    						<th style="width:6%">15 days sale</th>
26131 tejbeer 106
	    						#end
23855 amit.gupta 107
	    						<th style="width:9%">In Stock</th>
108
	    						<th style="width:9%">In Transit</th>
25721 tejbeer 109
	    						<th style="width:6%">Recommended</th>
110
	    						<th style="width:6%">Minimum</th>
111
 
26176 tejbeer 112
	    						<th>Remaining</th>
113
 
114
 
23405 amit.gupta 115
				            </tr>
116
				        </thead>
117
	    				<tbody>
24229 amit.gupta 118
	    					#foreach( $modelListing in $catalogTagListings )
23405 amit.gupta 119
	    					<tr>
24229 amit.gupta 120
	    						<td>$modelListing.getCatalogId()</td>
25701 amit.gupta 121
	    						<td>$modelListing.getItemDescription()</td>
24229 amit.gupta 122
	    						<td class="currency">$modelListing.getDp()</td>
123
	    						<td class="currency">$modelListing.getMop()</td>
26131 tejbeer 124
	    						#if($freezed&&$previousMonth)
23796 amit.gupta 125
	    						<td>
24229 amit.gupta 126
	    						<input type="number" min="0" max="20" 
127
	    						data-catalog-id="$modelListing.getCatalogId()"
128
	    						data-selling-price="$modelListing.getDp()"
25721 tejbeer 129
	    						data-brand-name="$modelListing.getBrand()"
24229 amit.gupta 130
	    						data-description="$modelListing.getItemDescription()" 
25721 tejbeer 131
	    						value="$modelListing.getAllocatedQuantity()" readonly/>
132
	    						</td>
26131 tejbeer 133
	    						#elseif($freezed)
25721 tejbeer 134
	    						<td>
26131 tejbeer 135
	    						<input type="number" min="0" max="20" 
136
	    						data-catalog-id="$modelListing.getCatalogId()"
137
	    						data-selling-price="$modelListing.getDp()"
138
	    						data-brand-name="$modelListing.getBrand()"
139
	    						data-description="$modelListing.getItemDescription()" 
140
	    						value="$modelListing.getAllocatedQuantity()" readonly/>
141
	    						</td>
142
	    						#else 
143
	    						<td>
25721 tejbeer 144
						    	<input type="number" min="0" max="20" 
145
	    						data-catalog-id="$modelListing.getCatalogId()"
146
	    						data-selling-price="$modelListing.getDp()"
147
	    						data-brand-name="$modelListing.getBrand()"
148
	    						data-description="$modelListing.getItemDescription()" 
149
	    						value="$modelListing.getAllocatedQuantity()"/> 						
150
	    						</td>
23796 amit.gupta 151
	    						#end
26131 tejbeer 152
	    						#if($previousMonth)
153
	    						<td>$modelListing.getLastMonthSaleMap()</td>
26176 tejbeer 154
	    						#elseif($mtd)
155
	    						<td>$modelListing.getLast15DaysSale()</td>
26131 tejbeer 156
	    						#else
25721 tejbeer 157
	    						<td>$modelListing.getLast15DaysSale()</td>
26131 tejbeer 158
	    						#end
24229 amit.gupta 159
	    						<td>$modelListing.getStockInHand()</td>
160
	    						<td>$modelListing.getInTransitQuantity()</td>
25721 tejbeer 161
	    						<td>$modelListing.getRecommendedQty()</td>
162
	    						<td>$modelListing.getMinimumQty()</td>
26176 tejbeer 163
	    						#if($mtd)
164
	    						<td>$modelListing.getRemaining()</td>
165
	    						#else
166
	    						<td></td>
167
	    						#end
23405 amit.gupta 168
	    					</tr>
169
	    					#end
170
	    				</tbody>
171
	    			</table>
172
	    		</div>
23786 amit.gupta 173
	    		<div class="col-lg-7" id="indent-container1" style="display:none"></div>
174
	    		<div class="col-lg-4">
23405 amit.gupta 175
	    			<div class="panel panel-default">
25721 tejbeer 176
	    			#if(!$isAdmin)
177
	                <div class="panel-heading">Allocation Update Summary #if($retailerName) (Counter Size - $counterSize) #end</div>
23405 amit.gupta 178
	                  <div class="panel-content">
25721 tejbeer 179
		                  <div id="plansummary">
180
		                  </div>
181
		                  <div id="planbuttons">
182
					       <!--  <button class="btn btn-primary mk_submit_indent">Update Allocation</button>
183
					          <button class="btn btn-primary bk_toedit_indent" style="display:none">Edit</button> -->
184
 
26131 tejbeer 185
					          #if($freezed&&$previousMonth)
186
					           <button class="btn btn-primary confirm_indent" disabled>Confirm Update</button>
187
					          #elseif($freezed)
25721 tejbeer 188
					          <button class="btn btn-primary confirm_indent" disabled>Confirm Update</button>
189
					          #else
190
					           <button class="btn btn-primary confirm_indent" style="display:none">Confirm Update</button>
191
					          #end
192
				          </div>
23405 amit.gupta 193
	                  </div>
194
                	</div>
23796 amit.gupta 195
                	#else
196
                	#set($diff=$totalAmount - $walletAmount)
197
	                <div class="panel-heading">PO Summary(Total Amount in Wallet - <span class="currency">$walletAmount</span>)</div>
198
	                  <div class="panel-content">
199
	                  	<table class="table table-sm" id="summary-table">
200
	                  		  <thead>
201
							    <tr>
202
							      <th class="col">#</th>
203
							      <th class="col">Total Pcs</th>
204
							      <th class="col">Amount to Pay</th>
205
							      <th class="col">Action</th>
206
							    </tr>
207
							  </thead>
208
							  <tbody>
209
							  #**
210
							    <tr>
211
							      <th class="row">Partial PO</th>
212
							      <td>$partialPcs</td>
213
							      <td>$partialAmount</td>
214
							      <td><button class="btn btn-sm btn-primary confirm_indent #if(${diff} > 0)disabled#end"
215
							      >Raise Partial PO</button></td>
216
							    </tr>
217
							   **#
218
							    <tr>
219
							      <th class="row">Complete PO</th>
220
							      <td>$totalPcs</td>
221
							      <td class="currency">$totalAmount</td>
222
							      #if($totalPcs)
223
							      <td><button class="btn btn-primary raise_po#if($diff > 0) disabled#end">Raise Complete PO</button></td>
224
							      #else
225
							      <td>Nothing to order!</td>
226
							      #end
227
							    </tr>
228
							  </tbody>	
229
	                  	</table>
230
	                  #if($diff>0)
231
	                  	<div class="alert alert-warning">
232
							<medium>Please add Rs.<span class="currency">$diff</span> to complete this transaction.</meduim>
233
						</div>
234
					  #end
235
	                  </div>
236
                	</div>
237
                	#end
25736 tejbeer 238
 
239
 
240
    	         	<div class="panel panel-default">
241
	    			#if(!$isAdmin)
242
	                <div class="panel-heading">Brand Stock</div>
243
	                  <div class="panel-content">
244
		                 <table class="table table-sm" id="stock-table">
245
	                  		  <thead>
246
							    <tr>
247
							      <th>Brand</th>
248
							      <th>Qty(pc)</th>
249
							      <th>Value</th>
250
 
251
							    </tr>
252
							  </thead>
253
							  <tbody>
254
 
255
							   #foreach( $brandStockPrice in $brandStockPrices )
256
			    				<tr class="stockInfo" >
257
			    					<td>$brandStockPrice.getBrand()</td>
258
			    					<td>$brandStockPrice.getTotalQty()</td>
259
			    					<td><span class="currency">$brandStockPrice.getTotalValue()</span></td>
260
							    </tr>
261
							    #end
262
							   </tbody>
263
							</table>
264
	                  </div>
265
                  	</div>
266
    	          #end
267
    	        </div>
268
 
23796 amit.gupta 269
                	#if($isAdmin)
23786 amit.gupta 270
                	<div class="panel panel-default">
271
                		<div class="panel-heading">Brandwise Target and Performance</div>
272
                		<div class="panel-content">
273
                		<ul class="nav nav-tabs">
274
						  <li role="presentation" class="active brandLi"><a href="javascript:void(0)">Mobiles</a></li>
275
						  <li role="presentation" class="brandLi"><a href="javascript:void(0)">Accessories</a></li>
276
						</ul>
277
 
278
						<table class="brandPerformance table table-striped table-condensed table-bordered">
279
							<thead>
280
								<tr>
281
									<th rowspan="2">Brand Name</th>
282
									<th rowspan="2" align="center">Target Value</th>
283
									<th colspan="2" align="center">Achieved</th>
284
									<th colspan="2">Brand Share(%)</th>
285
								</tr>
286
								<tr>
287
									<th>Value</th>
288
									<th>Percentage</th>
289
									<th>Target</th>
290
									<th>Achieved</th>
291
								</tr>
292
							</thead>
293
							<tbody>
294
							#foreach($brandPerformance in $brandPerformanceList)
295
								<tr>
296
									<th>$brandPerformance.getBrandName()</th>
297
									<td class="currency">$brandPerformance.getTarget()</td>
298
									<td class="currency">$brandPerformance.getAchieved()</td>
299
									<td>$brandPerformance.getAchievedPercentage()%</td>
300
									<td>$brandPerformance.getBrandTargetShare()</td>
301
									<td>$brandPerformance.getBrandAchievedShare()</td>
302
								</tr>
303
							#end
304
							<tbody>
305
							</tbody>
306
						</table>
307
						<table style="display:none" class="table brandPerformance table-striped table-condensed table-bordered">
308
							<thead>
309
								<tr>
310
									<th rowspan="2">Brand Name</th>
311
									<th rowspan="2" align="center">Target Value</th>
312
									<th colspan="2" align="center">Achieved</th>
313
									<th colspan="2">Brand Share(%)</th>
314
								</tr>
315
								<tr>
316
									<th>Value</th>
317
									<th>Percentage</th>
318
									<th>Target</th>
319
									<th>Achieved</th>
320
								</tr>
321
							</thead>
322
							<tbody>
323
							#foreach($brandPerformance in $accsBrandPerformanceList)
324
								<tr>
325
									<th>$brandPerformance.getBrandName()</th>
326
									<td>$brandPerformance.getTarget()</td>
327
									<td>$brandPerformance.getAchieved()</td>
328
									<td>$brandPerformance.getAchievedPercentage()%</td>
329
									<td>$brandPerformance.getBrandTargetShare()</td>
330
									<td>$brandPerformance.getBrandAchievedShare()</td>
331
								</tr>
332
							#end
333
							<tbody>
334
							</tbody>
335
						</table>
336
                		</div>
337
 
338
                	</div>
23796 amit.gupta 339
                	#end
23405 amit.gupta 340
	    		</div>
341
	    	</div>
342
    	</div>
25736 tejbeer 343
 
344
 
23405 amit.gupta 345
</section>
346
<script type="text/javascript">
23796 amit.gupta 347
totalAmount = $totalAmount;
23405 amit.gupta 348
/* Create an array with the values of all the input boxes in a column */
349
$.fn.dataTable.ext.order['dom-text'] = function  ( settings, col )
350
{
351
    return this.api().column( col, {order:'index'} ).nodes().map( function ( td, i ) {
352
        return $('input', td).val();
353
    } );
354
}
355
 
356
/* Create an array with the values of all the input boxes in a column, parsed as numbers */
357
$.fn.dataTable.ext.order['dom-text-numeric'] = function  ( settings, col )
358
{
359
    return this.api().column( col, {order:'index'} ).nodes().map( function ( td, i ) {
360
        return $('input', td).val() * 1;
361
    } );
362
}
363
 
364
/* Create an array with the values of all the select options in a column */
365
$.fn.dataTable.ext.order['dom-select'] = function  ( settings, col )
366
{
367
    return this.api().column( col, {order:'index'} ).nodes().map( function ( td, i ) {
368
        return $('select', td).val();
369
    } );
370
}
371
 
372
/* Create an array with the values of all the checkboxes in a column */
373
$.fn.dataTable.ext.order['dom-checkbox'] = function  ( settings, col )
374
{
375
    return this.api().column( col, {order:'index'} ).nodes().map( function ( td, i ) {
376
        return $('input', td).prop('checked') ? '1' : '0';
377
    } );
378
}
379
 
380
/* Initialise the table with the required column ordering data types */
23786 amit.gupta 381
var customRetailers = ${customRetailers};
23405 amit.gupta 382
$(document).ready(function() {
26176 tejbeer 383
 
23405 amit.gupta 384
    indentTable = $('#entire-catalog-table').DataTable({
23786 amit.gupta 385
    	"scrollY":"600px",
23405 amit.gupta 386
    	"columns": [
25736 tejbeer 387
 
388
 
389
            { "visible": false }, null,null, null,
26176 tejbeer 390
            { "orderDataType": "dom-text-numeric" }, null, null, null,null,null,null
23786 amit.gupta 391
        ],
23796 amit.gupta 392
        "lengthMenu":[[25,50],[25,50]],
393
        "order": []
23405 amit.gupta 394
	});
26176 tejbeer 395
 
23405 amit.gupta 396
	indentMap = {};
397
	indentTable.rows().data().each(function(arr){
23796 amit.gupta 398
		var $input = $(arr[4]);
23405 amit.gupta 399
		quantity = parseInt($input.val(), 10);
400
		if(quantity > 0){
25721 tejbeer 401
			 var brandName = arr[1].split(" ")[0];
402
			 if(indentMap[brandName] == undefined) {
403
				 indentMap[brandName] = {};
404
			 }
405
			 indentMap[brandName][parseInt(arr[0])] 
406
			 					= {"initialQuantity": quantity, "quantity": quantity, 
407
			 					"sellingPrice":parseInt(arr[2]), "description": arr[1], "diff":0};
23405 amit.gupta 408
	    }
25721 tejbeer 409
	})
23884 amit.gupta 410
	$("#partnerId").typeahead({
23786 amit.gupta 411
	  source: customRetailers,
412
	  autoSelect: true,
413
	  displayText:function(item){return item.businessName + "-" + item.address.city;},
414
	  afterSelect:	function(currentItem){
415
	  					currentFofoId = currentItem.partnerId;
416
	  				}
417
	});
25701 amit.gupta 418
	populateIndentSummary();
23405 amit.gupta 419
});
420
 
421
</script>