Subversion Repositories SmartDukaan

Rev

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

Rev Author Line No. Line
35548 aman 1
$(function () {
2
    $(document).on('click', ".lead", function () {
3
        loadLead("main-content");
4
    });
29598 tejbeer 5
 
35548 aman 6
    $(document).on('click', ".team-commitment", function () {
7
        loadTeamCommitment("main-content");
8
    });
30439 tejbeer 9
 
10
 
35548 aman 11
    $(document).on('click', ".partner-health", function () {
12
        loadPartnerHealth("main-content");
13
    });
29598 tejbeer 14
 
35548 aman 15
    $(document).on('click', ".lead-detail", function () {
16
        loadLeadDetail("main-content");
17
    });
30439 tejbeer 18
 
31370 tejbeer 19
 
35548 aman 20
    $(document).on('click', ".submitCommitment",
21
        function () {
22
            var startDateTime = getDatesFromPicker('input[name="commitmentDate"]').startDate;
23
            doGetAjaxRequestHandler(context + "/getTeamCommitment?date="
24
                + startDateTime, function (response) {
25
                $('.teamcommitmentcontainer').html(response);
31370 tejbeer 26
 
35548 aman 27
            });
28
        });
30439 tejbeer 29
 
30
 
35548 aman 31
    $(document).on('click', ".submitDateWiseLead", function () {
30439 tejbeer 32
 
35769 amit 33
        var startDate = $("#startDate").val();
34
        var endDate = $("#endDate").val();
35548 aman 35
        var status = $("#statusFilter").val();
36
        var color = $("#colorFilter").val();
31370 tejbeer 37
 
35548 aman 38
        if (color == null) {
39
            color = "";
40
        }
31370 tejbeer 41
 
35769 amit 42
        if (startDate && endDate) {
43
            var start = new Date(startDate);
44
            var end = new Date(endDate);
45
            if (end < start) {
46
                alert("End date must be after start date");
47
                return;
48
            }
49
        }
31370 tejbeer 50
 
35769 amit 51
        doGetAjaxRequestHandler(context + "/getOpenLead?leadStatus=" + status + "&color=" + color + "&startDate=" + startDate + "&endDate=" + endDate, function (response) {
35548 aman 52
            $('#' + 'main-content').html(response);
53
        });
29598 tejbeer 54
 
55
 
35548 aman 56
    })
57
    ;$(document).on('click', ".downloadDateWiseLead", function () {
29598 tejbeer 58
 
35769 amit 59
        var startDate = $("#startDate").val();
60
        var endDate = $("#endDate").val();
35548 aman 61
        var status = $("#statusFilter").val();
62
        var color = $("#colorFilter").val();
29598 tejbeer 63
 
35548 aman 64
        if (color == null) {
65
            color = "";
66
        }
29598 tejbeer 67
 
35769 amit 68
        if (startDate && endDate) {
69
            var start = new Date(startDate);
70
            var end = new Date(endDate);
71
            if (end < start) {
72
                alert("End date must be after start date");
73
                return;
74
            }
75
        }
76
 
77
        let endPoint = `${context}/downloadDateWiseLead?leadStatus=${status}&color=${color}&startDate=${startDate}&endDate=${endDate}`;
35548 aman 78
        window.location.href = endPoint;
31249 tejbeer 79
 
35548 aman 80
    });
34650 aman.kumar 81
 
82
 
35548 aman 83
    $(document).on('click', ".visit-request-plan", function () {
34650 aman.kumar 84
 
35548 aman 85
        doGetAjaxRequestHandler(context + "/visitPlan", function (response) {
86
            $('#' + 'main-content').html(response);
87
        });
34650 aman.kumar 88
 
35548 aman 89
    });
34650 aman.kumar 90
 
35548 aman 91
    $(document).on('click', ".visitPlan", function () {
25980 tejbeer 92
 
35548 aman 93
        let dateWisePlan = $("#dateVisitSearch").val();
31249 tejbeer 94
 
35548 aman 95
        doGetAjaxRequestHandler(context + "/visit/getVisitPlan?date=" + dateWisePlan, function (response) {
96
            $('#' + 'main-content').html(response);
97
        });
31249 tejbeer 98
 
35548 aman 99
    });
31249 tejbeer 100
 
35548 aman 101
    $(document).on('click', ".lead-close", function () {
102
        loadClosedLead("main-content");
103
    });
31249 tejbeer 104
 
35548 aman 105
    $(document).on('click', "#lead-close-paginated .next",
106
        function () {
31249 tejbeer 107
 
35548 aman 108
            var searchText = $("#authUser").val();
109
            // var searchTxt=$("#scheme-search-text").val();
110
            console.log(searchText);
111
            if (typeof (searchText) == "undefined" || !searchText) {
112
                searchText = "";
113
            }
31249 tejbeer 114
 
35548 aman 115
            if ((searchText)) {
116
                var params = {};
117
                params['searchTerm'] = searchText;
118
                loadPaginatedNextItems('/searchLeadPaginated', params,
119
                    'lead-close-paginated', 'close-lead-table',
120
                    'lead-close-container');
121
            } else {
31249 tejbeer 122
 
35548 aman 123
                loadPaginatedNextItems('/getPaginatedClosedLeads', null,
124
                    'lead-close-paginated', 'close-lead-table',
125
                    'lead-close-container');
126
            }
127
            $(this).blur();
128
        });
31249 tejbeer 129
 
35548 aman 130
    $(document).on('click', "#lead-close-paginated .previous",
131
        function () {
132
            var searchText = $("#authUser").val();
133
            // var searchTxt=$("#scheme-search-text").val();
134
            console.log(searchText);
135
            if (typeof (searchText) == "undefined" || !searchText) {
136
                searchText = "";
137
            }
25988 tejbeer 138
 
35548 aman 139
            if ((searchText)) {
140
                var params = {};
141
                params['searchTerm'] = searchText;
142
                loadPaginatedPreviousItems('/searchLeadPaginated', params,
143
                    'lead-close-paginated', 'close-lead-table',
144
                    'lead-close-container');
145
            } else {
146
                loadPaginatedPreviousItems('/getPaginatedClosedLeads',
147
                    null, 'lead-close-paginated', 'close-lead-table',
148
                    'lead-close-container');
149
            }
150
            $(this).blur();
151
        });
25988 tejbeer 152
 
35548 aman 153
    $(document).on('click', "#close-lead-search-button", function () {
154
        var searchText = $("#authUser").val();
155
        if (typeof (searchText) == "undefined" || !searchText) {
156
            searchText = "";
157
        }
158
        loadLeadSearchInfo(searchText);
159
    });
25988 tejbeer 160
 
35548 aman 161
    $(document).on("keyup", "#authUser", function (e) {
162
        var keyCode = e.keyCode || e.which;
163
        if (keyCode == 13) {
164
            $("#close-lead-search-button").click();
165
        }
166
    });
167
    $(document).on('click', ".view",
168
        function () {
169
            var id = $(this).data('requestid');
170
            console.log(id);
171
            doGetAjaxRequestHandler(context + "/getLeadActivity?leadId="
172
                + id, function (response) {
25988 tejbeer 173
 
35548 aman 174
                console.log(response)
25988 tejbeer 175
 
35548 aman 176
                $('#fetchLeadActivityData .modal-content').html(response);
25988 tejbeer 177
 
35548 aman 178
            });
179
        });
25988 tejbeer 180
 
35548 aman 181
    $(document).on('click', ".newLead", function () {
182
        $('#newEntryLeadModal').modal('show');
183
        $("#scheduleTime").hide();
184
    });
25988 tejbeer 185
 
35548 aman 186
    $(document).on('click', ".show-lead", function () {
187
        var status = $("#statusFilter").val();
188
        doGetAjaxRequestHandler(context + "/getOpenLead?leadStatus=" + status, function (response) {
189
            $('#' + 'main-content').html(response);
190
        });
191
    });
25980 tejbeer 192
 
31370 tejbeer 193
 
35548 aman 194
    $(document).on('click', ".show-colowise-lead", function () {
195
        var status = $("#statusFilter").val();
196
        var color = $("#colorFilter").val();
197
        doGetAjaxRequestHandler(context + "/getOpenLead?leadStatus=" + status + "&color=" + color, function (response) {
198
            $('#' + 'main-content').html(response);
199
        });
200
    });
25980 tejbeer 201
 
35548 aman 202
    $(document).on('click', "#uploadIvoryLead", function () {
25980 tejbeer 203
 
35548 aman 204
        window.location.href = context + "/downloadIvoryLead";
205
    });
25980 tejbeer 206
 
35548 aman 207
    $(document).on('click', ".submitLeadGenerate", function () {
27609 tejbeer 208
 
35548 aman 209
        console.log("hello");
210
        if (confirm('Confirm upload ?')) {
211
            var fileSelector = $(this)[0];
212
            if (fileSelector != undefined) {
213
                var url = `${context}/csvFileAndSetLead`;
214
                console.log(url);
215
                var file = $(".fileLeadGenerate")[0].files[0];
216
                let fileInput = $(this);
217
                console.log("file" + file);
218
                console.log("fileInput" + fileInput);
219
                doAjaxUploadRequestHandler(
220
                    url,
221
                    'POST',
222
                    file, function (response) {
27642 tejbeer 223
 
35548 aman 224
                        console.log("reponse" + response);
31370 tejbeer 225
 
35548 aman 226
                        if (response == true) {
227
                            alert("successfully uploaded");
31370 tejbeer 228
 
229
 
35548 aman 230
                        }
231
                    });
29598 tejbeer 232
 
35548 aman 233
            }
234
        } else {
235
            // Do nothing!
236
        }
237
    });
27642 tejbeer 238
 
239
 
35548 aman 240
    $(document).on('click', ".lead-request",
241
        function () {
29598 tejbeer 242
 
35548 aman 243
            var firstName = $('input[name="firstName"]').val();
244
            var lastName = $('input[name="lastName"]').val();
245
            var mobile = $('input[name="mobile"]').val();
246
            var address = $('input[name="address"]').val();
247
            var status = $("#status").val();
248
            var city = $('input[name="city"]').val();
249
            var state = $("#state").val();
250
            var remark = $("#createRemark").val();
251
            var assignTo = $("#createAssignTo").val();
252
            var source = $("#leadSource").val();
253
            var communicationType = $("#communicationTye").val();
29427 manish 254
 
35548 aman 255
            var conversionprobability = $("#conversionprobabilit").val();
29598 tejbeer 256
 
257
 
35548 aman 258
            var outletName = $('input[name="leadoutletName"]').val();
259
            var counterSize = $('input[name="leadcounterSize"]').val();
260
            var table = document.getElementById('brandtable');
261
            var brandValueJson = [];
262
            var leadBrands;
29598 tejbeer 263
 
35548 aman 264
            console.log(conversionprobability)
29598 tejbeer 265
 
266
 
35548 aman 267
            if (firstName === "" && lastName === "" && mobile === ""
268
                && address === "" && status === "" && city === ""
269
                && state === "" && remark === "" && source === "") {
270
                alert("Field can't be empty");
271
                return;
272
            }
29598 tejbeer 273
 
25980 tejbeer 274
 
35548 aman 275
            if (firstName === "") {
276
                alert("First Name is required");
277
                return;
278
            }
279
            if (lastName === "") {
280
                alert("Last Name is required");
281
                return;
282
            }
283
            if (mobile === "") {
284
                alert("Mobile is required");
285
                return;
286
            }
287
            if (status === "") {
288
                alert("Status is required");
289
                return;
290
            }
291
            if (address === "") {
292
                alert("address is required");
293
                return;
294
            }
295
            if (city === "") {
296
                alert("city is required");
297
                return;
298
            }
32471 tejbeer 299
 
35548 aman 300
            if (state === "") {
301
                alert("state is required");
302
                return;
303
            }
304
            if (source === "") {
305
                alert("Source is required")
306
                return;
307
            }
32471 tejbeer 308
 
35548 aman 309
            if (remark === "") {
310
                alert("Remark is required");
311
                return;
312
            }
32471 tejbeer 313
 
35548 aman 314
            if (conversionprobability === "") {
315
                alert("Conversion Probability is required");
316
                return;
317
            }
318
            if (status == "followUp" || status == "pending" || status == "finalized") {
319
                if (outletName === "") {
320
                    alert("Outlet Name is required");
321
                    return;
322
                }
25980 tejbeer 323
 
35548 aman 324
                if (counterSize === "") {
325
                    alert("Counter Size is required");
326
                    return;
327
                }
32464 tejbeer 328
 
35548 aman 329
                if (localStorage.getItem("frontph") == "undefined" && localStorage.getItem("frontph") == null) {
330
                    alert("Front Document is required");
331
                    return;
332
                }
32464 tejbeer 333
 
35548 aman 334
                if (localStorage.getItem("internalMarketh") == "undefined" || localStorage.getItem("internalMarketh") == null) {
335
                    alert("Front With Market Document is required");
336
                    return;
337
                }
25980 tejbeer 338
 
35548 aman 339
                if (localStorage.getItem("leftShoth") == "undefined" || localStorage.getItem("leftShoth") == null) {
340
                    alert("Internal Left Shot Document is required");
341
                    return;
342
                }
32464 tejbeer 343
 
35548 aman 344
                if (localStorage.getItem("leftWallh") == "undefined" || localStorage.getItem("leftWallh") == null) {
345
                    alert("Internal Left Wall Document is required");
346
                    return;
347
                }
25980 tejbeer 348
 
349
 
35548 aman 350
                if (localStorage.getItem("rightWallh") == "undefined" || localStorage.getItem("rightWallh") == null) {
351
                    alert("Internal Right Wall Document is required");
352
                    return;
353
                }
25980 tejbeer 354
 
32464 tejbeer 355
 
35548 aman 356
                for (i = 1; i < table.rows.length; i++) {
32464 tejbeer 357
 
35548 aman 358
                    var objCells = table.rows[i].cells;
32464 tejbeer 359
 
35548 aman 360
                    leadBrands = {
361
                        brand: objCells[0].innerText,
362
                        value: objCells[1].getElementsByTagName('input')[0].value
363
                    }
364
                    brandValueJson.push(leadBrands);
365
                }
32464 tejbeer 366
 
367
 
35548 aman 368
            }
32464 tejbeer 369
 
370
 
35548 aman 371
            var leaddetailData = {}
372
            leaddetailData['firstName'] = firstName;
373
            leaddetailData['lastName'] = lastName
374
            leaddetailData['mobile'] = mobile
375
            leaddetailData['address'] = address
376
            leaddetailData['city'] = city
377
            leaddetailData['state'] = state
378
            leaddetailData['status'] = status
379
            leaddetailData['remark'] = remark
380
            leaddetailData['assignTo'] = assignTo
381
            leaddetailData['source'] = source
382
            leaddetailData['colorCheck'] = conversionprobability
32464 tejbeer 383
 
384
 
35548 aman 385
            if (status == "followUp") {
386
                leaddetailData['schelduleTimestamp'] = getDatesFromPicker('#scheduleTime').startDate;
32464 tejbeer 387
 
35548 aman 388
                leaddetailData['communicationType'] = communicationType
389
            }
32464 tejbeer 390
 
391
 
35548 aman 392
            leaddetailData['outletName'] = outletName;
32464 tejbeer 393
 
35548 aman 394
            leaddetailData['counterSize'] = counterSize;
32464 tejbeer 395
 
396
 
35548 aman 397
            leaddetailData['leadBrands'] = brandValueJson;
32464 tejbeer 398
 
35548 aman 399
            console.log(localStorage.getItem("frontp"));
32464 tejbeer 400
 
401
 
35548 aman 402
            leaddetailData['frontp'] = localStorage
403
                .getItem("frontph");
31249 tejbeer 404
 
32464 tejbeer 405
 
35548 aman 406
            leaddetailData['frontWithMarket'] = localStorage
407
                .getItem("internalMarketh");
32464 tejbeer 408
 
409
 
35548 aman 410
            leaddetailData['internalLongShot'] = localStorage
411
                .getItem("leftShoth");
32464 tejbeer 412
 
413
 
35548 aman 414
            leaddetailData['internalLeftWall'] = localStorage
415
                .getItem("leftWallh");
32464 tejbeer 416
 
417
 
35548 aman 418
            leaddetailData['internalRightWall'] = localStorage
419
                .getItem("rightWallh");
32464 tejbeer 420
 
35548 aman 421
            console.log(leaddetailData);
32464 tejbeer 422
 
35548 aman 423
            if (confirm("Are you sure you want to add lead!") == true) {
424
                doPostAjaxRequestWithJsonHandler(context + "/createLead",
425
                    JSON.stringify(leaddetailData), function (response) {
426
                        if (response == 'true') {
427
                            alert("successfully Add");
428
                            $('#newEntryLeadModal').modal('hide');
429
                            $('.modal-backdrop').remove();
430
                            loadLead("main-content");
431
                        } else {
432
                            alert(response);
433
                        }
434
                    });
32464 tejbeer 435
 
35548 aman 436
                return false;
437
            }
438
        });
36642 ranu 439
    window.leadId = null;
35548 aman 440
    var row = null;
441
    $(document).on('click', ".editLead", function () {
442
        $('#editLeadData').modal('show');
32464 tejbeer 443
 
35548 aman 444
        $("#remark").val("");
445
        $("#assignTo").val("");
446
        $("#editStatus").val("");
447
        $("#reason").val("");
448
        $("#editCity").val("");
449
        $("#editState").val("");
35769 amit 450
        $("#editSource").val("");
35548 aman 451
        $("#editScheduleTime").hide();
32464 tejbeer 452
 
453
 
35548 aman 454
        localStorage.removeItem("frontph");
455
        localStorage.removeItem("leftShoth");
456
        localStorage.removeItem("rightWallh");
457
        localStorage.removeItem("leftWallh");
458
        localStorage.removeItem("internalMarketh");
32464 tejbeer 459
 
35548 aman 460
        row = $(this).closest("tr");
461
        leadId = $(this).data('leadid');
32464 tejbeer 462
 
35548 aman 463
        doAjaxRequestHandler(
464
            context + "/getLeadDetailByLeadId?leadId=" + leadId,
465
            "GET",
466
            function (response) {
32464 tejbeer 467
 
35548 aman 468
                var data = response.response;
469
                if (!data) return;
470
                console.log(data);
471
                $("#editCity").val(data.city);
472
                $("#editState").val(data.state);
473
                $("input[name='outletName']").val(data.outletName);
474
                $("input[name='counterSize']").val(data.counterSize);
475
            }
476
        );
477
    });
32464 tejbeer 478
 
479
 
35548 aman 480
    $(document).on('click', ".lead-edit-request",
481
        function () {
32464 tejbeer 482
 
25980 tejbeer 483
 
35548 aman 484
            console.log(row);
485
            var rowIndex = $(this).closest('tr').prevAll().length;
486
            var remark = $('input[name="remark"]').val();
487
            var assignTo = $("#assignTo").val();
488
            var editStatus = $("#editStatus").val();
489
            var city = $('input[name="editCity"]').val();
490
            var state = $("#editState").val();
491
            var reason = $("#reason").val();
25980 tejbeer 492
 
35769 amit 493
            var startDate = $("#startDate").val();
494
            var endDate = $("#endDate").val();
35548 aman 495
            var leadStatus = $("#statusFilter").val();
496
            var color = $("#colorFilter").val();
497
            var communicationType = $("#communicationType").val();
29640 tejbeer 498
 
35548 aman 499
            var conversionprobability = $("#conversionprobability").val();
35769 amit 500
            var editSource = $("#editSource").val();
29640 tejbeer 501
 
35548 aman 502
            console.log(conversionprobability)
29640 tejbeer 503
 
31473 tejbeer 504
 
35769 amit 505
            console.log(startDate)
35548 aman 506
            console.log(leadStatus)
31370 tejbeer 507
 
35548 aman 508
            console.log(color)
509
            console.log(reason)
31370 tejbeer 510
 
35548 aman 511
            if (remark === "" && assignTo === "" && editStatus === "") {
512
                alert("All fields is required");
513
                return;
514
            }
31370 tejbeer 515
 
35548 aman 516
            if (assignTo === "") {
517
                alert("assignTo is required");
518
                return;
519
            }
31409 tejbeer 520
 
35548 aman 521
            if (remark === "") {
522
                alert("Remark is required");
523
                return;
524
            }
31370 tejbeer 525
 
526
 
35548 aman 527
            if (editStatus === "") {
528
                alert("status is required");
529
                return;
530
            }
31370 tejbeer 531
 
35548 aman 532
            if (editStatus === "notInterested") {
533
                if (reason == null) {
534
                    alert("Reason  is required");
535
                    return;
536
                }
537
            }
538
            var leadActivityData = {}
539
            leadActivityData['id'] = leadId;
540
            leadActivityData['remark'] = remark;
541
            leadActivityData['assignTo'] = assignTo
542
            leadActivityData['status'] = editStatus
543
            leadActivityData['reason'] = reason
544
            leadActivityData['colorCheck'] = conversionprobability
545
            if (city && city.trim() !== "") {
546
                leadActivityData.city = city;
547
            }
25980 tejbeer 548
 
35548 aman 549
            if (state && state.trim() !== "") {
550
                leadActivityData.state = state;
551
            }
29473 manish 552
 
35769 amit 553
            if (editSource && editSource.trim() !== "") {
554
                leadActivityData.source = editSource;
555
            }
29598 tejbeer 556
 
35769 amit 557
 
35548 aman 558
            if (editStatus == "followUp") {
36642 ranu 559
                leadActivityData['communicationType'] = communicationType
35548 aman 560
                leadActivityData['scheldule'] = getDatesFromPicker('input[name="editScheduleTime"]').startDate
29598 tejbeer 561
 
36642 ranu 562
                if (communicationType == 'VISIT') {
563
                    var beatVal = $('#beatDate').val();
564
                    if (beatVal) {
565
                        leadActivityData['beatSelection'] = beatVal;
566
                    }
567
                }
35548 aman 568
            }
29598 tejbeer 569
 
35548 aman 570
            console.log(leadActivityData);
571
            if (confirm("Are you sure you want to add lead!") == true) {
572
                doPostAjaxRequestWithJsonHandler(context + "/editLead", JSON.stringify(leadActivityData), function (response) {
573
                    console.log(response);
574
                    $('#editLeadData').modal('hide');
575
                    $('.modal-backdrop').remove();
576
                    row.html(response);
577
                });
578
            }
29598 tejbeer 579
 
35548 aman 580
        });
32477 tejbeer 581
 
582
 
35548 aman 583
    $(document).on('click', ".show-partner-health",
584
        function () {
29598 tejbeer 585
 
35548 aman 586
            var email = $("#authUserFilter").val();
25980 tejbeer 587
 
35548 aman 588
            console.log(email)
589
            doGetAjaxRequestHandler(context + "/partnerHealth?email="
590
                + email, function (response) {
591
                console.log(response)
592
                $('#' + 'main-content').html(response);
25980 tejbeer 593
 
35548 aman 594
            });
595
        });
25980 tejbeer 596
 
597
 
35548 aman 598
    $(document).on('click', ".lead-detail-entry",
599
        function () {
28200 tejbeer 600
 
35548 aman 601
            console.log("hello");
602
            var outletName = $('input[name="outletName"]').val();
603
            var counterSize = $('input[name="counterSize"]').val();
604
            var table = document.getElementById('editbrandtable');
605
            var brandValueJson = [];
606
            var leadBrands;
25980 tejbeer 607
 
35548 aman 608
            if (outletName === "") {
609
                alert("Outlet Name is required");
610
                return;
611
            }
29598 tejbeer 612
 
35548 aman 613
            if (counterSize === "") {
614
                alert("Counter Size is required");
615
                return;
616
            }
32471 tejbeer 617
 
35548 aman 618
            if (localStorage.getItem("frontph") == "undefined" && localStorage.getItem("frontph") == null) {
619
                alert("Front Document is required");
620
                return;
621
            }
31249 tejbeer 622
 
35548 aman 623
            if (localStorage.getItem("internalMarketh") == "undefined" || localStorage.getItem("internalMarketh") == null) {
624
                alert("Front With Market Document is required");
625
                return;
626
            }
25980 tejbeer 627
 
35548 aman 628
            if (localStorage.getItem("leftShoth") == "undefined" || localStorage.getItem("leftShoth") == null) {
629
                alert("Internal Left Shot Document is required");
630
                return;
631
            }
27605 tejbeer 632
 
35548 aman 633
            if (localStorage.getItem("leftWallh") == "undefined" || localStorage.getItem("leftWallh") == null) {
634
                alert("Internal Left Wall Document is required");
635
                return;
636
            }
27605 tejbeer 637
 
30185 tejbeer 638
 
35548 aman 639
            if (localStorage.getItem("rightWallh") == "undefined" || localStorage.getItem("rightWallh") == null) {
640
                alert("Internal Right Wall Document is required");
641
                return;
642
            }
30185 tejbeer 643
 
644
 
35548 aman 645
            for (i = 1; i < table.rows.length; i++) {
30185 tejbeer 646
 
35548 aman 647
                var objCells = table.rows[i].cells;
30185 tejbeer 648
 
35548 aman 649
                leadBrands = {
650
                    brand: objCells[0].innerText,
651
                    value: objCells[1].getElementsByTagName('input')[0].value
652
                }
653
                brandValueJson.push(leadBrands);
654
            }
30185 tejbeer 655
 
30416 tejbeer 656
 
35548 aman 657
            var leadDetailObject = {};
31402 tejbeer 658
 
35548 aman 659
            leadDetailObject['leadId'] = leadId;
30416 tejbeer 660
 
661
 
35548 aman 662
            leadDetailObject['outletName'] = outletName;
31370 tejbeer 663
 
35548 aman 664
            leadDetailObject['counterSize'] = counterSize;
31370 tejbeer 665
 
35548 aman 666
            leadDetailObject['leadBrands'] = brandValueJson;
31370 tejbeer 667
 
31402 tejbeer 668
 
35548 aman 669
            console.log(localStorage.getItem("frontp"));
31402 tejbeer 670
 
671
 
35548 aman 672
            leadDetailObject['frontp'] = localStorage
673
                .getItem("frontph");
31402 tejbeer 674
 
675
 
35548 aman 676
            leadDetailObject['frontWithMarket'] = localStorage
677
                .getItem("internalMarketh");
31370 tejbeer 678
 
679
 
35548 aman 680
            leadDetailObject['internalLongShot'] = localStorage
681
                .getItem("leftShoth");
31370 tejbeer 682
 
683
 
35548 aman 684
            leadDetailObject['internalLeftWall'] = localStorage
685
                .getItem("leftWallh");
31370 tejbeer 686
 
687
 
35548 aman 688
            leadDetailObject['internalRightWall'] = localStorage
689
                .getItem("rightWallh");
31370 tejbeer 690
 
35548 aman 691
            console.log(leadDetailObject);
31370 tejbeer 692
 
35548 aman 693
            if (confirm("Are you sure you want to add lead detail!") == true) {
694
                doPostAjaxRequestWithJsonHandler(context + "/leadDetail", JSON.stringify(leadDetailObject), function (response) {
695
                    console.log(response);
696
                    if (response == 'true') {
697
                        alert("Submit Successfully");
698
                    }
31370 tejbeer 699
 
35548 aman 700
                });
701
            }
31370 tejbeer 702
 
35548 aman 703
        });
31370 tejbeer 704
 
705
 
35548 aman 706
    $(document).on('change', '.frontp',
707
        function () {
31370 tejbeer 708
 
35548 aman 709
            if (confirm('Document has been selected, Do you want to upload ?')) {
31370 tejbeer 710
 
35548 aman 711
                var documentId = uploadImage(this, "frontph");
31370 tejbeer 712
 
713
 
35548 aman 714
            } else {
31370 tejbeer 715
 
35548 aman 716
            }
717
        });
31456 tejbeer 718
 
35548 aman 719
    $(document).on('change', '.internalMarket',
720
        function () {
31456 tejbeer 721
 
35548 aman 722
            if (confirm('Document has been selected, Do you want to upload ?')) {
31456 tejbeer 723
 
35548 aman 724
                var documentId = uploadImage(this, "internalMarketh");
31456 tejbeer 725
 
35548 aman 726
            } else {
31456 tejbeer 727
 
35548 aman 728
            }
729
        });
31370 tejbeer 730
 
35548 aman 731
    $(document).on('change', '.leftShot',
31370 tejbeer 732
 
35548 aman 733
        function () {
734
            if (confirm('Document has been selected, Do you want to upload ?')) {
735
                var documentId = uploadImage(this, "leftShoth");
736
            } else {
31370 tejbeer 737
 
35548 aman 738
            }
739
        });
31370 tejbeer 740
 
35548 aman 741
    $(document).on('change', '.leftWall',
742
        function () {
743
            if (confirm('Document has been selected, Do you want to upload ?')) {
744
                var documentId = uploadImage(this, "leftWallh");
745
            } else {
31370 tejbeer 746
 
35548 aman 747
            }
748
        });
31370 tejbeer 749
 
35548 aman 750
    $(document).on('change', '.rightWall',
751
        function () {
752
            if (confirm('Document has been selected, Do you want to upload ?')) {
753
                var documentId = uploadImage(this, "rightWallh");
754
            } else {
755
            }
756
        });
31370 tejbeer 757
 
758
 
25980 tejbeer 759
});
760
 
