Subversion Repositories SmartDukaan

Rev

Rev 23434 | Rev 25778 | Go to most recent revision | View as "text/plain" | Blame | Compare with Previous | Last modification | View Log | RSS feed

$(function(){
        $(document).on('click', 'button.mk_plan_select', function(){
                $(planCheckedOn).closest('td').find('.insuranceid').val($(this).data('key'));
                $(planCheckedOn).closest('td').find('.insuranceamount').val($(this).data('amount'));
                $('#mobilePlansModal').modal('hide');
                calculateTotalAmount();
        });
  
        $(".mk_restore").live('click', function() {
                var customerDetails = localStorage.getItem("customerDetails");
                if(customerDetails!=null) {
                        customerObj = JSON.parse(customerDetails);
                        $("form#cd input[name=firstName]").val(customerObj['firstName']);
                        $("form#cd input[name=lastName]").val(customerObj['lastName']);
                        $("form#cd input[name=phone]").val(customerObj['mobileNumber']); 
                        $("form#cd input[name=email]").val(customerObj['emailId']);
                        $("form#cd input[name=gstNumber]").val(customerObj['gstNumber']);
                        var customerAddress = customerObj['address'];
                        $("form#cd input[name=line1]").val(customerAddress['line1']);
                        $("form#cd input[name=line2]").val(customerAddress['line2']);
                        $("form#cd input[name=landmark]").val(customerAddress['landmark']);
                        $("form#cd input[name=city]").val(customerAddress['city']);
                        $('select[name=state] option:selected').val(customerAddress['state']);
                        $("form#cd input[name=pinCode]").val(customerAddress['pinCode']);
                        $("form#cd input[name=alternatePhone]").val(customerAddress['phoneNumber']);
                        $("form#cd input[name=phone]").attr("addressId", customerObj['customerAddressId']);
                        $("form#cd input[name=gender").val(customerObj['gender']);
                        $("form#cd input[name=dateOfBirth").val(customerObj['dateOfBirth']);
                }
        });

        $("form#cd input.unitPrice").live('change', function() {
                
                var unitPrice = parseFloat($(this).val());
                if (isNaN(unitPrice)){
                        unitPrice = 0;
                }
                if(unitPrice < 0){
                        alert("Invalid unit price");
                        $(this).val(0);
                }
                
                calculateTotalAmount();
        });
        
        
        $("form#cd input.insuranceamount").live('change', function() {
                calculateTotalAmount();
        });
        
        $(".create-order").live('click', function() {
                checkout("main-content");
        });
        
        $(".mk_check_plans").live('click', function(){
                var mop = parseFloat($(this).data("mop"));
                var sellingPrice = $(this).val();
                if(!isNaN(sellingPrice) && parseFloat(sellingPrice) >= mop){
                        price = paeseFloat(sellingPrice);
                } else {
                        price = mop;
                }
                that = this;
                doGetAjaxRequestHandler(context+"/checkplans?price=" + price, function(response){
                        var obj = JSON.parse(response);
                        getInsurancePlansModal(obj);
                        planCheckedOn = that;
                        return;
                });
        });

});


function getInsurancePlansModal(insurancePlans) {
        var htmlArr = [];
        for(var key in insurancePlans) {
                templateArr = [];
                var plansList = insurancePlans[key];
                for(var index in plansList) {
                        var plan = plansList[index];
                        console.log(plan);
                        var template = 
                                `<div class="col-lg-3">
                                        <div class="thumbnail">
                                                <img class="card-img-top" src="${logosmapping.mobile_insurance_providers[plan.provider_id]}" alt="${plan.provider_name}">
                                        <div class="caption" style="padding:9px 0 0">
                                                    <div style="margin:0 0 -2px -2px"><button class="btn btn-sm btn-default mk_plan_select" data-key="${plan.plan_key}" data-amount="${plan.price}">${plan.price}</button></div>
                                                </div>
                                        </div>
                                </div>`;
                        templateArr.push(template);
                        if(index%4==3 || +index+1==plansList.length) {
                                templateArr = [`<div class="row col-lg-6">${templateArr.join('')}</div>`];
                        }
                }
                htmlArr.push(`<div class="row"><h4>${key}</h4>${templateArr.join('')}</div>`);
        }
        $('#mobilePlansModal').find('.modal-body').html(htmlArr.join(''));
        $('#mobilePlansModal').modal({show: true});

}


function calculateTotalAmount() {
        var netPayableAmount = 0;
        var totaInsuranceAmount = 0;
        $("#cd").find('tr:gt(0)').each(function(index, el){
                var rowTotal = 0;
                $tr = $(el);
                var insuranceAmount = $tr.find('input.insuranceamount').val();
                if (isNaN(insuranceAmount)){
                        insuranceAmount = 0;
                }else{
                        insuranceAmount = parseFloat(insuranceAmount);
                }
                
                var quantity = parseFloat($(el).find('.unitPrice').attr('quantity'));
                if(isNaN(quantity)){
                        quantity = 0;
                }
                console.log("quantity : "+quantity);
                
                var unitPrice = parseFloat($(el).find('.unitPrice').val());
                if(isNaN(unitPrice)){
                        unitPrice = 0;
                }
                console.log("unitPrice : "+unitPrice);

                rowTotal = unitPrice * quantity + insuranceAmount; 
                $tr.find('.totalPrice').val(rowTotal);
                netPayableAmount += rowTotal;
                totaInsuranceAmount += insuranceAmount;
        });
        if(totaInsuranceAmount > 0) {
                $(".mk_insurance_row").show();
        } else {
                $(".mk_insurance_row").hide();
        }
        $('#cd').find('input.netPayableAmount').val(netPayableAmount);
}