bug minor di tanggal -> flat tidak bisa digunakansaat dibuka versi hp di

This commit is contained in:
JokoPrasetio 2025-08-19 16:02:19 +07:00
parent 00792c68a0
commit e85df46673
29 changed files with 109 additions and 35 deletions

View File

@ -21,7 +21,8 @@ class CustomerController extends Controller
public function index(){
$payload = [
'title' => 'Halaman Utama'
'title' => 'Halaman Utama',
'mcu' => false,
];
return view('guest.index', $payload);
}
@ -248,7 +249,8 @@ class CustomerController extends Controller
$karbohidrat = Karbohidrat::where('statusenabled', true)->select('karbohidrat_id', 'nama_karbohidrat', 'nilai_kalori')->get();
$payload = [
'title' => 'Checkout ',
'karbohidrat' => $karbohidrat
'karbohidrat' => $karbohidrat,
'mcu' => false,
];
return view('guest.checkout.checkout_payment', $payload);
}
@ -389,7 +391,8 @@ class CustomerController extends Controller
}
$payload = [
'title' => 'Berhasil Melakukan Pembayaran ',
'no_order' => session('no_order')
'no_order' => session('no_order'),
'mcu' => false,
];
return view('guest.success_page', $payload);
}
@ -397,7 +400,8 @@ class CustomerController extends Controller
public function checkOrder(){
$payload = [
'title' => 'Check Order'
'title' => 'Check Order',
'mcu' => false,
];
return view('guest.check_order.index', $payload);
}
@ -481,7 +485,8 @@ class CustomerController extends Controller
$paketMcu = MasterMcu::where('statusenabled', true)->get();
$data = [
'title' => 'Order Gizi MCU',
'paketMcu' => $paketMcu
'paketMcu' => $paketMcu,
'mcu' => true,
];
return view('guest.mcu.index', $data);
}
@ -504,6 +509,7 @@ class CustomerController extends Controller
'no_wa' => request('no_hp') ?? null,
'tinggi_badan' => request('tinggi_badan') ?? null,
'berat_badan' => request('berat_badan') ?? null,
'nama_institusi' => request('nama_institusi'),
'status_order' =>'Menunggu Konfirmasi Pesanan MCU',
'total_harga' => $priceMcu ? $priceMcu->harga : null,
'cara_pembayaran' =>'MCU',
@ -544,7 +550,8 @@ class CustomerController extends Controller
$payload = [
'title' => 'Berhasil Melakukan Pesanan ',
'no_order' => session('no_order'),
'back_href' => '/order-mcu'
'back_href' => '/order-mcu',
'mcu' => false
];
return view('guest.success_page', $payload);
}

View File