31404 tejbeer 761
function uploadImage(fileSelector, attrName) {
35548 aman 762
    var documentId;
763
    if (fileSelector != undefined
764
        && fileSelector.files[0] != undefined) {
765
        var url = context
766
            + '/document-upload';
31370 tejbeer 767
 
35548 aman 768
        console.log(url);
769
        var file = fileSelector.files[0];
31370 tejbeer 770
 
35548 aman 771
        console.log(file)
772
        doAjaxUploadRequestHandler(
773
            url,
774
            'POST',
775
            file,
776
            function (response) {
777
                console.log(response)
778
                documentId = response.response.document_id;
779
                console
780
                    .log("documentId : "
781
                        + documentId);
31370 tejbeer 782
 
783
 
35548 aman 784
                localStorage
785
                    .setItem(
786
                        attrName,
787
                        documentId);
31402 tejbeer 788
 
35548 aman 789
            });
790
        return documentId;
791
    }
31370 tejbeer 792
 
793
}
794
 
795
 
25980 tejbeer 796
function loadLead(domId) {
35548 aman 797
    doGetAjaxRequestHandler(context + "/getOpenLead", function (response) {
798
        $('#' + domId).html(response);
799
    });
25980 tejbeer 800
}
801
 
25988 tejbeer 802
function loadClosedLead(domId, searchTerm) {
35548 aman 803
    doGetAjaxRequestHandler(context + "/getClosedLead", function (response) {
804
        $('#' + domId).html(response);
805
    })
25988 tejbeer 806
}
807
 
