diff --git a/app/Http/Controllers/Kasir/Transaksi.php b/app/Http/Controllers/Kasir/Transaksi.php index 4218859..18a1b0e 100644 --- a/app/Http/Controllers/Kasir/Transaksi.php +++ b/app/Http/Controllers/Kasir/Transaksi.php @@ -16,7 +16,7 @@ class Transaksi extends Controller $orderCode = "ORD -" . strtoupper(random_str(6, random_str())); $KelompokKategori = KelompokKategori::with('kelompokKategoriPivot.produk')->get(); $produk = Produk::all(); - return view('pages.kasir.transaksi', compact('orderCode', 'KelompokKategori', 'produk')); + return view('pages.Kasir.transaksi', compact('orderCode', 'KelompokKategori', 'produk')); } public function store(Request $request) @@ -85,19 +85,34 @@ class Transaksi extends Controller public function print($id) { $pesanan = \App\Models\Pesanan::with('detailPesanan', 'user')->find($id); - return view('pages.kasir.print', compact('pesanan')); + return view('pages.Kasir.print', compact('pesanan')); } public function detail($id) { $pesanan = \App\Models\Pesanan::with('detailPesanan', 'user')->find($id); - return view('pages.kasir.detail', compact('pesanan')); + 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/components/navbar.blade.php b/resources/views/components/navbar.blade.php index 222a1cc..b1b73ca 100644 --- a/resources/views/components/navbar.blade.php +++ b/resources/views/components/navbar.blade.php @@ -79,16 +79,15 @@ diff --git a/resources/views/pages/Kasir/transaksi.blade.php b/resources/views/pages/Kasir/transaksi.blade.php index 62c5b22..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 e83389a..e1c6e50 100644 --- a/routes/web.php +++ b/routes/web.php @@ -23,7 +23,7 @@ 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'); }); Route::group(['prefix' => 'history'], function () {