Subversion Repositories SmartDukaan

Rev

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

Rev 29330 Rev 30694
Line 1... Line 1...
1
<style>
1
<style>
2
 
2
 
3
.table-striped > tbody > tr:nth-child(odd) > td{
3
    .table-striped > tbody > tr:nth-child(odd) > td {
4
  background: white;
4
        background: white;
5
  background-color: white;
5
        background-color: white;
6
  font-size:14px;
6
        font-size: 14px;
-
 
7
    }
7
}
8
 
8
.table-striped > tbody > tr:nth-child(even) > td{
9
    .table-striped > tbody > tr:nth-child(even) > td {
9
  background: white;
10
        background: white;
10
  background-color:white;
11
        background-color: white;
-
 
12
    }
11
}
13
 
12
.table-striped > tbody > tr:hover > td,
14
    .table-striped > tbody > tr:hover > td,
13
	.table-striped > tbody > tr:hover {
15
    .table-striped > tbody > tr:hover {
14
	  background-color: #e98c8f;
16
        background-color: #e98c8f;
15
	  color:white;
17
        color: white;
-
 
18
    }
16
	}
19
 
17
	.btn:hover,
20
    .btn:hover,
18
	.btn:focus {
21
    .btn:focus {
19
  	color: grey;
22
        color: grey;
20
  	text-decoration: none;
23
        text-decoration: none;
-
 
24
    }
21
	}
25
 
22
	.modal-content{
26
    .modal-content {
23
		background : white;
27
        background: white;
-
 
28
    }
24
	}
29
 
25
	.modelHeaderCustom{
30
    .modelHeaderCustom {
26
		font-size:14px;
31
        font-size: 14px;
27
		font-weight:bold;
32
        font-weight: bold;
-
 
33
    }
28
	}
34
 
29
	hr{
35
    hr {
30
		background-color:#007aff;
36
        background-color: #007aff;
31
		border:none;
37
        border: none;
32
		height:1px;
38
        height: 1px;
33
		background:#007aff;
39
        background: #007aff;
34
	}
40
    }
35
	
41
 
36
	.border-highlight{
42
    .border-highlight {
37
		border : 3px solid red;
43
        border: 3px solid red;
38
	}
44
    }
39
</style>
45
</style>
40
 
46
 
41
<section class="wrapper">            
47
<section class="wrapper">
42
      <!--overview start-->
48
    <!--overview start-->
43
	<div class="row">
49
    <div class="row">
44
			<div class="col-lg-12">
50
        <div class="col-lg-12">
45
				<h3 class="page-header"><i class="icon_document_alt"></i>GRN</h3>
51
            <h3 class="page-header"><i class="icon_document_alt"></i>GRN</h3>
46
				<ol class="breadcrumb">
52
            <ol class="breadcrumb">
47
					<li><i class="fa fa-home"></i><a href="${rc.contextPath}/dashboard">Home</a></li>
53
                <li><i class="fa fa-home"></i><a href="${rc.contextPath}/dashboard">Home</a></li>
48
					<li><i class="icon_document_alt"></i>NEW</li>						  	
54
                <li><i class="icon_document_alt"></i>NEW</li>
49
				</ol>
55
            </ol>
50
			</div>
56
        </div>
51
	</div>
57
    </div>
52
	<!--<form class="form-horizontal row" id="purchase-reference-submit-form">-->
58
    <!--<form class="form-horizontal row" id="purchase-reference-submit-form">-->
53
	<div class="col-lg-9 row">
59
    <div class="col-lg-9 row">
54
        <label class="col-lg-3 control-label font-bold" style="text-align:center;font-weight:600;">Invoice No.</label>
60
        <label class="col-lg-3 control-label font-bold" style="text-align:center;font-weight:600;">Invoice No.</label>
55
	        <div class="input-group col-lg-6">
61
        <div class="input-group col-lg-6">
56
	            #if($airwayBillOrInvoiceNumber)
62
            #if($airwayBillOrInvoiceNumber)
57
	            	#set($value = $airwayBillOrInvoiceNumber)
63
                #set($value = $airwayBillOrInvoiceNumber)
58
	            #else
64
            #else
