Subversion Repositories SmartDukaan

Rev

Rev 37846 | Details | Compare with Previous | Last modification | View Log | RSS feed

Rev Author Line No. Line
26010 amit.gupta 1
<!DOCTYPE html>
2
<html lang="en">
28451 tejbeer 3
<head>
30017 amit.gupta 4
    <meta charset="utf-8">
5
    <meta name="viewport"
6
          content="width=device-width, initial-scale=1, maximum-scale=1">
36080 aman 7
    <meta name="description" content="Smart Dukaan Partner Dashboard">
30017 amit.gupta 8
    <meta name="author" content="smartdukaan">
33061 ranu 9
    <meta name="google-signin-client_id"
33063 ranu 10
          content="$googleApiKey">
31786 tejbeer 11
    <meta name="referrer" content="no-referrer">
30017 amit.gupta 12
    <link rel="shortcut icon" href="assets/images/icons/favicon.png">
26010 amit.gupta 13
 
36080 aman 14
    <title>Smart Dukaan - Partner Dashboard</title>
26010 amit.gupta 15
 
36566 amit 16
    <!-- vendor css -->
17
    <link href="resources/css/elegant-icons-style.css" rel="stylesheet">
18
    <link href="resources/css/font-awesome.min.css" rel="stylesheet">
19
    <link rel="stylesheet" href="https://use.fontawesome.com/releases/v5.7.0/css/all.css"
20
          integrity="sha384-lZN37f5QGtY3VHgisS14W3ExzMWZxybE1SJSEsQp9S+oqd12jhcu+A56Ebc1zFSJ"
21
          crossorigin="anonymous">
22
    <link href="resources/css/bootstrap.css" rel="stylesheet">
23
    <link href="resources/css/bootstrap-theme.min.css" rel="stylesheet">
24
    <link href="resources/css/jquery-ui-1.10.4.min.css" rel="stylesheet">
25
    <link href="resources/css/owl.carousel.css" rel="stylesheet">
30017 amit.gupta 26
    <link href="resources/css/jquery-jvectormap-1.2.2.css" rel="stylesheet">
36566 amit 27
    <link href="resources/css/datatables.bootstrap.min.css" rel="stylesheet">
28
    <link href="resources/css/bootstrap-multiselect.css" rel="stylesheet">
29
    <link href="resources/css/bootstrap-duallistbox.css" rel="stylesheet">
30
    <link href="resources/css/bootstrap-tagsinput.css" rel="stylesheet">
31
    <link href="resources/js/daterangepicker/daterangepicker.css" rel="stylesheet">
32
    <link href="resources/js/chosen.min.css" rel="stylesheet">
33
    <link href="resources/css/multi.min.css?v=${cssVersion}" rel="stylesheet">
34
    <link href="https://cdn.jsdelivr.net/npm/select2@4.1.0-rc.0/dist/css/select2.min.css" rel="stylesheet">
35
 
36
    <!-- app css -->
30017 amit.gupta 37
    <link href="resources/css/widgets.css" rel="stylesheet">
38
    <link href="resources/css/style.css?v=${cssVersion}" rel="stylesheet">
39
    <link href="resources/css/card.css?v=${cssVersion}" rel="stylesheet">
36566 amit 40
    <link href="resources/css/style-responsive.css?v=${cssVersion}" rel="stylesheet">
41
    <script src="https://apis.google.com/js/platform.js?onload=onLoad" async defer></script>
33061 ranu 42
    <script>
43
        function signOut() {
44
            var auth2 = gapi.auth2.getAuthInstance();
45
            auth2.signOut().then(function () {
46
                window.location.href = "${rc.contextPath}/logout";
47
                console.log('User signed out.');
28451 tejbeer 48
 
33061 ranu 49
            });
50
        }
51
 
52
        function onLoad() {
53
            gapi.load('auth2', function () {
54
                gapi.auth2.init();
55
            });
56
        }
57
    </script>
58
 
35396 amit 59
 
30017 amit.gupta 60
    <script type="text/javascript">
36194 vikas 61
        const isRBM = $isRBM;
30017 amit.gupta 62
        isAdmin = true;
36195 vikas 63
        function injectSmartChatScript(email, token) {
36194 vikas 64
            if (document.querySelector('script[src="https://chat.smartdukaan.com/embed.js"]')) {
65
                return;
66
            }
28451 tejbeer 67
 
36194 vikas 68
            const script = document.createElement('script');
69
            script.src = "https://chat.smartdukaan.com/embed.js";
70
            script.setAttribute("data-role", "INTERNAL");
71
            script.setAttribute("data-token", token);
36195 vikas 72
            if (email) script.setAttribute("data-email", email);
36194 vikas 73
            script.async = true;
74
 
75
            document.body.appendChild(script);
76
        }
77
 
78
        document.addEventListener("DOMContentLoaded", () => {
79
            if (isRBM) {
36201 vikas 80
                injectSmartChatScript("$authEmail", "eyJhbGciOiJIUzI1NiJ9.eyJyb2xlSWRzIjpbIjEiLCIyIiwiMyJdLCJpc3MiOiJwcm9maXRtYW5kaSIsImV4cCI6MTc3Nzg5OTk3MywicmV0YWlsZXJJZCI6MTc1MTM5Mjg3LCJpYXQiOjE3NzI3MTU5NzMsInVzZXJJZCI6NDAyMjJ9.aeUDKRtsemF4y1mLdWQBaWUBV2HFxoHARbc2JAZwc3U");
36194 vikas 81
            }
82
        });
83
 
30017 amit.gupta 84
        function getWarehousePartners(warehouseId) {
85
            doGetAjaxRequestHandler(context + "/getWarehousePartners?warehouseId=" + warehouseId,
36566 amit 86
                function (response) { $('#main-content').html(response); });
30017 amit.gupta 87
        }
26418 tejbeer 88
 
30017 amit.gupta 89
        function getWarehouseBrandStock(warehouseId) {
32177 amit.gupta 90
            doGetAjaxRequestHandler(context + "/getWarehouseWiseBrandStock?warehouseId=" + warehouseId,
36566 amit 91
                function (response) { $('#main-content').html(response); });
30017 amit.gupta 92
        }
27529 tejbeer 93
 
30017 amit.gupta 94
        function getWarehouseWiseBrandPartnerSale(brand) {
95
            doGetAjaxRequestHandler(context + "/getWarehouseWiseBrandPartnerSale?brand=" + brand,
36566 amit 96
                function (response) { $('#main-content').html(response); });
30017 amit.gupta 97
        }
98
 
99
        function getWarehouseWiseBrandActivatedModel(brand) {
100
            doGetAjaxRequestHandler(context + "/getActivatedModelWarehouseWise?brand=" + brand,
36566 amit 101
                function (response) { $('#main-content').html(response); });
30017 amit.gupta 102
        }
103
 
104
        function getWarehouseWiseAccessoriesBrandPartnerSale(brand) {
105
            doGetAjaxRequestHandler(context + "/getWarehouseWiseAccesoriesBrandPartnerSale?brand=" + brand,
36566 amit 106
                function (response) { $('#main-content').html(response); });
30017 amit.gupta 107
        }
108
 
109
        function getWarehouseWiseData() {
110
            doGetAjaxRequestHandler(context + "/getWarehouseWiseData",
36195 vikas 111
                function (response) {
36566 amit 112
                    $('#main-content').html(response);
36195 vikas 113
                    if (response == 'true') {
114
                        window.location.href = $('.dashboardload').attr('href');
115
                    }
116
                });
30017 amit.gupta 117
        }
118
 
119
        function getPartnersStat() {
120
            doGetAjaxRequestHandler(context + "/getPartnersStatData",
36566 amit 121
                function (response) {
122
                    if (response == 'true') {
123
                        window.location.href = $('.dashboardload').attr('href');
124
                    }
125
                });
30017 amit.gupta 126
        }
127
    </script>
128
 
129
 
28451 tejbeer 130
</head>
26010 amit.gupta 131
 
36566 amit 132
<body>
32798 shampa 133
<div class="loading"><img src="resources/images/icons/loading.gif"></div>
30017 amit.gupta 134
<!-- container section start -->
135
<section id="container">
28451 tejbeer 136
 
137
 
30017 amit.gupta 138
    <header class="header dark-bg">
139
        <div class="toggle-nav">
140
            <div class="icon-reorder tooltips"
141
                 data-original-title="Toggle Navigation" data-placement="bottom">
142
                <i class="icon_menu"></i>
143
            </div>
144
        </div>
145
        <div class="top-nav notification-row">
