change to mac

mico
Zelda Ababil 2024-02-16 03:53:23 +07:00
parent 2d93f24c87
commit a84a4ca90b
18 changed files with 383 additions and 74 deletions

View File

@ -57,7 +57,6 @@ class PenjualanController extends Controller
})
->addColumn('ubah', function ($data) {
return '<div class="btn-group">
<button href="javascript:void(0)" class="btn btn-xs btn-danger mr-1 cancelOrderBtn" data-id="' . $data->id . '" data-kode_pesanan="' . $data->kode_pesanan . '" data-nama_pemesan="' . $data->nama_pemesan . '">cancel</button>
<a class="btn btn-xs btn-warning mr-1" href="javascript:void(0)" onclick="detail(\'' . $data->id . '\')"><i class="fas fa-eye"></i></a>
<a class="btn btn-xs btn-success" href="javascript:void(0)" onclick="print(\'' . $data->id . '\')"><i class="fas fa-print"></i></a></div>';
})
@ -74,7 +73,7 @@ class PenjualanController extends Controller
public function getDataDetailPenjualan(Request $request)
{
$data = DetailPesanan::with('pesanan')->where('pesanan_id', $request->id_pesanan)->get();
$data = DetailPesanan::with('pesanan')->where('pesanan_id', $request->id_pesanan)->withTrashed()->get();
$pesanan = Pesanan::find($request->id_pesanan);
return response()->json(['status' => true, 'data' => $data, 'pesanan' => $pesanan]);
}
@ -130,6 +129,33 @@ class PenjualanController extends Controller
}
}
public function cancelDetail(Request $request)
{
try {
DB::beginTransaction();
$detailPesanan = DetailPesanan::find($request->id);
$pesanan = Pesanan::find($detailPesanan->pesanan_id);
$pesanan->total_bayar = $pesanan->total_bayar - $detailPesanan->total_harga_produk;
// check the diskon in pesanan
$pesanan->grand_total = $pesanan->total_bayar - $pesanan->diskon_rupiah;
$pesanan->total_pesanan = $pesanan->total_pesanan - $detailPesanan->jumlah_produk;
$pesanan->save();
$detailPesanan->status_pesanan = '3';
$detailPesanan->delete();
$detailPesanan->save();
DB::commit();
return response()->json(['status' => true, 'message' => 'Pesanan berhasil di cancel']);
} catch (\Throwable $th) {
DB::rollBack();
return response()->json(['status' => false, 'message' => 'Pesanan gagal di cancel']);
//throw $th;
}
}
public function dibatalkan()
{
if (request()->ajax()) {

View File

@ -72,7 +72,7 @@ class History extends Controller
public function getDataDetailHistory(Request $request)
{
$data = DetailPesanan::with('pesanan')->where('pesanan_id', $request->id_pesanan)->get();
$data = Pesanan::with('detailPesanan')->find($request->id_pesanan);
return response()->json(['status' => true, 'data' => $data]);
}

View File

@ -23,7 +23,9 @@ class Transaksi extends Controller
public function index()
{
$orderCode = "ORD-" . strtoupper(random_str(6, random_str()));
// count pesanan by date now and add 1 for next count pesanan today
$lastCountPesanan = Pesanan::whereDate('created_at', date('Y-m-d'))->count() + 1;
$orderCode = "ORD-" . date('ym') . strtoupper(random_str(3, random_str())) . date('d') . '-' . $lastCountPesanan;
$KelompokKategori = KelompokKategori::with('kelompokKategoriPivot.produk')->get();
$aba = RekeningCoa::where('kode_coa', 1)->where('sub_kode_coa', 200)->get();
@ -105,7 +107,6 @@ class Transaksi extends Controller
public function store(Request $request)
{
$request->validate([
'orderCode' => 'required',
'namaPemesan' => 'required',
@ -134,9 +135,16 @@ class Transaksi extends Controller
// calculate nomor antrian
$nomorAntrian = $lastCountPesanan;
if($request->jenis_pembayaran == "1"){
$kodenya = substr($request->orderCode, 0, -3); // Menghapus tiga karakter terakhir,
// check antrian pesanan jika sudah ada di database maka tambahkan 1 untuk nomor antrian selanjutnya
$lastCountPesanan = Pesanan::whereDate('created_at', date('Y-m-d'))->count() + 1;
$kodenya = $kodenya . $lastCountPesanan;
if ($request->jenis_pembayaran == "1") {
$pesananDatas = [
'kode_pesanan' => $request->orderCode,
'kode_pesanan' => $kodenya,
'nama_pemesan' => $request->namaPemesan,
'nomor_pemesan' => $request->nomorPemesan,
'nomor_meja' => $request->nomorMeja,
@ -155,9 +163,9 @@ class Transaksi extends Controller
'jenis_pembayaran' => $request->jenis_pembayaran,
];
$pesananModels = \App\Models\Pesanan::create($pesananDatas);
}else{
} else {
$pesananDatas = [
'kode_pesanan' => $request->orderCode,
'kode_pesanan' => $kodenya,
'nama_pemesan' => $request->namaPemesan,
'nomor_pemesan' => $request->nomorPemesan,
'nomor_meja' => $request->nomorMeja,
@ -200,56 +208,57 @@ class Transaksi extends Controller
'total_harga_produk' => $value['total'],
'diskon_persen' => $value['diskonSatuan'] ?? null,
'keterangan_produk' => $value['keterangan'] ?? null,
'status_pesanan' => $value['status_pesanan_dinein'] ?? null,
];
$detailPesananModels = \App\Models\DetailPesanan::create($oderDatas);
}
// keuangan
// jika pembayaran non tunai
if($request->jenis_pembayaran == "2"){
if ($request->jenis_pembayaran == "2") {
BukuBesar::create([
'faktur' => 'PJ-'.date('YmdHis'),
'faktur' => 'PJ-' . date('YmdHis'),
'tanggal' => date('Y-m-d'),
'rekening_coa_id' => $request->id_rekening_coa,
'pesanans_id' => $pesananModels->id,
'kode_rekening_coa' => $request->kode_coa,
'keterangan_coa' => $request->keterangan_coa,
'keterangan' => 'Penjualan Non Tunai['.$request->orderCode.']',
'keterangan' => 'Penjualan Non Tunai[' . $request->orderCode . ']',
'debet' => $request->totalDiskon,
'kredit' => 0
]);
BukuBesar::create([
'faktur' => 'PJ-'.date('YmdHis'),
'faktur' => 'PJ-' . date('YmdHis'),
'tanggal' => date('Y-m-d'),
'rekening_coa_id' => "35",
'pesanans_id' => $pesananModels->id,
'kode_rekening_coa' => "4.100.01",
'keterangan_coa' => "Pendapatan Penjualan",
'keterangan' => 'Penjualan Non Tunai['.$request->orderCode.']',
'keterangan' => 'Penjualan Non Tunai[' . $request->orderCode . ']',
'debet' => 0,
'kredit' => $request->totalDiskon
]);
// jika pembayaran tunai
}else{
// jika pembayaran tunai
} else {
BukuBesar::create([
'faktur' => 'PJ-'.date('YmdHis'),
'faktur' => 'PJ-' . date('YmdHis'),
'tanggal' => date('Y-m-d'),
'rekening_coa_id' => "2",
'pesanans_id' => $pesananModels->id,
'kode_rekening_coa' => "1.100.01",
'keterangan_coa' => "Kas Kasir",
'keterangan' => 'Penjualan Tunai['.$request->orderCode.']',
'keterangan' => 'Penjualan Tunai[' . $request->orderCode . ']',
'debet' => $request->totalDiskon,
'kredit' => 0
]);
BukuBesar::create([
'faktur' => 'PJ-'.date('YmdHis'),
'faktur' => 'PJ-' . date('YmdHis'),
'tanggal' => date('Y-m-d'),
'rekening_coa_id' => "35",
'pesanans_id' => $pesananModels->id,
'kode_rekening_coa' => "4.100.01",
'keterangan_coa' => "Pendapatan Penjualan",
'keterangan' => 'Penjualan Tunai['.$request->orderCode.']',
'keterangan' => 'Penjualan Tunai[' . $request->orderCode . ']',
'debet' => 0,
'kredit' => $request->totalDiskon
]);

View File

@ -19,6 +19,7 @@ class DetailPesanan extends Model
'nama_produk',
'harga_produk',
'jumlah_produk',
'status_pesanan', // 0=takeaway,1=default,2=dinein,3=cancel
'total_harga_produk',
'keterangan_produk',
'diskon_id',

View File

@ -0,0 +1,28 @@
<?php
use Illuminate\Database\Migrations\Migration;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Support\Facades\Schema;
return new class extends Migration
{
/**
* Run the migrations.
*/
public function up(): void
{
Schema::table('detail_pesanans', function (Blueprint $table) {
$table->enum('status_pesanan', [0, 1, 2, 3])->default(1)->comment('0=takeaway,1=default,2=dinein,3=cancel')->after('jumlah_produk');
});
}
/**
* Reverse the migrations.
*/
public function down(): void
{
Schema::table('detail_pesanans', function (Blueprint $table) {
$table->dropColumn('status_pesanan');
});
}
};

View File

@ -50,6 +50,7 @@
<th>Kode Pesanan</th>
<th>Pemesan</th>
<th>Nomor Meja</th>
<th>Urutan Pesanan</th>
<th>Tanggal & Jam</th>
<th>Total Pesanan</th>
<th>Sub Total</th>
@ -62,6 +63,7 @@
<tr>
<th class="text-right" colspan="5">Total</th>
<th></th>
<th></th>
<th class="text-right"></th>
<th></th>
<th class="text-right"></th>

View File

@ -34,6 +34,10 @@
data: 'nomor_meja',
name: 'nomor_meja'
},
{
data: 'nomor_antrian',
name: 'nomor_antrian'
},
{
data: 'created_at',
name: 'created_at'
@ -88,7 +92,7 @@
// GrandTotal over all pages
totalAll = api
.column(8)
.column(9)
.data()
.reduce((a, b) => intVal(a) + intVal(b), 0);
@ -97,7 +101,7 @@
// Total over this page
pageTotal = api
.column(6, {
.column(7, {
page: 'current'
})
.data()
@ -105,15 +109,15 @@
// total pesanan
totalPesanan = api
.column(5)
.column(6)
.data()
.reduce((a, b) => intVal(a) + intVal(b), 0);
// Update footer
api.column(5).footer().innerHTML = totalPesanan + ' Item';
api.column(6).footer().innerHTML =
api.column(6).footer().innerHTML = totalPesanan + ' Item';
api.column(7).footer().innerHTML =
'Rp. ' + pageTotal.toString().replace(/\B(?=(\d{3})+(?!\d))/g, '.');
api.column(8).footer().innerHTML =
api.column(9).footer().innerHTML =
'Rp. ' + totalAll.toString().replace(/\B(?=(\d{3})+(?!\d))/g, '.');
}
})
@ -147,13 +151,23 @@
success: function(result) {
$('#view_history_detail').empty()
if (result.status) {
const data = result.data
const data = result.data.detail_pesanan
let nomor = 1
// console.log(data);
data.forEach(x => {
if (x.status_pesanan == 0) {
statusnya = '<span class="badge badge-warning">TAKEAWAY</span>';
} else if (x.status_pesanan == 1) {
statusnya = '<span class="badge badge-info">DINEIN</span>';
} else if (x.status_pesanan == 2) {
statusnya = '<span class="badge badge-info">DINEIN</span>';
} else if (x.status_pesanan == 3) {
statusnya = '<span class="badge badge-danger">CANCEL</span>';
}
let tr = $('<tr></tr>')
tr.append('<td class="text-center">' + nomor + '</td>')
tr.append('<td>' + x.nama_produk + '</td>')
tr.append('<td>' + x.nama_produk +
statusnya + '</td>')
tr.append('<td>' + formatRupiah(x.harga_produk) + '</td>')
tr.append('<td class="text-center">' + x.jumlah_produk + '</td>')
tr.append('<td>' + formatRupiah(x.total_harga_produk) + '</td>')
@ -163,11 +177,34 @@
$('#view_history_detail').append(tr)
nomor++
})
$('#kode_pesanan').val(result.data.kode_pesanan)
$('#nama_pemesan').val(result.data.nama_pemesan)
$('#tanggal_jam').val(tanggal_jam(result.data.created_at))
$('#nomor_meja').val(result.data.nomor_meja)
$('#nomor_antrian').val(result.data.nomor_antrian)
$('#total_pesanan').val(result.data.total_pesanan + ' Item')
$('#sub_total').val(formatRupiah(result.data.total_bayar))
if (result.data.diskon_persen == null) {
result.data.diskon_persen = 0
}
$('#diskon_persen').val(result.data.diskon_persen + '%')
$('#grand_total').val(formatRupiah(result.data.grand_total))
}
}
})
$('#modal_detail_history').modal('show')
}
function tanggal_jam(tanggal) {
let date = new Date(tanggal)
let tahun = date.getFullYear()
let bulan = date.getMonth() + 1
let tanggalnya = date.getDate()
let jam = date.getHours()
let menit = date.getMinutes()
let detik = date.getSeconds()
return `${tanggalnya}-${bulan}-${tahun} ${jam}:${menit}:${detik}`
}
</script>
{{-- <script>
$(document).ready( function () {

View File

@ -1,13 +1,68 @@
<div class="modal fade" id="modal_detail_history" aria-labelledby="exampleModalLabel" >
<div class="modal fade" id="modal_detail_history" aria-labelledby="exampleModalLabel">
<div class="modal-dialog modal-lg">
<div class="modal-content">
<div class="modal-header">
<h5 class="modal-title" id="exampleModalLabel">Detail History</h5>
<button type="button" class="close" data-dismiss="modal" aria-label="Close">
<span aria-hidden="true">&times;</span>
<span aria-hidden="true">&times;</span>
</button>
</div>
<div class="modal-body">
<div class="col-md-12" id="data-pesanan">
<div class="row">
<div class="col-md-6">
<div class="form-group row">
<label class="col-md-4 col-form-label">Kode Pesanan</label>
<div class="col-md-8">
<input type="text" class="form-control form-control-sm" id="kode_pesanan"
readonly>
</div>
<label class="col-md-4 col-form-label">Pemesan</label>
<div class="col-md-8">
<input type="text" class="form-control form-control-sm" id="nama_pemesan"
readonly>
</div>
<label class="col-md-4 col-form-label">Tanggal & Jam</label>
<div class="col-md-8">
<input type="text" class="form-control form-control-sm" id="tanggal_jam"
readonly>
</div>
<label class="col-md-4 col-form-label">Nomor Meja</label>
<div class="col-md-8">
<input type="text" class="form-control form-control-sm" id="nomor_meja" readonly>
</div>
<label class="col-md-4 col-form-label">Urutan Pesanan</label>
<div class="col-md-8">
<input type="text" class="form-control form-control-sm" id="nomor_antrian"
readonly>
</div>
</div>
</div>
<div class="col-md-6">
<div class="form-group row">
<label class="col-md-4 col-form-label">Total Pesanan</label>
<div class="col-md-8">
<input type="text" class="form-control form-control-sm" id="total_pesanan"
readonly>
</div>
<label class="col-md-4 col-form-label">Sub Total</label>
<div class="col-md-8">
<input type="text" class="form-control form-control-sm" id="sub_total" readonly>
</div>
<label class="col-md-4 col-form-label">Diskon(%)</label>
<div class="col-md-8">
<input type="text" class="form-control form-control-sm" id="diskon_persen"
readonly>
</div>
<label class="col-md-4 col-form-label">Grand Total</label>
<div class="col-md-8">
<input type="text" class="form-control form-control-sm" id="grand_total"
readonly>
</div>
</div>
</div>
</div>
</div>
<div class="table-responsive mt-3">
<table id="tabelku" class="table table-hover display" style="width: 100%; font-size: 14px;">
<thead>
@ -27,4 +82,4 @@
</div>
</div>
</div>
</div>
</div>

View File

@ -154,7 +154,8 @@
index = i;
} else {
if (id == menuId) {
isExist = true;
// isExist = true;
// isExist = false;
index = i;
}
}
@ -219,6 +220,10 @@
<button type="button" class="btn btn-default btn-xs btn-flat" onclick="incrementMenu(${row_id}, '${params.nama_produk}')">+</button>
</span>
</div>
<select name="status_pesanan_dinein" id="status_pesanan_dinein" class="custom-select-mystyle form-control-border">
<option value="2" selected>Dine In</option>
<option value="0">Take Away</option>
</select>
</td>
`;
table.rows[index].cells[2].innerHTML = `
@ -266,6 +271,10 @@
<button type="button" class="btn btn-default btn-xs btn-flat" onclick="incrementMenu(${globalId}, '${params.nama_produk}')">+</button>
</span>
</div>
<select name="status_pesanan_dinein" id="status_pesanan_dinein" class="custom-select-mystyle form-control-border">
<option value="2" selected>Dine In</option>
<option value="0">Take Away</option>
</select>
</td>
<td class="text-center">
<div class="input-group input-group-sm">
@ -300,6 +309,10 @@
<button type="button" class="btn btn-default btn-xs btn-flat" onclick="incrementMenu(${globalId}, '${params.nama_produk}')">+</button>
</span>
</div>
<select name="status_pesanan_dinein" id="status_pesanan_dinein" class="custom-select-mystyle form-control-border">
<option value="2" selected>Dine In</option>
<option value="0">Take Away</option>
</select>
</td>
<td class="text-center">
<div class="input-group input-group-sm">
@ -385,6 +398,12 @@
var harga = table.rows[index].getAttribute('data-harga');
var valueKeterangan = table.rows[index].cells[0].getElementsByTagName('input')[0].getAttribute(
'data-keterangan');
var realValueKeterangan = table.rows[index].cells[0].getElementsByTagName('input')[0].value;
if (valueKeterangan != realValueKeterangan) {
valueKeterangan = realValueKeterangan;
}
var selectNya = table.rows[index].cells[1].getElementsByTagName('select')[0].value;
qty = parseInt(qty) + 1;
var totalLama = parseInt(total) + parseInt(harga);
@ -417,6 +436,10 @@
<button type="button" class="btn btn-default btn-xs btn-flat" onclick="incrementMenu(${params}, '${nama_produk}')">+</button>
</span>
</div>
<select name="status_pesanan_dinein" id="status_pesanan_dinein" class="custom-select-mystyle form-control-border">
<option value="2" ${selectNya == 2 ? 'selected' : ''}>Dine In</option>
<option value="0" ${selectNya == 0 ? 'selected' : ''}>Take Away</option>
</select>
</td>`;
calculateTotal();
@ -441,6 +464,9 @@
var harga = table.rows[index].getAttribute('data-harga');
var valueKeterangan = table.rows[index].cells[0].getElementsByTagName('input')[0].getAttribute(
'data-keterangan');
var selectNya = table.rows[index].cells[1].getElementsByTagName('select')[0].value;
if (qty > 1) {
qty = parseInt(qty) - 1;
var totalLama = parseInt(total) - parseInt(harga);
@ -473,6 +499,10 @@
<button type="button" class="btn btn-default btn-xs btn-flat" onclick="incrementMenu(${params}, '${nama_produk}')">+</button>
</span>
</div>
<select name="status_pesanan_dinein" id="status_pesanan_dinein" class="custom-select-mystyle form-control-border">
<option value="2" ${selectNya == 2 ? 'selected' : ''}>Dine In</option>
<option value="0" ${selectNya == 0 ? 'selected' : ''}>Take Away</option>
</select>
</td>
`;
@ -646,7 +676,10 @@
diskonSatuan: diskonSatuan,
harga: harga,
total: total,
keterangan: document.getElementsByName('keterangan_satuan')[i - 1].value
keterangan: document.getElementsByName('keterangan_satuan')[i - 1]
.value,
status_pesanan_dinein: document.getElementsByName(
'status_pesanan_dinein')[i - 1].value,
});
}
}

View File

@ -77,23 +77,24 @@
<body style="width: 58mm;">
<!-- Button Print -->
{{-- <div class="">
<div class="">
<div class="col-6 mb">
<button class="btn btn-info btn-block hidden-print" id="print-dapur">Print</button>
</div>
</div> --}}
</div>
<br>
<h2 style="text-align: center">Sepiring Telur Keriting</h2>
<p style="text-align: center">Jln. Jawa No. 28A, Jember</p>
<hr class="style2">
<h4 style="text-align: center">{{ $pesanan->kode_pesanan }}</h4>
<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>Kasir: {{ $pesanan->user->name }}</p>
<p>Kasir:</p>
<p>{{ $pesanan->user->name }}</p>
</span>
</span>
<hr class="style2">
@ -120,7 +121,9 @@
<tbody>
@foreach ($pesanan->detailPesanan as $item)
<tr>
<td style="width: 100px;" colspan="5">{{ $item->nama_produk }}</td>
<td style="width: 100px;" colspan="5">{{ $item->nama_produk }}
{{ $item->status_pesanan == 0 ? '(TAKEAWAY)' : ($item->status_pesanan == 3 ? '(CANCEL)' : '(DINEIN)') }}
</td>
</tr>
<tr>
<td></td>
@ -170,14 +173,15 @@
<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;">
<h4 style="text-align: center">{{ $pesanan->kode_pesanan }}</h4>
<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>Kasir: {{ $pesanan->user->name }}</p>
<p>Kasir:</p>
<p>{{ $pesanan->user->name }}</p>
</span>
</span>
<hr class="style2">
@ -209,6 +213,7 @@
<h4>
({{ $item->jumlah_produk }} X)
{{ $item->nama_produk }}
{{ $item->status_pesanan == 0 ? '(TAKEAWAY)' : ($item->status_pesanan == 3 ? '(CANCEL)' : '(DINEIN)') }}
</h4>
@if ($item->keterangan_produk != '')
<p>
@ -309,7 +314,7 @@
// window.close();
// });
window.print();
// window.print();
const $btnPrint = document.querySelector("#print-dapur");
$btnPrint.addEventListener("click", () => {

View File

@ -77,7 +77,7 @@
<body style="width: 56mm;">
<!-- Button Print -->
{{-- <div class="">
<div class="">
<div class="col-6 mb">
<button class="btn btn-info btn-block hidden-print" id="print-dapur">Print</button>
</div>
@ -87,19 +87,20 @@
<div class="col-6 mb">
<button class="btn btn-danger btn-block hidden-print" id="close">Tutup</button>
</div>
</div> --}}
</div>
<br>
<h2 style="text-align: center">Sepiring Telur Keriting</h2>
<p style="text-align: center">Jln. Jawa No. 28A, Jember</p>
<hr class="style2">
<h4 style="text-align: center">{{ $pesanan->kode_pesanan }}</h4>
<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>Kasir: {{ $pesanan->user->name }}</p>
<p>Kasir:</p>
<p>{{ $pesanan->user->name }}</p>
</span>
</span>
<hr class="style2">
@ -126,7 +127,9 @@
<tbody>
@foreach ($pesanan->detailPesanan as $item)
<tr>
<td style="width: 100px;" colspan="5">{{ $item->nama_produk }}</td>
<td style="width: 100px;" colspan="5">
{{ $item->nama_produk }}{{ $item->status_pesanan == 0 ? '(TAKEAWAY)' : ($item->status_pesanan == 3 ? '(CANCEL)' : '(DINEIN)') }}
</td>
</tr>
<tr>
<td></td>
@ -176,14 +179,15 @@
<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;">
<h4 style="text-align: center">{{ $pesanan->kode_pesanan }}</h4>
<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>Kasir: {{ $pesanan->user->name }}</p>
<p>Kasir:</p>
<p>{{ $pesanan->user->name }}</p>
</span>
</span>
<hr class="style2">
@ -214,7 +218,7 @@
<td style="width: 80px;" colspan="3">
<h4>
({{ $item->jumlah_produk }} X)
{{ $item->nama_produk }}
{{ $item->nama_produk }}{{ $item->status_pesanan == 0 ? '(TAKEAWAY)' : ($item->status_pesanan == 3 ? '(CANCEL)' : '(DINEIN)') }}
</h4>
@if ($item->keterangan_produk != '')
<p>
@ -322,7 +326,7 @@
// window.close();
// });
window.print();
// window.print();
const $btnPrint = document.querySelector("#print-dapur");
$btnPrint.addEventListener("click", () => {

View File

@ -77,25 +77,26 @@
<body style="width: 58mm;">
<!-- Button Print -->
{{-- <div class="">
<div class="">
<div class="col-6 mb">
<button class="btn btn-info btn-block hidden-print" id="print-dapur">Print</button>
</div>
</div> --}}
</div>
<br>
@for ($i = 0; $i < 2; $i++)
<hr class="dashed-line" style="margin-top: 15px;">
<p style="text-align: center;font-size: 7pt">Print Dapur</p>
<hr class="dashed-line" style="margin-top: 10px;">
<hr class="style2">
<h4 style="text-align: center">{{ $pesanan->kode_pesanan }}</h4>
<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>Kasir: {{ $pesanan->user->name }}</p>
<p>Kasir:</p>
<p>{{ $pesanan->user->name }}</p>
</span>
</span>
<hr class="style2">
@ -125,7 +126,7 @@
<tr>
<td style="width: 80px;" colspan="3">
({{ $item->jumlah_produk }} X)
{{ $item->nama_produk }}
{{ $item->nama_produk }}{{ $item->status_pesanan == 0 ? '(TAKEAWAY)' : ($item->status_pesanan == 3 ? '(CANCEL)' : '(DINEIN)') }}
@if ($item->keterangan_produk != '')
<p>
&nbsp;&nbsp;&nbsp;&nbsp; ket: {{ $item->keterangan_produk }}
@ -226,7 +227,7 @@
// window.close();
// });
window.print();
// window.print();
const $btnPrint = document.querySelector("#print-dapur");
$btnPrint.addEventListener("click", () => {

View File

@ -77,25 +77,26 @@
<body style="width: 58mm;">
<!-- Button Print -->
{{-- <div class="">
<div class="">
<div class="col-6 mb">
<button class="btn btn-info btn-block hidden-print" id="print-dapur">Print</button>
</div>
</div> --}}
</div>
<br>
@for ($i = 0; $i < 3; $i++)
<hr class="dashed-line" style="margin-top: 15px;">
<p style="text-align: center;font-size: 7pt">Print Dapur</p>
<hr class="dashed-line" style="margin-top: 10px;">
<hr class="style2">
<h4 style="text-align: center">{{ $pesanan->kode_pesanan }}</h4>
<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>Kasir: {{ $pesanan->user->name }}</p>
<p>Kasir:</p>
<p>{{ $pesanan->user->name }}</p>
</span>
</span>
<hr class="style2">
@ -126,7 +127,7 @@
<td style="width: 80px;" colspan="3">
<h4>
({{ $item->jumlah_produk }} X)
{{ $item->nama_produk }}
{{ $item->nama_produk }}{{ $item->status_pesanan == 0 ? '(TAKEAWAY)' : ($item->status_pesanan == 3 ? '(CANCEL)' : '(DINEIN)') }}
</h4>
@if ($item->keterangan_produk != '')
<p>
@ -229,7 +230,7 @@
// window.close();
// });
window.print();
// window.print();
const $btnPrint = document.querySelector("#print-dapur");
$btnPrint.addEventListener("click", () => {

View File

@ -422,8 +422,8 @@
<thead style="background-color: rgb(230, 230, 230)">
<tr>
<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="115px">Qty</th>
<th class="text-center" width="70px">(%)</th>
<th class="text-center" width="30px">
<i class="fas fa-cog"></i>
</th>
@ -562,6 +562,28 @@
</style>
<link rel="stylesheet" href="{{ asset('assets/plugins/toastr/toastr.min.css') }}">
<link rel="stylesheet" href="{{ asset('assets/datatables/datatables.min.css') }}">
<style>
.custom-select-mystyle {
display: inline-block;
width: 100%;
height: calc(2.25rem + 2px);
padding: .375rem .375rem .375rem .375em;
font-size: 1rem;
font-weight: 400;
line-height: 1.5;
color: #495057;
vertical-align: middle;
background: #fff url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='4' height='5' viewBox='0 0 4 5'%3e%3cpath fill='%23343a40' d='M2 0L0 2h4zm0 5L0 3h4z'/%3e%3c/svg%3e") right .175rem center/8px 10px no-repeat;
border: 1px solid #ced4da;
border-radius: .25rem;
box-shadow: inset 0 1px 2px rgba(0, 0, 0, .075);
-webkit-appearance: none;
-moz-appearance: none;
appearance: none;
background-color: cyan;
}
</style>
@endpush
@include('pages.Kasir.js')

View File

@ -50,9 +50,9 @@
</form>
</div>
<div class="col-md-2" style="text-align: right">
<a class="btn btn-sm btn-info mt-4" id="penjualan_cancel"
{{-- <a class="btn btn-sm btn-info mt-4" id="penjualan_cancel"
href="{{ route('penjualan.dibatalkan') }}"><i class="fas fa-table mr-1"></i>Penjualan
Dibatalkan</a>
Dibatalkan</a> --}}
</div>
</div>
<div class="col-md-12">

View File

@ -161,6 +161,19 @@
tr.append('<td class="text-center">' + x.jumlah_produk + '</td>')
tr.append('<td class="text-center">' + x.diskon_persen + '%</td>')
tr.append('<td>' + formatRupiah(x.total_harga_produk) + '</td>')
if (x.status_pesanan != 3) {
tr.append(
'<td class="text-center"><button class="btn btn-danger btn-sm cancelOrderDetailBtn" data-id="' +
x.id + '" data-produk="' + x.nama_produk +
'">cancel</button></td>')
} else {
tr.append(
'<td class="text-center"><button class="btn btn-warning btn-sm disabled" data-id="' +
x.id + '" data-produk="' + x.nama_produk +
'">tercancel</button></td>')
}
// cetakStruk
$('#cetakStruk').attr('onclick', 'print(' + result.pesanan.id + ')')
$('#view_penjualan_detail').append(tr)
nomor++
})
@ -171,12 +184,20 @@
tfoot.append('<td>' + formatRupiah(result.pesanan.grand_total) + '</td>')
tfoot.append('<td colspan="2"></td>')
$('#view_penjualan_detail_tfoot').empty().append(tfoot)
// set attribute to label
$('#kode_pesanan').text('Kode Pesanan: ' + result.pesanan.kode_pesanan)
$('#nama_pemesan').text('Nama Pemesan: ' + result.pesanan.nama_pemesan)
$('#nomor_meja').text('Nomor Meja: ' + result.pesanan.nomor_meja)
$('#urutan_pesanan').text('Urutan Pesanan: ' + result.pesanan.nomor_antrian)
$('#tanggal_pesan').text('Tanggal Pesan: ' + result.pesanan.tanggal_pesanan)
$('#total_pesanan').text('Total Pesanan: ' + result.pesanan.total_pesanan + ' Item')
$('#sub_total_pesanan').text('Sub Total: ' + formatRupiah(result.pesanan.total_bayar))
if (result.pesanan.diskon_persen == null) {
result.pesanan.diskon_persen = 0
}
$('#diskon_persen_pesanan').text('Diskon(%): ' + result.pesanan.diskon_persen + '%')
$('#grand_total_pesanan').text('Grand Total: ' + formatRupiah(result.pesanan
.grand_total))
// attach attribute to button
$('#cancelPesanan').attr('data-id', result.pesanan.id)
@ -263,6 +284,53 @@
})
})
$(document).on('click', '.cancelOrderDetailBtn', function() {
// get arttibute data-kode_pesanan from button
let id = $(this).attr('data-id');
let produk = $(this).attr('data-produk');
var text = "Membatalkan pesanan dengan data <br> Menu Pesanan: " + produk +
" ?";
Swal.fire({
title: 'Apakah anda yakin?',
html: text,
icon: 'warning',
showCancelButton: true,
confirmButtonColor: '#3085d6',
cancelButtonColor: '#d33',
confirmButtonText: 'Ya, Hapus!',
cancelButtonText: 'Batal'
}).then((result) => {
if (result.isConfirmed) {
$.ajax({
type: "DELETE",
url: "{{ route('penjualan.cancelDetail') }}",
data: {
_token: "{{ csrf_token() }}",
id: id
},
success: function(result) {
console.log(result);
if (result.status) {
Swal.fire(
'Berhasil!',
result.message,
'success'
)
$('#tabelku').DataTable().ajax.reload();
} else {
Swal.fire(
'Gagal!',
result.message,
'error'
)
}
}
})
}
})
})
function cancelPesanan(id, kode, nama) {
var text = "Membatalkan pesanan dengan data Kode Pesanan: " + kode +
" Nama Pemesan: " +

View File

@ -8,11 +8,20 @@
</button>
</div>
<div class="modal-body">
<div class="col-md-12">
<label for="kode_pesanan" id="kode_pesanan"></label><br>
<label for="nama_pemesan" id="nama_pemesan"></label><br>
<label for="nomor_meja" id="nomor_meja"></label><br>
<label for="tanggal_pesan" id="tanggal_pesan"></label>
<div class="row">
<div class="col-md-6">
<label for="kode_pesanan" id="kode_pesanan"></label><br>
<label for="nama_pemesan" id="nama_pemesan"></label><br>
<label for="nomor_meja" id="nomor_meja"></label><br>
<label for="urutan_pesanan" id="urutan_pesanan"></label><br>
<label for="tanggal_pesan" id="tanggal_pesan"></label><br>
</div>
<div class="col-md-6">
<label for="total_pesanan" id="total_pesanan"></label><br>
<label for="sub_total" id="sub_total_pesanan"></label><br>
<label for="diskon_persen" id="diskon_persen_pesanan"></label><br>
<label for="grand_total" id="grand_total_pesanan"></label><br>
</div>
</div>
<div class="table-responsive mt-3">
<table id="tabelku" class="table table-hover display" style="width: 100%; font-size: 14px;">
@ -25,6 +34,9 @@
<th class="text-center">Jumlah Terjual</th>
<th class="text-center">Diskon(%)</th>
<th>Total Harga</th>
<th class="text-center">
<i class="fas fa-cog"></i>
</th>
</tr>
</thead>
<tbody id="view_penjualan_detail"></tbody>
@ -34,8 +46,12 @@
</div>
<div class="modal-footer justify-content-between">
<button type="button" class="btn btn-default" data-dismiss="modal">Close</button>
<button href="javascript:void(0)" class="btn btn-danger mr-1" id="cancelPesanan">cancel
pesanan</button>
<div class="btn-group">
<button href="javascript:void(0)" class="btn btn-danger mr-1" id="cancelPesanan">Cancel Seluruh
Pesanan</button>
<button href="javascript:void(0)" class="btn btn-primary" id="cetakStruk">Cetak Struk</button>
</div>
</div>
</div>
</div>

View File

@ -133,6 +133,7 @@ Route::group(['middleware' => ['auth', 'permission']], function () {
Route::post('/laporan', [PenjualanController::class, 'laporan'])->name('penjualan.laporan')->comment('Halaman Laporan Penjualan');
Route::post('/getDataDetailPenjualan', [PenjualanController::class, 'getDataDetailPenjualan'])->name('penjualan.getDataDetailPenjualan')->comment("Ambil data Detail Riwayat Transaksi Penjualan");
Route::delete('/cancel', [PenjualanController::class, 'cancel'])->name('penjualan.cancel')->comment("Cancel order transaksi penjualan");
Route::delete('/cancelDetail', [PenjualanController::class, 'cancelDetail'])->name('penjualan.cancelDetail')->comment("Cancel Detail order transaksi penjualan");
Route::get('/dibatalkan', [PenjualanController::class, 'dibatalkan'])->name('penjualan.dibatalkan')->comment("Halaman Transaksi Dibatalkan");
});