From 636dd62ea6549cf73bc728149974f19f6cce9d78 Mon Sep 17 00:00:00 2001 From: Zelda Ababil Date: Mon, 5 Feb 2024 16:23:46 +0700 Subject: [PATCH] cancel pesanan --- .../Admins/Penjualan/PenjualanController.php | 10 +-- .../pages/admin/dashboard/chartjs.blade.php | 10 +-- .../views/pages/admin/penjualan/js.blade.php | 88 +++++++++++++++++-- .../pages/admin/penjualan/modal.blade.php | 16 +++- 4 files changed, 106 insertions(+), 18 deletions(-) diff --git a/app/Http/Controllers/Admins/Penjualan/PenjualanController.php b/app/Http/Controllers/Admins/Penjualan/PenjualanController.php index c4710ce..d74efe6 100644 --- a/app/Http/Controllers/Admins/Penjualan/PenjualanController.php +++ b/app/Http/Controllers/Admins/Penjualan/PenjualanController.php @@ -57,9 +57,9 @@ class PenjualanController extends Controller }) ->addColumn('ubah', function ($data) { return '
- cancel - -
'; + + + '; }) ->rawColumns(['nomor', 'nama_user', 'created_at', 'grand_total', 'ubah']) ->make(true); @@ -75,8 +75,8 @@ class PenjualanController extends Controller public function getDataDetailPenjualan(Request $request) { $data = DetailPesanan::with('pesanan')->where('pesanan_id', $request->id_pesanan)->get(); - - return response()->json(['status' => true, 'data' => $data]); + $pesanan = Pesanan::find($request->id_pesanan); + return response()->json(['status' => true, 'data' => $data, 'pesanan' => $pesanan]); } public function laporan(Request $request) diff --git a/resources/views/pages/admin/dashboard/chartjs.blade.php b/resources/views/pages/admin/dashboard/chartjs.blade.php index d283be4..66bd2bc 100644 --- a/resources/views/pages/admin/dashboard/chartjs.blade.php +++ b/resources/views/pages/admin/dashboard/chartjs.blade.php @@ -39,7 +39,7 @@ var menuPaketLegend = $('#menuPaketLegend'); $.each(data.labels, function(index, value) { menuPaketLegend.append('
  • ' + value + ' : ' + data.data[ + color[index] + '"> ' + value + ' : ' + data.data[ index] + '
  • '); }); var pieData = { @@ -80,7 +80,7 @@ var menuIritLegend = $('#menuIritLegend'); $.each(data.labels, function(index, value) { menuIritLegend.append('
  • ' + value + ' : ' + data.data[ + color[index] + '"> ' + value + ' : ' + data.data[ index] + '
  • '); }); var pieData = { @@ -148,7 +148,7 @@ var menuNasiLegend = $('#menuNasiLegend'); $.each(data.labels, function(index, value) { menuNasiLegend.append('
  • ' + value + ' : ' + data.data[ + color[index] + '"> ' + value + ' : ' + data.data[ index] + '
  • '); }); var pieData = { @@ -189,7 +189,7 @@ var menuSambalLegend = $('#menuSambalLegend'); $.each(data.labels, function(index, value) { menuSambalLegend.append('
  • ' + value + ' : ' + data.data[ + color[index] + '"> ' + value + ' : ' + data.data[ index] + '
  • '); }); var pieData = { @@ -232,7 +232,7 @@ var menuLaukLegend = $('#menuLaukLegend'); $.each(data.labels, function(index, value) { menuLaukLegend.append('
  • ' + value + ' : ' + data.data[ + color[index] + '"> ' + value + ' : ' + data.data[ index] + '
  • '); }); var pieData = { diff --git a/resources/views/pages/admin/penjualan/js.blade.php b/resources/views/pages/admin/penjualan/js.blade.php index cc427a5..4a0177b 100644 --- a/resources/views/pages/admin/penjualan/js.blade.php +++ b/resources/views/pages/admin/penjualan/js.blade.php @@ -155,15 +155,36 @@ let tr = $('') tr.append('' + nomor + '') tr.append('' + x.nama_produk + '') - tr.append('' + formatRupiah(x.harga_produk) + '') - tr.append('' + x.jumlah_produk + '') - tr.append('' + formatRupiah(x.total_harga_produk) + '') - tr.append('' + x.diskon_persen + '%') tr.append('' + (x.keterangan_produk ?? '-') + '') + tr.append('' + formatRupiah(x.harga_produk) + '') + tr.append('' + x.jumlah_produk + '') + tr.append('' + x.diskon_persen + '%') + tr.append('' + formatRupiah(x.total_harga_produk) + '') $('#view_penjualan_detail').append(tr) nomor++ }) + + // add footer + let tfoot = $('') + tfoot.append('Total') + tfoot.append('' + formatRupiah(result.pesanan.grand_total) + '') + tfoot.append('') + $('#view_penjualan_detail_tfoot').empty().append(tfoot) + + // set attribute to label + $('#kode_pesanan').text('Kode Pesanan: ' + result.pesanan.kode_pesanan) + $('#nama_pemesan').text('Nama Pemesan: ' + result.pesanan.nama_pemesan) + $('#nomor_meja').text('Nomor Meja: ' + result.pesanan.nomor_meja) + $('#tanggal_pesan').text('Tanggal Pesan: ' + result.pesanan.tanggal_pesanan) + + // attach attribute to button + $('#cancelPesanan').attr('data-id', result.pesanan.id) + $('#cancelPesanan').attr('data-kode', result.pesanan.kode_pesanan) + $('#cancelPesanan').attr('data-nama', result.pesanan.nama_pemesan) + // attach a function to button + $('#cancelPesanan').attr('onclick', 'cancelPesanan(' + result.pesanan.id + ', "' + + result.pesanan.kode_pesanan + '", "' + result.pesanan.nama_pemesan + '")') } } }) @@ -192,10 +213,19 @@ return rupiah; } - cancelOrder = (id) => { + $(document).on('click', '.cancelOrderBtn', function() { + // get arttibute data-kode_pesanan from button + let id = $(this).attr('data-id'); + let kode_pesanan = $(this).attr('data-kode_pesanan'); + let nama_pemesanan = $(this).attr('data-nama_pemesan'); + + var text = "Membatalkan pesanan dengan data
    Kode Pesanan: " + kode_pesanan + + "
    Nama Pemesan: " + + nama_pemesanan + + " ?"; Swal.fire({ title: 'Apakah anda yakin?', - text: "Data yang sudah dihapus tidak dapat dikembalikan!", + html: text, icon: 'warning', showCancelButton: true, confirmButtonColor: '#3085d6', @@ -231,6 +261,52 @@ }) } }) + }) + + function cancelPesanan(id, kode, nama) { + var text = "Membatalkan pesanan dengan data Kode Pesanan: " + kode + + " Nama Pemesan: " + + nama + + " ?"; + Swal.fire({ + title: 'Apakah anda yakin?', + text: text, + icon: 'warning', + showCancelButton: true, + confirmButtonColor: '#3085d6', + cancelButtonColor: '#d33', + confirmButtonText: 'Ya, Hapus!', + cancelButtonText: 'Batal' + }).then((result) => { + if (result.isConfirmed) { + $.ajax({ + type: "DELETE", + url: "{{ route('penjualan.cancel') }}", + data: { + _token: "{{ csrf_token() }}", + id: id + }, + success: function(result) { + console.log(result); + if (result.status) { + Swal.fire( + 'Berhasil!', + result.message, + 'success' + ) + $('#modal_detail_penjualan').modal('hide'); + $('#tabelku').DataTable().ajax.reload(); + } else { + Swal.fire( + 'Gagal!', + result.message, + 'error' + ) + } + } + }) + } + }) } // // cetak_laporan diff --git a/resources/views/pages/admin/penjualan/modal.blade.php b/resources/views/pages/admin/penjualan/modal.blade.php index 10aed85..c24f4eb 100644 --- a/resources/views/pages/admin/penjualan/modal.blade.php +++ b/resources/views/pages/admin/penjualan/modal.blade.php @@ -8,23 +8,35 @@ +