Compare commits

..

No commits in common. "3ba9b200b57362dd458b8417c64d1d2ceaa8be7a" and "9692e0140056eb448ae3938666cc003ab5bc3e75" have entirely different histories.

3 changed files with 16 additions and 23 deletions

View File

@ -39,7 +39,7 @@ class TransaksiController extends Controller
if ($search) { if ($search) {
$query->where(function ($q) use ($search) { $query->where(function ($q) use ($search) {
$q->where('kode_transaksi', 'like', '%' . $search . '%') $q->where('kode_transaksi', 'like', '%' . $search . '%')
->orWhere('nama_pembeli', 'like', '%' . $search . '%'); ->orWhere('nama_pembeli', 'like', '%' . $search . '%');
}); });
} }
@ -51,7 +51,7 @@ class TransaksiController extends Controller
$transaksi->total_items = $transaksi->itemTransaksi->count(); $transaksi->total_items = $transaksi->itemTransaksi->count();
$transaksi->tanggal = $transaksi->created_at->format('d/m/Y H:i'); $transaksi->tanggal = $transaksi->created_at->format('d/m/Y H:i');
$transaksi->pendapatan = $transaksi->total_harga ?? 0; $transaksi->pendapatan = $transaksi->total_harga ?? 0;
return $transaksi; return $transaksi;
}); });
@ -72,8 +72,8 @@ class TransaksiController extends Controller
public function show($id) public function show($id)
{ {
$transaksi = Transaksi::with([ $transaksi = Transaksi::with([
'kasir', 'kasir',
'sales', 'sales',
'itemTransaksi.produk', 'itemTransaksi.produk',
'itemTransaksi' => function ($query) { 'itemTransaksi' => function ($query) {
$query->orderBy('created_at', 'asc'); $query->orderBy('created_at', 'asc');
@ -125,20 +125,13 @@ class TransaksiController extends Controller
]); ]);
foreach ($request->items as $it) { foreach ($request->items as $it) {
$query = Item::with(['produk.foto', 'nampan']); // TODO: ubah saat transaksi pake kode_item
// $item = Item::where('kode_item', $it['kode_item'])->first();
// if (!$item) {
// throw new \Exception("Item dengan kode_item {$it['kode_item']} tidak ditemukan.");
// }
$item = Item::where('id',$it['kode_item'])->with('produk')->first();
if (is_numeric($it['kode_item'])) {
$item = $query->where('id', (int)$it['kode_item'])->first();
} else {
$item = $query->where('kode_item', $it['kode_item'])->first();
}
if (!$item) {
return response()->json(['message' => 'Item tidak ditemukan'], 404);
}
if (!$item) {
throw new \Exception("Item dengan kode_item {$it['kode_item']} tidak ditemukan.");
}
ItemTransaksi::create([ ItemTransaksi::create([
'id_transaksi' => $transaksi->id, 'id_transaksi' => $transaksi->id,
'id_produk' => $item->produk->id, 'id_produk' => $item->produk->id,

View File

@ -31,9 +31,9 @@
<!-- Input Harga Jual --> <!-- Input Harga Jual -->
<div> <div>
<label class="block text-sm font-medium text-D">Harga Jual</label> <label class="block text-sm font-medium text-D">Harga Jual</label>
<input <input
type="text" type="text"
v-model="hargaJualFormatted" v-model="hargaJualFormatted"
@input="formatHargaInput" @input="formatHargaInput"
@keypress="onlyNumbers" @keypress="onlyNumbers"
placeholder="Masukkan Harga Jual" placeholder="Masukkan Harga Jual"
@ -158,7 +158,7 @@ const formatHargaInput = (event) => {
const value = event.target.value; const value = event.target.value;
// Hapus semua karakter selain angka // Hapus semua karakter selain angka
const cleanValue = value.replace(/\D/g, ""); const cleanValue = value.replace(/\D/g, "");
if (cleanValue) { if (cleanValue) {
// Format dengan pemisah ribuan // Format dengan pemisah ribuan
const formatted = formatNumber(cleanValue); const formatted = formatNumber(cleanValue);
@ -284,7 +284,7 @@ const konfirmasiPenjualan = () => {
}, 5000); }, 5000);
return; return;
} }
console.log(pesanan.value)
// Tampilkan struk overlay // Tampilkan struk overlay
showStruk.value = true; showStruk.value = true;
}; };

View File

@ -355,7 +355,7 @@ const handleSimpan = () => {
} }
const simpanTransaksi = async (dataTransaksi) => { const simpanTransaksi = async (dataTransaksi) => {
// console.log('Data transaksi yang akan disimpan:', dataTransaksi); // console.log('Data transaksi yang akan disimpan:', dataTransaksi);
try { try {
const response = await axios.post('/api/transaksi', dataTransaksi, { const response = await axios.post('/api/transaksi', dataTransaksi, {