Viewing file: 0c9e2d26f86f28cb272a79d0a8fc144bd259939c.php (28.42 KB) -rwxrwxrwx Select action/file-type: (+) | (+) | (+) | Code (+) | Session (+) | (+) | SDB (+) | (+) | (+) | (+) | (+) | (+) |
<?php $__env->startSection('title'); ?> <?php echo app('translator')->get('translation.orders'); ?> <?php $__env->stopSection(); ?>
<?php $__env->startSection('css'); ?>
<link href="<?php echo e(URL::asset('assets/libs/sweetalert2/sweetalert2.min.css')); ?>" rel="stylesheet" type="text/css" />
<link href="https://cdn.jsdelivr.net/npm/select2@4.1.0-rc.0/dist/css/select2.min.css" rel="stylesheet" type="text/css" />
<style>
.choices__list--dropdown {
visibility: hidden;
z-index: 1;
position: absolute;
width: 100%;
background-color: var(--vz-choices-bg);
border: 1px solid var(--vz-border-color);
box-shadow: 0 5px 10px rgba(30,32,37,.12);
top: 100%;
margin-top: 0;
padding: 10px 10px 20px;
border-bottom-left-radius: 2.5px;
border-bottom-right-radius: 2.5px;
word-break: break-all;
will-change: visibility;
-webkit-animation-duration: .3s;
animation-duration: .3s;
-webkit-animation-fill-mode: both;
animation-fill-mode: both;
transform: translateY(1px);
max-height: 220px;
overflow-y: scroll !important;
}
</style>
<?php $__env->stopSection(); ?>
<?php $__env->startSection('content'); ?>
<?php $__env->startComponent('components.breadcrumb'); ?>
<?php $__env->slot('li_1'); ?> Ecommerce <?php $__env->endSlot(); ?>
<?php $__env->slot('title'); ?> Orders <?php $__env->endSlot(); ?>
<?php echo $__env->renderComponent(); ?>
<div class="row">
<div class="col-lg-12">
<div class="card" id="orderList">
<?php if($errors->any()): ?>
<div class="alert alert-danger">
<?php $__currentLoopData = $errors->all(); $__env->addLoop($__currentLoopData); foreach($__currentLoopData as $error): $__env->incrementLoopIndices(); $loop = $__env->getLastLoop(); ?>
<span class="each-error"><?php echo e($error); ?> </span><br/>
<?php endforeach; $__env->popLoop(); $loop = $__env->getLastLoop(); ?>
</div>
<?php endif; ?>
<?php if(session()->has('message')): ?>
<div class="alert alert-success">
<?php echo e(session()->get('message')); ?>
</div>
<?php endif; ?>
<div class="card-header border-0">
<div class="d-flex align-items-center">
<h5 class="card-title mb-0 flex-grow-1">Order History</h5>
</div>
</div>
<div class="card-body border border-dashed border-end-0 border-start-0">
<form>
<div class="row g-3">
<div class="col-xxl-2 col-sm-4">
<div class="search-box">
<input type="text" id="search_input" class="form-control search"
placeholder="Search for order ID">
<i class="ri-search-line search-icon"></i>
</div>
</div>
<!--end col-->
<div class="col-xxl-2 col-sm-4">
<div>
<input type="text" class="form-control" data-provider="flatpickr"
data-date-format="d M, Y" data-range-date="true"
id="demo-datepicker" placeholder="Select date">
</div>
</div>
<div class="col-xxl-2 col-sm-4">
<div>
<select class="form-control"
name="choices-single-default" id="delivered_by">
<!-- 1 for received,2 for accepted,3 picked up,4 delivered,5 cancel and 6 return -->
<option value="" disabled>Delivered By</option>
<option value="all" selected>All Delivery Type</option>
<option value="1">By Jiff</option>
<option value="2">By Vendor</option>
<option value="3">Shop Pickup</option>
</select>
</div>
</div>
<!--end col-->
<div class="col-xxl-2 col-sm-4">
<div>
<select class="form-control"
name="choices-single-default" id="idStatus">
<!-- 1 for received,2 for accepted,3 picked up,4 delivered,5 cancel and 6 return -->
<option value="" disabled>Select Status</option>
<option value="all" selected>All Status</option>
<option value="1">Received</option>
<option value="2">Accepted</option>
<option value="3">Picked Up</option>
<option value="4">Delivered</option>
<option value="5">Cancelled</option>
<option value="6">Returned</option>
</select>
</div>
</div>
<!--end col-->
<div class="col-xxl-2 col-sm-4" style="max-height:40px;">
<div>
<select class="form-control"
name="choices-single-default" id="idVendor">
<option value="">Select Vendor</option>
<option value="all" selected>All Vendor</option>
<?php if(isset($vendors)): ?>
<?php $__currentLoopData = $vendors; $__env->addLoop($__currentLoopData); foreach($__currentLoopData as $vendor): $__env->incrementLoopIndices(); $loop = $__env->getLastLoop(); ?>
<option value="<?php echo e($vendor->id); ?>"><?php echo e($vendor->first_name); ?> <?php echo e($vendor->last_name); ?></option>
<?php endforeach; $__env->popLoop(); $loop = $__env->getLastLoop(); ?>
<?php endif; ?>
</select>
</div>
</div>
<!--end col-->
<div class="col-xxl-1 col-sm-4">
<div>
<button type="button" class="btn btn-primary w-100"
onclick="SearchData();"> <i
class="ri-equalizer-fill me-1 align-bottom"></i>
Filters
</button>
</div>
</div>
<!--end col-->
</div>
<!--end row-->
</form>
</div>
<div class="card-body pt-0">
<div>
<div class="table-responsive table-card mb-1">
<table class="table table-nowrap align-middle" id="orderTable">
<thead class="text-muted table-light">
<tr class="text-uppercase">
<th class="sort" data-sort="id">INV#</th>
<th class="sort" data-sort="date">Date</th>
<th>Vendor</th>
<th>Customer</th>
<th>Status</th>
<th>Total</th>
<th>Payment</th>
<th>Delivery Partner</th>
<th>Action</th>
</tr>
</thead>
<tbody class="list form-check-all">
<tr>
<td class="id"></td>
<td class="date"></td>
<td class="vendor"></td>
<td class="customer_name"></td>
<td class="sale_status"></td>
<td class="total_amount"></td>
<td class="payment_status"></td>
<td class="delivery"></td>
<td class="action">
</td>
</tr>
</tbody>
</table>
<div class="noresult" style="display: none">
<div class="text-center">
<lord-icon src="https://cdn.lordicon.com/msoeawqm.json"
trigger="loop" colors="primary:#405189,secondary:#0ab39c"
style="width:75px;height:75px">
</lord-icon>
<h5 class="mt-2">Sorry! No Result Found</h5>
<p class="text-muted">We've searched more than 150+ Orders We did
not find any
orders for you search.</p>
</div>
</div>
</div>
<div class="d-flex justify-content-end">
<div class="pagination-wrap hstack gap-2">
<a class="page-item pagination-prev disabled" href="#">
Previous
</a>
<ul class="pagination listjs-pagination mb-0"></ul>
<a class="page-item pagination-next" href="#">
Next
</a>
</div>
</div>
</div>
</div>
<!-- Modal -->
<div class="modal fade modal-lg" id="addDelivery_Modal" tabindex="-1"
aria-labelledby="exampleModalLabel" aria-hidden="true">
<div class="modal-dialog modal-dialog-centered">
<div class="modal-content">
<div class="modal-header bg-light p-3">
<h5 class="modal-title" id="exampleModalLabel">Add Order for delivery</h5>
<button type="button" class="btn-close" data-bs-dismiss="modal"
aria-label="Close" id="close-modal"></button>
</div>
<form class="row p-3 needs-validation" novalidate method="POST"
action="<?php echo e(route('add_delivery')); ?>">
<?php echo csrf_field(); ?>
<input type="hidden" id="sale_id" name="sale_id" />
<div class="col-md-6 mb-2">
<label for="partner" class="form-label">Group Name <span
class="text-danger">*</span></label>
<select class="js-example-basic-single form-control" data-trigger id="partner" name="partner" required>
<option disabled selected value="">Select Delivey Partner</option>
<?php if(isset($delivery_partners)): ?>
<?php $__currentLoopData = $delivery_partners; $__env->addLoop($__currentLoopData); foreach($__currentLoopData as $partner): $__env->incrementLoopIndices(); $loop = $__env->getLastLoop(); ?>
<option value="<?php echo e($partner->id); ?>"><?php echo e($partner->name); ?></option>
<?php endforeach; $__env->popLoop(); $loop = $__env->getLastLoop(); ?>
<?php endif; ?>
</select>
<div class="invalid-feedback">
Please select delivery partner.
</div>
</div>
<div class="col-md-6 mb-2">
<label for="status-field"
class="form-label">Status</label>
<select class="js-example-basic-single form-control" data-minimum-results-for-search="Infinity" data-trigger id="status-field" name="status" required>
<option selected value="1">Request For Pick up</option>
<option value="2">Picked Up</option>
</select>
</div>
<div class="col-md-6 mb-2">
<label for="address" class="form-label">Address <span
class="text-danger">*</span></label>
<div class="input-group has-validation">
<textarea class="form-control" name="address" id="address" cols="10" rows="4" minlength="20" placeholder="Enter delivery address" required></textarea>
<div class="invalid-feedback">
Please provide a valid address
</div>
</div>
</div>
<div class="col-md-6 mb-2">
<label for="note" class="form-label">Note</label>
<div class="input-group has-validation">
<textarea class="form-control" name="note" id="note" cols="10" rows="4" minlength="20" placeholder="Enter company address"></textarea>
</div>
</div>
<div class="modal-footer">
<div class="hstack gap-2 justify-content-end">
<button type="button" class="btn btn-light"
data-bs-dismiss="modal">Close</button>
<button type="submit" class="btn btn-success"
id="add-btn">Submit</button>
<!-- <button type="button" class="btn btn-success"
id="edit-btn">Update</button> -->
</div>
</div>
</form>
</div>
</div>
</div>
</div>
</div>
<!--end col-->
</div>
<!--end row-->
<?php $__env->stopSection(); ?>
<?php $__env->startSection('script'); ?>
<script src="<?php echo e(URL::asset('assets/libs/list.js/list.js.min.js')); ?>"></script>
<script src="<?php echo e(URL::asset('assets/libs/list.pagination.js/list.pagination.js.min.js')); ?>"></script>
<!--ecommerce-customer init js -->
<!-- <script src="<?php echo e(URL::asset('assets/js/pages/ecommerce-order.init.js')); ?>"></script> -->
<script src="<?php echo e(URL::asset('assets/libs/sweetalert2/sweetalert2.min.js')); ?>"></script>
<script src="<?php echo e(URL::asset('assets/js/pages/form-validation.init.js')); ?>"></script>
<script src="<?php echo e(URL::asset('/assets/js/app.min.js')); ?>"></script>
<script src = "https://ajax.googleapis.com/ajax/libs/jquery/2.1.3/jquery.min.js">
<script src="https://code.jquery.com/jquery-1.9.1.min.js"></script>
<script src="https://cdn.jsdelivr.net/npm/select2@4.1.0-rc.0/dist/js/select2.min.js"></script>
<script src="<?php echo e(URL::asset('assets/js/pages/select2.init.js')); ?>"></script>
<script>
$(document).ready(function() {
$("#partner").select2({
dropdownParent: $("#addDelivery_Modal")
});
var url = window.location;
// for single sidebar menu
$('ul.navbar-nav a').filter(function () {
return this.href == url;
}).addClass('active');
});
var str_dt = function formatDate(date) {
var monthNames = ["Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"];
var d = new Date(date),
time_s = (d.getHours() + ':' + d.getMinutes());
var t = time_s.split(":");
var hours = t[0];
var minutes = t[1];
var newformat = hours >= 12 ? 'PM' : 'AM';
hours = hours % 12;
hours = hours ? hours : 12;
minutes = minutes < 10 ? '0' + minutes : minutes;
month = '' + monthNames[(d.getMonth())],
day = '' + d.getDate(),
year = d.getFullYear();
if (month.length < 2)
month = '0' + month;
if (day.length < 2)
day = '0' + day;
return [day + " " + month + "," + year + " <small class='text-muted'>" + hours + ':' + minutes + ' ' + newformat + "</small>"];
};
var isChoiceEl = document.getElementById("idStatus");
var choices = new Choices(isChoiceEl, {
searchEnabled: true,
// searchResultLimit: 4,
shouldSort: false
});
var isChoiceEl = document.getElementById("delivered_by");
var choices = new Choices(isChoiceEl, {
searchEnabled: false,
shouldSort: false
});
var vendorEl = document.getElementById("idVendor");
var choices = new Choices(vendorEl, {
searchEnabled: true,
searchResultLimit: 5,
// position:"below"
});
var perPage = 10;
//Table
var options = {
valueNames: [
"id",
"date",
"vendor",
"customer_name",
"sale_status",
"total_amount",
"payment_status",
"delivery",
"action"
],
page: perPage,
pagination: true,
plugins: [
ListPagination({
left: 2,
right: 2,
}),
],
};
// Init list
var orderList = new List("orderList", options).on("updated", function(list) {
list.matchingItems.length == 0 ?
(document.getElementsByClassName("noresult")[0].style.display = "block") :
(document.getElementsByClassName("noresult")[0].style.display = "none");
var isFirst = list.i == 1;
var isLast = list.i > list.matchingItems.length - list.page;
// make the Prev and Nex buttons disabled on first and last pages accordingly
document.querySelector(".pagination-prev.disabled") ?
document.querySelector(".pagination-prev.disabled").classList.remove("disabled") : "";
document.querySelector(".pagination-next.disabled") ?
document.querySelector(".pagination-next.disabled").classList.remove("disabled") : "";
if (isFirst) {
document.querySelector(".pagination-prev").classList.add("disabled");
}
if (isLast) {
document.querySelector(".pagination-next").classList.add("disabled");
}
if (list.matchingItems.length <= perPage) {
document.querySelector(".pagination-wrap").style.display = "none";
} else {
document.querySelector(".pagination-wrap").style.display = "flex";
}
if (list.matchingItems.length == perPage) {
document.querySelector(".pagination.listjs-pagination").firstElementChild.children[0].click()
}
if (list.matchingItems.length > 0) {
document.getElementsByClassName("noresult")[0].style.display = "none";
} else {
document.getElementsByClassName("noresult")[0].style.display = "block";
}
});
orderList.clear();
document.querySelector(".pagination-next").addEventListener("click", function() {
document.querySelector(".pagination.listjs-pagination") ?
document.querySelector(".pagination.listjs-pagination").querySelector(".active") ?
document.querySelector(".pagination.listjs-pagination").querySelector(".active").nextElementSibling.children[0].click() : "" : "";
});
document.querySelector(".pagination-prev").addEventListener("click", function() {
document.querySelector(".pagination.listjs-pagination") ?
document.querySelector(".pagination.listjs-pagination").querySelector(".active") ?
document.querySelector(".pagination.listjs-pagination").querySelector(".active").previousSibling.children[0].click() : "" : "";
});
// data into
$.ajax({
type:'get',
url:'<?php echo e(route("get_orders")); ?>',
success:function(data) {
dataAppend(data);
// $("#msg").html(data.msg);
}
});
document.getElementById("showModal").addEventListener("show.bs.modal", function(e) {
if (e.relatedTarget.classList.contains("edit-item-btn")) {
document.getElementById("exampleModalLabel").innerHTML = "Edit Order";
document.getElementById("showModal").querySelector(".modal-footer").style.display = "block";
document.getElementById("add-btn").style.display = "none";
document.getElementById("edit-btn").style.display = "block";
} else if (e.relatedTarget.classList.contains("add-btn")) {
document.getElementById("modal-id").style.display = "none";
document.getElementById("exampleModalLabel").innerHTML = "Add Order";
document.getElementById("showModal").querySelector(".modal-footer").style.display = "block";
document.getElementById("edit-btn").style.display = "none";
document.getElementById("add-btn").style.display = "block";
} else {
document.getElementById("exampleModalLabel").innerHTML = "List Order";
document.getElementById("showModal").querySelector(".modal-footer").style.display = "none";
}
});
document.getElementById("showModal").addEventListener("hidden.bs.modal", function() {
clearFields();
});
function SearchData() {
var isstatus = document.getElementById("idStatus").value;
var delivered_by = document.getElementById("delivered_by").value;
var vendor = document.getElementById("idVendor").value;
var pickerVal = document.getElementById("demo-datepicker").value;
var search_input=$("#search_input").val();
var date1 = "";
var date2 = "";
if (pickerVal) {
date1 = pickerVal.split(" to ")[0];
date2 = pickerVal.split(" to ")[1];
}
console.log(date1);
var body={
'_token': '<?php echo e(csrf_token()); ?>',
"status":isstatus,
"vendor":vendor,
"delivered_by":delivered_by,
"from_date":date1,
"to_date":date2,
"search_input":search_input
}
$.ajax({
type:'POST',
url: '<?php echo e(route("filter_orders")); ?>',
data:body,
success:function(data) {
dataAppend(data);
}
});
}
function dataAppend(data) {
orderList.clear();
var json_records = JSON.parse(data);
Array.from(json_records).forEach(function(element) {
var url = '<?php echo e(route("order_details", ":order_id")); ?>';
url = url.replace(':order_id', element.id);
// '<a href="'+url+'" class="fw-medium link-primary">#' + element.id + '</a>'
orderList.add({
id: '<a href="'+url+'" class="fw-medium link-primary">#' + element.invoice + '</a>',
date: str_dt(element.date),
vendor: element.vendor,
customer_name: element.customer_name,
sale_status: isStatus(element.sale_status),
total_amount: element.total_amount,
payment_status: element.payment_status,
delivery: element.delivery,
action: '<ul class="list-inline hstack gap-2 mb-0">\
<li class="list-inline-item" data-bs-toggle="tooltip"\
data-bs-trigger="hover" data-bs-placement="top"\
title="View">\
<a href='+url+'\
class="text-primary d-inline-block">\
<i class="ri-eye-fill fs-16"></i>\
</a>\
</li>\
<li class="list-inline-item edit"\
data-bs-toggle="tooltip" data-bs-trigger="hover"\
data-bs-placement="top" title="Add Delivery">\
<a onclick="add_delivery_modal\
(`'+element.id+'`,`'+element.sale_status+'`,`'+element.delivery+'`)" href="javascript:"\
class="text-primary d-inline-block edit-item-btn">\
<i class="ri-truck-fill fs-16"></i>\
</a>\
</li>\
</ul>'
});
orderList.sort('id', { order: "desc" });
// orderList.sort('date', { order: "desc" });
});
orderList.remove("id", `<a href="apps-ecommerce-order-details" class="fw-medium link-primary"></a>`);
}
function isStatus(val) {
switch (val) {
case 4:
return (
'<span class="badge badge-soft-success text-uppercase">Delivered</span>'
);
case 5:
return (
'<span class="badge badge-soft-danger text-uppercase">Cancelled</span>'
);
case 2:
return (
'<span class="badge badge-soft-secondary text-uppercase">Accepted</span>'
);
case 3:
return (
'<span class="badge badge-soft-info text-uppercase">Picked Up</span>'
);
case 6:
return (
'<span class="badge badge-soft-primary text-uppercase">Returned</span>'
);
case 1:
return (
'<span class="badge badge-soft-warning text-uppercase">Received</span>'
);
}
}
document.getElementById("addDelivery_Modal").addEventListener("hidden.bs.modal", function() {
$(this).find('form').trigger('reset');
});
function add_delivery_modal(sale_id,status,delivery) {
if (status==2 && delivery=="JIFF") {
var url = "<?php echo e(route('order_info', ":sale_id")); ?>";
url = url.replace(':sale_id', sale_id);
$.ajax({
type:'get',
url: url,
success:function(data) {
data=JSON.parse(data);
$("#sale_id").val(sale_id);
$("#address").text(data.address);
$('#addDelivery_Modal').modal('toggle');
// addDelivery_Modal
// dataAppend(data);
// $("#msg").html(data.msg);
}
});
}else{
Swal.fire({
title: 'Error!',
text: 'Order is not Accepted yet or Jiff is not the delivery partner',
icon: 'error',
confirmButtonText: 'Ok',
confirmButtonClass: 'btn btn-info',
buttonsStyling: false,
showCloseButton: true
})
}
}
</script>
<?php $__env->stopSection(); ?>
<?php echo $__env->make('layouts.master', \Illuminate\Support\Arr::except(get_defined_vars(), ['__data', '__path']))->render(); ?><?php /**PATH D:\jiff\default\resources\views/pages/orders/index.blade.php ENDPATH**/ ?>
|