25980 tejbeer 808
function statusAction() {
35548 aman 809
    var val = $('#status').val();
810
    if (val == "followUp") {
811
        $("#scheduleTime").show();
812
    } else {
813
        $("#scheduleTime").hide();
814
    }
25980 tejbeer 815
 
816
}
27605 tejbeer 817
 
818
 
819
function editStatusAction() {
35548 aman 820
    var val = $('#editStatus').val();
821
    if (val == "followUp") {
36642 ranu 822
        // Show communication type and schedule date
823
        $("#communicationTypeSection").show();
35548 aman 824
        $("#editScheduleTime").show();
36642 ranu 825
        $("#beatDateSelection").hide();
826
 
827
        // Reset communication type and assignTo
828
        $('#communicationType').val('');
829
        $('#assignTo').val('');
830
        $('#assignTo option').show();
831
 
832
        // Check if lead has approved geolocation to decide VISIT option
833
        doAjaxRequestHandler(context + "/lead-geo/check/" + leadId, "GET", function (response) {
834
            var hasGeo = response.response.hasApprovedGeo;
835
            var commDropdown = $('#communicationType');
836
            commDropdown.empty();
837
            commDropdown.append('<option value="" disabled selected>Communication Type</option>');
838
            commDropdown.append('<option value="TELEPHONIC">TELEPHONIC</option>');
839
            if (hasGeo) {
840
                commDropdown.append('<option value="VISIT">VISIT</option>');
841
            }
842
        });
35548 aman 843
    } else {
36642 ranu 844
        $("#communicationTypeSection").hide();
35548 aman 845
        $("#editScheduleTime").hide();
36642 ranu 846
        $("#beatDateSelection").hide();
847
        $('#assignTo option').show();
35548 aman 848
    }
27605 tejbeer 849
 
850
}
851
 