32886 shampa 146
            <!-- notification dropdown start-->
30017 amit.gupta 147
            <ul class="nav pull-right top-menu">
148
                <!-- user login dropdown start-->
149
                <li class="dropdown"><a data-toggle="dropdown"
150
                                        class="dropdown-toggle" href="#"> <span class="profile-ava">
28451 tejbeer 151
								<img class="avatar-custom" id="photo" alt="" src="">
152
						</span> <span class="username" id="fofo_name"></span> <b class="caret"></b>
30017 amit.gupta 153
                </a>
154
                    <ul class="dropdown-menu extended logout">
155
                        <li class="eborder-top"><a class="change-auth-user-password"
36566 amit 156
                                                   href="javascript:void(0);">Change Password</a></li>
157
                        <li><a href="${rc.contextPath}/mobileapp"><i class="icon_key_alt"></i>SD Mobile App</a></li>
37006 ranu 158
                        <li><a href="${rc.contextPath}/mobileapp?appType=react"><i class="icon_key_alt"></i>SD Mobile
159
                            App V2</a></li>
33061 ranu 160
                        <li><a href="javascript:void(0);" onclick="signOut();"><i
36566 amit 161
                                class="icon_key_alt"></i> Log Out</a></li>
30017 amit.gupta 162
                    </ul>
163
                </li>
164
                <!-- user login dropdown end -->
165
            </ul>
166
            <!-- notificatoin dropdown end-->
167
        </div>
168
    </header>
169
    <!--header end-->
28451 tejbeer 170
 
33731 tejus.loha 171
    <!--sidebar start this-->
30017 amit.gupta 172
    <aside>
173
        <div id="sidebar" class="nav-collapse ">
174
            <!-- sidebar menu start-->
36681 ranu 175
            <ul class="sidebar-menu" style="padding-bottom:80px;">
36597 amit 176
                <li>
177
                    <a href="${rc.contextPath}/dashboard">
178
                        <i class="fa fa-home"></i>
179
                        <span>HOME</span>
180
                    </a>
181
                </li>
30017 amit.gupta 182
                #foreach($menuItem in $menu)
183
                    <li class="sub-menu"><a href="javascript:;" class=""> <i
36566 amit 184
                            class="#if($menuItem.getIconClass() && $menuItem.getIconClass() != '')$menuItem.getIconClass()#else icon_document_alt#end"></i> <span>$menuItem.getDisplayText()</span>
30017 amit.gupta 185
                        <span class="menu-arrow arrow_carrot-right"></span>
186
                    </a>
187
                        <ul class="sub">
188
                            #foreach($subMenu in $menuItem.getSubMenus())
189
                                <li><a class="$subMenu.getActionClass()"
190
                                       href="javascript:void(0);">$subMenu.getDisplayText()</a></li> #end
191
                        </ul>
192
                    </li> #end
37331 amit 193
                ## Offer Circular Review: visibility is per-email, which auth.menu
194
                ## cannot express (it is role-driven), so this entry is gated here.
195
                ## The controller enforces the same allowlist server-side.
196
                #if($loginEmail && ($loginEmail == "tarun.verma@smartdukaan.com" || $loginEmail == "amit.gupta@smartdukaan.com" || $loginEmail == "alok.divedi@smartdukaan.com"))
197
                    <li class="sub-menu">
198
                        <a href="javascript:;"><i class="fa fa-tags"></i> <span>OFFER CIRCULAR</span>
199
                            <span class="menu-arrow arrow_carrot-right"></span>
200
                        </a>
201
                        <ul class="sub">
202
                            <li><a class="offer-circular-review" href="javascript:void(0);">Circular Review</a></li>
37526 amit 203
                            <li><a class="offer-circular-resolve" href="javascript:void(0);">Resolve Products</a></li>
204
                            <li><a class="offer-circular-scope" href="javascript:void(0);">Config</a></li>
37331 amit 205
                        </ul>
206
                    </li>
207
                #end
30017 amit.gupta 208
            </ul>
209
            <!-- sidebar menu end-->
210
        </div>
211
    </aside>
212
    <!--sidebar end-->
26010 amit.gupta 213
 
30017 amit.gupta 214
    <!--main content start-->
215
    <section id="main-content">
216
        <section class="wrapper">
217
            <!--overview start-->
218
            <div class="row">
219
                <div class="col-lg-12">
220
                    <h3 class="page-header">
32771 raveendra. 221
                        <i class="fa fa-laptop"></i>
222
                        #springMessage("app.title")
30017 amit.gupta 223
                    </h3>
224
                    <ol class="breadcrumb">
36566 amit 225
                        <li><i class="fa fa-home"></i><a
33087 amit.gupta 226
                                href="${rc.contextPath}/dashboard">#springMessage("home.home")</a></li>
30017 amit.gupta 227
                        <li><i class="fa fa-laptop"></i>Dashboard</li>
228
                    </ol>
229
                </div>
230
            </div>
231
            <!-- overview end -->
28451 tejbeer 232
 
30017 amit.gupta 233
            #if($warehousePartnerDetailMap)
234
                <div class="row">
28451 tejbeer 235
 
30017 amit.gupta 236
                    <div class="col-lg-6">
28451 tejbeer 237
 
35560 ranu 238
                        <div class="row">
239
                            <div class="col-lg-7">
36566 amit 240
                                <h3 class="section-title mb-lg">
35560 ranu 241
                                    <strong>Partner Wise Report</strong>
242
                                </h3>
243
                            </div>
244
                            <div class="col-lg-5">
245
                                <span style="margin-right: 10px">Last Fetch :-  $rctPartneStat.getLastCreatedTimestamp().format($dateTimeFormatter)</span>
246
                            </div>
30017 amit.gupta 247
                        </div>
35560 ranu 248
 
30017 amit.gupta 249
                        <table class="table table-striped table-advance table-hover">
250
                            <tbody>
251
                            <tr>
252
                                <th>W/H Location</th>
253
                                <th>Partners</th>
254
                                <th>LMS</th>
255
                                <th>LMTD</th>
256
                                <th>MTD</th>
257
                                <th>Today Tertiary</th>
258
                                <th>Tickets</th>
259
                            </tr>
260
                                #foreach($name in $warehousePartnerDetailMap.keySet())
261
                                <tr onclick="getWarehousePartners($name)">
37854 amit 262
                                    <td>#if($warehouseMap.get($name))$warehouseMap.get($name)#{else}$warehouseNames.get($name)#end</td>
30017 amit.gupta 263
                                    <td>$warehousePartnerDetailMap.get($name).getCount()</td>
264
                                    <td class="currency">$warehousePartnerDetailMap.get($name).getLms()</td>
265
                                    <td class="currency">$warehousePartnerDetailMap.get($name).getLmtd()</td>
266
                                    <td class="currency">$warehousePartnerDetailMap.get($name).getMtd()</td>
267
                                    <td class="currency">$warehousePartnerDetailMap.get($name).getTodayTertiary()</td>
28451 tejbeer 268
 
30017 amit.gupta 269
                                    <td>$warehousePartnerDetailMap.get($name).getTicket()</td>
28451 tejbeer 270
 
30017 amit.gupta 271
                                </tr>
272
                                #end
28451 tejbeer 273
 
30017 amit.gupta 274
                            </tbody>
275
                        </table>
276
                    </div>
28451 tejbeer 277
 
35549 ranu 278
                    <div class="col-lg-6">
35560 ranu 279
                        <div class="row">
280
                            <div class="col-lg-7">
36566 amit 281
                                <h3 class="section-title mb-lg">
35560 ranu 282
                                    <strong>Warehouse Wise Report</strong>
283
                                </h3>
284
                            </div>
36566 amit 285
                            <div class="col-lg-5" class="pl-0">
35560 ranu 286
							<span>Last fetch :-
287
                                $reporticoDate.getLastCreatedTimestamp().format($dateTimeFormatter)</span>
288
                                <button class="btn btn-sm btn-primary fetchWarehouseData"
289
                                        onclick="getWarehouseWiseData()" type="button"><i class="fa fa-refresh"></i>
290
 
291
                                </button>
292
                            </div>
30017 amit.gupta 293
                        </div>
28451 tejbeer 294
 
37374 ranu 295
                        ## Brand filter — AJAX-swaps the tbody below. "All Brands" restores the original numbers.
296
                        <div class="row" style="margin: 0 0 8px 0;">
297
                            <div class="col-lg-6" style="padding-left:0;">
298
                                <select id="whrBrandFilter" class="form-control input-sm">
