$(document).on("click", ".save_quote , .save_pdf , .save_excel, .save_attch", function (e) { var type = $(this).attr('data-value'); e.preventDefault(); var flag = '0'; $('#new_quote_form *').filter( '.quote_title,.customers,.expiration_date,.linked_with,.prepared_for').each(function () { if ($(this).hasClass('validate')) { if ($(this).val() == '' || $(this).val() == null) { $(this).addClass('error_custom'); $(this).parent().find('.select2-container .select2-selection').addClass('error_custom'); flag = '1'; msg = "There are errors on the page" } else { $(this).removeClass('error_custom'); $(this).parent().find('.select2-container .select2-selection').removeClass('error_custom'); } } else { $(this).removeClass('error_custom'); $(this).parent().find('.select2-container .select2-selection').removeClass('error_custom'); } }); // $('#busyloading, .overlay').show(); var formData = new FormData(document.getElementById("new_quote_form")); formData.append('click',type); formData.append('status','completed'); var url = "{{ route('admin.quotes.store') }}" // $.ajaxSetup({headers: {'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content')}}); if (flag == '1') { alertbox('danger','There are errors on page'); return false; } else { $.ajax({ url: url, type: 'POST', data: formData, processData: false, contentType: false, success: function (res) { if (res.status == 1000) { if(type == 'pdf'){ if(res.data){ window.location.href = "{{ url('download-pdf/')}}/?id="+res.data; // var url = "{{ url('admin/quotes/')}}/"+ value; } } if(type == 'excel'){ if(res.data){ window.location.href = "{{ url('download-pdf/')}}/?id="+res.data; // var url = "{{ url('admin/quotes/')}}/"+ value; } } if(type == 'save_attch'){ $("#new_quote").modal("hide"); $('#new_email .modal-content').html(res.data); $('.quote_email').trigger('click'); $('#new_email').modal('show'); } alertbox('success', res.message); $("#new_quote").modal("hide"); $('#busyloading, .overlay').fadeOut(); } if(res.status == 2000) { $.each(res.errors,function(key,index){ alertbox('danger',index); }); $('#busyloading, .overlay').fadeOut(); } if(res.status == 3000) { $('#busyloading, .overlay').fadeOut(); alertbox('danger',res.errors); } }, error: function (res) { $('#busyloading, .overlay').fadeOut(200); alertbox('danger',message ); } }); } }); $(document).on("click", ".save_draft", function (e) { e.preventDefault(); // $('#busyloading, .overlay').show(); var value = $(this).val(); var formData = new FormData(document.getElementById("new_quote_form")); {{-- formData.append('click',type); --}} formData.append('status','draft'); var url = "{{ route('admin.quotes.store') }}" // $.ajaxSetup({headers: {'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content')}}); $.ajax({ url: url, type: 'POST', data: formData, processData: false, contentType: false, success: function (res) { if (res.status == 1000) { alertbox('success', res.message); $("#new_quote").modal("hide"); $('#busyloading, .overlay').fadeOut(); } if(res.status == 2000) { $.each(res.errors,function(key,index){ alertbox('danger',index); }); $('#busyloading, .overlay').fadeOut(); } if(res.status == 3000) { $('#busyloading, .overlay').fadeOut(); alertbox('danger',res.errors); } }, error: function (res) { $('#busyloading, .overlay').fadeOut(200); alertbox('danger',message ); } }); }); $(document).on("click", ".update_quote, .update_pdf , .update_excel ,.update_attch", function (e) { e.preventDefault(); var flag = '0'; $('#new_quote_form *').filter( '.quote_title,.customers,.expiration_date,.linked_with,.prepared_for').each(function () { if ($(this).hasClass('validate')) { if ($(this).val() == '' || $(this).val() == null) { $(this).addClass('error_custom'); $(this).parent().find('.select2-container .select2-selection').addClass('error_custom'); flag = '1'; msg = "There are errors on the page" } else { $(this).removeClass('error_custom'); $(this).parent().find('.select2-container .select2-selection').removeClass('error_custom'); } } else { $(this).removeClass('error_custom'); $(this).parent().find('.select2-container .select2-selection').removeClass('error_custom'); } }); $('#busyloading, .overlay').show(); var type = $(this).data('val'); var value = $(this).attr('data-id'); var formData = new FormData(document.getElementById("new_quote_form")); formData.append('_method','PUT'); formData.append('click',type); formData.append('status','completed'); var url = "{{ url('admin/quotes/')}}/"+ value; // $.ajaxSetup({headers: {'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content')}}); if (flag == '1') { alertbox('danger','There are errors on page'); return false; } else { $.ajax({ url: url, type: 'POST', data: formData, processData: false, contentType: false, success: function (res) { if (res.status == 1000) { if(type == 'pdf'){ if(res.data){ window.location.href = "{{ url('download-pdf/')}}/?id="+res.data; // var url = "{{ url('admin/quotes/')}}/"+ value; } } if(type == 'excel'){ if(res.data){ window.location.href = "{{ url('download-pdf/')}}/?id="+res.data; // var url = "{{ url('admin/quotes/')}}/"+ value; } } if(type == 'save_attch'){ $("#new_quote").modal("hide"); $('#new_email .modal-content').html(res.data); $('.quote_email').trigger('click'); $('#new_email').modal('show'); } alertbox('success', res.message); $("#new_quote").modal("hide"); $('#busyloading, .overlay').fadeOut(); } if(res.status == 2000) { $.each(res.errors,function(key,index){ alertbox('danger',index); }); $('#busyloading, .overlay').fadeOut(); } if(res.status == 3000) { $('#busyloading, .overlay').fadeOut(); alertbox('danger',res.errors); } }, error: function (res) { $('#busyloading, .overlay').fadeOut(200); alertbox('danger','{{ trans("js-messages.DCM103") }}' ); } }); } }); $(document).on("click", ".update_draft", function (e) { e.preventDefault(); $('#busyloading, .overlay').show(); var type = $(this).data('val'); var value = $(this).attr('data-id'); var formData = new FormData(document.getElementById("new_quote_form")); formData.append('_method','PUT'); formData.append('status','draft'); var url = "{{ url('admin/quotes/')}}/"+ value; // $.ajaxSetup({headers: {'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content')}}); $.ajax({ url: url, type: 'POST', data: formData, processData: false, contentType: false, success: function (res) { if (res.status == 1000) { if(type == 'pdf'){ if(res.data){ window.location.href = "{{ url('download-pdf/')}}/?id="+res.data; // var url = "{{ url('admin/quotes/')}}/"+ value; } } if(type == 'excel'){ if(res.data){ window.location.href = "{{ url('download-pdf/')}}/?id="+res.data; // var url = "{{ url('admin/quotes/')}}/"+ value; } } if(type == 'save_attch'){ $("#new_quote").modal("hide"); $('#new_email .modal-content').html(res.data); $('.quote_email').trigger('click'); $('#new_email').modal('show'); } alertbox('success', res.message); $("#new_quote").modal("hide"); $('#busyloading, .overlay').fadeOut(); } if(res.status == 2000) { $.each(res.errors,function(key,index){ alertbox('danger',index); }); $('#busyloading, .overlay').fadeOut(); } if(res.status == 3000) { $('#busyloading, .overlay').fadeOut(); alertbox('danger',res.errors); } }, error: function (res) { $('#busyloading, .overlay').fadeOut(200); alertbox('danger','{{ trans("js-messages.DCM103") }}' ); } }); }); $('body').on('input', '.group_value, .quote_discount, .quote_vat', function () { final_total(); }); function final_total() { var discount = $('.quote_discount').val(); var vat = $('.quote_vat').val(); if (discount == '') { discount = 0; } if (vat == '') { vat = 0; } // var component_total_amount = 0; // $('.group_value').each(function (i, v) { // var group_val = $(this).val(); // var group_name = $(this).parent().parent().find('.select_group').val(); // if (group_val != '' && group_name != '' && group_name != null && typeof group_name != 'undefined') { // component_total_amount += parseFloat(group_val); // } // }); var final_total = parseFloat(parseFloat(vat) - parseFloat(discount)) .toFixed(); $('.total_amount').val(final_total); } $('body').on('click', '.discount', function () { $('.discount_popup').css('display', 'none'); var product = $(this).parent().parent().find('.ledger_account').val(); if (product != '' && product != null) { $(this).parent().find('.discount_popup').css('display', 'block').find('.flat').focus(); } else { return false; } }); $('body').on('click', '.total_discount', function () { $('.overall_discount_popup').css('display', 'none'); var subtotal = $('.subtotal').val(); if (subtotal != '' && subtotal != '0') { $('.overall_discount_popup').css('display', 'block').find('.overall_flat').focus(); } else { return false; } }); $(window).click(function () { $('.discount_popup').css('display', 'none'); $('.overall_discount_popup').css('display', 'none'); $('.popup_select').slideUp(); // $(".save_invoice").removeClass("disabled"); }); $('body').on('click', '.discount, .total_discount', function (event) { event.stopPropagation(); }); $('body').on('click', '.discount_popup, .overall_discount_popup', function (event) { event.stopPropagation(); }); $('body').on('click', '.drop', function (event) { event.stopPropagation(); }); function calculatePercentage(price, value) { var perc = ""; if (isNaN(price) || isNaN(value)) { perc = " "; } else { // perc = ((value/price) * 100).toFixed(3); perc = (value * 100) / price; // } return perc; } // price calculation from percentage function calculatePercentagePrice(price, percentage) { var rate = ""; if (isNaN(percentage) || isNaN(price)) { rate = " "; } else { rate = (price * percentage) / 100; } return rate; } var product_id = []; $(document).on("change", "select[name='ledger_account[]']", function () { $this = $(this); var id = $(this).val(); // var name = $( ".ledger_account option:selected" ).text(); var row_id = $(this).parent().parent().parent().parent().data("row-id"); var r_id = $(this).parent().parent().parent().parent().attr("data-new-row"); if (id != '') { // alert(row_id); product_id.push(id); // $("select[name='item']").val('').trigger("change"); // $("input[name='rate']").val('').trigger("change"); // total_amt = (((parseFloat(qty)*parseFloat(rate))-parseFloat(discount_value))) + parseFloat(vat_amt); $.ajaxSetup({ headers: { 'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content') } }); $.ajax({ type: "post", url: "{{ route('admin.quotes.get-prod')}}", data: {id: id ,row_id: row_id, product_id: product_id}, success: function (response) { if (response.status == 1000) { $this.parent().parent().parent().find(".selectitem").val(response.data.product_code); $this.parent().parent().parent().find(".quantity").removeAttr("readonly"); $this.parent().parent().parent().find(".rate").removeAttr("readonly"); // $('.selectitem').select2('data', { id: response.data.product_code, text: response.data.product_code}); $this.parent().parent().parent().find(".rate").val(response.data.purchase_price); $this.parent().parent().parent().find(".discount").val("0",{{ number_format(0,0) }}); $this.parent().parent().parent().find(".itemamount").val(response.data.purchase_price); $this.parent().parent().parent().find(".discount").attr("placeholder",{{ number_format(0,0) }}); $this.parent().parent().parent().find(".discount_popup").attr("rate",parseFloat(response.data.purchase_price)); // $this.parent().parent().parent().find(".productname").val(name); $this.parent().parent().parent().find("select[name='tax[]']").html(response.option); $this.parent().parent().parent().find("select[name='tax[]']").attr("disabled", false); $this.parent().parent().parent().parent().attr("data-new-row","1"); $('.enter_discount').trigger('input').val('0'); if(r_id == 0) { $('.products_wrap').append(response.html); } if (response.status == 3000) { alertbox('danger', response.message); } } }, error: function (result) { $('.alert_box').fadeIn().delay(2000).fadeOut(200).html('Server not found'); // $(".save_customer").removeClass("disabled"); } }); } }) // Discount price enter $(document).on('input', '.enter_discount', function () { // $(".save_invoice").addClass("disabled"); @php ($number_format = $decimal_point) var discount_value = $(this).val(); var rate = $(this).parent().parent().parent().parent().find('input.rate').val(); if(rate == ""){ rate = 0; } var qty = $(this).parent().parent().parent().parent().find('input.quantity').val(); if(qty == ""){ qty = 0; } var total_rate = parseFloat(rate) * parseFloat(qty); // if(discount_value >= total_rate){ // alertbox('danger', 'Discount cannot exceed the product price'); // return false; // } var percentage = calculatePercentage(total_rate, discount_value); $(this).parent().parent().find(".enter_percentage").val(percentage); $(this).parent().parent().parent().find('input[name="discount[]"]').val(discount_value); var rate = $(this).parent().parent().parent().parent().find('input.rate').val(); var tax = $(this).parent().parent().parent().parent().find('select.tax').val(); var vat_amt = 0; var total_amt = 0; if(discount_value == ''){ discount_value = 0; } if(tax != 0){ vat_amt = (tax/100) * ((parseFloat(qty)*parseFloat(rate))-parseFloat(discount_value)); vat_amt = parseFloat(vat_amt).toFixed({{ $number_format }}); } total_amt = (((parseFloat(qty)*parseFloat(rate))-parseFloat(discount_value))) + parseFloat(vat_amt); $(this).parent().parent().parent().parent().find('input.tax_amount').val(vat_amt); // $(this).parent().parent().parent().parent().find('div.tax_amount_show').text(vat_amt); $(this).parent().parent().parent().parent().find('input.itemamount').val(total_amt); // $(this).parent().parent().parent().parent().find('div.itemamount_show').text(parseFloat(total_amt).toFixed({{ $number_format }})); //Get total discount var total_discount = 0; $("input[name='discount[]']").map(function(){ var discount_amount = $(this).val(); discount_amount = discount_amount.split(',').join(''); if(discount_amount != ''){ total_discount= parseFloat(total_discount) + parseFloat(discount_amount); } }); $(".total_discount").val(parseFloat(total_discount).toFixed({{ $number_format }})); $(".total_discount_show").text(parseFloat(total_discount).toFixed({{ $number_format }})); //Get total amount var total_amount = 0; $("input[name='amount[]']").map(function(){ var total = $(this).val(); total = total.split(',').join(''); if(total != ''){ total_amount= parseFloat(total_amount) + parseFloat(total); } }); $(".real_amount").val(parseFloat(total_amount).toFixed({{ $number_format }})); $(".net_total_show").text(parseFloat(total_amount).toFixed({{ $number_format }})); total_amount =decimalRounding(total_amount); $(".net_total").val(parseFloat(total_amount).toFixed({{ $number_format }})); $(".net_total_show").text(parseFloat(total_amount).toFixed({{ $number_format}})); //Tax amount var total_tax = 0; $("input[name='tax_amount[]']").map(function(){ var tax_amount = $(this).val(); tax_amount = tax_amount.split(',').join(''); if(tax_amount != ''){ total_tax= parseFloat(total_tax) + parseFloat(tax_amount); } }); $(".total_tax_amount").val(parseFloat(total_tax).toFixed({{ $number_format }})); $(".total_tax_amount_show").text(parseFloat(total_tax).toFixed({{ $number_format }})); var sub_total = (parseFloat($(".real_amount").val()) - parseFloat($(".total_tax_amount").val())) + parseFloat($(".total_discount").val()); $(".subtotal").val(parseFloat(sub_total).toFixed({{ $number_format }})); $(".subtotal_show").text(parseFloat(sub_total).toFixed({{ $number_format }})); }); //Discount percentage enter $(document).on('input', '.enter_percentage', function () { @php ($number_format = $decimal_point) var discount_percentage = $(this).val(); if(discount_percentage == "" || discount_percentage == 0){ discount_percentage = 0; } var rate = $(this).parent().parent().parent().parent().find('input.rate').val(); if(rate == ""){ rate = 0; } var qty = $(this).parent().parent().parent().parent().find('input.quantity').val(); if(qty == ""){ qty = 0; } var total_rate = parseFloat(rate) * parseFloat(qty); if(discount_percentage == 0){ var price = 0; } else{ var price = calculatePercentagePrice(total_rate, discount_percentage); } if(price >= total_rate){ alertbox('danger','Discount cannot exceed product price' ); return false; } $(this).parent().parent().find(".enter_discount").val(parseFloat(price).toFixed({{ $number_format }})); $(this).parent().parent().parent().find('input[name="discount[]"]').val(parseFloat(price).toFixed({{ $number_format }})); discount_value = parseFloat(price).toFixed({{ $number_format }}); // var rate = $(this).parent().parent().parent().parent().find('input.rate').val(); var tax = $(this).parent().parent().parent().parent().find('select.tax').val(); var vat_amt = 0; var total_amt = 0; if(discount_value == ''){ discount_value = 0; } if(tax != 0){ vat_amt = (tax/100) * ((parseFloat(qty)*parseFloat(rate))-parseFloat(discount_value)); vat_amt = parseFloat(vat_amt).toFixed({{ $number_format }}); } total_amt = (((parseFloat(qty)*parseFloat(rate))-parseFloat(discount_value))) + vat_amt; $(this).parent().parent().parent().parent().find('input.tax_amount').val(vat_amt); // $(this).parent().parent().parent().parent().find('div.tax_amount_show').text(vat_amt); $(this).parent().parent().parent().parent().find('input.itemamount').val(total_amt); // $(this).parent().parent().parent().parent().find('div.itemamount_show').text(parseFloat(total_amt).toFixed({{ $number_format }})); //Get total discount var total_discount = 0; $("input[name='discount[]']").map(function(){ var discount_amount = $(this).val(); discount_amount = discount_amount.split(',').join(''); if(discount_amount != ''){ total_discount= parseFloat(total_discount) + parseFloat(discount_amount); } }); $(".total_discount").val(parseFloat(total_discount).toFixed({{ $number_format }})); $(".total_discount_show").text(parseFloat(total_discount).toFixed({{ $number_format }})); //Get total amount var total_amount = 0; $("input[name='amount[]']").map(function(){ var total = $(this).val(); total = total.split(',').join(''); if(total != ''){ total_amount= parseFloat(total_amount) + parseFloat(total); } }); $(".real_amount").val(parseFloat(total_amount).toFixed({{ $number_format }})); total_amount =decimalRounding(total_amount); $(".net_total").val(parseFloat(total_amount).toFixed({{ $number_format }})); $(".net_total_show").text(parseFloat(total_amount).toFixed({{ $number_format }})); //Tax amount var total_tax = 0; $("input[name='tax_amount[]']").map(function(){ var tax_amount = $(this).val(); tax_amount = tax_amount.split(',').join(''); if(tax_amount != ''){ total_tax= parseFloat(total_tax) + parseFloat(tax_amount); } }); $(".total_tax_amount").val(parseFloat(total_tax).toFixed({{ $number_format }})); $(".total_tax_amount_show").text(parseFloat(total_tax).toFixed({{ $number_format }})); var sub_total = (parseFloat($(".real_amount").val()) - parseFloat($(".total_tax_amount").val())) + parseFloat($(".total_discount").val()); $(".subtotal").val(parseFloat(sub_total).toFixed({{ $number_format }})); $(".subtotal_show").text(parseFloat(sub_total).toFixed({{ $number_format }})); var value = parseFloat(price).toFixed({{ $number_format }}); var row_id = $(this).attr("id"); }); $(document).on('input', 'input[name="quantity[]"]', function () { $(".save_invoice").addClass("disabled"); @php ($number_format = $decimal_point) var value = $(this).val(); var row_id = $(this).attr("id"); var rate = $(this).parent().parent().find('input.rate').val(); if(rate == ""){ rate = 0; } var discount = $(this).parent().parent().find('input.discount').val(); discount = 0; $(this).parent().parent().find('input.discount').val(discount); $(this).parent().parent().find('input.enter_discount').val(discount); $(this).parent().parent().find('input.enter_percentage').val(discount); var tax = $(this).parent().parent().find('select.tax').val(); if(value == ""){ value ="0"; } if(value.length <=3){ var vat_amt = 0; var total_amt = 0; if(discount == ''){ discount = 0; } if(tax != 0){ vat_amt = (tax/100) * ((parseFloat(value)*parseFloat(rate))-parseFloat(discount)); vat_amt = parseFloat(vat_amt).toFixed({{ $number_format }}); } total_amt = (((parseFloat(value)*parseFloat(rate))-parseFloat(discount))) + parseFloat(vat_amt); total_amt = parseFloat(total_amt).toFixed({{ $number_format }}); $(this).parent().parent().find('input.tax_amount').val(vat_amt); // $(this).parent().parent().find('div.tax_amount_show').text(vat_amt); $(this).parent().parent().find('input.itemamount').val(total_amt); // $(this).parent().parent().find('div.itemamount_show').text(total_amt); //Get total discount var total_discount = 0; $("input[name='discount[]']").map(function(){ var discount_amount = $(this).val(); discount_amount = discount_amount.split(',').join(''); if(discount_amount != ''){ $(".total_discount_show").text(parseFloat(total_discount).toFixed({{ $number_format }})); total_discount= parseFloat(total_discount) + parseFloat(discount_amount); } }); $(".total_discount").val(parseFloat(total_discount).toFixed({{ $number_format }})); $(".total_discount_show").text(parseFloat(total_discount).toFixed({{ $number_format }})); //Get total amount var total_amount = 0; $("input[name='amount[]']").map(function(){ var total = $(this).val(); total = total.split(',').join(''); if(total != ''){ total_amount= parseFloat(total_amount) + parseFloat(total); } }); $(".real_amount").val(parseFloat(total_amount).toFixed({{ $number_format }})); // (".net_total").val(parseFloat(total_amount).toFixed({{ $number_format }})); total_amount =decimalRounding(total_amount); $(".net_total").val(parseFloat(total_amount).toFixed({{ $number_format }})); $(".net_total_show").text(parseFloat(total_amount).toFixed({{ $number_format}})); //Tax amount var total_tax = 0; $("input[name='tax_amount[]']").map(function(){ var tax_amount = $(this).val(); tax_amount = tax_amount.split(',').join(''); if(tax_amount != ''){ total_tax= parseFloat(total_tax) + parseFloat(tax_amount); } }); $(".total_tax_amount").val(parseFloat(total_tax).toFixed({{ $number_format }})); $(".total_tax_amount_show").text(parseFloat(total_tax).toFixed({{ $number_format }})); var sub_total = (parseFloat($(".real_amount").val()) - parseFloat($(".total_tax_amount").val())) + parseFloat($(".total_discount").val()); $(".subtotal").val(parseFloat(sub_total).toFixed({{ $number_format }})); $(".subtotal_show").text(parseFloat(sub_total).toFixed({{ $number_format }})); } }); $(document).on('change', '#new_quote_form.linked_with', function () { var related_to = $(this).val(); if (related_to == 'General') { $('.prepared_for').removeClass('validate'); $('.prepared_for').removeClass('error_custom'); $('.prepared_for').parent().parent().parent().hide(); return false; } else { $('.prepared_for').parent().parent().parent().show(); var formData = new FormData(); formData.append('related_to', related_to); $.ajax({ type: 'POST', url: "{{route('admin.quotes.linkedvalue')}}", data: formData, contentType: false, processData: false, success: function (response) { var result = response; if (result.status == 1000) { var linked_with = ''; if (result.data.length > 0) { $.each(result.data, function (i, v) { var linked_unique = (v.linked_unique !== null) ? v .linked_unique : ''; var name = (v.linked_name !== null) ? v.linked_name : ''; if (name != '' && linked_unique != '') { name = name + ' (' + linked_unique + ')'; } else if (name == '' && linked_unique != '') { name = linked_unique; } else { name = name; } linked_with += ''; }); } $('.prepared_for').html(linked_with); $('.linked_flag').val(1); $('.linked_with').parent().find('.spin_icon').hide(); } else { alertbox('danger', '{{ trans("js-messages.DCM108") }}'); } $('#busyloading').hide(); return false; } }); } }); //Change tax $(document).on('change','select[name="tax[]"]',function() { $(".save_invoice").addClass("disabled"); @php ($number_format = $decimal_point) var value = $(this).val(); //Vat rate var row_id = $(this).attr("id"); var qty = $(this).parent().parent().find('input.quantity').val(); var discount = $(this).parent().parent().find('input.discount').val(); var rate = $(this).parent().parent().find('input.rate').val(); if(rate == ""){ rate = 0; } if(qty == ""){ qty = 0; } if(discount == ''){ discount = 0; } var vat_amt = 0; var total_amt = 0; if(value != 0){ vat_amt = (value/100) * ((parseFloat(qty)*parseFloat(rate))-parseFloat(discount)); vat_amt = parseFloat(vat_amt).toFixed({{ $number_format }}); } total_amt = (((parseFloat(qty)*parseFloat(rate))-parseFloat(discount))) + parseFloat(vat_amt); total_amt = parseFloat(total_amt).toFixed({{ $number_format }}); $(this).parent().parent().find('input.tax_amount').val(vat_amt); // $(this).parent().parent().find('div.tax_amount_show').text(vat_amt); $(this).parent().parent().find('input.itemamount').val(total_amt); // $(this).parent().parent().find('div.itemamount_show').text(total_amt); //Get total discount var total_discount = 0; $("input[name='discount[]']").map(function(){ var discount_amount = $(this).val(); discount_amount = discount_amount.split(',').join(''); if(discount_amount != ''){ total_discount= parseFloat(total_discount) + parseFloat(discount_amount); } }); $(".total_discount").val(parseFloat(total_discount).toFixed({{ $number_format }})); $(".total_discount_show").text(parseFloat(total_discount).toFixed({{ $number_format }})); //Get total amount var total_amount = 0; $("input[name='amount[]']").map(function(){ var total = $(this).val(); total = total.split(',').join(''); if(total != ''){ total_amount= parseFloat(total_amount) + parseFloat(total); } }); $(".real_amount").val(parseFloat(total_amount).toFixed({{ $number_format }})); total_amount =decimalRounding(total_amount); $(".net_total").val(parseFloat(total_amount).toFixed({{ $number_format }})); $(".net_total_show").text(parseFloat(total_amount).toFixed({{ $number_format }})); //Tax amount var total_tax = 0; $("input[name='tax_amount[]']").map(function(){ var tax_amount = $(this).val(); tax_amount = tax_amount.split(',').join(''); if(tax_amount != ''){ total_tax= parseFloat(total_tax) + parseFloat(tax_amount); } }); $(".total_tax_amount").val(parseFloat(total_tax).toFixed({{ $number_format }})); $(".total_tax_amount_show").text(parseFloat(total_tax).toFixed({{ $number_format }})); var sub_total = (parseFloat($(".real_amount").val()) - parseFloat($(".total_tax_amount").val())) + parseFloat($(".total_discount").val()); $(".subtotal").val(parseFloat(sub_total).toFixed({{ $number_format }})); $(".subtotal_show").text(parseFloat(sub_total).toFixed({{ $number_format }})); }); //Change price/rate $(document).on('input', 'input[name="rate[]"]', function () { var price = $(this).val(); $(this).parent().parent().parent().find(".discount_popup").attr("rate", price); }); function checkLengthQty(t) { var fieldLength = t.value.length; //want 3 number of character if (fieldLength <= 3) { return true; } else { var str = t.value; str = str.substring(0, str.length - 1); t.value = str; } } $(document).on('input', 'input[name="rate[]"]', function () { // $(".save_invoice").addClass("disabled"); var value = $(this).val(); //Price @php ($number_format = $decimal_point) if(value == ""){ value = 0; } else{ var flag = validateRetailprice(value); if(flag == 1){ $(this).val(value.slice(0,-1)); alertbox('danger', '{{ trans("js-messages.DCM108") }}'); return false; } } var row_id = $(this).attr("id"); var qty = $(this).parent().parent().find('input.quantity').val(); if(qty == ""){ qty = 0; } var discount = $(this).parent().parent().find('input.discount').val(); discount = 0; $(this).parent().parent().find('input.discount').val(parseFloat(discount).toFixed({{ $number_format }})); $(this).parent().parent().find('input.enter_discount').val(parseFloat(discount).toFixed({{ $number_format }})); $(this).parent().parent().find('input.enter_percentage').val(parseFloat(discount).toFixed({{ $number_format }})); var tax = $(this).parent().parent().find('select.tax').val(); var vat_amt = 0; var total_amt = 0; if(tax != 0){ vat_amt = (tax/100) * ((parseFloat(qty)*parseFloat(value))-parseFloat(discount)); vat_amt = parseFloat(vat_amt).toFixed({{ $number_format }}); } total_amt = (((parseFloat(qty)*parseFloat(value))-parseFloat(discount))) + parseFloat(vat_amt); total_amt = total_amt.toFixed(2); $(this).parent().parent().find('input.tax_amount').val(parseFloat(vat_amt).toFixed({{ $number_format }})); // $(this).parent().parent().find('div.tax_amount_show').text(parseFloat(vat_amt).toFixed({{ $number_format }})); $(this).parent().parent().find('input.itemamount').val(parseFloat(total_amt).toFixed({{ $number_format }})); // $(this).parent().parent().find('div.itemamount_show').text(parseFloat(total_amt).toFixed({{ $number_format }})); //Get total discount var total_discount = 0; $("input[name='discount[]']").map(function(){ var discount_amount = $(this).val(); discount_amount = discount_amount.split(',').join(''); if(discount_amount != ''){ total_discount= parseFloat(total_discount) + parseFloat(discount_amount); } }); $(".total_discount").val(parseFloat(total_discount).toFixed({{ $number_format }})); $(".total_discount_show").text(parseFloat(total_discount).toFixed({{ $number_format }})); //Get total amount var total_amount = 0; $("input[name='amount[]']").map(function(){ var total = $(this).val(); total = total.split(',').join(''); if(total != ''){ total_amount= parseFloat(total_amount) + parseFloat(total); } }); $(".real_amount").val(parseFloat(total_amount).toFixed({{ $number_format }})); total_amount =decimalRounding(total_amount); $(".net_total").val(parseFloat(total_amount).toFixed({{ $number_format }})); $(".net_total_show").text(parseFloat(total_amount).toFixed({{ $number_format }})); //Tax amount var total_tax = 0; $("input[name='tax_amount[]']").map(function(){ var tax_amount = $(this).val(); tax_amount = tax_amount.split(',').join(''); if(tax_amount != ''){ total_tax= parseFloat(total_tax) + parseFloat(tax_amount); } }); $(".total_tax_amount").val(parseFloat(total_tax).toFixed({{ $number_format }})); $(".total_tax_amount_show").text(parseFloat(total_tax).toFixed({{ $number_format }})); var sub_total = (parseFloat($(".real_amount").val()) - parseFloat($(".total_tax_amount").val())) + parseFloat($(".total_discount").val()); $(".subtotal").val(parseFloat(sub_total).toFixed({{ $number_format }})); $(".subtotal_show").text(parseFloat(sub_total).toFixed({{ $number_format }})); }); // Sweet Alert $(document).ready(function () { $(document).on('click', '.sweet-overlay', function () { $('#sweetalert_wrap').show(); }); $(document).on('click', '.cancel', function () { $('#sweetalert_wrap').hide(); }); $(document).on('click', '.confirm', function () { $("#new_quote").modal("hide"); $('#sweetalert_wrap').hide(); }); }); function decimalRounding(number){ var roundtype="{{ roundingType() }}" var nearest="{{ roundingNearest() }}" if(roundtype != '' && nearest != ''){ if((number % nearest) !== 0.00){ if(roundtype =="round_down"){ var numberr= number -(number % nearest); return numberr; } if(roundtype =="round_up"){ return number + (nearest - (number % nearest)); } if(roundtype =="nearest") { var tes= (number % nearest); if(tes > (nearest /2)){ return number + (nearest - (number % nearest)); }else{ return number -(number % nearest); } } }else{ return number } }else{ return number } } //retail price validation function validateRetailprice(price) { $("#product_retail_price").removeClass('error_custom'); flag = 0; if (price == '' || price == 0 || price < 0) { flag = 1; $("#product_retail_price").addClass('error_custom'); } if (price % 1 === 0) { //IS Int var val = Math.floor(price); if (val.toString().length > 4) { flag = 1; $("#product_retail_price").addClass('error_custom'); } } else { //Is Float if (price.length > 9) { flag = 1; $("#product_retail_price").addClass('error_custom'); } } return flag; } // Populate opportunity based on customer $(document).on('change', '.related_Opportunity', function () { var value = $(this).val(); var formData = new FormData(); formData.append('related_to', value); $.ajax({ type: 'POST', url: "{{route('admin.quotes.relatedOpportunity')}}", data: formData, contentType: false, processData: false, success: function (response) { var result = response; if (result.status == 1000) { var linked_with = ''; if (result.data.length > 0) { $.each(result.data, function (i, v) { var linked_unique = (v.linked_unique !== null) ? v .linked_unique : ''; var name = (v.linked_name !== null) ? v.linked_name : ''; if (name != '' && linked_unique != '') { name = name + ' (' + linked_unique + ')'; } else if (name == '' && linked_unique != '') { name = linked_unique; } else { name = name; } linked_with += ''; }); } $('.linked_with').parent().removeAttr("style"); $(".linked_with").select2("val",''); $('.linked_with').html(linked_with); $('.related_Opportunity').parent().find('.spin_icon').hide(); } else { alertbox('danger', '{{ trans("js-messages.DCM108") }}'); } $('#busyloading').hide(); return false; } }); }); // CHANGE BUTTON $('body').on('click', '.drop', function () { // $('.popup_select_quote').slideToggle(); $('.popup_select_bottom').slideToggle(); }); // $(window).click(function () { // $('.popup_select_quote').slideUp(); // $('.popup_select_bottom').slideUp(); // }); $('body').on('click', '.drop', function (event) { event.stopPropagation(); }); $('body').on('click','.popup_select_quote li', function (e) { e.preventDefault(); $('.actions_multi_options ').hide(); $('.actions_multi_options').attr('id', ''); if($(this).hasClass('save_as_pdf_button')) { $('.pdf_button_show').attr('id', 'active_option').show().removeClass('hide'); } else if($(this).hasClass('save_as_draft_button')) { $('.draft_button_show').attr('id', 'active_option').show().removeClass('hide'); } else if($(this).hasClass('save_as_new_button')) { $('.save_new').attr('id', 'active_option').show().removeClass('hide'); } else if($(this).hasClass('save_as_excel_button')) { $('.excel_button_show').attr('id', 'active_option').show().removeClass('hide'); } else if($(this).hasClass('save_as_attch_button')){ $('.attch_button_show').attr('id', 'active_option').show().removeClass('hide'); } else { $('.quote_button_show').attr('id', 'active_option').show().removeClass('hide'); } // var btn_select = $('#bot li').attr('value'); // var btn_select = $(this).val('value'); // var btn_select = $(this).attr('data-value'); // = 9 // console.log(btn_select); // $('.actions_multi_options ').hide(); // $('.actions_multi_options').attr('id', ''); $('.popup_select_quote, .popup_select_bottom ').slideUp(); // Task reasons box open // for normal drop down it will b in condition }); function downloadFile(response) { var blob = new Blob([response], {type: 'application/pdf'}) var url = URL.createObjectURL(blob); location.assign(url); } $('body').on('click', '.quote_email', function (e) { // $(function (e) { e.preventDefault(); var quick_text = $(this).text(); var object_name = $('.middle_overview .object_name:first').text(); $('#new_mail .pop_heading').html('New Email'); $('.note-editable').empty(); var type = $(this).attr('type'); var message = $(this).attr('message'); var title = $(this).attr('title'); var uuid = $('.uuid').val(); // console.log(uuid); if (typeof type != 'undefined') { // For pipeline if (typeof uuid == 'undefined') { uuid = $(this).attr('uuid'); } $('#newMail').find('.view_type').remove(); $('#newMail').append(''); } var content_height = $('#new_mail').height(); var summer_note_height = content_height - 500; // console.log(summer_note_height); $('.email_content').height(summer_note_height); $('.new_attachments').css('min-height', 20); $('.new_attachments').css('max-height', 230); $('#busyloading').show(); $('.emails_to').val(''); $('.cc_input').val(''); $('.bcc_input').val(''); $('.subject').val(''); $('.email_body').text('').val(''); $('.summernote').summernote({'height': summer_note_height}); $('#busyloading').hide(); $('.max-size').remove(); }); $('body').on('click', '.send_quote_email', function (e) { e.preventDefault(); var flag = '0'; var msg = ''; var testEmail = /^[A-Z0-9._%+-]+@([A-Z0-9-]+\.)+[A-Z]{2,4}$/i; $('#new_quote_email #new_mail *').filter(':input').each(function () { if ($(this).hasClass('validate')) { if ($(this).val() == '') { $(this).parent().parent().parent().addClass('error_custom_compose'); flag = '1'; msg = 'There are errors on page'; } else { $(this).parent().parent().parent().removeClass('error_custom_compose'); /*FOR EMAIL VALIDATION*/ if (($(this).is('.email'))) { if (testEmail.test($(this).val())) { $(this).removeClass('error_custom_compose'); } else { $(this).addClass('error_custom_compose'); flag = '1'; msg = 'Invalid email address'; } } /*FOR EMAIL VALIDATION*/ } } if ($('.note-editable').html() == '') { $('.modal-body').addClass('error_custom_compose'); flag = '1'; msg = 'email body required'; } else { $('.modal-body').removeClass('error_custom_compose'); } }); var emails_cc = $('.emails_cc').val(); var emails_bcc = $('.emails_bcc').val(); var emails_to = $('.emails_to').val(); //To emails validation if (emails_to != '') { var array_to = emails_to.split(','); if (array_to.length > 1) { $.each(array_to, function (i, email) { email = $.trim(email); if (testEmail.test(email)) { //$('.emails_to').removeClass('error_custom'); } else { $('.emails_to').addClass('error_custom_compose'); flag = '1'; msg = 'Invalid email address'; } }); } else { emails_to = $.trim(emails_to); if (testEmail.test(emails_to)) { $('.emails_to').removeClass('error_custom_compose'); } else { $('.emails_to').addClass('error_custom_compose'); alert(1); flag = '1'; msg = 'Invalid email address'; } } } //CC emails validation if entered if (emails_cc != '') { var array_cc = emails_cc.split(','); if (array_cc.length > 1) { $.each(array_cc, function (i, email) { email = $.trim(email); if (testEmail.test(email)) { //$('.emails_cc').removeClass('error_custom'); } else { $('.emails_cc').addClass('error_custom_compose'); flag = '1'; msg = 'Invalid email address'; } }); } else { emails_cc = $.trim(emails_cc); if (testEmail.test(emails_cc)) { $('.emails_cc').removeClass('error_custom_compose'); } else { $('.emails_cc').addClass('error_custom_compose'); flag = '1'; msg = 'Invalid email address'; } } } //BCC emails validation if entered if (emails_bcc != '') { var array_bcc = emails_bcc.split(','); if (array_bcc.length > 1) { $.each(array_bcc, function (i, email) { email = $.trim(email); if (testEmail.test(email)) { //$('.emails_bcc').removeClass('error_custom'); } else { $('.emails_bcc').addClass('error_custom_compose'); flag = '1'; msg = 'Invalid email address'; } }); } else { emails_bcc = $.trim(emails_bcc); if (testEmail.test(emails_bcc)) { $('.emails_bcc').removeClass('error_custom_compose'); } else { $('.emails_bcc').addClass('error_custom_compose'); flag = '1'; msg = 'Invalid email address'; } } } if (flag == '1') { alertbox('danger', msg); return false; } else { $('#busyloading').show(); var formData = new FormData(document.getElementById("new_mail")); var url = "{{ route('admin.quotes.email') }}"; $.ajax({ url: url, type: 'POST', data: formData, processData: false, // tell jQuery not to process the data contentType: false, // tell jQuery not to set contentType success: function (res) { if (res.status == 1000) { alertbox('success', res.message); $('#new_email').modal("hide"); $("#new_quote").modal("hide"); $('#busyloading, .overlay').fadeOut(); } if(res.status == 2000) { $.each(res.errors,function(key,index){ alertbox('danger',index); }); $('#busyloading, .overlay').fadeOut(); } if(res.status == 3000) { $('#busyloading, .overlay').fadeOut(); alertbox('danger',res.errors); } }, error: function (res) { $('#busyloading, .overlay').fadeOut(200); alertbox('danger','{{ trans("js-messages.DCM103") }}' ); } }); } }); $(document).ready(function(){ $('.close, .dismiss').click(function () { $('#sweetalert_wrap').show(); $('.confirm').addClass('hide_modal'); }); }); $(document).on("click", ".previewIcon", function (e) { e.preventDefault(); var flag = '0'; $('#new_quote_form *').filter( '.quote_title,.customers,.expiration_date,.linked_with,.prepared_for').each(function () { if ($(this).hasClass('validate')) { if ($(this).val() == '' || $(this).val() == null) { $(this).addClass('error_custom'); $(this).parent().find('.select2-container .select2-selection').addClass('error_custom'); flag = '1'; } else { $(this).removeClass('error_custom'); $(this).parent().find('.select2-container .select2-selection').removeClass('error_custom'); } } else { $(this).removeClass('error_custom'); $(this).parent().find('.select2-container .select2-selection').removeClass('error_custom'); } }); if (flag == '1') { alertbox('danger','There are errors on page'); return false; } var formData = new FormData(document.getElementById("new_quote_form")); var url = "{{ route('admin.quotes.preview') }}" // $.ajaxSetup({headers: {'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content')}}); $.ajax({ url: url, type: 'POST', data: formData, processData: false, contentType: false, success: function (res) { if (res.status == 1000) { $('#preview_quote .modal-content').html(res.data); $('#preview_quote').modal("show"); $('#busyloading, .overlay').fadeOut(); } if(res.status == 2000) { $.each(res.errors,function(key,index){ alertbox('danger',index); }); $('#busyloading, .overlay').fadeOut(); } if(res.status == 3000) { $('#busyloading, .overlay').fadeOut(); alertbox('warning',res.errors); } }, error: function (res) { $('#busyloading, .overlay').fadeOut(200); alertbox('danger',message ); } }); }); $(document).ready(function() { $(window).keydown(function(event){ if(event.keyCode == 13) { event.preventDefault(); return false; } }); });