25988 tejbeer 852
function loadLeadSearchInfo(search_text) {
35548 aman 853
    loadSearchLead("main-content", search_text);
25988 tejbeer 854
}
855
 
30185 tejbeer 856
function loadTeamCommitment(domId) {
35548 aman 857
    doGetAjaxRequestHandler(context + "/teamCommitment",
858
        function (response) {
859
            $('#' + domId).html(response);
860
        });
30185 tejbeer 861
}
862
 
31370 tejbeer 863
function loadLeadDetail(domId) {
35548 aman 864
    doGetAjaxRequestHandler(context + "/getLeadDetail",
865
        function (response) {
866
            $('#' + domId).html(response);
867
        });
31370 tejbeer 868
}
869
 
30416 tejbeer 870
function loadPartnerHealth(domId) {
35548 aman 871
    doGetAjaxRequestHandler(context + "/partnerHealth",
872
        function (response) {
873
            $('#' + domId).html(response);
874
        });
30416 tejbeer 875
}
876
 
25988 tejbeer 877
function loadSearchLead(domId, search_text) {
35548 aman 878
    doGetAjaxRequestHandler(context + "/searchLeads?searchTerm=" + search_text,
879
        function (response) {
880
            $('#' + domId).html(response);
881
        });
25988 tejbeer 882
}
33917 ranu 883
 
