Compare commits

...

8 Commits

7 changed files with 1029 additions and 745 deletions

View File

@ -0,0 +1,38 @@
<?php
namespace App\Http\Controllers\Kasir;
use App\Http\Controllers\Controller;
use App\Models\Pesanan;
use App\Models\Produk;
use Illuminate\Http\Request;
class Menu extends Controller
{
public function index()
{
return view('pages.menu.index');
}
public function getDataMenu()
{
$data = Produk::with(['kategori_produk'])->get();
$nomor = 1;
return $datatables = datatables()
->of($data)
->addColumn('nomor', function ($data) use (&$nomor) {
return $nomor++;
})
->addColumn('kategori_produk', function ($data) {
return $data->kategori_produk->nama_kategori_produk;
})
->addColumn('ubah', function ($data) {
return '<div class="btn-group">
<a href="javascript:void(0)" onclick="print(\'' . $data->id . '\')"><span class="btn btn-xs btn-success"><i class="fas fa-print"></i></span></a>
</div>';
})
->rawColumns(['nomor', 'kode_produk', 'ubah'])
->make(true);
}
}

View File

@ -16,7 +16,7 @@ class Transaksi extends Controller
$orderCode = "ORD -" . strtoupper(random_str(6, random_str())); $orderCode = "ORD -" . strtoupper(random_str(6, random_str()));
$KelompokKategori = KelompokKategori::with('kelompokKategoriPivot.produk')->get(); $KelompokKategori = KelompokKategori::with('kelompokKategoriPivot.produk')->get();
$produk = Produk::all(); $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) public function store(Request $request)
@ -85,19 +85,34 @@ class Transaksi extends Controller
public function print($id) public function print($id)
{ {
$pesanan = \App\Models\Pesanan::with('detailPesanan', 'user')->find($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) public function detail($id)
{ {
$pesanan = \App\Models\Pesanan::with('detailPesanan', 'user')->find($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(); $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);
} }
} }

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

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

@ -79,16 +79,15 @@
</a> </a>
</li> </li>
<li class="nav-item dropdown"> <li class="nav-item dropdown">
<a class="nav-link @if (Request::is('transaksi')) active @endif" id="transaksi" <a class="nav-link" id="transaksi @if (Request::is('transaksi')) active @endif"
data-widget="control-sidebar" data-slide="true" href="{{ route('transaksi.index') }}" href="{{ route('transaksi.index') }}" role="button">
role="button">
Transaksi Transaksi
</a> </a>
</li> </li>
<!-- Notifications Dropdown Menu --> <!-- Notifications Dropdown Menu -->
<li class="nav-item dropdown"> <li class="nav-item dropdown">
<a class="nav-link @if (Request::is('history')) active @endif" id="history" <a class="nav-link @if (Request::is('history')) active @endif" id="history"
data-widget="control-sidebar" data-slide="true" href="{{ route('history.index') }}" role="button"> href="{{ route('history.index') }}" role="button">
History History
</a> </a>
</li> </li>

View File

