let pesanan = [];
let totalHarga = 0;
function pilihMenu(nama, harga) {
pesanan.push({ nama, harga });
totalHarga += harga;
updatePesanan();
}
function updatePesanan() {
let listPesanan = document.getElementById("pesanan-list");
let totalElement = document.getElementById("total-harga");
listPesanan.innerHTML = "";
pesanan.forEach((item, index) => {
let li = document.createElement("li");
li.className = "list-group-item";
li.innerHTML = `${item.nama} - Rp ${item.harga.toLocaleString()}
`;
listPesanan.appendChild(li);
});
totalElement.innerText = `Rp ${totalHarga.toLocaleString()}`;
}
function hapusPesanan(index) {
totalHarga -= pesanan[index].harga;
pesanan.splice(index, 1);
updatePesanan();
}
function bayar() {
let uangBayar = parseInt(document.getElementById("uang-bayar").value);
if (isNaN(uangBayar) || uangBayar < totalHarga) {
alert("Uang tidak cukup atau tidak valid!");
return;
}
let kembalian = uangBayar - totalHarga;
document.getElementById("kembalian").innerText = `Rp ${kembalian.toLocaleString()}`;
let laporan = `${new Date().toLocaleString()} | Total: Rp ${totalHarga.toLocaleString()} | Bayar: Rp ${uangBayar.toLocaleString()} | Kembalian: Rp ${kembalian.toLocaleString()}\n`;
// Simpan laporan ke localStorage
let laporanSebelumnya = localStorage.getItem("laporan") || "";
localStorage.setItem("laporan", laporanSebelumnya + laporan);
updateLaporan();
cetakStruk(laporan);
resetPesanan();
}
function updateLaporan() {
document.getElementById("laporan").value = localStorage.getItem("laporan") || "Belum ada transaksi.";
}
function resetLaporan() {
localStorage.removeItem("laporan");
updateLaporan();
alert("Laporan telah direset.");
}
function cetakStruk(teks) {
let strukWindow = window.open('', '', 'width=400,height=400');
strukWindow.document.write('
' + teks + '
');
strukWindow.document.close();
strukWindow.print();
}
function resetPesanan() {
pesanan = [];
totalHarga = 0;
updatePesanan();
document.getElementById("uang-bayar").value = "";
document.getElementById("kembalian").innerText = "Rp 0";
}
// Update laporan saat pertama kali dibuka
updateLaporan();