59
	            	#set($value = "")
65
                #set($value = "")
60
	            #end
66
            #end
61
   			 	<input type="text" class="form-control" name="airwayBillOrInvoiceNumber"  value="$value" id="airwayBillOrInvoiceNumberText" placeholder="Enter invoice Number" />
67
            <input type="text" class="form-control" name="airwayBillOrInvoiceNumber" value="$value"
-
 
68
                   id="airwayBillOrInvoiceNumberText" placeholder="Enter invoice Number"/>
62
             <span class="input-group-btn">
69
            <span class="input-group-btn">
63
             	<button class="btn btn-primary" id="purchase-reference-submit-button" onclick="getPurchaseByInvoiceNumber()">Submit!</button>
70
             	<button class="btn btn-primary" id="purchase-reference-submit-button"
-
 
71
                        onclick="getPurchaseByInvoiceNumber()">Submit!</button>
64
             </span>
72
             </span>
65
        </div>
73
        </div>
66
    </div>
74
    </div>
67
    <!--</form>-->
75
    <!--</form>-->
68
    #if($customItems && $customItems.size() > 0)
76
    #if($customItems && $customItems.size() > 0)
-
 
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
69
    	<div class="row">
102
        <div class="row">
70
    		<div class="col-lg-12">
103
            <div class="col-lg-12">
71
    			<table class="table table-striped table-advance table-hover">
104
                <table class="table table-striped table-advance table-hover">
72
    				<tbody>
105
                    <tbody>
73
    					<tr>
106
                    <tr>
74
    						<th>Brand</th>
107
                        <th>Brand</th>
75
    						<th>Model Name</th>
108
                        <th>Model Name</th>
76
    						<th>Model Number</th>
109
                        <th>Model Number</th>
77
    						<th>Color</th>
110
                        <th>Color</th>
78
    						<th>Quantity</th>
111
                        <th>Quantity</th>
79
    						<th>Unit Price</th>
112
                        <th>Unit Price</th>
80
    						<th>GRN</th>
113
                        <th>GRN</th>
81
    					</tr>
114
                    </tr>
82
    					 #foreach( $customItem in $customItems )
115
                        #foreach( $customItem in $customItems )
83
    					 	#set($customLineItem = $customItem.getItemDetail())
116
                            #set($customLineItem = $customItem.getItemDetail())
84
    					 	<tr>
117
                        <tr>
85
    					 		<td>$customLineItem.getBrand()</td>
118
                            <td>$customLineItem.getBrand()</td>
86
    					 		#if($customLineItem.getModelName())
119
                            #if($customLineItem.getModelName())
87
    					 			<td>$customLineItem.getModelName()</td>
120
                                <td>$customLineItem.getModelName()</td>
88
    					 		#else
121
                            #else
89
    					 			<td>-</td>
122
                                <td>-</td>
90
    					 		#end
123
                            #end
91
    					 		#if($customLineItem.getModelNumber())
124
                            #if($customLineItem.getModelNumber())
92
    					 			<td>$customLineItem.getModelNumber()</td>
125
                                <td>$customLineItem.getModelNumber()</td>
93
    					 		#else
126
                            #else
94
    					 			<td>-</td>
127
                                <td>-</td>
95
    					 		#end
128
                            #end
96
    					 		#if($customLineItem.getColor())
129
                            #if($customLineItem.getColor())
97
    					 			<td>$customLineItem.getColor()</td>
130
                                <td>$customLineItem.getColor()</td>
98
    					 		#else
131
                            #else
99
    					 			<td>-</td>
132
                                <td>-</td>
100
    					 		#end
133
                            #end
101
    					 		<td>$customLineItem.getQuantity()</td>
134
                            <td>$customLineItem.getQuantity()</td>
102
    					 		<td>$customLineItem.getUnitPrice()</td>
135
                            <td>$customLineItem.getUnitPrice()</td>
103
    					 		#if($customItem.isScanned())
136
                            #if($customItem.isScanned())
104
    					 			<td class="grnDone"><a class="btn btn-primary" href="javascript:void(0)"><i class="icon_check_alt2"></i></a></td>
137
                                <td class="grnDone"><a class="btn btn-primary" href="javascript:void(0)"><i