299
                                    <option value="">All Brands</option>
300
                                    #if($whrBrandList)
301
                                        #foreach($b in $whrBrandList)
37394 ranu 302
                                            <option value="$b.name">$b.name</option>
37374 ranu 303
                                        #end
304
                                    #end
305
                                </select>
306
                            </div>
307
                        </div>
35560 ranu 308
 
30017 amit.gupta 309
                        <table class="table table-striped table-advance table-hover">
37374 ranu 310
                            <tbody id="whrTableBody">
30017 amit.gupta 311
                            <tr>
312
                                <th>W/H Location</th>
313
                                <th>Total Stock</th>
314
                                <th>Total Value</th>
315
                                <th>Pending Indent</th>
316
                                <th>Tertiary</th>
317
                            </tr>
318
                                #foreach($key in $warehouseStockMap.keySet())
319
                                <tr
33087 amit.gupta 320
                                        onclick="getWarehouseBrandStock($warehouseStockMap.get($key).getWarehouseId())">
30017 amit.gupta 321
                                    <td>$warehouseMap.get($key)</td>
322
                                    #if($warehouseStockMap.get($key).getStockQty())
323
                                        <td>$warehouseStockMap.get($key).getStockQty()</td>
324
                                        <td class="currency">$warehouseStockMap.get($key).getStockValue()</td>
325
                                    #else
326
                                        <td>0</td>
327
                                        <td>0</td> #end
328
                                    #if($warehouseStockMap.get($key).getPendingIndent())
329
                                        <td>$warehouseStockMap.get($key).getPendingIndent()</td> #else
330
                                        <td>0</td> #end
331
                                    <td>$warehouseStockMap.get($key).getTertiary()</td>
332
                                </tr>
333
                                #end
334
                            </tbody>
335
                        </table>
37374 ranu 336
 
337
                        <script>
338
                            (function () {
339
                                var whrSelect = document.getElementById('whrBrandFilter');
340
                                if (!whrSelect) return;
341
                                var whrCtx = "${rc.contextPath}";
342
                                whrSelect.addEventListener('change', function () {
343
                                    var brand = this.value;
344
                                    var url = whrCtx + '/getWarehouseStockByBrand';
345
                                    if (brand) url += '?brand=' + encodeURIComponent(brand);
346
                                    doGetAjaxRequestHandler(url, function (response) {
347
                                        var tbody = document.getElementById('whrTableBody');
348
                                        if (tbody && response) {
349
                                            tbody.innerHTML = response;
350
                                            if (typeof formatCurrency === 'function') formatCurrency();
351
                                        }
352
                                    });
353
                                });
354
                            })();
355
                        </script>
30017 amit.gupta 356
                    </div>
357
                </div>
358
            #end
28451 tejbeer 359
 
36566 amit 360
 
30017 amit.gupta 361
            <div class="row">
28451 tejbeer 362
 
363
 
35549 ranu 364
                <div class="col-lg-6">
28451 tejbeer 365
 
35583 ranu 366
 
35549 ranu 367
                    <div class="team-messages">
35583 ranu 368
                        <h3 class="tm-title">Bulletin <span class="tm-subtitle"> (Today Important Updates)</span> <input
369
                                type="date" id="bulletinDate" style="float:right;"></h3>
370
 
36566 amit 371
                        <hr class="divider">
35583 ranu 372
                        <div id="bulletin-list-container">
373
                            #parse("bulletin-list.vm")
35549 ranu 374
                        </div>
29137 manish 375
                    </div>
35549 ranu 376
                </div>
377
 
378
 
30017 amit.gupta 379
                #if($warehousePartnerDetailMap)
380
                    <div class="col-lg-6">
36566 amit 381
                        <ul class="nav nav-tabs" class="m-sm">
30017 amit.gupta 382
                            <li class="mobile_based"><a class="ba">Mobile</a></li>
383
                            <li class="accessories_based"><a class="la">Accessories</a></li>
384
                            <li class="activation_summary"><a class="as">Activation Summary</a></li>
385
                            <li class="activation_updation"><a class="au">Activation Updation</a></li>
28461 tejbeer 386
 
387
 
30017 amit.gupta 388
                        </ul>
28461 tejbeer 389
 
390
 
36566 amit 391
                        <div class="row reportContainer" class="m-sm"></div>
28451 tejbeer 392
 
30017 amit.gupta 393
                    </div>
28451 tejbeer 394
 
395
 
396
 
30017 amit.gupta 397
                #end
28451 tejbeer 398
 
30017 amit.gupta 399
            </div>
32177 amit.gupta 400
 
33087 amit.gupta 401
            <div class="row">
31259 tejbeer 402
 
403
 
33087 amit.gupta 404
                <div class="col-lg-6">
31259 tejbeer 405
 
32177 amit.gupta 406
 
36566 amit 407
                    <div class="row" class="ml-sm">
408
                        <h3 class="section-title mb-sm">
33087 amit.gupta 409
                            <strong>Sale MileStone</strong>
410
                        </h3>
411
                    </div>
31268 tejbeer 412
 
36566 amit 413
                    <div class="row saleMilestoneContainer" class="m-sm"></div>
31259 tejbeer 414
 
415
 
33087 amit.gupta 416
                </div>
31273 tejbeer 417
 
418
 
33087 amit.gupta 419
                <div class="col-lg-6">
31259 tejbeer 420
 
421
 
36566 amit 422
                    <div class="row" class="ml-sm">
423
                        <h3 class="section-title mb-sm">
33087 amit.gupta 424
                            <strong>Purchase MileStone</strong>
425
                        </h3>
426
                    </div>
31273 tejbeer 427
 
36566 amit 428
                    <div class="row purchaseMilestoneContainer" class="m-sm"></div>
32177 amit.gupta 429
 
430
 
33087 amit.gupta 431
                </div>
31273 tejbeer 432
 
433
 
33087 amit.gupta 434
            </div>
32177 amit.gupta 435
 
436
 
30017 amit.gupta 437
            <div class="row">
438
                #if($authUserTicketCount)
29137 manish 439
 
30017 amit.gupta 440
                    <div class="col-lg-6">
441
                        <div class="row col-lg-8">
36566 amit 442
                            <h3 class="section-title mb-lg">
30017 amit.gupta 443
                                <strong>Auth User Tickets</strong>
444
                            </h3>
445
                        </div>
28451 tejbeer 446
 
30017 amit.gupta 447
                        <table class="table table-striped table-advance table-hover"
448
                               style="width: 65%">
449
                            <tbody>
450
                            <tr>
451
                                <th>Auth User</th>
452
                                <th>Tickets</th>
453
                            </tr>
454
                                #foreach($authUserTicket in $authUserTicketCount.entrySet())
455
                                <tr>
456
                                    <td>$authUserTicket.getKey().getName()</td>
457
                                    <td>$authUserTicket.getValue()</td>
458
                                </tr>
459
                                #end
460
                            </tbody>
461
                        </table>
28451 tejbeer 462
 
30017 amit.gupta 463
                    </div>
464
                #end
35320 ranu 465
                <div class="col-lg-6">
36566 amit 466
                    <h3 class="section-title mb-lg">
33087 amit.gupta 467
                        <strong>Loan Summary</strong>
468
                    </h3>
32172 jai.hind 469
 
33087 amit.gupta 470
                    <table class="table table-striped table-advance table-hover loan-summary-table"
471
                           style="width: 50%">
472
                        <tbody>
473
                        <thead>
474
                        <tr>
475
                            <th></th>
35335 ranu 476
                            <th>Count</th>
477
                            <th>Value</th>
33087 amit.gupta 478
                        </tr>
32197 jai.hind 479
 
33087 amit.gupta 480
                        </thead>
481
                        <tr>
32197 jai.hind 482
 
33087 amit.gupta 483
                            <th>Total Loan</th>
484
                            <td class="loan" data-type="TOTAL_LOAN" data-toggle="modal"
485
                                data-target="#loanSummaryModal">$loanSummary.getPendingLoansLoanAggregation().getPartnerCount()</td>
486
                            <td class="currency">$loanSummary.getPendingLoansLoanAggregation().getTotalValue()</td>
32197 jai.hind 487
 
33087 amit.gupta 488
                        </tr>
32197 jai.hind 489
 
33087 amit.gupta 490
                        <tr>
491
                            <th>Default Loan</th>
492
                            <td class="loan" data-type="DEFAULT_LOAN" data-toggle="modal"
493
                                data-target="#loanSummaryModal">$loanSummary.getDefaultLoansAggregation().getPartnerCount()</td>
