Subversion Repositories SmartDukaan

Rev

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

Rev Author Line No. Line
23347 ashik.ali 1
$(function(){
24440 amit.gupta 2
	$(document).on('click', 'button.mk_plan_select', function(){
25778 amit.gupta 3
		$itemDetails = $('div.itemdetails');
25780 amit.gupta 4
		if($itemDetails.find('.dgram').val()==='') {
25778 amit.gupta 5
			bootbox.alert('Mobile RAM is required');
6
			return;
7
		}
25780 amit.gupta 8
		if($itemDetails.find('.dgmemory').val()==='') {
25778 amit.gupta 9
			bootbox.alert('Mobile Memory is required');
10
			return;
11
		}
12
		if($itemDetails.find('#dgmfgdate').val()==='') {
13
			bootbox.alert('Mobile Mfg Date is required');
14
			return;
15
		}
16
		$orderItemRow = $(planCheckedOn).closest('td');
17
		$orderItemRow.find('.insuranceid').val($(this).data('key'));
18
		$orderItemRow.find('.insuranceamount').val($(this).data('amount'));
19
		$orderItemRow.find('.ram').val($itemDetails.find('.dgram').val());
20
		$orderItemRow.find('.memory').val($itemDetails.find('.dgmemory').val());
25813 amit.gupta 21
		$orderItemRow.find('.mfgdate').val(mfgDate);
24440 amit.gupta 22
		$('#mobilePlansModal').modal('hide');
23343 ashik.ali 23
		calculateTotalAmount();
24
	});
24440 amit.gupta 25
 
28395 amit.gupta 26
	//Price change handler
27
	$(document).on('change', "form#cd input.unitPrice,form#cd input.discount", function() {
23343 ashik.ali 28
 
28395 amit.gupta 29
		var unitPrice = parseFloat($('form#cd input.unitPrice').val());
23343 ashik.ali 30
		if (isNaN(unitPrice)){
31
			unitPrice = 0;
32
		}
28395 amit.gupta 33
		var discount = parseFloat($('form#cd input.discount').val());
34
		var maxDiscount = parseFloat($('form#cd input.discount').data('maxdiscount'));
35
		if (isNaN(discount)){
36
			discount = 0;
23343 ashik.ali 37
		}
28395 amit.gupta 38
		if(isNaN(maxDiscount)) { 
39
			maxDiscount = 0;
40
		}
41
		if(discount > maxDiscount) {
42
			alert("Discount cant be greater than max Discount");
43
			$('form#cd input.discount').val(maxDiscount);
44
			$(this).focus();
45
			return;
46
		}
47
		if(unitPrice < 0 || (unitPrice > 0 && unitPrice - discount < 0)){
48
			alert("Invalid unit/discount price");
49
			$(this).focus();
50
			return;
51
		}
23343 ashik.ali 52
 
53
		calculateTotalAmount();
29487 amit.gupta 54
		$('.mk_check_plans').click();
23343 ashik.ali 55
	});
56
 
57
 
27754 amit.gupta 58
	$(document).on('change', "form#cd input.insuranceamount", function() {
23343 ashik.ali 59
		calculateTotalAmount();
60
	});
61
 
27754 amit.gupta 62
	$(document).on('click', ".create-order", function() {
23347 ashik.ali 63
		checkout("main-content");
64
	});
24440 amit.gupta 65
 
27754 amit.gupta 66
	$(document).on('click', ".mk_check_plans", function(){
25778 amit.gupta 67
		$('div.itemdetails').find('input').val('');
24440 amit.gupta 68
		var mop = parseFloat($(this).data("mop"));
69
		var sellingPrice = $(this).val();
25737 amit.gupta 70
		var itemId = $(this).closest(".input-group").find("input.insuranceamount").attr("itemid");
24440 amit.gupta 71
		if(!isNaN(sellingPrice) && parseFloat(sellingPrice) >= mop){
28395 amit.gupta 72
			price = parseFloat(sellingPrice);
24440 amit.gupta 73
		} else {
74
			price = mop;
75
		}
28395 amit.gupta 76
		var discount = parseFloat($(this).closest("tr").find("input.discount").val());
77
		if(!isNaN(discount)) {
78
			price = price - discount;
79
		}
24440 amit.gupta 80
		that = this;
25737 amit.gupta 81
		doGetAjaxRequestHandler(context+"/checkplans?price=" + price + "&itemId=" + itemId, function(response){
24440 amit.gupta 82
			var obj = JSON.parse(response);
83
			getInsurancePlansModal(obj);
84
			planCheckedOn = that;
85
			return;
86
		});
87
	});
23343 ashik.ali 88
 
22245 ashik.ali 89
});
23343 ashik.ali 90
 
