resto-dhepot/resources/views/pages/History/js.blade.php

242 lines
10 KiB
PHP

@push('scripts')
<script src="{{ asset('assets/datatables/datatables.min.js') }}"></script>
<script>
$(document).ready(function() {
let dataTable = $('#tabelku').DataTable({
aLengthMenu: [
[25, 50, 100, 200, -1],
[25, 50, 100, 200, "All"]
],
processing: true,
serverSide: true,
ajax: {
url: '{{ route('history.getDataHistory') }}',
data: function(d) {
d.filter_tanggal_1 = $("#filter_tanggal_1").val();
d.filter_tanggal_2 = $("#filter_tanggal_2").val();
}
},
columns: [{
data: 'nomor',
name: 'nomor',
orderable: false,
className: 'text-center'
},
{
data: 'kode_pesanan',
name: 'kode_pesanan'
},
{
data: 'nama_pemesan',
name: 'nama_pemesan'
},
{
data: 'nomor_meja',
name: 'nomor_meja'
},
{
data: 'nomor_antrian',
name: 'nomor_antrian'
},
{
data: 'created_at',
name: 'created_at'
},
{
data: 'total_pesanan',
name: 'total_pesanan',
className: 'text-center'
},
{
data: 'total_bayar',
name: 'total_bayar',
className: 'text-right',
render: function(data) {
// change to IDR
return 'Rp. ' + data.toString().replace(/\B(?=(\d{3})+(?!\d))/g, '.');
}
},
{
data: 'diskon_persen',
name: 'diskon_persen',
className: 'text-center',
render: function(data) {
return data ?? 0;
}
},
{
data: 'grand_total',
name: 'grand_total',
className: 'text-right',
render: function(data) {
// change to IDR
return 'Rp. ' + data.toString().replace(/\B(?=(\d{3})+(?!\d))/g, '.');
}
},
{
data: 'ubah',
name: 'ubah',
className: 'text-center'
},
],
footerCallback: function(row, data, start, end, display) {
let api = this.api();
// Remove the formatting to get integer data for summation
let intVal = function(i) {
return typeof i === 'string' ?
i.replace(/[\$,]/g, '') * 1 :
typeof i === 'number' ?
i :
0;
};
// GrandTotal over all pages
totalAll = api
.column(9)
.data()
.reduce((a, b) => intVal(a) + intVal(b), 0);
// GrandTotal over all pages
// Total over this page
pageTotal = api
.column(7, {
page: 'current'
})
.data()
.reduce((a, b) => intVal(a) + intVal(b), 0);
// total pesanan
totalPesanan = api
.column(6)
.data()
.reduce((a, b) => intVal(a) + intVal(b), 0);
// Update footer
api.column(6).footer().innerHTML = totalPesanan + ' Item';
api.column(7).footer().innerHTML =
'Rp. ' + pageTotal.toString().replace(/\B(?=(\d{3})+(?!\d))/g, '.');
api.column(9).footer().innerHTML =
'Rp. ' + totalAll.toString().replace(/\B(?=(\d{3})+(?!\d))/g, '.');
}
})
$('#btn_filter').on('click', function() {
if ($("#filter_tanggal_1").val() == "" || $("#filter_tanggal_2").val() == "") {
alert("Input pencarian tidak boleh kosong")
} else {
dataTable.ajax.reload();
}
});
})
</script>
<script>
function print(id) {
var url = "{{ route('history.print', '') }}/" + id + '?print=true'
// window.open(url, '_blank');
window.open(url, '_blank', "toolbar=yes,scrollbars=yes,resizable=yes,top=500,left=500,width=900,height=600");
}
</script>
<script>
function detail(id_pesanan) {
$.ajax({
headers: {
'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content')
},
type: "POST",
url: "{{ route('history.getDataDetailHistory') }}",
data: {
id_pesanan: id_pesanan,
},
success: function(result) {
$('#view_history_detail').empty()
if (result.status) {
const data = result.data.detail_pesanan
let nomor = 1
// console.log(data);
data.forEach(x => {
if (x.status_pesanan == 0) {
statusnya = '<span class="badge badge-warning">TAKEAWAY</span>';
} else if (x.status_pesanan == 1) {
statusnya = '<span class="badge badge-info">DINEIN</span>';
} else if (x.status_pesanan == 2) {
statusnya = '<span class="badge badge-info">DINEIN</span>';
} else if (x.status_pesanan == 3) {
statusnya = '<span class="badge badge-danger">CANCEL</span>';
}
let tr = $('<tr></tr>')
tr.append('<td class="text-center">' + nomor + '</td>')
tr.append('<td>' + x.nama_produk +
statusnya + '</td>')
tr.append('<td>' + formatRupiah(x.harga_produk) + '</td>')
tr.append('<td class="text-center">' + x.jumlah_produk + '</td>')
tr.append('<td>' + formatRupiah(x.total_harga_produk) + '</td>')
tr.append('<td class="text-center">' + x.diskon_persen + '%</td>')
tr.append('<td class="text-center">' + (x.keterangan_produk ?? '-') +
'</td>')
$('#view_history_detail').append(tr)
nomor++
})
$('#kode_pesanan').val(result.data.kode_pesanan)
$('#nama_pemesan').val(result.data.nama_pemesan)
$('#tanggal_jam').val(tanggal_jam(result.data.created_at))
$('#nomor_meja').val(result.data.nomor_meja)
$('#nomor_antrian').val(result.data.nomor_antrian)
$('#total_pesanan').val(result.data.total_pesanan + ' Item')
$('#sub_total').val(formatRupiah(result.data.total_bayar))
if (result.data.diskon_persen == null) {
result.data.diskon_persen = 0
}
$('#diskon_persen').val(result.data.diskon_persen + '%')
$('#grand_total').val(formatRupiah(result.data.grand_total))
}
}
})
$('#modal_detail_history').modal('show')
}
function tanggal_jam(tanggal) {
let date = new Date(tanggal)
let tahun = date.getFullYear()
let bulan = date.getMonth() + 1
let tanggalnya = date.getDate()
let jam = date.getHours()
let menit = date.getMinutes()
let detik = date.getSeconds()
return `${tanggalnya}-${bulan}-${tahun} ${jam}:${menit}:${detik}`
}
</script>
{{-- <script>
$(document).ready( function () {
$('#btn_filter').on('click', function(){
let filter_tanggal_1 = $("#filter_tanggal_1").val()
let filter_tanggal_2 = $("#filter_tanggal_2").val()
// proses ajax
})
})
</script> --}}
<script>
function formatRupiah(angka) {
var bilangan = parseInt(angka);
// Cek apakah bilangan negatif atau positif
var minus = "";
if (bilangan < 0) {
minus = "-";
bilangan = Math.abs(bilangan);
}
// Konversi angka menjadi format ribuan dengan menambahkan titik
var reverse = bilangan.toString().split("").reverse().join("");
var ribuan = reverse.match(/\d{1,3}/g);
var hasil = ribuan.join(".").split("").reverse().join("");
// Gabungkan hasil dengan simbol rupiah
var rupiah = "Rp " + minus + hasil;
return rupiah;
}
</script>
@endpush