Subversion Repositories SmartDukaan

Rev

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

Rev Author Line No. Line
21627 kshitij.so 1
<style>
21987 kshitij.so 2
 
30694 amit.gupta 3
    .table-striped > tbody > tr:nth-child(odd) > td {
4
        background: white;
5
        background-color: white;
6
        font-size: 14px;
7
    }
8
 
9
    .table-striped > tbody > tr:nth-child(even) > td {
10
        background: white;
11
        background-color: white;
12
    }
13
 
14
    .table-striped > tbody > tr:hover > td,
15
    .table-striped > tbody > tr:hover {
16
        background-color: #e98c8f;
17
        color: white;
18
    }
19
 
20
    .btn:hover,
21
    .btn:focus {
22
        color: grey;
23
        text-decoration: none;
24
    }
25
 
26
    .modal-content {
27
        background: white;
28
    }
29
 
30
    .modelHeaderCustom {
31
        font-size: 14px;
32
        font-weight: bold;
33
    }
34
 
35
    hr {
36
        background-color: #007aff;
37
        border: none;
38
        height: 1px;
39
        background: #007aff;
40
    }
41
 
42
    .border-highlight {
43
        border: 3px solid red;
44
    }
21627 kshitij.so 45
</style>
46
 
30694 amit.gupta 47
<section class="wrapper">
48
    <!--overview start-->
49
    <div class="row">
50
        <div class="col-lg-12">
51
            <h3 class="page-header"><i class="icon_document_alt"></i>GRN</h3>
52
            <ol class="breadcrumb">
53
                <li><i class="fa fa-home"></i><a href="${rc.contextPath}/dashboard">Home</a></li>
54
                <li><i class="icon_document_alt"></i>NEW</li>
55
            </ol>
56
        </div>
57
    </div>
58
    <!--<form class="form-horizontal row" id="purchase-reference-submit-form">-->
59
    <div class="col-lg-9 row">
29330 tejbeer 60
        <label class="col-lg-3 control-label font-bold" style="text-align:center;font-weight:600;">Invoice No.</label>
30694 amit.gupta 61
        <div class="input-group col-lg-6">
62
            #if($airwayBillOrInvoiceNumber)
63
                #set($value = $airwayBillOrInvoiceNumber)
64
            #else
65
                #set($value = "")
66
            #end
67
            <input type="text" class="form-control" name="airwayBillOrInvoiceNumber" value="$value"
68
                   id="airwayBillOrInvoiceNumberText" placeholder="Enter invoice Number"/>
69
            <span class="input-group-btn">
70
             	<button class="btn btn-primary" id="purchase-reference-submit-button"
71
                        onclick="getPurchaseByInvoiceNumber()">Submit!</button>
21627 kshitij.so 72
             </span>
73
        </div>
74
    </div>
23076 ashik.ali 75
    <!--</form>-->
24993 amit.gupta 76
    #if($customItems && $customItems.size() > 0)
30694 amit.gupta 77
        #if($totalImeisCount && $totalImeisCount > 0)
78
            <div class="row col-lg-12">
79
                <br>
80
                <h4>
81
                    Add imeis (<span id="scanleft">0</span>/$totalImeisCount)
82
                </h4>
83
                <div id="invalid-imeis-container" style="display:none">
84
                    <div id="invalid-imeis" class="col-lg-12" style="color: red">
85
                    </div>
86
                </div>
87
            </div>
88
            <div class="row">
89
                <div class="col-lg-6">
90
                    <input type="text" id="all-imeis" placeholder="">
91
                </div>
92
                <div class="col-lg-3">
93
                    <button class="btn btn-primary" id="grnPartial" onclick="grnPartial('$invoiceNumber')">Add IMEI!
94
                    </button>
95
                </div>
96
            </div>
97
        #else
98
            <div class="row col-lg-9">
99
                <h4 style="color:green">All imeis/serial numbers are added</h4>
100
            </div>
101
        #end
102
        <div class="row">
103
            <div class="col-lg-12">
104
                <table class="table table-striped table-advance table-hover">
105
                    <tbody>
106
                    <tr>
107
                        <th>Brand</th>