91
 
24440 amit.gupta 92
function getInsurancePlansModal(insurancePlans) {
93
	var htmlArr = [];
94
	for(var key in insurancePlans) {
95
		templateArr = [];
96
		var plansList = insurancePlans[key];
97
		for(var index in plansList) {
98
			var plan = plansList[index];
99
			console.log(plan);
100
			var template = 
101
				`<div class="col-lg-3">
102
					<div class="thumbnail">
25737 amit.gupta 103
						<img class="card-img-top" src="${logosmapping.mobile_insurance_providers[plan.providerId]}" alt="${plan.providerName}">
24440 amit.gupta 104
			      		<div class="caption" style="padding:9px 0 0">
25737 amit.gupta 105
						    <div style="margin:0 0 -2px -2px">
25813 amit.gupta 106
						    	<button class="btn btn-lg btn-default mk_plan_select" style="width:100%" 
25737 amit.gupta 107
						    		data-key="${plan.productId}"
25809 amit.gupta 108
						    		data-amount="${plan.premium}"
29622 amit.gupta 109
						    	>${plan.duration}@ Rs.<span class="currency">${plan.premium}</span>
25737 amit.gupta 110
						    	</button>
111
						    </div>
24440 amit.gupta 112
						</div>
29622 amit.gupta 113
						<div>
114
							Your Landing(DP) - ${plan.dp}
115
						</div>
24440 amit.gupta 116
					</div>
117
				</div>`;
118
			templateArr.push(template);
119
			if(index%4==3 || +index+1==plansList.length) {
25813 amit.gupta 120
				templateArr = [`<div class="row col-lg-12">${templateArr.join('')}</div>`];
24440 amit.gupta 121
			}
122
		}
123
		htmlArr.push(`<div class="row"><h4>${key}</h4>${templateArr.join('')}</div>`);
124
	}
25778 amit.gupta 125
	$('#mobilePlansModal').find('.insurancedetails').html(htmlArr.join(''));
24440 amit.gupta 126
	$('#mobilePlansModal').modal({show: true});
127
 
128
}
129
 
130
 
23343 ashik.ali 131
function calculateTotalAmount() {
132
	var netPayableAmount = 0;
24440 amit.gupta 133
	var totaInsuranceAmount = 0;
23343 ashik.ali 134
	$("#cd").find('tr:gt(0)').each(function(index, el){
135
		var rowTotal = 0;
136
		$tr = $(el);
24440 amit.gupta 137
		var insuranceAmount = $tr.find('input.insuranceamount').val();
138
		if (isNaN(insuranceAmount)){
23343 ashik.ali 139
			insuranceAmount = 0;
140
		}else{
141
			insuranceAmount = parseFloat(insuranceAmount);
142
		}
143
 
23434 ashik.ali 144
		var quantity = parseFloat($(el).find('.unitPrice').attr('quantity'));
145
 
23343 ashik.ali 146
		var unitPrice = parseFloat($(el).find('.unitPrice').val());
23434 ashik.ali 147
		if(isNaN(unitPrice)){
148
			unitPrice = 0;
149
		}
28395 amit.gupta 150
 
151
		var discount = $(el).find('.discount').val();
152
		if(isNaN(discount)){
153
			discount = 0;
154
		}
23343 ashik.ali 155
 
28395 amit.gupta 156
		rowTotal = unitPrice - discount + insuranceAmount; 
23343 ashik.ali 157
		$tr.find('.totalPrice').val(rowTotal);
158
		netPayableAmount += rowTotal;
24440 amit.gupta 159
		totaInsuranceAmount += insuranceAmount;
23343 ashik.ali 160
	});
24440 amit.gupta 161
	if(totaInsuranceAmount > 0) {
162
		$(".mk_insurance_row").show();
163
	} else {
164
		$(".mk_insurance_row").hide();
165
	}
23343 ashik.ali 166
	$('#cd').find('input.netPayableAmount').val(netPayableAmount);
167
}