494
                            <td class="currency">$loanSummary.getDefaultLoansAggregation().getTotalValue()</td>
495
                        </tr>
496
                        <tr>
497
                            <th>Due Loan</th>
498
                            <td class="loan" data-type="DUE_LOAN" data-toggle="modal"
499
                                data-target="#loanSummaryModal">$loanSummary.getDueLoansAggregation().getPartnerCount()</td>
500
                            <td class="currency">$loanSummary.getDueLoansAggregation().getTotalValue()</td>
501
                        </tr>
32197 jai.hind 502
 
33087 amit.gupta 503
                        </tbody>
504
                    </table>
35320 ranu 505
                </div>
35316 ranu 506
 
507
                <div class="col-lg-12">
508
                    <h3><strong>State wise loan summary</strong></h3>
509
                    <select id="stateDropdown" class="form-control" style="width:200px;">
510
                        <option value="">Select State</option>
511
                        #foreach($entry in $stateWiseLoanSummaryMap.entrySet())
512
                            <option value="$entry.key">$entry.key</option>
513
                        #end
514
                    </select>
515
                    <br/>
33087 amit.gupta 516
                </div>
35335 ranu 517
 
518
                <!-- ================= OVERALL SUMMARY ================= -->
35316 ranu 519
                <div class="col-lg-3">
35335 ranu 520
                    <div id="overallSummaryView" style="display:none;">
521
                        <table class="table table-striped table-hover loan-summary-table">
522
                            <thead>
523
                            <tr>
524
                                <th>Category</th>
525
                                <th>Count</th>
526
                                <th>Value</th>
527
                            </tr>
528
                            </thead>
529
                            <tbody>
530
                            <tr>
531
                                <th colspan="3">Overall
532
                                    <button class="btn btn-sm btn-primary pull-right" id="btnShow15"
533
                                            style="padding: 2px 4px;">Show 15-29
534
                                    </button>
535
                                </th>
536
                            </tr>
35316 ranu 537
 
35335 ranu 538
                            <tr>
539
                                <td>Pending</td>
540
                                <td id="total-pending-count"
541
                                    class="state-wise-loan"
542
                                    data-fromdays=""
543
                                    data-todays=""
544
                                    data-statename=""
545
                                    data-type="TOTAL_LOAN"
546
                                    data-toggle="modal"
547
                                    data-target="#loanSummaryModal"></td>
548
                                <td id="total-pending-value"></td>
549
                            </tr>
35316 ranu 550
 
35335 ranu 551
                            <tr>
552
                                <td>Default</td>
553
                                <td id="total-default-count"
554
                                    class="state-wise-loan"
555
                                    data-fromdays=""
556
                                    data-todays=""
557
                                    data-statename=""
558
                                    data-type="DEFAULT_LOAN"
559
                                    data-toggle="modal"
560
                                    data-target="#loanSummaryModal"></td>
561
                                <td id="total-default-value"></td>
562
                            </tr>
563
 
564
                            <tr>
565
                                <td>Due</td>
566
                                <td id="total-due-count"
567
                                    class="state-wise-loan"
568
                                    data-fromdays=""
569
                                    data-todays=""
570
                                    data-statename=""
571
                                    data-type="DUE_LOAN"
572
                                    data-toggle="modal"
573
                                    data-target="#loanSummaryModal"></td>
574
                                <td id="total-due-value"></td>
575
                            </tr>
576
 
577
                            </tbody>
578
                        </table>
579
                    </div>
580
 
581
                    <!-- ================= 15–29 DAYS ================= -->
582
                    <div id="days15View">
583
                        <table class="table table-striped table-hover loan-summary-table">
584
                            <thead>
585
                            <tr>
586
                                <th>Category</th>
587
                                <th>Count</th>
588
                                <th>Value</th>
589
                            </tr>
590
                            </thead>
591
 
592
                            <tbody>
593
                            <tr>
594
                                <th colspan="3">15-29 days
595
                                    <button class="btn btn-sm btn-primary pull-right" id="btnShowOverall"
596
                                            style="padding: 2px 4px;">Show Overall
597
                                    </button>
598
                                </th>
599
                            </tr>
600
 
601
                            <tr>
602
                                <td>Pending</td>
603
                                <td id="days15-pending-count"
604
                                    class="state-wise-loan"
605
                                    data-fromdays="15"
606
                                    data-todays="29"
607
                                    data-statename=""
608
                                    data-type="TOTAL_LOAN"
609
                                    data-toggle="modal"
610
                                    data-target="#loanSummaryModal"></td>
611
                                <td id="days15-pending-value"></td>
612
                            </tr>
613
 
614
                            <tr>
615
                                <td>Default</td>
616
                                <td id="days15-default-count"
617
                                    class="state-wise-loan"
618
                                    data-fromdays="15"
619
                                    data-todays="29"
620
                                    data-statename=""
621
                                    data-type="DEFAULT_LOAN"
622
                                    data-toggle="modal"
623
                                    data-target="#loanSummaryModal"></td>
624
                                <td id="days15-default-value"></td>
625
                            </tr>
626
 
627
                            <tr>
628
                                <td>Due</td>
629
                                <td id="days15-due-count"
630
                                    class="state-wise-loan"
631
                                    data-fromdays="15"
632
                                    data-todays="29"
633
                                    data-statename=""
634
                                    data-type="DUE_LOAN"
635
                                    data-toggle="modal"
636
                                    data-target="#loanSummaryModal"></td>
637
                                <td id="days15-due-value"></td>
638
                            </tr>
639
 
640
                            </tbody>
641
                        </table>
642
                    </div>
35316 ranu 643
                </div>
35335 ranu 644
 
645
 
646
                <!-- ================= 30–59 DAYS ================= -->
35316 ranu 647
                <div class="col-lg-3">
648
                    <table class="table table-striped table-hover loan-summary-table">
649
                        <thead>
650
                        <tr>
651
                            <th>Category</th>
35335 ranu 652
                            <th>Count</th>
653
                            <th>Value</th>
35316 ranu 654
                        </tr>
655
                        </thead>
656
 
657
                        <tbody>
658
                        <tr>
35335 ranu 659
                            <th colspan="3">30-59 days</th>
35316 ranu 660
                        </tr>
35335 ranu 661
 
35316 ranu 662
                        <tr>
663
                            <td>Pending</td>
35335 ranu 664
                            <td id="days30-pending-count"
665
                                class="state-wise-loan"
666
                                data-fromdays="30"
667
                                data-todays="59"
668
                                data-statename=""
669
                                data-type="TOTAL_LOAN"
670
                                data-toggle="modal"
35320 ranu 671
                                data-target="#loanSummaryModal"></td>
35316 ranu 672
                            <td id="days30-pending-value"></td>
673
                        </tr>
35335 ranu 674
 
35316 ranu 675
                        <tr>
676
                            <td>Default</td>
35335 ranu 677
                            <td id="days30-default-count"
678
                                class="state-wise-loan"
679
                                data-fromdays="30"
680
                                data-todays="59"
681
                                data-statename=""
682
                                data-type="DEFAULT_LOAN"
683
                                data-toggle="modal"
35320 ranu 684
                                data-target="#loanSummaryModal"></td>
35316 ranu 685
                            <td id="days30-default-value"></td>
686
                        </tr>
35335 ranu 687
 
35316 ranu 688
                        <tr>
689
                            <td>Due</td>
35335 ranu 690
                            <td id="days30-due-count"
691
                                class="state-wise-loan"
692
                                data-fromdays="30"
693
                                data-todays="59"
694
                                data-statename=""
695
                                data-type="DUE_LOAN"
696
                                data-toggle="modal"
35320 ranu 697
                                data-target="#loanSummaryModal"></td>
35316 ranu 698
                            <td id="days30-due-value"></td>
699
                        </tr>
35335 ranu 700
 
35316 ranu 701
                        </tbody>
702
                    </table>
703
                </div>
35335 ranu 704
 
705
                <!-- ================= 60–179 DAYS ================= -->
35316 ranu 706
                <div class="col-lg-3">
707
                    <table class="table table-striped table-hover loan-summary-table">
708
                        <thead>
709
                        <tr>
710
                            <th>Category</th>
35335 ranu 711
                            <th>Count</th>
712
                            <th>Value</th>
35316 ranu 713
                        </tr>
714
                        </thead>
715
 
716
                        <tbody>
717
                        <tr>
35335 ranu 718
                            <th colspan="3">60-179 days</th>
35316 ranu 719
                        </tr>
35335 ranu 720
 
