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>

File diff suppressed because it is too large Load Diff

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,11 +23,16 @@ 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 () {
Route::get('/', [History::class, 'index'])->name('history.index'); Route::get('/', [History::class, 'index'])->name('history.index');
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');
});