Merge branch 'sofyan' of https://git.indoserv.net/wewmantap/resto-dhepot into main-gitea-akuncoa

main-gitea-akuncoa
Zelda Ababil 2024-02-01 23:24:48 +07:00
commit a3486d6b54
7 changed files with 351 additions and 201 deletions

View File

@ -3,20 +3,37 @@
namespace App\Http\Controllers\Kasir; namespace App\Http\Controllers\Kasir;
use App\Http\Controllers\Controller; use App\Http\Controllers\Controller;
use App\Models\KategoriProduk;
use App\Models\KelompokKategori;
use App\Models\KelompokKategoriPivot;
use App\Models\Pesanan; use App\Models\Pesanan;
use App\Models\Produk; use App\Models\Produk;
use Carbon\Carbon;
use Illuminate\Http\Request; use Illuminate\Http\Request;
use Illuminate\Support\Facades\Redirect;
use Illuminate\Support\Facades\Session;
use Illuminate\Support\Facades\Validator;
class Menu extends Controller class Menu extends Controller
{ {
public function index() public function index()
{ {
return view('pages.Menu.index'); // return $data = KelompokKategoriPivot::with(['kelompokKategori', 'produk'])->first();
$kategori_produks = KategoriProduk::get();
return view('pages.Menu.index', compact('kategori_produks'));
}
public function kelompokKategori($id) {
$kelompok_kategoris = KelompokKategori::where('kategori_produk_id', $id)->get();
return $kelompok_kategoris;
} }
public function getDataMenu() public function getDataMenu()
{ {
$data = Produk::with(['kategori_produk'])->get(); // $data = Produk::with(['kategori_produk'])->get();
$data = KelompokKategoriPivot::with(['kelompokKategori', 'produk'])->get();
$nomor = 1; $nomor = 1;
return $datatables = datatables() return $datatables = datatables()
@ -24,15 +41,117 @@ class Menu extends Controller
->addColumn('nomor', function ($data) use (&$nomor) { ->addColumn('nomor', function ($data) use (&$nomor) {
return $nomor++; return $nomor++;
}) })
->addColumn('kode_produk', function ($data) {
return $data->produk->kode_produk;
})
->addColumn('nama_produk', function ($data) {
return $data->produk->nama_produk;
})
->addColumn('harga_produk', function ($data) {
return $data->produk->harga_produk;
})
->addColumn('nama_kelompok_kategori', function ($data) {
return $data->kelompokKategori->nama_kelompok_kategori;
})
->addColumn('kategori_produk', function ($data) { ->addColumn('kategori_produk', function ($data) {
return $data->kategori_produk->nama_kategori_produk; return $data->produk->kategori_produk->nama_kategori_produk;
}) })
->addColumn('ubah', function ($data) { ->addColumn('ubah', function ($data) {
return '<div class="btn-group"> 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> <a href="javascript:void(0)" onclick="editMenu(\'' . $data->id . '\')">
<span class="btn btn-md btn-warning"><i class="fas fa-edit"></i> Edit</span>
</a>
</div>'; </div>';
}) })
->rawColumns(['nomor', 'kode_produk', 'ubah']) ->rawColumns(['nomor', 'ubah'])
->make(true); ->make(true);
} }
// Tambah Menu
public function store(Request $request) {
// validation
$rules = array(
'kategori_produk' => 'required',
'kelompok_produk' => 'required',
'kode_produk' => 'required',
'nama_produk' => 'required',
'harga_produk' => 'required',
'tersedia' => 'required',
'deskripsi_produk' => 'required',
);
$validator = Validator::make($request->all(), $rules);
// check validation
if ($validator->fails()) {
// If validation fails, return with errors
return response()->json(['errors' => $validator->errors()], 422);
} else {
// create product
$produk = Produk::create([
'kategori_produk_id' => $request->kategori_produk,
'kode_produk' => $request->kode_produk,
'nama_produk' => $request->nama_produk,
'harga_produk' => $request->harga_produk,
'tersedia' => $request->tersedia,
'deskripsi_produk' => $request->deskripsi_produk,
'created_at' => Carbon::now()
]);
$pivot_produk = KelompokKategoriPivot::create([
'kelompok_kategori_id' => $request->kelompok_produk,
'produk_id' => $produk->id,
'created_at' => Carbon::now()
]);
// Return a success response
return response()->json(['message' => 'Data created successfully']);
}
}
public function show($id) {
$data = KelompokKategoriPivot::with(['kelompokKategori', 'produk'])->findOrFail($id);
return response()->json($data);
}
// Ubah Menu
public function update(Request $request, $id) {
// validation
$rules = array(
'kategori_produk' => 'required',
'kelompok_produk' => 'required',
'kode_produk' => 'required',
'nama_produk' => 'required',
'harga_produk' => 'required',
'tersedia' => 'required',
'deskripsi_produk' => 'required',
);
$validator = Validator::make($request->all(), $rules);
// check validation
if ($validator->fails()) {
// If validation fails, return with errors
return response()->json(['errors' => $validator->errors()], 422);
} else {
$pivot = KelompokKategoriPivot::findOrFail($id);
$produk = Produk::find($pivot->produk_id);
// update pivot produk
$pivot->update([
'kelompok_ketegori_id' => $request->kelompok_produk,
]);
// update produk
$produk->update([
'kategori_produk_id' => $request->kategori_produk,
'kode_produk' => $request->kode_produk,
'nama_produk' => $request->nama_produk,
'harga_produk' => $request->harga_produk,
'tersedia' => $request->tersedia,
'deskripsi_produk' => $request->deskripsi_produk,
]);
// Return a success response
return response()->json(['message' => 'Data created successfully']);
}
}
} }