@ -57,6 +57,7 @@ class PesananController extends Controller
'o.bukti_pembayaran',
'o.note_dibatalkan',
'o.medical_record',
'o.nama_institusi',
'od.status_order as detail_status_order'
)->get()->groupBy('order_id');
$grouped = $orders->map(function($items){
@ -79,6 +80,7 @@ class PesananController extends Controller
'total_detail' => $totalDetail,
'selesai_detail' => $selesaiDetail,
'note_dibatalkan' => $first->note_dibatalkan,
'nama_institusi' => $first->nama_institusi,
];
})
->filter(function($item){
@ -217,6 +219,7 @@ class PesananController extends Controller
'o.note_dibatalkan',
'o.medical_record',
'o.evidence_medical_record',
'o.nama_institusi',
'od.status_order as detail_status_order'
)->get()->groupBy('order_id');
@ -241,6 +244,7 @@ class PesananController extends Controller
'total_detail' => $totalDetail,
'selesai_detail' => $selesaiDetail,
'note_dibatalkan' => $first->note_dibatalkan,
'nama_institusi' => $first->nama_institusi,
];
})
->filter(function($item){
@ -366,7 +370,7 @@ class PesananController extends Controller
$sheet->setCellValue("A{$row}", $index + 1);
$sheet->setCellValue("B{$row}", $item?->order?->no_order);
$sheet->setCellValue("C{$row}", $item?->order?->nama_pemesan);
$sheet->setCellValue("D{$row}", $item?->order?->jenis_customer);
$sheet->setCellValue("D{$row}", $item?->order?->jenis_customer === "MCU" ? $item?->order?->nama_institusi . '- MCU' : $item?->order?->jenis_customer);
$sheet->setCellValue("E{$row}", $item?->status_order ?? "-");
$sheet->setCellValue("F{$row}", $item?->menu?->nama_menu ?? $item?->masterMcu?->nama_mcu);
$karbohidratNama = $item?->karbohidrat?->nama_karbohidrat ?? '-';
@ -480,7 +484,7 @@ class PesananController extends Controller
$sheet->setCellValue("A{$row}", $index + 1);
$sheet->setCellValue("B{$row}", $item->no_order);
$sheet->setCellValue("C{$row}", $item->nama_pemesan);
$sheet->setCellValue("D{$row}", $item->jenis_customer);
$sheet->setCellValue("D{$row}", $item->jenis_customer === "MCU" ? $item->nama_institusi . '-' . $item->jenis_customer : $item->jenis_customer);
$sheet->setCellValue("E{$row}", $item->status_order);
$sheet->setCellValue("F{$row}", $item->jenis_kelamin);
$sheet->setCellValue("G{$row}", $item->no_wa);
@ -601,6 +605,7 @@ class PesananController extends Controller
'total_detail' => $totalDetail,
'selesai_detail' => $selesaiDetail,
'note_dibatalkan' => $first->note_dibatalkan,
'nama_institusi' => $first->nama_institusi,
];
})
->values();
@ -633,6 +638,7 @@ class PesananController extends Controller
'o.note_dibatalkan',
'o.medical_record',
'o.evidence_medical_record',
'o.nama_institusi',
'od.status_order as detail_status_order'
)->get()->groupBy('order_id');
return $data;
@ -714,7 +720,7 @@ class PesananController extends Controller
$sheet->setCellValue("A{$row}", $index + 1);
$sheet->setCellValue("B{$row}", $item->no_order);
$sheet->setCellValue("C{$row}", $item->nama_pemesan);
$sheet->setCellValue("D{$row}", $item->jenis_customer);
$sheet->setCellValue("D{$row}", $item->jenis_customer === "MCU" ? $item->nama_institusi . '-' . $item->jenis_customer : $item->jenis_customer);
$sheet->setCellValue("E{$row}", $item->jenis_kelamin);
$sheet->setCellValue("F{$row}", $item->no_wa);
$sheet->setCellValue("G{$row}", $item->email);
@ -849,7 +855,7 @@ class PesananController extends Controller
$sheet->setCellValue("A{$row}", $index + 1);
$sheet->setCellValue("B{$row}", $item->no_order);
$sheet->setCellValue("C{$row}", $item->nama_pemesan);
$sheet->setCellValue("D{$row}", $item->jenis_customer);
$sheet->setCellValue("D{$row}", $item->jenis_customer === "MCU" ? $item->nama_institusi . ' - ' . $item->jenis_customer : $item->jenis_customer);
$sheet->setCellValue("E{$row}", $item->cara_pembayaran);
$sheet->setCellValue("F{$row}", Carbon::parse($item->entry_at)->translatedFormat('d F Y H:i'));
$sheet->setCellValue("G{$row}", $item->total_harga);
@ -926,6 +932,7 @@ class PesananController extends Controller
'o.note_dibatalkan',
'o.medical_record',
'o.evidence_medical_record',
'o.nama_institusi',
'od.status_order as detail_status_order'
)->get()->groupBy('order_id');
@ -950,6 +957,7 @@ class PesananController extends Controller
'total_detail' => $totalDetail,
'selesai_detail' => $selesaiDetail,
'note_dibatalkan' => $first->note_dibatalkan,
'nama_institusi' => $first->nama_institusi,
];
})
->values();
@ -966,7 +974,7 @@ class PesananController extends Controller
$dataArray = explode(',', $data);
$orderDetail = OrderDetail::whereIn('order_detail_id', $dataArray)->with(['masterMcu', 'menu', 'order'])->get();
$pdf = Pdf::loadView('dashboard.label.multi', compact('orderDetail'));
return $pdf->stream('label_.pdf');
}
/**

View File

@ -39,6 +39,7 @@ class Order extends Model
'alamat',
'medical_record',
'evidence_medical_record',
'nama_institusi'
];
protected $cast = [

View File

@ -1,3 +1,6 @@
function checkOrderHref(){
window.location.href = '/check-order'
}
function mcu(){
window.location.href = '/order-mcu'
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 154 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 132 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 88 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 168 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 149 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 150 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 146 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 131 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 129 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 175 KiB

View File

@ -338,7 +338,7 @@ function renderCartSummary() {
<!-- Tanggal -->
<div class="col-12 col-md-2">
<input type="text" class="form-control form-control-sm tanggal-input" id="tanggal-${item.id}-${i}" readonly placeholder="Pilih Tanggal">
<input type="text" class="form-control form-control-sm tanggal-input" id="tanggal-${item.id}-${i}" readonly placeholder="Pilih Tanggal">
</div>
<!-- Karbohidrat -->
@ -452,7 +452,6 @@ function renderCartSummary() {
<div class="mb-2 small text-muted"><strong>Silahkan isi tanggal pemesanan, pilih karbohidrat dan catatan pemesanan (opsional) yang diinginkan</strong></div>
${pesananHTML}
ilahkan isi tanggal pemesanan, pilih karbohidrat dan catatan pemesanan (opsional) yang diinginkan
<div class="mt-3 d-flex justify-content-between align-items-center flex-wrap gap-2">
<button class="btn btn-sm btn-outline-success"
onclick="addOrderDate(${item.id}, ${item.apakah_menu_sore})">
@ -468,7 +467,13 @@ ilahkan isi tanggal pemesanan, pilih karbohidrat dan catatan pemesanan (opsional
`;
container.insertAdjacentHTML('beforeend', itemHTML);
pesananList.forEach((p, i) => initFlatpickrTersedia(item, i));
pesananList.forEach((p, i) => {
const input = document.querySelector(`#tanggal-${item.id}-${i}`);
if (input) {
initFlatpickrTersedia(item, i); // baru panggil kalau element beneran ada
}
});
});
container.insertAdjacentHTML('beforeend', `
@ -819,13 +824,19 @@ function initFlatpickrTersedia(item, i) {
flatpickr(`#tanggal-${item.id}-${i}`, {
dateFormat: "Y-m-d",
...(item?.apakah_someday ? {minDate: minTanggal} : {enable:availableDates}),
minDate: minTanggal,
altInput: true,
defaultDate: item.pesanan[i]?.tgl || null,
disable: item?.apakah_someday ? [] : [
function(date) {
const ymd = date.toISOString().split("T")[0];
return !availableDates.includes(ymd); // disable jika bukan tanggal yg tersedia
}
],
onChange: function(selectedDates, dateStr) {
onTanggalChange(item.id, i, dateStr);
}
});
});
}
function increment(itemId, index) {

View File

@ -161,7 +161,10 @@
},
{
title: "Kategori Customer",
field: 'jenis_customer',
formatter: function(value, row){
return row?.nama_institusi ? row?.nama_institusi + ' (MCU)': row?.jenis_customer;
},
sortable: true,
},
{

View File

@ -120,7 +120,9 @@
formatter: function(value, row){
return `<ul class="list-unstyled mb-0 text-nowrap;">
<li><i class="fa fa-user me-1 text-muted"></i> <strong> ${row?.order.nama_pemesan ?? '-'} </strong></li>
<li><i class="fa fa-tag me-1 text-muted"></i> ${row?.order?.jenis_customer ?? '-'}</li>
${row?.order?.nama_institusi ? `
<li><i class="fa fa-tag me-1 text-muted"></i> ${row?.order?.nama_institusi + '(' + row?.order?.jenis_customer +')'}</li>
` : `<li><i class="fa fa-tag me-1 text-muted"></i> ${row?.order?.jenis_customer ?? '-'}</li>`}
</ul>`
},
sortable: true,
@ -132,8 +134,8 @@
},
{
title: "Waktu Pengantaran",
formatter: function(value, row){
formatter: function(value, row){
if(row?.order?.jenis_customer === 'MCU')return row.jam_layanan.slice(0, 5);
return row?.type
},

View File

@ -185,6 +185,9 @@
{
title: "Kategori Customer",
field: 'jenis_customer',
formatter: function(value, row){
return row?.nama_institusi ? row?.nama_institusi + ' (MCU)': row?.jenis_customer;
},
sortable: true,
},

View File

@ -189,7 +189,9 @@ function getTableColumns() {
formatter: (v, r) => `
<ul class="list-unstyled mb-0 text-nowrap">
<li><i class="fa fa-user me-1 text-muted"></i><strong>${r?.order?.nama_pemesan ?? '-'}</strong></li>
<li><i class="fa fa-tag me-1 text-muted"></i>${r?.order?.jenis_customer ?? '-'}</li>
${r?.order?.nama_institusi ? `
<li><i class="fa fa-tag me-1 text-muted"></i> ${r?.order?.nama_institusi + '(' + r?.order?.jenis_customer +')'}</li>
` : `<li><i class="fa fa-tag me-1 text-muted"></i> ${r?.order?.jenis_customer ?? '-'}</li>`}
</ul>`
},
{ title: "Tgl Antar", field: 'tgl_antar' },

View File

@ -160,9 +160,12 @@
},
sortable: true,
},
{
title: "Kategori Customer",
field: 'jenis_customer',
formatter: function(value, row){
return row?.nama_institusi ? row?.nama_institusi + ' (MCU)': row?.jenis_customer;
},
sortable: true,
},
{

View File

@ -63,7 +63,9 @@
},
{
title: "Kategori Customer",
field: 'jenis_customer',
formatter: function(value, row){
return row?.nama_institusi ? row?.nama_institusi + ' (MCU)': row?.jenis_customer;
},
sortable: true,
},
{

View File

@ -86,21 +86,42 @@
<div class="order">No Order : {{ $label?->order?->no_order ?? 'xxxxxx' }}</div>
<table class="info">
<tr><td>Nama Pemesan {{ $label?->order?->jenis_customer === "Keluarga Pasien / Penunggu Pasien" ? '/ Pasien' : ''}}</td><td>: {{ $label?->order?->nama_pemesan }} {{ $label?->order?->jenis_customer === "Keluarga Pasien / Penunggu Pasien" ? '/ ' . $label?->order?->nama_pasien : ''}}</td></tr>
<tr>
<td>{{ $label->order?->jenis_customer !== 'MCU' ? 'Nama Pemesan' : 'Nama Pasien'}} {{ $label?->order?->jenis_customer === "Keluarga Pasien / Penunggu Pasien" ? '/ Pasien' : ''}}</td>
<td>: {{ $label?->order?->nama_pemesan }} {{ $label?->order?->jenis_customer === "Keluarga Pasien / Penunggu Pasien" ? '/ ' . $label?->order?->nama_pasien : ''}}</td>
</tr>
@if($label?->order?->jenis_customer === "Keluarga Pasien / Penunggu Pasien")
<tr><td>Ruang Perawatan/No Kamar</td><td>: {{ $label?->order?->kelas_perawatan ?? '-'}} / {{ $label?->order?->no_kamar_perawatan ?? '-'}} </td></tr>
@elseif($label?->order?->jenis_customer === "Karyawan RSAB Harapan Kita")
<tr><td>Bagian/No Ekstensien </td><td>: {{ $label?->order?->bagian_instalasi ?? '-'}} / {{ $label?->order?->no_ekstensien ?? '-'}} </td></tr>
@endif
<tr><td>Pesanan</td>
@if ($label?->order?->nama_institusi)
<tr>
<td style="vertical-align: top;">Nama Institusi</td>
<td><span style="vertical-align: top;">:</span>
<span style="max-width: 54mm; word-wrap: break-word; white-space: normal; display: inline-block; vertical-align: top;">
{{ $label?->order?->nama_institusi }}
</span>
</td>
</tr>
@endif
<tr>
<td> {{ $label->order?->jenis_customer !== 'MCU' ? 'Pesanan' : 'Jenis MCU'}}</td>
<td>
<span style="vertical-align: top;">:</span>
<span style="max-width: 54mm; word-wrap: break-word; white-space: normal; display: inline-block; vertical-align: top;">
{{ $label?->masterMcu?->nama_mcu ?? $label?->menu?->nama_menu }}
</span>
</td></tr>
<tr><td>Total Kalori</td><td>: {{ isset($label->total_kalori) ? $label->total_kalori . ' kal' : '-' }}</td></tr>
</td>
</tr>
@if($label->total_kalori)
<tr><td>Total Kalori</td><td>: {{ $label->total_kalori }}</td></tr>
@endif
@if($label->order?->jenis_customer !== 'MCU')
<tr><td>Harga Satuan</td><td>: Rp {{ number_format($label?->harga_satuan, 0, ',', '.') }}</td></tr>
@endif
<tr><td>Tanggal Produksi</td><td>: {{ $label?->tgl_antar ? \Carbon\Carbon::parse($label->tgl_antar)->translatedFormat('d F Y') : '-' }} </td></tr>
<tr><td>No. Telp</td><td>: {{ $label?->order?->no_wa ?? '-' }}</td></tr>
@if ($label?->order?->alamat)

View File

@ -125,7 +125,7 @@
<td>{{ $order->no_order }}</td>
<td>{{ $order->status_order . ' ('. $order->cara_pembayaran .')' }}</td>
<td>{{ $order->nama_pemesan }}</td>
<td>{{ $order->jenis_customer }}</td>
<td>{{ $order->jenis_customer === "MCU" ? $order->nama_institusi . ' - ' . $order->jenis_customer : $order->jenis_customer }}</td>
<td>Rp {{ number_format($order->total_harga, 0, '.', '.') }}</td>
</tr>
@php

View File

@ -129,7 +129,7 @@
@if ($i === 0)
{{ $order->nama_pemesan }}
@if ($order->jenis_customer)
<br><small>({{ $order->jenis_customer }})</small>
<br><small>({{ $order->jenis_customer === "MCU" ? $order->nama_institusi . '-' . $order->jenis_customer : $order->jenis_customer }})</small>
@endif
@endif
</td>

View File

@ -139,7 +139,7 @@
<td>
{{ $row['order']['nama_pemesan'] ?? '-' }}
@if (!empty($row['order']['jenis_customer']))
<br><small>({{ $row['order']['jenis_customer'] }})</small>
<br><small>({{ $row['order']['jenis_customer'] === "MCU" ? $row['order']['nama_institusi'] . '- ' . $row['order']['jenis_customer'] : $row['order']['jenis_customer']}})</small>
@endif
</td>
<td>{{ $row['status_order'] ?? '-' }}</td>

View File

@ -130,7 +130,7 @@
@if ($i === 0)
{{ $order->nama_pemesan }}
@if ($order->jenis_customer)
<br><small>({{ $order->jenis_customer }})</small>
<br><small>({{ $order->jenis_customer === "MCU" ? $order->nama_institusi .'- MCU' : $order->jenis_customer }})</small>
@endif
@endif
</td>

View File

@ -13,8 +13,12 @@
<nav id="navmenu" class="navmenu">
{{-- <i class="mobile-nav-toggle d-xl-none bi bi-list"></i> --}}
<div class="d-flex align-items-center gap-2">
<!-- Tombol No Order -->
<button type="button" class="btn btn-outline-success position-relative me-2" onclick="checkOrderHref()">
@if(!$mcu)
<button type="button" class="btn btn-success position-relative " style="font-size:14px;" onclick="mcu()">
MCU
</button>
@endif
<button type="button" class="btn btn-outline-success position-relative me-1 d-flex" style="font-size:14px;" onclick="checkOrderHref()">
Check Order
</button>

View File

@ -44,6 +44,10 @@
<option value="Laki-laki">Laki-laki</option>
<option value="Perempuan">Perempuan</option>
</select>
</div>
<div class="mb-3">
<label class="form-label fw-semibold">Nama Institusi<span class="text-danger">*</span></label>
<input type="text" class="form-control rounded-3" name="nama_institusi" placeholder="Masukkan nama institusi lengkap" required>
</div>
<div class="mb-3">
<label class="form-label fw-semibold">NO.Medical Record<span class="text-danger">*</span></label>

View File

@ -9,7 +9,7 @@
<h3 class="text-success mb-3">Pesanan Anda Berhasil!</h3>
<p class="lead">Terima kasih atas pesanan Anda. Kami akan segera menyiapkannya dan menghubungi Anda jika diperlukan.</p>
<hr class="my-4">
<p class="text-muted">Silakan cek status pesanan secara berkala atau hubungi kami jika ada pertanyaan.</p>
<p class="text-muted">Simpan Nomor Order Anda untuk memantau status pesanan secara berkala. Hubungi kami jika ada pertanyaan.</p>
<p>No Order : <strong>{{ $no_order }}</strong>
<button class="btn btn-sm btn-outline-secondary ms-2" onclick="copyNoOrder()">
<i class="fa fa-copy"></i> Salin