Subversion Repositories SmartDukaan

Rev

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

Rev 27754 Rev 28339
Line 1... Line 1...
1
var customerId;
1
var customerId;
2
function formLoaded() {
2
function formLoaded() {
3
	$("form#cd input").each(function(){
3
	$("form#cd input").each(function() {
4
		$(this).attr('autocomplete', 'off');
4
		$(this).attr('autocomplete', 'off');
5
	});
5
	});
6
    $('form#cd').validate({
6
	$('form#cd').validate({
7
		rules:{
7
		rules: {
8
			name:{
8
			name: {
9
				required:true
9
				required: true
10
			},
10
			},
11
			email:{
11
			email: {
12
				required:true,
12
				required: true,
13
				email:true
13
				email: true
14
			},
14
			},
15
			line1:{
15
			line1: {
16
				required:true
16
				required: true
17
			},
17
			},
18
			state:{
18
			state: {
19
				required:true
19
				required: true
20
			},
20
			},
21
			city:{
21
			city: {
22
				required:true
22
				required: true
23
			},
23
			},
24
			pincode:{
24
			pincode: {
25
				required:true,
25
				required: true,
26
				digits:true,
26
				digits: true,
27
				minlength: 6,
27
				minlength: 6,
28
                maxlength: 6,
28
				maxlength: 6,
29
			},
29
			},
30
			phone:{
30
			phone: {
31
				required:true,
31
				required: true,
32
				minlength:10,
32
				minlength: 10,
33
				maxlength:10,
33
				maxlength: 10,
34
				digits:true
34
				digits: true
35
			},
35
			},
36
		},
36
		},
37
		messages:{
37
		messages: {
38
			name:{
38
			name: {
39
				required:"Required"
39
				required: "Required"
40
			},
40
			},
41
			line1:{
41
			line1: {
42
				required:"Required"
42
				required: "Required"
43
			},
43
			},
44
			state:{
44
			state: {
45
				required: "State required"
45
				required: "State required"
46
			},
46
			},
47
			city:{
47
			city: {
48
				required: "City required"
48
				required: "City required"
49
			},
49
			},
50
			email:{
50
			email: {
51
				require: "Required"
51
				require: "Required"
52
			},
52
			},
53
			pincode:{
53
			pincode: {
54
				required: "Required",
54
				required: "Required",
55
				digits:"Invalid pin"
55
				digits: "Invalid pin"
56
			},
56
			},
57
			phone:{
57
			phone: {
58
				required: "Required",
58
				required: "Required",
59
				digits:"Invalid number",
59
				digits: "Invalid number",
60
				minlength:"Number should be of 10 digits"
60
				minlength: "Number should be of 10 digits"
61
			}
61
			}
62
		},
62
		},
63
		submitHandler: function (form, event) {
63
		submitHandler: function(form, event) {
64
			event.preventDefault();
64
			event.preventDefault();
65
			var payload = orderDetailsPayload();
65
			var payload = orderDetailsPayload();
66
			if(!validateOrderDetails()){
66
			if (!validateOrderDetails()) {
67
				alert("Please fix highlighted errors");
67
				alert("Please fix highlighted errors");
68
				return false;
68
				return false;
69
			}
69
			}
70
			doPostAjaxRequestWithJsonHandler(context+"/create-order", payload, function(response){
70
			doPostAjaxRequestWithJsonHandler(context + "/create-order", payload, function(response) {
71
				emptyBag();
71
				emptyBag();
72
				$('#main-content').html(response);
72
				$('#main-content').html(response);
73
			});
73
			});
74
            return false; // required to block normal submit since you used
74
			return false; // required to block normal submit since you used
75
							// ajax
75
			// ajax
76
         }
76
		}
77
	});
77
	});
78
    
78
 
79
	$("input.unitPrice").on('change', function() {
79
	$("input.unitPrice").on('change', function() {
80
		var $element = $(this);
80
		var $element = $(this);
81
		var unitPrice = parseFloat($element.val());
81
		var unitPrice = parseFloat($element.val());
82
		if(!isNaN(unitPrice)) {
82
		if (!isNaN(unitPrice)) {
83
			var itemType = parseFloat($(this).closest('tr').find('.serialNumber').attr("itemType"));
83
			var itemType = parseFloat($(this).closest('tr').find('.serialNumber').attr("itemType"));
84
			var mopPrice = parseFloat($(this).attr('mopPrice'));
84
			var mopPrice = parseFloat($(this).attr('mopPrice'));
85
			var dp = parseFloat($(this).attr('dp'));
85
			var dp = parseFloat($(this).attr('dp'));
86
			var mrp = parseFloat($(this).attr('mrp'));
86
			var mrp = parseFloat($(this).attr('mrp'));
87
			if(mrp != 0 && unitPrice > mrp) {
87
			if (mrp != 0 && unitPrice > mrp) {
88
				alert("Selling Price should not be greater than MRP");
88
				alert("Selling Price should not be greater than MRP");
89
				$element.addClass("border-highlight");
89
				$element.addClass("border-highlight");
90
			} else if(!accessoriesDeals && unitPrice < mopPrice){
90
			} else if (!accessoriesDeals && unitPrice < mopPrice) {
91
				alert("Selling Price must be greater than equal to MOP");
91
				alert("Selling Price must be greater than equal to MOP");
92
				$element.addClass("border-highlight");
92
				$element.addClass("border-highlight");
93
			}else if(itemType=='SERIALIZED' && unitPrice < mopPrice){
93
			} else if (itemType == 'SERIALIZED' && unitPrice < mopPrice) {
94
				alert("Selling Price must be greater than equal to MOP");
94
				alert("Selling Price must be greater than equal to MOP");
95
				$element.addClass("border-highlight");
95
				$element.addClass("border-highlight");
96
			}else if(itemType=='NON_SERIALIZED' && unitPrice < dp){
96
			} else if (itemType == 'NON_SERIALIZED' && unitPrice < dp) {
97
				alert("Selling Price must be greater than equal to DP");
97
				alert("Selling Price must be greater than equal to DP");
98
				$element.addClass("border-highlight");
98
				$element.addClass("border-highlight");
99
			}else{
99
			} else {
100
				$element.removeClass("border-highlight");
100
				$element.removeClass("border-highlight");
101
			}
101
			}
102
			// Clear insurance values if price changes
102
			// Clear insurance values if price changes
103
			$(this).closest('tr').find('.insuranceid').val("");
103
			$(this).closest('tr').find('.insuranceid').val("");
104
			$(this).closest('tr').find('.insuranceamount').val("0");
104
			$(this).closest('tr').find('.insuranceamount').val("0");
105
		}
105
		}
106
		calculateTotalAmount();
106
		calculateTotalAmount();
107
	});
107
	});
108
	customerInfo = $("div.customerinfo").html();
108
	customerInfo = $("div.customerinfo").html();
109
	billingInfo = $("div.billinginfo").html();
109
	billingInfo = $("div.billinginfo").html();
110
	
110
 
111
	$( "input.search-phone").change(function() {
111
	$("input.search-phone").change(function() {
112
		resetInputs();
112
		resetInputs();
113
		var mobileNumber = $(this).val();
113
		var mobileNumber = $(this).val();
-
 
114
		console.log(mobileNumber)
114
		if(mobileNumber.length < 10) {
115
		if (mobileNumber.length < 10) {
115
			return;
116
			return;
116
		}
117
		}
117
		writeOldCustomerDetailsByMobileNumber(mobileNumber);
118
		writeOldCustomerDetailsByMobileNumber(mobileNumber);
118
	});
119
	});
119
	
120
 
120
	$(document).on('click', 'button.new-address-btn', function() {
121
	$(document).on('click', 'button.new-address-btn', function() {
121
		$('#newaddressModal').modal({show: true});
122
		$('#newaddressModal').modal({ show: true });
122
	});
123
	});
123
	
124
 
124
	$(document).on('click', 'button.mk_add_email', function() {
125
	$(document).on('click', 'button.mk_add_email', function() {
125
		let customerObj = {};
126
		let customerObj = {};
126
		customerObj['customerId'] = customerId;
127
		customerObj['customerId'] = customerId;
127
		customerObj['emailId'] = $("#emailId").val();
128
		customerObj['emailId'] = $("#emailId").val();
128
		if(validateEmail(customerObj['emailId'])) {
129
		if (validateEmail(customerObj['emailId'])) {
129
			doPostAjaxRequestWithJsonHandler(`${context}/customer/add-email`, JSON.stringify(customerObj), function(response){
130
			doPostAjaxRequestWithJsonHandler(`${context}/customer/add-email`, JSON.stringify(customerObj), function(response) {
130
				alert("Email added");
131
				alert("Email added");
131
				$( "input.search-phone").val(customerObj['mobileNumber']).change();
132
				$("input.search-phone").val(customerObj['mobileNumber']).change();
132
			});
133
			});
133
		} else {
134
		} else {
134
			alert("Invalid email id");
135
			alert("Invalid email id");
135
		}
136
		}
136
		
137
 
137
	});
138
	});
138
	$(document).on('click', 'button.mk_add_customer', function() {
139
	$(document).on('click', 'button.mk_add_customer', function() {
139
		customerObj = {}
140
		customerObj = {}
140
		if($("input.firstName").val().length==0) {
141
		if ($("input.firstName").val().length == 0) {
141
			alert("First Name is required");
142
			alert("First Name is required");
142
			return false;
143
			return false;
143
		}
144
		}
144
		customerObj['firstName'] = $("input.firstName").val();
145
		customerObj['firstName'] = $("input.firstName").val();
145
		customerObj['lastName'] = $("input.lastName").val();
146
		customerObj['lastName'] = $("input.lastName").val();
146
		customerObj['emailId'] = $("#emailId").val();
147
		customerObj['emailId'] = $("#emailId").val();
147
 
148
 
148
		console.log(customerObj['emailId']);
149
		console.log(customerObj['emailId']);
149
		customerObj['mobileNumber'] = $("input.phone").val();
150
		customerObj['mobileNumber'] = $("input.phone").val();
150
		doPostAjaxRequestWithJsonHandler(`${context}/customer/add`, JSON.stringify(customerObj), function(response){
151
		doPostAjaxRequestWithJsonHandler(`${context}/customer/add`, JSON.stringify(customerObj), function(response) {
151
			alert("Customer added");
152
			alert("Customer added");
152
			$( "input.search-phone").change();
153
			$("input.search-phone").change();
153
		});
154
		});
154
		
155
 
155
		
156
 
156
	});
157
	});
157
	$(document).on('click', 'a.select-address', function() {
158
	$(document).on('click', 'a.select-address', function() {
158
		$(this).closest('table').data("addressselected", "true").find('td').css("font-weight", "normal");
159
		$(this).closest('table').data("addressselected", "true").find('td').css("font-weight", "normal");
159
		$(this).closest('tr').find('td').css("font-weight", "bold");
160
		$(this).closest('tr').find('td').css("font-weight", "bold");
160
		selectedAddressId = $(this).data("addressid");
161
		selectedAddressId = $(this).data("addressid");
161
	});
162
	});
162
	$(document).on('click', 'button.btn-add-address', function(){
163
	$(document).on('click', 'button.btn-add-address', function() {
163
		var customerAddress = {};
164
		var customerAddress = {};
164
		customerAddress['name'] = $("#firstName").val();
165
		customerAddress['name'] = $("#firstName").val();
165
		customerAddress['lastName'] = $("#lastName").val();
166
		customerAddress['lastName'] = $("#lastName").val();
166
		customerAddress['line1'] = $("#line1").val();
167
		customerAddress['line1'] = $("#line1").val();
167
		customerAddress['line2'] = $("#line2").val();
168
		customerAddress['line2'] = $("#line2").val();
Line 170... Line 171...
170
		customerAddress['state'] = $('select[name=state] option:selected').val();
171
		customerAddress['state'] = $('select[name=state] option:selected').val();
171
		customerAddress['pinCode'] = $("#pinCode").val();
172
		customerAddress['pinCode'] = $("#pinCode").val();
172
		customerAddress['phoneNumber'] = $("#alternatePhone").val();
173
		customerAddress['phoneNumber'] = $("#alternatePhone").val();
173
		customerAddress['country'] = "India";
174
		customerAddress['country'] = "India";
174
		console.log(customerAddress);
175
		console.log(customerAddress);
175
		doPostAjaxRequestWithJsonHandler(`${context}/customer/address?customerId=${customerId}`, JSON.stringify(customerAddress), function(response){
176
		doPostAjaxRequestWithJsonHandler(`${context}/customer/address?customerId=${customerId}`, JSON.stringify(customerAddress), function(response) {
176
			$("#address-body").prepend(getAddressTr(response.response));
177
			$("#address-body").prepend(getAddressTr(response.response));
177
			$('#newaddressModal').modal('toggle');
178
			$('#newaddressModal').modal('toggle');
178
			$("#address-body").find('a.select-address').click();
179
			$("#address-body").find('a.select-address').click();
179
		});
180
		});
180
	});
181
	});
181
	
182
 
182
}
183
}
183
function validateOrderDetails(){
184
function validateOrderDetails() {
184
	var sNumbers = [];
185
	var sNumbers = [];
185
	var error = false;
186
	var error = false;
186
	$("form#cd input.serialNumber").each(function(){
187
	$("form#cd input.serialNumber").each(function() {
187
		var input = $(this).val().trim();
188
		var input = $(this).val().trim();
188
		var itemType = $(this).attr("itemType");
189
		var itemType = $(this).attr("itemType");
189
		$(this).removeClass("border-highlight");
190
		$(this).removeClass("border-highlight");
190
		if (sNumbers.indexOf(input) !=-1 || (itemType ==='SERIALIZED' && !input)){
191
		if (sNumbers.indexOf(input) != -1 || (itemType === 'SERIALIZED' && !input)) {
191
			error = true;
192
			error = true;
192
			$(this).addClass("border-highlight");
193
			$(this).addClass("border-highlight");
193
		}
194
		}
194
		sNumbers.push(input);
195
		sNumbers.push(input);
195
	});
196
	});
196
	
197
 
197
	$("form#cd input.unitPrice").each(function(){
198
	$("form#cd input.unitPrice").each(function() {
198
		var input = $(this).val().trim();
199
		var input = $(this).val().trim();
199
		$(this).removeClass("border-highlight");
200
		$(this).removeClass("border-highlight");
200
		if (!input || parseInt(input)<=0 || isNaN(input)){
201
		if (!input || parseInt(input) <= 0 || isNaN(input)) {
201
			error=true;
202
			error = true;
202
			$(this).addClass("border-highlight");
203
			$(this).addClass("border-highlight");
203
		}
204
		}
204
	});
205
	});
205
	
206
 
206
	var gstNumber = $("form#cd input[name=gstNumber]").val();
207
	var gstNumber = $("form#cd input[name=gstNumber]").val();
207
	$("form#cd input[name=gstNumber]").removeClass("border-highlight");
208
	$("form#cd input[name=gstNumber]").removeClass("border-highlight");
208
	if(gstNumber.length > 0 && gstNumber.length != 15){
209
	if (gstNumber.length > 0 && gstNumber.length != 15) {
209
		alert("Please provide valid gstNumber");
210
		alert("Please provide valid gstNumber");
210
		error = true;
211
		error = true;
211
		$("form#cd input[name=gstNumber]").addClass("border-highlight");
212
		$("form#cd input[name=gstNumber]").addClass("border-highlight");
212
	}
213
	}
213
	
214
 
214
	var amount = 0;
215
	var amount = 0;
215
	var netPayableAmount = parseFloat($("form#cd input.netPayableAmount").val());
216
	var netPayableAmount = parseFloat($("form#cd input.netPayableAmount").val());
216
	$("form#cd input.amount").each(function(){
217
	$("form#cd input.amount").each(function() {
217
		if ($(this).val() == ""){
218
		if ($(this).val() == "") {
218
			$(this).val(0);
219
			$(this).val(0);
219
		}
220
		}
220
		var tmpAmount = parseFloat($(this).val());
221
		var tmpAmount = parseFloat($(this).val());
221
		amount = amount + tmpAmount;
222
		amount = amount + tmpAmount;
222
	});
223
	});
223
	
224
 
224
	console.log(amount);
225
	console.log(amount);
225
	console.log(netPayableAmount);
226
	console.log(netPayableAmount);
226
	
227
 
227
	if (amount != netPayableAmount){
228
	if (amount != netPayableAmount) {
228
		if(amount < netPayableAmount){
229
		if (amount < netPayableAmount) {
229
			alert("[" + (netPayableAmount - amount) + "] is more required to complete the payment");
230
			alert("[" + (netPayableAmount - amount) + "] is more required to complete the payment");
230
		}else{
231
		} else {
231
			alert("[" + (amount - netPayableAmount) + "] is extra amount, please reduce the amount");
232
			alert("[" + (amount - netPayableAmount) + "] is extra amount, please reduce the amount");
232
		}
233
		}
233
		$("form#cd input.netPayableAmount").each(function(){
234
		$("form#cd input.netPayableAmount").each(function() {
234
			$(this).addClass("border-highlight");
235
			$(this).addClass("border-highlight");
235
		});
236
		});
236
		error = true;
237
		error = true;
237
	}
238
	}
238
	
239
 
239
	if (error){
240
	if (error) {
240
		return false;
241
		return false;
241
	}
242
	}
242
	return true;
243
	return true;
243
	
244
 
244
}
245
}
245
 
