update inventory form
This commit is contained in:
@@ -14,6 +14,8 @@ class Inventory::InventoryDefinitionsController < BaseInventoryController
|
|||||||
|
|
||||||
# GET /inventory_definitions/new
|
# GET /inventory_definitions/new
|
||||||
def new
|
def new
|
||||||
|
@menus = Menu.all
|
||||||
|
@menu = MenuCategory.active.where("menu_id =#{@menus[0].id}").order('order_by asc')
|
||||||
@inventory_definition = InventoryDefinition.new
|
@inventory_definition = InventoryDefinition.new
|
||||||
end
|
end
|
||||||
|
|
||||||
@@ -42,6 +44,8 @@ class Inventory::InventoryDefinitionsController < BaseInventoryController
|
|||||||
format.json { render json: @inventory_definition.errors, status: :unprocessable_entity }
|
format.json { render json: @inventory_definition.errors, status: :unprocessable_entity }
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|
||||||
end
|
end
|
||||||
|
|
||||||
# PATCH/PUT /inventory_definitions/1
|
# PATCH/PUT /inventory_definitions/1
|
||||||
|
|||||||
618
app/views/inventory/inventory_definitions/_form.html.erb
Executable file → Normal file
618
app/views/inventory/inventory_definitions/_form.html.erb
Executable file → Normal file
@@ -1,119 +1,551 @@
|
|||||||
<div class="row">
|
<%= stylesheet_link_tag 'addorder', media: 'all', 'data-turbolinks-track': 'reload' %>
|
||||||
<div class="col-xs-12 col-sm-12 col-md-8 col-lg-8">
|
|
||||||
<div class="card">
|
|
||||||
<div class="body">
|
|
||||||
<div class="p-l-10">
|
|
||||||
<%= simple_form_for([:inventory, @inventory_definition]) do |f| %>
|
|
||||||
<%= f.error_notification %>
|
|
||||||
|
|
||||||
<div class="form-inputs">
|
<div class="container-fluid " style="padding:0px 3px 0px 3px;">
|
||||||
|
<div id="oqs_loading_wrapper" style="display:none;">
|
||||||
|
<div id="oqs_loading"></div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="row m-t--20">
|
||||||
|
<div class="col-lg-2 col-md-2 col-sm-2 hidden" id="menu_data">
|
||||||
|
<li class="list-menu">
|
||||||
|
<a href="javascript:void(0);" class="menu-toggle dropdown-toggle toggled my-toggle " style="">
|
||||||
|
|
||||||
|
<span class="main_menu" id="main_menu menu_name" >
|
||||||
|
<%if @menu.present? %>
|
||||||
|
<%=@menus[0].name%>
|
||||||
|
<% end%>
|
||||||
|
</span>
|
||||||
|
</a>
|
||||||
|
<ul class="ml-menu menu_list aria-hidden " style="border-top: 1px solid #fff">
|
||||||
|
<% @menus.each do |menu| %>
|
||||||
|
<li class="nav-item menu_click" data-name="<%=menu.name%>" data-id="<%=menu.id%>" style="">
|
||||||
|
<a class="nav-link" data-toggle="tab" href="" role="tab" style="text-transform: lowercase;"><%=menu.name%></a>
|
||||||
|
</li>
|
||||||
|
<%end%>
|
||||||
|
</ul>
|
||||||
|
</li>
|
||||||
|
<div id="menu1-slimscroll" data-height="0">
|
||||||
|
<ul class="nav nav-tabs flex-column category_list" role="tablist" id="ul-navbar">
|
||||||
|
<li class="nav-item product" data-ref="<%= origami_get_all_product_path %>">
|
||||||
|
<a class="nav-link" data-toggle="tab" href="" role="tab">Products</a>
|
||||||
|
</li>
|
||||||
|
<% @menu.each do |menu| %>
|
||||||
|
<% if !menu.valid_time.nil? %>
|
||||||
|
<% if menu.menu_category_id.nil? %>
|
||||||
|
<!--if type quick_service or cashier for table -->
|
||||||
|
|
||||||
|
|
||||||
|
<% if !menu.code.include? "SPL" %>
|
||||||
|
<li class="nav-item ">
|
||||||
|
<p class="hidden menu-id"><%= menu.id %></p>
|
||||||
|
<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%>
|
||||||
|
</a>
|
||||||
|
<ul class=" sub_category_list hidden fadeInTop animated" id="sub_category_list">
|
||||||
|
</ul>
|
||||||
|
</li>
|
||||||
|
<% end%>
|
||||||
|
|
||||||
|
|
||||||
|
<% end%>
|
||||||
|
<% end %>
|
||||||
|
<%end %>
|
||||||
|
</ul>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
|
||||||
|
<div class="col-lg-2 col-md-2 col-sm-2 hidden" id="menu_cache">
|
||||||
|
<li class="list-menu">
|
||||||
|
<a href="javascript:void(0);" class="menu-toggle dropdown-toggle toggled my-toggle " style="">
|
||||||
|
<span class="main_menu menu_cache_name" id="main_menu menu_cache_name"></span>
|
||||||
|
</a>
|
||||||
|
<ul class="ml-menu menu_list aria-hidden menu_cache_list" style="border-top: 1px solid #fff">
|
||||||
|
</ul>
|
||||||
|
</li>
|
||||||
|
<div id="menu-slimscroll" data-height="0">
|
||||||
|
<ul class="nav nav-tabs flex-column category_list category_cache_list" role="tablist" id="ul-navbar">
|
||||||
|
<li class="nav-item product" data-ref="<%= origami_get_all_product_path %>">
|
||||||
|
<a class="nav-link" data-toggle="tab" href="" role="tab">Products</a>
|
||||||
|
</li>
|
||||||
|
</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="">
|
||||||
|
<div class="card-text" id="custom-slimscroll">
|
||||||
|
<div class="row menu_items_list" style="margin:0px 1px 0px 1px ;">
|
||||||
|
<!-- append data -->
|
||||||
|
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="col-md-3 col-lg-3 col-sm-3 m-t-10">
|
||||||
|
|
||||||
|
<div class="card-header" style="padding: 0.12rem 0.25rem">
|
||||||
|
</div>
|
||||||
|
<div class="card-block">
|
||||||
|
<div class="card-text" id="order-detail-slimscroll" data-height="140">
|
||||||
|
<table class="table table-striped summary-items" id="order-items-table" >
|
||||||
|
<thead>
|
||||||
|
<tr>
|
||||||
|
<th>#</th>
|
||||||
|
<th class="item-name">Items</th>
|
||||||
|
<th class="item-qty">QTY</th>
|
||||||
|
<th class="item-attr">Price</th>
|
||||||
|
</tr>
|
||||||
|
</thead>
|
||||||
|
<tbody class="font-13" >
|
||||||
|
|
||||||
|
</tbody>
|
||||||
|
</table>
|
||||||
|
</div>
|
||||||
|
<div class="card-footer custom-card-footer" style="padding: 0.35rem 0.15rem !important;">
|
||||||
|
|
||||||
|
<table class="table" id="order-charges-table" border="0">
|
||||||
|
<tr>
|
||||||
|
<td colspan="2" style="padding:2px; text-align:" class="charges-name" width="25%"><strong>Total:</strong></td>
|
||||||
|
<td style="padding:2px;" width="15%"><strong id="total_qty">0</strong></td>
|
||||||
|
|
||||||
|
<td style="padding:2px; text-align:" width="25%" class="item-attr"><strong id="sub_total">0.00</strong></td>
|
||||||
|
</tr>
|
||||||
|
</table>
|
||||||
|
|
||||||
|
<button type="button" class="btn btn-primary action-btn create col-md-11" id="create_order" disabled="disabled" style="padding-top:15px !important;padding-bottom:15px !important;">Add Order</button>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<input type="hidden" name="server_mode" value="<%=ENV["SERVER_MODE"]%>" id="server_mode">
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="item-modal modal sx_item_detailModal" id="sx_item_detailModal" tabindex="-1" role="dialog" aria-labelledby="myLargeModalLabel" aria-hidden="true">
|
||||||
|
<div class="modal-dialog custom-modal-dialog modal-lg">
|
||||||
|
<div class="modal-content">
|
||||||
|
<div class="modal-header" style="background-color: #54A5AF;padding-top:10px !important;">
|
||||||
|
<h4 class="modal-title" style="color:#fff;" id="title_name"></h4>
|
||||||
|
<button type="button" class="close" id="close" data-dismiss="modal" aria-hidden="true" style="font-size: 20px;color:#fff;">×</button>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
<div class="modal-body">
|
||||||
|
<div class="row no-set-item">
|
||||||
|
<div class="col-md-12">
|
||||||
|
<p style="text-align: center;" id="modal_box_img"></p>
|
||||||
<div class="row">
|
<div class="row">
|
||||||
<% arr = MenuItem.active.order("name desc").pluck(:name, :item_code) %>
|
<div class="input-group">
|
||||||
<% Product.order("name desc").pluck(:name, :item_code).each do |p| %>
|
<input type="text" value="" id="item_name" class="item_name form-control ">
|
||||||
<% arr.push(p) %>
|
</div>
|
||||||
<% end %>
|
<div class="input-group">
|
||||||
<div class="col-md-4 ">
|
<input type="text" value="1" id="max_qty" class="max_qty form-control ">
|
||||||
<div class="form-group">
|
</div>
|
||||||
<label class="control-label"><abbr title="required">*</abbr>Select Item</label>
|
<div class="input-group">
|
||||||
<select class="form-control item_code_place" id="item">
|
<input type="text" value="1" id="min_qty" class="min_qty form-control">
|
||||||
<% if !@inventory_definition.item_code.nil? %>
|
|
||||||
<% menuiteminstance = MenuItemInstance.find_by_item_instance_code(@inventory_definition.item_code) %>
|
|
||||||
<% if menuiteminstance.nil? %>
|
|
||||||
<% code = @inventory_definition.item_code %>
|
|
||||||
<% else %>
|
|
||||||
<% code = menuiteminstance.menu_item.item_code %>
|
|
||||||
<% end %>
|
|
||||||
<% end %>
|
|
||||||
<option value=""></option>
|
|
||||||
<% arr.each do |a| %>
|
|
||||||
<% if a[1] == code %>
|
|
||||||
<option value="<%= a[1] %>" selected><%= a[0] %></option>
|
|
||||||
<% else %>
|
|
||||||
<option value="<%= a[1] %>"><%= a[0] %></option>
|
|
||||||
<% end %>
|
|
||||||
<% end %>
|
|
||||||
</select>
|
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
<p class="hidden" id="unit_price"></p>
|
||||||
<% sample = [] %>
|
<p class="hidden" id="instance_code"></p>
|
||||||
<% if @inventory_definition.item_code.nil? %>
|
<p class="hidden" id="instance_name"></p>
|
||||||
<% if !MenuItemInstance.find_by_item_instance_code(@inventory_definition.item_code).nil? %>
|
<p class="hidden" id="promotion_price"></p>
|
||||||
<% sample = MenuItemInstance.where("item_instance_code=?", @inventory_definition.item_code).pluck(:item_instance_name, :item_instance_code) %>
|
<p class="hidden" id="item_instances"></p>
|
||||||
<% else %>
|
<p class="hidden" id="item_code"></p>
|
||||||
<% sample = Product.where("item_code=?", @inventory_definition.item_code).pluck(:name, :item_code) %>
|
|
||||||
<% end %>
|
|
||||||
<% end %>
|
|
||||||
<div class="col-md-3"><%= f.input :item_code, collection: sample %></div>
|
|
||||||
</div>
|
</div>
|
||||||
|
<div class="col-md-7 item-detail">
|
||||||
<%= f.input :min_order_level %>
|
<h5>Attributes</h5>
|
||||||
<%= f.input :max_stock_level %>
|
<div class="attributes-list">
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="form-actions">
|
|
||||||
<%= f.submit t("views.btn.submit"), class: 'btn bg-blue waves-effect' %>
|
|
||||||
</div>
|
</div>
|
||||||
|
</div>
|
||||||
<% end %>
|
</div>
|
||||||
|
<div class="modal-footer">
|
||||||
|
<div class="row">
|
||||||
|
<div class="col-md-4">
|
||||||
|
<button type="button" class="btn btn-default " data-dismiss="modal" id="close">Close</button>
|
||||||
|
</div>
|
||||||
|
<div class="col-md-6">
|
||||||
|
<button type="button" class="btn btn-primary add_to_order " data-dismiss="modal" id="add_to_order">Add to Order</button>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="col-xs-12 col-sm-12 col-md-4 col-lg-4">
|
|
||||||
<div class="card">
|
|
||||||
<div class="body">
|
|
||||||
<h5><i class="material-icons md-18">view_headline <%= t("views.right_panel.header.page_detail") %></i> </h5>
|
|
||||||
<p>
|
|
||||||
1) <%= t("views.right_panel.detail.select_item") %> - <%= t("views.right_panel.detail.select_txt") %> <%= t("views.right_panel.detail.item_txt") %> <br>
|
|
||||||
2) <%= t("views.right_panel.detail.item_code") %> - <%= t("views.right_panel.detail.write_txt") %> <%= t("views.right_panel.detail.item_code_txt2") %> <br>
|
|
||||||
3) <%= t("views.right_panel.detail.min_order") %> <%= t("views.right_panel.detail.level") %> - <%= t("views.right_panel.detail.write_txt") %> <%= t("views.right_panel.detail.min_order_level_txt") %> <br>
|
|
||||||
4) <%= t("views.right_panel.detail.max_stock") %> <%= t("views.right_panel.detail.level") %> - <%= t("views.right_panel.detail.write_txt") %><%= t("views.right_panel.detail.max_stock_level_txt") %><br>
|
|
||||||
</p>
|
|
||||||
<h5><i class="material-icons md-18">list <%= t("views.right_panel.header.button_lists") %></i> </h5>
|
|
||||||
<p>
|
|
||||||
1) <%= t("views.btn.submit") %> - <%= t("views.right_panel.detail.create_btn_txt") %> <%= t("views.right_panel.detail.inventory") %> <br>
|
|
||||||
</p>
|
|
||||||
|
|
||||||
<h5><i class="material-icons md-18">list <%= t("views.right_panel.header.link_lists") %></i> </h5>
|
|
||||||
<p>
|
|
||||||
1) <%= t("views.right_panel.button.home") %> - <%= t("views.right_panel.detail.home_txt") %> <br>
|
|
||||||
2) <%= t("views.right_panel.button.back") %> - <%= t("views.right_panel.detail.back_txt") %> <%= t("views.right_panel.detail.home_txt") %> <br>
|
|
||||||
</p>
|
|
||||||
</div>
|
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
<style type="text/css">
|
||||||
|
.fadeInRight{
|
||||||
|
-webkit-animation-duration: 350ms !important;
|
||||||
|
}
|
||||||
|
</style>
|
||||||
<script>
|
<script>
|
||||||
|
var cashier_type = $('#cashier_type').val();
|
||||||
|
|
||||||
|
jQuery(function(){
|
||||||
|
var menus = JSON.parse(localStorage.getItem("menus"));
|
||||||
|
if (menus != null) {
|
||||||
|
var id = menus[0]["categories"][0]["id"];
|
||||||
|
// console.log(id);
|
||||||
|
}else{
|
||||||
|
var id = 1;
|
||||||
|
}
|
||||||
|
jQuery('.first_'+id).click();
|
||||||
|
});
|
||||||
|
|
||||||
$(document).ready(function () {
|
$(document).ready(function () {
|
||||||
// $(".item_code_place").select2({
|
var menus = JSON.parse(localStorage.getItem("menus"));;
|
||||||
// placeholder: 'Select Item'
|
if (menus != null) {
|
||||||
// });
|
console.log("hi")
|
||||||
// $("select#inventory_definition_item_code").select2();
|
menu_cache_append(menus);
|
||||||
|
}else{
|
||||||
|
console.log("sssssss")
|
||||||
|
$("#menu_data").removeClass("hidden");
|
||||||
|
}
|
||||||
|
|
||||||
$(".item_code_place").on('change', function (event) {
|
function menu_cache_append(menus){
|
||||||
var ajax_url = "<%= settings_find_item_instance_path %>";
|
$("#menu_cache").removeClass("hidden");
|
||||||
var item_code = this.value;
|
$(".menu_cache_name").text(menus[0]["name"])
|
||||||
|
for(var i in menus) {
|
||||||
|
menu_list_template(menus[i]);
|
||||||
|
}
|
||||||
|
var category = menus[0]["categories"];
|
||||||
|
|
||||||
|
for(var ii in category) {
|
||||||
|
if (category[ii]["is_available"]== true){
|
||||||
|
if (category[ii]["valid_time"]== true){
|
||||||
|
if (category[ii]["parent_id"] == null ){
|
||||||
|
if (category[ii]["code"].includes("SPL") != true) {
|
||||||
|
category_list_template(category[ii]);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
$(document).on('click', '.menu_click', function(event){
|
||||||
|
|
||||||
|
$('.my-toggle').removeClass('toggled');
|
||||||
|
$('.menu_list').css('display', 'none');
|
||||||
|
var menu_id = $(this).attr("data-id");
|
||||||
|
var name = $(this).attr("data-name");
|
||||||
|
var menus = JSON.parse(localStorage.getItem("menus"));;
|
||||||
|
|
||||||
|
if (menus != null) {
|
||||||
|
console.log("hi")
|
||||||
|
menu_click_cache_append(name,menus,menu_id);
|
||||||
|
}else{
|
||||||
|
console.log("sssdfdf")
|
||||||
|
var url = "/origami/addorders/get_menu/"+menu_id;
|
||||||
|
show_menu_cat_list(name, url);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
//End menu category Click
|
||||||
|
|
||||||
|
function menu_click_cache_append(name,menus,menu_id) {
|
||||||
|
var menu_list = $('.menu_items_list');
|
||||||
|
menu_list.empty();
|
||||||
|
|
||||||
|
var menu_cat = $('.category_list');
|
||||||
|
menu_cat.empty();
|
||||||
|
|
||||||
|
$(".main_menu").text(name);
|
||||||
|
|
||||||
|
for(var i in menus) {
|
||||||
|
|
||||||
|
if (menu_id == menus[i]["id"] && menus[i]["is_active"] == true) {
|
||||||
|
|
||||||
|
// menu_list_template(menus[i]);
|
||||||
|
var category = menus[i]["categories"];
|
||||||
|
|
||||||
|
for(var ii in category) {
|
||||||
|
if (category[ii]["is_available"]== true){
|
||||||
|
if (category[ii]["valid_time"]== true){
|
||||||
|
if (category[ii]["parent_id"] == null ){
|
||||||
|
|
||||||
|
if (category[ii]["code"].includes("SPL") != true) {
|
||||||
|
category_list_template(category[ii]);
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
function category_list_template(menu) {
|
||||||
|
row = '<li class="nav-item">'
|
||||||
|
+'<p class="hidden menu-id">'+menu.id+'</p> '
|
||||||
|
+'<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.sub_category+'">'+menu.name+''
|
||||||
|
+'</a>'
|
||||||
|
+'<ul class="sub_category_list hidden fadeInTop animated" '
|
||||||
|
+'id="sub_category_list">'
|
||||||
|
+'</ul>'
|
||||||
|
|
||||||
|
+' </li>';
|
||||||
|
$(".category_cache_list").append(row);
|
||||||
|
}
|
||||||
|
|
||||||
|
function menu_list_template(menu) {
|
||||||
|
row = '<li class="nav-item menu_click" data-name="'+menu.name+'" '
|
||||||
|
+' data-id="'+menu.id+'" style="">'
|
||||||
|
+' <a class="nav-link" data-toggle="tab" href="" role="tab"'
|
||||||
|
+' style="text-transform: lowercase;">'+menu.name+'</a>'
|
||||||
|
+'</li>';
|
||||||
|
$(".menu_cache_list").append(row);
|
||||||
|
}
|
||||||
|
|
||||||
|
//show menu item list when click menu category
|
||||||
|
function show_menu_cat_list(name, url_item){
|
||||||
|
var menu_list = $('.menu_items_list');
|
||||||
|
menu_list.empty();
|
||||||
|
|
||||||
|
var menu_cat = $('.category_list');
|
||||||
|
menu_cat.empty();
|
||||||
|
|
||||||
|
$(".main_menu").text(name);
|
||||||
|
|
||||||
|
//Start Ajax
|
||||||
$.ajax({
|
$.ajax({
|
||||||
type: "GET",
|
type: "GET",
|
||||||
url: ajax_url,
|
url: url_item,
|
||||||
data: 'item_code=' + item_code,
|
data: {},
|
||||||
success: function (result) {
|
dataType: "json",
|
||||||
$("#inventory_definition_item_code").empty();
|
success: function(data) {
|
||||||
var itemlist;
|
for(var i in data) {
|
||||||
for (var i = 0; i < result.length; i++) {
|
if (data[i].is_available == true) {
|
||||||
itemlist = "<option value ='" + result[i][1] + "'>" + result[i][0] + "</option>";
|
list = '<li class="nav-item menu_category sub_click" data-id="'+ data[i].id +'">'
|
||||||
$("select#inventory_definition_item_code").append(itemlist);
|
+'<p class="hidden menu-id">'+ data[i].id +'</p> '
|
||||||
|
+'<a class="nav-link" data-toggle="tab" href="" role="tab"> '+ data[i].name +''
|
||||||
|
+'<ul class=" sub_category_list hidden fadeInTop animated"'
|
||||||
|
+'id="sub_category_list">'
|
||||||
|
+'</ul>'
|
||||||
|
+'</a>'
|
||||||
|
+'</li>';
|
||||||
|
$('.category_list').append(list);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
// $("select#inventory_definition_item_code").append(itemlist);
|
|
||||||
// $("select#inventory_definition_item_code").select2();
|
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
//end Ajax
|
||||||
|
}
|
||||||
|
//end show list function
|
||||||
|
|
||||||
|
//click menu sidebar menu category
|
||||||
|
$(document).on('click', '.menu_category', function(e){
|
||||||
|
e.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);
|
||||||
|
var sub_id = $(this).attr("data-sub-id");
|
||||||
|
if (sub_id == "true") {
|
||||||
|
var sub_url = "get_menu_sub_category/"+menu_id;
|
||||||
|
sub_category = $(this).siblings('.sub_category_list');
|
||||||
|
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();
|
||||||
|
// $(".menu_sub_category").on("click", function(){
|
||||||
|
$('.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,menu_id){
|
||||||
|
var menu_list = $('.menu_items_list');
|
||||||
|
menu_list.empty();
|
||||||
|
|
||||||
|
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"];
|
||||||
|
show_menu_list(menu_items);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}else{
|
||||||
|
|
||||||
|
//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);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
//end Ajax
|
||||||
|
}
|
||||||
|
}
|
||||||
|
//end show list function
|
||||||
|
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 = 'set_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) {
|
||||||
|
image_path = menu_items[field].image;
|
||||||
|
|
||||||
|
}else{
|
||||||
|
image_path = "image/logo.png";
|
||||||
|
}
|
||||||
|
|
||||||
|
row = '<div class="col-md-3">'
|
||||||
|
+'<div class="card custom-card testimonial-card fadeInRight"'
|
||||||
|
+'data-toggle="modal" data-target=".'+data_target+'" '
|
||||||
|
+'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-10 " style="padding:0px !important;">'+ menu_items[field].name +'</div>'
|
||||||
|
+"<div class='col-md-2 "+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+"' style='padding:0px 5px 0px 5px'>"
|
||||||
|
+"<i class='m-l--5 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>'
|
||||||
|
+'</div>'; ;
|
||||||
|
$('.menu_items_list').append(row);
|
||||||
|
}
|
||||||
|
//end instances in menu-items alest 1 instance
|
||||||
|
}
|
||||||
|
//end is_sub_item false
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
$(document).on('click', '.cashier_number', function(event){
|
||||||
|
if(event.handled !== true) {
|
||||||
|
var original_value;
|
||||||
|
original_value = $('#modal-qty').attr('data-value');
|
||||||
|
original_qty = $('#modal-qty').val();
|
||||||
|
var input_type = $(this).attr("data-type");
|
||||||
|
|
||||||
|
switch (input_type) {
|
||||||
|
case 'num':
|
||||||
|
var input_value = $(this).attr("data-value");
|
||||||
|
if (original_value == "0"){
|
||||||
|
$('#modal-qty').val(input_value);
|
||||||
|
$('#modal-qty').attr('data-value',input_value);
|
||||||
|
// update_total_amount();
|
||||||
|
}else{
|
||||||
|
$('#modal-qty').val(original_qty + input_value);
|
||||||
|
$('#modal-qty').attr('data-value',original_qty + input_value);
|
||||||
|
// update_total_amount();
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
case 'add':
|
||||||
|
|
||||||
|
case 'del' :
|
||||||
|
|
||||||
|
case 'clr':
|
||||||
|
$('#modal-qty').val(1);
|
||||||
|
$('#modal-qty').attr('data-value',0);
|
||||||
|
// update_total_amount();
|
||||||
|
break;
|
||||||
|
|
||||||
|
}
|
||||||
|
event.handled = true;
|
||||||
|
} else {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
});
|
});
|
||||||
|
|
||||||
</script>
|
</script>
|
||||||
119
app/views/inventory/inventory_definitions/as_form.html.erb
Executable file
119
app/views/inventory/inventory_definitions/as_form.html.erb
Executable file
@@ -0,0 +1,119 @@
|
|||||||
|
<div class="row">
|
||||||
|
<div class="col-xs-12 col-sm-12 col-md-8 col-lg-8">
|
||||||
|
<div class="card">
|
||||||
|
<div class="body">
|
||||||
|
<div class="p-l-10">
|
||||||
|
<%= simple_form_for([:inventory, @inventory_definition]) do |f| %>
|
||||||
|
<%= f.error_notification %>
|
||||||
|
|
||||||
|
<div class="form-inputs">
|
||||||
|
<div class="row">
|
||||||
|
<% arr = MenuItem.active.order("name desc").pluck(:name, :item_code) %>
|
||||||
|
<% Product.order("name desc").pluck(:name, :item_code).each do |p| %>
|
||||||
|
<% arr.push(p) %>
|
||||||
|
<% end %>
|
||||||
|
<div class="col-md-4 ">
|
||||||
|
<div class="form-group">
|
||||||
|
<label class="control-label"><abbr title="required">*</abbr>Select Item</label>
|
||||||
|
<select class="form-control item_code_place" id="item">
|
||||||
|
<% if !@inventory_definition.item_code.nil? %>
|
||||||
|
<% menuiteminstance = MenuItemInstance.find_by_item_instance_code(@inventory_definition.item_code) %>
|
||||||
|
<% if menuiteminstance.nil? %>
|
||||||
|
<% code = @inventory_definition.item_code %>
|
||||||
|
<% else %>
|
||||||
|
<% code = menuiteminstance.menu_item.item_code %>
|
||||||
|
<% end %>
|
||||||
|
<% end %>
|
||||||
|
<option value=""></option>
|
||||||
|
<% arr.each do |a| %>
|
||||||
|
<% if a[1] == code %>
|
||||||
|
<option value="<%= a[1] %>" selected><%= a[0] %></option>
|
||||||
|
<% else %>
|
||||||
|
<option value="<%= a[1] %>"><%= a[0] %></option>
|
||||||
|
<% end %>
|
||||||
|
<% end %>
|
||||||
|
</select>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<% sample = [] %>
|
||||||
|
<% if @inventory_definition.item_code.nil? %>
|
||||||
|
<% if !MenuItemInstance.find_by_item_instance_code(@inventory_definition.item_code).nil? %>
|
||||||
|
<% sample = MenuItemInstance.where("item_instance_code=?", @inventory_definition.item_code).pluck(:item_instance_name, :item_instance_code) %>
|
||||||
|
<% else %>
|
||||||
|
<% sample = Product.where("item_code=?", @inventory_definition.item_code).pluck(:name, :item_code) %>
|
||||||
|
<% end %>
|
||||||
|
<% end %>
|
||||||
|
<div class="col-md-3"><%= f.input :item_code, collection: sample %></div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<%= f.input :min_order_level %>
|
||||||
|
<%= f.input :max_stock_level %>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="form-actions">
|
||||||
|
<%= f.submit t("views.btn.submit"), class: 'btn bg-blue waves-effect' %>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<% end %>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="col-xs-12 col-sm-12 col-md-4 col-lg-4">
|
||||||
|
<div class="card">
|
||||||
|
<div class="body">
|
||||||
|
<h5><i class="material-icons md-18">view_headline <%= t("views.right_panel.header.page_detail") %></i> </h5>
|
||||||
|
<p>
|
||||||
|
1) <%= t("views.right_panel.detail.select_item") %> - <%= t("views.right_panel.detail.select_txt") %> <%= t("views.right_panel.detail.item_txt") %> <br>
|
||||||
|
2) <%= t("views.right_panel.detail.item_code") %> - <%= t("views.right_panel.detail.write_txt") %> <%= t("views.right_panel.detail.item_code_txt2") %> <br>
|
||||||
|
3) <%= t("views.right_panel.detail.min_order") %> <%= t("views.right_panel.detail.level") %> - <%= t("views.right_panel.detail.write_txt") %> <%= t("views.right_panel.detail.min_order_level_txt") %> <br>
|
||||||
|
4) <%= t("views.right_panel.detail.max_stock") %> <%= t("views.right_panel.detail.level") %> - <%= t("views.right_panel.detail.write_txt") %><%= t("views.right_panel.detail.max_stock_level_txt") %><br>
|
||||||
|
</p>
|
||||||
|
<h5><i class="material-icons md-18">list <%= t("views.right_panel.header.button_lists") %></i> </h5>
|
||||||
|
<p>
|
||||||
|
1) <%= t("views.btn.submit") %> - <%= t("views.right_panel.detail.create_btn_txt") %> <%= t("views.right_panel.detail.inventory") %> <br>
|
||||||
|
</p>
|
||||||
|
|
||||||
|
<h5><i class="material-icons md-18">list <%= t("views.right_panel.header.link_lists") %></i> </h5>
|
||||||
|
<p>
|
||||||
|
1) <%= t("views.right_panel.button.home") %> - <%= t("views.right_panel.detail.home_txt") %> <br>
|
||||||
|
2) <%= t("views.right_panel.button.back") %> - <%= t("views.right_panel.detail.back_txt") %> <%= t("views.right_panel.detail.home_txt") %> <br>
|
||||||
|
</p>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
|
||||||
|
<script>
|
||||||
|
|
||||||
|
$(document).ready(function () {
|
||||||
|
// $(".item_code_place").select2({
|
||||||
|
// placeholder: 'Select Item'
|
||||||
|
// });
|
||||||
|
// $("select#inventory_definition_item_code").select2();
|
||||||
|
|
||||||
|
$(".item_code_place").on('change', function (event) {
|
||||||
|
var ajax_url = "<%= settings_find_item_instance_path %>";
|
||||||
|
var item_code = this.value;
|
||||||
|
$.ajax({
|
||||||
|
type: "GET",
|
||||||
|
url: ajax_url,
|
||||||
|
data: 'item_code=' + item_code,
|
||||||
|
success: function (result) {
|
||||||
|
$("#inventory_definition_item_code").empty();
|
||||||
|
var itemlist;
|
||||||
|
for (var i = 0; i < result.length; i++) {
|
||||||
|
itemlist = "<option value ='" + result[i][1] + "'>" + result[i][0] + "</option>";
|
||||||
|
$("select#inventory_definition_item_code").append(itemlist);
|
||||||
|
}
|
||||||
|
// $("select#inventory_definition_item_code").append(itemlist);
|
||||||
|
// $("select#inventory_definition_item_code").select2();
|
||||||
|
}
|
||||||
|
});
|
||||||
|
});
|
||||||
|
|
||||||
|
});
|
||||||
|
|
||||||
|
</script>
|
||||||
@@ -7,7 +7,7 @@ class CreatePaymentMethodSettings < ActiveRecord::Migration[5.1]
|
|||||||
t.string :gateway_url
|
t.string :gateway_url
|
||||||
t.string :auth_token
|
t.string :auth_token
|
||||||
t.string :merchant_account_id
|
t.string :merchant_account_id
|
||||||
t.string :additional_parameters
|
t.json :additional_parameters
|
||||||
t.timestamps
|
t.timestamps
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|||||||
Reference in New Issue
Block a user