View File

@ -18,6 +18,7 @@ scratch. This page gets rid of all links and provides the needed markup only.
<link rel="stylesheet" href="{{ asset('assets/plugins/fontawesome-free/css/fontawesome.min.css') }}"> <link rel="stylesheet" href="{{ asset('assets/plugins/fontawesome-free/css/fontawesome.min.css') }}">
<link rel="stylesheet" href="{{ asset('assets/plugins/fontawesome-free/css/all.min.css') }}"> <link rel="stylesheet" href="{{ asset('assets/plugins/fontawesome-free/css/all.min.css') }}">
<link rel="stylesheet" href="{{ asset('assets/plugins/fontawesome-free/css/solid.min.css') }}"> <link rel="stylesheet" href="{{ asset('assets/plugins/fontawesome-free/css/solid.min.css') }}">
@stack('style2')
<!-- Theme style --> <!-- Theme style -->
<link rel="stylesheet" href="{{ asset('assets/dist/css/adminlte.min.css') }}"> <link rel="stylesheet" href="{{ asset('assets/dist/css/adminlte.min.css') }}">

View File

@ -129,7 +129,8 @@
<script> <script>
function print(id) { function print(id) {
var url = "{{ route('history.print', '') }}/" + id + '?print=true' var url = "{{ route('history.print', '') }}/" + id + '?print=true'
window.open(url, '_blank'); // window.open(url, '_blank');
window.open(url, '_blank', "toolbar=yes,scrollbars=yes,resizable=yes,top=500,left=500,width=900,height=600");
} }
</script> </script>
<script> <script>

View File

