From 133712226d74ef9da81f13df74bfce32a6f8812e Mon Sep 17 00:00:00 2001 From: Zelda Ababil Date: Fri, 19 Jan 2024 21:26:45 +0700 Subject: [PATCH] pul --- app/Http/Controllers/Kasir/Transaksi.php | 21 ++- database/seeders/data_csv/produk.csv | 20 +-- .../views/pages/Kasir/transaksi.blade.php | 123 +++++++++++++++--- routes/web.php | 2 +- 4 files changed, 132 insertions(+), 34 deletions(-) diff --git a/app/Http/Controllers/Kasir/Transaksi.php b/app/Http/Controllers/Kasir/Transaksi.php index a3708d7..18a1b0e 100644 --- a/app/Http/Controllers/Kasir/Transaksi.php +++ b/app/Http/Controllers/Kasir/Transaksi.php @@ -94,10 +94,25 @@ class Transaksi extends Controller return view('pages.Kasir.detail', compact('pesanan')); } - public function selectPaket($KODE) + public function selectPaket(Request $request) { - $produk = Produk::where('kode_produk', $KODE)->get(); - dd($produk); + $arrayKodeProduk = $request->kodeProduk; + // tampung data kodeProduk dari request ke variabel $kodeProduk + $kodeProduk = []; + + usort($arrayKodeProduk, function ($a, $b) { + return $a['urutan'] - $b['urutan']; + }); + + foreach ($arrayKodeProduk as $key => $value) { + $kodeProduk[] = $value['kode_produk']; + } + $hasil = []; + $hasil[] = implode(' ', $kodeProduk); + + // cari data produk berdasarkan kodeProduk + $produk = Produk::where('kode_produk', $hasil)->first(); + // dd($produk); return response()->json($produk); } } diff --git a/database/seeders/data_csv/produk.csv b/database/seeders/data_csv/produk.csv index c7aa878..d4a57a2 100644 --- a/database/seeders/data_csv/produk.csv +++ b/database/seeders/data_csv/produk.csv @@ -380,16 +380,16 @@ 2,NPL T.CEP BKR SB.BWG UDANG,Nasi Pecel Telur Ceplok Bakar Sambal Bawang UDANG,,,21000, 2,NPL T.CEP BKR SB.BWG CUMI,Nasi Pecel Telur Ceplok Bakar Sambal Bawang CUMI,,,21000, 2,NPL T.CEP BKR SB.BWG DAGING SAPI,Nasi Pecel Telur Ceplok Bakar Sambal Bawang DAGING SAPI,,,22000, -2,CAKALAN BUMER,CAKALAN Bumbu Merah,,,6000,4 -2,USUS BUMER,USUS Bumbu Merah,,,6000,4 -2,REMPELO ATI BUMER,REMPELO ATI Bumbu Merah,,,6000,4 -2,KULIT AYAM BUMER,KULIT AYAM Bumbu Merah,,,6000,4 -2,AYAM SUWIR BUMER,AYAM SUWIR Bumbu Merah,,,7000,4 -2,PARU BUMER,PARU Bumbu Merah,,,7000,4 -2,BABAT BUMER,BABAT Bumbu Merah,,,7000,4 -2,UDANG BUMER,UDANG Bumbu Merah,,,8000,4 -2,CUMI BUJO,CUMI Bumbu Ijo,,,8000,4 -2,DAGING SAPI BUMER,DAGING SAPI Bumbu Merah,,,9000,4 +2,CAKALAN,CAKALAN Bumbu Merah,,,6000,4 +2,USUS,USUS Bumbu Merah,,,6000,4 +2,REMPELO ATI,REMPELO ATI Bumbu Merah,,,6000,4 +2,KULIT AYAM,KULIT AYAM Bumbu Merah,,,6000,4 +2,AYAM SUWIR,AYAM SUWIR Bumbu Merah,,,7000,4 +2,PARU,PARU Bumbu Merah,,,7000,4 +2,BABAT,BABAT Bumbu Merah,,,7000,4 +2,UDANG,UDANG Bumbu Merah,,,8000,4 +2,CUMI,CUMI Bumbu Ijo,,,8000,4 +2,DAGING SAPI,DAGING SAPI Bumbu Merah,,,9000,4 2,T.KER,TELUR KERITING,,,5000,2 2,T.KER BKR,TELUR KERITING BAKAR,,,6000,2 2,T.CEP,TELUR CEPLOK,,,5000,2 diff --git a/resources/views/pages/Kasir/transaksi.blade.php b/resources/views/pages/Kasir/transaksi.blade.php index 71acae6..e315218 100644 --- a/resources/views/pages/Kasir/transaksi.blade.php +++ b/resources/views/pages/Kasir/transaksi.blade.php @@ -38,7 +38,7 @@
+ style="height:720px;overflow-y:scroll;margin-bottom: 5px;padding-top: 2px;padding-bottom: 2px">
@foreach ($KelompokKategori as $key => $item)
- Pilih + Pilih Paket Menu
-
+
+ + + @endsection @push('styles') @endpush @@ -517,6 +526,7 @@ `; calculateTotal(); + $('#modal-default').modal('hide'); } else { $('#tbody-order-menus').append(` @@ -544,6 +554,7 @@ `); calculateTotal(); + $('#modal-default').modal('hide'); } } @@ -836,7 +847,6 @@ var index = 0; for (var i = 0; i < selectedMenus.length; i++) { - console.log(selectedMenus[i].urutan); // lakukan periksa kembali apabila menu dengan urutan yang sama sudah ada maka hapus menu tersebut dari array selectedMenus kecuali menu dengan urutan 5 boleh lebih dari 1 if (params.urutan == 5) { if (selectedMenus[i].id == params.id) { @@ -853,12 +863,13 @@ if (isExist) { selectedMenus.splice(index, 1); - document.getElementById('ordered-menus').classList.remove('disabled'); - document.getElementById('ordered-menus').setAttribute('onclick', 'orderedMenus()'); + document.getElementById('select-ordered-menus').classList.remove('disabled'); + // document.getElementById('ordered-menus').setAttribute('onclick', 'orderedMenus()'); } else { selectedMenus.push(params); - document.getElementById('ordered-menus').classList.add('disabled'); - document.getElementById('ordered-menus').setAttribute('onclick', ''); + document.getElementById('select-ordered-menus').classList.remove('disabled'); + // document.getElementById('ordered-menus').classList.add('disabled'); + // document.getElementById('ordered-menus').setAttribute('onclick', ''); } menu_terpilih.innerHTML = ''; @@ -877,10 +888,82 @@ `; } + } - console.log(selectedMenus); - + // cari paket + function cariPaket(params) { + var show_modal_paket = document.getElementById('show-modal-paket'); + show_modal_paket.innerHTML = ``; + // loop selectedMenus ambil kode produk + var kodeProduk = []; + if (selectedMenus.length == 0) { + alert('Pilih Paket Menu Terlebih Dahulu'); + return false; + } + for (var i = 0; i < selectedMenus.length; i++) { + if (selectedMenus[i].urutan != 5) { + kodeProduk.push({ + urutan: selectedMenus[i].urutan, + kode_produk: selectedMenus[i].kode_produk + }); + } + } + var data = { + _token: "{{ csrf_token() }}", + kodeProduk: kodeProduk + }; + $.ajax({ + url: "{{ route('transaksi.cari-paket') }}", + method: "POST", + data: data, + success: function(result) { + var dataParse = JSON.stringify(result); + // Replace karakter kutipan ganda dengan HTML entities + var htmlEntitiesData = dataParse.replace(/\"/g, '"'); + // Tampilkan hasil + console.log(htmlEntitiesData); + var show_modal_paket = document.getElementById('show-modal-paket'); + if (result.gambar_produk != null) { + var gambar_produk = result.full_path; + } else { + var gambar_produk = "{{ asset('assets/images/menu_image.jpeg') }}"; + } + show_modal_paket.innerHTML += ` +
+
+
+ ${result.nama_produk ?? ''} +
+
+
+
+ ${result.nama_produk ?? ''} +
+
+ ${result.harga_produk ?? ''} +
+ Pesan +
+
+
+
+ `; + $('#modal-default').modal('show'); + }, + error: function(xhr, status, error) { + toastr.error(xhr.responseJSON.message, 'Error', { + timeOut: 3000 + }); + console.log(xhr.responseJSON); + console.log(status); + console.log(error); + } + }) } @endpush diff --git a/routes/web.php b/routes/web.php index 203931c..cfe8d03 100644 --- a/routes/web.php +++ b/routes/web.php @@ -21,5 +21,5 @@ Route::group(['prefix' => 'transaksi'], function () { Route::post('/store', [Transaksi::class, 'store'])->name('transaksi.store'); Route::get('/print/{id}', [Transaksi::class, 'print'])->name('transaksi.print'); Route::get('/detail/{id}', [Transaksi::class, 'detail'])->name('transaksi.detail'); - Route::get('/select-paket/{KODE}', [Transaksi::class, 'selectPaket'])->name('transaksi.select-paket'); + Route::post('/cari-paket', [Transaksi::class, 'selectPaket'])->name('transaksi.cari-paket'); });