884
$(document).on('click', ".arr-button-mk",
35548 aman 885
    function () {
886
        var startDate = $('.arr-start_date').val();
887
        doGetAjaxRequestHandler(context + "/rbmTodayArr?startDate=" + startDate, function (response) {
888
            $('#main-content').html(response);
33917 ranu 889
 
35548 aman 890
        });
891
    });
33917 ranu 892
 
893
$(document).on('click', ".rbm-today-arr",
35548 aman 894
    function () {
895
        doGetAjaxRequestHandler(context + "/rbmTodayArr", function (response) {
896
            $('#main-content').html(response);
33917 ranu 897
 
35548 aman 898
        });
899
    });
900
$(document).on('click', '.reassign', function () {
901
    $('#bulkReassignFile').val(null);
902
    $('#bulkReassignFile').click();
903
});
904
 
905
$(document).on('change', '#bulkReassignFile', function () {
906
 
907
    if (!confirm("Confirm bulk reassign upload?")) {
908
        return;
909
    }
910
 
911
    var file = this.files[0];
912
    if (!file) {
913
        alert("No file selected");
914
        return;
915
    }
916
 
917
    doAjaxUploadRequestHandler(
918
        context + "/upload-assign-id",
919
        'POST',
920
        file,
921
        function (response) {
922
            alert("Bulk reassignment completed");
923
            loadLead("main-content");
924
        }
925
    );
926
});
927
 
