Subversion Repositories SmartDukaan

Rev

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

Rev Author Line No. Line
32203 amit.gupta 1
<div class="modal-header">
2
    <button type="button" class="close" id="cancel-model" data-dismiss="modal">&times;</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
36501 amit 236
    #if($isFinanceTeam)
35886 amit 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>