Subversion Repositories SmartDukaan

Rev

Rev 30694 | Rev 30701 | 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>
172
                    <div class="modal-body">
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/>
182
                        <span class="input-group-btn">
21640 kshitij.so 183
					<button type="submit" id="grnSubmitSerialized" class="btn btn-primary">Submit!</button>
184
		       	</span>
30694 amit.gupta 185
                    </div>
186
                    <div class="modal-footer">
187
                        <button type="button" class="btn btn-default" data-dismiss="modal">Close</button>
188
                    </div>
189
                </div>
190
            </div>
191
        </div>
192
 
193
        <div id="scanNonSerializedModel" class="modal" role="dialog">
194
            <div class="modal-dialog modal-lg">
195
                <!-- Modal content-->
196
                <div class="modal-content">
197
                    <div class="modal-header">
198
                        <button type="button" class="close" data-dismiss="modal">&times;</button>
199
                        <h4 class="modal-title">Enter GRN Details</h4>
200
                    </div>
201
                    <div class="modal-body">
202
                        <input type="hidden" class="invoiceNumber"/>
203
                        <input type="hidden" class="itemId"/>
204
                        <h4 class="modelHeaderCustom">Item Type : <span>NON-SERIALIZED</span></h4>
205
                        <h4 class="grnInvoiceNumber modelHeaderCustom">Invoice Number : <span></span></h4>
206
                        <h4 class="grnProductInfo modelHeaderCustom">Product Details : <span></span></h4>
207
                        <h4 class="modal-title">Enter Quantity</h4>
208
                        <div class="row">
209
                            <div class="col-sm-3">
210
                                <div class="input-group"><input type="text" class="quantity form-control"></input></div>
211
                            </div>
212
                        </div>
213
                        <hr/>
214
                        <span class="input-group-btn">
21640 kshitij.so 215
						<button type="submit" id="grnNonSerializedSubmit" class="btn btn-primary">Submit!</button>
216
		       		</span>
30694 amit.gupta 217
                    </div>
218
                    <div class="modal-footer">
219
                        <button type="button" class="btn btn-default" data-dismiss="modal">Close</button>
220
                    </div>
221
                </div>
222
            </div>
223
        </div>
224
 
225
        </div>
226
    #end
227
 
21627 kshitij.so 228
</section>
30694 amit.gupta 229
 
230
<script>
231
    $(function () {
232
        debugger;
233
        imeisToValidate = [];
234
        imeiInputElem = $("#all-imeis");
235
        imeiInputElem.tagsinput({
236
            maxTags:$totalImeisCount,
237
            trimValue: true,
238
            allowDuplicates: false,
239
            confirmKeys: [13, 44, 188, 32],
30696 amit.gupta 240
            delimiterRegex: ',',
241
            trimValue: true,
30694 amit.gupta 242
            tagClass: function (item) {
243
                if (item.valid == null) return 'label label-primary';
244
                if (item.valid) {
245
                    return 'label label-success';
246
                } else {
247
                    return 'label label-danger';
248
                }
249
            },
250
        });
251
        const debouncedCallback = debounce(function () {
252
            $("#invalid-imeis").html('');
253
            let imeisJson = {
254
                serialNumbers: imeisToValidate,
255
                invoiceNumber: "$invoiceNumber"
256
            }
257
            doPostAjaxRequestWithJsonHandler(`${context}/purchase/validate-imeis`, JSON.stringify(imeisJson), function (data) {
258
                imeiData = data.response;
259
                let invalidImeis = [];
260
                for (let imeiIndex in imeisToValidate) {
261
                    let imei = imeisToValidate[imeiIndex];
262
                    let isValid = imeiData[imeisToValidate[imeiIndex]];
263
                    if (!isValid) {
264
                        imeiInputElem.tagsinput('remove', imei);
265
                        invalidImeis.push(imei);
266
                    }
267
                }
268
                $("#invalid-imeis").html(invalidImeis.join(','));
269
                invalidImeis = []
270
                $("#invalid-imeis-container").show();
271
                $("#scanleft").html($("#all-imeis").tagsinput('items').length);
272
                imeisToValidate = [];
273
            });
274
        }, 300);
275
        imeiInputElem.on('itemAdded', (event) => {
276
            imeisToValidate.push(event.item);
277
            debouncedCallback();
278
        });
30696 amit.gupta 279
        imeiInputElem.on('beforeItemAdd', (event) => {
280
            if (event.item.indexOf(' ') > 0) {
281
                event.cancel = true;
282
                let strItem = event.item.replaceAll(' ', '');
283
                imeiInputElem.tagsinput('add', strItem);
284
            }
285
        });
30694 amit.gupta 286
 
287
    });
288
 
289
</script>