@ -22,58 +22,35 @@
@section('content') @section('content')
<div class="container" style="display: contents;"> <div class="container" style="display: contents;">
<div class="row" style="padding: 5px"> <div class="row" style="padding: 5px">
<div class="col-lg-8"> <div class="col-xl-8 col-lg-6 col-md-6 col-sm-12">
<div class="card card-primary card-outline card-outline-tabs"> <div class="card card-primary card-outline card-outline-tabs">
<div class="card-header p-0 border-bottom-0"> <div class="card-header p-0 border-bottom-0">
<ul class="nav nav-tabs" id="custom-tabs-four-tab" role="tablist"> <ul class="nav nav-tabs" id="custom-tabs-four-tab" role="tablist">
@foreach ($KelompokKategori as $key => $item) @foreach ($KelompokKategori as $key => $item)
<li class="nav-item"> <li class="nav-item">
<a class="nav-link @if ($key == 0) active @endif" <a class="nav-link @if ($key == 0) active @endif" id="custom-tabs-four-{{ $item->kode_kelompok_kategori }}-tab" data-toggle="pill" href="#custom-tabs-four-{{ $item->kode_kelompok_kategori }}" role="tab" aria-controls="custom-tabs-four-{{ $item->kode_kelompok_kategori }}" aria-selected="true">{{ $item->nama_kelompok_kategori }}</a>
id="custom-tabs-four-{{ $item->kode_kelompok_kategori }}-tab" data-toggle="pill"
href="#custom-tabs-four-{{ $item->kode_kelompok_kategori }}" role="tab"
aria-controls="custom-tabs-four-{{ $item->kode_kelompok_kategori }}"
aria-selected="true">{{ $item->nama_kelompok_kategori }}</a>
</li> </li>
@endforeach @endforeach
</ul> </ul>
</div> </div>
<div class="card-body" id="batasitinggi" <div class="card-body" id="batasitinggi" style="height:720px;overflow-y:scroll;margin-bottom: 5px;padding-top: 2px;padding-bottom: 2px">
style="height:600px;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" id="custom-tabs-four-{{ $item->kode_kelompok_kategori }}" role="tabpanel" aria-labelledby="custom-tabs-four-{{ $item->kode_kelompok_kategori }}-tab">
id="custom-tabs-four-{{ $item->kode_kelompok_kategori }}" role="tabpanel"
aria-labelledby="custom-tabs-four-{{ $item->kode_kelompok_kategori }}-tab">
<div class="row"> <div class="row">
@if ($item->kode_kelompok_kategori == 'PAK-SKOM') @if ($item->kode_kelompok_kategori == 'PAK-SKOM')
<div class="col" style="padding: 0px"> <div class="col" style="padding: 0px">
<div class="row" style="padding: 0px"> <div class="row" style="padding: 0px">
<div class="col-4 col-sm-3" style="margin-left: 0px;padding-left: 0px;"> <div class="col-4 col-sm-3" style="margin-left: 0px;padding-left: 0px;">
<div class="nav flex-column nav-tabs h-100" id="vert-tabs-tab" <div class="nav flex-column nav-tabs h-100" id="vert-tabs-tab" role="tablist" aria-orientation="vertical">
role="tablist" aria-orientation="vertical">
<a class="nav-link active" id="vert-tabs-nasi-tab" <a class="nav-link active" id="vert-tabs-nasi-tab" data-toggle="pill" href="#vert-tabs-nasi" role="tab" aria-controls="vert-tabs-nasi" aria-selected="true">Nasi</a>
data-toggle="pill" href="#vert-tabs-nasi" role="tab" <a class="nav-link" id="vert-tabs-telur-tab" data-toggle="pill" href="#vert-tabs-telur" role="tab" aria-controls="vert-tabs-telur" aria-selected="false">Telur</a>
aria-controls="vert-tabs-nasi" aria-selected="true">Nasi</a> <a class="nav-link" id="vert-tabs-sambel-tab" data-toggle="pill" href="#vert-tabs-sambel" role="tab" aria-controls="vert-tabs-sambel" aria-selected="false">Sambel</a>
<a class="nav-link" id="vert-tabs-telur-tab" data-toggle="pill" <a class="nav-link" id="vert-tabs-topping-tab" data-toggle="pill" href="#vert-tabs-topping" role="tab" aria-controls="vert-tabs-topping" aria-selected="false">Topping</a>
href="#vert-tabs-telur" role="tab" <a class="nav-link" id="vert-tabs-free-tab" data-toggle="pill" href="#vert-tabs-free" role="tab" aria-controls="vert-tabs-free" aria-selected="false">Free</a>
aria-controls="vert-tabs-telur"
aria-selected="false">Telur</a>
<a class="nav-link" id="vert-tabs-sambel-tab" data-toggle="pill"
href="#vert-tabs-sambel" role="tab"
aria-controls="vert-tabs-sambel"
aria-selected="false">Sambel</a>
<a class="nav-link" id="vert-tabs-topping-tab"
data-toggle="pill" href="#vert-tabs-topping" role="tab"
aria-controls="vert-tabs-topping"
aria-selected="false">Topping</a>
<a class="nav-link" id="vert-tabs-free-tab" data-toggle="pill"
href="#vert-tabs-free" role="tab"
aria-controls="vert-tabs-free"
aria-selected="false">Free</a>
<div class="card card-primary card-outline" <div class="card card-primary card-outline" style="margin-top: auto;margin-right: 5px;height: auto;">
style="margin-top: auto;margin-right: 5px;height: auto;">
<div class="card-header"> <div class="card-header">
<h5 class="card-title m-0" id="nama-paket"> <h5 class="card-title m-0" id="nama-paket">
Paket Menu Terpilih Paket Menu Terpilih
@ -86,42 +63,35 @@
</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:550px;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" aria-labelledby="vert-tabs-nasi-tab">
id="vert-tabs-nasi" role="tabpanel"
aria-labelledby="vert-tabs-nasi-tab">
<div class="row"> <div class="row">
@foreach ($item->kelompokKategoriPivot as $key2 => $kelompokKategoriPivot) @foreach ($item->kelompokKategoriPivot as $key2 => $kelompokKategoriPivot)
@if ($kelompokKategoriPivot->produk->urutan == 1) @if ($kelompokKategoriPivot->produk->urutan == 1)
<div class="col-lg-4"> <div class="col-lg-4">
<div <div class="card card-primary card-outline">
class="card card-primary card-outline">
<div class="card-header"> <div class="card-header">
<h5 class="card-title m-0"> <h5 class="card-title m-0">
{{ $kelompokKategoriPivot->produk->nama_produk ?? '' }} {{ $kelompokKategoriPivot->produk->nama_produk ?? '' }}
</h5> </h5>
</div> </div>
<div class="card-body"> <div class="card-body">
<img style="width: 100%;height: 200px;object-fit: cover;" <img style="width: 100%;height: 200px;object-fit: cover;" src="
src="
@if ($kelompokKategoriPivot->produk->gambar_produk != null) {{ asset('storage/' . $kelompokKategoriPivot->produk->gambar_produk) }} @if ($kelompokKategoriPivot->produk->gambar_produk != null) {{ asset('storage/' . $kelompokKategoriPivot->produk->gambar_produk) }}
@else @else
{{ asset('assets/images/menu_image.jpeg') }} @endif {{ asset('assets/images/menu_image.jpeg') }} @endif
" " alt="{{ $kelompokKategoriPivot->produk->nama_produk ?? '' }}">
alt="{{ $kelompokKategoriPivot->produk->nama_produk ?? '' }}">
</div> </div>
<a class="btn btn-primary" <a class="btn btn-primary" id="ordered-menus" onclick="selectPaket( {{ $kelompokKategoriPivot->produk }} )">Pilih
id="ordered-menus"
onclick="selectPaket( {{ $kelompokKategoriPivot->produk }} )">Pilih
Paket Paket
</a> </a>
</div> </div>
@ -130,32 +100,26 @@
@endforeach @endforeach
</div> </div>
</div> </div>
<div class="tab-pane fade" id="vert-tabs-telur" <div class="tab-pane fade" id="vert-tabs-telur" role="tabpanel" aria-labelledby="vert-tabs-telur-tab">
role="tabpanel" aria-labelledby="vert-tabs-telur-tab">
<div class="row"> <div class="row">
@foreach ($item->kelompokKategoriPivot as $key2 => $kelompokKategoriPivot) @foreach ($item->kelompokKategoriPivot as $key2 => $kelompokKategoriPivot)
@if ($kelompokKategoriPivot->produk->urutan == 2) @if ($kelompokKategoriPivot->produk->urutan == 2)
<div class="col-lg-4"> <div class="col-lg-4">
<div <div class="card card-primary card-outline">
class="card card-primary card-outline">
<div class="card-header"> <div class="card-header">
<h5 class="card-title m-0"> <h5 class="card-title m-0">
{{ $kelompokKategoriPivot->produk->nama_produk ?? '' }} {{ $kelompokKategoriPivot->produk->nama_produk ?? '' }}
</h5> </h5>
</div> </div>
<div class="card-body"> <div class="card-body">
<img style="width: 100%;height: 200px;object-fit: cover;" <img style="width: 100%;height: 200px;object-fit: cover;" src="
src="
@if ($kelompokKategoriPivot->produk->gambar_produk != null) {{ asset('storage/' . $kelompokKategoriPivot->produk->gambar_produk) }} @if ($kelompokKategoriPivot->produk->gambar_produk != null) {{ asset('storage/' . $kelompokKategoriPivot->produk->gambar_produk) }}
@else @else
{{ asset('assets/images/menu_image.jpeg') }} @endif {{ asset('assets/images/menu_image.jpeg') }} @endif
" " alt="{{ $kelompokKategoriPivot->produk->nama_produk ?? '' }}">
alt="{{ $kelompokKategoriPivot->produk->nama_produk ?? '' }}">
</div> </div>
<a class="btn btn-primary" <a class="btn btn-primary" id="ordered-menus" onclick="selectPaket( {{ $kelompokKategoriPivot->produk }} )">Pilih
id="ordered-menus"
onclick="selectPaket( {{ $kelompokKategoriPivot->produk }} )">Pilih
Paket Paket
</a> </a>
</div> </div>
@ -164,33 +128,26 @@
@endforeach @endforeach
</div> </div>
</div> </div>
<div class="tab-pane fade" id="vert-tabs-sambel" <div class="tab-pane fade" id="vert-tabs-sambel" role="tabpanel" aria-labelledby="vert-tabs-sambel-tab">
role="tabpanel"
aria-labelledby="vert-tabs-sambel-tab">
<div class="row"> <div class="row">
@foreach ($item->kelompokKategoriPivot as $key2 => $kelompokKategoriPivot) @foreach ($item->kelompokKategoriPivot as $key2 => $kelompokKategoriPivot)
@if ($kelompokKategoriPivot->produk->urutan == 3) @if ($kelompokKategoriPivot->produk->urutan == 3)
<div class="col-lg-4"> <div class="col-lg-4">
<div <div class="card card-primary card-outline">
class="card card-primary card-outline">
<div class="card-header"> <div class="card-header">
<h5 class="card-title m-0"> <h5 class="card-title m-0">
{{ $kelompokKategoriPivot->produk->nama_produk ?? '' }} {{ $kelompokKategoriPivot->produk->nama_produk ?? '' }}
</h5> </h5>
</div> </div>
<div class="card-body"> <div class="card-body">
<img style="width: 100%;height: 200px;object-fit: cover;" <img style="width: 100%;height: 200px;object-fit: cover;" src="
src="
@if ($kelompokKategoriPivot->produk->gambar_produk != null) {{ asset('storage/' . $kelompokKategoriPivot->produk->gambar_produk) }} @if ($kelompokKategoriPivot->produk->gambar_produk != null) {{ asset('storage/' . $kelompokKategoriPivot->produk->gambar_produk) }}
@else @else
{{ asset('assets/images/menu_image.jpeg') }} @endif {{ asset('assets/images/menu_image.jpeg') }} @endif
" " alt="{{ $kelompokKategoriPivot->produk->nama_produk ?? '' }}">
alt="{{ $kelompokKategoriPivot->produk->nama_produk ?? '' }}">
</div> </div>
<a class="btn btn-primary" <a class="btn btn-primary" id="ordered-menus" onclick="selectPaket( {{ $kelompokKategoriPivot->produk }} )">Pilih
id="ordered-menus"
onclick="selectPaket( {{ $kelompokKategoriPivot->produk }} )">Pilih
Paket Paket
</a> </a>
</div> </div>
@ -199,33 +156,26 @@
@endforeach @endforeach
</div> </div>
</div> </div>
<div class="tab-pane fade" id="vert-tabs-topping" <div class="tab-pane fade" id="vert-tabs-topping" role="tabpanel" aria-labelledby="vert-tabs-topping-tab">
role="tabpanel"
aria-labelledby="vert-tabs-topping-tab">
<div class="row"> <div class="row">
@foreach ($item->kelompokKategoriPivot as $key2 => $kelompokKategoriPivot) @foreach ($item->kelompokKategoriPivot as $key2 => $kelompokKategoriPivot)
@if ($kelompokKategoriPivot->produk->urutan == 4) @if ($kelompokKategoriPivot->produk->urutan == 4)
<div class="col-lg-4"> <div class="col-lg-4">
<div <div class="card card-primary card-outline">
class="card card-primary card-outline">
<div class="card-header"> <div class="card-header">
<h5 class="card-title m-0"> <h5 class="card-title m-0">
{{ $kelompokKategoriPivot->produk->nama_produk ?? '' }} {{ $kelompokKategoriPivot->produk->nama_produk ?? '' }}
</h5> </h5>
</div> </div>
<div class="card-body"> <div class="card-body">
<img style="width: 100%;height: 200px;object-fit: cover;" <img style="width: 100%;height: 200px;object-fit: cover;" src="
src="
@if ($kelompokKategoriPivot->produk->gambar_produk != null) {{ asset('storage/' . $kelompokKategoriPivot->produk->gambar_produk) }} @if ($kelompokKategoriPivot->produk->gambar_produk != null) {{ asset('storage/' . $kelompokKategoriPivot->produk->gambar_produk) }}
@else @else
{{ asset('assets/images/menu_image.jpeg') }} @endif {{ asset('assets/images/menu_image.jpeg') }} @endif
" " alt="{{ $kelompokKategoriPivot->produk->nama_produk ?? '' }}">
alt="{{ $kelompokKategoriPivot->produk->nama_produk ?? '' }}">
</div> </div>
<a class="btn btn-primary" <a class="btn btn-primary" id="ordered-menus" onclick="selectPaket( {{ $kelompokKategoriPivot->produk }} )">Pilih
id="ordered-menus"
onclick="selectPaket( {{ $kelompokKategoriPivot->produk }} )">Pilih
Paket Paket
</a> </a>
</div> </div>
@ -234,32 +184,26 @@
@endforeach @endforeach
</div> </div>
</div> </div>
<div class="tab-pane fade" id="vert-tabs-free" <div class="tab-pane fade" id="vert-tabs-free" role="tabpanel" aria-labelledby="vert-tabs-free-tab">
role="tabpanel" aria-labelledby="vert-tabs-free-tab">
<div class="row"> <div class="row">
@foreach ($item->kelompokKategoriPivot as $key2 => $kelompokKategoriPivot) @foreach ($item->kelompokKategoriPivot as $key2 => $kelompokKategoriPivot)
@if ($kelompokKategoriPivot->produk->urutan == 5) @if ($kelompokKategoriPivot->produk->urutan == 5)
<div class="col-lg-4"> <div class="col-lg-4">
<div <div class="card card-primary card-outline">
class="card card-primary card-outline">
<div class="card-header"> <div class="card-header">
<h5 class="card-title m-0"> <h5 class="card-title m-0">
{{ $kelompokKategoriPivot->produk->nama_produk ?? '' }} {{ $kelompokKategoriPivot->produk->nama_produk ?? '' }}
</h5> </h5>
</div> </div>
<div class="card-body"> <div class="card-body">
<img style="width: 100%;height: 200px;object-fit: cover;" <img style="width: 100%;height: 200px;object-fit: cover;" src="
src="
@if ($kelompokKategoriPivot->produk->gambar_produk != null) {{ asset('storage/' . $kelompokKategoriPivot->produk->gambar_produk) }} @if ($kelompokKategoriPivot->produk->gambar_produk != null) {{ asset('storage/' . $kelompokKategoriPivot->produk->gambar_produk) }}
@else @else
{{ asset('assets/images/menu_image.jpeg') }} @endif {{ asset('assets/images/menu_image.jpeg') }} @endif
" " alt="{{ $kelompokKategoriPivot->produk->nama_produk ?? '' }}">
alt="{{ $kelompokKategoriPivot->produk->nama_produk ?? '' }}">
</div> </div>
<a class="btn btn-primary" <a class="btn btn-primary" id="ordered-menus" onclick="selectPaket( {{ $kelompokKategoriPivot->produk }} )">Pilih
id="ordered-menus"
onclick="selectPaket( {{ $kelompokKategoriPivot->produk }} )">Pilih
Paket Paket
</a> </a>
</div> </div>
@ -276,8 +220,7 @@
@else @else
@foreach ($item->kelompokKategoriPivot as $key2 => $kelompokKategoriPivot) @foreach ($item->kelompokKategoriPivot as $key2 => $kelompokKategoriPivot)
<div class="col-lg-4"> <div class="col-lg-4">
<div class="card card-primary card-outline btn" <div class="card card-primary card-outline btn" onclick="aadMenu( {{ $kelompokKategoriPivot->produk }} )">
onclick="aadMenu( {{ $kelompokKategoriPivot->produk }} )">
<div class="card-header"> <div class="card-header">
<h5 class="card-title m-0"> <h5 class="card-title m-0">
{{ $kelompokKategoriPivot->produk->nama_produk ?? '' }} {{ $kelompokKategoriPivot->produk->nama_produk ?? '' }}
@ -285,20 +228,16 @@
</div> </div>
<div class="card-body"> <div class="card-body">
<div class="col"> <div class="col">
<img style="width: 100%;height: 200px;object-fit: cover;" <img style="width: 100%;height: 200px;object-fit: cover;" src="
src="
@if ($kelompokKategoriPivot->produk->gambar_produk != null) {{ asset('storage/' . $kelompokKategoriPivot->produk->gambar_produk) }} @if ($kelompokKategoriPivot->produk->gambar_produk != null) {{ asset('storage/' . $kelompokKategoriPivot->produk->gambar_produk) }}
@else @else
{{ asset('assets/images/menu_image.jpeg') }} @endif {{ asset('assets/images/menu_image.jpeg') }} @endif
" " alt="{{ $kelompokKategoriPivot->produk->nama_produk ?? '' }}">
alt="{{ $kelompokKategoriPivot->produk->nama_produk ?? '' }}"> <div class="row" style="margin: 5px;display: flex;align-items: center;align-content: center;">
<div class="row"
style="margin: 5px;display: flex;align-items: center;align-content: center;">
<h5 class="col-6"> <h5 class="col-6">
{{ convert_to_rupiah($kelompokKategoriPivot->produk->harga_produk) }} {{ convert_to_rupiah($kelompokKategoriPivot->produk->harga_produk) }}
</h5> </h5>
<a class="col-6 btn btn-primary" <a class="col-6 btn btn-primary" id="ordered-menus">Pesan</a>
id="ordered-menus">Pesan</a>
</div> </div>
</div> </div>
</div> </div>
@ -315,7 +254,7 @@
</div> </div>
</div> </div>
<!-- /.col-md-6 --> <!-- /.col-md-6 -->
<div class="col-lg-4"> <div class="col-xl-4 col-lg-6 col-md-6 col-sm-12">
<div class="card card-primary card-outline"> <div class="card card-primary card-outline">
<div class="card-header"> <div class="card-header">
<h5 class="col-lg-6 card-title m-0">Kode Pesanan <h5 class="col-lg-6 card-title m-0">Kode Pesanan
@ -329,9 +268,10 @@
<table class="table table-bordered table-striped" id="order-menus" width="100%"> <table class="table table-bordered table-striped" id="order-menus" width="100%">
<thead style="background-color: lightgray"> <thead style="background-color: lightgray">
<tr> <tr>
<th width="60%" class="text-center">Menu</th> <th class="text-center">Menu</th>
<th>Qty</th> <th width="110px">Qty</th>
<th width="10%">⚙️</th> <th width="60px">Diskon (%)</th>
<th width="30px">⚙️</th>
</tr> </tr>
</thead> </thead>
<tbody id="tbody-order-menus"> <tbody id="tbody-order-menus">
@ -339,7 +279,7 @@
<tfoot style="background-color: lightgray"> <tfoot style="background-color: lightgray">
<tr> <tr>
<th class="text-center">Total</th> <th class="text-center">Total</th>
<th colspan="2"> <th colspan="3">
<span class="row"> <span class="row">
<span class="col-6">Rp.</span> <span class="col-6">Rp.</span>
<span class="col-6" style="text-align: right" id="total">0</span> <span class="col-6" style="text-align: right" id="total">0</span>
@ -349,7 +289,7 @@
</tr> </tr>
<tr> <tr>
<th class="text-center">Diskon (%)</th> <th class="text-center">Diskon (%)</th>
<th colspan="2"> <th colspan="3">
<div class="input-group input-group-sm"> <div class="input-group input-group-sm">
<input type="number" name="diskon" class="form-control rounded-0"> <input type="number" name="diskon" class="form-control rounded-0">
</div> </div>
@ -357,7 +297,7 @@
</tr> </tr>
<tr> <tr>
<th class="text-center">Grand Total</th> <th class="text-center">Grand Total</th>
<th colspan="2"> <th colspan="3">
<span class="row"> <span class="row">
<span class="col-6">Rp.</span> <span class="col-6">Rp.</span>
<span class="col-6" style="text-align: right" id="total-diskon">0</span> <span class="col-6" style="text-align: right" id="total-diskon">0</span>
@ -367,16 +307,15 @@
</tr> </tr>
<tr> <tr>
<th class="text-center">Bayar</th> <th class="text-center">Bayar</th>
<th colspan="2"> <th colspan="3">
<div class="input-group input-group-sm"> <div class="input-group input-group-sm">
<input type="text" name="nominal-bayar" class="form-control rounded-0" <input type="text" name="nominal-bayar" class="form-control rounded-0" required id="nominal-bayar">
required id="nominal-bayar">
</div> </div>
</th> </th>
</tr> </tr>
<tr> <tr>
<th class="text-center">Kembali</th> <th class="text-center">Kembali</th>
<th colspan="2"> <th colspan="3">
<span class="row"> <span class="row">
<span class="col-6">Rp.</span> <span class="col-6">Rp.</span>
<span class="col-6" style="text-align: right" id="kembali">0</span> <span class="col-6" style="text-align: right" id="kembali">0</span>
@ -385,18 +324,15 @@
</th> </th>
</tr> </tr>
<tr> <tr>
<th colspan="3"> <th colspan="4">
<span class="row"> <span class="row">
<input type="text" name="nama-pemesan" class="form-control rounded-0" <input type="text" name="nama-pemesan" class="form-control rounded-0" placeholder="Nama Pemesan" id="nama-pemesan" required>
placeholder="Nama Pemesan" id="nama-pemesan" required> <input type="text" name="keterangan-pesanan" placeholder="Keterangan Pesanan" class="form-control rounded-0" id="keterangan-pesanan">
<input type="text" name="keterangan-pesanan"
placeholder="Keterangan Pesanan" class="form-control rounded-0"
id="keterangan-pesanan">
</span> </span>
</th> </th>
</tr> </tr>
<tr style="background-color: white"> <tr style="background-color: white">
<th colspan="3"> <th colspan="4">
<button class="btn btn-primary btn-block" id="pesan-bayar">Bayar</button> <button class="btn btn-primary btn-block" id="pesan-bayar">Bayar</button>
</th> </th>
</tr> </tr>
@ -410,22 +346,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">&times;</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
@ -466,6 +410,7 @@
// make function add menu to table and calculate qty and total price menu ordered and check menu ordered is exist or not in tbody table order-menus insert this in // make function add menu to table and calculate qty and total price menu ordered and check menu ordered is exist or not in tbody table order-menus insert this in
function aadMenu(params) { function aadMenu(params) {
console.log(params);
var table = document.getElementById("order-menus"); var table = document.getElementById("order-menus");
var menu = params; var menu = params;
var menuId = menu.id; var menuId = menu.id;
@ -488,28 +433,48 @@
if (isExist) { if (isExist) {
var qty = table.rows[index].getAttribute('data-qty'); var qty = table.rows[index].getAttribute('data-qty');
var diskonSatuan = table.rows[index].getAttribute('data-diskon-satuan');
var total = table.rows[index].getAttribute('data-total'); var total = table.rows[index].getAttribute('data-total');
qty = parseInt(qty) + 1; qty = parseInt(qty) + 1;
total = parseInt(total) + parseInt(menuPrice); diskonSatuan = parseInt(diskonSatuan);
total = (parseInt(total) + parseInt(menuPrice)) - ((parseInt(total) + parseInt(menuPrice)) * (diskonSatuan / 100));
table.rows[index].setAttribute('data-qty', qty); table.rows[index].setAttribute('data-qty', qty);
table.rows[index].setAttribute('data-diskon-satuan', diskonSatuan);
table.rows[index].setAttribute('data-total', total); table.rows[index].setAttribute('data-total', total);
table.rows[index].cells[0].innerHTML = `
<td>
${params.nama_produk}
<br>
${(diskonSatuan > 0) ? '<small class="text-primary"><s>Rp. ' + harga + '</s></small> | <small class="text-danger">Rp. ' + total + '</small>' : '<small class="text-primary">Rp. ' + total + '</small>'}
<div class="input-group input-group-sm mt-1">
<input type="text" name="keterangan_satuan" class="form-control rounded-0" placeholder="Keterangan..">
</div>
</td>
`;
table.rows[index].cells[1].innerHTML = ` table.rows[index].cells[1].innerHTML = `
<td class="text-center"> <td class="text-center">
<div class="input-group input-group-sm"> <div class="input-group input-group-sm">
<span class="input-group-append"> <span class="input-group-append">
<button type="button" class="btn btn-default btn-xs btn-flat" onclick="decrementMenu(${params.id})"><b>-</b></button> <button type="button" class="btn btn-default btn-xs btn-flat" onclick="decrementMenu(${params.id}, '${params.nama_produk}')"><b>-</b></button>
</span> </span>
<input type="number" name="bayar" class="form-control rounded-0" value="${qty}"> <input type="text" name="bayar" class="form-control rounded-0" readonly value="${qty}">
<span class="input-group-append"> <span class="input-group-append">
<button type="button" class="btn btn-default btn-xs btn-flat" onclick="incrementMenu(${params.id})">+</button> <button type="button" class="btn btn-default btn-xs btn-flat" onclick="incrementMenu(${params.id}, '${params.nama_produk}')">+</button>
</span> </span>
</div> </div>
</td> </td>
`; `;
table.rows[index].cells[2].innerHTML = ` table.rows[index].cells[2].innerHTML = `
<td class="text-center">
<div class="input-group input-group-sm">
<input type="number" name="diskon_satuan" class="form-control rounded-0" value="0">
</div>
</td>
`;
table.rows[index].cells[3].innerHTML = `
<td class="text-center"> <td class="text-center">
<button class="btn btn-danger btn-sm" onclick="deleteMenu(${params.id})"> <button class="btn btn-danger btn-sm" onclick="deleteMenu(${params.id})">
<i class="fas fa-trash"></i> <i class="fas fa-trash"></i>
@ -517,25 +482,34 @@
</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-diskon-satuan="0" data-total="${params.harga_produk}">
<td> <td>
${params.nama_produk} ${params.nama_produk}
<br> <br>
<small class="text-danger">Rp. ${params.harga_produk}</small> <small class="text-primary">Rp. ${params.harga_produk}</small>
<div class="input-group input-group-sm mt-1">
<input type="text" name="keterangan_satuan" class="form-control rounded-0" placeholder="Keterangan..">
</div>
</td> </td>
<td class="text-center"> <td class="text-center">
<div class="input-group input-group-sm"> <div class="input-group input-group-sm">
<span class="input-group-append"> <span class="input-group-append">
<button type="button" class="btn btn-default btn-xs btn-flat" onclick="decrementMenu(${params.id})"><b>-</b></button> <button type="button" class="btn btn-default btn-xs btn-flat" onclick="decrementMenu(${params.id}, '${params.nama_produk}')"><b>-</b></button>
</span> </span>
<input type="number" name="bayar" class="form-control rounded-0" value="${menuQty}"> <input type="text" name="bayar" class="form-control rounded-0" readonly value="${menuQty}">
<span class="input-group-append"> <span class="input-group-append">
<button type="button" class="btn btn-default btn-xs btn-flat" onclick="incrementMenu(${params.id})">+</button> <button type="button" class="btn btn-default btn-xs btn-flat" onclick="incrementMenu(${params.id}, '${params.nama_produk}')">+</button>
</span> </span>
</div> </div>
</td> </td>
<td class="text-center">
<div class="input-group input-group-sm">
<input type="number" name="diskon_satuan" class="form-control rounded-0" value="0">
</div>
</td>
<td class="text-center"> <td class="text-center">
<button class="btn btn-danger btn-sm" onclick="deleteMenu(${params.id})"> <button class="btn btn-danger btn-sm" onclick="deleteMenu(${params.id})">
<i class="fas fa-trash"></i> <i class="fas fa-trash"></i>
@ -544,6 +518,7 @@
</tr> </tr>
`); `);
calculateTotal(); calculateTotal();
$('#modal-default').modal('hide');
} }
} }
@ -574,7 +549,8 @@
for (var i = 1, row; row = table.rows[i]; i++) { for (var i = 1, row; row = table.rows[i]; i++) {
var harga = row.getAttribute('data-harga'); var harga = row.getAttribute('data-harga');
var qty = row.getAttribute('data-qty'); var qty = row.getAttribute('data-qty');
var total = total + (harga * qty); var diskonSatuan = row.getAttribute('data-diskon-satuan');
var total = total + ((harga * qty) - ((harga * qty) * (diskonSatuan / 100)));
} }
var ribuantotal = toRupiah(total); var ribuantotal = toRupiah(total);
@ -591,7 +567,7 @@
} }
// increment qty menu ordered // increment qty menu ordered
function incrementMenu(params) { function incrementMenu(params, nama_produk) {
var table = document.getElementById("order-menus"); var table = document.getElementById("order-menus");
var index = 0; var index = 0;
@ -604,24 +580,38 @@
} }
var qty = table.rows[index].getAttribute('data-qty'); var qty = table.rows[index].getAttribute('data-qty');
var diskonSatuan = table.rows[index].getAttribute('data-diskon-satuan');
var total = table.rows[index].getAttribute('data-total'); var total = table.rows[index].getAttribute('data-total');
var harga = table.rows[index].getAttribute('data-harga'); var harga = table.rows[index].getAttribute('data-harga');
qty = parseInt(qty) + 1; qty = parseInt(qty) + 1;
total = parseInt(total) + parseInt(harga); diskonSatuan = parseInt(diskonSatuan);
total = (parseInt(total) + parseInt(harga)) - ((parseInt(total) + parseInt(harga)) * (diskonSatuan / 100));
table.rows[index].setAttribute('data-qty', qty); table.rows[index].setAttribute('data-qty', qty);
table.rows[index].setAttribute('data-diskon-satuan', diskonSatuan);
table.rows[index].setAttribute('data-total', total); table.rows[index].setAttribute('data-total', total);
table.rows[index].cells[0].innerHTML = `
<td>
${nama_produk}
<br>
${(diskonSatuan > 0) ? '<small class="text-primary"><s>Rp. ' + harga + '</s></small> | <small class="text-danger">Rp. ' + total + '</small>' : '<small class="text-primary">Rp. ' + total + '</small>'}
<div class="input-group input-group-sm mt-1">
<input type="text" name="keterangan_satuan" class="form-control rounded-0" placeholder="Keterangan..">
</div>
</td>
`;
table.rows[index].cells[1].innerHTML = ` table.rows[index].cells[1].innerHTML = `
<td class="text-center"> <td class="text-center">
<div class="input-group input-group-sm"> <div class="input-group input-group-sm">
<span class="input-group-append"> <span class="input-group-append">
<button type="button" class="btn btn-default btn-xs btn-flat" onclick="decrementMenu(${params})"><b>-</b></button> <button type="button" class="btn btn-default btn-xs btn-flat" onclick="decrementMenu(${params}, '${nama_produk}')"><b>-</b></button>
</span> </span>
<input type="number" name="bayar" class="form-control rounded-0" value="${qty}"> <input type="text" name="bayar" class="form-control rounded-0" readonly value="${qty}">
<span class="input-group-append"> <span class="input-group-append">
<button type="button" class="btn btn-default btn-xs btn-flat" onclick="incrementMenu(${params})">+</button> <button type="button" class="btn btn-default btn-xs btn-flat" onclick="incrementMenu(${params}, '${nama_produk}')">+</button>
</span> </span>
</div> </div>
</td> </td>
@ -631,7 +621,7 @@
} }
// decrement qty menu ordered // decrement qty menu ordered
function decrementMenu(params) { function decrementMenu(params, nama_produk) {
var table = document.getElementById("order-menus"); var table = document.getElementById("order-menus");
var index = 0; var index = 0;
@ -644,25 +634,39 @@
} }
var qty = table.rows[index].getAttribute('data-qty'); var qty = table.rows[index].getAttribute('data-qty');
var diskonSatuan = table.rows[index].getAttribute('data-diskon-satuan');
var total = table.rows[index].getAttribute('data-total'); var total = table.rows[index].getAttribute('data-total');
var harga = table.rows[index].getAttribute('data-harga'); var harga = table.rows[index].getAttribute('data-harga');
if (qty > 1) { if (qty > 1) {
qty = parseInt(qty) - 1; qty = parseInt(qty) - 1;
total = parseInt(total) - parseInt(harga); diskonSatuan = parseInt(diskonSatuan);
total = (parseInt(total) - parseInt(harga)) - ((parseInt(total) - parseInt(harga)) * (diskonSatuan / 100));
table.rows[index].setAttribute('data-qty', qty); table.rows[index].setAttribute('data-qty', qty);
table.rows[index].setAttribute('data-diskon-satuan', diskonSatuan);
table.rows[index].setAttribute('data-total', total); table.rows[index].setAttribute('data-total', total);
table.rows[index].cells[0].innerHTML = `
<td>
${nama_produk}
<br>
${(diskonSatuan > 0) ? '<small class="text-primary"><s>Rp. ' + harga + '</s></small> | <small class="text-danger">Rp. ' + total + '</small>' : '<small class="text-primary">Rp. ' + total + '</small>'}
<div class="input-group input-group-sm mt-1">
<input type="text" name="keterangan_satuan" class="form-control rounded-0" placeholder="Keterangan..">
</div>
</td>
`;
table.rows[index].cells[1].innerHTML = ` table.rows[index].cells[1].innerHTML = `
<td class="text-center"> <td class="text-center">
<div class="input-group input-group-sm"> <div class="input-group input-group-sm">
<span class="input-group-append"> <span class="input-group-append">
<button type="button" class="btn btn-default btn-xs btn-flat" onclick="decrementMenu(${params})"><b>-</b></button> <button type="button" class="btn btn-default btn-xs btn-flat" onclick="decrementMenu(${params}, '${nama_produk}')"><b>-</b></button>
</span> </span>
<input type="number" name="bayar" class="form-control rounded-0" value="${qty}"> <input type="text" name="bayar" class="form-control rounded-0" readonly value="${qty}">
<span class="input-group-append"> <span class="input-group-append">
<button type="button" class="btn btn-default btn-xs btn-flat" onclick="incrementMenu(${params})">+</button> <button type="button" class="btn btn-default btn-xs btn-flat" onclick="incrementMenu(${params}, '${nama_produk}')">+</button>
</span> </span>
</div> </div>
</td> </td>
@ -748,6 +752,7 @@
var id = row.getAttribute('data-id'); var id = row.getAttribute('data-id');
var nama = row.getAttribute('data-nama'); var nama = row.getAttribute('data-nama');
var qty = row.getAttribute('data-qty'); var qty = row.getAttribute('data-qty');
var diskonSatuan = row.getAttribute('data-diskon-satuan');
var harga = row.getAttribute('data-harga'); var harga = row.getAttribute('data-harga');
var total = row.getAttribute('data-total'); var total = row.getAttribute('data-total');
@ -756,6 +761,7 @@
id: id, id: id,
nama: nama, nama: nama,
qty: qty, qty: qty,
diskonSatuan: diskonSatuan,
harga: harga, harga: harga,
total: total total: total
}); });
@ -836,7 +842,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 +858,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 +883,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, '&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> </script>
@endpush @endpush

