Subversion Repositories SmartDukaan

Rev

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

Rev Author Line No. Line
24317 govind 1
<style>
35971 aman 2
    .ps-container {
3
        max-width: 100%;
4
        padding: 0 10px;
5
    }
6
 
7
    .ps-section {
8
        margin-bottom: 24px;
9
    }
10
 
11
    .ps-section-title {
12
        font-size: 13px;
13
        font-weight: 700;
14
        color: #1e293b;
15
        padding: 10px 16px;
16
        background: linear-gradient(135deg, #f8fafc, #f1f5f9);
17
        border: 1px solid #e2e8f0;
18
        border-bottom: 2px solid #3b82f6;
19
        border-radius: 8px 8px 0 0;
20
        letter-spacing: 0.5px;
21
    }
22
 
23
    /* Active services: full-width striped rows */
24
    .ps-active-list {
25
        border: 1px solid #e2e8f0;
26
        border-top: none;
27
        border-radius: 0 0 8px 8px;
28
        overflow: hidden;
29
        background: #fff;
30
    }
31
 
32
    .ps-active-row {
33
        display: flex;
34
        align-items: center;
35
        flex-wrap: wrap;
36
        padding: 12px 20px;
37
        border-bottom: 1px solid #e8ecf1;
38
        gap: 12px;
39
        min-height: 52px;
40
    }
41
 
42
    .ps-active-row:nth-child(even) {
43
        background: #f8fafc;
44
    }
45
 
46
    .ps-active-row:last-child {
47
        border-bottom: none;
48
    }
49
 
50
    .ps-active-row:hover {
51
        background: #eef2ff;
52
    }
53
 
54
    /* Pending services: 2-column grid */
55
    .ps-pending-grid {
56
        display: grid;
57
        grid-template-columns: 1fr 1fr;
58
        border: 1px solid #e2e8f0;
59
        border-top: none;
60
        border-radius: 0 0 8px 8px;
61
        overflow: hidden;
62
        background: #fff;
63
    }
64
 
65
    .ps-pending-item {
66
        display: flex;
67
        align-items: center;
68
        justify-content: space-between;
69
        padding: 14px 20px;
70
        border-bottom: 1px solid #e8ecf1;
71
        border-right: 1px solid #e8ecf1;
72
        gap: 12px;
73
        min-height: 56px;
74
    }
75
 
76
    .ps-pending-item:nth-child(2n) {
77
        border-right: none;
78
    }
79
 
80
    .ps-pending-item:nth-child(odd):nth-last-child(-n+2),
81
    .ps-pending-item:nth-child(even):last-child {
82
        border-bottom: none;
83
    }
84
 
85
    .ps-pending-item:hover {
86
        background: #eef2ff;
87
    }
88
 
89
    /* Service name */
90
    .ps-name {
91
        font-size: 15px;
92
        font-weight: 700;
93
        color: #1e293b;
94
        min-width: 170px;
95
        flex-shrink: 0;
96
    }
97
 
98
    .ps-pending-item .ps-name {
99
        min-width: auto;
100
        flex: 1;
101
    }
102
 
103
    /* Actions group */
104
    .ps-actions {
105
        display: flex;
106
        align-items: center;
107
        gap: 8px;
108
        flex-shrink: 0;
109
    }
110
 
111
    /* Brands group */
112
    .ps-brands {
113
        display: flex;
114
        align-items: center;
115
        flex-wrap: wrap;
116
        gap: 8px;
117
        margin-left: 8px;
118
        flex: 1;
119
    }
120
 
121
    /* Buttons */
122
    .ps-btn {
123
        padding: 4px 10px;
124
        font-size: 10px;
125
        font-weight: 600;
126
        border: none;
127
        border-radius: 5px;
128
        cursor: pointer;
129
        transition: all 0.15s ease;
130
        text-transform: uppercase;
131
        letter-spacing: 0.3px;
132
        line-height: 1.6;
133
        white-space: nowrap;
134
    }
135
 
136
    .ps-btn-pni {
137
        background: #fef2f2;
138
        color: #dc2626;
139
        border: 1px solid #fecaca;
140
    }
141
 
142
    .ps-btn-pni:hover {
143
        background: #dc2626;
144
        color: #fff;
145
    }
146
 
147
    .ps-btn-applicable {
148
        background: #eff6ff;
149
        color: #2563eb;
150
        border: 1px solid #bfdbfe;
151
    }
152
 
153
    .ps-btn-applicable:hover {
154
        background: #2563eb;
155
        color: #fff;
156
    }
157
 
158
    .ps-btn-na {
159
        background: #fef2f2;
160
        color: #dc2626;
161
        border: 1px solid #fecaca;
162
    }
163
 
164
    .ps-btn-na:hover {
165
        background: #dc2626;
166
        color: #fff;
167
    }
168
 
169
    .ps-btn-activate {
170
        background: #f0fdf4;
171
        color: #16a34a;
172
        border: 1px solid #bbf7d0;
173
    }
174
 
175
    .ps-btn-activate:hover {
176
        background: #16a34a;
177
        color: #fff;
178
    }
179
 
180
    .ps-btn-deactivate {
181
        background: #fef2f2;
182
        color: #dc2626;
183
        border: 1px solid #fecaca;
184
    }
185
 
186
    .ps-btn-deactivate:hover {
187
        background: #dc2626;
188
        color: #fff;
189
    }
190
 
191
    /* Badge */
192
    .ps-badge {
193
        padding: 4px 12px;
194
        font-size: 11px;
195
        font-weight: 700;
196
        border-radius: 12px;
197
        letter-spacing: 0.3px;
198
        white-space: nowrap;
199
    }
200
 
201
    .ps-badge-active {
202
        background: #dcfce7;
203
        color: #16a34a;
204
    }
205
 
206
    .ps-badge-inactive {
207
        background: #fee2e2;
208
        color: #dc2626;
209
    }
210
 
211
    .ps-badge-pending {
212
        background: #fef9c3;
213
        color: #a16207;
214
    }
215
 
216
    /* Brand chips */
217
    .ps-chip {
218
        display: inline-flex;
219
        align-items: center;
220
        gap: 6px;
221
        padding: 5px 12px;
222
        background: #f8fafc;
223
        border: 1px solid #e2e8f0;
224
        border-radius: 6px;
225
        font-size: 13px;
226
        font-weight: 500;
227
        color: #334155;
228
        white-space: nowrap;
229
    }
230
 
231
    .ps-chip input[type="checkbox"] {
232
        width: 15px;
233
        height: 15px;
234
        accent-color: #2563eb;
235
        margin: 0;
236
        cursor: pointer;
237
    }
238
 
239
    .ps-chip .ps-st {
240
        font-size: 14px;
241
        line-height: 1;
242
    }
243
 
244
    .ps-g {
245
        color: #16a34a;
246
    }
247
 
248
    .ps-r {
249
        color: #dc2626;
250
    }
251
 
252
    .ps-chip .ps-act {
253
        font-size: 10px;
254
        font-weight: 600;
255
        padding: 2px 8px;
256
        border-radius: 4px;
257
        text-decoration: none;
258
        cursor: pointer;
259
    }
260
 
261
    .ps-dim {
262
        opacity: 0.4;
263
    }
264
 
265
    a {
266
        text-decoration: none !important;
267
    }
268
 
269
    .tooltip-arrow,
270
    .red-tooltip + .tooltip.top > .tooltip-inner {
271
        background-color: #f00;
272
    }
24317 govind 273
</style>
35971 aman 274
 
24317 govind 275
<script>
35971 aman 276
    $(document).ready(function () {
277
        $('[data-toggle="tooltip"]').tooltip();
278
    });
24317 govind 279
</script>
29049 tejbeer 280
 
24317 govind 281
#if($roleType=="false")
35971 aman 282
    ## ===================== PARTNER VIEW =====================
24317 govind 283
<section class="wrapper">
31805 amit.gupta 284
    <div class="row">
35971 aman 285
        <div class="col-lg-12">
286
            <h3 class="page-header"><i class="icon_document_alt"></i> SERVICE</h3>
287
            <ol class="breadcrumb">
288
                <li><i class="fa fa-home"></i>
289
                    <a href="${rc.contextPath}/dashboard">#springMessage("finservice.home")</a>
290
                </li>
291
                <li><i class="icon_document_alt"></i> #springMessage("finservice.partnerservice")</li>
292
                <li><a href="#videoModal" class="btn btn-danger" data-toggle="modal" data-src="prURXYMPaYo"><span
293
                        class="glyphicon glyphicon-play-circle"></span> #springMessage("finservice.playvideo")</a></li>
294
            </ol>
295
        </div>
296
    </div>
297
 
298
    ## --- Active Services ---
299
    <div class="ps-section">
300
        <div class="ps-section-title">Active Services</div>
301
        <div class="ps-active-list">
302
            #foreach($paymentOption in $paymentOptions)
303
                #if($serviceIdPartnerServiceMap.get($paymentOption.getId()).getApplicableType()=="YES")
304
                    #if($serviceIdPartnerServiceMap.get($paymentOption.getId()).getCode())
305
                        <div class="ps-active-row">
306
                            <span class="ps-name">$paymentOption.getName()</span>
307
                            <span class="ps-badge ps-badge-active">Active</span>
308
                            <div class="ps-brands">
309
                                #foreach($serviceBrandsConfig in $serviceIdAndServiceBrandsConfigMap.get($paymentOption.getId()))
310
                                    #if($serviceBrandIdPartnerBrandServiceMap.get($serviceBrandsConfig.getId()))
311
                                        #if($serviceBrandIdPartnerBrandServiceMap.get($serviceBrandsConfig.getId()).getApplicableType()==
312
                                            "YES")
