merge with addorder

This commit is contained in:
Yan
2017-08-29 18:08:05 +06:30
6 changed files with 220 additions and 60 deletions

View File

@@ -30,61 +30,132 @@ $(function(){
menu_items = data.menu_items; menu_items = data.menu_items;
for(var field in menu_items) { for(var field in menu_items) {
instances = menu_items[field].instances ; if (menu_items[field].is_sub_item == false) {
$(instances).each(function(i){ instances = menu_items[field].instances ;
if (instances[i].is_default === true) { $(instances).each(function(i){
code = instances[i].code; if (instances[i].is_default === true) {
name = instances[i].name; code = instances[i].code;
price = parseFloat(instances[i].price).toFixed(2); name = instances[i].name;
is_available = instances[i].is_available ; price = parseFloat(instances[i].price).toFixed(2);
is_on_promotion = instances[i].is_on_promotion; is_available = instances[i].is_available ;
item_attributes = instances[i].values; is_on_promotion = instances[i].is_on_promotion;
promotion_price = instances[i].promotion_price; item_attributes = instances[i].values;
code = instances[i].code; promotion_price = instances[i].promotion_price;
} code = instances[i].code;
}); }
});
qty = 1; qty = 1;
options = []; options = [];
row = '<div class="card">' if (JSON.stringify(menu_items[field].item_sets)!='[]') {
+'<div class="card-head" style="line-height:14px;">' fa_plus = '';
+'<small class="col-md-9">'+ menu_items[field].name +'</small>' menu_item_box = 'set_item_box';
+"<div class='col-md-3 add_icon' data-item-code='"+ menu_items[field].code +"' data-name='" data_target = 'sx_item_set_detailModal';
+ menu_items[field].name +"' data-qty = '"+ qty +"' data-price = '" }else{
+ price +"' data-instance-code = '"+ code +"' data-instance = '" fa_plus = 'fa-plus';
+ name +"' data-promotion-price = '"+ promotion_price +"' data-attributes = '" menu_item_box = 'menu_item_box';
+ JSON.stringify(item_attributes) +"' data-options = '" data_target = 'sx_item_detailModal'
+ options +"'>" }
+'<i class="fa fa-plus "'
+ 'style="margin-top:4px;">'
+'</i></div>'
+'</div>'
+"<div class='menu_item_box' data-item-code='" row = '<div class="card">'
+ menu_items[field].code +"' data-instance = '" +'<div class="card-head" style="line-height:14px;">'
+JSON.stringify(menu_items[field].instances)+"' data-id = '" +'<small class="col-md-9">'+ menu_items[field].name +'</small>'
+JSON.stringify(menu_items[field].attributes)+"' data-item = '" +"<div class='col-md-3 add_icon' data-item-code='"
+JSON.stringify(item_attributes)+"' data-option = '" + menu_items[field].code +"' data-name='"
+JSON.stringify(menu_items[field].options)+"' data-toggle='modal' data-target='.sx_item_detailModal'>" + 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 = '"
+ options +"'>"
+"<i class='fa "+fa_plus+" '"
+ 'style="margin-top:4px;">'
+'</i></div>'
+'</div>'
+'<div class="card-block">' +"<div class='"+menu_item_box+"' data-item-code='"
+'<img id="logo" src="/image/logo.png">' + 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-item-sets = '"
+JSON.stringify(menu_items[field].item_sets)+"' data-toggle='modal' data-target='."+data_target+"'>"
+'</div>' +"<div class='card-block'>"
+"<img id='logo' src='/image/logo.png'>"
+'<div class="card-footer">' +"</div>"
+'<small>'+ price +'</small>'
+'</div>' +'<div class="card-footer">'
+'</div>'; +'<small>'+ price +'</small>'
$('.menu_items_list').append(row); +'</div>'
+'</div>';
$('.menu_items_list').append(row);
}
} }
} }
}); });
//end Ajax //end Ajax
} }
//end show list function //end show list function
//click item row for add order
$(document).on('click', '.set_item_box', function(event){
$(".instance-list").empty();
data = $(this).parent().children().children('.add_icon');
item_options = $(this).data('option');
for(var field in item_options) {
value = item_options[field]["values"];
type = item_options[field]["type"];
row = "<p style='font-size:15px'>"+type+"</p>"
$(value).each(function(i){
row +="<button class='btn btn-default option_btn "+ type +"' data-type='"+type+"' data-value='"
+value[i]+"'>"+value[i]+"</button>";
});
$(".opt-list").append(row);
}
instances = $(this).data('instance');
item_sets = $(this).data('item-sets');
for(var field in item_sets) {
value = item_sets[field]["instances"];
$(value).each(function(i){
$.ajax({
type: "GET",
url: '../../settings/menu_item_instances/get_instance/'+value[i]["id"],
data: {id:value[i]},
success:function(result){
// var image_path = ""
console.log(result)
row = '<div class="col-md-4 instance_box" >'
+'<div class="card">'
+'<div class="card-head" style="line-height:14px;">'
+'<small class="">'+result["name"]+'</small>'
+'</div>'
+'<div class="card-block">'
+'<img id="" src="/image/logo.png">'
+'</div>'
+'<div class="card-footer">'
+' <small>'+result["price"]+'</small>'
+'</div>'
+'</div>'
+' </div>'
$(".instance-list").append(row);
}
});
});
}
$('#change_qty').val(1);
$('#item_instances').text(instances);
$('#title_name').text(data.attr('data-name'));
$('#item_code').text(data.attr('data-item-code'));
$('#total_price').text(data.attr('data-price'));
$('#unit_price').text(data.attr('data-price'));
});
//click item row for add order //click item row for add order
$(document).on('click', '.menu_item_box', function(event){ $(document).on('click', '.menu_item_box', function(event){
$('.attributes-list').empty(); $('.attributes-list').empty();
@@ -162,11 +233,20 @@ $(function(){
value = $(this).data('value'); value = $(this).data('value');
type = $(this).data('type'); type = $(this).data('type');
instances = $(this).data('instances'); instances = $(this).data('instances');
if ($(".attribute_btn").attr("data-type")==type){
$('.'+type).removeClass("selected-attribute"); attributes = $(".attribute_btn");
} $(attributes).each(function(i){
if ($(attributes[i]).attr('data-type')==type){
$('.'+type).removeClass("selected-attribute");
}
});
$(this).addClass('selected-attribute'); $(this).addClass('selected-attribute');
// if ($(".attribute_btn").attr("data-type")==type){
// $('.'+type).removeClass("selected-attribute");
// }
// $(this).addClass('selected-attribute');
var selected_attr = get_selected_attributes('selected-attribute'); var selected_attr = get_selected_attributes('selected-attribute');
qty = $('#change_qty').val(); qty = $('#change_qty').val();
@@ -191,9 +271,12 @@ $(function(){
$(document).on('click', '.option_btn', function(event){ $(document).on('click', '.option_btn', function(event){
value = $(this).data('value'); value = $(this).data('value');
type = $(this).data('type'); type = $(this).data('type');
if ($(".option_btn").attr("data-type")==type){ options = $(".option_btn");
$('.'+type).removeClass("selected-option"); $(options).each(function(i){
} if ($(options[i]).attr('data-type')==type){
$('.'+type).removeClass("selected-option");
}
});
$(this).addClass('selected-option'); $(this).addClass('selected-option');
}); //End selecct attribute buttom }); //End selecct attribute buttom

View File

@@ -10,7 +10,10 @@
padding:5px; padding:5px;
color :#fff; color :#fff;
} }
.card-block { .instance_box{
margin-bottom:10px;
}
.card-block {
padding: 0.3rem !important; padding: 0.3rem !important;
} }
@media (min-width: 34em) { @media (min-width: 34em) {
@@ -68,7 +71,12 @@
left:auto; left:auto;
right: auto; right: auto;
width: 100%; width: 100%;
padding-top: 200px;
}
element.style {
padding-top: 0px !important;
}
.item-modal{
} }
.selected-attribute { .selected-attribute {
@@ -100,3 +108,11 @@
border: 1px solid #54A5AF; border: 1px solid #54A5AF;
padding: 10px; padding: 10px;
} }
#instance_img{
margin: auto;
width: 80px;
height: 80px;
border: 1px solid #54A5AF;
padding: 10px;
}

View File

@@ -24,6 +24,12 @@ class Settings::MenuItemInstancesController < ApplicationController
@item_sets = ItemSet.all @item_sets = ItemSet.all
end end
def get_instance
@id = MenuItemInstance.find(params[:id])
puts "iddddddddd"
puts @id.to_json
end
# GET /settings/menu_item_instances/1/edit # GET /settings/menu_item_instances/1/edit
def edit def edit
id = MenuItemInstance.findParentCategory(@item) id = MenuItemInstance.findParentCategory(@item)

View File

@@ -56,7 +56,7 @@
</div> </div>
<!-- Modal --> <!-- Modal -->
<div class="modal fade" id="sx_itemModal" tabindex="-1" role="dialog" aria-labelledby="sx_itemModalLabel" aria-hidden="true"> <div class=" modal" id="sx_itemModal" tabindex="-1" role="dialog" aria-labelledby="sx_itemModalLabel" aria-hidden="true" style="">
<div class="modal-dialog" role="document"> <div class="modal-dialog" role="document">
<div class="modal-content"> <div class="modal-content">
<div class="modal-header"> <div class="modal-header">
@@ -93,9 +93,9 @@
</div> </div>
</div> </div>
<!-- Large modal --> <!-- Menu Item modal -->
<div class="modal fade sx_item_detailModal" tabindex="-1" role="dialog" aria-labelledby="myLargeModalLabel" aria-hidden="true"> <div class="item-modal modal sx_item_detailModal" tabindex="-1" role="dialog" aria-labelledby="myLargeModalLabel" aria-hidden="true">
<div class="modal-dialog modal-lg"> <div class="modal-dialog modal-lg">
<div class="modal-content"> <div class="modal-content">
<div class="modal-header" style="background-color: #54A5AF;"> <div class="modal-header" style="background-color: #54A5AF;">
@@ -104,7 +104,7 @@
</div> </div>
<div class="modal-body"> <div class="modal-body">
<div class="row"> <div class="row no-set-item">
<div class="col-md-5"> <div class="col-md-5">
<p style="text-align: center;"> <%= image_tag "logo.png" ,width: '', height: '', :id => 'logo' %></p> <p style="text-align: center;"> <%= image_tag "logo.png" ,width: '', height: '', :id => 'logo' %></p>
<br><br> <br><br>
@@ -120,9 +120,6 @@
<p class="hidden" id="item_code"></p> <p class="hidden" id="item_code"></p>
</div> </div>
<div class="col-md-7 item-detail"> <div class="col-md-7 item-detail">
<!-- <div class="hide attr-alert alert-danger" role="alert">
<strong>Oh !</strong>Have not attribute for this item Please select another attribute .
</div> -->
<strong style="font-size: 18px;">Attributes</strong> <strong style="font-size: 18px;">Attributes</strong>
<div class="attributes-list"> <div class="attributes-list">
@@ -145,3 +142,47 @@
</div> </div>
<!-- Large modal -->
<div class=" modal sx_item_set_detailModal" tabindex="-1" role="dialog" aria-labelledby="myLargeModalLabel" aria-hidden="true" >
<div class="modal-dialog modal-lg">
<div class="modal-content">
<div class="modal-header" style="background-color: #54A5AF;">
<h4 class="modal-title" style="color:#fff;" id="title_name"></h4>
<button type="button" class="close" data-dismiss="modal" aria-hidden="true" style="font-size: 20px;color:#fff;">&times;</button>
</div>
<div class="modal-body">
<div class="row set-item">
<div class="col-md-5">
<div class="form-group">
<label class="col-md-6" style="margin-top:5px">Quantity</label>
<input type="number" name="qty" class="form-control col-md-5 input-number change_qty" id="change_qty" value="" min="1" max="100">
</div>
<p class="hidden" id="unit_price"></p>
<p class="hidden" id="instance_code"></p>
<p class="hidden" id="instance_name"></p>
<p class="hidden" id="promotion_price"></p>
<p class="hidden" id="item_instances"></p>
<p class="hidden" id="item_code"></p>
<p></p>
<div class="opt-list">
<h4>Options</h4>
</div>
</div>
<div class="col-md-7">
<div class="instance-list"></div>
</div>
</div>
</div>
<div class="modal-footer">
<div class="mr-auto">
<h4 class=" pull-left">Total : <span id="total_price"></span></h4>
</div>
<button type="button" class="btn btn-primary" data-dismiss="modal" id="close">Close</button>
<button type="button" class="btn btn-success add_to_order" data-dismiss="modal" id="add_to_order">Add to Order</button>
</div>
</div>
</div>
</div>

View File

@@ -0,0 +1,13 @@
if(@id)
json.success true
json.id @id.id
json.name @id.item_instance_name
json.code @id.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
else
json.success false
end

View File

@@ -304,6 +304,7 @@ Rails.application.routes.draw do
get '/get_transactions_by_commissioner' => 'commissioners#get_transaction_by_commissioner', as:'get_transaction_by_commissioner' get '/get_transactions_by_commissioner' => 'commissioners#get_transaction_by_commissioner', as:'get_transaction_by_commissioner'
get 'menu_item_instances/get_instance/:id' => 'menu_item_instances#get_instance',:as => "show_instance"
end end
# commissions # commissions