development #6
@ -338,11 +338,7 @@ function renderCartSummary() {
|
|||||||
|
|
||||||
<!-- Tanggal -->
|
<!-- Tanggal -->
|
||||||
<div class="col-12 col-md-2">
|
<div class="col-12 col-md-2">
|
||||||
<input type="text"
|
<input type="text" class="form-control form-control-sm tanggal-input" id="tanggal-${item.id}-${i}" readonly placeholder="Pilih Tanggal">
|
||||||
class="form-control form-control-sm tanggal-input"
|
|
||||||
id="${item?.apakah_someday ? `tgl_someday-${item.id}-${i}`: `tanggal-${item.id}-${i}`}"
|
|
||||||
readonly
|
|
||||||
placeholder="Pilih Tanggal">
|
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<!-- Karbohidrat -->
|
<!-- Karbohidrat -->
|
||||||
@ -398,7 +394,8 @@ function renderCartSummary() {
|
|||||||
<!-- Jumlah -->
|
<!-- Jumlah -->
|
||||||
<div class="col-6 col-md-2">
|
<div class="col-6 col-md-2">
|
||||||
<div class="d-flex align-items-center justify-content-between">
|
<div class="d-flex align-items-center justify-content-between">
|
||||||
<button class="btn btn-sm btn-outline-success" onclick="decrement(${item.id}, ${i})">
|
|
||||||
|
<button class="btn btn-sm btn-outline-success" onclick="decrement(${item.id}, ${i})" ${p.jumlah > 1 ? '' : 'disabled'}>
|
||||||
<i class="fa fa-minus"></i>
|
<i class="fa fa-minus"></i>
|
||||||
</button>
|
</button>
|
||||||
<input type="text" class="form-control form-control-sm text-center mx-2 jumlah-input"
|
<input type="text" class="form-control form-control-sm text-center mx-2 jumlah-input"
|
||||||
@ -473,10 +470,7 @@ function renderCartSummary() {
|
|||||||
`;
|
`;
|
||||||
|
|
||||||
container.insertAdjacentHTML('beforeend', itemHTML);
|
container.insertAdjacentHTML('beforeend', itemHTML);
|
||||||
pesananList.forEach((p, i) => {
|
pesananList.forEach((p, i) => initFlatpickrTersedia(item, i));
|
||||||
initFlatpickrTersedia(item, i);
|
|
||||||
});
|
|
||||||
|
|
||||||
});
|
});
|
||||||
|
|
||||||
container.insertAdjacentHTML('beforeend', `
|
container.insertAdjacentHTML('beforeend', `
|
||||||
@ -507,7 +501,7 @@ function onTanggalChange(itemId, index) {
|
|||||||
const input = document.querySelector(`div[data-item-id='${itemId}'][data-index='${index}'] .tanggal-input`);
|
const input = document.querySelector(`div[data-item-id='${itemId}'][data-index='${index}'] .tanggal-input`);
|
||||||
cart.find(item => item.id === itemId).pesanan[index].tgl = input.value;
|
cart.find(item => item.id === itemId).pesanan[index].tgl = input.value;
|
||||||
sessionStorage.setItem('cart', JSON.stringify(cart));
|
sessionStorage.setItem('cart', JSON.stringify(cart));
|
||||||
// renderCartSummary();
|
renderCartSummary();
|
||||||
}
|
}
|
||||||
|
|
||||||
function onKarbohidratChange(itemId, index, el, kalori){
|
function onKarbohidratChange(itemId, index, el, kalori){
|
||||||
@ -537,20 +531,11 @@ function onKategoriChange(itemId, index, isToday) {
|
|||||||
let jam = now.getHours();
|
let jam = now.getHours();
|
||||||
|
|
||||||
if (kategori === "Makan Siang" && isToday && jam >= 10) {
|
if (kategori === "Makan Siang" && isToday && jam >= 10) {
|
||||||
batasLewat = true;
|
|
||||||
alert("Pemesanan Makan Siang hanya bisa dilakukan sebelum jam 10:00.");
|
alert("Pemesanan Makan Siang hanya bisa dilakukan sebelum jam 10:00.");
|
||||||
} else if (kategori === "Makan Sore" && isToday && jam >= 15) {
|
} else if (kategori === "Makan Sore" && isToday && jam >= 13) {
|
||||||
batasLewat = true;
|
|
||||||
alert("Pemesanan Makan Sore hanya bisa dilakukan sebelum jam 13:00.");
|
alert("Pemesanan Makan Sore hanya bisa dilakukan sebelum jam 13:00.");
|
||||||
}
|
}
|
||||||
|
|
||||||
if (batasLewat) {
|
|
||||||
// Kembalikan ke value sebelumnya
|
|
||||||
const previous = selectEl.dataset.previousValue || '';
|
|
||||||
selectEl.value = previous;
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
const item = cart.find(item => item.id === itemId);
|
const item = cart.find(item => item.id === itemId);
|
||||||
if (item && item.pesanan && item.pesanan[index]) {
|
if (item && item.pesanan && item.pesanan[index]) {
|
||||||
item.pesanan[index].kategoriPemesanan = kategori;
|
item.pesanan[index].kategoriPemesanan = kategori;
|
||||||
@ -708,6 +693,7 @@ function validateCartBeforeSubmit() {
|
|||||||
cart.forEach((item, index) => {
|
cart.forEach((item, index) => {
|
||||||
const pesananList = item.pesanan || [];
|
const pesananList = item.pesanan || [];
|
||||||
pesananList.forEach((pesanan, i) => {
|
pesananList.forEach((pesanan, i) => {
|
||||||
|
console.log(!pesanan.karbohidrat_id, !item?.apakah_someday);
|
||||||
|
|
||||||
if (!pesanan.tgl) {
|
if (!pesanan.tgl) {
|
||||||
isValid = false;
|
isValid = false;
|
||||||
@ -745,45 +731,23 @@ function hitungTotalHarga(){
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
function copyNoRek() {
|
function copyNoRek() {
|
||||||
const text = document.getElementById('noRekText').innerText;
|
const text = document.getElementById('noRekText').innerText;
|
||||||
navigator.clipboard.writeText(text).then(() => {
|
navigator.clipboard.writeText(text).then(() => {
|
||||||
Swal.fire({
|
alert("Nomor rekening berhasil disalin: " + text);
|
||||||
icon: 'success',
|
}).catch(err => {
|
||||||
title: 'Disalin!',
|
console.error('Gagal menyalin: ', err);
|
||||||
text: 'Nomor rekening berhasil disalin: ' + text,
|
alert("Gagal menyalin teks.");
|
||||||
showConfirmButton: false,
|
});
|
||||||
timer: 1500
|
}
|
||||||
});
|
|
||||||
}).catch(err => {
|
|
||||||
console.error('Gagal menyalin: ', err);
|
|
||||||
Swal.fire({
|
|
||||||
icon: 'warning',
|
|
||||||
text: 'Gagal menyalin teks: ' + text,
|
|
||||||
showConfirmButton: false,
|
|
||||||
timer: 2000
|
|
||||||
});
|
|
||||||
});
|
|
||||||
}
|
|
||||||
|
|
||||||
function copyNoOrder() {
|
function copyNoOrder() {
|
||||||
const text = document.getElementById('no_order_display').innerText;
|
const text = document.getElementById('no_order_display').innerText;
|
||||||
navigator.clipboard.writeText(text).then(() => {
|
navigator.clipboard.writeText(text).then(() => {
|
||||||
Swal.fire({
|
alert("Nomor order berhasil disalin: " + text);
|
||||||
icon: 'success',
|
|
||||||
title: 'Disalin!',
|
|
||||||
text: 'Nomor order berhasil disalin: ' + text,
|
|
||||||
showConfirmButton: false,
|
|
||||||
timer: 1500
|
|
||||||
});
|
|
||||||
}).catch(err => {
|
}).catch(err => {
|
||||||
console.error('Gagal menyalin: ', err);
|
console.error('Gagal menyalin: ', err);
|
||||||
Swal.fire({
|
alert("Gagal menyalin teks.");
|
||||||
icon: 'warning',
|
|
||||||
text: 'Gagal menyalin teks: ' + text,
|
|
||||||
showConfirmButton: false,
|
|
||||||
timer: 2000
|
|
||||||
});
|
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -846,26 +810,16 @@ function initFlatpickrTersedia(item, i) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
const id = item?.apakah_someday
|
flatpickr(`#tanggal-${item.id}-${i}`, {
|
||||||
? `#tgl_someday-${item.id}-${i}`
|
dateFormat: "Y-m-d",
|
||||||
: `#tanggal-${item.id}-${i}`;
|
...(item?.apakah_someday ? {minDate: minTanggal} : {enable:availableDates}),
|
||||||
|
defaultDate: item.pesanan[i]?.tgl || null,
|
||||||
|
disableMobile: true,
|
||||||
|
onChange: function(selectedDates, dateStr) {
|
||||||
|
onTanggalChange(item.id, i, dateStr);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
const config = item?.apakah_someday
|
|
||||||
? {
|
|
||||||
disableMobile: true,
|
|
||||||
minDate: minTanggal,
|
|
||||||
onChange: (selectedDates, dateStr) =>
|
|
||||||
onTanggalChange(item.id, i, dateStr)
|
|
||||||
}
|
|
||||||
: {
|
|
||||||
dateFormat: "Y-m-d",
|
|
||||||
enable: availableDates,
|
|
||||||
defaultDate: item.pesanan[i]?.tgl || null,
|
|
||||||
onChange: (selectedDates, dateStr) =>
|
|
||||||
onTanggalChange(item.id, i, dateStr)
|
|
||||||
};
|
|
||||||
|
|
||||||
flatpickr(id, config);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
function increment(itemId, index) {
|
function increment(itemId, index) {
|
||||||
@ -877,6 +831,7 @@ function increment(itemId, index) {
|
|||||||
function decrement(itemId, index) {
|
function decrement(itemId, index) {
|
||||||
const input = document.getElementById(`jumlah-${itemId}-${index}`);
|
const input = document.getElementById(`jumlah-${itemId}-${index}`);
|
||||||
let current = parseInt(input.value || "0");
|
let current = parseInt(input.value || "0");
|
||||||
|
console.log(current);
|
||||||
|
|
||||||
if (current > 1) {
|
if (current > 1) {
|
||||||
input.value = current - 1;
|
input.value = current - 1;
|
||||||
@ -952,6 +907,7 @@ document.getElementById('submitNote').addEventListener('click', function(e){
|
|||||||
const noted = $("#note_order").val()
|
const noted = $("#note_order").val()
|
||||||
const cart = JSON.parse(sessionStorage.getItem('cart') || '[]');
|
const cart = JSON.parse(sessionStorage.getItem('cart') || '[]');
|
||||||
const item =cart.find(item => item.id === id)
|
const item =cart.find(item => item.id === id)
|
||||||
|
console.log(id, index, item);
|
||||||
|
|
||||||
if(item && item.pesanan && item.pesanan[index]){
|
if(item && item.pesanan && item.pesanan[index]){
|
||||||
item.pesanan[index].catatan = noted
|
item.pesanan[index].catatan = noted
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user