35316 ranu 721
                        <tr>
722
                            <td>Pending</td>
35335 ranu 723
                            <td id="days60-pending-count"
724
                                class="state-wise-loan"
725
                                data-fromdays="60"
726
                                data-todays="179"
727
                                data-statename=""
728
                                data-type="TOTAL_LOAN"
729
                                data-toggle="modal"
35320 ranu 730
                                data-target="#loanSummaryModal"></td>
35316 ranu 731
                            <td id="days60-pending-value"></td>
732
                        </tr>
35335 ranu 733
 
35316 ranu 734
                        <tr>
735
                            <td>Default</td>
35335 ranu 736
                            <td id="days60-default-count"
737
                                class="state-wise-loan"
738
                                data-fromdays="60"
739
                                data-todays="179"
740
                                data-statename=""
741
                                data-type="DEFAULT_LOAN"
742
                                data-toggle="modal"
35320 ranu 743
                                data-target="#loanSummaryModal"></td>
35316 ranu 744
                            <td id="days60-default-value"></td>
745
                        </tr>
35335 ranu 746
 
35316 ranu 747
                        <tr>
748
                            <td>Due</td>
35335 ranu 749
                            <td id="days60-due-count"
750
                                class="state-wise-loan"
751
                                data-fromdays="60"
752
                                data-todays="179"
753
                                data-statename=""
754
                                data-type="DUE_LOAN"
755
                                data-toggle="modal"
35320 ranu 756
                                data-target="#loanSummaryModal"></td>
35316 ranu 757
                            <td id="days60-due-value"></td>
758
                        </tr>
35335 ranu 759
 
35316 ranu 760
                        </tbody>
761
                    </table>
762
                </div>
35335 ranu 763
 
764
                <!-- ================= 180+ DAYS ================= -->
35316 ranu 765
                <div class="col-lg-3">
766
                    <table class="table table-striped table-hover loan-summary-table">
767
                        <thead>
768
                        <tr>
769
                            <th>Category</th>
35335 ranu 770
                            <th>Count</th>
771
                            <th>Value</th>
35316 ranu 772
                        </tr>
773
                        </thead>
774
 
775
                        <tbody>
776
                        <tr>
35335 ranu 777
                            <th colspan="3">Above 180 days</th>
35316 ranu 778
                        </tr>
35335 ranu 779
 
35316 ranu 780
                        <tr>
781
                            <td>Pending</td>
35335 ranu 782
                            <td id="days180-pending-count"
783
                                class="state-wise-loan"
784
                                data-fromdays="180"
785
                                data-todays=""
786
                                data-statename=""
787
                                data-type="TOTAL_LOAN"
788
                                data-toggle="modal"
35320 ranu 789
                                data-target="#loanSummaryModal"></td>
35316 ranu 790
                            <td id="days180-pending-value"></td>
791
                        </tr>
35335 ranu 792
 
35316 ranu 793
                        <tr>
794
                            <td>Default</td>
35335 ranu 795
                            <td id="days180-default-count"
796
                                class="state-wise-loan"
797
                                data-fromdays="180"
798
                                data-todays=""
799
                                data-statename=""
800
                                data-type="DEFAULT_LOAN"
801
                                data-toggle="modal"
35320 ranu 802
                                data-target="#loanSummaryModal"></td>
35316 ranu 803
                            <td id="days180-default-value"></td>
804
                        </tr>
35335 ranu 805
 
35316 ranu 806
                        <tr>
807
                            <td>Due</td>
35335 ranu 808
                            <td id="days180-due-count"
809
                                class="state-wise-loan"
810
                                data-fromdays="180"
811
                                data-todays=""
812
                                data-statename=""
813
                                data-type="DUE_LOAN"
814
                                data-toggle="modal"
35320 ranu 815
                                data-target="#loanSummaryModal"></td>
35316 ranu 816
                            <td id="days180-due-value"></td>
817
                        </tr>
818
 
819
                        </tbody>
820
                    </table>
821
                </div>
35335 ranu 822
 
30017 amit.gupta 823
            </div>
824
            #if($authUserTicketCount)
825
                <div class="row">
826
                    <div class="col-lg-6">
28451 tejbeer 827
 
828
 
35560 ranu 829
                        <div class="row col-lg-12">
36566 amit 830
                            <h3 class="section-title">
30017 amit.gupta 831
                                <strong>Reports</strong>
832
                            </h3>
833
                        </div>
834
                        <div class="row col-lg-12 info-box white-bg">
36566 amit 835
                            <div class="list-group reports-table">
836
                                #foreach($reporticoProjectEntry in
837
                                    $reporticoProjectMap.entrySet()) #foreach($reporticoUrlInfo in
838
                                    $reporticoProjectEntry.getValue()) <a
839
                                        href="${rc.contextPath}/reports/${reporticoProjectEntry.getKey()}${reporticoUrlInfo.getUrl()}"
840
                                        class="list-group-item"
841
                                    #if($reporticoUrlInfo.getParamsList())
842
                                        data-paramslist="$vmUtils.htmlJson($reporticoUrlInfo.getParamsList())"
843
                                    #end>
844
                                    <h4 class="list-group-item-heading">$reporticoUrlInfo.getTitle()</h4>
845
                                    <p class="list-group-item-text">$reporticoUrlInfo.getDescription()</p>
846
                                </a> #end #end
847
                            </div>
28461 tejbeer 848
 
30017 amit.gupta 849
                        </div>
850
                    </div>
851
                    <div class="col-lg-6">
28451 tejbeer 852
 
853
 
35560 ranu 854
                        <div class="row info-box white-bg">
855
                            <div class="col-lg-7">
36566 amit 856
                                <h3 class="section-title">
30017 amit.gupta 857
                                    <strong>My Messages</strong>
858
                                </h3>
859
                            </div>
35560 ranu 860
                            <div class="col-lg-5">
36566 amit 861
                                <div class="btn-group message-filter" class="pull-right">
30017 amit.gupta 862
                                    <button data-messagetype="notification" type="button"
863
                                            class="btn btn-default" aria-label="Notifications"
864
                                            title="Notifications">
865
                                        <span class="glyphicon glyphicon-bell" aria-hidden="true"></span>
866
                                    </button>
867
                                    <button data-messagetype="announcement" type="button"
868
                                            class="btn btn-default" aria-label="Announcements"
869
                                            title="Announcements">
870
                                        <span class="glyphicon glyphicon-bullhorn" aria-hidden="true"></span>
871
                                    </button>
872
                                    <button data-messagetype="scheme" type="button"
873
                                            class="btn btn-default" aria-label="SmartDukaan Schemes"
874
                                            title="SmartDukaan Schemes">
875
                                        <span class="glyphicon glyphicon-tags" aria-hidden="true"></span>
876
                                    </button>
877
                                    <button data-messagetype="marketing" type="button"
878
                                            class="btn btn-default" aria-label="SmartDukaan Schemes"
879
                                            title="SmartDukaan Schemes">
880
                                        <span class="glyphicon glyphicon-picture" aria-hidden="true"></span>
881
                                    </button>
882
                                </div>
883
                            </div>
884
                            <div class="col-lg-12 row notification-container"
885
                                 style="max-height: 500px; overflow-y: scroll;"></div>
886
                        </div>
887
                    </div>
28461 tejbeer 888
 
30017 amit.gupta 889
                </div>
28461 tejbeer 890
 
891
 
30017 amit.gupta 892
            #end #if(!$authUserTicketCount)
28461 tejbeer 893
 
30017 amit.gupta 894
            <div class="row">
895
                <div class="col-lg-6">
896
                    <div class="row col-lg-4">
36566 amit 897
                        <h3 class="section-title">
30017 amit.gupta 898
                            <strong>Reports</strong>
899
                        </h3>
900
                    </div>
901
                    <div class="row col-lg-12 info-box white-bg">
902
                        <table class="table table-striped reports-table"
903
                               style="display: none">
904
                            <tbody>
905
                            <div class="list-group">
906
                                #foreach($reporticoProjectEntry in
907
                                    $reporticoProjectMap.entrySet()) #foreach($reporticoUrlInfo in
908
                                    $reporticoProjectEntry.getValue()) <a
909
                                        href="${rc.contextPath}/reports/${reporticoProjectEntry.getKey()}${reporticoUrlInfo.getUrl()}"
910
                                        class="list-group-item"
911
                                    #if($reporticoUrlInfo.getParamsList())
912
                                        data-paramslist="$vmUtils.htmlJson($reporticoUrlInfo.getParamsList())"