313
                                            #if($serviceBrandIdPartnerBrandServiceMap.get($serviceBrandsConfig.getId()).isActive()==true)
314
                                                #if($serviceBrandIdPartnerBrandServiceMap.get($serviceBrandsConfig.getId()).getPartnerStatusType()==
315
                                                    "WORKING")
316
                                                    <span class="ps-chip">
317
                                                <input type="checkbox" class="fin-service-brand"
318
                                                       value="$serviceBrandsConfig.getId()"
319
                                                       onchange="onChangeStateServiceBrand(this,$paymentOption.getId(),`$serviceBrandsConfig.getBrand()`)"
320
                                                       checked data-brand="$serviceBrandsConfig.getBrand()">
321
                                                        $serviceBrandsConfig.getBrand() <span class="ps-st ps-g">&#10004;</span>
322
                                            </span>
323
                                                #else
324
                                                    <span class="ps-chip">
325
                                                <input type="checkbox" class="fin-service-brand"
326
                                                       value="$serviceBrandsConfig.getId()"
327
                                                       onchange="onChangeStateServiceBrand(this,$paymentOption.getId(),`$serviceBrandsConfig.getBrand()`)"
328
                                                       disabled data-brand="$serviceBrandsConfig.getBrand()">
329
                                                        $serviceBrandsConfig.getBrand() <span class="ps-st ps-r"
