App.checkin = App.cable.subscriptions.create('SecondDisplayViewChannel', {
// App.messages = App.cable.subscriptions.create('MessagesChannel', {
connected: function() {},
disconnected: function() {},
received: function(data) {
var hostname = location.hostname.trim();
if(data.from == "" || hostname == data.from){
var items = data.data;
var tax = data.tax_profiles;
var status= data.status
if (status == "reload") {
jQuery('#s_reload').click();
}
$('#second_display_slider').addClass("hidden")
$('#second_display_items').removeClass("hidden")
// append items
if (status == "add") {
for(var i in items) {
qty = parseInt(items[i].qty);
append = 0;
price = items[i].price;
instance_name = items[i].instance;
if (instance_name == "undefined"){
instance = '';
}else{
instance = "("+items[i].instance+")";
}
// d_option = items[i].options;
// if (d_option){
// option_name = "-"+items[i].options;
// }else{
// option_name = '';
// }
d_option = items[i].opt;
if (items[i].click_type != "add_icon"){
option_name = "-"+items[i].options;
data_option = items[i].options ;
}else{
option_name = ' ';
data_option = '[]';
}
var rowCount = $('.second_display_items tbody tr').length+1;
var item_row = $('.second_display_items tbody tr');
$(item_row).each(function(j){
var item_code = $(item_row[j]).attr('data-code');
var instance_code = $(item_row[j]).attr('data-instance-code');
var r_option = $(item_row[j]).attr('data-options');
if (item_code == items[i].item_code && instance_code == items[i].instance_code && r_option==d_option) {
if (qty > 1) {
qty = parseInt($(item_row[j]).children('#item_qty').text()) + qty;
}else{
qty = parseInt($(item_row[j]).children('#item_qty').text()) + 1;
}
$(item_row[j]).children('#item_qty').text(qty);
parseFloat($(item_row[j]).children('#item_price').text(parseFloat(price*qty).toFixed(2)));
append =1;
}else{
if (qty > 1) {
qty = qty;
}else{
qty = 1;
}
}
});
if (append===0) {
row ="
"
+'| '+rowCount+' | '
+'' + items[i].name+ ' ' + instance + ' ' + option_name +' | '
+'' + qty + ' | '
+''
+ parseFloat(price).toFixed(2)
+' | '
+'
';
$(".second_display_items tbody").append(row);
}
}
}
if (status == "set_add") {
// var option_arr = [];
var attribute_arr = [];
var rowCount = $('.second_display_items tbody tr').length+1;
for(var i in items) {
code = items[i].code;
item_code = items[i].item_code;
name = items[i].name;
item_name = items[i].item_name;
qty = items[i].qty;
price = items[i].price;
option = items[i].option;
sub_item = items[i].sub_item;
total = qty * price ;
// option_arr.push(option);
row =""
+'| '+rowCount+' | '
+'' + item_name+ ' ' + name + ''+option+' | '
+'' + qty + ' | '
+''
+ parseFloat(total).toFixed(2)
+' | '
+'
';
$(".second_display_items tbody").append(row);
rowCount = rowCount + 1;
}
}
//remove item
if(status == "remove"){
for(var i in items) {
var item_code = items[i].item_code;
$("#order-items-table tbody > tr.item_box_"+item_code+"").remove();
}
}
//remove item
//update item qty
if(status == "update_qty"){
for(var i in items) {
var item_code = items[i].item_code;
var item_qty = parseInt(items[i].qty);
var item_price = parseFloat(items[i].price);
var item_total = parseFloat(item_qty * item_price).toFixed(2);
$("#order-items-table tbody > tr.item_box_"+item_code+"").find("#item_qty").text(item_qty);
$("#order-items-table tbody > tr.item_box_"+item_code+"").find("#item_price").text(item_total);
}
}
//update item qty
//end apend items
var total_price = 0;
var taxable_amount = 0;
var total_discount = 0
var total_tax_amount = 0
var item_row = $('.second_display_items tbody tr');
//calculate Sub Total
$(item_row).each(function(i){
var unit_price = parseFloat($(item_row[i]).attr('data-price'));
var qty = parseFloat($(item_row[i]).children('#item_qty').text());
total_price += qty*unit_price;
});
//calculate Tax Amount
for(var i in tax) {
// substract , to give after discount
var total_tax = total_price - total_discount
// include or execulive
if (tax[i].inclusive){
rate = tax[i].rate
divided_value = (100 + rate)/rate
total_tax_amount = total_tax_amount + (total_tax / divided_value)
}else{
total_tax_amount = total_tax_amount + (total_tax * tax[i].rate / 100)
}
}
//end calculate Tax amount
var fixed_total_price = parseFloat(total_price).toFixed(2);
var fixed_taxable_amount = parseFloat(total_tax_amount).toFixed(2);
var fixed_grand_total = parseFloat(total_price + total_tax_amount).toFixed(2);
$('#s_sub_total').empty();
$('#s_sub_total').append(fixed_total_price);
$('#s_tatal_tax').empty();
$('#s_tatal_tax').append(fixed_taxable_amount);
$('#s_grand_total').empty();
$('#s_grand_total').append(fixed_grand_total);
}
}
});