View File

@ -0,0 +1,148 @@
@extends('layouts.base')
@section('content-header')
<div class="col-12">
<div class="container" style="display: contents">
<div class="row mb-2">
<div class="col-sm-6">
<h1 class="m-0"> Kasir <small>kasir 3.0</small></h1>
</div>
<div class="col-sm-6">
<ol class="breadcrumb float-sm-right">
<li class="breadcrumb-item"><a href="#">Home</a></li>
<li class="breadcrumb-item"><a href="#">Kasir</a></li>
<li class="breadcrumb-item active">History</li>
</ol>
</div>
</div>
</div>
</div>
@endsection
@section('content')
<div class="col-12 mt-2">
<div class="container" style="display: contents">
<div class="card">
<div class="card bg-warning" style="min-height:5px; border-radius:1px;"></div>
<div class="card-header mt-0 pt-0">
<div class="d-flex">
<h3>Daftar Menu</h3>
<!-- Button trigger modal -->
<div class="ml-auto">
<button type="button" class="btn btn-primary" data-toggle="modal" data-target="#modal-default">
Tambah Menu
</button>
</div>
</div>
</div>
<div class="card-body">
{{-- <h5 class="card-title">Form List Data</h5> --}}
<div class="table-responsive mt-3">
<table id="tabelku" class="table table-hover display" style="width: 100%">
<thead>
<tr>
<th class="text-center">No</th>
<th>Kode Produk</th>
<th>Nama Produk</th>
<th>Harga Produk</th>
<th>Kategori Produk</th>
<th class="text-center"><i class="fas fa-cog"></i></th>
</tr>
</thead>
</table>
</div>
</div>
</div>
</div>
</div>
<!-- Modal Tambah Menu -->
<div class="modal fade" id="modal-default">
<div class="modal-dialog modal-lg">
<div class="modal-content">
<div class="modal-header">
<h4 class="modal-title">Default Modal</h4>
<button type="button" class="close" data-dismiss="modal" aria-label="Close">
<span aria-hidden="true">&times;</span>
</button>
</div>
<div class="modal-body">
<form>
<div class="form-group">
<label for="recipient-name" class="col-form-label">Recipient:</label>
<input type="text" class="form-control" id="recipient-name">
</div>
<div class="form-group">
<label for="message-text" class="col-form-label">Message:</label>
<textarea class="form-control" id="message-text"></textarea>
</div>
</form>
</div>
<div class="modal-footer justify-content-between">
<button type="button" class="btn btn-default" data-dismiss="modal">Close</button>
<button type="button" class="btn btn-primary">Save changes</button>
</div>
</div>
</div>
</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') }}">
<link rel="stylesheet" href="{{asset('assets/datatables/datatables.min.css')}}">
@endpush
@push('scripts')
<script src="{{ asset('assets/datatables/datatables.min.js') }}"></script>
<script>
$(document).ready(function() {
$('#tabelku').DataTable({
processing: true,
serverSide: true,
ajax: "{{ route('menu.getDataMenu') }}",
columns: [{
data: 'nomor',
name: 'nomor',
orderable: false,
className: 'text-center'
},
{
data: 'kode_produk',
name: 'kode_produk'
},
{
data: 'nama_produk',
name: 'nama_produk'
},
{
data: 'harga_produk',
name: 'harga_produk'
},
{
data: 'kategori_produk',
name: 'kategori_produk'
},
{
data: 'ubah',
name: 'ubah',
className: 'text-center'
},
]
})
})
</script>
@endpush

View File

@ -1,6 +1,7 @@
<?php <?php
use App\Http\Controllers\Kasir\History; use App\Http\Controllers\Kasir\History;
use App\Http\Controllers\Kasir\Menu;
use App\Http\Controllers\Kasir\Transaksi; use App\Http\Controllers\Kasir\Transaksi;
use Illuminate\Support\Facades\Route; use Illuminate\Support\Facades\Route;
@ -22,7 +23,7 @@ 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');
}); });
Route::group(['prefix' => 'history'], function () { Route::group(['prefix' => 'history'], function () {
@ -30,3 +31,8 @@ Route::group(['prefix' => 'history'], function () {
Route::get('/getDataHistory', [History::class, 'getDataHistory'])->name('history.getDataHistory'); Route::get('/getDataHistory', [History::class, 'getDataHistory'])->name('history.getDataHistory');
Route::get('/print/{id}', [History::class, 'print'])->name('history.print'); Route::get('/print/{id}', [History::class, 'print'])->name('history.print');
}); });
Route::group(['prefix' => 'menu'], function () {
Route::get('/', [Menu::class, 'index'])->name('menu.index');
Route::get('/getDataMenu', [Menu::class, 'getDataMenu'])->name('menu.getDataMenu');
});