246
 
246
 
247
 
247
function getSerialNumbersFromOrder($el){
248
function getSerialNumbersFromOrder($el) {
248
	var $serialNumberElement = $el.find('.serialNumber');
249
	var $serialNumberElement = $el.find('.serialNumber');
249
	if($serialNumberElement.val() == ''){
250
	if ($serialNumberElement.val() == '') {
250
		return null;
251
		return null;
251
	}
252
	}
252
	var insuranceAmount = parseFloat($el.find('.insuranceamount').val());
253
	var insuranceAmount = parseFloat($el.find('.insuranceamount').val());
253
	if(insuranceAmount > 0){
254
	if (insuranceAmount > 0) {
254
		insurance = true;
255
		insurance = true;
255
		globalInsurace = true;
256
		globalInsurace = true;
256
	}else{
257
	} else {
257
		insurance = false;
258
		insurance = false;
258
	}
259
	}
259
	return {'serialNumber':$serialNumberElement.val(),'insurance':insurance,'amount':insuranceAmount}
260
	return { 'serialNumber': $serialNumberElement.val(), 'insurance': insurance, 'amount': insuranceAmount }
260
}
261
}
261
 
262
 
262
function orderDetailsPayload(){
263
function orderDetailsPayload() {
263
	var orderObj = {};
264
	var orderObj = {};
264
	var priceQtyArray = [];
265
	var priceQtyArray = [];
265
	var customerObj = {};
266
	var customerObj = {};
266
	var paymentOptionIdAmount = [];
267
	var paymentOptionIdAmount = [];
267
	var globalInsurance = false;
268
	var globalInsurance = false;
268
	
269
 
269
	$("form#cd input.serialNumber").each(function(){
270
	$("form#cd input.serialNumber").each(function() {
270
		var itemId = parseInt($(this).attr("itemId"));
271
		var itemId = parseInt($(this).attr("itemId"));
271
		if (orderObj.hasOwnProperty('fofoOrderItems')){
272
		if (orderObj.hasOwnProperty('fofoOrderItems')) {
272
			var itemDetails = orderObj['fofoOrderItems'];
273
			var itemDetails = orderObj['fofoOrderItems'];
273
			if (itemDetails.hasOwnProperty(itemId)){
274
			if (itemDetails.hasOwnProperty(itemId)) {
274
				var serialNumbers = itemDetails[itemId];
275
				var serialNumbers = itemDetails[itemId];
275
				serialNumbers.push($(this).val());
276
				serialNumbers.push($(this).val());
276
				itemDetails[itemId] = serialNumbers;
277
				itemDetails[itemId] = serialNumbers;
277
			}else{
278
			} else {
278
				var serialNumbers = [];
279
				var serialNumbers = [];
279
				serialNumbers.push($(this).val());
280
				serialNumbers.push($(this).val());
280
				itemDetails[itemId] = serialNumbers;
281
				itemDetails[itemId] = serialNumbers;
281
			}
282
			}
282
		}else{
283
		} else {
283
			var serialNumbers = [];
284
			var serialNumbers = [];
284
			serialNumbers.push($(this).val());
285
			serialNumbers.push($(this).val());
285
			var tmp ={};
286
			var tmp = {};
286
			tmp[itemId]  = serialNumbers;
287
			tmp[itemId] = serialNumbers;
287
			orderObj['fofoOrderItems'] = tmp;
288
			orderObj['fofoOrderItems'] = tmp;
288
		}
289
		}
289
	});
290
	});
290
	console.log( JSON.stringify(orderObj));
291
	console.log(JSON.stringify(orderObj));
291
	$("#order-items").find("tr:not(:first-child)").each(function(index, el){
292
	$("#order-items").find("tr:not(:first-child)").each(function(index, el) {
292
		// console.log(el);
293
		// console.log(el);
293
		// console.log(index);
294
		// console.log(index);
294
		var $el = $(el);
295
		var $el = $(el);
295
		var $unitPriceElement = $el.find('.unitPrice');
296
		var $unitPriceElement = $el.find('.unitPrice');
296
			
297
 
297
		var itemId = parseInt($unitPriceElement.attr("itemId"));
298
		var itemId = parseInt($unitPriceElement.attr("itemId"));
298
		var unitPrice = parseFloat($unitPriceElement.val());
299
		var unitPrice = parseFloat($unitPriceElement.val());
299
		var qty = parseInt($unitPriceElement.attr("quantity"));
300
		var qty = parseInt($unitPriceElement.attr("quantity"));
300
		var tmpObj = {'itemId':itemId,'sellingPrice':unitPrice,'quantity':qty};
301
		var tmpObj = { 'itemId': itemId, 'sellingPrice': unitPrice, 'quantity': qty };
301
 
302
 
302
		if (orderObj['fofoOrderItems'][itemId] === undefined){
303
		if (orderObj['fofoOrderItems'][itemId] === undefined) {
303
			tmpObj['serialNumberDetails'] =[];
304
			tmpObj['serialNumberDetails'] = [];
304
		}else{
305
		} else {
305
			// tmpObj['serialNumbers'] = orderObj['fofoLineItems'][itemId];
306
			// tmpObj['serialNumbers'] = orderObj['fofoLineItems'][itemId];
306
			tmpObj['serialNumberDetails'] = [];
307
			tmpObj['serialNumberDetails'] = [];
307
		}
308
		}
308
		var found = false;
309
		var found = false;
309
		for(var i = 0; i < priceQtyArray.length; i++){			
310
		for (var i = 0; i < priceQtyArray.length; i++) {
310
			if (priceQtyArray[i]["itemId"] == itemId){
311
			if (priceQtyArray[i]["itemId"] == itemId) {
311
				priceQtyArray[i]["quantity"] = priceQtyArray[i]["quantity"] + 1;
312
				priceQtyArray[i]["quantity"] = priceQtyArray[i]["quantity"] + 1;
312
				found = true;
313
				found = true;
313
				break;
314
				break;
314
			}
315
			}
315
		}
316
		}
316
		if(!found){
317
		if (!found) {
317
			priceQtyArray.push(tmpObj);
318
			priceQtyArray.push(tmpObj);
318
		}
319
		}
319
	});	
320
	});
320
		
321
 
321
	$("#order-items").find("tr:not(:first-child)").each(function(index,el){
322
	$("#order-items").find("tr:not(:first-child)").each(function(index, el) {
322
		// console.log(el);
323
		// console.log(el);
323
		// console.log(index);
324
		// console.log(index);
324
		var $serialNumberElement = $(el).find('.serialNumber');
325
		var $serialNumberElement = $(el).find('.serialNumber');
325
		var itemId = parseInt($serialNumberElement.attr("itemId"));
326
		var itemId = parseInt($serialNumberElement.attr("itemId"));
326
		var insuranceEle = $(el).find('.insuranceamount');
327
		var insuranceEle = $(el).find('.insuranceamount');
327
		var insuranceAmount = 0;
328
		var insuranceAmount = 0;
328
		if(insuranceEle.length > 0) {
329
		if (insuranceEle.length > 0) {
329
			insuranceAmount = parseFloat(insuranceEle.val());
330
			insuranceAmount = parseFloat(insuranceEle.val());
330
		}
331
		}
331
		var insuranceId = "";
332
		var insuranceId = "";
332
		if(insuranceAmount > 0) {
333
		if (insuranceAmount > 0) {
333
			insuranceId = $(el).find('.insuranceid').val();
334
			insuranceId = $(el).find('.insuranceid').val();
334
		}
335
		}
335
		var ram = $(el).find('.ram').val(); 
336
		var ram = $(el).find('.ram').val();
336
		var memory = $(el).find('.memory').val(); 
337
		var memory = $(el).find('.memory').val();
337
		var mfgdate = $(el).find('.mfgdate').val(); 
338
		var mfgdate = $(el).find('.mfgdate').val();
-
 
339
		var serialNumberDetails = {
338
		var serialNumberDetails = {'serialNumber':$serialNumberElement.val(),'insurance':insuranceId,'amount':insuranceAmount, 
340
			'serialNumber': $serialNumberElement.val(), 'insurance': insuranceId, 'amount': insuranceAmount,
339
				'ram' :ram, 'memory' : memory, 'mfgDate':mfgdate};
341
			'ram': ram, 'memory': memory, 'mfgDate': mfgdate
-
 
342
		};
340
		priceQtyArray[index]['serialNumberDetails'].push(serialNumberDetails);
343
		priceQtyArray[index]['serialNumberDetails'].push(serialNumberDetails);
341
        
344
 
342
	});
345
	});
343
	
346
 
344
	customerObj['gstNumber'] = $("form#cd input[name=gstNumber]").val();
347
	customerObj['gstNumber'] = $("form#cd input[name=gstNumber]").val();
345
	if(customerId==undefined) {
348
	if (customerId == undefined) {
346
		alert("Please choose customer");
349
		alert("Please choose customer");
347
		return false;
350
		return false;
348
	}
351
	}
349
	if($("#customer-address").data("addressselected")=="true") {
352
	if ($("#customer-address").data("addressselected") == "true") {
350
		alert("Please select address");
353
		alert("Please select address");
351
		return false;
354
		return false;
352
	}
355
	}
353
	customerObj['customerId'] = customerId; 
356
	customerObj['customerId'] = customerId;
354
	customerObj['customerAddressId'] = selectedAddressId;
357
	customerObj['customerAddressId'] = selectedAddressId;
355
	customerObj['gender'] = $("#gender").val();
358
	customerObj['gender'] = $("#gender").val();
356
	customerObj['dateOfBirth'] = startDate;
359
	customerObj['dateOfBirth'] = startDate;
357
	
360
 
358
	
361
 
359
	var paymentOptionSize = parseInt($('#payment-option-id-amount-container').attr("paymentOptionSize"));
362
	var paymentOptionSize = parseInt($('#payment-option-id-amount-container').attr("paymentOptionSize"));
360
	// console.log("paymentOptionSize = "+paymentOptionSize);
363
	// console.log("paymentOptionSize = "+paymentOptionSize);
361
	for(var index = 0; index < paymentOptionSize; index++){
364
	for (var index = 0; index < paymentOptionSize; index++) {
362
		var paymentOptionAmount = 0.0;
365
		var paymentOptionAmount = 0.0;
363
		if($('#paymentOptionIdAmount'+index).val() != ""){
366
		if ($('#paymentOptionIdAmount' + index).val() != "") {
364
			paymentOptionAmount = parseFloat($('#paymentOptionIdAmount'+index).val());
367
			paymentOptionAmount = parseFloat($('#paymentOptionIdAmount' + index).val());
365
		}
368
		}
366
		var paymentOptionId = $('#paymentOptionIdAmount'+index).attr("paymentOptionId");
369
		var paymentOptionId = $('#paymentOptionIdAmount' + index).attr("paymentOptionId");
367
		var paymentOptionIdAmountObject = {};
370
		var paymentOptionIdAmountObject = {};
368
		paymentOptionIdAmountObject['paymentOptionId'] = paymentOptionId;
371
		paymentOptionIdAmountObject['paymentOptionId'] = paymentOptionId;
369
		paymentOptionIdAmountObject['amount'] = paymentOptionAmount;
372
		paymentOptionIdAmountObject['amount'] = paymentOptionAmount;
370
		paymentOptionIdAmount.push(paymentOptionIdAmountObject);
373
		paymentOptionIdAmount.push(paymentOptionIdAmountObject);
371
	}
374
	}
372
	var retObj = {};
375
	var retObj = {};
373
	retObj['fofoOrderItems'] = (priceQtyArray);
376
	retObj['fofoOrderItems'] = (priceQtyArray);
374
	retObj['customer'] = (customerObj);
377
	retObj['customer'] = (customerObj);
375
	retObj['paymentOptions'] =  (paymentOptionIdAmount);
378
	retObj['paymentOptions'] = (paymentOptionIdAmount);
-
 
379
	retObj['poId'] = $('#poid').val();
-
 
380
 
-
 
381
	retObj['poItemId'] = $('#poItemId').val();
376
	
382
 
377
	console.log(retObj);
383
	console.log(retObj);
378
	return  JSON.stringify(retObj);
384
	return JSON.stringify(retObj);
379
}
385
}
380
 