36642 ranu 928
// ==================== GEO LOCATION HANDLERS ====================
929
 
930
// Communication type change: filter assignTo based on type
931
$(document).on('change', '#communicationType', function () {
932
    var val = $(this).val();
933
    var assignDropdown = $('#assignTo');
934
 
935
    // Reset beat
936
    $('#beatDate').val('');
937
    $('#beatBadges').empty();
938
    $("#beatDateSelection").hide();
939
 
940
    if (val == 'VISIT') {
941
        // Filter assignTo to sales users only (no BGC)
942
        if (typeof salesUserIds !== 'undefined') {
943
            assignDropdown.find('option').each(function () {
944
                var optVal = parseInt($(this).val());
945
                if (optVal && salesUserIds.indexOf(optVal) === -1) {
946
                    $(this).hide();
947
                } else {
948
                    $(this).show();
949
                }
950
            });
951
        }
952
        // If assignTo already selected, fetch beats immediately
953
        if (assignDropdown.val()) {
954
            fetchBeatDates();
955
        }
956
    } else {
957
        // TELEPHONIC — show all users
958
        assignDropdown.find('option').show();
959
    }
960
});
961
 
962
// Fetch beats when communicationType or assignTo changes
963
$(document).on('change', '#communicationType, #assignTo', function () {
964
    var commType = $('#communicationType').val();
965
    var salesAuthId = $('#assignTo').val();
966
    if (commType === 'VISIT' && salesAuthId && leadId) {
967
        fetchBeatDates();
968
    } else if (commType !== 'VISIT') {
969
        $("#beatDateSelection").hide();
970
    }
971
});
972
 
