update cache menu

This commit is contained in:
Aung Myo
2018-05-08 15:47:11 +06:30
parent be9218dd79
commit 2d73e63e7b
12 changed files with 634 additions and 248 deletions

View File

@@ -96,162 +96,298 @@ $(function() {
}
//end show list function
//click menu sidebar menu category
$(document).on('click', '.menu_category', function(event){
event.preventDefault();
$('.menu_category').on("click", function(){
// event.preventDefault();
$('.sub_category_list').addClass("hidden");
var menu_id = $(this).attr("data-id");
var url = "get_menu_category/"+menu_id;
show_menu_item_list(url);
var url = "get_menu_category/"+menu_id;
show_menu_item_list(url,menu_id);
var sub_id = $(this).attr("data-sub-id");
if (sub_id == "true") {
var sub_url = "get_menu_sub_category/"+menu_id;
sub_category = $(this).find('.sub_category_list');
show_sub_category_list(sub_url,sub_category);
show_sub_category_list(sub_url,sub_category,menu_id);
}
});
});
//End menu category Click
//click menu sidebar menu category
$(document).on('click', '.menu_sub_category', function(event){
event.preventDefault();
$('.sub_category_list').addClass("hidden");
var menu_id = $(this).attr("data-id");
var url = "get_menu_category/"+menu_id;
show_menu_item_list(url,menu_id);
});
//End menu category Click
//show menu item list when click menu category
function show_menu_item_list(url_item){
function show_menu_item_list(url_item,menu_id){
var menu_list = $('.menu_items_list');
menu_list.empty();
type = window.location.href.indexOf("quick_service");
modify_order = window.location.href.indexOf("modify_order");
if (type != -1 && modify_order != -1) {
url_item = '../../../addorders/'+url_item;
}if(modify_order == -1 && type != -1){
url_item = 'addorders/'+url_item;
}
if (type ==-1 && modify_order == -1){
url_item = url_item
}
menus = JSON.parse(localStorage.getItem("menus"));
if (menus != null) {
for(var i in menus) {
var categories = menus[i]["categories"];
for(var ii in categories) {
if (categories[ii]["id"] == menu_id) {
var menu_items = categories[ii]["items"];
// for(var field in menu_items) {
// if (menu_items[field].is_sub_item == false) {
// instances = menu_items[field].instances ;
//Start Ajax
$.ajax({
type: "GET",
url: url_item,
data: {},
dataType: "json",
success: function(data) {
var menu_items_list = $('.menu_items_list');
menu_items_list.empty();
menu_items = data.menu_items;
// if (!instances.length > 0) {
// swal("Hello Please Check!","Does not have instance item in this menu items ("+ menu_items[field].name+")","warning");
// }
// if (instances.length > 0) {
// qty = 1;
// options = [];
// price = 0;
for(var field in menu_items) {
if (menu_items[field].is_sub_item == false) {
instances = menu_items[field].instances ;
// if (JSON.stringify(menu_items[field].item_sets)!='[]') {
// fa_plus = '';
// add = '';
// menu_item_box = 'add_icon';
// data_target = 'sx_item_set_detailModal';
// data_modal = 'modal'
// add_icon = "set_item_box"
// code = menu_items[field].code;
// name = menu_items[field].name;
// instances = menu_items[field].instances;
// $(instances).each(function(i){
// if (instances[i].is_default == true) {
// price = parseFloat(instances[i].price).toFixed(2);
// }else{
// price = 0;
// }
// });
// is_available = menu_items[field].is_available ;
// is_on_promotion = 0;
// item_attributes = menu_items[field].attributes;
// promotion_price = menu_items[field].promotion_price;
// }else{
// fa_plus = 'material-icons';
// add = 'view_list'
// menu_item_box = 'menu_item_box';
// data_target = 'sx_item_detailModal';
// data_modal = ''
// add_icon = "add_icon"
if (!instances.length > 0) {
swal("Hello Please Check!","Does not have instance item in this menu items ("+ menu_items[field].name+")","warning");
}
if (instances.length > 0) {
qty = 1;
options = [];
price = 0;
// $(instances).each(function(i){
// if (instances[i].is_default === true) {
// code = instances[i].code;
// name = instances[i].name;
// price = parseFloat(instances[i].price).toFixed(2);
// is_available = instances[i].is_available ;
// is_on_promotion = instances[i].is_on_promotion;
// item_attributes = instances[i].values;
// promotion_price = instances[i].promotion_price;
// code = instances[i].code;
// }
// });
// }
if (JSON.stringify(menu_items[field].item_sets)!='[]') {
fa_plus = '';
add = '';
menu_item_box = 'add_icon';
data_target = 'sx_item_set_detailModal';
data_modal = 'modal'
add_icon = "set_item_box"
code = menu_items[field].code;
name = menu_items[field].name;
instances = menu_items[field].instances;
$(instances).each(function(i){
if (instances[i].is_default == true) {
price = parseFloat(instances[i].price).toFixed(2);
}else{
price = 0;
}
});
is_available = menu_items[field].is_available ;
is_on_promotion = 0;
item_attributes = menu_items[field].attributes;
promotion_price = menu_items[field].promotion_price;
}else{
fa_plus = 'material-icons';
add = 'view_list'
menu_item_box = 'menu_item_box';
data_target = 'sx_item_detailModal';
data_modal = ''
add_icon = "add_icon"
// if (menu_items[field].image) {
// if (modify_order) {
// image_path = "../../"+menu_items[field].image;
// }else{
// image_path = menu_items[field].image;
// }
// }else{
// if (modify_order) {
// image_path = "../../image/logo.png";
// }else{
// image_path = "image/logo.png";
// }
// }
$(instances).each(function(i){
if (instances[i].is_default === true) {
code = instances[i].code;
name = instances[i].name;
price = parseFloat(instances[i].price).toFixed(2);
is_available = instances[i].is_available ;
is_on_promotion = instances[i].is_on_promotion;
item_attributes = instances[i].values;
promotion_price = instances[i].promotion_price;
code = instances[i].code;
}
});
}
// row = '<div class="card custom-card testimonial-card fadeInRight" style="height:100%;background-image:url(../../'+image_path+');background-repeat: no-repeat;">'
// +'<div class="custom-card-head card-head row" style="line-height:14px;margin:0px;" style="">'
// +'<div class="col-md-9">'+ menu_items[field].name +'</div>'
// +"<div class='col-md-3 "+menu_item_box+"' data-item-code='"
// + menu_items[field].code +"' data-instance = '"
// +JSON.stringify(menu_items[field].instances)+"' data-id = '"
// +JSON.stringify(menu_items[field].attributes)+"' data-item = '"
// +JSON.stringify(item_attributes)+"' data-option = '"
// +JSON.stringify(menu_items[field].options)+"'data-opt = '"
// +JSON.stringify(menu_items[field].options)+"' data-item-sets = '"
// +JSON.stringify(menu_items[field].item_sets)+"' data-toggle='modal' data-target='."+data_target+"' >"
// +"<i class='fa "+fa_plus+" '>"
// +add+ '</i>'
// +'</div>'
// +'</div>'
// +"<div class='"+add_icon+" p-t-65 m-r-' data-item-code='"
// + menu_items[field].code +"' data-name='"
// + menu_items[field].name +"' data-qty = '"+ qty +"' data-price = '"
// + price +"' data-instance-code = '"+ code +"' data-instance = '"
// + name +"' data-promotion-price = '"+ promotion_price +"' data-attributes = '"
// + JSON.stringify(item_attributes) +"' data-options = '"
// + JSON.stringify(menu_items[field].options) +"' data-opt = '"
// + JSON.stringify(menu_items[field].options) +"' data-image='"+image_path+"' data-toggle='"
// +data_modal+"' data-target='."+data_target+"' data-item-sets = '"
// +JSON.stringify(menu_items[field].item_sets)+"'data-instances = '"
// +JSON.stringify(menu_items[field].instances)+"'>"
if (menu_items[field].image) {
if (modify_order) {
image_path = "../../"+menu_items[field].image;
}else{
image_path = menu_items[field].image;
}
}else{
if (modify_order) {
image_path = "../../image/logo.png";
}else{
image_path = "image/logo.png";
}
}
// // +"<div class='card-block custom-card-block'>"
// // +"<img id='logo' height='' src='"+image_path+"'>"
// // +"</div>"
row = '<div class="card custom-card testimonial-card fadeInRight" style="height:100%;background-image:url(../../'+image_path+');background-repeat: no-repeat;">'
+'<div class="custom-card-head card-head row" style="line-height:14px;margin:0px;" style="">'
+'<div class="col-md-9">'+ menu_items[field].name +'</div>'
+"<div class='col-md-3 "+menu_item_box+"' data-item-code='"
+ menu_items[field].code +"' data-instance = '"
+JSON.stringify(menu_items[field].instances)+"' data-id = '"
+JSON.stringify(menu_items[field].attributes)+"' data-item = '"
+JSON.stringify(item_attributes)+"' data-option = '"
+JSON.stringify(menu_items[field].options)+"'data-opt = '"
+JSON.stringify(menu_items[field].options)+"' data-item-sets = '"
+JSON.stringify(menu_items[field].item_sets)+"' data-toggle='modal' data-target='."+data_target+"' >"
+"<i class='fa "+fa_plus+" '>"
+add+ '</i>'
+'</div>'
+'</div>'
+"<div class='"+add_icon+" p-t-65 m-r-' data-item-code='"
+ menu_items[field].code +"' data-name='"
+ menu_items[field].name +"' data-qty = '"+ qty +"' data-price = '"
+ price +"' data-instance-code = '"+ code +"' data-instance = '"
+ name +"' data-promotion-price = '"+ promotion_price +"' data-attributes = '"
+ JSON.stringify(item_attributes) +"' data-options = '"
+ JSON.stringify(menu_items[field].options) +"' data-opt = '"
+ JSON.stringify(menu_items[field].options) +"' data-image='"+image_path+"' data-toggle='"
+data_modal+"' data-target='."+data_target+"' data-item-sets = '"
+JSON.stringify(menu_items[field].item_sets)+"'data-instances = '"
+JSON.stringify(menu_items[field].instances)+"'>"
// +"<div class='card-block custom-card-block'>"
// +"<img id='logo' height='' src='"+image_path+"'>"
// +"</div>"
+'<div class="card-footer custom-card-footer" style="opacity:0.7">'
+'<span>'+ price +'</span>'
+'</div>'
+'</div>';
$('.menu_items_list').append(row);
}
//end instances in menu-items alest 1 instance
// +'<div class="card-footer custom-card-footer" style="opacity:0.7">'
// +'<span>'+ price +'</span>'
// +'</div>'
// +'</div>';
// $('.menu_items_list').append(row);
// }
// //end instances in menu-items alest 1 instance
// }
// //end is_sub_item false
// }
show_menu_list(menu_items);
}
//end is_sub_item false
}
}
});
//end Ajax
}else{
type = window.location.href.indexOf("quick_service");
modify_order = window.location.href.indexOf("modify_order");
if (type != -1 && modify_order != -1) {
url_item = '../../../addorders/'+url_item;
}if(modify_order == -1 && type != -1){
url_item = 'addorders/'+url_item;
}
if (type ==-1 && modify_order == -1){
url_item = url_item
}
//Start Ajax
$.ajax({
type: "GET",
url: url_item,
data: {},
dataType: "json",
success: function(data) {
var menu_items_list = $('.menu_items_list');
menu_items_list.empty();
menu_items = data.menu_items;
show_menu_list(menu_items);
// for(var field in menu_items) {
// if (menu_items[field].is_sub_item == false) {
// instances = menu_items[field].instances ;
// if (!instances.length > 0) {
// swal("Hello Please Check!","Does not have instance item in this menu items ("+ menu_items[field].name+")","warning");
// }
// if (instances.length > 0) {
// qty = 1;
// options = [];
// price = 0;
// if (JSON.stringify(menu_items[field].item_sets)!='[]') {
// fa_plus = '';
// add = '';
// menu_item_box = 'add_icon';
// data_target = 'sx_item_set_detailModal';
// data_modal = 'modal'
// add_icon = "set_item_box"
// code = menu_items[field].code;
// name = menu_items[field].name;
// instances = menu_items[field].instances;
// $(instances).each(function(i){
// if (instances[i].is_default == true) {
// price = parseFloat(instances[i].price).toFixed(2);
// }else{
// price = 0;
// }
// });
// is_available = menu_items[field].is_available ;
// is_on_promotion = 0;
// item_attributes = menu_items[field].attributes;
// promotion_price = menu_items[field].promotion_price;
// }else{
// fa_plus = 'material-icons';
// add = 'view_list'
// menu_item_box = 'menu_item_box';
// data_target = 'sx_item_detailModal';
// data_modal = ''
// add_icon = "add_icon"
// $(instances).each(function(i){
// if (instances[i].is_default === true) {
// code = instances[i].code;
// name = instances[i].name;
// price = parseFloat(instances[i].price).toFixed(2);
// is_available = instances[i].is_available ;
// is_on_promotion = instances[i].is_on_promotion;
// item_attributes = instances[i].values;
// promotion_price = instances[i].promotion_price;
// code = instances[i].code;
// }
// });
// }
// if (menu_items[field].image) {
// if (modify_order) {
// image_path = "../../"+menu_items[field].image;
// }else{
// image_path = menu_items[field].image;
// }
// }else{
// if (modify_order) {
// image_path = "../../image/logo.png";
// }else{
// image_path = "image/logo.png";
// }
// }
// row = '<div class="card custom-card testimonial-card fadeInRight" style="height:100%;background-image:url(../../'+image_path+');background-repeat: no-repeat;">'
// +'<div class="custom-card-head card-head row" style="line-height:14px;margin:0px;" style="">'
// +'<div class="col-md-9">'+ menu_items[field].name +'</div>'
// +"<div class='col-md-3 "+menu_item_box+"' data-item-code='"
// + menu_items[field].code +"' data-instance = '"
// +JSON.stringify(menu_items[field].instances)+"' data-id = '"
// +JSON.stringify(menu_items[field].attributes)+"' data-item = '"
// +JSON.stringify(item_attributes)+"' data-option = '"
// +JSON.stringify(menu_items[field].options)+"'data-opt = '"
// +JSON.stringify(menu_items[field].options)+"' data-item-sets = '"
// +JSON.stringify(menu_items[field].item_sets)+"' data-toggle='modal' data-target='."+data_target+"' >"
// +"<i class='fa "+fa_plus+" '>"
// +add+ '</i>'
// +'</div>'
// +'</div>'
// +"<div class='"+add_icon+" p-t-65 m-r-' data-item-code='"
// + menu_items[field].code +"' data-name='"
// + menu_items[field].name +"' data-qty = '"+ qty +"' data-price = '"
// + price +"' data-instance-code = '"+ code +"' data-instance = '"
// + name +"' data-promotion-price = '"+ promotion_price +"' data-attributes = '"
// + JSON.stringify(item_attributes) +"' data-options = '"
// + JSON.stringify(menu_items[field].options) +"' data-opt = '"
// + JSON.stringify(menu_items[field].options) +"' data-image='"+image_path+"' data-toggle='"
// +data_modal+"' data-target='."+data_target+"' data-item-sets = '"
// +JSON.stringify(menu_items[field].item_sets)+"'data-instances = '"
// +JSON.stringify(menu_items[field].instances)+"'>"
// // +"<div class='card-block custom-card-block'>"
// // +"<img id='logo' height='' src='"+image_path+"'>"
// // +"</div>"
// +'<div class="card-footer custom-card-footer" style="opacity:0.7">'
// +'<span>'+ price +'</span>'
// +'</div>'
// +'</div>';
// $('.menu_items_list').append(row);
// }
// //end instances in menu-items alest 1 instance
// }
// //end is_sub_item false
// }
}
});
//end Ajax
}
}
//end show list function
//click item row for item set
@@ -274,55 +410,95 @@ $(function() {
value = item_sets[field]["instances"];
$(value).each(function(i){
if (type != -1 && modify_order != -1) {
url = '../../../addorders/get_item_instance/'+value[i]["id"];
console.log("ssssssss")
}
if(modify_order == -1 && type != -1){
url = 'addorders/get_item_instance/'+value[i]["id"] ;
console.log("aaaaaa")
}
if (type ==-1 && modify_order == -1){
url = '../addorders/get_item_instance/'+value[i]["id"];
console.log("cccccccccc")
}
$.ajax({
type: "GET",
url: url,
// data: {id:value[i]},
success:function(result){
row = '<div class="col-md-4 " >'
+"<div class='card custom-card instance_box' data-name='"+result["name"]
+"' data-code='"+result["code"]
+"' data-price='"+result["price"]
+"' data-option='"+JSON.stringify(result["options"])
+"' data-min-qty='"+item_sets[field]["min_selectable_qty"]
+"' data-max-qty='"+item_sets[field]["max_selectable_qty"]
+"' data-parent-code='"+instances[0]['code']
+"' data-parent-id='"+instances[0]['id']
+"' data-sub-item='true"
+"'>"
+'<div class="custom-card-head card-head" style="line-height:14px;">'
+'<span class="">'+result["name"]+'</span>'
menus = JSON.parse(localStorage.getItem("menus"));
if (menus != null) {
for(var i in menus) {
var categories = menus[i]["categories"];
for(var ii in categories) {
var items = categories[ii]["items"];
for(var iii in items) {
var result = items[iii]["instances"];
for(var iv in result) {
if (value[i]["id"] == result[iv]["id"]) {
row = '<div class="col-md-4 " >'
+"<div class='card custom-card instance_box' data-name='"+result[iv]["name"]
+"' data-code='"+result[iv]["code"]
+"' data-price='"+result[iv]["price"]
+"' data-option='"+JSON.stringify(items[iii]["options"])
+"' data-min-qty='"+item_sets[field]["min_selectable_qty"]
+"' data-max-qty='"+item_sets[field]["max_selectable_qty"]
+"' data-parent-code='"+instances[0]['code']
+"' data-parent-id='"+instances[0]['id']
+"' data-sub-item='true"
+"'>"
+'<div class="custom-card-head card-head" style="line-height:14px;">'
+'<span class="">'+result[iv]["name"]+'</span>'
+'</div>'
+'<div class="card-block custom-card-block">'
+'<img id="" src="/image/logo.png" height="40px">'
+' <small style="float:" id="instance_option"></small>'
+'</div>'
+'<div class="card-footer custom-card-footer">'
+' <span>'+result[iv]["price"]+'</span>'
// +' <small style="float:right" id="instance_option"></small>'
+'</div>'
+'</div>'
+'<div class="card-block custom-card-block">'
+'<img id="" src="/image/logo.png" height="40px">'
+' <small style="float:" id="instance_option"></small>'
+'</div>'
+'<div class="card-footer custom-card-footer">'
+' <span>'+result["price"]+'</span>'
// +' <small style="float:right" id="instance_option"></small>'
+'</div>'
+'</div>'
+' </div>'
$(".instance-list").append(row);
+' </div>'
$(".instance-list").append(row);
}
}
}
}
});
}
}else{
if (type != -1 && modify_order != -1) {
url = '../../../addorders/get_item_instance/'+value[i]["id"];
console.log("ssssssss")
}
if(modify_order == -1 && type != -1){
url = 'addorders/get_item_instance/'+value[i]["id"] ;
console.log("aaaaaa")
}
if (type ==-1 && modify_order == -1){
url = '../addorders/get_item_instance/'+value[i]["id"];
console.log("cccccccccc")
}
$.ajax({
type: "GET",
url: url,
// data: {id:value[i]},
success:function(result){
row = '<div class="col-md-4 " >'
+"<div class='card custom-card instance_box' data-name='"+result["name"]
+"' data-code='"+result["code"]
+"' data-price='"+result["price"]
+"' data-option='"+JSON.stringify(result["options"])
+"' data-min-qty='"+item_sets[field]["min_selectable_qty"]
+"' data-max-qty='"+item_sets[field]["max_selectable_qty"]
+"' data-parent-code='"+instances[0]['code']
+"' data-parent-id='"+instances[0]['id']
+"' data-sub-item='true"
+"'>"
+'<div class="custom-card-head card-head" style="line-height:14px;">'
+'<span class="">'+result["name"]+'</span>'
+'</div>'
+'<div class="card-block custom-card-block">'
+'<img id="" src="/image/logo.png" height="40px">'
+' <small style="float:" id="instance_option"></small>'
+'</div>'
+'<div class="card-footer custom-card-footer">'
+' <span>'+result["price"]+'</span>'
// +' <small style="float:right" id="instance_option"></small>'
+'</div>'
+'</div>'
+' </div>'
$(".instance-list").append(row);
}
});
}
});
}
@@ -442,10 +618,8 @@ $(function() {
$(document).on('click', '#remove_set', function(event){
code = $(this).parent().parent('.selected-set').attr('data-code');
instance = $(".selected-instance");
console.log(code)
$(instance).each(function(i){
if ($(instance[i]).attr('data-code')==code){
console.log($(instance[i]))
$(instance[i]).removeClass("selected-instance")
}
});
@@ -496,7 +670,6 @@ $(function() {
var rowCount = $('.summary-items tbody tr').length+1;
var set_option = []
$(items).each(function(i){
console.log($(items[0]).attr('data-name'))
code = $(items[i]).attr('data-code');
name = $(items[i]).attr('data-name');
price = $(items[i]).attr('data-price');
@@ -754,7 +927,6 @@ $(function() {
attribute_arr = get_selected_attributes('selected-attribute');
option_arr = get_selected_attributes('selected-option');
console.log(option_arr)
if (item_row.length>0) {
var instances = jQuery.parseJSON(item_row.attr('data-instances'));
@@ -990,7 +1162,6 @@ $(function() {
dataType: "json",
success:function(result){
if (result.status) {
console.log(result)
if (result.data == null){
swal({
title: "Please Open Shift !",
@@ -1243,54 +1414,70 @@ $(function() {
var menu_id = $(this).attr("data-id");
var url = "get_menu_sub_category/"+menu_id;
sub_category = $(this).find('.sub_category_list');
show_sub_category_list(url,sub_category);
show_sub_category_list(url,sub_category,menu_id);
});
//End menu category Click
//show menu item list when click menu category
function show_sub_category_list(url,sub_category){
if (type != -1 && modify_order != -1) {
var url = "../../../addorders/"+url;
}if(modify_order== -1 && type != -1){
var url = 'addorders/'+url;
}
if (type ==-1 && modify_order == -1){
var url = url;
}
function show_sub_category_list(url,sub_category,menu_id){
var menu_list = $('.sub_category_list');
menu_list.empty();
//Start Ajax
$.ajax({
type: "GET",
url: url,
data: {},
dataType: "json",
success: function(data) {
var sub_category_list = $('.sub_category_list');
sub_category_list.empty();
data = data.sub_category;
if (data.length>0) {
// if ((sub_category.hasClass('hidden'))) {
menus = JSON.parse(localStorage.getItem("menus"));
if (menus != null) {
for(var j in menus) {
var categories = menus[j]["categories"];
for(var ii in categories) {
if (menu_id == categories[ii]["parent_id"]) {
var sub_category_list = $('.sub_category_list');
sub_category_list.empty();
$(sub_category).removeClass('hidden');
// }else{
// $(sub_category).addClass('hidden');
// }
for(var i in data) {
row = '<li class="menu_category fadeInTop" data-id="'+data[i].id+'">'
+'<a class="nav-link" data-toggle="tab" href="" role="tab">'+ data[i].name+'</a>'
+'</li>' ;
$(sub_category).append(row);
//end is_sub_item false
}
row = '<li class="menu_sub_category fadeInTop" data-id="'+categories[ii].id+'">'
+'<a class="nav-link" data-toggle="tab" href="" role="tab">'+ categories[ii].name+'</a>'
+'</li>' ;
$(sub_category).append(row);
}
}
}
});
//end Ajax
}else{
if (type != -1 && modify_order != -1) {
var url = "../../../addorders/"+url;
}if(modify_order== -1 && type != -1){
var url = 'addorders/'+url;
}
if (type ==-1 && modify_order == -1){
var url = url;
}
//Start Ajax
$.ajax({
type: "GET",
url: url,
data: {},
dataType: "json",
success: function(data) {
var sub_category_list = $('.sub_category_list');
sub_category_list.empty();
data = data.sub_category;
if (data.length > 0) {
// if ((sub_category.hasClass('hidden'))) {
$(sub_category).removeClass('hidden');
// }else{
// $(sub_category).addClass('hidden');
// }
for(var i in data) {
row = '<li class="menu_category fadeInTop" data-id="'+data[i].id+'">'
+'<a class="nav-link" data-toggle="tab" href="" role="tab">'+ data[i].name+'</a>'
+'</li>' ;
$(sub_category).append(row);
//end is_sub_item false
}
}
}
});
//end Ajax
}
}
/* Get Item rows */
@@ -1378,5 +1565,119 @@ $(function() {
// price = $("#unit_price").text();
// $("#total_price").text(qty*price);
// });
function show_menu_list(menu_items) {
var menu_list = $('.menu_items_list');
menu_list.empty();
for(var field in menu_items) {
if (menu_items[field].is_sub_item == false) {
instances = menu_items[field].instances ;
if (!instances.length > 0) {
swal("Hello Please Check!","Does not have instance item in this menu items ("+ menu_items[field].name+")","warning");
}
if (instances.length > 0) {
qty = 1;
options = [];
price = 0;
if (JSON.stringify(menu_items[field].item_sets)!='[]') {
fa_plus = '';
add = '';
menu_item_box = 'add_icon';
data_target = 'sx_item_set_detailModal';
data_modal = 'modal'
add_icon = "set_item_box"
code = menu_items[field].code;
name = menu_items[field].name;
instances = menu_items[field].instances;
$(instances).each(function(i){
if (instances[i].is_default == true) {
price = parseFloat(instances[i].price).toFixed(2);
}else{
price = 0;
}
});
is_available = menu_items[field].is_available ;
is_on_promotion = 0;
item_attributes = menu_items[field].attributes;
promotion_price = menu_items[field].promotion_price;
}else{
fa_plus = 'material-icons';
add = 'view_list'
menu_item_box = 'menu_item_box';
data_target = 'sx_item_detailModal';
data_modal = ''
add_icon = "add_icon"
$(instances).each(function(i){
if (instances[i].is_default === true) {
code = instances[i].code;
name = instances[i].name;
price = parseFloat(instances[i].price).toFixed(2);
is_available = instances[i].is_available ;
is_on_promotion = instances[i].is_on_promotion;
item_attributes = instances[i].values;
promotion_price = instances[i].promotion_price;
code = instances[i].code;
}
});
}
if (menu_items[field].image) {
if (modify_order) {
image_path = "../../"+menu_items[field].image;
}else{
image_path = menu_items[field].image;
}
}else{
if (modify_order) {
image_path = "../../image/logo.png";
}else{
image_path = "image/logo.png";
}
}
row = '<div class="card custom-card testimonial-card fadeInRight" style="height:100%;background-image:url(../../'+image_path+');background-repeat: no-repeat;">'
+'<div class="custom-card-head card-head row" style="line-height:14px;margin:0px;" style="">'
+'<div class="col-md-9">'+ menu_items[field].name +'</div>'
+"<div class='col-md-3 "+menu_item_box+"' data-item-code='"
+ menu_items[field].code +"' data-instance = '"
+JSON.stringify(menu_items[field].instances)+"' data-id = '"
+JSON.stringify(menu_items[field].attributes)+"' data-item = '"
+JSON.stringify(item_attributes)+"' data-option = '"
+JSON.stringify(menu_items[field].options)+"'data-opt = '"
+JSON.stringify(menu_items[field].options)+"' data-item-sets = '"
+JSON.stringify(menu_items[field].item_sets)+"' data-toggle='modal' data-target='."+data_target+"' >"
+"<i class='fa "+fa_plus+" '>"
+add+ '</i>'
+'</div>'
+'</div>'
+"<div class='"+add_icon+" p-t-65 m-r-' data-item-code='"
+ menu_items[field].code +"' data-name='"
+ menu_items[field].name +"' data-qty = '"+ qty +"' data-price = '"
+ price +"' data-instance-code = '"+ code +"' data-instance = '"
+ name +"' data-promotion-price = '"+ promotion_price +"' data-attributes = '"
+ JSON.stringify(item_attributes) +"' data-options = '"
+ JSON.stringify(menu_items[field].options) +"' data-opt = '"
+ JSON.stringify(menu_items[field].options) +"' data-image='"+image_path+"' data-toggle='"
+data_modal+"' data-target='."+data_target+"' data-item-sets = '"
+JSON.stringify(menu_items[field].item_sets)+"'data-instances = '"
+JSON.stringify(menu_items[field].instances)+"'>"
// +"<div class='card-block custom-card-block'>"
// +"<img id='logo' height='' src='"+image_path+"'>"
// +"</div>"
+'<div class="card-footer custom-card-footer" style="opacity:0.7">'
+'<span>'+ price +'</span>'
+'</div>'
+'</div>';
$('.menu_items_list').append(row);
}
//end instances in menu-items alest 1 instance
}
//end is_sub_item false
}
}
});

View File

@@ -11,7 +11,10 @@ class Api::Restaurant::MenuController < Api::ApiController
# to hash
menu_array = []
all_menu.each do |m|
menu_array.push(m.to_json(:include => {:menu_categories => { :include => { :menu_items => { :include => [:menu_item_sets, :menu_item_instances => {:include => :menu_instance_item_sets}]} } }}))
menu_array.push(m.to_json(:include => {:menu_categories =>
{ :include => { :menu_items =>
{ :include => [:menu_item_sets, :menu_item_instances =>
{ :include => :menu_instance_item_sets}]} } }}))
end
#export Checksum file generate by md5

View File

@@ -18,9 +18,16 @@ class Origami::AddordersController < BaseOrigamiController
if check_mobile
@webview = true
end
@menus = Menu.all
@menu = MenuCategory.active.where("menu_id =#{@menus[0].id}").order('order_by asc')
if params[:menus].present?
@menus = JSON.parse(params[:menus], object_class: OpenStruct)
puts @menus.to_json
@menu = MenuCategory.active.where("menu_id =#{@menus[0].id}").order('order_by asc')
else
@menus = Menu.all
@menu = MenuCategory.active.where("menu_id =#{@menus[0].id}").order('order_by asc')
end
@table_id = params[:id]
@table = DiningFacility.find(@table_id)
@booking = @table.get_booking
@@ -41,6 +48,10 @@ class Origami::AddordersController < BaseOrigamiController
else
@booking = nil
end
respond_to do |format|
format.html { redirect_to origami_addorders_detail_path }
end
end
def get_menu_category ()
@@ -57,7 +68,7 @@ class Origami::AddordersController < BaseOrigamiController
end
def get_item_instance
@id = MenuItemInstance.find(params[:id])
@instance = MenuItemInstance.find(params[:id])
end
def get_menu()
@@ -113,8 +124,6 @@ class Origami::AddordersController < BaseOrigamiController
end
items_arr.push(items)
}
puts items_arr.to_json
puts "sssssssssssssssssssssss"
# begin
# if params[:order_source] == "quick_service"
# customer_id = "CUS-000000000002" # for no customer id from mobile

View File

@@ -3,6 +3,8 @@ class Origami::DashboardController < BaseOrigamiController
def index
@shop = Shop.first
today = DateTime.now.strftime('%Y-%m-%d')
# @orders = Sale::where("payment_status='new' and sale_status='bill' and DATE_FORMAT(receipt_date,'%Y-%m-%d') = '#{today}'").count()
# @sales = Sale::where("payment_status='paid' and sale_status='completed' and DATE_FORMAT(receipt_date,'%Y-%m-%d') = '#{today}'").count()
@@ -81,4 +83,8 @@ class Origami::DashboardController < BaseOrigamiController
end
end
def get_all_menu
@menus = Menu.all
end
end

View File

@@ -81,7 +81,7 @@ class MenuCategory < ApplicationRecord
def get_sub_category
menu_category = MenuCategory.find_by_menu_category_id(self.id)
if menu_category
if !menu_category.nil?
return true
end
return false

View File

@@ -48,9 +48,9 @@
<!--if type quick_service or cashier for table -->
<% if type %>
<% if !menu.code.include? "SPL" %>
<li class="nav-item menu_category sub_click first_<%=menu.id%>" data-id="<%=menu.id%>" data-sub-id="<%=menu.get_sub_category%>">
<li class="nav-item">
<p class="hidden menu-id"><%= menu.id %></p>
<a class="nav-link" data-toggle="tab" href="" role="tab"> <%= menu.name%>
<a class="nav-link menu_category sub_click first_<%=menu.id%>" data-toggle="tab" href="" role="tab" data-id="<%=menu.id%>" data-sub-id="<%=menu.get_sub_category%>"> <%= menu.name%>
<ul class="sub_category_list hidden fadeInTop animated" id="sub_category_list">
</ul>
</a>
@@ -85,9 +85,6 @@
</ul>
</div>
</div>
<div class="col-md-7 col-lg-7 col-sm-7 m-t-10" >
<div class="card">
<div class="card-block" style="">

View File

@@ -1,5 +1,5 @@
if(@id)
menu_item = MenuItem.find(@id.menu_item_id)
if(@instance)
menu_item = MenuItem.find(@instance.menu_item_id)
# Format for option json
opt_format = []
# Format for attributes json
@@ -24,14 +24,14 @@ if(@id)
end
json.success true
json.id @id.id
json.name @id.item_instance_name
json.code @id.item_instance_code
json.id @instance.id
json.name @instance.item_instance_name
json.code @instance.item_instance_code
json.item_id @id.menu_item_id
json.attributes @id.item_attributes
json.price @id.price
json.is_default @id.is_default
json.item_id @instance.menu_item_id
json.attributes @instance.item_attributes
json.price @instance.price
json.is_default @instance.is_default
json.options opt_format
else

View File

@@ -0,0 +1,24 @@
json.id menu.id
json.name menu.name
json.is_active menu.is_active
json.valid_time_from menu.valid_time_from.strftime("%H:%M")
json.valid_time_to menu.valid_time_to.strftime("%H:%M")
if (menu.menu_categories)
json.categories menu.menu_categories do |category|
json.id category.id
json.code category.code
json.order_by category.order_by
json.name category.name
json.alt_name category.alt_name
json.order_by category.order_by
json.parent_id category.menu_category_id
json.is_available category.is_available
if category.menu_items
json.items category.menu_items do |item|
json.partial! 'origami/addorders/menu_item', item: item
end
end
end
end

View File

@@ -0,0 +1,15 @@
menu_json = json.array! @menus do |menu|
json.id menu.id
json.name menu.name
json.valid_days menu.valid_days
json.valid_time_from menu.valid_time_from.strftime("%H:%M")
json.valid_time_to menu.valid_time_to.strftime("%H:%M")
json.partial! 'origami/dashboard/menu', menu: menu
# if (@current_menu)
# json.current_menu do
# json.partial! 'api/restaurant/menu/menu', menu: @current_menu
# end
# end
end

View File

@@ -207,6 +207,16 @@
<button type="button" data-href="<%=origami_second_display_index_path%>" target="_blank" id="second_view" class="btn action-btn bg-blue waves-effect second_view hidden" style="height: 45px">Customer View</button>
<input type="hidden" name="server_mode" value="<%=ENV["SERVER_MODE"]%>" id="server_mode">
<script>
$(function() {
localStorage.removeItem("menus");
$.ajax({
type: "GET",
url: 'get_all_menu',
data: {},
success:function(result){
localStorage.setItem("menus", JSON.stringify(result));
}
});
$(".cashier_view").on('click', function() {
window.location.href = '/origami';
@@ -223,9 +233,9 @@
window.location.href = '/origami/order_reservation';
});
$("#second_view").on('click', function () {
$("#second_view").on('click', function () {
var url = $(this).attr("data-href");
window.open(url,'_blank');
});
});
</script>

View File

@@ -1010,7 +1010,27 @@
$('#add_order').on('click', function () {
var dining_id = "<%= @dining.id %>";
window.location.href = '/origami/addorders/' + dining_id;
var menus = JSON.parse(localStorage.getItem("menus"));
var menu_arr = [];
if (menus != null) {
for(var i in menus) {
var arr = {};
arr.id = menus[i]["id"];
arr.name = menus[i]["name"];
menu_arr.push(arr);
}
}
menu_arr = JSON.stringify(menu_arr);
console.log(menu_arr)
$.ajax({
type: 'POST',
data: {menus: menu_arr},
url: '/origami/addorders/' + dining_id,
success: function(data) {
}
});
//window.location.href = '/origami/addorders/' + dining_id+'/'+data;
});
/* check in process */

View File

@@ -97,6 +97,7 @@ scope "(:locale)", locale: /en|mm/ do
post '/check_emp_access_code/:code' => 'home#check_emp_access_code', :defaults => { :format => 'json' }
get "dashboard" => "dashboard#index"
get "get_all_menu" => "dashboard#get_all_menu"
get "quick_service" => "quick_service#index"
@@ -237,7 +238,7 @@ scope "(:locale)", locale: /en|mm/ do
get '/addorders/get_menu_sub_category/:id' => "addorders#get_menu_sub_category",:as => "get_menu_sub_category", :defaults => { :format => 'json' }
get '/addorders/products/list' => "addorders#get_all_product",:as => "get_all_product", :defaults => { :format => 'json' }
get '/:addorders/:id' => "addorders#detail"
post '/:addorders/:id' => "addorders#detail", as: 'addorders_detail'
post '/:addorders/create' => "addorders#create",:as => "addorder_create", :defaults => { :format => 'json' }