update addorder modefined
This commit is contained in:
@@ -98,10 +98,10 @@ $(function(){
|
||||
}
|
||||
//end show list function
|
||||
//click item row for item set
|
||||
$(document).on('click', '.set_item_box', function(event){
|
||||
$(".instance-list").empty();
|
||||
$(".options-list").empty();
|
||||
|
||||
$(document).on('click', '.set_item_box', function(event){
|
||||
$(".instance-list").empty();
|
||||
$(".options-list").empty();
|
||||
change_qty_plus_minus("set_count","set_plus","set_minus");
|
||||
data = $(this).parent().children().children('.add_icon');
|
||||
|
||||
instances = $(this).data('instance');
|
||||
@@ -149,6 +149,7 @@ $(function(){
|
||||
// $('#set_total_price').text(data.attr('data-price'));
|
||||
$('#set_total_price').text(0);
|
||||
$('#set_unit_price').text(data.attr('data-price'));
|
||||
// $('#set_unit_price').text(0);
|
||||
});
|
||||
// click instance for add item set
|
||||
$(document).on('click', '.instance_box', function(event){
|
||||
@@ -175,7 +176,7 @@ $(function(){
|
||||
name = $(this).data('name');
|
||||
price = $(this).data('price');
|
||||
// qty = $('#set_change_qty').val();
|
||||
qty = document.getElementById("count").value;
|
||||
qty = document.getElementById("set_count").value;
|
||||
total = qty*price;
|
||||
var total_price = +sub_total - +total;
|
||||
$(this).removeClass('selected-instance');
|
||||
@@ -188,18 +189,19 @@ $(function(){
|
||||
name = $(this).data('name');
|
||||
price = $(this).data('price');
|
||||
// qty = $('#set_change_qty').val();
|
||||
qty = document.getElementById("count").value;
|
||||
qty = document.getElementById("set_count").value;
|
||||
total = qty*price;
|
||||
var total_price = +sub_total + +total;
|
||||
$(this).addClass('selected-instance');
|
||||
}
|
||||
$('#set_unit_price').text(price);
|
||||
$('#set_total_price').text(total_price);
|
||||
}); //End selecct attribute buttom
|
||||
|
||||
// click add order
|
||||
$(document).on('click', '.set_order', function(event){
|
||||
total_price = $('#set_total_price').text();
|
||||
qty = parseInt($('#set_change_qty').val());
|
||||
qty = parseInt($('#set_count').val());
|
||||
item_code = $('#set_item_code').text();
|
||||
item_name = $('#set_name').text();
|
||||
|
||||
@@ -251,6 +253,8 @@ $(function(){
|
||||
$('.add_to_order').removeAttr('data-attributes');
|
||||
$('.add_to_order').removeAttr('data-options');
|
||||
|
||||
change_qty_plus_minus("count","plus","minus");
|
||||
|
||||
data = $(this).parent().children().children('.add_icon');
|
||||
|
||||
$('#total_price').text(data.attr('data-price'));
|
||||
@@ -271,48 +275,44 @@ $(function(){
|
||||
for(var field in instances) {
|
||||
value = instances[field].values;
|
||||
$(value).each(function(i){
|
||||
// options = value[i];
|
||||
// instance_attributes.push(options);
|
||||
$.ajax({
|
||||
type: "GET",
|
||||
url: '../../api/restaurant/menu_item_attributes/'+value[i],
|
||||
data: {id:value[i]},
|
||||
success:function(result){
|
||||
options = value[i];
|
||||
instance_attributes.push(options);
|
||||
// $.ajax({
|
||||
// type: "GET",
|
||||
// url: '../../api/restaurant/menu_item_attributes/'+value[i],
|
||||
// data: {id:value[i]},
|
||||
// success:function(result){
|
||||
|
||||
options = result["name"];
|
||||
instance_attributes.push(options);
|
||||
}
|
||||
});
|
||||
// options = result["name"];
|
||||
// instance_attributes.push(options);
|
||||
// }
|
||||
// });
|
||||
});
|
||||
}
|
||||
|
||||
selected_arr = []
|
||||
$(selected_item).each(function(i){
|
||||
$.ajax({
|
||||
type: "GET",
|
||||
url: '../../api/restaurant/menu_item_attributes/'+selected_item[i],
|
||||
data: {id:selected_item[i]},
|
||||
success:function(result){
|
||||
name = result["name"];
|
||||
selected_arr.push(name);
|
||||
}
|
||||
});
|
||||
});
|
||||
// selected_arr = []
|
||||
// $(selected_item).each(function(i){
|
||||
// $.ajax({
|
||||
// type: "GET",
|
||||
// url: '../../api/restaurant/menu_item_attributes/'+selected_item[i],
|
||||
// data: {id:selected_item[i]},
|
||||
// success:function(result){
|
||||
// name = result["name"];
|
||||
// selected_arr.push(name);
|
||||
// }
|
||||
// });
|
||||
// });
|
||||
|
||||
|
||||
for(var field in attributes) {
|
||||
value = attributes[field]["values"];
|
||||
type = attributes[field]["type"]
|
||||
row = "<h4>"+attributes[field]["type"]+"</h4>";
|
||||
console.log(selected_arr);
|
||||
console.log(value);
|
||||
|
||||
console.log(instance_attributes);
|
||||
|
||||
$(value).each(function(i){
|
||||
disabled = ""
|
||||
status ="";
|
||||
if(parseInt(jQuery.inArray(value[i], selected_arr)) !== -1){
|
||||
if(parseInt(jQuery.inArray(value[i], selected_item)) !== -1){
|
||||
status = "selected-attribute";
|
||||
}
|
||||
if(parseInt(jQuery.inArray(value[i], instance_attributes)) == -1){
|
||||
@@ -351,6 +351,8 @@ $(function(){
|
||||
|
||||
// click select option icon for add
|
||||
$(document).on('click', '.attribute_btn', function(event){
|
||||
|
||||
$('.change_qty').val(1);
|
||||
value = $(this).data('value');
|
||||
type = $(this).data('type');
|
||||
instances = $(this).data('instances');
|
||||
@@ -370,7 +372,7 @@ $(function(){
|
||||
|
||||
var selected_attr = get_selected_attributes('selected-attribute');
|
||||
|
||||
qty = $('#change_qty').val();
|
||||
qty = $('.change_qty').val();
|
||||
|
||||
for(var field in instances) {
|
||||
item_attr = instances[field].values;
|
||||
@@ -677,33 +679,67 @@ $(function(){
|
||||
}
|
||||
});
|
||||
|
||||
var count = 1;
|
||||
var countEl = document.getElementById("count");
|
||||
// Get Selected Class
|
||||
function change_qty_plus_minus(id,plus,minus) {
|
||||
|
||||
$("#plus").on("click", function(){
|
||||
count++;
|
||||
countEl.value = count;
|
||||
var count = 1;
|
||||
var countEl = document.getElementById(id);
|
||||
|
||||
price = $("#unit_price").text();
|
||||
$("#total_price").text(count*price);
|
||||
|
||||
set_price = $("#set_unit_price").text();
|
||||
$("#set_total_price").text(qty*set_price);
|
||||
});
|
||||
|
||||
$("#minus").on("click", function(){
|
||||
if (count > 1) {
|
||||
count--;
|
||||
$('#'+plus).on("click", function(){
|
||||
|
||||
count++;
|
||||
countEl.value = count;
|
||||
|
||||
price = $("#unit_price").text();
|
||||
$("#total_price").text(count*price);
|
||||
|
||||
set_price = $("#set_unit_price").text();
|
||||
$("#set_total_price").text(qty*set_price);
|
||||
}
|
||||
})
|
||||
if (id == "count") {
|
||||
price = $("#unit_price").text();
|
||||
$("#total_price").text(count*price);
|
||||
}else{
|
||||
var item_row = $('.selected-instance');
|
||||
price = $("#set_unit_price").text();
|
||||
set_total_price = $("#set_total_price").text();
|
||||
|
||||
if (item_row.length > 1) {
|
||||
total = 0 ;
|
||||
$(item_row).each(function(i){
|
||||
total += count * $(item_row[i]).attr('data-price');
|
||||
total_price = total;
|
||||
});
|
||||
}else{
|
||||
total_price = count*price;
|
||||
}
|
||||
|
||||
$("#set_total_price").text(total_price);
|
||||
}
|
||||
});
|
||||
|
||||
$('#'+minus).on("click", function(){
|
||||
if (count > 1) {
|
||||
count--;
|
||||
countEl.value = count;
|
||||
|
||||
if (id=="count") {
|
||||
price = $("#unit_price").text();
|
||||
$("#total_price").text(count*price);
|
||||
}else{
|
||||
var item_row = $('.selected-instance');
|
||||
price = $("#set_unit_price").text();
|
||||
set_total_price = $("#set_total_price").text();
|
||||
|
||||
if (item_row.length > 1) {
|
||||
total = 0 ;
|
||||
$(item_row).each(function(i){
|
||||
total += count * $(item_row[i]).attr('data-price');
|
||||
total_price = total;
|
||||
});
|
||||
}else{
|
||||
total_price = count*price;
|
||||
}
|
||||
$("#set_total_price").text(total_price);
|
||||
}
|
||||
}
|
||||
})
|
||||
}
|
||||
// $("#set_change_qty").change(function(){
|
||||
// qty = $(this).val();
|
||||
// price = $("#set_total_price").text();
|
||||
|
||||
@@ -30,10 +30,19 @@ class Origami::AddordersController < BaseOrigamiController
|
||||
else
|
||||
@booking = nil
|
||||
end
|
||||
|
||||
|
||||
end
|
||||
|
||||
def get_menu_category ()
|
||||
if (params[:id])
|
||||
#Pull this menu
|
||||
@menu = MenuCategory.find_by_id(params[:id])
|
||||
return @menu
|
||||
else
|
||||
MenuCategory.current_menu
|
||||
end
|
||||
end
|
||||
|
||||
|
||||
def create
|
||||
Rails.logger.debug "Order Source - " + params[:order_source].to_s
|
||||
Rails.logger.debug "Table ID - " + params[:table_id].to_s
|
||||
|
||||
117
app/views/origami/addorders/_menu_item.json.jbuilder
Normal file
117
app/views/origami/addorders/_menu_item.json.jbuilder
Normal file
@@ -0,0 +1,117 @@
|
||||
# Format for attributes json
|
||||
attr_format = []
|
||||
# Format for attributes json
|
||||
if item.item_attributes.count > 0
|
||||
item.item_attributes.each do|attr_id|
|
||||
menu_attr = MenuItemAttribute.find(attr_id)
|
||||
if attr_format.count == 0
|
||||
attr_format.push({ type: menu_attr.attribute_type, values: [menu_attr.name] })
|
||||
next
|
||||
end
|
||||
|
||||
attr_format.each do |af|
|
||||
if menu_attr.attribute_type.in? attr_format.map {|k| k[:type]}
|
||||
if menu_attr.attribute_type == af[:type]
|
||||
af[:values].push(menu_attr.name)
|
||||
end
|
||||
else
|
||||
new_attr = {type: menu_attr.attribute_type, values: [ menu_attr.name ] }
|
||||
attr_format.push(new_attr)
|
||||
break
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
# Format for option json
|
||||
opt_format = []
|
||||
# Format for attributes json
|
||||
if item.item_options.count > 0
|
||||
item.item_options.each do|opt|
|
||||
menu_opt = MenuItemOption.find(opt)
|
||||
if opt_format.count == 0
|
||||
opt_format.push({ type: menu_opt.option_type, values: [menu_opt.name] })
|
||||
next
|
||||
end
|
||||
|
||||
opt_format.each do |of|
|
||||
if menu_opt.option_type.in? opt_format.map {|k| k[:type]}
|
||||
if menu_opt.option_type == of[:type]
|
||||
of[:values].push(menu_opt.name)
|
||||
end
|
||||
else
|
||||
new_opt = {type: menu_opt.option_type, values: [ menu_opt.name ] }
|
||||
opt_format.push(new_opt)
|
||||
break
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
#Menu Item Information
|
||||
json.id item.id
|
||||
json.code item.item_code
|
||||
json.name item.name
|
||||
json.alt_name item.alt_name
|
||||
json.image item.image_path.url
|
||||
json.description item.description
|
||||
json.information item.information
|
||||
json.type item.type
|
||||
json.account_id item.account_id
|
||||
json.min_qty item.min_qty
|
||||
json.is_available item.is_available
|
||||
json.is_sub_item item.is_sub_item
|
||||
json.unit item.unit
|
||||
|
||||
# Item Sets of Menu Item
|
||||
json.item_sets item.item_sets do |its|
|
||||
json.id its.id
|
||||
json.name its.name
|
||||
json.alt_name its.alt_name
|
||||
json.min_selectable_qty its.min_selectable_qty
|
||||
json.max_selectable_qty its.max_selectable_qty
|
||||
json.instances its.menu_item_instances do |i|
|
||||
json.id i.id
|
||||
end
|
||||
end
|
||||
|
||||
json.attributes attr_format
|
||||
json.options opt_format
|
||||
# json.min_selectable_item item.min_selectable_item
|
||||
# json.max_selectable_item item.max_selectable_item
|
||||
|
||||
#Item instance
|
||||
# if item.menu_item_instances.count == 1 then
|
||||
# item_instance = item.menu_item_instances[0]
|
||||
# json.price = item_instance.price
|
||||
# json.is_available = item_instance.is_available
|
||||
# json.is_on_promotion = item_instance.is_on_promotion
|
||||
# json.promotion_price = item_instance.promotion_price
|
||||
# json.item_attributes = item_instance.item_attributes
|
||||
|
||||
json.instances item.menu_item_instances do |is|
|
||||
# Convert id to name for attributes
|
||||
instance_attr = []
|
||||
is.item_attributes.each do |ia|
|
||||
mItemAttr = MenuItemAttribute.find(ia).name
|
||||
instance_attr.push(mItemAttr)
|
||||
end
|
||||
|
||||
json.id is.id
|
||||
json.code is.item_instance_code
|
||||
json.name is.item_instance_name
|
||||
json.price is.price
|
||||
json.is_available is.is_available
|
||||
json.is_default is.is_default
|
||||
json.is_on_promotion is.is_on_promotion
|
||||
json.promotion_price is.promotion_price
|
||||
json.values instance_attr
|
||||
# json.item_sets is.item_sets
|
||||
end
|
||||
|
||||
#Child Menu items
|
||||
# if (item.children) then
|
||||
# json.set_items item.children.each do |item|
|
||||
# json.partial! 'api/restaurant/menu/menu_item', item: item
|
||||
# end
|
||||
# end
|
||||
@@ -4,7 +4,7 @@
|
||||
<div class="col-lg-2 col-md-2 col-sm-2">
|
||||
<ul class="nav nav-tabs flex-column" role="tablist" >
|
||||
<% @menu.each do |menu| %>
|
||||
<li class="nav-item menu_category" data-ref="<%= api_restaurant_menu_category_path menu.id%>">
|
||||
<li class="nav-item menu_category" data-ref="<%= origami_get_menu_category_path menu.id%>">
|
||||
<p class="hidden menu-id"><%= menu.id %></p>
|
||||
<a class="nav-link" data-toggle="tab" href="" role="tab"> <%= menu.name%></a>
|
||||
|
||||
@@ -178,13 +178,13 @@
|
||||
|
||||
<div class="input-group">
|
||||
<span class="input-group-btn">
|
||||
<button type="button" class="btn btn-danger btn-number" value="-" id="minus">
|
||||
<button type="button" class="btn btn-danger btn-number" value="-" id="set_minus">
|
||||
<span class="glyphicon glyphicon-minus"></span>
|
||||
</button>
|
||||
</span>
|
||||
<input type="text" value="1" id="count" class="set_change_qty form-control col-md-12 ">
|
||||
<input type="text" value="1" id="set_count" class="set_change_qty form-control col-md-12 ">
|
||||
<span class="input-group-btn">
|
||||
<button type="button" class="btn btn-success btn-number" value="+" id="plus">
|
||||
<button type="button" class="btn btn-success btn-number" value="+" id="set_plus">
|
||||
<span class="glyphicon glyphicon-plus"></span>
|
||||
</button>
|
||||
</span>
|
||||
|
||||
@@ -0,0 +1,5 @@
|
||||
if @menu.menu_items
|
||||
json.menu_items @menu.menu_items do |item|
|
||||
json.partial! 'origami/addorders/menu_item', item: item
|
||||
end
|
||||
end
|
||||
@@ -178,8 +178,9 @@ Rails.application.routes.draw do
|
||||
|
||||
post '/:sale_id/get_customer' => "customers#get_customer"
|
||||
|
||||
get '/:addorders/:id' => "addorders#detail"
|
||||
post '/:addorders/create' => "addorders#create", :defaults => { :format => 'json' }
|
||||
get '/:addorders/:id' => "addorders#detail"
|
||||
post '/:addorders/create' => "addorders#create", :defaults => { :format => 'json' }
|
||||
get '/addorders/get_menu_category/:id' => "addorders#get_menu_category",:as => "get_menu_category", :defaults => { :format => 'json' }
|
||||
|
||||
resources :commissions
|
||||
resources :commissioners
|
||||
|
||||
Reference in New Issue
Block a user