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

View File

@@ -18,9 +18,16 @@ class Origami::AddordersController < BaseOrigamiController
if check_mobile if check_mobile
@webview = true @webview = true
end 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_id = params[:id]
@table = DiningFacility.find(@table_id) @table = DiningFacility.find(@table_id)
@booking = @table.get_booking @booking = @table.get_booking
@@ -41,6 +48,10 @@ class Origami::AddordersController < BaseOrigamiController
else else
@booking = nil @booking = nil
end end
respond_to do |format|
format.html { redirect_to origami_addorders_detail_path }
end
end end
def get_menu_category () def get_menu_category ()
@@ -57,7 +68,7 @@ class Origami::AddordersController < BaseOrigamiController
end end
def get_item_instance def get_item_instance
@id = MenuItemInstance.find(params[:id]) @instance = MenuItemInstance.find(params[:id])
end end
def get_menu() def get_menu()
@@ -113,8 +124,6 @@ class Origami::AddordersController < BaseOrigamiController
end end
items_arr.push(items) items_arr.push(items)
} }
puts items_arr.to_json
puts "sssssssssssssssssssssss"
# begin # begin
# if params[:order_source] == "quick_service" # if params[:order_source] == "quick_service"
# customer_id = "CUS-000000000002" # for no customer id from mobile # customer_id = "CUS-000000000002" # for no customer id from mobile

View File

@@ -3,6 +3,8 @@ class Origami::DashboardController < BaseOrigamiController
def index def index
@shop = Shop.first @shop = Shop.first
today = DateTime.now.strftime('%Y-%m-%d') 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() # @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() # @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
end end
def get_all_menu
@menus = Menu.all
end
end end

View File

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

View File

@@ -48,9 +48,9 @@
<!--if type quick_service or cashier for table --> <!--if type quick_service or cashier for table -->
<% if type %> <% if type %>
<% if !menu.code.include? "SPL" %> <% 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> <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 class="sub_category_list hidden fadeInTop animated" id="sub_category_list">
</ul> </ul>
</a> </a>
@@ -85,9 +85,6 @@
</ul> </ul>
</div> </div>
</div> </div>
<div class="col-md-7 col-lg-7 col-sm-7 m-t-10" > <div class="col-md-7 col-lg-7 col-sm-7 m-t-10" >
<div class="card"> <div class="card">
<div class="card-block" style=""> <div class="card-block" style="">

View File

@@ -1,5 +1,5 @@
if(@id) if(@instance)
menu_item = MenuItem.find(@id.menu_item_id) menu_item = MenuItem.find(@instance.menu_item_id)
# Format for option json # Format for option json
opt_format = [] opt_format = []
# Format for attributes json # Format for attributes json
@@ -24,14 +24,14 @@ if(@id)
end end
json.success true json.success true
json.id @id.id json.id @instance.id
json.name @id.item_instance_name json.name @instance.item_instance_name
json.code @id.item_instance_code json.code @instance.item_instance_code
json.item_id @id.menu_item_id json.item_id @instance.menu_item_id
json.attributes @id.item_attributes json.attributes @instance.item_attributes
json.price @id.price json.price @instance.price
json.is_default @id.is_default json.is_default @instance.is_default
json.options opt_format json.options opt_format
else 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> <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"> <input type="hidden" name="server_mode" value="<%=ENV["SERVER_MODE"]%>" id="server_mode">
<script> <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() { $(".cashier_view").on('click', function() {
window.location.href = '/origami'; window.location.href = '/origami';
@@ -223,9 +233,9 @@
window.location.href = '/origami/order_reservation'; window.location.href = '/origami/order_reservation';
}); });
$("#second_view").on('click', function () { $("#second_view").on('click', function () {
var url = $(this).attr("data-href"); var url = $(this).attr("data-href");
window.open(url,'_blank'); window.open(url,'_blank');
}); });
});
</script> </script>

View File

@@ -1010,7 +1010,27 @@
$('#add_order').on('click', function () { $('#add_order').on('click', function () {
var dining_id = "<%= @dining.id %>"; 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 */ /* 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' } post '/check_emp_access_code/:code' => 'home#check_emp_access_code', :defaults => { :format => 'json' }
get "dashboard" => "dashboard#index" get "dashboard" => "dashboard#index"
get "get_all_menu" => "dashboard#get_all_menu"
get "quick_service" => "quick_service#index" 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/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/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' } post '/:addorders/create' => "addorders#create",:as => "addorder_create", :defaults => { :format => 'json' }