913
                                    #end>
914
                                    <h4 class="list-group-item-heading">$reporticoUrlInfo.getTitle()</h4>
915
                                    <p class="list-group-item-text">$reporticoUrlInfo.getDescription()</p>
916
                                </a> #end #end
917
                            </div>
918
                            </tbody>
919
                        </table>
28461 tejbeer 920
 
30017 amit.gupta 921
                    </div>
28461 tejbeer 922
 
30017 amit.gupta 923
                </div>
924
                <div class="col-lg-6">
925
                    <div class="col-lg-12">
926
                        <div class="row col-lg-12 info-box white-bg">
35560 ranu 927
                            <div class="col-lg-7">
36566 amit 928
                                <h3 class="section-title">
30017 amit.gupta 929
                                    <strong>My Messages</strong>
930
                                </h3>
931
                            </div>
35560 ranu 932
                            <div class="col-lg-5">
36566 amit 933
                                <div class="btn-group message-filter" class="pull-right">
30017 amit.gupta 934
                                    <button data-messagetype="notification" type="button"
935
                                            class="btn btn-default" aria-label="Notifications"
936
                                            title="Notifications">
937
                                        <span class="glyphicon glyphicon-bell" aria-hidden="true"></span>
938
                                    </button>
939
                                    <button data-messagetype="announcement" type="button"
940
                                            class="btn btn-default" aria-label="Announcements"
941
                                            title="Announcements">
942
                                        <span class="glyphicon glyphicon-bullhorn" aria-hidden="true"></span>
943
                                    </button>
944
                                    <button data-messagetype="scheme" type="button"
945
                                            class="btn btn-default" aria-label="SmartDukaan Schemes"
946
                                            title="SmartDukaan Schemes">
947
                                        <span class="glyphicon glyphicon-tags" aria-hidden="true"></span>
948
                                    </button>
949
                                    <button data-messagetype="marketing" type="button"
950
                                            class="btn btn-default" aria-label="SmartDukaan Schemes"
951
                                            title="SmartDukaan Schemes">
952
                                        <span class="glyphicon glyphicon-picture" aria-hidden="true"></span>
953
                                    </button>
954
                                </div>
955
                            </div>
956
                            <div class="col-lg-12 row notification-container"
957
                                 style="max-height: 500px; overflow-y: scroll;"></div>
958
                        </div>
959
                    </div>
960
                </div>
961
            </div>
28461 tejbeer 962
 
30017 amit.gupta 963
        #end
964
        </section>
965
        <div class="text-center">
966
            <div class="credits">
36566 amit 967
                <p>All rights reserved. &copy; Smart Dukaan</p>
30017 amit.gupta 968
            </div>
969
        </div>
970
    </section>
26010 amit.gupta 971
 
30017 amit.gupta 972
    <script type="text/javascript">
973
        context = "${rc.contextPath}";
974
        webApiScheme = "$webApiScheme";
975
        webApiRoot = "$webApiRoot";
976
        webApiHost = "$webApiHost";
977
        webApiPort = "$webApiPort";
35606 amit 978
        #if($retailers)
979
        retailers = $retailers;
980
        #end
981
        #if($warehouses)
982
        warehouses = $warehouses;
983
        #end
984
        #if($authId)
985
        authId = $authId;
986
        #end
30017 amit.gupta 987
    </script>
988
    #parse("include-scripts.vm")
28451 tejbeer 989
 
35396 amit 990
        <script>
991
            $(function () {
36566 amit 992
                $.fn.dataTable.moment('DD/MM/YYYY');
993
                $.fn.dataTable.moment('DD/MM/YYYY hh:mm');
994
                $('.currency').each(function (index, ele) {
995
                    if (!isNaN(parseInt($(ele).html()))) {
996
                        $(ele).html(numberToComma($(ele).html()));
997
                    }
998
                });
28461 tejbeer 999
 
36566 amit 1000
                var profile = localStorage.getItem('profile');
1001
                if (profile) {
1002
                    $("#photo").attr("src", JSON.parse(profile).image_url);
1003
                    $("#fofo_name").text(JSON.parse(profile).name);
1004
                } else {
1005
                    $("#photo").attr("src", "");
1006
                    $("#fofo_name").text("Welcome, User");
1007
                }
28461 tejbeer 1008
 
36566 amit 1009
                loaderDialogObj = bootbox.dialog({
1010
                    message: '<div class="container text-center"><i class="fa fa-spin fa-spinner"></i>Loading...</div>',
1011
                    show: false
1012
                });
30017 amit.gupta 1013
            });
29137 manish 1014
 
35396 amit 1015
            $(document).ready(function () {
29137 manish 1016
 
30017 amit.gupta 1017
            $(".mobile_based").click();
29137 manish 1018
 
30017 amit.gupta 1019
            $('div.message-filter').on('click', 'button', function () {
35396 amit 1020
            messageType = $(this).data("messagetype");
1021
            if ($(this).hasClass('btn-pressed')) {
1022
            messageType = "";
1023
            $('div.message-filter').find('button').removeClass('btn-pressed').addClass('btn-default');
1024
        } else {
1025
            $('div.message-filter').find('button').removeClass('btn-pressed').addClass('btn-default');
1026
            $(this).addClass('btn-pressed').removeClass('btn-default');
1027
        }
1028
            notifyTypeChange(messageType);
1029
        });
30017 amit.gupta 1030
            notifyTypeChange("");
1031
        });
28451 tejbeer 1032
 
30017 amit.gupta 1033
 
35396 amit 1034
            $(document).on("click", ".mobile_based",
1035
            function () {
30017 amit.gupta 1036
 
35396 amit 1037
            $(".ba").css("color", "blue");
1038
            $(".ba").css("background-color", "white");
1039
            $(".la").css("color", "white");
1040
            $(".la").css("background-color", "#C0C0C0");
1041
            $(".as").css("color", "white");
1042
            $(".as").css("background-color", "#C0C0C0");
30017 amit.gupta 1043
 
35396 amit 1044
            $(".au").css("color", "white");
1045
            $(".au").css("background-color", "#C0C0C0");
30017 amit.gupta 1046
 
35396 amit 1047
            doGetAjaxRequestHandler(context + "/getMobileBrandWise", function (response) {
1048
            $('.reportContainer').html(response);
1049
        });
1050
        });
30017 amit.gupta 1051
 
35396 amit 1052
            $(document).on("click", ".accessories_based",
1053
            function () {
30017 amit.gupta 1054
 
35396 amit 1055
            $(".ba").css("color", "white");
1056
            $(".ba").css("background-color", "#C0C0C0");
1057
            $(".la").css("color", "blue");
1058
            $(".la").css("background-color", "white");
1059
            $(".as").css("color", "white");
1060
            $(".as").css("background-color", "#C0C0C0");
30017 amit.gupta 1061
 
35396 amit 1062
            $(".au").css("color", "white");
1063
            $(".au").css("background-color", "#C0C0C0");
1064
            doGetAjaxRequestHandler(context + "/getAccessoriesBrandWise", function (response) {
1065
            $('.reportContainer').html(response);
1066
        });
1067
        });
30017 amit.gupta 1068
 
1069
 
35396 amit 1070
            $(document).on("click", ".activation_summary",
1071
            function () {
30017 amit.gupta 1072
 
35396 amit 1073
            $(".as").css("color", "blue");
1074
            $(".as").css("background-color", "white");
1075
            $(".ba").css("color", "white");
1076
            $(".ba").css("background-color", "#C0C0C0");
1077
            $(".la").css("color", "white");
1078
            $(".la").css("background-color", "#C0C0C0");
30017 amit.gupta 1079
 
35396 amit 1080
            $(".au").css("color", "white");
1081
            $(".au").css("background-color", "#C0C0C0");
1082
            doGetAjaxRequestHandler(context + "/getActivatedModelByBrand", function (response) {
1083
            $('.reportContainer').html(response);
1084
        });
1085
        });
30017 amit.gupta 1086
 
1087
 
35396 amit 1088
            $(document).on("click", ".activation_updation",
1089
            function () {
30017 amit.gupta 1090
 
35396 amit 1091
            $(".as").css("color", "white");
1092
            $(".as").css("background-color", "#C0C0C0");
1093
            $(".au").css("color", "blue");
1094
            $(".au").css("background-color", "white");
1095
            $(".ba").css("color", "white");
1096
            $(".ba").css("background-color", "#C0C0C0");
30017 amit.gupta 1097
 
35396 amit 1098
            $(".la").css("color", "white");
1099
            $(".la").css("background-color", "#C0C0C0");
1100
            doGetAjaxRequestHandler(context + "/getActivatedImeiUpdationDate", function (response) {
1101
            $('.reportContainer').html(response);
1102
        });
1103
        });