330
                                                                                              title="NOT WORKING">&#10006;</span>
331
                                            </span>
332
                                                #end
333
                                            #else
334
                                                <span class="ps-chip">
335
                                            <input type="checkbox" class="fin-service-brand"
336
                                                   value="$serviceBrandsConfig.getId()"
337
                                                   onchange="onChangeStateServiceBrand(this,$paymentOption.getId(),`$serviceBrandsConfig.getBrand()`)"
338
                                                   disabled data-brand="$serviceBrandsConfig.getBrand()">
339
                                                    $serviceBrandsConfig.getBrand() <span class="ps-st ps-r"
340
                                                                                          data-toggle="tooltip"
341
                                                                                          title="INACTIVE">&#10005;</span>
342
                                        </span>
343
                                            #end
344
                                        #else
345
                                            <span class="ps-chip">
346
                                        <input type="checkbox" class="fin-service-brand"
347
                                               value="$serviceBrandsConfig.getId()"
348
                                               onchange="onChangeStateServiceBrand(this,$paymentOption.getId(),`$serviceBrandsConfig.getBrand()`)"
349
                                               disabled data-brand="$serviceBrandsConfig.getBrand()">
350
                                                $serviceBrandsConfig.getBrand() <button
351
                                                    class="notApplicableBrandService ps-act ps-btn-na"
352
                                                    data-nacommentservice="$serviceBrandIdPartnerBrandServiceMap.get($serviceBrandsConfig.getId()).getNa_Comment()">NA</button>
353
                                    </span>
354
                                        #end
355
                                    #else
356
                                        <span class="ps-chip">
357
                                    <input type="checkbox" class="fin-service-brand"