386
 
381
function resetInputs() {
387
function resetInputs() {
382
	$("div.customerinfo").html(customerInfo);
388
	$("div.customerinfo").html(customerInfo);
383
	$("div.billinginfo").html(billingInfo).hide();
389
	$("div.billinginfo").html(billingInfo).hide();
384
}
390
}
385
function writeOldCustomerDetailsByMobileNumber(mobileNumber){
391
function writeOldCustomerDetailsByMobileNumber(mobileNumber) {
386
	doAjaxRequestHandler(context+"/customer/mobileNumber?mobileNumber="+mobileNumber, "GET", function(response){
392
	doAjaxRequestHandler(context + "/customer/mobileNumber?mobileNumber=" + mobileNumber, "GET", function(response) {
387
		if(response.response=='') {
393
		if (response.response == '') {
388
			return;
394
			return;
389
		}
395
		}
390
		var customer = response.response;
396
		var customer = response.response;
391
		if(customer==null) {
397
		if (customer == null) {
392
			$('input.phone').attr('value', mobileNumber).attr('readonly', true);
398
			$('input.phone').attr('value', mobileNumber).attr('readonly', true);
393
			$('button.mk_add_customer').show();
399
			$('button.mk_add_customer').show();
394
			
400
 
395
			return;
401
			return;
396
		}
402
		}
397
		$('input.firstName').attr('value', customer.firstName).attr('readonly', true);
403
		$('input.firstName').attr('value', customer.firstName).attr('readonly', true);
398
		$('input.lastName').attr('value', customer.lastName).attr('readonly', true);
404
		$('input.lastName').attr('value', customer.lastName).attr('readonly', true);
399
		$('input.phone').attr('value', customer.mobileNumber).attr('readonly', true);
405
		$('input.phone').attr('value', customer.mobileNumber).attr('readonly', true);
400
		if(customer.emailId!= null && customer.emailId!='') {
406
		if (customer.emailId != null && customer.emailId != '') {
401
			$('#emailId').attr('value', customer.emailId).attr('readonly', true);
407
			$('#emailId').attr('value', customer.emailId).attr('readonly', true);
402
			console.log('helo');
408
			console.log('helo');
403
		} else {
409
		} else {
404
			$('button.mk_add_email').show();
410
			$('button.mk_add_email').show();
405
		}
411
		}
406
		$('#firstName').attr('value', customer.firstName);
412
		$('#firstName').attr('value', customer.firstName);
407
		$('#lastName').attr('value', customer.lastName);
413
		$('#lastName').attr('value', customer.lastName);
408
		$('#alternatePhone').attr('value', customer.mobileNumber);
414
		$('#alternatePhone').attr('value', customer.mobileNumber);
409
	    customerId = customer.customerId;
415
		customerId = customer.customerId;
410
	    $("div.billinginfo").show();
416
		$("div.billinginfo").show();
411
	    trs = [];
417
		trs = [];
412
	    if(customer.addresses != null) {
418
		if (customer.addresses != null) {
413
	    	for(address of customer.addresses) {
419
			for (address of customer.addresses) {
414
	    		if(typeof pendingPO !="undefined") {
420
				if (pendingPO != null) {
-
 
421
 
415
	    			if(pendingPO.customerAddressId==address.id) {
422
					if (pendingPO.customerAddressId == address.id) {
416
	    				trs.push(getAddressTr(address));
423
						trs.push(getAddressTr(address));
417
	    			}
424
					}
418
	    		} else {
425
				} else {
419
	    			trs.push(getAddressTr(address));
426
					trs.push(getAddressTr(address));
420
	    		}
427
				}
421
	    	}
428
			}
422
	    }
429
		}
423
	    $("#address-body").html(trs.join(""));
430
		$("#address-body").html(trs.join(""));
424
	    
431
 
425
	});
432
	});
426
}
433
}
427
function getAddressTr(address) {
434
function getAddressTr(address) {
428
	var tr = [];
435
	var tr = [];
429
	tr.push(`<tr><td>${address.name} ${address.lastName}</td>`);
436
	tr.push(`<tr><td>${address.name} ${address.lastName}</td>`);
Line 434... Line 441...
434
	tr.push(`<td>${address.phoneNumber}</td>`);
441
	tr.push(`<td>${address.phoneNumber}</td>`);
435
	tr.push(`<td><a class="select-address" href="javascript:void(0);" data-addressid="${address.id}">Select address</a></td></tr>`);
442
	tr.push(`<td><a class="select-address" href="javascript:void(0);" data-addressid="${address.id}">Select address</a></td></tr>`);
436
	return tr.join("");
443
	return tr.join("");
437
}
444
}
438
function validateEmail(email) {
445
function validateEmail(email) {
439
    const re = /^(([^<>()[\]\\.,;:\s@"]+(\.[^<>()[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/;
446
	const re = /^(([^<>()[\]\\.,;:\s@"]+(\.[^<>()[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/;
440
    return re.test(String(email).toLowerCase());
447
	return re.test(String(email).toLowerCase());
441
}
448
}
442
449