| 32203 |
amit.gupta |
1 |
<div class="modal-header">
|
|
|
2 |
<button type="button" class="close" id="cancel-model" data-dismiss="modal">×</button>
|
|
|
3 |
<h4 class="modal-title">Terms & Conditions</h4>
|
|
|
4 |
</div>
|
| 35415 |
amit |
5 |
|
| 32203 |
amit.gupta |
6 |
<div class="modal-body" style="height:500px;overflow:auto">
|
|
|
7 |
<div style="margin-top: 15px;" class="offer-margin-table">
|
|
|
8 |
|
| 35415 |
amit |
9 |
## Offer Description
|
| 32203 |
amit.gupta |
10 |
<div class="row">
|
|
|
11 |
<div class="col-lg-12">
|
| 35415 |
amit |
12 |
<div style="font-size:20px; font-weight:bold" class="pull-left">
|
|
|
13 |
$vmUtils.html($offer.getDescription())
|
|
|
14 |
</div>
|
| 32203 |
amit.gupta |
15 |
</div>
|
|
|
16 |
</div>
|
| 35415 |
amit |
17 |
|
| 35396 |
amit |
18 |
<div class="row">
|
| 35415 |
amit |
19 |
## Base Criteria Section (if applicable)
|
| 32203 |
amit.gupta |
20 |
#if($offer.isBaseCriteria())
|
| 35415 |
amit |
21 |
<div class="col-lg-12">
|
|
|
22 |
<h5 style="text-align: left">Base Criteria - </h5>
|
|
|
23 |
<div style="text-align:left">$offer.getItemCriteriaString()</div>
|
|
|
24 |
</div>
|
| 32203 |
amit.gupta |
25 |
#end
|
| 35415 |
amit |
26 |
|
|
|
27 |
## Main Offer Table
|
| 32203 |
amit.gupta |
28 |
<div class="col-lg-12">
|
|
|
29 |
<table class="table table-bordered table-sm">
|
| 35415 |
amit |
30 |
|
|
|
31 |
## ===== TABLE HEADER =====
|
| 32203 |
amit.gupta |
32 |
<thead>
|
| 35415 |
amit |
33 |
<tr>
|
|
|
34 |
<th rowspan="2">Models</th>
|
|
|
35 |
<th rowspan="2">Target</th>
|
|
|
36 |
|
| 35668 |
amit |
37 |
## Base Sale columns - only for retailers (not admin)
|
| 35415 |
amit |
38 |
#if(!$isAdmin)
|
|
|
39 |
#if($offer.isActivation())
|
| 35668 |
amit |
40 |
<th colspan="2">Base Sale</th>
|
| 35415 |
amit |
41 |
#else
|
|
|
42 |
<th rowspan="2">Billed</th>
|
|
|
43 |
#end
|
|
|
44 |
#end
|
|
|
45 |
|
| 35668 |
amit |
46 |
## Model Sale columns - only for retailers when baseCriteria=true
|
|
|
47 |
#if(!$isAdmin && $offer.isBaseCriteria())
|
| 35415 |
amit |
48 |
#if($offer.isActivation())
|
| 35668 |
amit |
49 |
<th colspan="2">Model Sale</th>
|
| 35415 |
amit |
50 |
#else
|
|
|
51 |
<th rowspan="2">Billed</th>
|
|
|
52 |
#end
|
|
|
53 |
#end
|
| 35668 |
amit |
54 |
|
| 35675 |
amit |
55 |
<th rowspan="2">Payout Rate</th>
|
|
|
56 |
|
| 35668 |
amit |
57 |
## Est. Payout column - only for retailers
|
|
|
58 |
#if(!$isAdmin)
|
|
|
59 |
<th rowspan="2">Est. Payout</th>
|
|
|
60 |
#end
|
| 35415 |
amit |
61 |
</tr>
|
|
|
62 |
|
|
|
63 |
## Sub-headers for Activation offers (Billed/Activated) - only for retailers
|
|
|
64 |
#if(!$isAdmin && $offer.isActivation())
|
|
|
65 |
<tr>
|
|
|
66 |
<th style="background-color: darkgray">Billed</th>
|
|
|
67 |
<th>Activated</th>
|
| 35668 |
amit |
68 |
#if($offer.isBaseCriteria())
|
| 35415 |
amit |
69 |
<th style="background-color: darkgray">Billed</th>
|
|
|
70 |
<th>Activated</th>
|
| 35668 |
amit |
71 |
#end
|
| 35415 |
amit |
72 |
</tr>
|
| 35396 |
amit |
73 |
#end
|
| 35415 |
amit |
74 |
</thead>
|
|
|
75 |
|
|
|
76 |
## ===== TABLE BODY =====
|
|
|
77 |
<tbody>
|
|
|
78 |
#foreach($itemCriteriaPayout in $offer.getTargetSlabs().get(0).getItemCriteriaPayouts())
|
|
|
79 |
|
| 35668 |
amit |
80 |
## Set up model variables for this criteria (with null guard for admin view)
|
|
|
81 |
#if($offer.getCriteriaQtyAmountModel())
|
|
|
82 |
#set($criteriaItemQtyModel = $offer.getCriteriaQtyAmountModel().get($itemCriteriaPayout.getItemCriteria().getId()))
|
|
|
83 |
#if($offer.isBaseCriteria())
|
|
|
84 |
#set($baseItemCriteriaQtyAmountModel = $offer.getCriteriaQtyAmountModel().get(0))
|
|
|
85 |
#else
|
|
|
86 |
#set($baseItemCriteriaQtyAmountModel = $criteriaItemQtyModel)
|
|
|
87 |
#end
|
| 35396 |
amit |
88 |
#end
|
| 35415 |
amit |
89 |
|
|
|
90 |
## Helper variables for readability
|
|
|
91 |
#set($isQuantityPayout = $offer.getPayoutType().name().equals("QUANTITY"))
|
|
|
92 |
#set($isSellinOrSellout = $offer.isSellin() || $offer.isSellout())
|
|
|
93 |
#set($isPercentage = $itemCriteriaPayout.getAmountType().name().equals("PERCENTAGE"))
|
|
|
94 |
#set($isFixed = $itemCriteriaPayout.getAmountType().name().equals("FIXED"))
|
|
|
95 |
|
|
|
96 |
#foreach($payoutSlab in $itemCriteriaPayout.getPayoutSlabs())
|
|
|
97 |
#set($rowspan = $itemCriteriaPayout.getPayoutSlabs().size())
|
|
|
98 |
#set($isFirstRow = $velocityCount == 1)
|
|
|
99 |
#set($selectedStyle = "")
|
|
|
100 |
#if($payoutSlab.isSelected())
|
|
|
101 |
#set($selectedStyle = "background-color: lightgreen")
|
| 35396 |
amit |
102 |
#end
|
|
|
103 |
|
| 35415 |
amit |
104 |
<tr>
|
|
|
105 |
## Column 1: Models (only on first row with rowspan)
|
|
|
106 |
#if($isFirstRow)
|
|
|
107 |
<td style="text-align:left" rowspan="$rowspan">
|
| 36054 |
amit |
108 |
#if($itemCriteriaPayout.getItemCriteriaString() && $itemCriteriaPayout.getItemCriteriaString().trim() != "" && $itemCriteriaPayout.getItemCriteriaString() != "All Brands")
|
|
|
109 |
$itemCriteriaPayout.getItemCriteriaString()
|
|
|
110 |
#else
|
|
|
111 |
$offer.getItemCriteriaString()
|
|
|
112 |
#end
|
|
|
113 |
<br>
|
| 35745 |
amit |
114 |
#if($itemCriteriaPayout.getStartDate() && $itemCriteriaPayout.getEndDate())
|
| 35415 |
amit |
115 |
<span style="font-weight: bold;">Payout Date - </span>
|
|
|
116 |
<span>$itemCriteriaPayout.getStartDate().format($dateFormatter) to $itemCriteriaPayout.getEndDate().format($dateFormatter)</span>
|
| 32203 |
amit.gupta |
117 |
#end
|
| 35745 |
amit |
118 |
#if(!$isAdmin)
|
|
|
119 |
#if($itemCriteriaPayout.getNextSlab() && $itemCriteriaPayout.getNextSlab().getOnwardsAmount() > 1)
|
|
|
120 |
<br>
|
|
|
121 |
<span style="color:#e67e22; font-size:13px;">
|
|
|
122 |
#if($isQuantityPayout)
|
|
|
123 |
Just <strong>$itemCriteriaPayout.getShortValue() pcs</strong> away from next slab
|
|
|
124 |
(<strong>$itemCriteriaPayout.getNextSlab().getOnwardsAmount() pcs</strong>)!
|
|
|
125 |
#else
|
|
|
126 |
Just <strong>Rs.<span class="currency">$itemCriteriaPayout.getShortValue()</span></strong> away from next slab
|
|
|
127 |
(<strong>Rs.<span class="currency">$itemCriteriaPayout.getNextSlab().getOnwardsAmount()</span></strong>)!
|
|
|
128 |
#end
|
|
|
129 |
</span>
|
|
|
130 |
#elseif($itemCriteriaPayout.getCurrentSlab())
|
|
|
131 |
<br>
|
|
|
132 |
<span style="color:#27ae60; font-size:13px;">
|
|
|
133 |
Max slab achieved! Earning highest payout rate.
|
|
|
134 |
</span>
|
|
|
135 |
#end
|
|
|
136 |
#end
|
| 35415 |
amit |
137 |
</td>
|
|
|
138 |
#end
|
| 35396 |
amit |
139 |
|
| 35415 |
amit |
140 |
## Column 2: Target
|
|
|
141 |
#if($isQuantityPayout)
|
|
|
142 |
<td style="$selectedStyle">$payoutSlab.getOnwardsAmount() pcs Onwards</td>
|
|
|
143 |
#else
|
|
|
144 |
<td style="$selectedStyle">Rs.<span class="currency">$payoutSlab.getOnwardsAmount()</span> Onwards</td>
|
|
|
145 |
#end
|
|
|
146 |
|
| 35668 |
amit |
147 |
## Column 3-4: Base Sale (Billed/Activated) - ONLY FOR RETAILERS
|
| 35415 |
amit |
148 |
#if(!$isAdmin)
|
|
|
149 |
#if($isQuantityPayout)
|
|
|
150 |
#if($isSellinOrSellout)
|
| 35396 |
amit |
151 |
<td>$baseItemCriteriaQtyAmountModel.getQty()</td>
|
|
|
152 |
#else
|
| 35415 |
amit |
153 |
#if($isFirstRow)
|
| 35396 |
amit |
154 |
<td rowspan="$rowspan">$baseItemCriteriaQtyAmountModel.getQty()</td>
|
|
|
155 |
<td rowspan="$rowspan">$baseItemCriteriaQtyAmountModel.getActivationQty()</td>
|
|
|
156 |
#end
|
|
|
157 |
#end
|
|
|
158 |
#else
|
| 35415 |
amit |
159 |
#if($isSellinOrSellout)
|
| 35396 |
amit |
160 |
<td><span class="currency">$baseItemCriteriaQtyAmountModel.getAmount()</span></td>
|
|
|
161 |
#else
|
| 35415 |
amit |
162 |
#if($isFirstRow)
|
|
|
163 |
<td rowspan="$rowspan"><span class="currency" style="color: darkgrey">$baseItemCriteriaQtyAmountModel.getAmount()</span></td>
|
|
|
164 |
<td rowspan="$rowspan"><span class="currency">$baseItemCriteriaQtyAmountModel.getActivationAmount()</span></td>
|
| 35396 |
amit |
165 |
#end
|
|
|
166 |
#end
|
|
|
167 |
#end
|
| 35415 |
amit |
168 |
#end
|
| 35396 |
amit |
169 |
|
| 35675 |
amit |
170 |
## Column 5-6: Model Sale (Billed/Activated) - ONLY FOR RETAILERS when baseCriteria=true
|
| 35668 |
amit |
171 |
#if(!$isAdmin && $offer.isBaseCriteria() && $isFirstRow)
|
| 35415 |
amit |
172 |
#if($isPercentage)
|
|
|
173 |
#if($isSellinOrSellout)
|
|
|
174 |
<td><span class="currency">$criteriaItemQtyModel.getAmount()</span></td>
|
|
|
175 |
#else
|
|
|
176 |
<td rowspan="$rowspan"><span class="currency">$criteriaItemQtyModel.getAmount()</span></td>
|
|
|
177 |
<td rowspan="$rowspan"><span class="currency">$criteriaItemQtyModel.getActivationAmount()</span></td>
|
| 35396 |
amit |
178 |
#end
|
| 35415 |
amit |
179 |
#elseif($isFixed)
|
|
|
180 |
#if($isSellinOrSellout)
|
|
|
181 |
<td>$criteriaItemQtyModel.getQty()</td>
|
|
|
182 |
#else
|
|
|
183 |
<td rowspan="$rowspan">$criteriaItemQtyModel.getQty()</td>
|
|
|
184 |
<td rowspan="$rowspan">$criteriaItemQtyModel.getActivationQty()</td>
|
| 35396 |
amit |
185 |
#end
|
| 32203 |
amit.gupta |
186 |
#else
|
| 35415 |
amit |
187 |
#if($isSellinOrSellout)
|
|
|
188 |
<td rowspan="$rowspan">$criteriaItemQtyModel.getQty()</td>
|
|
|
189 |
#else
|
|
|
190 |
<td rowspan="$rowspan">$criteriaItemQtyModel.getQty()</td>
|
|
|
191 |
<td rowspan="$rowspan">$criteriaItemQtyModel.getActivationQty()</td>
|
| 35396 |
amit |
192 |
#end
|
| 32203 |
amit.gupta |
193 |
#end
|
|
|
194 |
#end
|
| 35668 |
amit |
195 |
|
| 35675 |
amit |
196 |
## Column 7: Payout On
|
|
|
197 |
#if($isPercentage)
|
|
|
198 |
<td style="$selectedStyle">$payoutSlab.getPayoutAmount()%</td>
|
|
|
199 |
#elseif($isFixed)
|
|
|
200 |
<td style="$selectedStyle">Rs.<span class="currency">$payoutSlab.getPayoutAmount()</span> per pc</td>
|
|
|
201 |
#else
|
|
|
202 |
<td style="$selectedStyle">Rs.<span class="currency">$payoutSlab.getPayoutAmount()</span></td>
|
|
|
203 |
#end
|
|
|
204 |
|
| 35668 |
amit |
205 |
## Column 8: Est. Payout - ONLY FOR RETAILERS on first row
|
|
|
206 |
#if(!$isAdmin && $isFirstRow && $criteriaItemQtyModel)
|
|
|
207 |
<td rowspan="$rowspan">Rs.<span class="currency">$criteriaItemQtyModel.getFinalPayout()</span></td>
|
|
|
208 |
#end
|
| 35415 |
amit |
209 |
</tr>
|
| 32203 |
amit.gupta |
210 |
#end
|
| 35415 |
amit |
211 |
#end
|
| 32203 |
amit.gupta |
212 |
</tbody>
|
|
|
213 |
</table>
|
| 33713 |
tejus.loha |
214 |
<br>
|
| 32203 |
amit.gupta |
215 |
</div>
|
|
|
216 |
</div>
|
|
|
217 |
</div>
|
|
|
218 |
|
| 35415 |
amit |
219 |
## Notes and Terms Section
|
| 32203 |
amit.gupta |
220 |
<div class="row">
|
|
|
221 |
<div class="col-lg-12">
|
|
|
222 |
<ul id="descriptionMenu" style="text-align:left">
|
|
|
223 |
#if($offer.getOfferNotes() && !$offer.getOfferNotes().equals(""))
|
| 35415 |
amit |
224 |
<li>Note - $vmUtils.html($offer.getOfferNotes())</li>
|
| 32203 |
amit.gupta |
225 |
#end
|
|
|
226 |
</ul>
|
|
|
227 |
|
| 35396 |
amit |
228 |
<div class="termContainer ck-content" style="text-align:left">
|
| 34045 |
amit.gupta |
229 |
$offer.getTerms()
|
| 32203 |
amit.gupta |
230 |
</div>
|
|
|
231 |
</div>
|
|
|
232 |
</div>
|
| 35415 |
amit |
233 |
</div>
|
| 32203 |
amit.gupta |
234 |
|
| 35925 |
amit |
235 |
## Edit Targets & Payouts Section - Admin Only
|
| 35886 |
amit |
236 |
#if($isAdmin)
|
|
|
237 |
<div class="row" style="margin-top:20px;">
|
|
|
238 |
<div class="col-lg-12">
|
| 35925 |
amit |
239 |
<h5><strong>Edit Targets & Payouts</strong></h5>
|
|
|
240 |
#if($offer.getTargetSlabs() && $offer.getTargetSlabs().size() > 0)
|
|
|
241 |
<table class="table table-bordered table-sm" id="edit-slabs-table" data-offerid="$offer.getId()">
|
|
|
242 |
<thead>
|
|
|
243 |
<tr>
|
|
|
244 |
<th>Models</th>
|
|
|
245 |
<th>Slab</th>
|
|
|
246 |
<th>Target</th>
|
|
|
247 |
<th>Payout</th>
|
|
|
248 |
</tr>
|
|
|
249 |
</thead>
|
|
|
250 |
<tbody>
|
|
|
251 |
#foreach($itemCriteriaPayout in $offer.getTargetSlabs().get(0).getItemCriteriaPayouts())
|
|
|
252 |
#set($slabIndex = 0)
|
|
|
253 |
#foreach($payoutSlab in $itemCriteriaPayout.getPayoutSlabs())
|
|
|
254 |
#set($slabIndex = $slabIndex + 1)
|
|
|
255 |
<tr>
|
|
|
256 |
#if($slabIndex == 1)
|
|
|
257 |
<td rowspan="$itemCriteriaPayout.getPayoutSlabs().size()" style="vertical-align:middle;">
|
| 36054 |
amit |
258 |
#if($itemCriteriaPayout.getItemCriteriaString() && $itemCriteriaPayout.getItemCriteriaString().trim() != "" && $itemCriteriaPayout.getItemCriteriaString() != "All Brands")
|
|
|
259 |
$itemCriteriaPayout.getItemCriteriaString()
|
|
|
260 |
#else
|
|
|
261 |
$offer.getItemCriteriaString()
|
|
|
262 |
#end
|
| 35925 |
amit |
263 |
</td>
|
|
|
264 |
#end
|
|
|
265 |
<td>Slab $slabIndex</td>
|
|
|
266 |
<td><input type="number" class="form-control form-control-sm edit-slab-target"
|
|
|
267 |
data-slabid="$payoutSlab.getId()" value="$payoutSlab.getOnwardsAmount()" style="width:120px;"></td>
|
|
|
268 |
<td>
|
|
|
269 |
<div style="display:flex;align-items:center;gap:4px;">
|
|
|
270 |
<input type="number" step="0.01" class="form-control form-control-sm edit-slab-payout"
|
|
|
271 |
data-slabid="$payoutSlab.getId()" value="$payoutSlab.getPayoutAmount()" style="width:120px;">
|
|
|
272 |
#if($itemCriteriaPayout.getAmountType().name() == "PERCENTAGE")%#elseif($itemCriteriaPayout.getAmountType().name() == "FIXED")/pc#else(fixed)#end
|
|
|
273 |
</div>
|
|
|
274 |
</td>
|
|
|
275 |
</tr>
|
| 35886 |
amit |
276 |
#end
|
|
|
277 |
#end
|
| 35925 |
amit |
278 |
</tbody>
|
|
|
279 |
</table>
|
|
|
280 |
<button class="btn btn-primary btn-sm update-offer-slabs" type="button" style="margin-top:5px;">Update Targets & Payouts</button>
|
|
|
281 |
#else
|
|
|
282 |
<p style="color:#999;">No target slabs found for this offer.</p>
|
|
|
283 |
#end
|
| 35886 |
amit |
284 |
</div>
|
|
|
285 |
</div>
|
|
|
286 |
#end
|
|
|
287 |
</div>
|
|
|
288 |
|
| 32203 |
amit.gupta |
289 |
<div class="modal-footer">
|
|
|
290 |
<button type="button" data-dismiss="modal" class="btn btn-default cancel-description">Dismiss</button>
|
| 35415 |
amit |
291 |
</div>
|