Subversion Repositories SmartDukaan

Rev

Rev 35971 | 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
 
36024 aman 265
    .ps-code {
266
        font-size: 12px;
267
        font-weight: 600;
268
        color: #1e40af;
269
        background: #eff6ff;
270
        border: 1px solid #bfdbfe;
271
        padding: 3px 10px;
272
        border-radius: 4px;
273
        font-family: monospace;
274
        letter-spacing: 0.3px;
275
    }
276
 
35971 aman 277
    a {
278
        text-decoration: none !important;
279
    }
280
 
281
    .tooltip-arrow,
282
    .red-tooltip + .tooltip.top > .tooltip-inner {
283
        background-color: #f00;
284
    }
24317 govind 285
</style>
35971 aman 286
 
24317 govind 287
<script>
35971 aman 288
    $(document).ready(function () {
289
        $('[data-toggle="tooltip"]').tooltip();
290
    });
24317 govind 291
</script>
29049 tejbeer 292
 
24317 govind 293
#if($roleType=="false")
35971 aman 294
    ## ===================== PARTNER VIEW =====================
24317 govind 295
<section class="wrapper">
31805 amit.gupta 296
    <div class="row">
35971 aman 297
        <div class="col-lg-12">
298
            <h3 class="page-header"><i class="icon_document_alt"></i> SERVICE</h3>
299
            <ol class="breadcrumb">
300
                <li><i class="fa fa-home"></i>
301
                    <a href="${rc.contextPath}/dashboard">#springMessage("finservice.home")</a>
302
                </li>
303
                <li><i class="icon_document_alt"></i> #springMessage("finservice.partnerservice")</li>
304
                <li><a href="#videoModal" class="btn btn-danger" data-toggle="modal" data-src="prURXYMPaYo"><span
305
                        class="glyphicon glyphicon-play-circle"></span> #springMessage("finservice.playvideo")</a></li>
306
            </ol>
307
        </div>
308
    </div>
309
 
310
    ## --- Active Services ---
311
    <div class="ps-section">
312
        <div class="ps-section-title">Active Services</div>
313
        <div class="ps-active-list">
314
            #foreach($paymentOption in $paymentOptions)
315
                #if($serviceIdPartnerServiceMap.get($paymentOption.getId()).getApplicableType()=="YES")
316
                    #if($serviceIdPartnerServiceMap.get($paymentOption.getId()).getCode())
317
                        <div class="ps-active-row">
318
                            <span class="ps-name">$paymentOption.getName()</span>
319
                            <span class="ps-badge ps-badge-active">Active</span>
36024 aman 320
                            <span class="ps-code">$serviceIdPartnerServiceMap.get($paymentOption.getId()).getCode()</span>
35971 aman 321
                            <div class="ps-brands">
322
                                #foreach($serviceBrandsConfig in $serviceIdAndServiceBrandsConfigMap.get($paymentOption.getId()))
323
                                    #if($serviceBrandIdPartnerBrandServiceMap.get($serviceBrandsConfig.getId()))
324
                                        #if($serviceBrandIdPartnerBrandServiceMap.get($serviceBrandsConfig.getId()).getApplicableType()==
325
                                            "YES")
326
                                            #if($serviceBrandIdPartnerBrandServiceMap.get($serviceBrandsConfig.getId()).isActive()==true)
327
                                                #if($serviceBrandIdPartnerBrandServiceMap.get($serviceBrandsConfig.getId()).getPartnerStatusType()==
328
                                                    "WORKING")
329
                                                    <span class="ps-chip">
330
                                                <input type="checkbox" class="fin-service-brand"
331
                                                       value="$serviceBrandsConfig.getId()"
332
                                                       onchange="onChangeStateServiceBrand(this,$paymentOption.getId(),`$serviceBrandsConfig.getBrand()`)"
333
                                                       checked data-brand="$serviceBrandsConfig.getBrand()">
334
                                                        $serviceBrandsConfig.getBrand() <span class="ps-st ps-g">&#10004;</span>
335
                                            </span>
336
                                                #else
337
                                                    <span class="ps-chip">
338
                                                <input type="checkbox" class="fin-service-brand"
339
                                                       value="$serviceBrandsConfig.getId()"
340
                                                       onchange="onChangeStateServiceBrand(this,$paymentOption.getId(),`$serviceBrandsConfig.getBrand()`)"
341
                                                       disabled data-brand="$serviceBrandsConfig.getBrand()">
342
                                                        $serviceBrandsConfig.getBrand() <span class="ps-st ps-r"
343
                                                                                              title="NOT WORKING">&#10006;</span>
344
                                            </span>
345
                                                #end
346
                                            #else
347
                                                <span class="ps-chip">
348
                                            <input type="checkbox" class="fin-service-brand"
349
                                                   value="$serviceBrandsConfig.getId()"
350
                                                   onchange="onChangeStateServiceBrand(this,$paymentOption.getId(),`$serviceBrandsConfig.getBrand()`)"