@ -71,18 +71,21 @@
function printDapurTigaKali(id) { function printDapurTigaKali(id) {
var url = "{{ route('transaksi.printDapurTigaKali', '') }}/" + id + '?print=true' var url = "{{ route('transaksi.printDapurTigaKali', '') }}/" + id + '?print=true'
window.open(url, '_blank'); window.open(url, '_blank');
// window.open(result.url, '_blank', "toolbar=yes,scrollbars=yes,resizable=yes,top=500,left=500,width=900,height=600");
location.reload(true); location.reload(true);
} }
function printDapurDuaKali(id) { function printDapurDuaKali(id) {
var url = "{{ route('transaksi.printDapurDuaKali', '') }}/" + id + '?print=true' var url = "{{ route('transaksi.printDapurDuaKali', '') }}/" + id + '?print=true'
window.open(url, '_blank'); window.open(url, '_blank');
// window.open(result.url, '_blank', "toolbar=yes,scrollbars=yes,resizable=yes,top=500,left=500,width=900,height=600");
location.reload(true); location.reload(true);
} }
function printDapurSatuKali(id) { function printDapurSatuKali(id) {
var url = "{{ route('transaksi.printDapurSatuKali', '') }}/" + id + '?print=true' var url = "{{ route('transaksi.printDapurSatuKali', '') }}/" + id + '?print=true'
window.open(url, '_blank'); window.open(url, '_blank');
// window.open(result.url, '_blank', "toolbar=yes,scrollbars=yes,resizable=yes,top=500,left=500,width=900,height=600");
location.reload(true); location.reload(true);
} }
</script> </script>
@ -379,8 +382,7 @@
var diskonSatuan = table.rows[index].getAttribute('data-diskon-satuan'); 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');
var valueKeterangan = table.rows[index].cells[0].getElementsByTagName('input')[0].getAttribute( var valueKeterangan = table.rows[index].cells[0].getElementsByTagName('input')[0].getAttribute('data-keterangan');
'data-keterangan');
qty = parseInt(qty) + 1; qty = parseInt(qty) + 1;
var totalLama = parseInt(total) + parseInt(harga); var totalLama = parseInt(total) + parseInt(harga);
@ -413,8 +415,7 @@
<button type="button" class="btn btn-default btn-xs btn-flat" onclick="incrementMenu(${params}, '${nama_produk}')">+</button> <button type="button" class="btn btn-default btn-xs btn-flat" onclick="incrementMenu(${params}, '${nama_produk}')">+</button>
</span> </span>
</div> </div>
</td> </td>`;
`;
calculateTotal(); calculateTotal();
} }
@ -719,6 +720,7 @@
timeOut: 2000 timeOut: 2000
}); });
window.open(result.url, '_blank'); window.open(result.url, '_blank');
// window.open(result.url, '_blank', "toolbar=yes,scrollbars=yes,resizable=yes,top=500,left=500,width=900,height=600");
setTimeout(function() { setTimeout(function() {
window.location.reload(1); window.location.reload(1);
@ -846,6 +848,7 @@
timeOut: 2000 timeOut: 2000
}); });
window.open(result.url, '_blank'); window.open(result.url, '_blank');
// window.open(result.url, '_blank', "toolbar=yes,scrollbars=yes,resizable=yes,top=500,left=500,width=900,height=600");
setTimeout(function() { setTimeout(function() {
window.location.reload(1); window.location.reload(1);

View File

@ -46,7 +46,7 @@
aria-labelledby="custom-tabs-four-{{ $item->kode_kelompok_kategori }}-tab"> 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-lg-12 col-md-6 col-sm-6" style="padding: 0px"> <div class="col-lg-12 col-md-12 col-sm-12" style="padding: 0px">
<div class="row" style="padding: 0px"> <div class="row" style="padding: 0px">
<div class="col-xl-3 col-lg-4 col-md-4 col-sm-3" <div class="col-xl-3 col-lg-4 col-md-4 col-sm-3"
style="margin-left: 0px;padding-left: 0px;"> style="margin-left: 0px;padding-left: 0px;">
@ -105,7 +105,7 @@
@foreach ($item->kelompokKategoriPivot as $key2 => $kelompokKategoriPivot) @foreach ($item->kelompokKategoriPivot as $key2 => $kelompokKategoriPivot)
@if ($kelompokKategoriPivot->produk->urutan == 1) @if ($kelompokKategoriPivot->produk->urutan == 1)
<div <div
class="col-xl-4 col-lg-6 col-md-4 col-sm-4"> class="col-xl-4 col-lg-6 col-md-12 col-sm-6">
<div onclick="selectPaket( {{ $kelompokKategoriPivot->produk }} );changeTab('vert-tabs-telur')" <div onclick="selectPaket( {{ $kelompokKategoriPivot->produk }} );changeTab('vert-tabs-telur')"
class="card card-warning card-outline btn"> class="card card-warning card-outline btn">
<div class="card-header"> <div class="card-header">
@ -135,7 +135,7 @@
@foreach ($item->kelompokKategoriPivot as $key2 => $kelompokKategoriPivot) @foreach ($item->kelompokKategoriPivot as $key2 => $kelompokKategoriPivot)
@if ($kelompokKategoriPivot->produk->urutan == 2) @if ($kelompokKategoriPivot->produk->urutan == 2)
<div <div
class="col-xl-4 col-lg-6 col-md-4 col-sm-4"> class="col-xl-4 col-lg-6 col-md-12 col-sm-6">
<div onclick="selectPaket( {{ $kelompokKategoriPivot->produk }} );changeTab('vert-tabs-sambel')" <div onclick="selectPaket( {{ $kelompokKategoriPivot->produk }} );changeTab('vert-tabs-sambel')"
class="card card-warning card-outline btn"> class="card card-warning card-outline btn">
<div class="card-header"> <div class="card-header">
@ -165,7 +165,7 @@
@foreach ($item->kelompokKategoriPivot as $key2 => $kelompokKategoriPivot) @foreach ($item->kelompokKategoriPivot as $key2 => $kelompokKategoriPivot)
@if ($kelompokKategoriPivot->produk->urutan == 3) @if ($kelompokKategoriPivot->produk->urutan == 3)
<div <div
class="col-xl-4 col-lg-6 col-md-4 col-sm-4"> class="col-xl-4 col-lg-6 col-md-12 col-sm-6">
<div onclick="selectPaket( {{ $kelompokKategoriPivot->produk }} );changeTab('vert-tabs-topping')" <div onclick="selectPaket( {{ $kelompokKategoriPivot->produk }} );changeTab('vert-tabs-topping')"
class="card card-warning card-outline btn"> class="card card-warning card-outline btn">
<div class="card-header"> <div class="card-header">
@ -195,7 +195,7 @@
@foreach ($item->kelompokKategoriPivot as $key2 => $kelompokKategoriPivot) @foreach ($item->kelompokKategoriPivot as $key2 => $kelompokKategoriPivot)
@if ($kelompokKategoriPivot->produk->urutan == 4) @if ($kelompokKategoriPivot->produk->urutan == 4)
<div <div
class="col-xl-4 col-lg-6 col-md-4 col-sm-4"> class="col-xl-4 col-lg-6 col-md-12 col-sm-6">
<div onclick="selectPaket( {{ $kelompokKategoriPivot->produk }} );changeTab('vert-tabs-free')" <div onclick="selectPaket( {{ $kelompokKategoriPivot->produk }} );changeTab('vert-tabs-free')"
class="card card-warning card-outline btn"> class="card card-warning card-outline btn">
<div class="card-header"> <div class="card-header">
@ -224,7 +224,7 @@
@foreach ($item->kelompokKategoriPivot as $key2 => $kelompokKategoriPivot) @foreach ($item->kelompokKategoriPivot as $key2 => $kelompokKategoriPivot)
@if ($kelompokKategoriPivot->produk->urutan == 5) @if ($kelompokKategoriPivot->produk->urutan == 5)
<div <div
class="col-xl-4 col-lg-6 col-md-4 col-sm-4"> class="col-xl-4 col-lg-6 col-md-12 col-sm-6">
<div onclick="selectPaket( {{ $kelompokKategoriPivot->produk }} )" <div onclick="selectPaket( {{ $kelompokKategoriPivot->produk }} )"
class="card card-warning card-outline btn"> class="card card-warning card-outline btn">
<div class="card-header"> <div class="card-header">
@ -255,8 +255,7 @@
@else @else
@foreach ($item->kelompokKategoriPivot as $key2 => $kelompokKategoriPivot) @foreach ($item->kelompokKategoriPivot as $key2 => $kelompokKategoriPivot)
{{-- Jika paket irit --}} {{-- Jika paket irit --}}
@switch($kelompokKategoriPivot->kelompok_kategori_id) @if ($kelompokKategoriPivot->kelompok_kategori_id === 9)
@case(9)
@if ( @if (
$kelompokKategoriPivot->produk->tgl_start_promo <= \Carbon\Carbon::now() && $kelompokKategoriPivot->produk->tgl_start_promo <= \Carbon\Carbon::now() &&
$kelompokKategoriPivot->produk->tgl_end_promo >= \Carbon\Carbon::now()) $kelompokKategoriPivot->produk->tgl_end_promo >= \Carbon\Carbon::now())
@ -344,9 +343,33 @@
Tidak ada promo Tidak ada promo
@endif @endif
@endif @endif
@break @else
@if ($kelompokKategoriPivot->kelompok_kategori_id == 2)
@default <div class="col-xl-4 col-lg-6 col-md-6 col-sm-12">
<div class="card card-warning card-outline btn"
onclick="aadMenu( {{ $kelompokKategoriPivot->produk }} )">
<div class="card-header px-0">
<h6 class="m-0 text-sm text-bold">
{{ $kelompokKategoriPivot->produk->nama_produk ?? '' }}
</h6>
</div>
<div class="card-body px-0">
<div class="col-md-12 px-0">
<div class="col-md-12 text-sm d-flex py-2 rounded bg-secondary"
style="background-color: rgb(230, 230, 230)">
<h5 class="my-auto text-bold"
style="align-items: center;">
{{ convert_to_rupiah($kelompokKategoriPivot->produk->harga_produk) }}
</h5>
<a class="btn btn-warning ml-auto"
id="ordered-menus"><i
class="fa fa-shopping-cart"></i></a>
</div>
</div>
</div>
</div>
</div>
@else
{{-- untuk semua menu selain paket --}} {{-- untuk semua menu selain paket --}}
<div class="col-xl-4 col-lg-6 col-md-6 col-sm-12"> <div class="col-xl-4 col-lg-6 col-md-6 col-sm-12">
<div class="card card-warning card-outline btn" <div class="card card-warning card-outline btn"
@ -375,7 +398,8 @@
</div> </div>
</div> </div>
</div> </div>
@endswitch @endif
@endif
@endforeach @endforeach
@endif @endif
</div> </div>

View File

@ -20,13 +20,13 @@
@endsection @endsection
@section('content') @section('content')
<div class="col-12 mt-2"> <div class="col-12 mt-2">
<div class="container" style="display: contents"> <div class="container" style="display: contents">
<div class="card"> <div class="card">
<div class="card bg-warning" style="min-height:5px; border-radius:1px;"></div> <div class="card bg-warning" style="min-height:5px; border-radius:1px;"></div>
<div class="card-header mt-0 pt-0"> <div class="card-header mt-0 pt-0">
<div class="d-flex"> <div class="d-flex">
<h4>Daftar Menu</h4> <h3>Daftar Menu</h3>
<!-- Button trigger modal --> <!-- Button trigger modal -->
<div class="ml-auto"> <div class="ml-auto">
<button type="button" class="btn btn-primary" data-toggle="modal" data-target="#modal-default"> <button type="button" class="btn btn-primary" data-toggle="modal" data-target="#modal-default">
@ -54,10 +54,10 @@
</div> </div>
</div> </div>
</div> </div>
</div> </div>
<!-- Modal Tambah Menu --> <!-- Modal Tambah Menu -->
<div class="modal fade" id="modal-default"> <div class="modal fade" id="modal-default">
<div class="modal-dialog modal-lg"> <div class="modal-dialog modal-lg">
<div class="modal-content"> <div class="modal-content">
<div class="modal-header"> <div class="modal-header">
@ -84,7 +84,7 @@
</div> </div>
</div> </div>
</div> </div>
</div> </div>
@endsection @endsection
@push('styles') @push('styles')
@ -101,14 +101,14 @@
@media only screen and (max-width : 414px) { @media only screen and (max-width : 414px) {
/* Styles */ /* 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') }}">
<link rel="stylesheet" href="{{ asset('assets/datatables/datatables.min.css') }}"> <link rel="stylesheet" href="{{asset('assets/datatables/datatables.min.css')}}">
@endpush @endpush
@push('scripts') @push('scripts')
<script src="{{ asset('assets/datatables/datatables.min.js') }}"></script> <script src="{{ asset('assets/datatables/datatables.min.js') }}"></script>
<script> <script>
$(document).ready(function() { $(document).ready(function() {
$('#tabelku').DataTable({ $('#tabelku').DataTable({
processing: true, processing: true,
@ -144,5 +144,5 @@
] ]
}) })
}) })
</script> </script>
@endpush @endpush

View File

@ -60,7 +60,9 @@ Route::group(['middleware' => ['auth', 'permission']], function () {
}); });
Route::group(['prefix' => 'menu'], function () { Route::group(['prefix' => 'menu'], function () {
Route::get('/', [Menu::class, 'index'])->name('menu.index')->comment("Halaman Menu"); Route::resource('menu', Menu::class);
// Route::get('/', [Menu::class, 'index'])->name('menu.index')->comment("Halaman Menu");
Route::get('/kelompok-kategori/{id}', [Menu::class, 'kelompokKategori'])->name('menu.kelompok-kategori')->comment("Ambil Data Kelompok Kategori");
Route::get('/getDataMenu', [Menu::class, 'getDataMenu'])->name('menu.getDataMenu')->comment("Ambil data Menu"); Route::get('/getDataMenu', [Menu::class, 'getDataMenu'])->name('menu.getDataMenu')->comment("Ambil data Menu");
}); });