358
                                           value="$serviceBrandsConfig.getId()"
359
                                           onchange="onChangeStateServiceBrand(this,$paymentOption.getId(),`$serviceBrandsConfig.getBrand()`)"
360
                                           checked data-brand="$serviceBrandsConfig.getBrand()">
361
                                            $serviceBrandsConfig.getBrand()
362
                                </span>
363
                                    #end
364
                                #end
365
                            </div>
366
                        </div>
367
                    #end
368
                #end
369
            #end
370
        </div>
371
    </div>
24317 govind 372
</section>
35971 aman 373
 
24317 govind 374
#else
35971 aman 375
    ## ===================== ADMIN VIEW =====================
376
 
377
<div class="ps-container">
378
    ## --- Active / Inactive Services ---
379
    <div class="ps-section">
380
        <div class="ps-section-title">Active Services</div>
381
        <div class="ps-active-list">
382
            #foreach($paymentOption in $paymentOptions)
383
                #if($serviceIdPartnerServiceMap.get($paymentOption.getId()).getApplicableType()=="YES")
384
                    #if($serviceIdPartnerServiceMap.get($paymentOption.getId()).getCode())
385
                        ## --- Active WITH code ---
386
                        <div class="ps-active-row">
387
                            <span class="ps-name">$paymentOption.getName()</span>
388
                            <div class="ps-actions">
389
                                <span class="ps-badge ps-badge-active">Active</span>
390
                                <button class="markNA ps-btn ps-btn-na" data-serviceid="$paymentOption.getId()">Not
391
                                    Applicable
392
                                </button>
393
                                <button class="deactivate-service ps-btn ps-btn-deactivate"
394
                                        data-serviceid="$paymentOption.getId()">Deactivate
395
                                </button>
396
                            </div>
397
                            <div class="ps-brands">
398
                                #foreach($serviceBrandsConfig in $serviceIdAndServiceBrandsConfigMap.get($paymentOption.getId()))
399
                                    #if($serviceBrandIdPartnerBrandServiceMap.get($serviceBrandsConfig.getId()))
400
                                        #if($serviceBrandIdPartnerBrandServiceMap.get($serviceBrandsConfig.getId()).getApplicableType()==
401
                                            "YES")
402
                                            #if($serviceBrandIdPartnerBrandServiceMap.get($serviceBrandsConfig.getId()).isActive()==true)
403
                                                #if($serviceBrandIdPartnerBrandServiceMap.get($serviceBrandsConfig.getId()).getPartnerStatusType()==
404
                                                    "WORKING")
405
                                                    <span class="ps-chip">
406
                                            <input type="checkbox" value="$serviceBrandsConfig.getId()"
407
                                                   onchange="onChangeStateServiceBrand(this,$paymentOption.getId())"
408
                                                   checked>
409
                                                        $serviceBrandsConfig.getBrand() <span class="ps-st ps-g">&#10004;</span>
410
                                            <a href="#" class="deactivate-brand-service-modal ps-act ps-btn-deactivate"
411
                                               data-serviceid="$paymentOption.getId()"
412
                                               data-servicebrandid="$serviceBrandsConfig.getId()" data-toggle="modal"
413
                                               data-target="#myServiceDeActivateBrand">Deactivate</a>
414
                                            <div id="myServiceDeActivateBrand" class="modal fade" role="dialog"></div>
415
                                        </span>
416
                                                #else
417
                                                    <span class="ps-chip">
418
                                            <input type="checkbox" value="$serviceBrandsConfig.getId()"
419
                                                   onchange="onChangeStateServiceBrand(this,$paymentOption.getId())">
420
                                                        $serviceBrandsConfig.getBrand() <span class="ps-st ps-r"
421
                                                                                              title="NOT WORKING">&#10006;</span>
422
                                        </span>
423
                                                #end
424
                                            #else
425
                                                <span class="ps-chip">
426
                                        <input type="checkbox" value="$serviceBrandsConfig.getId()"
427
                                               onchange="onChangeStateServiceBrand(this,$paymentOption.getId())"
428
                                               disabled>
429
                                                    $serviceBrandsConfig.getBrand() <span
430
                                                        class="ps-st ps-r">&#10005;</span>
431
                                        <a href="#" class="activate-brand-service-modal ps-act ps-btn-activate"