973
function fetchBeatDates() {
974
    var salesAuthId = $('#assignTo').val();
975
    var scheduleDate = $('input[name="editScheduleTime"]').val();
976
    if (!salesAuthId || !leadId) return;
977
 
978
    var badgesDiv = $('#beatBadges');
979
    badgesDiv.html('<span style="color:#999; font-size:12px;">Loading beats...</span>');
980
    $("#beatDateSelection").show();
981
    $('#beatDate').val('');
982
 
983
    var url = context + "/lead-geo/beat-dates?leadId=" + leadId + "&salesAuthId=" + salesAuthId;
984
    if (scheduleDate) {
985
        url += "&scheduleDate=" + encodeURIComponent(scheduleDate);
986
    }
987
 
988
    $.ajax({
989
        url: url,
990
        method: 'GET',
991
        success: function (response) {
992
            var data = response.response || response;
993
            badgesDiv.empty();
994
            if (data && data.beats && data.beats.length > 0) {
995
                var beats = data.beats.slice(0, 3); // show max 3
996
                for (var i = 0; i < beats.length; i++) {
997
                    var beat = beats[i];
998
                    var badge = $('<span class="beat-badge" style="' +
999
                        'display:inline-block; background:#337ab7; color:#fff; padding:6px 12px; ' +
1000
                        'margin:4px 6px 4px 0; border-radius:16px; cursor:pointer; font-size:12px; ' +
1001
                        'border:2px solid #337ab7; transition:all 0.2s;">' +
1002
                        beat.planDate + ' &middot; ' + beat.beatName + ' (' + beat.stops + ' stops)' +
1003
                        '</span>');
1004
                    badge.data('value', beat.planDate + '|' + beat.beatName + '|' + beat.planGroupId);
1005
                    badgesDiv.append(badge);
1006
                }
1007
            } else {
1008
                badgesDiv.html('<span style="color:#999; font-size:12px;">No beats available for this person</span>');
1009
            }
1010
        },
1011
        error: function () {
1012
            badgesDiv.html('<span style="color:#d9534f; font-size:12px;">Error loading beats</span>');
1013
        }
1014
    });
1015
}
1016
 
