Subversion Repositories SmartDukaan

Rev

Rev 35965 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 35965 Rev 36404
Line 23... Line 23...
23
            $("#main-content").html(response);
23
            $("#main-content").html(response);
24
        });
24
        });
25
    });
25
    });
26
    $(document).on('click', ".search-partner-stock",
26
    $(document).on('click', ".search-partner-stock",
27
        function () {
27
        function () {
-
 
28
            var primary = $('.criteria-item-catalogids').val() || [];
-
 
29
            var tagged  = $('.criteria-item-tagged-models').val() || [];
-
 
30
            var union = Array.from(new Set(primary.concat(tagged)));
28
 
31
 
29
            var catalogIds = $('.criteria-item-catalogids').val();
-
 
30
            console.log(catalogIds);
-
 
31
            var addValue = $('#addRange').val();
32
            var addValue = $('#addRange').val();
32
            var subValue = $('#subNumber').val();
33
            var subValue = $('#subNumber').val();
33
            var startDateTime = getDatesFromPicker('input[name="saleDate"]').startDate;
34
            var startDateTime = getDatesFromPicker('input[name="saleDate"]').startDate;
34
 
-
 
35
            var warehouseId = $('#warehouseMap').val();
35
            var warehouseId = $('#warehouseMap').val();
36
            console.log(startDateTime);
-
 
37
            console.log(addValue)
-
 
38
 
36
 
39
            doGetAjaxRequestHandler(context
37
            doGetAjaxRequestHandler(context
40
                + "/getPlacementPlanByCatalogId?catalogItemIds=" +
38
                + "/getPlacementPlanByCatalogId?catalogItemIds=" +
41
                catalogIds + "&addValue=" + addValue + "&subValue=" + subValue + "&date=" + startDateTime + "&warehouseId=" + warehouseId,
39
                union.join(",") + "&addValue=" + addValue + "&subValue=" + subValue + "&date=" + startDateTime + "&warehouseId=" + warehouseId,
42
                function (response) {
40
                function (response) {
43
                    $('.placement-plan-detail').html(response);
41
                    $('.placement-plan-detail').html(response);
44
                    console.log(response)
-
 
45
                });
42
                });
46
        });
43
        });
47
 
44
 
48
 
45
 
49
    $(document).on('click', ".mk_fetch_plan",
46
    $(document).on('click', ".mk_fetch_plan",
50
        function () {
47
        function () {
-
 
48
            var primary = $('.criteria-item-catalogids').val() || [];
-
 
49
            var tagged  = $('.criteria-item-tagged-models').val() || [];
-
 
50
            var union = Array.from(new Set(primary.concat(tagged)));
51
 
51
 
52
            var catalogIds = $('.criteria-item-catalogids').val();
-
 
53
            console.log(catalogIds);
-
 
54
            var addValue = $('#addRange').val();
52
            var addValue = $('#addRange').val();
55
            var subValue = $('#subNumber').val();
53
            var subValue = $('#subNumber').val();
56
            var startDateTime = getDatesFromPicker('input[name="saleDate"]').startDate;
54
            var startDateTime = getDatesFromPicker('input[name="saleDate"]').startDate;
57
 
-
 
58
            var warehouseId = $('#warehouseMap').val();
55
            var warehouseId = $('#warehouseMap').val();
59
 
56
 
60
            window.location.href = context + "/placementPlan/statement?catalogItemIds=" +
57
            window.location.href = context + "/placementPlan/statement?catalogItemIds=" +
61
                catalogIds + "&addValue=" + addValue + "&subValue=" + subValue + "&date=" + startDateTime + "&warehouseId=" + warehouseId;
58
                union.join(",") + "&addValue=" + addValue + "&subValue=" + subValue + "&date=" + startDateTime + "&warehouseId=" + warehouseId;
62
 
-
 
63
        });
59
        });
64
 
60
 
65
 
61
 
66
    $(document).on('click', ".resetValue",
62
    $(document).on('click', ".resetValue",
67
        function () {
63
        function () {
Line 73... Line 69...
73
        changed = true;
69
        changed = true;
74
    });
70
    });
