pul
parent
21ac937b36
commit
133712226d
|
@ -94,10 +94,25 @@ class Transaksi extends Controller
|
||||||
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();
|
$arrayKodeProduk = $request->kodeProduk;
|
||||||
dd($produk);
|
// 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);
|
return response()->json($produk);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -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 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 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,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,CAKALAN,CAKALAN Bumbu Merah,,,6000,4
|
||||||
2,USUS BUMER,USUS Bumbu Merah,,,6000,4
|
2,USUS,USUS Bumbu Merah,,,6000,4
|
||||||
2,REMPELO ATI BUMER,REMPELO ATI Bumbu Merah,,,6000,4
|
2,REMPELO ATI,REMPELO ATI Bumbu Merah,,,6000,4
|
||||||
2,KULIT AYAM BUMER,KULIT AYAM Bumbu Merah,,,6000,4
|
2,KULIT AYAM,KULIT AYAM Bumbu Merah,,,6000,4
|
||||||
2,AYAM SUWIR BUMER,AYAM SUWIR Bumbu Merah,,,7000,4
|
2,AYAM SUWIR,AYAM SUWIR Bumbu Merah,,,7000,4
|
||||||
2,PARU BUMER,PARU Bumbu Merah,,,7000,4
|
2,PARU,PARU Bumbu Merah,,,7000,4
|
||||||
2,BABAT BUMER,BABAT Bumbu Merah,,,7000,4
|
2,BABAT,BABAT Bumbu Merah,,,7000,4
|
||||||
2,UDANG BUMER,UDANG Bumbu Merah,,,8000,4
|
2,UDANG,UDANG Bumbu Merah,,,8000,4
|
||||||
2,CUMI BUJO,CUMI Bumbu Ijo,,,8000,4
|
2,CUMI,CUMI Bumbu Ijo,,,8000,4
|
||||||
2,DAGING SAPI BUMER,DAGING SAPI Bumbu Merah,,,9000,4
|
2,DAGING SAPI,DAGING SAPI Bumbu Merah,,,9000,4
|
||||||
2,T.KER,TELUR KERITING,,,5000,2
|
2,T.KER,TELUR KERITING,,,5000,2
|
||||||
2,T.KER BKR,TELUR KERITING BAKAR,,,6000,2
|
2,T.KER BKR,TELUR KERITING BAKAR,,,6000,2
|
||||||
2,T.CEP,TELUR CEPLOK,,,5000,2
|
2,T.CEP,TELUR CEPLOK,,,5000,2
|
||||||
|
|
|
|
@ -38,7 +38,7 @@
|
||||||
</ul>
|
</ul>
|
||||||
</div>
|
</div>
|
||||||
<div class="card-body" id="batasitinggi"
|
<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">
|
<div class="tab-content" id="custom-tabs-four-tabContent">
|
||||||
@foreach ($KelompokKategori as $key => $item)
|
@foreach ($KelompokKategori as $key => $item)
|
||||||
<div class="tab-pane fade show @if ($key == 0) active @endif"
|
<div class="tab-pane fade show @if ($key == 0) active @endif"
|
||||||
|
@ -86,14 +86,15 @@
|
||||||
</li>
|
</li>
|
||||||
</ul>
|
</ul>
|
||||||
</div>
|
</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
|
Paket Menu
|
||||||
</a>
|
</a>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="col-8 col-sm-9" style="padding: 0px;">
|
<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-content" id="vert-tabs-tabContent">
|
||||||
<div class="tab-pane text-left fade show active"
|
<div class="tab-pane text-left fade show active"
|
||||||
id="vert-tabs-nasi" role="tabpanel"
|
id="vert-tabs-nasi" role="tabpanel"
|
||||||
|
@ -410,22 +411,30 @@
|
||||||
</div>
|
</div>
|
||||||
<!-- /.row -->
|
<!-- /.row -->
|
||||||
</div><!-- /.container-fluid -->
|
</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">×</span>
|
||||||
|
</button>
|
||||||
|
</div>
|
||||||
|
<div class="modal-body" id="show-modal-paket">
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<!-- /.modal-content -->
|
||||||
|
</div>
|
||||||
|
<!-- /.modal-dialog -->
|
||||||
|
</div>
|
||||||
@endsection
|
@endsection
|
||||||
|
|
||||||
@push('styles')
|
@push('styles')
|
||||||
<!-- Toastr -->
|
<!-- Toastr -->
|
||||||
<style>
|
<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>
|
</style>
|
||||||
<link rel="stylesheet" href="{{ asset('assets/plugins/toastr/toastr.min.css') }}">
|
<link rel="stylesheet" href="{{ asset('assets/plugins/toastr/toastr.min.css') }}">
|
||||||
@endpush
|
@endpush
|
||||||
|
@ -517,6 +526,7 @@
|
||||||
</td>
|
</td>
|
||||||
`;
|
`;
|
||||||
calculateTotal();
|
calculateTotal();
|
||||||
|
$('#modal-default').modal('hide');
|
||||||
} else {
|
} else {
|
||||||
$('#tbody-order-menus').append(`
|
$('#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}">
|
<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>
|
</tr>
|
||||||
`);
|
`);
|
||||||
calculateTotal();
|
calculateTotal();
|
||||||
|
$('#modal-default').modal('hide');
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -836,7 +847,6 @@
|
||||||
var index = 0;
|
var index = 0;
|
||||||
|
|
||||||
for (var i = 0; i < selectedMenus.length; i++) {
|
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
|
// 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 (params.urutan == 5) {
|
||||||
if (selectedMenus[i].id == params.id) {
|
if (selectedMenus[i].id == params.id) {
|
||||||
|
@ -853,12 +863,13 @@
|
||||||
|
|
||||||
if (isExist) {
|
if (isExist) {
|
||||||
selectedMenus.splice(index, 1);
|
selectedMenus.splice(index, 1);
|
||||||
document.getElementById('ordered-menus').classList.remove('disabled');
|
document.getElementById('select-ordered-menus').classList.remove('disabled');
|
||||||
document.getElementById('ordered-menus').setAttribute('onclick', 'orderedMenus()');
|
// document.getElementById('ordered-menus').setAttribute('onclick', 'orderedMenus()');
|
||||||
} else {
|
} else {
|
||||||
selectedMenus.push(params);
|
selectedMenus.push(params);
|
||||||
document.getElementById('ordered-menus').classList.add('disabled');
|
document.getElementById('select-ordered-menus').classList.remove('disabled');
|
||||||
document.getElementById('ordered-menus').setAttribute('onclick', '');
|
// document.getElementById('ordered-menus').classList.add('disabled');
|
||||||
|
// document.getElementById('ordered-menus').setAttribute('onclick', '');
|
||||||
}
|
}
|
||||||
|
|
||||||
menu_terpilih.innerHTML = '';
|
menu_terpilih.innerHTML = '';
|
||||||
|
@ -877,10 +888,82 @@
|
||||||
</li>
|
</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, '"');
|
||||||
|
// 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>
|
</script>
|
||||||
@endpush
|
@endpush
|
||||||
|
|
|
@ -21,5 +21,5 @@ Route::group(['prefix' => 'transaksi'], function () {
|
||||||
Route::post('/store', [Transaksi::class, 'store'])->name('transaksi.store');
|
Route::post('/store', [Transaksi::class, 'store'])->name('transaksi.store');
|
||||||
Route::get('/print/{id}', [Transaksi::class, 'print'])->name('transaksi.print');
|
Route::get('/print/{id}', [Transaksi::class, 'print'])->name('transaksi.print');
|
||||||
Route::get('/detail/{id}', [Transaksi::class, 'detail'])->name('transaksi.detail');
|
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');
|
||||||
});
|
});
|
||||||
|
|
Loading…
Reference in New Issue