-
 
138
                                        class="icon_check_alt2"></i></a></td>
105
    					 		#else
139
                            #else
106
    					 			#if($customItem.getType() == "SERIALIZED")
140
                                #if($customItem.getType() == "SERIALIZED")
-
 
141
                                    <td class="startGrnSerialized" itemId="$customItem.getItemId()"
107
    					 				<td class="startGrnSerialized" itemId="$customItem.getItemId()" displayName="$customLineItem.getDisplayName()" invoiceNumber="$invoiceNumber" quantity="$customLineItem.getQuantity()">
142
                                        displayName="$customLineItem.getDisplayName()" invoiceNumber="$invoiceNumber"
-
 
143
                                        quantity="$customLineItem.getQuantity()">
108
    					 					<a class="btn btn-primary" data-toggle="modal" 
144
                                        <a class="btn btn-primary" data-toggle="modal"
109
    					 											   data-target="#scanModel"
145
                                           data-target="#scanModel"
110
    					 											   data-serial_numbers="$customLineItem.getSerialNumbers"><i class="icon_plus_alt2"></i></a></td>
146
                                           data-serial_numbers="$customLineItem.getSerialNumbers"><i
-
 
147
                                                class="icon_plus_alt2"></i></a></td>
111
    					 			#else
148
                                #else
112
    					 				<td class="startGrnNonSerialized" itemId="$customItem.getItemId()" displayName="$customLineItem.getDisplayName()" invoiceNumber="$invoiceNumber" quantity="$customLineItem.getQuantity()"><a class="btn btn-primary" data-toggle="modal" data-target="#scanNonSerializedModel"><i class="icon_plus_alt2"></i></a></td>
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>
113
    					 			#end
155
                                #end
114
    					 		#end
156
                            #end
115
    					 	</tr>
157
                        </tr>
116
    					 #end
158
                        #end
117
    				</tbody>
159
                    </tbody>
118
    			</table>
160
                </table>
119
    		</div>
161
            </div>
120
    	</div>
162
        </div>
121
    	
163
 
122
   	<div id="scanModel" class="modal" role="dialog">
164
        <div id="scanModel" class="modal" role="dialog">
123
  		<div class="modal-dialog modal-lg">
165
            <div class="modal-dialog modal-lg">
124
	       <!-- Modal content-->
166
                <!-- Modal content-->
125
		    <div class="modal-content">
167
                <div class="modal-content">
126
		      <div class="modal-header">
168
                    <div class="modal-header">
127
		        <button type="button" class="close" data-dismiss="modal">&times;</button>
169
                        <button type="button" class="close" data-dismiss="modal">&times;</button>
128
		        <h4 class="modal-title">Enter GRN Details</h4>
170
                        <h4 class="modal-title">Enter GRN Details</h4>
129
		      </div>
171
                    </div>
130
		      <div class="modal-body">
172
                    <div class="modal-body">
131
					<input type="hidden" class="invoiceNumber" />
173
                        <input type="hidden" class="invoiceNumber"/>
132
					<input type="hidden" class="itemId" />
174
                        <input type="hidden" class="itemId"/>
133
					<h4 class="modelHeaderCustom">Item Type : <span>SERIALIZED</span></h4>
175
                        <h4 class="modelHeaderCustom">Item Type : <span>SERIALIZED</span></h4>
134
					<h4 class="grnInvoiceNumber modelHeaderCustom">Invoice Number : <span></span></h4>
176
                        <h4 class="grnInvoiceNumber modelHeaderCustom">Invoice Number : <span></span></h4>
135
					<h4 class="grnProductInfo modelHeaderCustom">Product Details : <span></span></h4>
177
                        <h4 class="grnProductInfo modelHeaderCustom">Product Details : <span></span></h4>
136
					<h4 class="modal-title">Enter Serial Numbers</h4>
178
                        <h4 class="modal-title">Enter Serial Numbers</h4>
137
				<div id="grnImeiInformation">
179
                        <div id="grnImeiInformation">
138
				</div>
180
                        </div>
139
				<hr/>
181
                        <hr/>
140
				<span class="input-group-btn">