75
    $(document).on('click', 'select.criteria-item-catalogids+div > button', function () {
71
    $(document).on('click', 'select.criteria-item-catalogids+div > button', function () {
76
        if (changed) {
72
        if (changed) {
77
            let brands = $('.criteria-item-brands').val();
73
            let brands = $('.criteria-item-brands').val();
78
            console.log(brands);
-
 
79
            $brandsContainer = $(this);
74
            $brandsContainer = $(this);
80
            var url = `${context}/statusWiseCatalogs?activeOnly=true&brands=${brands.join(",")}&categoryId=3&limit=0`;
75
            var url = `${context}/statusWiseCatalogs?activeOnly=true&brands=${brands.join(",")}&categoryId=3&limit=0`;
81
            $select = $('.criteria-item-catalogids');
76
            var $select = $('.criteria-item-catalogids');
82
            console.log($select)
77
            var $taggedSelect = $('.criteria-item-tagged-models');
83
            $select.html('');
78
            $select.html('');
-
 
79
            $taggedSelect.html('');
84
            if (brands.length > 0) {
80
            if (brands.length > 0) {
85
                doGetAjaxRequestHandler(url, function (response) {
81
                doGetAjaxRequestHandler(url, function (response) {
86
                    data = JSON.parse(response);
82
                    var data = JSON.parse(response);
-
 
83
 
-
 
84
                    for (var i = 0; i < data.length; i++) {
87
                    console.log(data)
85
                        var d = data[i];
88
                    for (i = 0; i < data.length; i++) {
86
                        var cls = '';
-
 
87
                        if (d.monitor_type === 'focused') cls = 'monitor-focused';
-
 
88
                        else if (d.monitor_type === 'normal') cls = 'monitor-normal';
-
 
89
 
89
                        $select.append(`<option value="${data[i].catalogId_i}">${data[i].title_s}</option>`);
90
                        $select.append(`<option value="${d.catalogId_i}" data-monitor-type="${d.monitor_type || ''}" class="${cls}">${d.title_s}</option>`);
-
 
91
 
-
 
92
                        if (d.monitor_type === 'focused' || d.monitor_type === 'normal') {
-
 
93
                            $taggedSelect.append(
-
 
94
                                `<option value="${d.catalogId_i}" data-monitor-type="${d.monitor_type}" class="${cls}">${d.title_s}</option>`
-
 
95
                            );
-
 
96
                        }
90
                    }
97
                    }
-
 
98
 
91
                    $select.multiselect('rebuild');
99
                    $select.multiselect('rebuild');
-
 
100
                    $taggedSelect.multiselect('rebuild');
-
 
101
 
-
 
102
                    colorMultiselectRows();
92
                });
103
                });
93
            } else {
104
            } else {
94
                $select.html('');
-
 
95
                $select.multiselect('rebuild');
105
                $select.multiselect('rebuild');
-
 
106
                $taggedSelect.multiselect('rebuild');
96
            }
107
            }
97
            changed = !changed;
108
            changed = !changed;
98
        }
109
        }
99
    });
110
    });
100
 
111
 
-
 
112
    // Bootstrap-multiselect renders an <li> per option in a generated dropdown.
-
 
113
    // Re-apply the color class to each rendered <li> after rebuild so tagged options stay colored.
-
 
114
    function colorMultiselectRows() {
-
 
115
        $('.criteria-item-catalogids, .criteria-item-tagged-models').each(function () {
-
 
116
            var $sel = $(this);
-
 
117
            var $btnGroup = $sel.next('.btn-group');
-
 
118
            $btnGroup.find('li').each(function () {
-
 
119
                var $li = $(this);
-
 
120
                var $cb = $li.find('input[type="checkbox"]');
-
 
121
                var val = $cb.val();
-
 
122
                if (val == null) return;
-
 
123
                var $opt = $sel.find('option[value="' + val + '"]');
-
 
124
                var mt = $opt.attr('data-monitor-type');
-
 
125
                $li.removeClass('monitor-focused monitor-normal');
-
 
126
                if (mt === 'focused') $li.addClass('monitor-focused');
-
 
127
                else if (mt === 'normal') $li.addClass('monitor-normal');
-
 
128
            });
-
 
129
        });
-
 
130
    }
-
 
131
 
-
 
132
    $(document).on('click', '.monitor-type-upload-submit', function () {
-
 
133
        var fileInput = document.getElementById('monitorTypeUploadFile');
-
 
134
        var $status = $('#monitorTypeUploadStatus');
-
 
135
        $status.html('');
-
 
136
 
-
 
137
        if (!fileInput.files || fileInput.files.length === 0) {
-
 
138
            $status.html('<div class="alert alert-warning">Please choose a CSV file.</div>');
-
 
139
            return;
-
 
140
        }
-
 
141
        var fd = new FormData();
-
 
142
        fd.append('file', fileInput.files[0]);
-
 
143
 
-
 
144
        $.ajax({
-
 
145
            url: context + '/placementPlan/monitorType/upload',
-
 
146
            type: 'POST',
-
 
147
            data: fd,
-
 
148
            processData: false,
-
 
149
            contentType: false,
-
 
150
            success: function (resp) {
-
 
151
                $status.html('<div class="alert alert-success">Replaced ' + resp.deleted + ' rows, inserted ' + resp.inserted + ' rows.</div>');
-
 
152
            },
-
 
153
            error: function (xhr) {
-
 
154
                var msg = '<div class="alert alert-danger"><strong>Upload failed:</strong><ul>';
-
 
155
                try {
-
 
156
                    var body = JSON.parse(xhr.responseText);
-
 
157
                    if (body && body.errors) {
-
 
158
                        body.errors.forEach(function (e) { msg += '<li>' + $('<div>').text(e).html() + '</li>'; });
-
 
159
                    } else {
-
 
160
                        msg += '<li>' + xhr.statusText + '</li>';
-
 
161
                    }
-
 
162
                } catch (e) {
-
 
163
                    msg += '<li>' + xhr.statusText + '</li>';
-
 
164
                }
-
 
165
                msg += '</ul></div>';
-
 
166
                $status.html(msg);
-
 
167
            }
-
 
168
        });
-
 
169
    });
-
 
170
 
101
    $(document).on('change', '.criteria-item-catalogids', function () {
171
    $(document).on('change', '.criteria-item-catalogids', function () {
102
        var value = $('.criteria-item-catalogids ').val();
172
        var value = $('.criteria-item-catalogids ').val();
103
        console.log(value);
173
        console.log(value);
104
 
174
 
105
    });
175
    });