30017 amit.gupta 1104
 
1105
 
35396 amit 1106
            doGetAjaxRequestHandler(context + "/getSaleCountByMilestone", function (response) {
31259 tejbeer 1107
            $('.saleMilestoneContainer').html(response);
1108
        });
33087 amit.gupta 1109
 
35396 amit 1110
            doGetAjaxRequestHandler(context + "/getPurchaseCountByMileStone", function (response) {
31273 tejbeer 1111
            $('.purchaseMilestoneContainer').html(response);
1112
        });
35396 amit 1113
            doGetAjaxRequestHandler(context + "/getMobileLMSFilter", function (response) {
30601 amit.gupta 1114
            $('.chartfilterlmsContainer').html(response);
1115
        });
30017 amit.gupta 1116
 
1117
 
35396 amit 1118
            $('.loan-summary-table').on('click', '.loan', function () {
32197 jai.hind 1119
            console.log($(this));
1120
            let loanSummaryType = $(this).data("type");
1121
            doGetAjaxRequestHandler(`${context}/getPartnerWiseLoanSummary?loanSummaryType=${loanSummaryType}`, function (response) {
35396 amit 1122
            $('#loanSummaryModal .modal-content').html(response);
32197 jai.hind 1123
        });
35396 amit 1124
        });
32197 jai.hind 1125
 
35396 amit 1126
            $(document).on('click', ".brand_month_sales", function () {
30601 amit.gupta 1127
            $(".bms").css("color", "blue");
1128
            $(".bms").css("background-color", "white");
1129
            $(".bmp").css("color", "white");
1130
            $(".bmp").css("background-color", "#C0C0C0");
1131
            var warehouseId = $('#warehouseMap').val();
1132
            var filterType = $('#monthDateFilter').val();
30017 amit.gupta 1133
 
30601 amit.gupta 1134
            var fofoIds = $('#fofo-users').val();
34973 aman 1135
            if (typeof fofoIds === 'string') {
35396 amit 1136
            fofoIds = fofoIds.split(',').map(id => parseInt(id.trim()));
1137
        }
34973 aman 1138
            const data = {
35396 amit 1139
            warehouseId: warehouseId,
1140
            date: getDatesFromPicker($('input[name="dateRange"]')).startDate,
1141
            endDate: getDatesFromPicker($('input[name="dateRange"]')).endDate,
1142
            fofoIds: fofoIds,
1143
            filterType: filterType
1144
        };
30017 amit.gupta 1145
 
34973 aman 1146
            doPostAjaxRequestWithJsonHandler(context + "/getMobileLMSGraph", JSON.stringify(data), function (response) {
35396 amit 1147
            $('.chartLmsContainer').html(response);
30601 amit.gupta 1148
        });
35396 amit 1149
        });
30017 amit.gupta 1150
 
35396 amit 1151
            $('#fofo-users').multiselect({
30017 amit.gupta 1152
            includeSelectAllOption: true,
1153
            multiple: true,
1154
            maxHeight: 200,
1155
            buttonWidth: '180px',
1156
            numberDisplayed: 1,
1157
            nonSelectedText: 'Users',
1158
            nSelectedText: ' - Users Selected',
1159
            allSelectedText: 'All Users Selected',
1160
            enableFiltering: true,
1161
            enableCaseInsensitiveFiltering: true
1162
        });
1163
 
35396 amit 1164
            function changelanguage(val) {
33087 amit.gupta 1165
            console.log(val);
1166
            document.documentElement.setAttribute('lang', val)
1167
            var url = window.location.host;
1168
            alert(url);
1169
            //var path = window.location.path;
1170
            alert(path);
1171
            //window.location.href =url+"/dashboard?lang="+val;
1172
            window.open(url + "/dashboard?lang=" + val, "_self");
32771 raveendra. 1173
        }
1174
 
30017 amit.gupta 1175
    </script>
35316 ranu 1176
 
1177
    <script>
1178
        var stateLoanData = {
1179
            #foreach($entry in $stateWiseLoanSummaryMap.entrySet())
1180
                "$entry.key": {
1181
 
35335 ranu 1182
                    // ------------------- Main Summary -------------------
35316 ranu 1183
                    pendingLoans: {
1184
                        partnerCount: $entry.value.pendingLoansLoanAggregation.partnerCount,
1185
                        totalValue: $entry.value.pendingLoansLoanAggregation.totalValue
1186
                    },
1187
                    defaultLoans: {
1188
                        partnerCount: $entry.value.defaultLoansAggregation.partnerCount,
1189
                        totalValue: $entry.value.defaultLoansAggregation.totalValue
1190
                    },
1191
                    dueLoans: {
1192
                        partnerCount: $entry.value.dueLoansAggregation.partnerCount,
1193
                        totalValue: $entry.value.dueLoansAggregation.totalValue
1194
                    },
1195
 
35335 ranu 1196
                    // ------------------ 15–29 Days -------------------
1197
                    range15to29: {
35316 ranu 1198
                        pending: {
35335 ranu 1199
                            partnerCount: $entry.value.range15to29.pending.partnerCount,
1200
                            totalValue: $entry.value.range15to29.pending.totalValue
35316 ranu 1201
                        },
1202
                        defaults: {
35335 ranu 1203
                            partnerCount: $entry.value.range15to29.defaults.partnerCount,
1204
                            totalValue: $entry.value.range15to29.defaults.totalValue
35316 ranu 1205
                        },
1206
                        dues: {
35335 ranu 1207
                            partnerCount: $entry.value.range15to29.dues.partnerCount,
1208
                            totalValue: $entry.value.range15to29.dues.totalValue
35316 ranu 1209
                        }
1210
                    },
1211
 
35335 ranu 1212
                    // ------------------ 30–59 Days -------------------
1213
                    range30to59: {
35316 ranu 1214
                        pending: {
35335 ranu 1215
                            partnerCount: $entry.value.range30to59.pending.partnerCount,
1216
                            totalValue: $entry.value.range30to59.pending.totalValue
35316 ranu 1217
                        },
1218
                        defaults: {
35335 ranu 1219
                            partnerCount: $entry.value.range30to59.defaults.partnerCount,
1220
                            totalValue: $entry.value.range30to59.defaults.totalValue
35316 ranu 1221
                        },
1222
                        dues: {
35335 ranu 1223
                            partnerCount: $entry.value.range30to59.dues.partnerCount,
1224
                            totalValue: $entry.value.range30to59.dues.totalValue
35316 ranu 1225
                        }
1226
                    },
1227
 
35335 ranu 1228
                    // ------------------ 60–179 Days -------------------
1229
                    range60to179: {
35316 ranu 1230
                        pending: {
35335 ranu 1231
                            partnerCount: $entry.value.range60to179.pending.partnerCount,
1232
                            totalValue: $entry.value.range60to179.pending.totalValue
35316 ranu 1233
                        },
1234
                        defaults: {
35335 ranu 1235
                            partnerCount: $entry.value.range60to179.defaults.partnerCount,
1236
                            totalValue: $entry.value.range60to179.defaults.totalValue
35316 ranu 1237
                        },
1238
                        dues: {
35335 ranu 1239
                            partnerCount: $entry.value.range60to179.dues.partnerCount,
1240
                            totalValue: $entry.value.range60to179.dues.totalValue
35316 ranu 1241
                        }
35335 ranu 1242
                    },
1243
 
1244
                    // ------------------ 180+ Days -------------------
1245
                    range180Plus: {
1246
                        pending: {
1247
                            partnerCount: $entry.value.range180Plus.pending.partnerCount,
1248
                            totalValue: $entry.value.range180Plus.pending.totalValue
1249
                        },
1250
                        defaults: {
1251
                            partnerCount: $entry.value.range180Plus.defaults.partnerCount,
1252
                            totalValue: $entry.value.range180Plus.defaults.totalValue
1253
                        },
1254
                        dues: {
1255
                            partnerCount: $entry.value.range180Plus.dues.partnerCount,
1256
                            totalValue: $entry.value.range180Plus.dues.totalValue
1257
                        }
35316 ranu 1258
                    }
1259
 
1260
                }#if($foreach.hasNext),#end
1261
            #end
1262
        };
1263
 
