393 lines
13 KiB
JavaScript
393 lines
13 KiB
JavaScript
|
|
$(function() {
|
|
$("#discount").hide();
|
|
$(".expected_time").hide();
|
|
$(function() {
|
|
$('.first-1').click();
|
|
});
|
|
|
|
customTableClick();
|
|
|
|
$(".nav-item").on("click", function(){
|
|
type = $(this).attr("data-type");
|
|
refreshDetailData();
|
|
$('#accepted').show();
|
|
$('#cancel').show();
|
|
if (type == "pending") {
|
|
$(".first-1").click();
|
|
$('#accepted').text("ACCEPT");
|
|
$('#accepted').attr("data-value","accepted");
|
|
}else if(type == "processing"){
|
|
$(".second-1").click();
|
|
$('#accepted').text("SEND TO KITCHEN");
|
|
$('#accepted').attr("data-value","processed");
|
|
}else if(type == "delivery"){
|
|
$(".third-1").click();
|
|
$('#accepted').text("READY TO DELIVERY");
|
|
$('#accepted').attr("data-value","delivery");
|
|
}else if(type == "completed"){
|
|
$(".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);
|
|
});
|
|
|
|
$("#accepted").on("click", function(){
|
|
if($(this).text().trim() == "ACCEPT"){
|
|
$("#status").text($(this).attr("data-value"));
|
|
var requested_time = $("#requested_date_time").text();
|
|
$("#requested_order_time").text(requested_time);
|
|
$("#waiting_timeModal").modal({show : true, backdrop: false, keyboard : false});
|
|
}else{
|
|
var status = $(this).attr("data-value");
|
|
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);
|
|
}
|
|
});
|
|
|
|
$("#cancel").on("click", function(){
|
|
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();
|
|
var reason = $('#reject_reason').val();
|
|
var approved_code = $("#approved_code").text();
|
|
callback_url(callback,ref_no,order_id,status,"","","",reason,approved_code);
|
|
});
|
|
|
|
$(".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());
|
|
if(type == '+'){
|
|
requested_time.setMinutes(requested_time.getMinutes() + minutes);
|
|
}else{
|
|
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;
|
|
}
|
|
});
|
|
});
|
|
|
|
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");
|
|
$(this).addClass("tr-active");
|
|
var order_id = $(this).attr("data-id");
|
|
var sr_no = $(this).attr("data-sr-no");
|
|
var url = "order_reservation/get_order/"+order_id;
|
|
show_order_detail(url,sr_no);
|
|
});
|
|
}
|
|
|
|
function refreshDetailData(){
|
|
$('#requested_date_time').text("");
|
|
$("#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");
|
|
$('#total_charges').text("0.00");
|
|
$('#discount_amount').text("0.00");
|
|
$('#total_tax').text("0.00");
|
|
$('#grand_total').text("0.00");
|
|
}
|
|
|
|
//show order list
|
|
function show_order_detail(url,sr_no){
|
|
$('.summary-items').html("");
|
|
//Start Ajax
|
|
$.ajax({
|
|
type: "GET",
|
|
url: url,
|
|
data: {},
|
|
dataType: "json",
|
|
success: function(data) {
|
|
// console.log(data);
|
|
var delivery = data["delivery"];
|
|
var items = data["order_items"];
|
|
var item_list = $('.summary-items');
|
|
|
|
var newDate = new Date(data.requested_time);
|
|
var time = timeFormat(newDate);
|
|
var requested_date = newDate.getFullYear() + '-' + (newDate.getMonth() > 10? newDate.getMonth() : '0' + (newDate.getMonth() + 1)) +'-'+ (newDate.getDate() > 10? newDate.getDate() : '0' + newDate.getDate()) +' '+time;
|
|
|
|
if((data.expected_waiting_time!=undefined) && (data.expected_waiting_time!=null)){
|
|
var expDate = new Date(data.expected_waiting_time);
|
|
var exptime = timeFormat(expDate);
|
|
var expected_time = expDate.getFullYear() + '-' + (expDate.getMonth() > 10? expDate.getMonth() : '0' + (expDate.getMonth() + 1)) +'-'+ (expDate.getDate() > 10? expDate.getDate() : '0' + expDate.getDate()) +' '+exptime;
|
|
$('.expected_time').show();
|
|
$('#expected_time').text(expected_time? expected_time : '');
|
|
}else{
|
|
$('.expected_time').hide();
|
|
$('#expected_time').text('');
|
|
}
|
|
|
|
item_list.empty();
|
|
|
|
if(items!=undefined && items!=""){
|
|
if(items.length > 0){
|
|
for(var i in items) {
|
|
var item_price = 0;
|
|
if(items[i].price > 0){
|
|
item_price = items[i].price;
|
|
}else{
|
|
item_price = items[i].unit_price;
|
|
}
|
|
var total = items[i].qty * item_price;
|
|
row = '<tr>'
|
|
+'<td width ="70%" class="body-td align-left">'+items[i].item_name
|
|
+' <br><span class="font-13">'+items[i].qty+ '<span class="col-blue"> <b>X</b>'+items[i].unit_price+'</span></span>'
|
|
+'</td>'
|
|
+'<td width ="30%" class="body-td align-right">'+ total +'</td>'
|
|
+'</tr>';
|
|
$('.summary-items').append(row);
|
|
}
|
|
|
|
if(data.discount_amount > 0){
|
|
$("#discount").show();
|
|
}
|
|
|
|
$('#requested_date_time').text(requested_date);
|
|
$('#sub_total').text(data.total_amount);
|
|
$('#delivery_fee').text((parseFloat(delivery.delivery_fee) > 0)? delivery.delivery_fee : '0.0');
|
|
$('#total_charges').text((parseFloat(data.convenience_charge) > 0)? data.convenience_charge : '0.0');
|
|
$('#discount_amount').text((parseFloat(data.discount_amount) > 0)? data.discount_amount : '0.0');
|
|
$('#total_tax').text(data.total_tax);
|
|
$('#grand_total').text(data.grand_total);
|
|
|
|
var address = delivery.address;
|
|
if(delivery.township != null && delivery.township!=""){
|
|
address += ', ' +delivery.township;
|
|
}else if(delivery.direction_address!=null && delivery.direction_address!=""){
|
|
address += ", (" +delivery.direction_address+")";
|
|
}
|
|
$('#requested_time').text(requested_date);
|
|
$('#customer_name').text(data.customer_name);
|
|
$('#phone').text(data.phone);
|
|
$('#address').text(address);
|
|
$('#delivery_to').text(delivery.provider);
|
|
|
|
$('#ref_no').text(data.transaction_ref);
|
|
$('#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"){
|
|
$("#delivery_info").text("(PICK-UP)");
|
|
}else{
|
|
$("#delivery_info").text("(DIRECT DELIVERY)");
|
|
}
|
|
|
|
if(data.order_remark!=null && data.order_remark!=""){
|
|
$("#order_remark").text(data.order_remark);
|
|
}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"]) {
|
|
$("#invoice_no").text(data["receipt_no"]);
|
|
}else{
|
|
$("#invoice_no").text(data["order_reservation_id"]);
|
|
}
|
|
|
|
}
|
|
}
|
|
}
|
|
});
|
|
//end Ajax
|
|
}
|
|
|
|
|
|
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;
|
|
}
|
|
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, 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, remark: reason, access_code: access_code},
|
|
dataType: "json",
|
|
success: function(data) {
|
|
if (data.status) {
|
|
swal({
|
|
title: 'Information',
|
|
text: "Order has been "+data.message,
|
|
type: 'success',
|
|
html: true,
|
|
closeOnConfirm: false,
|
|
closeOnCancel: false,
|
|
allowOutsideClick: false
|
|
}, function () {
|
|
window.location.href = '/origami/order_reservation';
|
|
});
|
|
}
|
|
}
|
|
});
|
|
}else{
|
|
swal({
|
|
title: 'Oops',
|
|
text: data.message,
|
|
type: 'error',
|
|
html: true,
|
|
closeOnConfirm: false,
|
|
closeOnCancel: false,
|
|
allowOutsideClick: false
|
|
}, function () {
|
|
window.location.href = '/origami/order_reservation';
|
|
});
|
|
}
|
|
}
|
|
});
|
|
}
|
|
|
|
function timeFormat(date){
|
|
var isPM = date.getHours() >= 12;
|
|
var isMidday = date.getHours() == 12;
|
|
var time = [(date.getHours()>10? date.getHours() : '0'+date.getHours()) - (isPM && !isMidday ? 12 : 0),
|
|
(date.getMinutes()>10? date.getMinutes() : '0'+date.getMinutes()) || '00'].join(':') +
|
|
(isPM ? ' PM' : ' AM');
|
|
return time;
|
|
}
|
|
|
|
function showNewOrder(order_reservation){
|
|
// console.log(order_reservation);
|
|
if((order_reservation!=undefined) && (order_reservation!=null) && (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
|
|
// setTimeout(function(){
|
|
// audio.loop = true;
|
|
audio.play();
|
|
// },10000);
|
|
|
|
swal({
|
|
html: true,
|
|
title: 'Information',
|
|
text: "You have new order <b>" + order_reservation.order_reservation_id + "</b> at <b>"+requested_date+"</b>",
|
|
type: 'success',
|
|
closeOnConfirm: false,
|
|
closeOnCancel: false,
|
|
allowOutsideClick: false
|
|
});
|
|
}
|
|
} |