351
                                                   disabled data-brand="$serviceBrandsConfig.getBrand()">
352
                                                    $serviceBrandsConfig.getBrand() <span class="ps-st ps-r"
353
                                                                                          data-toggle="tooltip"
354
                                                                                          title="INACTIVE">&#10005;</span>
355
                                        </span>
356
                                            #end
357
                                        #else
358
                                            <span class="ps-chip">
359
                                        <input type="checkbox" class="fin-service-brand"
360
                                               value="$serviceBrandsConfig.getId()"
361
                                               onchange="onChangeStateServiceBrand(this,$paymentOption.getId(),`$serviceBrandsConfig.getBrand()`)"
362
                                               disabled data-brand="$serviceBrandsConfig.getBrand()">
363
                                                $serviceBrandsConfig.getBrand() <button
364
                                                    class="notApplicableBrandService ps-act ps-btn-na"
365
                                                    data-nacommentservice="$serviceBrandIdPartnerBrandServiceMap.get($serviceBrandsConfig.getId()).getNa_Comment()">NA</button>
366
                                    </span>
367
                                        #end
368
                                    #else
369
                                        <span class="ps-chip">
370
                                    <input type="checkbox" class="fin-service-brand"
371
                                           value="$serviceBrandsConfig.getId()"
372
                                           onchange="onChangeStateServiceBrand(this,$paymentOption.getId(),`$serviceBrandsConfig.getBrand()`)"
373
                                           checked data-brand="$serviceBrandsConfig.getBrand()">
374
                                            $serviceBrandsConfig.getBrand()
375
                                </span>
376
                                    #end
377
                                #end
378
                            </div>
379
                        </div>
380
                    #end
381
                #end
382
            #end
383
        </div>
384
    </div>
24317 govind 385
</section>
35971 aman 386
 
24317 govind 387
#else
35971 aman 388
    ## ===================== ADMIN VIEW =====================
389
 
390
<div class="ps-container">
391
    ## --- Active / Inactive Services ---
392
    <div class="ps-section">
393
        <div class="ps-section-title">Active Services</div>
394
        <div class="ps-active-list">
395
            #foreach($paymentOption in $paymentOptions)
396
                #if($serviceIdPartnerServiceMap.get($paymentOption.getId()).getApplicableType()=="YES")
397
                    #if($serviceIdPartnerServiceMap.get($paymentOption.getId()).getCode())
398
                        ## --- Active WITH code ---
399
                        <div class="ps-active-row">
400
                            <span class="ps-name">$paymentOption.getName()</span>
36024 aman 401
                            <span class="ps-code">$serviceIdPartnerServiceMap.get($paymentOption.getId()).getCode()</span>
35971 aman 402
                            <div class="ps-actions">
403
                                <span class="ps-badge ps-badge-active">Active</span>
404
                                <button class="markNA ps-btn ps-btn-na" data-serviceid="$paymentOption.getId()">Not
405
                                    Applicable
406
                                </button>
407
                                <button class="deactivate-service ps-btn ps-btn-deactivate"
408
                                        data-serviceid="$paymentOption.getId()">Deactivate
409
                                </button>
410
                            </div>
411
                            <div class="ps-brands">
412
                                #foreach($serviceBrandsConfig in $serviceIdAndServiceBrandsConfigMap.get($paymentOption.getId()))
413
                                    #if($serviceBrandIdPartnerBrandServiceMap.get($serviceBrandsConfig.getId()))
414
                                        #if($serviceBrandIdPartnerBrandServiceMap.get($serviceBrandsConfig.getId()).getApplicableType()==
415
                                            "YES")
416
                                            #if($serviceBrandIdPartnerBrandServiceMap.get($serviceBrandsConfig.getId()).isActive()==true)
417
                                                #if($serviceBrandIdPartnerBrandServiceMap.get($serviceBrandsConfig.getId()).getPartnerStatusType()==
418
                                                    "WORKING")
419
                                                    <span class="ps-chip">
420
                                            <input type="checkbox" value="$serviceBrandsConfig.getId()"
421
                                                   onchange="onChangeStateServiceBrand(this,$paymentOption.getId())"
422
                                                   checked>
423
                                                        $serviceBrandsConfig.getBrand() <span class="ps-st ps-g">&#10004;</span>
424
                                            <a href="#" class="deactivate-brand-service-modal ps-act ps-btn-deactivate"
425
                                               data-serviceid="$paymentOption.getId()"
426
                                               data-servicebrandid="$serviceBrandsConfig.getId()" data-toggle="modal"
427
                                               data-target="#myServiceDeActivateBrand">Deactivate</a>
428
                                            <div id="myServiceDeActivateBrand" class="modal fade" role="dialog"></div>
429
                                        </span>
430
                                                #else
431
                                                    <span class="ps-chip">
432
                                            <input type="checkbox" value="$serviceBrandsConfig.getId()"
433
                                                   onchange="onChangeStateServiceBrand(this,$paymentOption.getId())">