182
                        <span class="input-group-btn">
141
					<button type="submit" id="grnSubmitSerialized" class="btn btn-primary">Submit!</button>
183
					<button type="submit" id="grnSubmitSerialized" class="btn btn-primary">Submit!</button>
142
		       	</span>
184
		       	</span>
143
			  </div>
185
                    </div>
144
		      <div class="modal-footer">
186
                    <div class="modal-footer">
145
		        <button type="button" class="btn btn-default" data-dismiss="modal">Close</button>
187
                        <button type="button" class="btn btn-default" data-dismiss="modal">Close</button>
146
		      </div>
188
                    </div>
147
		      </div>
189
                </div>
148
		</div>
190
            </div>
149
  	</div>
191
        </div>
150
  	
192
 
151
  	<div id="scanNonSerializedModel" class="modal" role="dialog">
193
        <div id="scanNonSerializedModel" class="modal" role="dialog">
152
  		<div class="modal-dialog modal-lg">
194
            <div class="modal-dialog modal-lg">
153
	       <!-- Modal content-->
195
                <!-- Modal content-->
154
		    <div class="modal-content">
196
                <div class="modal-content">
155
		      <div class="modal-header">
197
                    <div class="modal-header">
156
		        <button type="button" class="close" data-dismiss="modal">&times;</button>
198
                        <button type="button" class="close" data-dismiss="modal">&times;</button>
157
		        <h4 class="modal-title">Enter GRN Details</h4>
199
                        <h4 class="modal-title">Enter GRN Details</h4>
158
		      </div>
200
                    </div>
159
		      <div class="modal-body">
201
                    <div class="modal-body">
160
					<input type="hidden" class="invoiceNumber" />
202
                        <input type="hidden" class="invoiceNumber"/>
161
					<input type="hidden" class="itemId" />
203
                        <input type="hidden" class="itemId"/>
162
					<h4 class="modelHeaderCustom">Item Type : <span>NON-SERIALIZED</span></h4>
204
                        <h4 class="modelHeaderCustom">Item Type : <span>NON-SERIALIZED</span></h4>
163
					<h4 class="grnInvoiceNumber modelHeaderCustom">Invoice Number : <span></span></h4>
205
                        <h4 class="grnInvoiceNumber modelHeaderCustom">Invoice Number : <span></span></h4>
164
					<h4 class="grnProductInfo modelHeaderCustom">Product Details : <span></span></h4>
206
                        <h4 class="grnProductInfo modelHeaderCustom">Product Details : <span></span></h4>
165
					<h4 class="modal-title">Enter Quantity</h4>
207
                        <h4 class="modal-title">Enter Quantity</h4>
-
 
208
                        <div class="row">
-
 
209
                            <div class="col-sm-3">
166
					<div class="row"><div class="col-sm-3"><div class="input-group"><input type="text" class="quantity form-control"></input></div></div></div>
210
                                <div class="input-group"><input type="text" class="quantity form-control"></input></div>
-
 
211
                            </div>
-
 
212
                        </div>
167
					<hr/>
213
                        <hr/>
168
					<span class="input-group-btn">
214
                        <span class="input-group-btn">
169
						<button type="submit" id="grnNonSerializedSubmit" class="btn btn-primary">Submit!</button>
215
						<button type="submit" id="grnNonSerializedSubmit" class="btn btn-primary">Submit!</button>
170
		       		</span>
216
		       		</span>
171
			  </div>
217
                    </div>
172
		      <div class="modal-footer">
218
                    <div class="modal-footer">
173
		        <button type="button" class="btn btn-default" data-dismiss="modal">Close</button>
219
                        <button type="button" class="btn btn-default" data-dismiss="modal">Close</button>
174
		      </div>
220
                    </div>
175
		</div>
221
                </div>
176
  	</div>
222
            </div>
177
  	</div>
223
        </div>
178
  	
224
 
179
</div>
225
        </div>
180
#end
226
    #end
181
	
227
 
182
</section>
228
</section>
-
 
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],
-
 
240
            delimiterRegex: /[\s,]+?/,
-
 
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
        });
-
 
278
 
-
 
279
    });
-
 
280
 
-
 
281
</script>
183
282