108
                        <th>Model Name</th>
109
                        <th>Model Number</th>
110
                        <th>Color</th>
111
                        <th>Quantity</th>
112
                        <th>Unit Price</th>
113
                        <th>GRN</th>
114
                    </tr>
115
                        #foreach( $customItem in $customItems )
116
                            #set($customLineItem = $customItem.getItemDetail())
117
                        <tr>
118
                            <td>$customLineItem.getBrand()</td>
119
                            #if($customLineItem.getModelName())
120
                                <td>$customLineItem.getModelName()</td>
121
                            #else
122
                                <td>-</td>
123
                            #end
124
                            #if($customLineItem.getModelNumber())
125
                                <td>$customLineItem.getModelNumber()</td>
126
                            #else
127
                                <td>-</td>
128
                            #end
129
                            #if($customLineItem.getColor())
130
                                <td>$customLineItem.getColor()</td>
131
                            #else
132
                                <td>-</td>
133
                            #end
134
                            <td>$customLineItem.getQuantity()</td>
135
                            <td>$customLineItem.getUnitPrice()</td>
136
                            #if($customItem.isScanned())
137
                                <td class="grnDone"><a class="btn btn-primary" href="javascript:void(0)"><i
138
                                        class="icon_check_alt2"></i></a></td>
139
                            #else
140
                                #if($customItem.getType() == "SERIALIZED")
141
                                    <td class="startGrnSerialized" itemId="$customItem.getItemId()"
142
                                        displayName="$customLineItem.getDisplayName()" invoiceNumber="$invoiceNumber"
143
                                        quantity="$customLineItem.getQuantity()">
144
                                        <a class="btn btn-primary" data-toggle="modal"
145
                                           data-target="#scanModel"
146
                                           data-serial_numbers="$customLineItem.getSerialNumbers"><i
147
                                                class="icon_plus_alt2"></i></a></td>
148
                                #else
149
                                    <td class="startGrnNonSerialized" itemId="$customItem.getItemId()"
150
                                        displayName="$customLineItem.getDisplayName()" invoiceNumber="$invoiceNumber"
151
                                        quantity="$customLineItem.getQuantity()"><a class="btn btn-primary"
152
                                                                                    data-toggle="modal"
153
                                                                                    data-target="#scanNonSerializedModel"><i
154
                                            class="icon_plus_alt2"></i></a></td>
155
                                #end
156
                            #end
157
                        </tr>
158
                        #end
159
                    </tbody>
160
                </table>
161
            </div>
162
        </div>
163
 
164
        <div id="scanModel" class="modal" role="dialog">
165
            <div class="modal-dialog modal-lg">
166
                <!-- Modal content-->
167
                <div class="modal-content">
168
                    <div class="modal-header">
169
                        <button type="button" class="close" data-dismiss="modal">&times;</button>
170
                        <h4 class="modal-title">Enter GRN Details</h4>
171
                    </div>
30701 amit.gupta 172
                    <div class="modal-body" style="max-height: 600px;overflow: scroll">
30694 amit.gupta 173
                        <input type="hidden" class="invoiceNumber"/>
174
                        <input type="hidden" class="itemId"/>
175
                        <h4 class="modelHeaderCustom">Item Type : <span>SERIALIZED</span></h4>
176
                        <h4 class="grnInvoiceNumber modelHeaderCustom">Invoice Number : <span></span></h4>
177
                        <h4 class="grnProductInfo modelHeaderCustom">Product Details : <span></span></h4>
178
                        <h4 class="modal-title">Enter Serial Numbers</h4>
179
                        <div id="grnImeiInformation">
180
                        </div>
181
                        <hr/>
30701 amit.gupta 182
                        <button type="submit" id="grnSubmitSerialized" class="btn btn-primary">Check and Submit!
183
                        </button>
30694 amit.gupta 184
                    </div>
185
                    <div class="modal-footer">
186
                        <button type="button" class="btn btn-default" data-dismiss="modal">Close</button>
187
                    </div>
188
                </div>
189
            </div>
190
        </div>
191
 
192
        <div id="scanNonSerializedModel" class="modal" role="dialog">