434
                                                        $serviceBrandsConfig.getBrand() <span class="ps-st ps-r"
435
                                                                                              title="NOT WORKING">&#10006;</span>
436
                                        </span>
437
                                                #end
438
                                            #else
439
                                                <span class="ps-chip">
440
                                        <input type="checkbox" value="$serviceBrandsConfig.getId()"
441
                                               onchange="onChangeStateServiceBrand(this,$paymentOption.getId())"
442
                                               disabled>
443
                                                    $serviceBrandsConfig.getBrand() <span
444
                                                        class="ps-st ps-r">&#10005;</span>
445
                                        <a href="#" class="activate-brand-service-modal ps-act ps-btn-activate"
446
                                           data-serviceid="$paymentOption.getId()"
447
                                           data-servicebrandid="$serviceBrandsConfig.getId()" data-toggle="modal"
448
                                           data-target="#myServiceActivateBrand">Activate</a>
449
                                        <div id="myServiceActivateBrand" class="modal fade" role="dialog"></div>
450
                                    </span>
451
                                            #end
452
                                        #else
453
                                            <span class="ps-chip">
454
                                    <input type="checkbox" value="$serviceBrandsConfig.getId()"
455
                                           onchange="onChangeStateServiceBrand(this,$paymentOption.getId())" disabled>
456
                                                $serviceBrandsConfig.getBrand() <button
457
                                                    class="notApplicableBrandService ps-act ps-btn-na"
458
                                                    data-nacommentservice="$serviceBrandIdPartnerBrandServiceMap.get($serviceBrandsConfig.getId()).getNa_Comment()">NA</button>
459
                                </span>
460
                                        #end
461
                                    #else
462
                                        <span class="ps-chip">
463
                                <input type="checkbox" value="$serviceBrandsConfig.getId()"
464
                                       onchange="onChangeStateServiceBrand(this,$paymentOption.getId())" checked>
465
                                            $serviceBrandsConfig.getBrand() <span class="ps-st ps-g">&#10004;</span>
466
                                <a href="javascript:void(0)" class="deactivate-brand-service ps-act ps-btn-deactivate"
467
                                   data-serviceid="$paymentOption.getId()"
468
                                   data-servicebrandid="$serviceBrandsConfig.getId()">Deactivate</a>
469
                            </span>
470
                                    #end
471
                                #end
472
                            </div>
473
                        </div>
474
 
475
                    #else
476
                        ## --- Inactive (no code) ---
477
                        <div class="ps-active-row">
478
                            <span class="ps-name">$paymentOption.getName()</span>
479
                            <div class="ps-actions">
480
                                <span class="ps-badge ps-badge-inactive">Inactive</span>
481
                                <button class="markNA ps-btn ps-btn-na" data-serviceid="$paymentOption.getId()">Not
482
                                    Applicable
483
                                </button>
484
                                <button class="activate-service ps-btn ps-btn-activate"
485
                                        data-serviceid="$paymentOption.getId()">Activate
486
                                </button>
487
                            </div>
488
                            <div class="ps-brands">
489
                                #foreach($serviceBrandsConfig in $serviceIdAndServiceBrandsConfigMap.get($paymentOption.getId()))
490
                                    <span class="ps-chip ps-dim">
491
                            <input type="checkbox" value="$serviceBrandsConfig.getId()"
492
                                   onchange="onChangeStateServiceBrand(this,$paymentOption.getId())" disabled>
493
                                        $serviceBrandsConfig.getBrand()
494
                        </span>
495
                                #end
496
                            </div>
497
                        </div>
498
                    #end
499
                #end
500
            #end
501
        </div>
502
    </div>
503
 
504
    ## --- Pending Services ---
505
    <div class="ps-section">
506
        <div class="ps-section-title">Pending Services</div>
507
        <div class="ps-pending-grid">
508
            #foreach($paymentOption in $paymentOptions)
509
                #if($serviceIdPartnerServiceMap.get($paymentOption.getId()).getApplicableType()!="YES")
510
                    <div class="ps-pending-item">
511
                        <span class="ps-name">$paymentOption.getName()</span>
512
                        <div class="ps-actions">
513
                            <button class="notApplicableByPartner ps-btn ps-btn-pni" data-toggle="modal"
514
                                    data-target="#serviceDeactivateByPartnerModal"
515
                                    data-serviceid="$paymentOption.getId()">Not Interested
516
                            </button>
517
                            <button class="markApplicable ps-btn ps-btn-applicable"
518
                                    data-serviceid="$paymentOption.getId()">Applicable
519
                            </button>
520
                            <button class="markNA ps-btn ps-btn-na" data-serviceid="$paymentOption.getId()">Not
521
                                Applicable
522
                            </button>
523
                        </div>
524
                        <div id="serviceDeactivateByPartnerModal" class="modal fade" role="dialog"></div>
525
                    </div>
526
                #end
527
            #end
528
        </div>
529
    </div>
530
</div>## end ps-container
24317 govind 531
#end