1017
// Click on beat badge to select it
1018
$(document).on('click', '.beat-badge', function () {
1019
    // Deselect others
1020
    $('.beat-badge').css({'background': '#337ab7', 'border-color': '#337ab7'});
1021
    // Select this one
1022
    $(this).css({'background': '#1a5276', 'border-color': '#f39c12', 'border-width': '2px'});
1023
    $('#beatDate').val($(this).data('value'));
1024
});
1025
 
1026
// Generate Geo Link for lead
1027
$(document).on('click', '.generateGeoLink', function (e) {
1028
    e.stopPropagation();
1029
    var lid = $(this).data('leadid');
1030
    doAjaxRequestHandler(context + "/lead-geo/generate-link?leadId=" + lid, "GET", function (response) {
1031
        var url = response.response;
1032
        if (navigator.clipboard) {
1033
            navigator.clipboard.writeText(url).then(function () {
1034
                alert("Link copied to clipboard:\n" + url);
1035
            });
1036
        } else {
1037
            prompt("Share this link with the prospect:", url);
1038
        }
1039
    });
1040
});
1041
 
1042
// Geo Review navigation
1043
$(document).on('click', '.geo-review', function () {
1044
    doGetAjaxRequestHandler(context + "/lead-geo/pending-reviews", function (response) {
1045
        $('#main-content').html(response);
1046
    });
1047
});
1048
 
1049
// Visit Approvals navigation
1050
$(document).on('click', '.visit-approvals', function () {
1051
    doGetAjaxRequestHandler(context + "/visit-approvals", function (response) {
1052
        $('#main-content').html(response);
1053
    });
1054
});
1055
 
1056
// Approve geolocation from lead table
1057
$(document).on('click', '.approve-geo', function (e) {
1058
    e.stopPropagation();
1059
    var lid = $(this).data('leadid');
1060
    if (!confirm('Approve geolocation for Lead #' + lid + '?')) return;
1061
 
1062
    var btn = $(this);
1063
    var cell = btn.closest('td');
1064
 
1065
    doPostAjaxRequestWithParamsHandler(
1066
        context + '/lead-geo/review',
1067
        {leadId: lid, status: 'APPROVED', remark: ''},
1068
        function (response) {
1069
            cell.html('<span class="label label-success">Verified</span>');
1070
        }
1071
    );
1072
});
1073
 
1074
// Reject geolocation from lead table
1075
$(document).on('click', '.reject-geo', function (e) {
1076
    e.stopPropagation();
1077
    var lid = $(this).data('leadid');
1078
    var reason = prompt('Reason for rejection:');
1079
    if (reason === null) return;
1080
 
1081
    var btn = $(this);
1082
    var cell = btn.closest('td');
1083
 
1084
    doPostAjaxRequestWithParamsHandler(
1085
        context + '/lead-geo/review',
1086
        {leadId: lid, status: 'REJECTED', remark: reason},
1087
        function (response) {
1088
            cell.html('<button class="btn btn-xs btn-warning generateGeoLink" data-leadid="' + lid + '">Rejected - Resend</button>');
1089
        }
1090
    );
1091
});
1092