Zelda Ababil 2024-01-19 21:26:45 +07:00
parent 21ac937b36
commit 133712226d
4 changed files with 132 additions and 34 deletions

View File

@ -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);
}
}

View File

@ -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

1 ketegori_produk_id kode_produk nama_produk deskripsi_produk varian_produk harga_produk urutan
380 2 NPL T.CEP BKR SB.BWG UDANG Nasi Pecel Telur Ceplok Bakar Sambal Bawang UDANG 21000
381 2 NPL T.CEP BKR SB.BWG CUMI Nasi Pecel Telur Ceplok Bakar Sambal Bawang CUMI 21000
382 2 NPL T.CEP BKR SB.BWG DAGING SAPI Nasi Pecel Telur Ceplok Bakar Sambal Bawang DAGING SAPI 22000
383 2 CAKALAN BUMER CAKALAN CAKALAN Bumbu Merah 6000 4
384 2 USUS BUMER USUS USUS Bumbu Merah 6000 4
385 2 REMPELO ATI BUMER REMPELO ATI REMPELO ATI Bumbu Merah 6000 4
386 2 KULIT AYAM BUMER KULIT AYAM KULIT AYAM Bumbu Merah 6000 4
387 2 AYAM SUWIR BUMER AYAM SUWIR AYAM SUWIR Bumbu Merah 7000 4
388 2 PARU BUMER PARU PARU Bumbu Merah 7000 4
389 2 BABAT BUMER BABAT BABAT Bumbu Merah 7000 4
390 2 UDANG BUMER UDANG UDANG Bumbu Merah 8000 4
391 2 CUMI BUJO CUMI CUMI Bumbu Ijo 8000 4
392 2 DAGING SAPI BUMER DAGING SAPI DAGING SAPI Bumbu Merah 9000 4
393 2 T.KER TELUR KERITING 5000 2
394 2 T.KER BKR TELUR KERITING BAKAR 6000 2
395 2 T.CEP TELUR CEPLOK 5000 2

View File

@ -38,7 +38,7 @@
</ul>
</div>
<div class="card-body" id="batasitinggi"
style="height:600px;overflow-y:scroll;margin-bottom: 5px;padding-top: 2px;padding-bottom: 2px">
style="height:720px;overflow-y:scroll;margin-bottom: 5px;padding-top: 2px;padding-bottom: 2px">
<div class="tab-content" id="custom-tabs-four-tabContent">
@foreach ($KelompokKategori as $key => $item)
<div class="tab-pane fade show @if ($key == 0) active @endif"
@ -86,14 +86,15 @@
</li>
</ul>
</div>
<a class="btn btn-primary disabled" id="ordered-menus">Pilih
<a class="btn btn-primary disabled"
id="select-ordered-menus" onclick="cariPaket()">Pilih
Paket Menu
</a>
</div>
</div>
</div>
<div class="col-8 col-sm-9" style="padding: 0px;">
<div class="card-body" style="height:590px;overflow-y:scroll;">
<div class="card-body" style="height:700px;overflow-y:scroll;">
<div class="tab-content" id="vert-tabs-tabContent">
<div class="tab-pane text-left fade show active"
id="vert-tabs-nasi" role="tabpanel"
@ -410,22 +411,30 @@
</div>
<!-- /.row -->
</div><!-- /.container-fluid -->
<div class="modal fade" id="modal-default">
<div class="modal-dialog">
<div class="modal-content">
<div class="modal-header">
<h4 class="modal-title">Spesial Paket Komplit</h4>
<button type="button" class="close" data-dismiss="modal" aria-label="Close">
<span aria-hidden="true">&times;</span>
</button>
</div>
<div class="modal-body" id="show-modal-paket">
</div>
</div>
<!-- /.modal-content -->
</div>
<!-- /.modal-dialog -->
</div>
@endsection
@push('styles')
<!-- Toastr -->
<style>
@media only screen and (max-width : 991px) {
/* Styles */
}
@media only screen and (max-width : 768px) {
/* Styles */
}
@media only screen and (max-width : 414px) {
/* Styles */
}
</style>
<link rel="stylesheet" href="{{ asset('assets/plugins/toastr/toastr.min.css') }}">
@endpush
@ -517,6 +526,7 @@
</td>
`;
calculateTotal();
$('#modal-default').modal('hide');
} else {
$('#tbody-order-menus').append(`
<tr id="row-${params.id}" data-id="${params.id}" data-nama="${params.nama_produk}" data-harga="${params.harga_produk}" data-qty="1" data-total="${params.harga_produk}">
@ -544,6 +554,7 @@
</tr>
`);
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 @@
</li>
`;
}
}
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, '&quot;');
// 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 += `
<div class="card card-primary card-outline btn"
onclick="aadMenu(${htmlEntitiesData})">
<div class="card-header">
<h5 class="card-title m-0" id="nama-produk-modal">
${result.nama_produk ?? ''}
</h5>
</div>
<div class="card-body">
<div class="col">
<img style="width: 100%;height: 200px;object-fit: cover;"
src="${gambar_produk}"
alt="${result.nama_produk ?? ''}">
<div class="row"
style="margin: 5px;display: flex;align-items: center;align-content: center;">
<h5 class="col-6">
${result.harga_produk ?? ''}
</h5>
<a class="col-6 btn btn-primary" id="ordered-menus">Pesan</a>
</div>
</div>
</div>
</div>
`;
$('#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);
}
})
}
</script>
@endpush

View File

@ -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');
});