432
                                           data-serviceid="$paymentOption.getId()"
433
                                           data-servicebrandid="$serviceBrandsConfig.getId()" data-toggle="modal"
434
                                           data-target="#myServiceActivateBrand">Activate</a>
435
                                        <div id="myServiceActivateBrand" class="modal fade" role="dialog"></div>
436
                                    </span>
437
                                            #end
438
                                        #else
439
                                            <span class="ps-chip">
440
                                    <input type="checkbox" value="$serviceBrandsConfig.getId()"
441
                                           onchange="onChangeStateServiceBrand(this,$paymentOption.getId())" disabled>
442
                                                $serviceBrandsConfig.getBrand() <button
443
                                                    class="notApplicableBrandService ps-act ps-btn-na"
444
                                                    data-nacommentservice="$serviceBrandIdPartnerBrandServiceMap.get($serviceBrandsConfig.getId()).getNa_Comment()">NA</button>
445
                                </span>
446
                                        #end
447
                                    #else
448
                                        <span class="ps-chip">
449
                                <input type="checkbox" value="$serviceBrandsConfig.getId()"
450
                                       onchange="onChangeStateServiceBrand(this,$paymentOption.getId())" checked>
451
                                            $serviceBrandsConfig.getBrand() <span class="ps-st ps-g">&#10004;</span>
452
                                <a href="javascript:void(0)" class="deactivate-brand-service ps-act ps-btn-deactivate"
453
                                   data-serviceid="$paymentOption.getId()"
454
                                   data-servicebrandid="$serviceBrandsConfig.getId()">Deactivate</a>
455
                            </span>
456
                                    #end
457
                                #end
458
                            </div>
459
                        </div>
460
 
461
                    #else
462
                        ## --- Inactive (no code) ---
463
                        <div class="ps-active-row">
464
                            <span class="ps-name">$paymentOption.getName()</span>
465
                            <div class="ps-actions">
466
                                <span class="ps-badge ps-badge-inactive">Inactive</span>
467
                                <button class="markNA ps-btn ps-btn-na" data-serviceid="$paymentOption.getId()">Not
468
                                    Applicable
469
                                </button>
470
                                <button class="activate-service ps-btn ps-btn-activate"
471
                                        data-serviceid="$paymentOption.getId()">Activate
472
                                </button>
473
                            </div>
474
                            <div class="ps-brands">
475
                                #foreach($serviceBrandsConfig in $serviceIdAndServiceBrandsConfigMap.get($paymentOption.getId()))
476
                                    <span class="ps-chip ps-dim">
477
                            <input type="checkbox" value="$serviceBrandsConfig.getId()"
478
                                   onchange="onChangeStateServiceBrand(this,$paymentOption.getId())" disabled>
479
                                        $serviceBrandsConfig.getBrand()
480
                        </span>
481
                                #end
482
                            </div>
483
                        </div>
484
                    #end
485
                #end
486
            #end
487
        </div>
488
    </div>
489
 
490
    ## --- Pending Services ---
491
    <div class="ps-section">
492
        <div class="ps-section-title">Pending Services</div>
493
        <div class="ps-pending-grid">
494
            #foreach($paymentOption in $paymentOptions)
495
                #if($serviceIdPartnerServiceMap.get($paymentOption.getId()).getApplicableType()!="YES")
496
                    <div class="ps-pending-item">
497
                        <span class="ps-name">$paymentOption.getName()</span>
498
                        <div class="ps-actions">
499
                            <button class="notApplicableByPartner ps-btn ps-btn-pni" data-toggle="modal"
500
                                    data-target="#serviceDeactivateByPartnerModal"
501
                                    data-serviceid="$paymentOption.getId()">Not Interested
502
                            </button>
503
                            <button class="markApplicable ps-btn ps-btn-applicable"
504
                                    data-serviceid="$paymentOption.getId()">Applicable
505
                            </button>
506
                            <button class="markNA ps-btn ps-btn-na" data-serviceid="$paymentOption.getId()">Not
507
                                Applicable
508
                            </button>
509
                        </div>
510
                        <div id="serviceDeactivateByPartnerModal" class="modal fade" role="dialog"></div>
511
                    </div>
512
                #end
513
            #end
514
        </div>
515
    </div>
516
</div>## end ps-container
24317 govind 517
#end