change order reservation
This commit is contained in:
@@ -18,25 +18,8 @@ App.check_new_order = App.cable.subscriptions.create('CheckNewOrderChannel', {
|
||||
});
|
||||
|
||||
// alert(order_lists);
|
||||
swal({
|
||||
html: true,
|
||||
title: 'Information',
|
||||
target: document.getElementById('notify_new_order'),
|
||||
text: "You have new orders. <br/>"+
|
||||
"Are you accept or reject for these orders <b>"+order_lists+"</b>?",
|
||||
type: 'success',
|
||||
timer: 1000,
|
||||
closeOnConfirm: false,
|
||||
closeOnCancel: false,
|
||||
allowOutsideClick: false
|
||||
},function(isConfirm){
|
||||
if(isConfirm){
|
||||
swal.close();
|
||||
}
|
||||
});
|
||||
// $("#notify_new_orderLabel").text("You have new orders.");
|
||||
// $("#notify_new_orderBody").text("Are you accept or reject for these orders <b>"+order_lists+"</b>?");
|
||||
// $("#notify_new_order").modal({show: true, keyboard: false, backdrop: false});
|
||||
$("#notify_new_order_lists").text(order_lists);
|
||||
$("#notify_new_order").modal({show: true, keyboard: false, backdrop: false});
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
@@ -18,26 +18,8 @@ App.check_order_ready_to_delivery = App.cable.subscriptions.create('CheckOrderRe
|
||||
});
|
||||
|
||||
// alert(order_lists);
|
||||
swal({
|
||||
html: true,
|
||||
title: 'Information',
|
||||
target: document.getElementById('notify_order_ready_to_delivery'),
|
||||
text: "You have orders that are ready to deliver. <br/>"+
|
||||
"Could you ready these orders <b>"+order_lists+"</b> to deliver?",
|
||||
type: 'success',
|
||||
timer: 1000,
|
||||
closeOnConfirm: false,
|
||||
closeOnCancel: false,
|
||||
allowOutsideClick: false
|
||||
},function(isConfirm){
|
||||
if(isConfirm){
|
||||
swal.close();
|
||||
}
|
||||
});
|
||||
|
||||
// $("#notify_order_ready_to_deliveryLabel").text("You have orders that are ready to deliver.");
|
||||
// $("#notify_order_ready_to_deliveryBody").text("Could you ready these orders <b>"+order_lists+"</b> to deliver?");
|
||||
// $("#notify_order_ready_to_delivery").modal({show: true, keyboard: false, backdrop: false});
|
||||
$("#notify_order_ready_to_delivery_lists").text(order_lists);
|
||||
$("#notify_order_ready_to_delivery").modal({show: true, keyboard: false, backdrop: false});
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
@@ -18,25 +18,8 @@ App.check_order_send_to_kitchen = App.cable.subscriptions.create('CheckOrderSend
|
||||
});
|
||||
|
||||
// alert(order_lists);
|
||||
swal({
|
||||
html: true,
|
||||
title: 'Information',
|
||||
target: document.getElementById('notify_order_send_to_kitchen'),
|
||||
text: "You have to send order to kitchen. <br/>"+
|
||||
"Could you send these orders <b>"+order_lists+"</b> to kitchen?",
|
||||
type: 'success',
|
||||
timer: 1000,
|
||||
closeOnConfirm: false,
|
||||
closeOnCancel: false,
|
||||
allowOutsideClick: false
|
||||
},function(isConfirm){
|
||||
if(isConfirm){
|
||||
swal.close();
|
||||
}
|
||||
});
|
||||
// $("#notify_order_send_to_kitchenLabel").text("You have to send order to kitchen.");
|
||||
// $("#notify_order_send_to_kitchenBody").text("Could you send these orders <b>"+order_lists+"</b> to kitchen?");
|
||||
// $("#notify_order_send_to_kitchen").modal({show: true, keyboard: false, backdrop: false});
|
||||
$("#notify_order_send_to_kitchen_lists").text(order_lists);
|
||||
$("#notify_order_send_to_kitchen").modal({show: true, keyboard: false, backdrop: false});
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
@@ -11,6 +11,8 @@ $(function() {
|
||||
$(".nav-item").on("click", function(){
|
||||
type = $(this).attr("data-type");
|
||||
refreshDetailData();
|
||||
$('#accepted').show();
|
||||
$('#cancel').show();
|
||||
if (type == "pending") {
|
||||
$(".first-1").click();
|
||||
$('#accepted').text("ACCEPT");
|
||||
@@ -27,7 +29,11 @@ $(function() {
|
||||
$(".fourth-1").click();
|
||||
$('#accepted').text("PICK-UP");
|
||||
$('#accepted').attr("data-value","completed");
|
||||
}
|
||||
}else if(type == "processed"){
|
||||
$(".fifth-1").click();
|
||||
$('#accepted').hide();
|
||||
$('#cancel').hide();
|
||||
}
|
||||
// console.log(type);
|
||||
});
|
||||
|
||||
@@ -36,7 +42,6 @@ $(function() {
|
||||
$("#status").text($(this).attr("data-value"));
|
||||
var requested_time = $("#requested_date_time").text();
|
||||
$("#requested_order_time").text(requested_time);
|
||||
showTimePicker(requested_time);
|
||||
$("#waiting_timeModal").modal({show : true, backdrop: false, keyboard : false});
|
||||
}else{
|
||||
var status = $(this).attr("data-value");
|
||||
@@ -48,38 +53,106 @@ $(function() {
|
||||
});
|
||||
|
||||
$("#cancel").on("click", function(){
|
||||
var status = $(this).attr("data-value");
|
||||
var order_status = $("#order_status").text();
|
||||
$("#status").text($(this).attr("data-value"));
|
||||
if(order_status!="new" && order_status!= "accepted"){
|
||||
$("#AccessCodeModal").modal({show: true, backdrop: false, keyboard: false});
|
||||
}else{
|
||||
$("#rejected_reasonModal").modal({show: true, backdrop: false, keyboard: false});
|
||||
}
|
||||
});
|
||||
|
||||
$(".send_status").on("click",function(){
|
||||
var status = $("#status").text();
|
||||
var order_id = $('#order_id').text();
|
||||
var callback = $('#callback_url').text();
|
||||
var ref_no = $('#ref_no').text();
|
||||
callback_url(callback,ref_no,order_id,status);
|
||||
var reason = $('#reject_reason').val();
|
||||
var approved_code = $("#approved_code").text();
|
||||
callback_url(callback,ref_no,order_id,status,"","","",reason,approved_code);
|
||||
});
|
||||
|
||||
$("#save").on("click",function(){
|
||||
$("#waiting_timeErr").text("");
|
||||
$(".timer_type").on("click",function(){
|
||||
if($(this).hasClass("selected-item")){
|
||||
$(this).removeClass("selected-item");
|
||||
}else{
|
||||
$(this).addClass("selected-item");
|
||||
}
|
||||
});
|
||||
|
||||
$(".time_interval").on("click",function(){
|
||||
var type = '';
|
||||
if($(".timer_type").hasClass("selected-item")){
|
||||
type = '+';
|
||||
}
|
||||
var minutes = $(this).attr("data-value");
|
||||
// console.log(type);
|
||||
// console.log($(this).attr("data-value"));
|
||||
|
||||
var status = $("#status").text();
|
||||
var order_id = $('#order_id').text();
|
||||
var ref_no = $('#ref_no').text();
|
||||
var callback = $('#callback_url').text();
|
||||
var requested_time = new Date($("#requested_date_time").text());
|
||||
var date_time = requested_time.getFullYear()+'-'+(requested_time.getMonth() > 10? requested_time.getMonth() : '0'+ (requested_time.getMonth() + 1))+'-'+(requested_time.getDate()> 10? requested_time.getDate() : '0' + requested_time.getDate());
|
||||
var waiting_time = new Date(date_time+' '+$("#waiting_time").val());
|
||||
// requested_time.setHours(requested_time.getHours() - 1);
|
||||
// console.log(requested_time);
|
||||
// console.log(date_time);
|
||||
if(waiting_time.getTime() < requested_time.getTime()){
|
||||
var time_diff = (requested_time.getTime() - waiting_time.getTime());
|
||||
var expected_time = (Math.floor(time_diff) / 1000) / 60;
|
||||
if(type == '+'){
|
||||
requested_time.setMinutes(requested_time.getMinutes() + minutes);
|
||||
}else{
|
||||
var time_diff = (waiting_time.getTime() - requested_time.getTime());
|
||||
var expected_time = (Math.floor(time_diff) / 1000) / 60;
|
||||
// $("#waiting_time").val("");
|
||||
// $("#waiting_timeErr").text("Expected waiting time is greater than requested time!");
|
||||
requested_time.setMinutes(requested_time.getMinutes() - minutes);
|
||||
}
|
||||
console.log(requested_time);
|
||||
callback_url(callback,ref_no,order_id,status,type,minutes,requested_time);
|
||||
});
|
||||
|
||||
$(document).on('click','.access_number', function(event){
|
||||
if(event.handled !== true) {
|
||||
var original_value = $('#access_code').val();
|
||||
var input_type = $(this).attr("data-type");
|
||||
|
||||
switch (input_type) {
|
||||
case 'num':
|
||||
var input_value = $(this).attr("data-value");
|
||||
if (original_value){
|
||||
$('#access_code').val(original_value + input_value);
|
||||
}else{
|
||||
$('#access_code').val(original_value + input_value);
|
||||
}
|
||||
break;
|
||||
case 'ok':
|
||||
var type = $(this).attr("data-action");
|
||||
code = $('#access_code').val();
|
||||
check_emp_access_code(code,type)
|
||||
break;
|
||||
case 'clr':
|
||||
$('#access_code').val("");
|
||||
break;
|
||||
}
|
||||
event.handled = true;
|
||||
} else {
|
||||
return false;
|
||||
}
|
||||
callback_url(callback,ref_no,order_id,status,expected_time,waiting_time);
|
||||
});
|
||||
});
|
||||
|
||||
function check_emp_access_code(access_code,type) {
|
||||
var url = "/origami/check_emp_access_code/" + access_code ;
|
||||
$.ajax({
|
||||
type: 'POST',
|
||||
url: url,
|
||||
data: {},
|
||||
success: function (result) {
|
||||
console.log(result)
|
||||
if (result.status == true) {
|
||||
// createAccessCode(code);
|
||||
$("#approved_code").text(code);
|
||||
$('#AccessCodeModal').modal('hide');
|
||||
$("#rejected_reasonModal").modal({show: true, backdrop: false, keyboard: false});
|
||||
}else{
|
||||
swal("Opps",result.message,"warning")
|
||||
}
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
function customTableClick(){
|
||||
$(".custom-table .custom-tr").on("click", function(){
|
||||
$(".custom-tr").removeClass("tr-active");
|
||||
@@ -96,6 +169,7 @@ function refreshDetailData(){
|
||||
$("#sr_number").text("");
|
||||
$("#delivery_info").text("");
|
||||
$("#contact_info").text("");
|
||||
$("#invoice_no").text("");
|
||||
$('.summary-items').html("");
|
||||
$('#sub_total').text("0.00");
|
||||
$('#delivery_fee').text("0.00");
|
||||
@@ -184,6 +258,7 @@ function show_order_detail(url,sr_no){
|
||||
$('#callback_url').text(data.callback_url);
|
||||
$('#order_id').text(data.order_reservation_id);
|
||||
|
||||
$("#trans_ref").text(data.transaction_ref);
|
||||
if(delivery.delivery_type == "service"){
|
||||
$("#delivery_info").text("(DELIVERY)");
|
||||
}else if(delivery.delivery_type == "pick_up"){
|
||||
@@ -197,11 +272,13 @@ function show_order_detail(url,sr_no){
|
||||
}else if(data.reservation_remark!=null && data.reservation_remark!=""){
|
||||
$("#order_remark").text(data.reservation_remark);
|
||||
}
|
||||
|
||||
$("#sr_number").text("NO."+sr_no);
|
||||
$("#order_status").text(data.status);
|
||||
if (data["receipt_no"]) {
|
||||
$("#contact_info").text(data["receipt_no"]);
|
||||
$("#invoice_no").text(data["receipt_no"]);
|
||||
}else{
|
||||
$("#contact_info").text(data["order_reservation_id"]);
|
||||
$("#invoice_no").text(data["order_reservation_id"]);
|
||||
}
|
||||
|
||||
}
|
||||
@@ -211,40 +288,42 @@ function show_order_detail(url,sr_no){
|
||||
//end Ajax
|
||||
}
|
||||
|
||||
function showTimePicker(requested_time){
|
||||
// var date = new Date(requested_time);
|
||||
// var time = timeFormat(date);
|
||||
// console.log(time);
|
||||
$('.timepicker').bootstrapMaterialDatePicker({
|
||||
format: 'HH:mm',
|
||||
useSeconds: false,
|
||||
clearButton: true,
|
||||
date: false
|
||||
});
|
||||
}
|
||||
|
||||
function callback_url(callback,ref_no,order_id,status,time,exptime){
|
||||
function callback_url(callback,ref_no,order_id,status,min_type,time,exptime,reason,approved_code){
|
||||
var url = 'order_reservation/update';
|
||||
var post_url = "order_reservation/send_status";
|
||||
var waiting_time = "";
|
||||
var expected_time = "";
|
||||
var type = "";
|
||||
var reject_reason = "";
|
||||
var access_code = "";
|
||||
if(time!=undefined && time!=""){
|
||||
waiting_time = time;
|
||||
}
|
||||
var expected_time = "";
|
||||
if(exptime!=undefined && exptime!=""){
|
||||
expected_time = exptime;
|
||||
}
|
||||
if(min_type!=undefined && min_type!=""){
|
||||
type = min_type;
|
||||
}
|
||||
if(reason!=undefined && reason!=""){
|
||||
reject_reason = reason;
|
||||
}
|
||||
if(approved_code!=undefined && approved_code!=""){
|
||||
access_code = approved_code;
|
||||
}
|
||||
|
||||
$.ajax({
|
||||
type: "POST",
|
||||
url: post_url,
|
||||
data: {url: callback, ref_no: ref_no, status: status, waiting_time: waiting_time},
|
||||
data: {url: callback, ref_no: ref_no, status: status, waiting_time: waiting_time, min_type: type, reason: reject_reason},
|
||||
dataType: "json",
|
||||
success: function(data) {
|
||||
if(data.status){
|
||||
$.ajax({
|
||||
type: "POST",
|
||||
url: url,
|
||||
data: {'order_id': order_id, 'status': status, 'expected_time' : expected_time},
|
||||
data: {order_id: order_id, status: status, expected_time: expected_time, remark: reason, access_code: access_code},
|
||||
dataType: "json",
|
||||
success: function(data) {
|
||||
if (data.status) {
|
||||
@@ -294,8 +373,13 @@ function showNewOrder(order_reservation){
|
||||
var date = new Date(order_reservation.requested_time);
|
||||
var time = timeFormat(date);
|
||||
var requested_date = date.getFullYear() + '-' + (date.getMonth() > 10? date.getMonth() : '0' + (date.getMonth() + 1)) +'-'+ (date.getDate() > 10? date.getDate() : '0' + date.getDate()) +' '+time;
|
||||
//audio play
|
||||
var audio = new Audio('/beep-07.wav'); // define your audio
|
||||
audio.play();
|
||||
// setTimeout(function(){
|
||||
// audio.loop = true;
|
||||
audio.play();
|
||||
// },10000);
|
||||
|
||||
swal({
|
||||
html: true,
|
||||
title: 'Information',
|
||||
|
||||
@@ -6,23 +6,27 @@ class Api::OrderReserve::OrderReservationController < Api::ApiController
|
||||
|
||||
def check_customer
|
||||
customer_id = 0
|
||||
status = false
|
||||
if !params[:name]
|
||||
render :json => { :status => false, :message => "name is required!" }
|
||||
elsif !params[:email]
|
||||
render :json => { :status => false, :message => "email is required!" }
|
||||
elsif !params[:membership_id]
|
||||
render :json => { :status => false, :message => "membership_id is required!" }
|
||||
end
|
||||
|
||||
check_customer = Customer.find_by_email_and_membership_id(params[:email],params[:membership_id])
|
||||
if !check_customer.nil?
|
||||
customer_id = check_customer.customer_id
|
||||
else
|
||||
customer = Customer.addCustomer(params)
|
||||
customer_id = customer.id
|
||||
status = true
|
||||
end
|
||||
|
||||
render :json => { :status => true, :data => { :customer_id => customer_id} }
|
||||
if status
|
||||
check_customer = Customer.find_by_email_and_membership_id(params[:email],params[:membership_id])
|
||||
if !check_customer.nil?
|
||||
customer_id = check_customer.customer_id
|
||||
else
|
||||
customer = Customer.addCustomer(params)
|
||||
customer_id = customer.id
|
||||
end
|
||||
render :json => { :status => true, :data => { :customer_id => customer_id} }
|
||||
end
|
||||
end
|
||||
|
||||
def create
|
||||
|
||||
@@ -8,7 +8,9 @@ class Origami::OrderReservationController < BaseOrigamiController
|
||||
def update
|
||||
@id = params[:order_id]
|
||||
@status = params[:status]
|
||||
expected_waiting_time = params[:expected_time]
|
||||
expected_waiting_time = params[:expected_time]
|
||||
remark = params[:remark]
|
||||
access_code = params[:access_code]
|
||||
@order_reservation = OrderReservation.find(@id)
|
||||
|
||||
status = true
|
||||
@@ -23,8 +25,8 @@ class Origami::OrderReservationController < BaseOrigamiController
|
||||
elsif @status == "completed"
|
||||
result = OrderReservation.update_doemal_payment(@order_reservation,current_user)
|
||||
else
|
||||
if @status == "cancel"
|
||||
OrderReservation.update_order_reservation(@id, nil, "cancelled")
|
||||
if @status == "rejected"
|
||||
OrderReservation.update_order_reservation(@id, nil, "rejected",nil,remark,access_code,current_user)
|
||||
result = {:status=> true, :message => "rejected" }
|
||||
else
|
||||
OrderReservation.update_order_reservation(@id, nil, "accepted", expected_waiting_time)
|
||||
@@ -46,13 +48,7 @@ class Origami::OrderReservationController < BaseOrigamiController
|
||||
end
|
||||
|
||||
def send_status
|
||||
if params[:status] == "cancel"
|
||||
status = "rejected"
|
||||
else
|
||||
status = params[:status]
|
||||
end
|
||||
|
||||
response = OrderReservation.send_status_to_ordering(params[:url],params[:ref_no],status,params[:waiting_time])
|
||||
response = OrderReservation.send_status_to_ordering(params[:url],params[:ref_no],params[:status],params[:waiting_time],params[:min_type],params[:reason])
|
||||
|
||||
render :json => response
|
||||
end
|
||||
|
||||
@@ -195,7 +195,9 @@ class Settings::MenusController < ApplicationController
|
||||
# end
|
||||
end
|
||||
|
||||
file_path = "public/menus/" + menu.name + ".xlsx"
|
||||
directory_name = "public/menus"
|
||||
Dir.mkdir(directory_name) unless File.exists?(directory_name)
|
||||
file_path = directory_name +"/" + menu.name + ".xlsx"
|
||||
p.serialize(file_path)
|
||||
render :json => { status: true, path: file_path }
|
||||
end
|
||||
|
||||
@@ -138,7 +138,7 @@ class OrderReservation < ApplicationRecord
|
||||
end
|
||||
end
|
||||
|
||||
def self.send_status_to_ordering(url,ref_no,status,waiting_time=nil)
|
||||
def self.send_status_to_ordering(url,ref_no,status,waiting_time=nil,min_type=nil,reason=nil)
|
||||
base_url = 'https://api.doemal.com'
|
||||
token = '3T-tnlYtFJ-5Z1vY6XQqxQ'
|
||||
order_reservation = Lookup.collection_of("order_reservation")
|
||||
@@ -158,7 +158,9 @@ class OrderReservation < ApplicationRecord
|
||||
post_url = base_url + url
|
||||
|
||||
if !waiting_time.nil?
|
||||
send_params = {id: ref_no, waiting_time: waiting_time, status: status}
|
||||
send_params = {id: ref_no,type: min_type, waiting_time: waiting_time, status: status}
|
||||
elsif !reason.nil?
|
||||
send_params = {id: ref_no, status: status, reason: reason}
|
||||
else
|
||||
send_params = {id: ref_no, status: status}
|
||||
end
|
||||
@@ -185,7 +187,7 @@ class OrderReservation < ApplicationRecord
|
||||
return response
|
||||
end
|
||||
|
||||
def self.update_order_reservation(id, sale_id, status, expected_waiting_time=nil)
|
||||
def self.update_order_reservation(id, sale_id, status, expected_waiting_time=nil, remark=nil, access_code=nil, current_user=nil)
|
||||
order_reservation = OrderReservation.find(id)
|
||||
if sale_id.present?
|
||||
order_reservation.sale_id = sale_id
|
||||
@@ -194,7 +196,52 @@ class OrderReservation < ApplicationRecord
|
||||
order_reservation.expected_waiting_time = DateTime.parse(expected_waiting_time).utc
|
||||
end
|
||||
order_reservation.status = status
|
||||
if !remark.nil?
|
||||
order_reservation.order_remark = remark
|
||||
end
|
||||
order_reservation.save
|
||||
|
||||
if !order_reservation.sale_id.nil? && status == "rejected"
|
||||
void_doemal_payment(order_reservation.sale_id, remark, access_code, current_user)
|
||||
end
|
||||
end
|
||||
|
||||
def self.void_doemal_payment(sale_id, remark, access_code, current_user)
|
||||
if Sale.exists?(sale_id)
|
||||
sale = Sale.find_by_sale_id(sale_id)
|
||||
# update count for shift sale
|
||||
if(sale.sale_status == "completed")
|
||||
if sale.shift_sale_id != nil
|
||||
shift = ShiftSale.find(sale.shift_sale_id)
|
||||
shift.calculate(sale_id, "void")
|
||||
end
|
||||
else
|
||||
# void before sale payment complete
|
||||
if sale.shift_sale_id != nil
|
||||
shift = ShiftSale.find(sale.shift_sale_id)
|
||||
shift.total_void = shift.total_void + sale.grand_total
|
||||
shift.save
|
||||
end
|
||||
end
|
||||
|
||||
sale.payment_status = 'void'
|
||||
sale.sale_status = 'void'
|
||||
sale.save
|
||||
|
||||
# FOr Sale Audit
|
||||
action_by = current_user.name
|
||||
approved_by = Employee.find_by_emp_id(access_code)
|
||||
# remark = "Void Sale ID #{sale_id} | Receipt No #{sale.receipt_no} | Receipt No #{sale.receipt_no} | Table ->#{table.name}"
|
||||
sale_audit = SaleAudit.record_audit_for_edit(sale_id,sale.cashier_id, approved_by.name,remark,"SALEVOID" )
|
||||
|
||||
# update complete order items in oqs
|
||||
SaleOrder.where("sale_id = '#{ sale_id }'").find_each do |sodr|
|
||||
AssignedOrderItem.where("order_id = '#{ sodr.order_id }'").find_each do |aoi|
|
||||
aoi.delivery_status = 1
|
||||
aoi.save
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
def self.get_count_on_order
|
||||
|
||||
@@ -1,48 +1,62 @@
|
||||
<%= stylesheet_link_tag 'order_reservation', media: 'all', 'data-turbolinks-track': 'reload' %>
|
||||
<%= javascript_include_tag 'order_reservation', 'data-turbolinks-track': 'reload' %>
|
||||
<div class="container-fluid">
|
||||
<!-- start count function -->
|
||||
<%
|
||||
pending_count = 0
|
||||
accepted_count = 0
|
||||
delivered_count = 0
|
||||
completed_count = 0
|
||||
processed_count = 0
|
||||
%>
|
||||
<% if !@count_on_order.nil?
|
||||
@count_on_order.each do |count_order|
|
||||
if count_order.status == "new"
|
||||
pending_count = count_order.count
|
||||
elsif count_order.status == "accepted"
|
||||
accepted_count = count_order.count
|
||||
elsif count_order.status == "send_to_kitchen"
|
||||
delivered_count = count_order.count
|
||||
elsif count_order.status == "ready_to_delivery"
|
||||
completed_count = count_order.count
|
||||
elsif count_order.status == "delivered"
|
||||
processed_count = count_order.count
|
||||
end
|
||||
end
|
||||
end %>
|
||||
<!-- end count function -->
|
||||
<div class="row m-t--10">
|
||||
<div class="col-lg-4 col-md-4 col-sm-4 div_order_margin">
|
||||
<div class="col-lg-5 col-md-5 col-sm-5 div_order_margin">
|
||||
<ul class="nav nav-tabs tab-col-teal" role="tablist">
|
||||
<li class="nav-item red m-b-10" data-color="#F44336" data-type="pending">
|
||||
<a class="nav-link" data-toggle="tab" href="#pending" role="tab"><p class="num p-t-15 p-b-5">
|
||||
<% if !@count_on_order.nil? %>
|
||||
<% @count_on_order.each do |count_order|
|
||||
if count_order.status == "new" %>
|
||||
<%= count_order.count %>
|
||||
<% end
|
||||
end %>
|
||||
<% end %></p> <%= t :pending %></a>
|
||||
<a class="nav-link" data-toggle="tab" href="#pending" role="tab">
|
||||
<p class="num p-t-10">
|
||||
<%= pending_count %>
|
||||
</p> <%= t :pending %></a>
|
||||
</li>
|
||||
<li class="nav-item purple m-b-10" data-color="#673AB7" data-type="processing">
|
||||
<a class="nav-link" data-toggle="tab" href="#processing" role="tab"><p class="num p-t-15 p-b-5">
|
||||
<% if !@count_on_order.nil? %>
|
||||
<% @count_on_order.each do |count_order|
|
||||
if count_order.status == "accepted" %>
|
||||
<%= count_order.count %>
|
||||
<% end
|
||||
end %>
|
||||
<% end %></p> <%= t :processing %></a>
|
||||
<a class="nav-link" data-toggle="tab" href="#processing" role="tab">
|
||||
<p class="num p-t-10">
|
||||
<%= accepted_count %>
|
||||
</p> <%= t :processing %></a>
|
||||
</li>
|
||||
<li class="nav-item m-b-10" data-color="#009688" data-type="delivery" style="background-color: #009688;">
|
||||
<a class="nav-link" data-toggle="tab" href="#delivery" role="tab"><p class="num p-t-15 p-b-5">
|
||||
<% if !@count_on_order.nil? %>
|
||||
<% @count_on_order.each do |count_order|
|
||||
if count_order.status == "send_to_kitchen" %>
|
||||
<%= count_order.count %>
|
||||
<% end
|
||||
end %>
|
||||
<% end %></p> <%= t :delivering %></a>
|
||||
<a class="nav-link" data-toggle="tab" href="#delivery" role="tab">
|
||||
<p class="num p-t-10">
|
||||
<%= delivered_count %>
|
||||
</p> <%= t :delivering %></a>
|
||||
</li>
|
||||
<li class="nav-item m-b-10" data-color="#03A9F4" data-type="completed" style="background-color: #03A9F4;">
|
||||
<a class="nav-link" data-toggle="tab" href="#completed" role="tab"><p class="num p-t-15 p-b-5">
|
||||
<% if !@count_on_order.nil? %>
|
||||
<% @count_on_order.each do |count_order|
|
||||
if count_order.status == "ready_to_delivery" %>
|
||||
<%= count_order.count %>
|
||||
<% end
|
||||
end %>
|
||||
<% end %></p> <%= t :completed %></a>
|
||||
<a class="nav-link" data-toggle="tab" href="#completed" role="tab">
|
||||
<p class="num p-t-10">
|
||||
<%= completed_count %>
|
||||
</p> <%= t :completed %></a>
|
||||
</li>
|
||||
<li class="nav-item m-b-10" data-color="#5bc0de" data-type="processed" style="background-color: #5bc0de;">
|
||||
<a class="nav-link" data-toggle="tab" href="#processed" role="tab">
|
||||
<p class="num p-t-10">
|
||||
<%= processed_count %>
|
||||
</p> <%= t :processed %></a>
|
||||
</li>
|
||||
</ul>
|
||||
|
||||
@@ -215,6 +229,48 @@
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<!--- Panel 5 - processed -->
|
||||
<div class="tab-pane dining" id="processed" role="tabpanel">
|
||||
<div class="card-block font-13">
|
||||
<div id="menu-slimscroll" data-height="50">
|
||||
<table class="table table-stripe custom-table">
|
||||
<tbody>
|
||||
<% i=1
|
||||
@order.each do |order| %>
|
||||
<% if order.status == 'delivered' %>
|
||||
<tr class="custom-tr fifth-<%=i%>" style="" data-id="<%=order.order_reservation_id%>" data-sr-no="<%= i %>">
|
||||
<td width ="5%" class="align-left">
|
||||
<%=i%>
|
||||
</td>
|
||||
<td width ="20%" class="align-center">
|
||||
<%= order.created_at.utc.getlocal.strftime("%Y-%m-%d") %>
|
||||
</td>
|
||||
<td width ="20%" class="align-center">
|
||||
<%= order.created_at.utc.getlocal.strftime("%I:%M %p") %>
|
||||
</td>
|
||||
<td width ="20%" class="align-center">
|
||||
<%=order.grand_total%>
|
||||
</td>
|
||||
<td width ="30%" class="align-center">
|
||||
<span class="font-10 col-blue">
|
||||
<% if order.delivery.delivery_type == 'service' %>
|
||||
DELIVERY
|
||||
<% elsif order.delivery.delivery_type == 'pick_up' %>
|
||||
PICK-UP
|
||||
<% else %>
|
||||
DIRECT DELIVERY
|
||||
<% end %>
|
||||
</span>
|
||||
</td>
|
||||
</tr>
|
||||
<%i+=1%>
|
||||
<%end%>
|
||||
<%end%>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
@@ -230,7 +286,11 @@
|
||||
<td width="40%" class="header-td align-left">
|
||||
<b><span class="font-15" id="requested_date_time"></span></b>
|
||||
</td>
|
||||
<td width ="50%" class="header-td font- align-right"><b><span id="contact_info"></span></b></td>
|
||||
<td width ="50%" class="header-td align-right">
|
||||
<b><span id="invoice_no"></span></b>
|
||||
<span id="order_status" class="hidden"></span>
|
||||
<span id="approved_code" class="hidden"></span>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</div>
|
||||
@@ -296,7 +356,7 @@
|
||||
</tr>
|
||||
<tr>
|
||||
<td width ="50%" class="footer-td align-left col-blue">
|
||||
<button type="button" class="btn btn-lg bg-red waves-effect" id="cancel" data-value="cancel">
|
||||
<button type="button" class="btn btn-lg bg-red waves-effect" id="cancel" data-value="rejected">
|
||||
<strong>DECLINE</strong>
|
||||
</button>
|
||||
</td>
|
||||
@@ -321,7 +381,7 @@
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="'col-lg-4 col-md-4 col-sm-4'" style="margin:0px -5px 0px -2px !important ">
|
||||
<div class="'col-lg-3 col-md-3 col-sm-3'" style="margin:0px -5px 0px -2px !important ">
|
||||
<div class="card" style="background-color: #E8EAF6">
|
||||
<div class="card-header custom-card-header" style="background-color: #E8EAF6">
|
||||
<table class="table">
|
||||
@@ -336,8 +396,8 @@
|
||||
<tbody>
|
||||
<tr>
|
||||
<td class="body-td align-left">
|
||||
<span class="font-13">NAME</span><br>
|
||||
<b id="customer_name"></b>
|
||||
<span class="font-13">REF.</span><br>
|
||||
<b id="trans_ref"></b>
|
||||
</td>
|
||||
<td class="body-td align-right">
|
||||
<span class="font-13">REQUESTED TIME</span><br>
|
||||
@@ -346,14 +406,20 @@
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="body-td align-left">
|
||||
<span class="font-13">PHONE</span><br>
|
||||
<b id="phone"></b>
|
||||
<span class="font-13">NAME</span><br>
|
||||
<b id="customer_name"></b>
|
||||
</td>
|
||||
<td class="body-td align-right expected_time">
|
||||
<span class="font-13">EXPECTED TIME</span><br>
|
||||
<b id="expected_time"></b>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="2" class="body-td align-left">
|
||||
<span class="font-13">PHONE</span><br>
|
||||
<b id="phone"></b>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="2" class="body-td align-left">
|
||||
<span class="font-13">ADDRESS</span><br>
|
||||
@@ -391,37 +457,41 @@
|
||||
<h4 class="modal-title" id="waiting_timeModalLabel">Expected Waiting Time for <span id="requested_order_time"></span></h4>
|
||||
</div>
|
||||
<div class="modal-body">
|
||||
<input type="text" id="waiting_time" name="waiting_time" value="" class="timepicker form-control" placeholder="Expected Waiting Time">
|
||||
<span id="waiting_timeErr" style="color:red;"></span>
|
||||
</div>
|
||||
<div class="modal-footer ">
|
||||
<div class="row p-r-20">
|
||||
<div class="col-md-5">
|
||||
<button type="button" class="btn btn-link p-t-5 p-b-5 bg-red waves-effect " id="save" active="true">SAVE</button>
|
||||
</div>
|
||||
<div class="col-md-5">
|
||||
<button type="button" class="btn btn-link p-t-5 p-b-5 bg-blue waves-effect" data-dismiss="modal">CLOSE</button>
|
||||
<div class="row text-center m-t-20">
|
||||
<div class="col-xs-6 col-sm-6 col-md-6 col-lg-6">
|
||||
<button type="button" class="btn btn-lg btn-link bg-info timer_type" data-value="+">After</button>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- <div class="modal fade hidden" id="notify_new_order" tabindex="-1" role="dialog">
|
||||
<div class="modal-dialog modal-md" role="document">
|
||||
<div class="modal-content">
|
||||
<div class="modal-header">
|
||||
<h4 class="modal-title" id="notify_new_orderLabel"></h4>
|
||||
</div>
|
||||
<div class="modal-body">
|
||||
<span id="notify_new_orderBody"></span>
|
||||
<div class="row text-center m-t-20">
|
||||
<div class="col-xs-6 col-sm-6 col-md-6 col-lg-6">
|
||||
<button type="button" class="btn btn-lg btn-link bg-info time_interval" data-value="15">15 Mins.</button>
|
||||
</div>
|
||||
<div class="col-xs-6 col-sm-6 col-md-6 col-lg-6">
|
||||
<button type="button" class="btn btn-lg btn-link bg-info time_interval" data-value="30">30 Mins.</button>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row text-center m-t-20">
|
||||
<div class="col-xs-6 col-sm-6 col-md-6 col-lg-6">
|
||||
<button type="button" class="btn btn-lg btn-link bg-info time_interval" data-value="45">45 Mins.</button>
|
||||
</div>
|
||||
<div class="col-xs-6 col-sm-6 col-md-6 col-lg-6">
|
||||
<button type="button" class="btn btn-lg btn-link bg-info time_interval" data-value="60">60 Mins.</button>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row text-center m-t-20">
|
||||
<div class="col-xs-6 col-sm-6 col-md-6 col-lg-6">
|
||||
<button type="button" class="btn btn-lg btn-link bg-info time_interval" data-value="75">75 Mins.</button>
|
||||
</div>
|
||||
<div class="col-xs-6 col-sm-6 col-md-6 col-lg-6">
|
||||
<button type="button" class="btn btn-lg btn-link bg-info time_interval" data-value="90">90 Mins.</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="modal-footer ">
|
||||
<div class="row p-r-20">
|
||||
<div class="col-md-5">
|
||||
<button type="button" class="btn btn-link p-t-5 p-b-5 bg-blue waves-effect" data-dismiss="modal">CLOSE</button>
|
||||
<button type="button" class="btn btn-link p-t-5 p-b-5 bg-red waves-effect" data-dismiss="modal">CLOSE</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@@ -429,19 +499,24 @@
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="modal fade hidden" id="notify_order_send_to_kitchen" tabindex="-1" role="dialog">
|
||||
<div class="modal fade" id="rejected_reasonModal" tabindex="-1" role="dialog">
|
||||
<div class="modal-dialog modal-md" role="document">
|
||||
<div class="modal-content">
|
||||
<div class="modal-header">
|
||||
<h4 class="modal-title" id="notify_order_send_to_kitchenLabel"></h4>
|
||||
<h4 class="modal-title" id="rejected_reasonLabel">Reason</h4>
|
||||
</div>
|
||||
<div class="modal-body">
|
||||
<span id="notify_order_send_to_kitchenBody"></span>
|
||||
<div class="form-group">
|
||||
<textarea id="reject_reason" name="reject_reason" class="form-control" rows="3" cols="30"></textarea>
|
||||
</div>
|
||||
</div>
|
||||
<div class="modal-footer ">
|
||||
<div class="row p-r-20">
|
||||
<div class="col-md-5">
|
||||
<button type="button" class="btn btn-link p-t-5 p-b-5 bg-blue waves-effect" data-dismiss="modal">CLOSE</button>
|
||||
<button type="button" class="btn btn-link p-t-5 p-b-5 bg-blue waves-effect send_status">SEND</button>
|
||||
</div>
|
||||
<div class="col-md-5">
|
||||
<button type="button" class="btn btn-link p-t-5 p-b-5 bg-red waves-effect" data-dismiss="modal">CLOSE</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@@ -449,28 +524,107 @@
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="modal fade hidden" id="notify_order_ready_to_delivery" tabindex="-1" role="dialog">
|
||||
<div class="modal fade" id="AccessCodeModal" tabindex="-1" role="dialog">
|
||||
<div class="modal-dialog modal-sm" role="document">
|
||||
<div class="modal-content">
|
||||
<div class="modal-header">
|
||||
<h4 class="modal-title" id="AccessCodeModalLabel">Enter Access Code</h4>
|
||||
<button type="button" class="close" id="close" data-dismiss="modal" aria-hidden="true" style="font-size: 20px;color:#111;">×</button>
|
||||
</div>
|
||||
<div class="modal-body" style="padding: 0px 25px 15px 25px !important">
|
||||
<input type="text" id="access_code" class="access_code form-control col-md-12 ">
|
||||
<div class="row bottom p-l-15 p-r-15 m-t-10">
|
||||
<div class="col-md-3 access_number border-top border-left" data-value="1" data-type="num">1</div>
|
||||
<div class="col-md-3 access_number border-top border-left" data-value="2" data-type="num">2</div>
|
||||
<div class="col-md-3 access_number border-top border-left" data-value="3" data-type="num">3</div>
|
||||
<div class="col-md-3 access_number border-top border-left" data-value="4" data-type="num">4</div>
|
||||
</div>
|
||||
<div class="row bottom p-l-15 p-r-15">
|
||||
<div class="col-md-3 access_number border-top border-left" data-value="5" data-type="num">5</div>
|
||||
<div class="col-md-3 access_number border-top border-left" data-value="6" data-type="num">6</div>
|
||||
<div class="col-md-3 access_number border-top border-left" data-value="7" data-type="num">7</div>
|
||||
<div class="col-md-3 access_number border-top border-left" data-value="8" data-type="num">8</div>
|
||||
</div>
|
||||
<div class="row bottom p-l-15 p-r-15">
|
||||
<div class="col-md-3 access_number border-top border-left" data-value="9" data-type="num">9</div>
|
||||
<div class="col-md-3 access_number border-top border-left" data-value="0" data-type="num">0</div>
|
||||
<div class="col-md-3 access_number border-top border-left orange" data-type="clr">Clr</div>
|
||||
<div class="col-md-3 access_number ok border-top border-left blue" data-type="ok" data-action="void">OK</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="modal fade " id="notify_new_order" tabindex="-1" role="dialog">
|
||||
<div class="modal-dialog modal-md" role="document">
|
||||
<div class="modal-content">
|
||||
<div class="modal-header">
|
||||
<h4 class="modal-title" id="notify_order_ready_to_deliveryLabel"></h4>
|
||||
<h4 class="modal-title text-center" id="notify_new_orderLabel">You have new orders</h4>
|
||||
</div>
|
||||
<div class="modal-body">
|
||||
<span id="notify_order_ready_to_deliveryBody"></span>
|
||||
<div class="modal-body notify_new_orderBody">
|
||||
<div class="form-group text-center">
|
||||
Are you accept or reject for these orders <b><span id="notify_new_order_lists"></span></b>?
|
||||
</div>
|
||||
</div>
|
||||
<div class="modal-footer ">
|
||||
<div class="row p-r-20">
|
||||
<div class="col-md-5">
|
||||
<button type="button" class="btn btn-link p-t-5 p-b-5 bg-blue waves-effect" data-dismiss="modal">CLOSE</button>
|
||||
<button type="button" class="btn btn-link p-t-5 p-b-5 bg-blue waves-effect" data-dismiss="modal">CLOSE</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div> -->
|
||||
</div>
|
||||
|
||||
<div id="notify_new_order"></div>
|
||||
<div class="modal fade " id="notify_order_send_to_kitchen" tabindex="-1" role="dialog">
|
||||
<div class="modal-dialog modal-md" role="document">
|
||||
<div class="modal-content">
|
||||
<div class="modal-header">
|
||||
<h4 class="modal-title" id="notify_order_send_to_kitchenLabel">You have to send order to kitchen</h4>
|
||||
</div>
|
||||
<div class="modal-body notify_order_send_to_kitchenBody">
|
||||
<div class="form-group text-center">
|
||||
Could you send these orders <b><span id="notify_order_send_to_kitchen_lists"></span></b> to kitchen?
|
||||
</div>
|
||||
</div>
|
||||
<div class="modal-footer ">
|
||||
<div class="row p-r-20">
|
||||
<div class="col-md-5">
|
||||
<button type="button" class="btn btn-link p-t-5 p-b-5 bg-blue waves-effect" data-dismiss="modal">CLOSE</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="modal fade " id="notify_order_ready_to_delivery" tabindex="-1" role="dialog">
|
||||
<div class="modal-dialog modal-md" role="document">
|
||||
<div class="modal-content">
|
||||
<div class="modal-header">
|
||||
<h4 class="modal-title" id="notify_order_ready_to_deliveryLabel">You have orders that are ready to deliver</h4>
|
||||
</div>
|
||||
<div class="modal-body notify_order_ready_to_deliveryBody">
|
||||
<div class="form-group text-center">
|
||||
Could you ready these orders <b><span id="notify_order_ready_to_delivery_lists"></span></b> to deliver?
|
||||
</div>
|
||||
</div>
|
||||
<div class="modal-footer ">
|
||||
<div class="row p-r-20">
|
||||
<div class="col-md-5">
|
||||
<button type="button" class="btn btn-link p-t-5 p-b-5 bg-blue waves-effect" data-dismiss="modal">CLOSE</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- <div id="notify_new_order"></div>
|
||||
<div id="notify_order_send_to_kitchen"></div>
|
||||
<div id="notify_order_ready_to_delivery"></div>
|
||||
<div id="notify_order_ready_to_delivery"></div> -->
|
||||
|
||||
</div>
|
||||
|
||||
@@ -79,6 +79,7 @@ en:
|
||||
processing: "Processing"
|
||||
delivering: "Delivering"
|
||||
completed: "Completed"
|
||||
processed: "Processed"
|
||||
|
||||
views:
|
||||
btn:
|
||||
|
||||
@@ -74,6 +74,7 @@ mm:
|
||||
processing: "Processing"
|
||||
delivering: "Delivering"
|
||||
completed: "Completed"
|
||||
processed: "Processed"
|
||||
|
||||
views:
|
||||
btn:
|
||||
|
||||
Reference in New Issue
Block a user