193
            <div class="modal-dialog modal-lg">
194
                <!-- Modal content-->
195
                <div class="modal-content">
196
                    <div class="modal-header">
197
                        <button type="button" class="close" data-dismiss="modal">&times;</button>
198
                        <h4 class="modal-title">Enter GRN Details</h4>
199
                    </div>
200
                    <div class="modal-body">
201
                        <input type="hidden" class="invoiceNumber"/>
202
                        <input type="hidden" class="itemId"/>
203
                        <h4 class="modelHeaderCustom">Item Type : <span>NON-SERIALIZED</span></h4>
204
                        <h4 class="grnInvoiceNumber modelHeaderCustom">Invoice Number : <span></span></h4>
205
                        <h4 class="grnProductInfo modelHeaderCustom">Product Details : <span></span></h4>
206
                        <h4 class="modal-title">Enter Quantity</h4>
207
                        <div class="row">
208
                            <div class="col-sm-3">
209
                                <div class="input-group"><input type="text" class="quantity form-control"></input></div>
210
                            </div>
211
                        </div>
212
                        <hr/>
213
                        <span class="input-group-btn">
21640 kshitij.so 214
						<button type="submit" id="grnNonSerializedSubmit" class="btn btn-primary">Submit!</button>
215
		       		</span>
30694 amit.gupta 216
                    </div>
217
                    <div class="modal-footer">
218
                        <button type="button" class="btn btn-default" data-dismiss="modal">Close</button>
219
                    </div>
220
                </div>
221
            </div>
222
        </div>
223
 
224
        </div>
225
    #end
226
 
21627 kshitij.so 227
</section>
30694 amit.gupta 228
 
229
<script>
230
    $(function () {
30701 amit.gupta 231
        //debugger;
30694 amit.gupta 232
        imeisToValidate = [];
233
        imeiInputElem = $("#all-imeis");
234
        imeiInputElem.tagsinput({
235
            maxTags:$totalImeisCount,
236
            trimValue: true,
237
            allowDuplicates: false,
238
            confirmKeys: [13, 44, 188, 32],
30696 amit.gupta 239
            delimiterRegex: ',',
240
            trimValue: true,
30694 amit.gupta 241
            tagClass: function (item) {
242
                if (item.valid == null) return 'label label-primary';
243
                if (item.valid) {
244
                    return 'label label-success';
245
                } else {
246
                    return 'label label-danger';
247
                }
248
            },
249
        });
250
        const debouncedCallback = debounce(function () {
251
            $("#invalid-imeis").html('');
252
            let imeisJson = {
253
                serialNumbers: imeisToValidate,
254
                invoiceNumber: "$invoiceNumber"
255
            }
256
            doPostAjaxRequestWithJsonHandler(`${context}/purchase/validate-imeis`, JSON.stringify(imeisJson), function (data) {
257
                imeiData = data.response;
258
                let invalidImeis = [];
259
                for (let imeiIndex in imeisToValidate) {
260
                    let imei = imeisToValidate[imeiIndex];
261
                    let isValid = imeiData[imeisToValidate[imeiIndex]];
262
                    if (!isValid) {
263
                        imeiInputElem.tagsinput('remove', imei);
264
                        invalidImeis.push(imei);
265
                    }
266
                }
267
                $("#invalid-imeis").html(invalidImeis.join(','));
268
                invalidImeis = []
269
                $("#invalid-imeis-container").show();
270
                $("#scanleft").html($("#all-imeis").tagsinput('items').length);
271
                imeisToValidate = [];
272
            });
273
        }, 300);
274
        imeiInputElem.on('itemAdded', (event) => {
275
            imeisToValidate.push(event.item);
276
            debouncedCallback();
277
        });
30696 amit.gupta 278
        imeiInputElem.on('beforeItemAdd', (event) => {
279
            if (event.item.indexOf(' ') > 0) {
280
                event.cancel = true;
281
                let strItem = event.item.replaceAll(' ', '');
282
                imeiInputElem.tagsinput('add', strItem);
283
            }
284
        });
30694 amit.gupta 285
 
286
    });
287
 
288
</script>