diff --git a/database/seeders/KelompokKategoriSeeder.php b/database/seeders/KelompokKategoriSeeder.php index 9dd792c..334a8db 100644 --- a/database/seeders/KelompokKategoriSeeder.php +++ b/database/seeders/KelompokKategoriSeeder.php @@ -14,13 +14,13 @@ class KelompokKategoriSeeder extends Seeder { $data = [ [ - 'nama_kelompok_kategori' => 'Paket', - 'kode_kelompok_kategori' => 'PASK', + 'nama_kelompok_kategori' => 'Paket Spesial Komplit', + 'kode_kelompok_kategori' => 'PAK-SKOM', 'kategori_produk_id' => 2, ], [ 'nama_kelompok_kategori' => 'Paket Irit', - 'kode_kelompok_kategori' => 'PIRI', + 'kode_kelompok_kategori' => 'PAK-IRT', 'kategori_produk_id' => 2, ], [ diff --git a/database/seeders/data_csv/kelompok_kategori_pivot.csv b/database/seeders/data_csv/kelompok_kategori_pivot.csv index e6fab9d..2e1336f 100644 --- a/database/seeders/data_csv/kelompok_kategori_pivot.csv +++ b/database/seeders/data_csv/kelompok_kategori_pivot.csv @@ -443,3 +443,23 @@ 7,433 7,434 7,435 +1,382 +1,383 +1,384 +1,385 +1,386 +1,387 +1,388 +1,389 +1,390 +1,391 +1,392 +1,393 +1,394 +1,395 +1,407 +1,408 +1,409 +1,410 +1,411 +1,412 diff --git a/database/seeders/data_csv/produk.csv b/database/seeders/data_csv/produk.csv index 4fd36a1..c7aa878 100644 --- a/database/seeders/data_csv/produk.csv +++ b/database/seeders/data_csv/produk.csv @@ -409,8 +409,8 @@ 2,SB.MTH,SAMBAL MATAH,,,2500,3 2,SB.BWG,SAMBAL BAWANG,,,2500,3 2,SERUNDENG,SERUNDENG,,,0,5 -2,KANGKUNG KRISPY,KANGKUNG KRISPI,,,2500, -2,KUAH PADANG,KUANG PADANG,,,0, +2,KANGKUNG KRISPY,KANGKUNG KRISPI,,,2500,5 +2,KUAH PADANG,KUAH PADANG,,,0,5 2,KERUPUK,KERUPUK,,,1000, 1,ES KOPI SUSU,ES KOPI SUSU,,,15000, 1,ES KOPI SUSU GULA AREN,ES KOPI SUSU GULA AREN,,,15000, diff --git a/public/assets/images/menu_image.jpeg b/public/assets/images/menu_image.jpeg new file mode 100644 index 0000000..35c700b Binary files /dev/null and b/public/assets/images/menu_image.jpeg differ diff --git a/resources/views/layouts/base.blade.php b/resources/views/layouts/base.blade.php index e5f0614..88039fc 100644 --- a/resources/views/layouts/base.blade.php +++ b/resources/views/layouts/base.blade.php @@ -35,9 +35,7 @@ scratch. This page gets rid of all links and provides the needed markup only. <!-- Content Wrapper. Contains page content --> <div class="content-wrapper"> <!-- Content Header (Page header) --> - <div class="content-header"> - @yield('content-header') - </div> + @yield('content-header') <!-- /.content-header --> <!-- Main content --> diff --git a/resources/views/pages/Kasir/transaksi.blade.php b/resources/views/pages/Kasir/transaksi.blade.php index c632f4b..62c5b22 100644 --- a/resources/views/pages/Kasir/transaksi.blade.php +++ b/resources/views/pages/Kasir/transaksi.blade.php @@ -1,25 +1,27 @@ @extends('layouts.base') -@section('content-header') - <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><!-- /.col --> - <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">Transaksi</li> - </ol> - </div><!-- /.col --> - </div><!-- /.row --> - </div><!-- /.container-fluid --> -@endsection +{{-- @section('content-header') + <div class="content-header"> + <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><!-- /.col --> + <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">Transaksi</li> + </ol> + </div><!-- /.col --> + </div><!-- /.row --> + </div><!-- /.container-fluid --> + </div> +@endsection --}} @section('content') - <div class="container" style="display: contents"> - <div class="row"> + <div class="container" style="display: contents;"> + <div class="row" style="padding: 5px"> <div class="col-lg-8"> <div class="card card-primary card-outline card-outline-tabs"> <div class="card-header p-0 border-bottom-0"> @@ -35,44 +37,275 @@ @endforeach </ul> </div> - <div class="card-body" id="batasitinggi" style="height:700px;overflow-y:scroll;margin-bottom: 5px"> + <div class="card-body" id="batasitinggi" + style="height:600px;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" id="custom-tabs-four-{{ $item->kode_kelompok_kategori }}" role="tabpanel" aria-labelledby="custom-tabs-four-{{ $item->kode_kelompok_kategori }}-tab"> <div class="row"> - @foreach ($item->kelompokKategoriPivot as $key2 => $kelompokKategoriPivot) - <div class="col-lg-4"> - <div class="card card-primary card-outline"> - <div class="card-header"> - <h5 class="card-title m-0"> - {{ $kelompokKategoriPivot->produk->nama_produk ?? '' }} - </h5> + @if ($item->kode_kelompok_kategori == 'PAK-SKOM') + <div class="col" 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="nav flex-column nav-tabs h-100" id="vert-tabs-tab" + role="tablist" aria-orientation="vertical"> + + <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> + <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> + <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" + style="margin-top: auto;margin-right: 5px;height: auto;"> + <div class="card-header"> + <h5 class="card-title m-0" id="nama-paket"> + Paket Menu Terpilih + </h5> + </div> + <div class="card-body" style="padding: 2px 20px 2px"> + <ul style="padding: 0px 5px 0px;" id="menu-terpilih"> + <li> + Pilih Paket Menu Terlebih Dahulu + </li> + </ul> + </div> + <a class="btn btn-primary disabled" id="ordered-menus">Pilih + Paket Menu + </a> + </div> + </div> </div> - <div class="card-body"> - <h6 class="card-title">Special title treatment</h6> - <p class="card-text">With supporting text below as a natural lead-in - to - additional - content.</p> - {{-- @if ($item->kode_kelompok_kategori == 'MIN-PAK') - <a class="btn btn-primary" id="ordered-menus" - onclick="selectPaket( '{{ url('/transaksi/select-paket', $kelompokKategoriPivot->produk->kode_produk) }}' )">Select - Paket - </a> - @else - <a class="btn btn-primary" id="ordered-menus" - onclick="aadMenu( {{ $kelompokKategoriPivot->produk }} )">Go - somewhere</a> - @endif --}} - <a class="btn btn-primary" id="ordered-menus" - onclick="aadMenu( {{ $kelompokKategoriPivot->produk }} )">Go - somewhere</a> + <div class="col-8 col-sm-9" style="padding: 0px;"> + <div class="card-body" style="height:550px;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" + aria-labelledby="vert-tabs-nasi-tab"> + <div class="row"> + @foreach ($item->kelompokKategoriPivot as $key2 => $kelompokKategoriPivot) + @if ($kelompokKategoriPivot->produk->urutan == 1) + <div class="col-lg-4"> + <div + class="card card-primary card-outline"> + <div class="card-header"> + <h5 class="card-title m-0"> + {{ $kelompokKategoriPivot->produk->nama_produk ?? '' }} + </h5> + </div> + <div class="card-body"> + <img style="width: 100%;height: 200px;object-fit: cover;" + src=" + @if ($kelompokKategoriPivot->produk->gambar_produk != null) {{ asset('storage/' . $kelompokKategoriPivot->produk->gambar_produk) }} + @else + {{ asset('assets/images/menu_image.jpeg') }} @endif + " + alt="{{ $kelompokKategoriPivot->produk->nama_produk ?? '' }}"> + + </div> + <a class="btn btn-primary" + id="ordered-menus" + onclick="selectPaket( {{ $kelompokKategoriPivot->produk }} )">Pilih + Paket + </a> + </div> + </div> + @endif + @endforeach + </div> + </div> + <div class="tab-pane fade" id="vert-tabs-telur" + role="tabpanel" aria-labelledby="vert-tabs-telur-tab"> + <div class="row"> + @foreach ($item->kelompokKategoriPivot as $key2 => $kelompokKategoriPivot) + @if ($kelompokKategoriPivot->produk->urutan == 2) + <div class="col-lg-4"> + <div + class="card card-primary card-outline"> + <div class="card-header"> + <h5 class="card-title m-0"> + {{ $kelompokKategoriPivot->produk->nama_produk ?? '' }} + </h5> + </div> + <div class="card-body"> + <img style="width: 100%;height: 200px;object-fit: cover;" + src=" + @if ($kelompokKategoriPivot->produk->gambar_produk != null) {{ asset('storage/' . $kelompokKategoriPivot->produk->gambar_produk) }} + @else + {{ asset('assets/images/menu_image.jpeg') }} @endif + " + alt="{{ $kelompokKategoriPivot->produk->nama_produk ?? '' }}"> + + </div> + <a class="btn btn-primary" + id="ordered-menus" + onclick="selectPaket( {{ $kelompokKategoriPivot->produk }} )">Pilih + Paket + </a> + </div> + </div> + @endif + @endforeach + </div> + </div> + <div class="tab-pane fade" id="vert-tabs-sambel" + role="tabpanel" + aria-labelledby="vert-tabs-sambel-tab"> + <div class="row"> + @foreach ($item->kelompokKategoriPivot as $key2 => $kelompokKategoriPivot) + @if ($kelompokKategoriPivot->produk->urutan == 3) + <div class="col-lg-4"> + <div + class="card card-primary card-outline"> + <div class="card-header"> + <h5 class="card-title m-0"> + {{ $kelompokKategoriPivot->produk->nama_produk ?? '' }} + </h5> + </div> + <div class="card-body"> + <img style="width: 100%;height: 200px;object-fit: cover;" + src=" + @if ($kelompokKategoriPivot->produk->gambar_produk != null) {{ asset('storage/' . $kelompokKategoriPivot->produk->gambar_produk) }} + @else + {{ asset('assets/images/menu_image.jpeg') }} @endif + " + alt="{{ $kelompokKategoriPivot->produk->nama_produk ?? '' }}"> + + </div> + <a class="btn btn-primary" + id="ordered-menus" + onclick="selectPaket( {{ $kelompokKategoriPivot->produk }} )">Pilih + Paket + </a> + </div> + </div> + @endif + @endforeach + </div> + </div> + <div class="tab-pane fade" id="vert-tabs-topping" + role="tabpanel" + aria-labelledby="vert-tabs-topping-tab"> + <div class="row"> + @foreach ($item->kelompokKategoriPivot as $key2 => $kelompokKategoriPivot) + @if ($kelompokKategoriPivot->produk->urutan == 4) + <div class="col-lg-4"> + <div + class="card card-primary card-outline"> + <div class="card-header"> + <h5 class="card-title m-0"> + {{ $kelompokKategoriPivot->produk->nama_produk ?? '' }} + </h5> + </div> + <div class="card-body"> + <img style="width: 100%;height: 200px;object-fit: cover;" + src=" + @if ($kelompokKategoriPivot->produk->gambar_produk != null) {{ asset('storage/' . $kelompokKategoriPivot->produk->gambar_produk) }} + @else + {{ asset('assets/images/menu_image.jpeg') }} @endif + " + alt="{{ $kelompokKategoriPivot->produk->nama_produk ?? '' }}"> + + </div> + <a class="btn btn-primary" + id="ordered-menus" + onclick="selectPaket( {{ $kelompokKategoriPivot->produk }} )">Pilih + Paket + </a> + </div> + </div> + @endif + @endforeach + </div> + </div> + <div class="tab-pane fade" id="vert-tabs-free" + role="tabpanel" aria-labelledby="vert-tabs-free-tab"> + <div class="row"> + @foreach ($item->kelompokKategoriPivot as $key2 => $kelompokKategoriPivot) + @if ($kelompokKategoriPivot->produk->urutan == 5) + <div class="col-lg-4"> + <div + class="card card-primary card-outline"> + <div class="card-header"> + <h5 class="card-title m-0"> + {{ $kelompokKategoriPivot->produk->nama_produk ?? '' }} + </h5> + </div> + <div class="card-body"> + <img style="width: 100%;height: 200px;object-fit: cover;" + src=" + @if ($kelompokKategoriPivot->produk->gambar_produk != null) {{ asset('storage/' . $kelompokKategoriPivot->produk->gambar_produk) }} + @else + {{ asset('assets/images/menu_image.jpeg') }} @endif + " + alt="{{ $kelompokKategoriPivot->produk->nama_produk ?? '' }}"> + + </div> + <a class="btn btn-primary" + id="ordered-menus" + onclick="selectPaket( {{ $kelompokKategoriPivot->produk }} )">Pilih + Paket + </a> + </div> + </div> + @endif + @endforeach + </div> + </div> + </div> + </div> </div> </div> </div> - @endforeach + @else + @foreach ($item->kelompokKategoriPivot as $key2 => $kelompokKategoriPivot) + <div class="col-lg-4"> + <div class="card card-primary card-outline btn" + onclick="aadMenu( {{ $kelompokKategoriPivot->produk }} )"> + <div class="card-header"> + <h5 class="card-title m-0"> + {{ $kelompokKategoriPivot->produk->nama_produk ?? '' }} + </h5> + </div> + <div class="card-body"> + <div class="col"> + <img style="width: 100%;height: 200px;object-fit: cover;" + src=" + @if ($kelompokKategoriPivot->produk->gambar_produk != null) {{ asset('storage/' . $kelompokKategoriPivot->produk->gambar_produk) }} + @else + {{ asset('assets/images/menu_image.jpeg') }} @endif + " + alt="{{ $kelompokKategoriPivot->produk->nama_produk ?? '' }}"> + <div class="row" + style="margin: 5px;display: flex;align-items: center;align-content: center;"> + <h5 class="col-6"> + {{ convert_to_rupiah($kelompokKategoriPivot->produk->harga_produk) }} + </h5> + <a class="col-6 btn btn-primary" + id="ordered-menus">Pesan</a> + </div> + </div> + </div> + </div> + </div> + @endforeach + @endif </div> </div> @endforeach @@ -85,11 +318,12 @@ <div class="col-lg-4"> <div class="card card-primary card-outline"> <div class="card-header"> - <h5 class="col-lg-6 card-title m-0">Kode Pesanan <small>{{ $orderCode }}</small></h5> + <h5 class="col-lg-6 card-title m-0">Kode Pesanan + <small>{{ $orderCode }}</small> + </h5> <h5 class="col-lg-6 card-title m-0" style="text-align: right"> <small id="datetime-order"></small> </h5> - </h5> </div> <div class="card-body"> <table class="table table-bordered table-striped" id="order-menus" width="100%"> @@ -593,24 +827,60 @@ }); }); - // select paket - function selectPaket(uri) { - console.log(uri); - $.ajax({ - url: uri, - method: "GET", - success: function(data) { - console.log(data); - // data.forEach(item => { - // aadMenu(item); - // }); - }, - error: function(xhr, status, error) { - console.log(xhr.responseJSON); - console.log(status); - console.log(error); + // select paket + var selectedMenus = []; + var menu_terpilih = document.getElementById('menu-terpilih'); + // pilih paket menu terlebih dahulu kemudian cocokkan dengan menu yang ada di menu terpilih jika ada maka tidak bisa memilih paket menu yang sama + function selectPaket(params) { + var isExist = false; + 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) { + isExist = true; + index = i; + } + } else if (selectedMenus[i].urutan == params.urutan) { + selectedMenus.splice(i, 1); + } else if (selectedMenus[i].id == params.id) { + isExist = true; + index = i; } - }) + } + + if (isExist) { + selectedMenus.splice(index, 1); + document.getElementById('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', ''); + } + + menu_terpilih.innerHTML = ''; + for (var i = 0; i < selectedMenus.length; i++) { + menu_terpilih.innerHTML += ` + <li> + ${selectedMenus[i].nama_produk} + </li> + `; + } + + if (selectedMenus.length == 0) { + menu_terpilih.innerHTML = ` + <li> + Pilih Paket Menu Terlebih Dahulu + </li> + `; + } + + console.log(selectedMenus); + + } </script> @endpush