1264
        $(document).ready(function () {
1265
 
1266
            var defaultState = "Delhi";
1267
 
1268
            setTimeout(function () {
1269
                if (stateLoanData[defaultState]) {
1270
                    $("#stateDropdown").val(defaultState);
1271
                    $("#stateDropdown").trigger("change");
1272
                }
1273
            }, 100);
1274
 
1275
            $("#stateDropdown").on("change", function () {
1276
 
1277
                var selectedState = $(this).val();
1278
 
1279
                if (!selectedState) {
1280
                    $("td[id]").text("");
1281
                    return;
1282
                }
1283
 
1284
                var data = stateLoanData[selectedState];
1285
 
35320 ranu 1286
                $(".state-wise-loan").attr("data-statename", selectedState);
1287
 
35335 ranu 1288
                // ---------------- Main Summary ----------------
35316 ranu 1289
                $("#total-pending-count").text(data.pendingLoans.partnerCount);
1290
                $("#total-pending-value").text(Number(data.pendingLoans.totalValue).toFixed(2));
1291
 
1292
                $("#total-default-count").text(data.defaultLoans.partnerCount);
1293
                $("#total-default-value").text(Number(data.defaultLoans.totalValue).toFixed(2));
1294
 
1295
                $("#total-due-count").text(data.dueLoans.partnerCount);
1296
                $("#total-due-value").text(Number(data.dueLoans.totalValue).toFixed(2));
1297
 
35335 ranu 1298
                // ---------------- 15–29 Days ----------------
1299
                $("#days15-pending-count").text(data.range15to29.pending.partnerCount);
1300
                $("#days15-pending-value").text(Number(data.range15to29.pending.totalValue).toFixed(2));
35316 ranu 1301
 
35335 ranu 1302
                $("#days15-default-count").text(data.range15to29.defaults.partnerCount);
1303
                $("#days15-default-value").text(Number(data.range15to29.defaults.totalValue).toFixed(2));
35316 ranu 1304
 
35335 ranu 1305
                $("#days15-due-count").text(data.range15to29.dues.partnerCount);
1306
                $("#days15-due-value").text(Number(data.range15to29.dues.totalValue).toFixed(2));
35316 ranu 1307
 
35335 ranu 1308
                // ---------------- 30–59 Days ----------------
1309
                $("#days30-pending-count").text(data.range30to59.pending.partnerCount);
1310
                $("#days30-pending-value").text(Number(data.range30to59.pending.totalValue).toFixed(2));
35316 ranu 1311
 
35335 ranu 1312
                $("#days30-default-count").text(data.range30to59.defaults.partnerCount);
1313
                $("#days30-default-value").text(Number(data.range30to59.defaults.totalValue).toFixed(2));
35316 ranu 1314
 
35335 ranu 1315
                $("#days30-due-count").text(data.range30to59.dues.partnerCount);
1316
                $("#days30-due-value").text(Number(data.range30to59.dues.totalValue).toFixed(2));
35316 ranu 1317
 
35335 ranu 1318
                // ---------------- 60–179 Days ----------------
1319
                $("#days60-pending-count").text(data.range60to179.pending.partnerCount);
1320
                $("#days60-pending-value").text(Number(data.range60to179.pending.totalValue).toFixed(2));
35316 ranu 1321
 
35335 ranu 1322
                $("#days60-default-count").text(data.range60to179.defaults.partnerCount);
1323
                $("#days60-default-value").text(Number(data.range60to179.defaults.totalValue).toFixed(2));
35316 ranu 1324
 
35335 ranu 1325
                $("#days60-due-count").text(data.range60to179.dues.partnerCount);
1326
                $("#days60-due-value").text(Number(data.range60to179.dues.totalValue).toFixed(2));
1327
 
1328
                // ---------------- 180+ Days ----------------
1329
                $("#days180-pending-count").text(data.range180Plus.pending.partnerCount);
1330
                $("#days180-pending-value").text(Number(data.range180Plus.pending.totalValue).toFixed(2));
1331
 
1332
                $("#days180-default-count").text(data.range180Plus.defaults.partnerCount);
1333
                $("#days180-default-value").text(Number(data.range180Plus.defaults.totalValue).toFixed(2));
1334
 
1335
                $("#days180-due-count").text(data.range180Plus.dues.partnerCount);
1336
                $("#days180-due-value").text(Number(data.range180Plus.dues.totalValue).toFixed(2));
1337
 
35316 ranu 1338
            });
1339
 
1340
        });
1341
 
1342
 
35320 ranu 1343
        $('.loan-summary-table').on('click', '.state-wise-loan', function () {
1344
            console.log($(this));
1345
            let loanSummaryType = $(this).data("type");
35324 ranu 1346
            let stateName = $("#stateDropdown").val();
35335 ranu 1347
            let fromDays = $(this).data("fromdays");
1348
            let toDays = $(this).data("todays");
1349
            doGetAjaxRequestHandler(`${context}/getPartnerStateWiseLoanSummary?loanSummaryType=${loanSummaryType}&stateName=${stateName}&fromDays=${fromDays}&toDays=${toDays}`, function (response) {
35320 ranu 1350
                $('#loanSummaryModal .modal-content').html(response);
1351
            });
1352
        });
35335 ranu 1353
        // Show 15–29 days view
1354
        $("#btnShow15").click(function () {
1355
            $("#overallSummaryView").hide();
1356
            $("#days15View").show();
1357
        });
35320 ranu 1358
 
35335 ranu 1359
        // Show overall view
1360
        $("#btnShowOverall").click(function () {
1361
            $("#days15View").hide();
1362
            $("#overallSummaryView").show();
1363
        });
35320 ranu 1364
 
35335 ranu 1365
 
35316 ranu 1366
    </script>
1367
 
30017 amit.gupta 1368
    <div id="report-modal" class="modal" role="dialog"
1369
         data-backdrop="static" data-keyboard="false">
1370
        <div class="modal-dialog">
1371
 
1372
            <!-- Modal content-->
1373
            <div class="modal-content">
1374
                <div class="modal-header">
1375
                    <button type="button" class="close" data-dismiss="modal">&times;</button>
1376
                    <h4 class="modal-title"></h4>
1377
                </div>
1378
                <div class="modal-body"></div>
1379
                <div class="modal-footer">
1380
                    <button type="button" data-dismiss="modal"
1381
                            class="btn btn-default download-report">Download
1382
                    </button>
1383
                </div>
1384
            </div>
1385
        </div>
1386
    </div>
30601 amit.gupta 1387
</section>
32197 jai.hind 1388
 
33087 amit.gupta 1389
<div id="loanSummaryModal" class="modal" role="dialog">
1390
    <div class="modal-dialog modal-lg">
1391
        <div class="modal-content"></div>
32197 jai.hind 1392
 
1393
    </div>
33087 amit.gupta 1394
</div>
35549 ranu 1395
 
1396
<div class="modal" id="todayBulletinOfferDescription">
1397
    <div class="modal-dialog modal-lg">
1398
        <div class="modal-content">
1399
        </div>
1400
    </div>
1401
</div>
1402
 
35583 ranu 1403
<script>
1404
    function refreshBulletinsList() {
1405
        var selectedDate = $('#bulletinDate').val();
1406
        $.ajax({
1407
            url: context + "/dasboard/getDateWiseBulletins",
1408
            type: "GET",
1409
            data: {date: selectedDate},
1410
            success: function (response) {
1411
                $('#bulletin-list-container').fadeOut(200, function () {
1412
                    $(this).html(response).fadeIn(200);
1413
                });
1414
            },
1415
            error: function () {
1416
                alert("Failed to load bulletins");
1417
            }
1418
        });
1419
    }
1420
    $('#bulletinDate').on('change', refreshBulletinsList);
1421
    $(document).ready(function () {
1422
        let today = new Date().toISOString().split('T')[0];
1423
        $('#bulletinDate').val(today);
1424
        refreshBulletinsList();
1425
    });
37651 vikas 1426
 
1427
    // Deep link: /dashboard?leadRecord=<id> opens that LMS lead record in the shell. Lets the
1428
    // standalone LMS dashboard hand off to the app (its fragments need this page's jQuery/context).
1429
    $(document).ready(function () {
1430
        var leadRecordId = (new URLSearchParams(window.location.search)).get('leadRecord');
1431
        if (leadRecordId && /^\d+$/.test(leadRecordId)) {
1432
            doGetAjaxRequestHandler(context + '/leadRecord?leadId=' + leadRecordId, function (response) {
1433
                $('#main-content').html(response);
1434
            });
1435
        }
1436
    });
36566 amit 1437
</script>
35583 ranu 1438
 
36566 amit 1439
</body>
1440
</html>