Compare commits
15 Commits
7e31d7bb0a
...
9560438af2
Author | SHA1 | Date |
---|---|---|
|
9560438af2 | |
|
1b58f36d9f | |
|
90fa15a65d | |
|
137eb42ac7 | |
|
81144d5515 | |
|
5f21fce68b | |
|
9467a8c83f | |
|
f0eae4f1e8 | |
|
a198ba441e | |
|
79634abdef | |
|
dbc080f447 | |
|
bd6a5d3173 | |
|
dff9222ef4 | |
|
19b0f783d3 | |
|
e3da497e0a |
|
@ -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);
|
||||
}
|
||||
}
|
|
@ -3,6 +3,7 @@
|
|||
namespace App\Http\Controllers\Kasir;
|
||||
|
||||
use App\Http\Controllers\Controller;
|
||||
use App\Models\DetailPesanan;
|
||||
use App\Models\KelompokKategori;
|
||||
use App\Models\Produk;
|
||||
use Illuminate\Http\Request;
|
||||
|
@ -15,8 +16,18 @@ class Transaksi extends Controller
|
|||
{
|
||||
$orderCode = "ORD -" . strtoupper(random_str(6, random_str()));
|
||||
$KelompokKategori = KelompokKategori::with('kelompokKategoriPivot.produk')->get();
|
||||
|
||||
foreach ($KelompokKategori as $item) {
|
||||
foreach ($item->kelompokKategoriPivot as $kelompokKategoriPivot) {
|
||||
// Query tambahan untuk mendapatkan total pembelian berdasarkan produk
|
||||
$totalPembelianByProduk[$kelompokKategoriPivot->produk->id] = DetailPesanan::select('detail_pesanans.produk_id', DB::raw('SUM(detail_pesanans.jumlah_produk) as total_beli'))
|
||||
->where('detail_pesanans.produk_id', '=', $kelompokKategoriPivot->produk->id)
|
||||
->groupBy('detail_pesanans.produk_id')
|
||||
->first();
|
||||
}
|
||||
}
|
||||
$produk = Produk::all();
|
||||
return view('pages.Kasir.transaksi', compact('orderCode', 'KelompokKategori', 'produk'));
|
||||
return view('pages.Kasir.transaksi', compact('orderCode', 'KelompokKategori', 'produk', 'totalPembelianByProduk'));
|
||||
}
|
||||
|
||||
public function store(Request $request)
|
||||
|
@ -24,10 +35,12 @@ class Transaksi extends Controller
|
|||
$request->validate([
|
||||
'orderCode' => 'required',
|
||||
'namaPemesan' => 'required',
|
||||
'nomorMeja' => 'required',
|
||||
'orderMenus' => 'required',
|
||||
], [
|
||||
'orderCode.required' => 'Kode pesanan tidak boleh kosong',
|
||||
'namaPemesan.required' => 'Nama pemesan tidak boleh kosong',
|
||||
'nomorMeja.required' => 'Nomor meja tidak boleh kosong',
|
||||
'orderMenus.required' => 'Pesanan tidak boleh kosong',
|
||||
]);
|
||||
|
||||
|
@ -43,6 +56,7 @@ class Transaksi extends Controller
|
|||
$pesananDatas = [
|
||||
'kode_pesanan' => $request->orderCode,
|
||||
'nama_pemesan' => $request->namaPemesan,
|
||||
'nomor_meja' => $request->nomorMeja,
|
||||
'status_pesanan' => '1',
|
||||
'tanggal_pesanan' => date('Y-m-d H:i:s'),
|
||||
'keterangan_pesanan' => $request->keteranganPesanan ?? null,
|
||||
|
@ -66,6 +80,8 @@ class Transaksi extends Controller
|
|||
'jumlah_produk' => $value['qty'],
|
||||
'harga_produk' => $value['harga'],
|
||||
'total_harga_produk' => $value['total'],
|
||||
'diskon_persen' => $value['diskonSatuan'] ?? null,
|
||||
'keterangan_produk' => $value['keterangan'] ?? null,
|
||||
];
|
||||
$detailPesananModels = \App\Models\DetailPesanan::create($oderDatas);
|
||||
}
|
||||
|
|
|
@ -20,6 +20,7 @@ class DetailPesanan extends Model
|
|||
'harga_produk',
|
||||
'jumlah_produk',
|
||||
'total_harga_produk',
|
||||
'keterangan_produk',
|
||||
'diskon_id',
|
||||
'nama_diskon',
|
||||
'kode_diskon',
|
||||
|
|
|
@ -17,13 +17,25 @@ class Produk extends Model
|
|||
'kategori_produk_id',
|
||||
'kode_produk',
|
||||
'nama_produk',
|
||||
'gambar_produk',
|
||||
'varian_produk',
|
||||
'deskripsi_produk',
|
||||
'harga_produk',
|
||||
'stok_produk',
|
||||
'tersedia',
|
||||
'gambar_produk',
|
||||
'urutan',
|
||||
];
|
||||
|
||||
// full path to reach image from storage folder and check if image exists or not
|
||||
public function getGambarProdukAttribute($value)
|
||||
{
|
||||
$storage = storage_path('app/public/produk/' . $this->kategori_produk_id . '/' . $value);
|
||||
if (file_exists($storage)) {
|
||||
return asset('storage/produk/' . $this->kategori_produk_id . '/' . $value);
|
||||
} else {
|
||||
return asset('assets/images/menu_image.jpeg');
|
||||
}
|
||||
}
|
||||
|
||||
public function kategori_produk()
|
||||
{
|
||||
|
|
|
@ -1,10 +1,9 @@
|
|||
<!-- Main Footer -->
|
||||
<footer class="main-footer">
|
||||
{{-- <footer class="main-footer">
|
||||
<!-- To the right -->
|
||||
<div class="float-right d-none d-sm-inline">
|
||||
Anything you want
|
||||
version 1.0.0
|
||||
</div>
|
||||
<!-- Default to the left -->
|
||||
<strong>Copyright © 2014-2021 <a href="https://adminlte.io">AdminLTE.io</a>.</strong> All rights
|
||||
reserved.
|
||||
</footer>
|
||||
<strong>Copyright © 2014-2021 <a href="https://adminlte.io">AdminLTE.io</a>.</strong> All rights reserved.
|
||||
</footer> --}}
|
|
@ -1,11 +1,12 @@
|
|||
<!-- Navbar -->
|
||||
<nav class="main-header navbar navbar-expand-lg navbar-light navbar-warning">
|
||||
<div class="container" style="display: contents">
|
||||
<a href="#" class="navbar-brand">
|
||||
<span class="brand-text font-weight-light">Sepiring Telur Keriting</span>
|
||||
<a href="/" class="navbar-brand">
|
||||
<span class="brand-text font-weight-bold ml-2" style="color: rgba(62, 62, 62, 0.526)">Sepiring Telur
|
||||
Keriting</span>
|
||||
</a>
|
||||
|
||||
<div class="collapse navbar-collapse order-3" id="navbarCollapse">
|
||||
{{-- <div class="collapse navbar-collapse order-3" id="navbarCollapse">
|
||||
<!-- Left navbar links -->
|
||||
<ul class="navbar-nav">
|
||||
<li class="nav-item">
|
||||
|
@ -66,14 +67,14 @@
|
|||
</div>
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
</div> --}}
|
||||
|
||||
<!-- Right navbar links -->
|
||||
<ul class="order-1 order-md-3 navbar-nav navbar-no-expand ml-auto">
|
||||
<!-- Messages Dropdown Menu -->
|
||||
<li class="nav-item">
|
||||
<a class="nav-link" id="full-screen" data-widget="control-sidebar" data-slide="true" href="#"
|
||||
role="button">
|
||||
<a class="nav-link" id="full-screen" data-widget="control-sidebar" data-slide="true"
|
||||
href="javascript:void(0)" role="button">
|
||||
<i class="fas fa-th-large"></i>
|
||||
Fullscreen
|
||||
</a>
|
||||
|
|
|
@ -18,6 +18,20 @@ scratch. This page gets rid of all links and provides the needed markup only.
|
|||
<!-- Theme style -->
|
||||
<link rel="stylesheet" href="{{ asset('assets/dist/css/adminlte.min.css') }}">
|
||||
|
||||
<style>
|
||||
/* Chrome, Safari, Edge, Opera */
|
||||
input::-webkit-outer-spin-button,
|
||||
input::-webkit-inner-spin-button {
|
||||
-webkit-appearance: none;
|
||||
margin: 0;
|
||||
}
|
||||
|
||||
/* Firefox */
|
||||
input[type=number] {
|
||||
-moz-appearance: textfield;
|
||||
}
|
||||
</style>
|
||||
|
||||
@stack('styles')
|
||||
|
||||
</head>
|
||||
|
|
|
@ -22,7 +22,7 @@
|
|||
}
|
||||
|
||||
body {
|
||||
font-family: 'Oswald';
|
||||
/* font-family: 'Oswald'; */
|
||||
font-size: 8pt;
|
||||
/* transform: scaleY(1.5); */
|
||||
}
|
||||
|
@ -33,11 +33,11 @@
|
|||
}
|
||||
|
||||
/* .literely-table td,
|
||||
th,
|
||||
tr {
|
||||
border-collapse: collapse;
|
||||
border: 0.1px solid rgb(85, 85, 85);
|
||||
} */
|
||||
th,
|
||||
tr {
|
||||
border-collapse: collapse;
|
||||
border: 0.1px solid rgb(85, 85, 85);
|
||||
} */
|
||||
|
||||
.rotate90 {
|
||||
-webkit-transform: rotate(90deg);
|
||||
|
@ -64,6 +64,10 @@
|
|||
hr.style2 {
|
||||
border-top: 1px solid #8c8b8b;
|
||||
}
|
||||
|
||||
.dashed-line {
|
||||
border: 1.5px dashed black;
|
||||
}
|
||||
</style>
|
||||
|
||||
<body style="width: 80mm;">
|
||||
|
@ -74,10 +78,12 @@
|
|||
<span>
|
||||
<p>{{ tanggal_indonesia($pesanan->tanggal_pesanan) }}</p>
|
||||
<p>{{ date('H:i', strtotime($pesanan->tanggal_pesanan)) }}</p>
|
||||
<p>Meja: {{ $pesanan->nomor_meja }}</p>
|
||||
</span>
|
||||
<span style="text-align: right">
|
||||
<p>{{ $pesanan->kode_pesanan }}</p>
|
||||
<p>{{ $pesanan->user->name }}</p>
|
||||
<p>Kasir: {{ $pesanan->user->name }}</p>
|
||||
<p>Order: {{ $pesanan->nama_pemesan }}</p>
|
||||
</span>
|
||||
</span>
|
||||
<p></p>
|
||||
|
@ -85,7 +91,6 @@
|
|||
<table class="literely-table" style="width: 100%;">
|
||||
<tbody>
|
||||
@foreach ($pesanan->detailPesanan as $item)
|
||||
{{-- @dd($item) --}}
|
||||
<tr>
|
||||
<td style="width: 2px;">{{ $loop->iteration }}</td>
|
||||
<td style="width: 80px;" colspan="3">{{ $item->nama_produk }}</td>
|
||||
|
@ -94,7 +99,9 @@
|
|||
<td></td>
|
||||
<td style="text-align: right">{{ $item->jumlah_produk }}</td>
|
||||
<td style="text-align: right">{{ convert_to_rupiah($item->harga_produk) }}</td>
|
||||
<td style="text-align: right">{{ convert_to_rupiah($item->total_harga_produk) }}</td>
|
||||
<td style="text-align: right;width: 30px">
|
||||
{{ $item->diskon_persen != '' ? $item->diskon_persen . '%' : '' }}</td>
|
||||
<td style="text-align: right;width: 90px">{{ convert_to_rupiah($item->total_harga_produk) }}</td>
|
||||
</tr>
|
||||
@endforeach
|
||||
</tbody>
|
||||
|
@ -132,8 +139,49 @@
|
|||
<hr class="style1">
|
||||
<p style="text-align: center">Terima Kasih, Selamat Datang Kembali</p>
|
||||
<p style="text-align: center;font-size: 7pt;">@sepiringtelurkeriting</p>
|
||||
|
||||
|
||||
<hr class="dashed-line" style="margin-top: 15px;">
|
||||
<p style="text-align: center;font-size: 7pt">untuk dapur</p>
|
||||
<hr class="dashed-line" style="margin-top: 10px;">
|
||||
<span style="display: flex; justify-content: space-between;margin-top: 10px;">
|
||||
<span>
|
||||
<p>{{ tanggal_indonesia($pesanan->tanggal_pesanan) }}</p>
|
||||
<p>{{ date('H:i', strtotime($pesanan->tanggal_pesanan)) }}</p>
|
||||
<p>Meja: {{ $pesanan->nomor_meja }}</p>
|
||||
</span>
|
||||
<span style="text-align: right">
|
||||
<p>{{ $pesanan->kode_pesanan }}</p>
|
||||
<p>Kasir: {{ $pesanan->user->name }}</p>
|
||||
<p>Order: {{ $pesanan->nama_pemesan }}</p>
|
||||
</span>
|
||||
</span>
|
||||
<p></p>
|
||||
<hr class="style2">
|
||||
<p style="text-align: left; margin-top:3px;">Menu Order</p>
|
||||
<table class="table" style="width: 100%;">
|
||||
<tbody>
|
||||
@foreach ($pesanan->detailPesanan as $item)
|
||||
<tr>
|
||||
<td style="width: 80px;" colspan="3">
|
||||
{{ $loop->iteration }}. {{ $item->nama_produk }}
|
||||
<br>
|
||||
<small>
|
||||
{{ $item->keterangan_produk }}
|
||||
</small>
|
||||
</td>
|
||||
</tr>
|
||||
@endforeach
|
||||
</tbody>
|
||||
</table>
|
||||
<p style="text-align: left; margin-top:5px;">Keterangan Pesanan Keseluruhan</p>
|
||||
<table class="table" style="width: 100%;">
|
||||
<tbody>
|
||||
<tr>
|
||||
<td style="width: 80px;" colspan="3">
|
||||
{{ $pesanan->keterangan_pesanan != '' ? $pesanan->keterangan_pesanan : '-' }}</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
<hr class="style2">
|
||||
</body>
|
||||
<script>
|
||||
window.print();
|
||||
|
|
|
@ -1,175 +1,188 @@
|
|||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=Windows-1252" />
|
||||
<title>Document</title>
|
||||
<link rel="preconnect" href="https://fonts.googleapis.com">
|
||||
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
|
||||
<link href="https://fonts.googleapis.com/css2?family=Oswald&family=Roboto:wght@300;400&display=swap"
|
||||
rel="stylesheet">
|
||||
</head>
|
||||
|
||||
<style>
|
||||
@page {
|
||||
margin: 0.2cm;
|
||||
}
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=Windows-1252" />
|
||||
<title>Document</title>
|
||||
<link rel="preconnect" href="https://fonts.googleapis.com">
|
||||
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
|
||||
<link href="https://fonts.googleapis.com/css2?family=Oswald&family=Roboto:wght@300;400&display=swap"
|
||||
rel="stylesheet">
|
||||
</head>
|
||||
|
||||
html {
|
||||
color: black;
|
||||
}
|
||||
<style>
|
||||
@page {
|
||||
margin: 0.2cm;
|
||||
}
|
||||
|
||||
body {
|
||||
font-family: 'Oswald';
|
||||
font-size: 8pt;
|
||||
/* transform: scaleY(1.5); */
|
||||
}
|
||||
html {
|
||||
color: black;
|
||||
}
|
||||
|
||||
.title {
|
||||
font-size: 11pt;
|
||||
font-weight: bold;
|
||||
}
|
||||
body {
|
||||
/* font-family: 'Oswald'; */
|
||||
font-size: 8pt;
|
||||
/* transform: scaleY(1.5); */
|
||||
}
|
||||
|
||||
/* .literely-table td,
|
||||
.title {
|
||||
font-size: 11pt;
|
||||
font-weight: bold;
|
||||
}
|
||||
|
||||
/* .literely-table td,
|
||||
th,
|
||||
tr {
|
||||
border-collapse: collapse;
|
||||
border: 0.1px solid rgb(85, 85, 85);
|
||||
} */
|
||||
|
||||
.rotate90 {
|
||||
-webkit-transform: rotate(90deg);
|
||||
-moz-transform: rotate(90deg);
|
||||
-o-transform: rotate(90deg);
|
||||
-ms-transform: rotate(90deg);
|
||||
transform: rotate(90deg);
|
||||
}
|
||||
.rotate90 {
|
||||
-webkit-transform: rotate(90deg);
|
||||
-moz-transform: rotate(90deg);
|
||||
-o-transform: rotate(90deg);
|
||||
-ms-transform: rotate(90deg);
|
||||
transform: rotate(90deg);
|
||||
}
|
||||
|
||||
h1,
|
||||
h2,
|
||||
h3,
|
||||
h4,
|
||||
h5,
|
||||
h6,
|
||||
p {
|
||||
margin: 0;
|
||||
}
|
||||
h1,
|
||||
h2,
|
||||
h3,
|
||||
h4,
|
||||
h5,
|
||||
h6,
|
||||
p {
|
||||
margin: 0;
|
||||
}
|
||||
|
||||
hr.style1 {
|
||||
border-top: 3px double #8c8b8b;
|
||||
}
|
||||
hr.style1 {
|
||||
border-top: 3px double #8c8b8b;
|
||||
}
|
||||
|
||||
hr.style2 {
|
||||
border-top: 1px solid #8c8b8b;
|
||||
}
|
||||
.dashed-line {
|
||||
border: 1.5px dashed black;
|
||||
}
|
||||
</style>
|
||||
hr.style2 {
|
||||
border-top: 1px solid #8c8b8b;
|
||||
}
|
||||
|
||||
<body style="width: 80mm;">
|
||||
<h2 style="text-align: center">Sepiring Telur Keriting</h2>
|
||||
<p style="text-align: center">Jln. Jawa No. 28A, Jember</p>
|
||||
<hr class="style2">
|
||||
<span style="display: flex; justify-content: space-between">
|
||||
<span>
|
||||
<p>{{ tanggal_indonesia($pesanan->tanggal_pesanan) }}</p>
|
||||
<p>{{ date('H:i', strtotime($pesanan->tanggal_pesanan)) }}</p>
|
||||
</span>
|
||||
<span style="text-align: right">
|
||||
<p>{{ $pesanan->kode_pesanan }}</p>
|
||||
<p>{{ $pesanan->user->name }}</p>
|
||||
</span>
|
||||
.dashed-line {
|
||||
border: 1.5px dashed black;
|
||||
}
|
||||
</style>
|
||||
|
||||
<body style="width: 80mm;">
|
||||
<h2 style="text-align: center">Sepiring Telur Keriting</h2>
|
||||
<p style="text-align: center">Jln. Jawa No. 28A, Jember</p>
|
||||
<hr class="style2">
|
||||
<span style="display: flex; justify-content: space-between">
|
||||
<span>
|
||||
<p>{{ tanggal_indonesia($pesanan->tanggal_pesanan) }}</p>
|
||||
<p>{{ date('H:i', strtotime($pesanan->tanggal_pesanan)) }}</p>
|
||||
<p>Meja: {{ $pesanan->nomor_meja }}</p>
|
||||
</span>
|
||||
<p></p>
|
||||
<hr class="style2">
|
||||
<table class="literely-table" style="width: 100%;">
|
||||
<tbody>
|
||||
@foreach ($pesanan->detailPesanan as $item)
|
||||
{{-- @dd($item) --}}
|
||||
<tr>
|
||||
<td style="width: 2px;">{{ $loop->iteration }}</td>
|
||||
<td style="width: 80px;" colspan="3">{{ $item->nama_produk }}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td></td>
|
||||
<td style="text-align: right">{{ $item->jumlah_produk }}</td>
|
||||
<td style="text-align: right">{{ convert_to_rupiah($item->harga_produk) }}</td>
|
||||
<td style="text-align: right">{{ convert_to_rupiah($item->total_harga_produk) }}</td>
|
||||
</tr>
|
||||
@endforeach
|
||||
</tbody>
|
||||
</table>
|
||||
<hr class="style2">
|
||||
<table style="width: 100%;">
|
||||
<thead>
|
||||
<tr>
|
||||
<th style="width: 20px;text-align: right">{{ $pesanan->total_pesanan }}</th>
|
||||
<th style="text-align: right">Total :</th>
|
||||
<th style="text-align: right">{{ convert_to_rupiah($pesanan->total_bayar) }}</th>
|
||||
</tr>
|
||||
<tr>
|
||||
<th></th>
|
||||
<th style="text-align: right">Diskon :</th>
|
||||
<th style="text-align: right">{{ $pesanan->diskon_persen ?? 0 }} %</th>
|
||||
</tr>
|
||||
<tr>
|
||||
<th></th>
|
||||
<th style="text-align: right">Grand Total :</th>
|
||||
<th style="text-align: right">{{ convert_to_rupiah($pesanan->grand_total) }}</th>
|
||||
</tr>
|
||||
<tr>
|
||||
<th></th>
|
||||
<th style="text-align: right">Bayar :</th>
|
||||
<th style="text-align: right">{{ convert_to_rupiah($pesanan->nominal_bayar) }}</th>
|
||||
</tr>
|
||||
<tr>
|
||||
<th></th>
|
||||
<th style="text-align: right">Kembali :</th>
|
||||
<th style="text-align: right">{{ convert_to_rupiah($pesanan->nominal_kembali) }}</th>
|
||||
</tr>
|
||||
</thead>
|
||||
</table>
|
||||
<hr class="style1">
|
||||
<p style="text-align: center">Terima Kasih, Selamat Datang Kembali</p>
|
||||
<p style="text-align: center;font-size: 7pt;">@sepiringtelurkeriting</p>
|
||||
<hr class="dashed-line" style="margin-top: 15px;">
|
||||
<hr class="style2" style="margin-top: 15px;">
|
||||
<span style="display: flex; justify-content: space-between">
|
||||
<span>
|
||||
<p>{{ tanggal_indonesia($pesanan->tanggal_pesanan) }}</p>
|
||||
<p>{{ date('H:i', strtotime($pesanan->tanggal_pesanan)) }}</p>
|
||||
</span>
|
||||
<span style="text-align: right">
|
||||
<p>{{ $pesanan->kode_pesanan }}</p>
|
||||
<p>{{ $pesanan->user->name }}</p>
|
||||
</span>
|
||||
<span style="text-align: right">
|
||||
<p>{{ $pesanan->kode_pesanan }}</p>
|
||||
<p>Kasir: {{ $pesanan->user->name }}</p>
|
||||
<p>Order: {{ $pesanan->nama_pemesan }}</p>
|
||||
</span>
|
||||
<p></p>
|
||||
<hr class="style2">
|
||||
<p style="text-align: left; margin-top:3px;">Menu</p>
|
||||
<table class="table" style="width: 100%;">
|
||||
<tbody>
|
||||
@foreach ($pesanan->detailPesanan as $item)
|
||||
<tr>
|
||||
<td style="width: 80px;" colspan="3">* {{ $item->nama_produk }}</td>
|
||||
</tr>
|
||||
@endforeach
|
||||
</tbody>
|
||||
</table>
|
||||
<p style="text-align: left; margin-top:3px;">Keterangan Pesanan</p>
|
||||
<table class="table" style="width: 100%;">
|
||||
<tbody>
|
||||
</span>
|
||||
<p></p>
|
||||
<hr class="style2">
|
||||
<table class="literely-table" style="width: 100%;">
|
||||
<tbody>
|
||||
@foreach ($pesanan->detailPesanan as $item)
|
||||
<tr>
|
||||
<td style="width: 80px;" colspan="3">* {{ $pesanan->keterangan_pesanan }}</td>
|
||||
<td style="width: 2px;">{{ $loop->iteration }}</td>
|
||||
<td style="width: 80px;" colspan="3">{{ $item->nama_produk }}</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
<hr class="style2">
|
||||
</body>
|
||||
<script>
|
||||
window.print();
|
||||
</script>
|
||||
<tr>
|
||||
<td></td>
|
||||
<td style="text-align: right">{{ $item->jumlah_produk }}</td>
|
||||
<td style="text-align: right">{{ convert_to_rupiah($item->harga_produk) }}</td>
|
||||
<td style="text-align: right">{{ convert_to_rupiah($item->total_harga_produk) }}</td>
|
||||
</tr>
|
||||
@endforeach
|
||||
</tbody>
|
||||
</table>
|
||||
<hr class="style2">
|
||||
<table style="width: 100%;">
|
||||
<thead>
|
||||
<tr>
|
||||
<th style="width: 20px;text-align: right">{{ $pesanan->total_pesanan }}</th>
|
||||
<th style="text-align: right">Total :</th>
|
||||
<th style="text-align: right">{{ convert_to_rupiah($pesanan->total_bayar) }}</th>
|
||||
</tr>
|
||||
<tr>
|
||||
<th></th>
|
||||
<th style="text-align: right">Diskon :</th>
|
||||
<th style="text-align: right">{{ $pesanan->diskon_persen ?? 0 }} %</th>
|
||||
</tr>
|
||||
<tr>
|
||||
<th></th>
|
||||
<th style="text-align: right">Grand Total :</th>
|
||||
<th style="text-align: right">{{ convert_to_rupiah($pesanan->grand_total) }}</th>
|
||||
</tr>
|
||||
<tr>
|
||||
<th></th>
|
||||
<th style="text-align: right">Bayar :</th>
|
||||
<th style="text-align: right">{{ convert_to_rupiah($pesanan->nominal_bayar) }}</th>
|
||||
</tr>
|
||||
<tr>
|
||||
<th></th>
|
||||
<th style="text-align: right">Kembali :</th>
|
||||
<th style="text-align: right">{{ convert_to_rupiah($pesanan->nominal_kembali) }}</th>
|
||||
</tr>
|
||||
</thead>
|
||||
</table>
|
||||
<hr class="style1">
|
||||
<p style="text-align: center">Terima Kasih, Selamat Datang Kembali</p>
|
||||
<p style="text-align: center;font-size: 7pt;">@sepiringtelurkeriting</p>
|
||||
<hr class="dashed-line" style="margin-top: 15px;">
|
||||
<p style="text-align: center;font-size: 7pt">untuk dapur</p>
|
||||
<hr class="dashed-line" style="margin-top: 10px;">
|
||||
<span style="display: flex; justify-content: space-between;margin-top: 10px;">
|
||||
<span>
|
||||
<p>{{ tanggal_indonesia($pesanan->tanggal_pesanan) }}</p>
|
||||
<p>{{ date('H:i', strtotime($pesanan->tanggal_pesanan)) }}</p>
|
||||
<p>Meja: {{ $pesanan->nomor_meja }}</p>
|
||||
</span>
|
||||
<span style="text-align: right">
|
||||
<p>{{ $pesanan->kode_pesanan }}</p>
|
||||
<p>Kasir: {{ $pesanan->user->name }}</p>
|
||||
<p>Order: {{ $pesanan->nama_pemesan }}</p>
|
||||
</span>
|
||||
</span>
|
||||
<p></p>
|
||||
<hr class="style2">
|
||||
<p style="text-align: left; margin-top:3px;">Menu Order</p>
|
||||
<table class="table" style="width: 100%;">
|
||||
<tbody>
|
||||
@foreach ($pesanan->detailPesanan as $item)
|
||||
<tr>
|
||||
<td style="width: 80px;" colspan="3">
|
||||
{{ $loop->iteration }}. {{ $item->nama_produk }}
|
||||
<br>
|
||||
<small>
|
||||
{{ $item->keterangan_produk }}
|
||||
</small>
|
||||
</td>
|
||||
</tr>
|
||||
@endforeach
|
||||
</tbody>
|
||||
</table>
|
||||
<p style="text-align: left; margin-top:5px;">Keterangan Pesanan Keseluruhan</p>
|
||||
<table class="table" style="width: 100%;">
|
||||
<tbody>
|
||||
<tr>
|
||||
<td style="width: 80px;" colspan="3">
|
||||
{{ $pesanan->keterangan_pesanan != '' ? $pesanan->keterangan_pesanan : '-' }}</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
<hr class="style2">
|
||||
</body>
|
||||
<script>
|
||||
window.print();
|
||||
</script>
|
||||
|
||||
</html>
|
||||
|
|
|
@ -22,8 +22,8 @@
|
|||
@section('content')
|
||||
<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="col-xl-8 col-lg-6 col-md-6 col-sm-12">
|
||||
<div class="card card-warning card-outline card-outline-tabs">
|
||||
<div class="card-header p-0 border-bottom-0">
|
||||
<ul class="nav nav-tabs" id="custom-tabs-four-tab" role="tablist">
|
||||
@foreach ($KelompokKategori as $key => $item)
|
||||
|
@ -52,27 +52,28 @@
|
|||
<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"
|
||||
<a class="nav-link vert-nav-content 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"
|
||||
<a class="nav-link vert-nav-content" 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"
|
||||
<a class="nav-link vert-nav-content" 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"
|
||||
<a class="nav-link vert-nav-content" 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"
|
||||
<a class="nav-link vert-nav-content" 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-warning card-outline"
|
||||
style="margin-top: auto;margin-right: 5px;height: auto;">
|
||||
<div class="card-header">
|
||||
<h5 class="card-title m-0" id="nama-paket">
|
||||
|
@ -86,7 +87,7 @@
|
|||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
<a class="btn btn-primary disabled"
|
||||
<a class="btn btn-warning disabled"
|
||||
id="select-ordered-menus" onclick="cariPaket()">Pilih
|
||||
Paket Menu
|
||||
</a>
|
||||
|
@ -96,34 +97,28 @@
|
|||
<div class="col-8 col-sm-9" style="padding: 0px;">
|
||||
<div class="card-body" style="height:700px;overflow-y:scroll;">
|
||||
<div class="tab-content" id="vert-tabs-tabContent">
|
||||
<div class="tab-pane text-left fade show active"
|
||||
<div class="tab-pane vert-tab-content fade text-left 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 onclick="selectPaket( {{ $kelompokKategoriPivot->produk }} );changeTab('vert-tabs-telur')"
|
||||
class="card card-warning card-outline btn">
|
||||
<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
|
||||
"
|
||||
<img style="width: 100%;height: 100%;object-fit: cover;"
|
||||
src="{{ $kelompokKategoriPivot->produk->gambar_produk }}"
|
||||
alt="{{ $kelompokKategoriPivot->produk->nama_produk ?? '' }}">
|
||||
|
||||
</div>
|
||||
<a class="btn btn-primary"
|
||||
id="ordered-menus"
|
||||
onclick="selectPaket( {{ $kelompokKategoriPivot->produk }} )">Pilih
|
||||
Paket
|
||||
<a class="btn btn-warning"
|
||||
id="ordered-menus-{{ $kelompokKategoriPivot->produk->id }}">
|
||||
Pilih Paket
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
|
@ -131,33 +126,28 @@
|
|||
@endforeach
|
||||
</div>
|
||||
</div>
|
||||
<div class="tab-pane fade" id="vert-tabs-telur"
|
||||
role="tabpanel" aria-labelledby="vert-tabs-telur-tab">
|
||||
<div class="tab-pane vert-tab-content"
|
||||
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 onclick="selectPaket( {{ $kelompokKategoriPivot->produk }} );changeTab('vert-tabs-sambel')"
|
||||
class="card card-warning card-outline btn">
|
||||
<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
|
||||
"
|
||||
<img style="width: 100%;height: 100%;object-fit: cover;"
|
||||
src="{{ $kelompokKategoriPivot->produk->gambar_produk }}"
|
||||
alt="{{ $kelompokKategoriPivot->produk->nama_produk ?? '' }}">
|
||||
|
||||
</div>
|
||||
<a class="btn btn-primary"
|
||||
id="ordered-menus"
|
||||
onclick="selectPaket( {{ $kelompokKategoriPivot->produk }} )">Pilih
|
||||
Paket
|
||||
<a class="btn btn-warning"
|
||||
id="ordered-menus-{{ $kelompokKategoriPivot->produk->id }}">
|
||||
Pilih Paket
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
|
@ -165,33 +155,27 @@
|
|||
@endforeach
|
||||
</div>
|
||||
</div>
|
||||
<div class="tab-pane fade" id="vert-tabs-sambel"
|
||||
role="tabpanel"
|
||||
<div class="tab-pane vert-tab-content"
|
||||
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 onclick="selectPaket( {{ $kelompokKategoriPivot->produk }} );changeTab('vert-tabs-topping')"
|
||||
class="card card-warning card-outline btn">
|
||||
<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
|
||||
"
|
||||
<img style="width: 100%;height: 100%;object-fit: cover;"
|
||||
src="{{ $kelompokKategoriPivot->produk->gambar_produk }}"
|
||||
alt="{{ $kelompokKategoriPivot->produk->nama_produk ?? '' }}">
|
||||
|
||||
</div>
|
||||
<a class="btn btn-primary"
|
||||
id="ordered-menus"
|
||||
onclick="selectPaket( {{ $kelompokKategoriPivot->produk }} )">Pilih
|
||||
<a class="btn btn-warning"
|
||||
id="ordered-menus-{{ $kelompokKategoriPivot->produk->id }}">Pilih
|
||||
Paket
|
||||
</a>
|
||||
</div>
|
||||
|
@ -200,33 +184,27 @@
|
|||
@endforeach
|
||||
</div>
|
||||
</div>
|
||||
<div class="tab-pane fade" id="vert-tabs-topping"
|
||||
role="tabpanel"
|
||||
<div class="tab-pane vert-tab-content"
|
||||
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 onclick="selectPaket( {{ $kelompokKategoriPivot->produk }} );changeTab('vert-tabs-free')"
|
||||
class="card card-warning card-outline btn">
|
||||
<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
|
||||
"
|
||||
<img style="width: 100%;height: 100%;object-fit: cover;"
|
||||
src="{{ $kelompokKategoriPivot->produk->gambar_produk }}"
|
||||
alt="{{ $kelompokKategoriPivot->produk->nama_produk ?? '' }}">
|
||||
|
||||
</div>
|
||||
<a class="btn btn-primary"
|
||||
id="ordered-menus"
|
||||
onclick="selectPaket( {{ $kelompokKategoriPivot->produk }} )">Pilih
|
||||
<a class="btn btn-warning"
|
||||
id="ordered-menus-{{ $kelompokKategoriPivot->produk->id }}">Pilih
|
||||
Paket
|
||||
</a>
|
||||
</div>
|
||||
|
@ -235,33 +213,27 @@
|
|||
@endforeach
|
||||
</div>
|
||||
</div>
|
||||
<div class="tab-pane fade" id="vert-tabs-free"
|
||||
<div class="tab-pane vert-tab-content" 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 onclick="selectPaket( {{ $kelompokKategoriPivot->produk }} )"
|
||||
class="card card-warning card-outline btn">
|
||||
<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
|
||||
"
|
||||
<img style="width: 100%;height: 100%;object-fit: cover;"
|
||||
src="{{ $kelompokKategoriPivot->produk->gambar_produk }}"
|
||||
alt="{{ $kelompokKategoriPivot->produk->nama_produk ?? '' }}">
|
||||
|
||||
</div>
|
||||
<a class="btn btn-primary"
|
||||
id="ordered-menus"
|
||||
onclick="selectPaket( {{ $kelompokKategoriPivot->produk }} )">Pilih
|
||||
Paket
|
||||
<a class="btn btn-warning"
|
||||
id="ordered-menus-{{ $kelompokKategoriPivot->produk->id }}">
|
||||
Pilih Paket
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
|
@ -276,35 +248,70 @@
|
|||
</div>
|
||||
@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>
|
||||
{{-- Jika paket irit --}}
|
||||
@if ($kelompokKategoriPivot->kelompok_kategori_id == 2)
|
||||
<div class="col-lg-4">
|
||||
<div class="card card-warning 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-md-12">
|
||||
<img style="width: 100%;height: 100%;object-fit: cover;"
|
||||
src="{{ $kelompokKategoriPivot->produk->gambar_produk }}"
|
||||
alt="{{ $kelompokKategoriPivot->produk->nama_produk ?? '' }}">
|
||||
<div class="col-md-12 mt-1"
|
||||
style="align-items: center;align-content: center;">
|
||||
<h5>
|
||||
{{ convert_to_rupiah($kelompokKategoriPivot->produk->harga_produk) }}
|
||||
</h5>
|
||||
</div>
|
||||
<div class="col-md-12">
|
||||
<a class="col-6 col-md-12 col-lg-6 btn btn-warning"
|
||||
id="ordered-menus">Pesan</a>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-md-12 mt-3">
|
||||
<h6 style="color: red">Jumlah terjual :
|
||||
{{ $totalPembelianByProduk[$kelompokKategoriPivot->produk->id]->total_beli ?? 0 }}
|
||||
</h6>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@else
|
||||
<div class="col-lg-4">
|
||||
<div class="card card-warning 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-md-12">
|
||||
<img style="width: 100%;height: 100%;object-fit: cover;"
|
||||
src="{{ $kelompokKategoriPivot->produk->gambar_produk }}"
|
||||
alt="{{ $kelompokKategoriPivot->produk->nama_produk ?? '' }}">
|
||||
<div class="col-md-12 mt-1"
|
||||
style="align-items: center;align-content: center;">
|
||||
<h5>
|
||||
{{ convert_to_rupiah($kelompokKategoriPivot->produk->harga_produk) }}
|
||||
</h5>
|
||||
</div>
|
||||
<div class="col-md-12">
|
||||
<a class="col-6 col-md-12 col-lg-6 btn btn-warning"
|
||||
id="ordered-menus">Pesan</a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@endif
|
||||
@endforeach
|
||||
@endif
|
||||
</div>
|
||||
|
@ -317,7 +324,7 @@
|
|||
</div>
|
||||
<!-- /.col-md-6 -->
|
||||
<div class="col-lg-4">
|
||||
<div class="card card-primary card-outline">
|
||||
<div class="card card-warning card-outline">
|
||||
<div class="card-header">
|
||||
<h5 class="col-lg-6 card-title m-0">Kode Pesanan
|
||||
<small>{{ $orderCode }}</small>
|
||||
|
@ -330,9 +337,12 @@
|
|||
<table class="table table-bordered table-striped" id="order-menus" width="100%">
|
||||
<thead style="background-color: lightgray">
|
||||
<tr>
|
||||
<th width="60%" class="text-center">Menu</th>
|
||||
<th>Qty</th>
|
||||
<th width="10%">⚙️</th>
|
||||
<th class="text-center">Menu</th>
|
||||
<th class="text-center" width="110px">Qty</th>
|
||||
<th class="text-center" width="65px">(%)</th>
|
||||
<th class="text-center" width="30px">
|
||||
<i class="fas fa-cog"></i>
|
||||
</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody id="tbody-order-menus">
|
||||
|
@ -340,7 +350,7 @@
|
|||
<tfoot style="background-color: lightgray">
|
||||
<tr>
|
||||
<th class="text-center">Total</th>
|
||||
<th colspan="2">
|
||||
<th colspan="3">
|
||||
<span class="row">
|
||||
<span class="col-6">Rp.</span>
|
||||
<span class="col-6" style="text-align: right" id="total">0</span>
|
||||
|
@ -350,7 +360,7 @@
|
|||
</tr>
|
||||
<tr>
|
||||
<th class="text-center">Diskon (%)</th>
|
||||
<th colspan="2">
|
||||
<th colspan="3">
|
||||
<div class="input-group input-group-sm">
|
||||
<input type="number" name="diskon" class="form-control rounded-0">
|
||||
</div>
|
||||
|
@ -358,7 +368,7 @@
|
|||
</tr>
|
||||
<tr>
|
||||
<th class="text-center">Grand Total</th>
|
||||
<th colspan="2">
|
||||
<th colspan="3">
|
||||
<span class="row">
|
||||
<span class="col-6">Rp.</span>
|
||||
<span class="col-6" style="text-align: right" id="total-diskon">0</span>
|
||||
|
@ -368,7 +378,7 @@
|
|||
</tr>
|
||||
<tr>
|
||||
<th class="text-center">Bayar</th>
|
||||
<th colspan="2">
|
||||
<th colspan="3">
|
||||
<div class="input-group input-group-sm">
|
||||
<input type="text" name="nominal-bayar" class="form-control rounded-0"
|
||||
required id="nominal-bayar">
|
||||
|
@ -377,7 +387,7 @@
|
|||
</tr>
|
||||
<tr>
|
||||
<th class="text-center">Kembali</th>
|
||||
<th colspan="2">
|
||||
<th colspan="3">
|
||||
<span class="row">
|
||||
<span class="col-6">Rp.</span>
|
||||
<span class="col-6" style="text-align: right" id="kembali">0</span>
|
||||
|
@ -386,10 +396,13 @@
|
|||
</th>
|
||||
</tr>
|
||||
<tr>
|
||||
<th colspan="3">
|
||||
<th colspan="4">
|
||||
<span class="row">
|
||||
<input type="text" name="nama-pemesan" class="form-control rounded-0"
|
||||
placeholder="Nama Pemesan" id="nama-pemesan" required>
|
||||
<input type="number" min="1" name="nomor-meja"
|
||||
class="form-control rounded-0" placeholder="Nomor Meja" id="nomor-meja"
|
||||
required>
|
||||
<input type="text" name="keterangan-pesanan"
|
||||
placeholder="Keterangan Pesanan" class="form-control rounded-0"
|
||||
id="keterangan-pesanan">
|
||||
|
@ -397,8 +410,8 @@
|
|||
</th>
|
||||
</tr>
|
||||
<tr style="background-color: white">
|
||||
<th colspan="3">
|
||||
<button class="btn btn-primary btn-block" id="pesan-bayar">Bayar</button>
|
||||
<th colspan="4">
|
||||
<button class="btn btn-warning btn-block" id="pesan-bayar">Bayar</button>
|
||||
</th>
|
||||
</tr>
|
||||
</tfoot>
|
||||
|
@ -434,7 +447,6 @@
|
|||
@push('styles')
|
||||
<!-- Toastr -->
|
||||
<style>
|
||||
|
||||
</style>
|
||||
<link rel="stylesheet" href="{{ asset('assets/plugins/toastr/toastr.min.css') }}">
|
||||
@endpush
|
||||
|
@ -475,6 +487,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
|
||||
function aadMenu(params) {
|
||||
console.log(params);
|
||||
var table = document.getElementById("order-menus");
|
||||
var menu = params;
|
||||
var menuId = menu.id;
|
||||
|
@ -497,28 +510,51 @@
|
|||
|
||||
if (isExist) {
|
||||
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');
|
||||
|
||||
qty = parseInt(qty) + 1;
|
||||
total = parseInt(total) + parseInt(menuPrice);
|
||||
var totalLama = 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-total', total);
|
||||
table.rows[index].setAttribute('data-diskon-satuan', diskonSatuan);
|
||||
table.rows[index].setAttribute('data-total', totalLama);
|
||||
|
||||
var harga = menuPrice;
|
||||
table.rows[index].cells[0].innerHTML = `
|
||||
<td>
|
||||
${params.nama_produk}
|
||||
<br>
|
||||
${(diskonSatuan > 0) ? '<small class="text-primary"><s>Rp. ' + (harga * qty) + '</s></small> | <small class="text-danger">Rp. ' + total + '</small>' : '<small class="text-primary">Rp. ' + totalLama + '</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 = `
|
||||
<td class="text-center">
|
||||
<div class="input-group input-group-sm">
|
||||
<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>
|
||||
<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">
|
||||
<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>
|
||||
</div>
|
||||
</td>
|
||||
`;
|
||||
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="${diskonSatuan}" onkeyup="diskonSatuanMenu(${params.id}, '${params.nama_produk}', this.value)">
|
||||
</div>
|
||||
</td>
|
||||
`;
|
||||
table.rows[index].cells[3].innerHTML = `
|
||||
<td class="text-center">
|
||||
<button class="btn btn-danger btn-sm" onclick="deleteMenu(${params.id})">
|
||||
<i class="fas fa-trash"></i>
|
||||
|
@ -529,23 +565,31 @@
|
|||
$('#modal-default').modal('hide');
|
||||
} else {
|
||||
$('#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>
|
||||
${params.nama_produk}
|
||||
<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 class="text-center">
|
||||
<div class="input-group input-group-sm">
|
||||
<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>
|
||||
<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">
|
||||
<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>
|
||||
</div>
|
||||
</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" onkeyup="diskonSatuanMenu(${params.id}, '${params.nama_produk}', this.value)">
|
||||
</div>
|
||||
</td>
|
||||
<td class="text-center">
|
||||
<button class="btn btn-danger btn-sm" onclick="deleteMenu(${params.id})">
|
||||
<i class="fas fa-trash"></i>
|
||||
|
@ -585,7 +629,8 @@
|
|||
for (var i = 1, row; row = table.rows[i]; i++) {
|
||||
var harga = row.getAttribute('data-harga');
|
||||
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);
|
||||
|
@ -602,7 +647,7 @@
|
|||
}
|
||||
|
||||
// increment qty menu ordered
|
||||
function incrementMenu(params) {
|
||||
function incrementMenu(params, nama_produk) {
|
||||
var table = document.getElementById("order-menus");
|
||||
var index = 0;
|
||||
|
||||
|
@ -615,24 +660,39 @@
|
|||
}
|
||||
|
||||
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 harga = table.rows[index].getAttribute('data-harga');
|
||||
|
||||
qty = parseInt(qty) + 1;
|
||||
total = parseInt(total) + parseInt(harga);
|
||||
var totalLama = 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-total', total);
|
||||
table.rows[index].setAttribute('data-diskon-satuan', diskonSatuan);
|
||||
table.rows[index].setAttribute('data-total', totalLama);
|
||||
|
||||
table.rows[index].cells[0].innerHTML = `
|
||||
<td>
|
||||
${nama_produk}
|
||||
<br>
|
||||
${(diskonSatuan > 0) ? '<small class="text-primary"><s>Rp. ' + (harga * qty) + '</s></small> | <small class="text-danger">Rp. ' + total + '</small>' : '<small class="text-primary">Rp. ' + totalLama + '</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 = `
|
||||
<td class="text-center">
|
||||
<div class="input-group input-group-sm">
|
||||
<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>
|
||||
<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">
|
||||
<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>
|
||||
</div>
|
||||
</td>
|
||||
|
@ -642,7 +702,7 @@
|
|||
}
|
||||
|
||||
// decrement qty menu ordered
|
||||
function decrementMenu(params) {
|
||||
function decrementMenu(params, nama_produk) {
|
||||
var table = document.getElementById("order-menus");
|
||||
var index = 0;
|
||||
|
||||
|
@ -655,25 +715,40 @@
|
|||
}
|
||||
|
||||
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 harga = table.rows[index].getAttribute('data-harga');
|
||||
|
||||
if (qty > 1) {
|
||||
qty = parseInt(qty) - 1;
|
||||
total = parseInt(total) - parseInt(harga);
|
||||
var totalLama = 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-total', total);
|
||||
table.rows[index].setAttribute('data-diskon-satuan', diskonSatuan);
|
||||
table.rows[index].setAttribute('data-total', totalLama);
|
||||
|
||||
table.rows[index].cells[0].innerHTML = `
|
||||
<td>
|
||||
${nama_produk}
|
||||
<br>
|
||||
${(diskonSatuan > 0) ? '<small class="text-primary"><s>Rp. ' + (harga * qty) + '</s></small> | <small class="text-danger">Rp. ' + total + '</small>' : '<small class="text-primary">Rp. ' + totalLama + '</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 = `
|
||||
<td class="text-center">
|
||||
<div class="input-group input-group-sm">
|
||||
<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>
|
||||
<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">
|
||||
<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>
|
||||
</div>
|
||||
</td>
|
||||
|
@ -683,6 +758,51 @@
|
|||
}
|
||||
}
|
||||
|
||||
// diskon satuan menu ordered
|
||||
function diskonSatuanMenu(params, nama_produk, diskon = 0) {
|
||||
var table = document.getElementById("order-menus");
|
||||
var index = 0;
|
||||
|
||||
for (var i = 1, row; row = table.rows[i]; i++) {
|
||||
var id = row.getAttribute('data-id');
|
||||
|
||||
if (id == params) {
|
||||
index = i;
|
||||
}
|
||||
}
|
||||
|
||||
var qty = table.rows[index].getAttribute('data-qty');
|
||||
var diskonSatuan = parseInt(diskon);
|
||||
var total = table.rows[index].getAttribute('data-total');
|
||||
var harga = table.rows[index].getAttribute('data-harga');
|
||||
|
||||
|
||||
// if (diskonSatuan >= 1) {
|
||||
console.log(diskonSatuan);
|
||||
var totalLama = total;
|
||||
qty = parseInt(qty);
|
||||
diskonSatuan = parseInt(diskonSatuan);
|
||||
total = (parseInt(total)) - ((parseInt(total)) * (diskonSatuan / 100));
|
||||
|
||||
table.rows[index].setAttribute('data-qty', qty);
|
||||
table.rows[index].setAttribute('data-diskon-satuan', diskonSatuan);
|
||||
table.rows[index].setAttribute('data-total', totalLama);
|
||||
|
||||
table.rows[index].cells[0].innerHTML = `
|
||||
<td>
|
||||
${nama_produk}
|
||||
<br>
|
||||
${(diskonSatuan >= 1) ? '<small class="text-primary"><s>Rp. ' + (harga * qty) + '</s></small> | <small class="text-danger">Rp. ' + total + '</small>' : '<small class="text-primary">Rp. ' + totalLama + '</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>
|
||||
`;
|
||||
|
||||
calculateTotal();
|
||||
// }
|
||||
}
|
||||
|
||||
// diskon use keyup
|
||||
document.getElementsByName('diskon')[0].addEventListener('keyup', function() {
|
||||
var diskon = document.getElementsByName('diskon')[0].value;
|
||||
|
@ -759,16 +879,27 @@
|
|||
var id = row.getAttribute('data-id');
|
||||
var nama = row.getAttribute('data-nama');
|
||||
var qty = row.getAttribute('data-qty');
|
||||
var diskonSatuan = row.getAttribute('data-diskon-satuan');
|
||||
var harga = row.getAttribute('data-harga');
|
||||
var total = row.getAttribute('data-total');
|
||||
if (diskonSatuan != 0 && diskonSatuan != null && diskonSatuan != undefined) {
|
||||
total = total - (total * (diskonSatuan / 100));
|
||||
} else {
|
||||
total = total
|
||||
}
|
||||
console.log('id : ' + id + ' | nama : ' + nama + ' | qty : ' + qty + ' | diskonSatuan : ' +
|
||||
diskonSatuan +
|
||||
' | harga : ' + harga + ' | total : ' + total);
|
||||
|
||||
if (id != null || qty != null || total != null) {
|
||||
orderMenus.push({
|
||||
id: id,
|
||||
nama: nama,
|
||||
qty: qty,
|
||||
diskonSatuan: diskonSatuan,
|
||||
harga: harga,
|
||||
total: total
|
||||
total: total,
|
||||
keterangan: document.getElementsByName('keterangan_satuan')[i - 1].value
|
||||
});
|
||||
}
|
||||
}
|
||||
|
@ -779,6 +910,7 @@
|
|||
var nominalBayar = bayar.replace(/[^,\d]/g, '').toString();
|
||||
var kembaliHidden = document.getElementById('kembali-hidden').innerHTML;
|
||||
var namaPemesan = document.getElementsByName('nama-pemesan')[0].value;
|
||||
var nomorMeja = document.getElementsByName('nomor-meja')[0].value;
|
||||
|
||||
if (orderMenus.length == 0) {
|
||||
alert('Menu tidak boleh kosong');
|
||||
|
@ -790,18 +922,21 @@
|
|||
} else if (kembaliHidden < 0) {
|
||||
alert('Pembayaran kurang');
|
||||
return false;
|
||||
} else if (nomorMeja == '') {
|
||||
alert('Nomor meja tidak boleh kosong');
|
||||
return false;
|
||||
} else if (namaPemesan == '') {
|
||||
alert('Nama pemesan tidak boleh kosong');
|
||||
return false;
|
||||
}
|
||||
|
||||
|
||||
|
||||
var data = {
|
||||
_token: "{{ csrf_token() }}",
|
||||
orderCode: "{{ $orderCode }}",
|
||||
orderMenus: orderMenus,
|
||||
namaPemesan: namaPemesan,
|
||||
nomorMeja: nomorMeja,
|
||||
keteranganPesanan: document.getElementsByName('keterangan-pesanan')[0].value,
|
||||
diskon: diskon,
|
||||
totalDiskon: totalDiskon,
|
||||
|
@ -850,12 +985,15 @@
|
|||
// 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) {
|
||||
changeOrderedMenus(selectedMenus[i].id, 'pilih');
|
||||
isExist = true;
|
||||
index = i;
|
||||
}
|
||||
} else if (selectedMenus[i].urutan == params.urutan) {
|
||||
changeOrderedMenus(selectedMenus[i].id, 'batal');
|
||||
selectedMenus.splice(i, 1);
|
||||
} else if (selectedMenus[i].id == params.id) {
|
||||
changeOrderedMenus(selectedMenus[i].id, 'pilih');
|
||||
isExist = true;
|
||||
index = i;
|
||||
}
|
||||
|
@ -874,6 +1012,7 @@
|
|||
|
||||
menu_terpilih.innerHTML = '';
|
||||
for (var i = 0; i < selectedMenus.length; i++) {
|
||||
changeOrderedMenus(selectedMenus[i].id, 'pilih');
|
||||
menu_terpilih.innerHTML += `
|
||||
<li>
|
||||
${selectedMenus[i].nama_produk}
|
||||
|
@ -890,6 +1029,24 @@
|
|||
}
|
||||
}
|
||||
|
||||
// ordered menus change button text and onclick
|
||||
function changeOrderedMenus(id, status) {
|
||||
if (status == 'batal') {
|
||||
var orderedMenus = document.getElementById('ordered-menus-' + id);
|
||||
orderedMenus.innerHTML = 'Pilih Paket';
|
||||
orderedMenus.classList.remove('btn-secondary');
|
||||
orderedMenus.classList.add('btn-warning');
|
||||
return false;
|
||||
|
||||
} else if (status == 'pilih') {
|
||||
var orderedMenus = document.getElementById('ordered-menus-' + id);
|
||||
orderedMenus.innerHTML = 'Batal Pilih';
|
||||
orderedMenus.classList.remove('btn-warning');
|
||||
orderedMenus.classList.add('btn-secondary');
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
// cari paket
|
||||
function cariPaket(params) {
|
||||
var show_modal_paket = document.getElementById('show-modal-paket');
|
||||
|
@ -922,7 +1079,6 @@
|
|||
// Replace karakter kutipan ganda dengan HTML entities
|
||||
var htmlEntitiesData = dataParse.replace(/\"/g, '"');
|
||||
// Tampilkan hasil
|
||||
console.log(htmlEntitiesData);
|
||||
var show_modal_paket = document.getElementById('show-modal-paket');
|
||||
if (result.gambar_produk != null) {
|
||||
var gambar_produk = result.full_path;
|
||||
|
@ -930,24 +1086,26 @@
|
|||
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 card-warning card-outline btn"
|
||||
onclick="aadMenu(${htmlEntitiesData});clearSelected()">
|
||||
<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;"
|
||||
<div class="col-md-12">
|
||||
<img style="width: 80%;height: 80%;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 ?? ''}
|
||||
<div class="col-md-12 mt-1"
|
||||
style="align-items: center;align-content: center;">
|
||||
<h5>
|
||||
Rp ${result.harga_produk ?? ''}
|
||||
</h5>
|
||||
<a class="col-6 btn btn-primary" id="ordered-menus">Pesan</a>
|
||||
</div>
|
||||
<div class="col-md-12">
|
||||
<a class="col-6 btn btn-warning" id="ordered-menus">Pesan</a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
@ -965,5 +1123,35 @@
|
|||
}
|
||||
})
|
||||
}
|
||||
|
||||
// clear selected menus
|
||||
function clearSelected() {
|
||||
console.log(selectedMenus);
|
||||
for (var i = 0; i < selectedMenus.length; i++) {
|
||||
changeOrderedMenus(selectedMenus[i].id, 'batal');
|
||||
menu_terpilih.innerHTML = ` `;
|
||||
}
|
||||
selectedMenus = [];
|
||||
}
|
||||
|
||||
function changeTab(tabId) {
|
||||
// Hide all tabs
|
||||
var tabContents = document.getElementsByClassName('vert-tab-content');
|
||||
for (var i = 0; i < tabContents.length; i++) {
|
||||
tabContents[i].classList.remove('text-left', 'show', 'active');
|
||||
}
|
||||
|
||||
var navLinks = document.getElementsByClassName('vert-nav-content');
|
||||
for (var i = 0; i < navLinks.length; i++) {
|
||||
navLinks[i].classList.remove('active');
|
||||
// aria-selected
|
||||
navLinks[i].setAttribute('aria-selected', false);
|
||||
}
|
||||
|
||||
document.getElementById(tabId).classList.add('text-left', 'show', 'active');
|
||||
document.getElementById(tabId + '-tab').classList.add('active');
|
||||
// aria-selected
|
||||
document.getElementById(tabId + '-tab').setAttribute('aria-selected', true);
|
||||
}
|
||||
</script>
|
||||
@endpush
|
||||
|
|
|
@ -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">×</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
|
|
@ -1,6 +1,7 @@
|
|||
<?php
|
||||
|
||||
use App\Http\Controllers\Kasir\History;
|
||||
use App\Http\Controllers\Kasir\Menu;
|
||||
use App\Http\Controllers\Kasir\Transaksi;
|
||||
use Illuminate\Support\Facades\Route;
|
||||
|
||||
|
@ -29,4 +30,9 @@ Route::group(['prefix' => 'history'], function () {
|
|||
Route::get('/', [History::class, 'index'])->name('history.index');
|
||||
Route::get('/getDataHistory', [History::class, 'getDataHistory'])->name('history.getDataHistory');
|
||||
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');
|
||||
});
|
||||
|
|
Loading…
Reference in New Issue