From 50b9bb341c138821e7b3c3651a3542597bc04c41 Mon Sep 17 00:00:00 2001
From: mikhailkusuma <whatxwrong@gmail.com>
Date: Wed, 24 Jan 2024 18:49:08 +0700
Subject: [PATCH] solve error: delete menu

---
 resources/views/pages/Kasir/js.blade.php | 70 +++++++++++++-----------
 1 file changed, 39 insertions(+), 31 deletions(-)

diff --git a/resources/views/pages/Kasir/js.blade.php b/resources/views/pages/Kasir/js.blade.php
index 8fc6b55..3e44fec 100644
--- a/resources/views/pages/Kasir/js.blade.php
+++ b/resources/views/pages/Kasir/js.blade.php
@@ -110,13 +110,15 @@
                 minute: 'numeric',
                 second: 'numeric'
             };
-
+            
             // tampilkan pada id datetime-order
             document.getElementById('datetime-order').innerHTML = utc.toLocaleDateString("id-ID", options);
         }
-
+        
+        // show time every second
         setInterval(showTime, 1000);
 
+        let globalId = 0;
         //  make function add menu to table and calculate qty and total price menu ordered and check menu ordered is exist or not in tbody table order-menus insert this in
         function aadMenu(params, menuPaket = false) {
             var paketFreenya = [];
@@ -124,11 +126,11 @@
             if (menuPaket == true) {
                 for (let index = 0; index < itemFree.length; index++) {
                     // const element = itemFree[index];
-                    console.log(itemFree[index].nama_produk);
+                    // console.log(itemFree[index].nama_produk);
                     paketFreenya.push(itemFree[index].nama_produk);
                     idPaketFreenya.push(itemFree[index].id);
                 }
-                console.log(itemFree);
+                // console.log(itemFree);
             }
 
             var table = document.getElementById("order-menus");
@@ -185,7 +187,7 @@
                         <br>
                         ${(diskonSatuan > 0) ? '<small class="text-primary"><s>Rp. ' + (harga * qty) + '</s></small> | <small class="text-danger">Rp. ' + total + '</small>' : '<small class="text-primary">Rp. ' + totalLama + '</small>'}
                         <div class="input-group input-group-sm mt-1">
-                            <input type="text" name="keterangan_satuan" class="form-control rounded-0" placeholder="Keterangan.." value='${paketFreenyaini}'>
+                            <input type="text" name="keterangan_satuan" data-keterangan="" class="form-control rounded-0" placeholder="Keterangan.." value='${paketFreenyaini}'>
                         </div>
                     </td>
                     `;
@@ -196,7 +198,7 @@
                     <br>
                     ${(diskonSatuan > 0) ? '<small class="text-primary"><s>Rp. ' + (harga * qty) + '</s></small> | <small class="text-danger">Rp. ' + total + '</small>' : '<small class="text-primary">Rp. ' + totalLama + '</small>'}
                     <div class="input-group input-group-sm mt-1">
-                        <input type="text" name="keterangan_satuan" class="form-control rounded-0" placeholder="Keterangan..">
+                        <input type="text" name="keterangan_satuan" data-keterangan="" class="form-control rounded-0" placeholder="Keterangan..">
                     </div>
                 </td>
                 `;
@@ -206,11 +208,11 @@
                 <td class="text-center">
                     <div class="input-group input-group-sm">
                         <span class="input-group-append">
-                            <button type="button" class="btn btn-default btn-xs btn-flat" onclick="decrementMenu(${params.id}, '${params.nama_produk}')"><b>-</b></button>
+                            <button type="button" class="btn btn-default btn-xs btn-flat tai" onclick="decrementMenu(${globalId}, '${params.nama_produk}')"><b>-</b></button>
                         </span>
                         <input type="text" name="bayar" class="form-control rounded-0" readonly value="${qty}">
                         <span class="input-group-append">
-                            <button type="button" class="btn btn-default btn-xs btn-flat" onclick="incrementMenu(${params.id}, '${params.nama_produk}')">+</button>
+                            <button type="button" class="btn btn-default btn-xs btn-flat" onclick="incrementMenu(${globalId}, '${params.nama_produk}')">+</button>
                         </span>
                     </div>
                 </td>
@@ -218,13 +220,13 @@
                 table.rows[index].cells[2].innerHTML = `
                 <td class="text-center">
                     <div class="input-group input-group-sm">
-                        <input type="number" name="diskon_satuan" oninput="inputNum(this)" class="form-control rounded-0" value="${diskonSatuan}" onkeyup="diskonSatuanMenu(${params.id}, '${params.nama_produk}', this.value)">
+                        <input type="number" name="diskon_satuan" oninput="inputNum(this)" class="form-control rounded-0" value="${diskonSatuan}" onkeyup="diskonSatuanMenu(${globalId}, '${params.nama_produk}', this.value)">
                     </div>
                 </td>
                 `;
                 table.rows[index].cells[3].innerHTML = `
                 <td class="text-center">
-                    <button class="btn btn-danger btn-sm" onclick="deleteMenu(${params.id})">
+                    <button class="btn btn-danger btn-sm" onclick="deleteMenu(${globalId})">
                         <i class="fas fa-trash"></i>
                     </button>
                 </td>
@@ -232,6 +234,8 @@
                 calculateTotal();
                 $('#modal-default').modal('hide');
             } else {
+                globalId++;
+                console.log(globalId);
                 if (paketFreenya.length != 0) {
                     if (paketFreenya.length == 3) {
                         paketFreenyaini = 'FREEALL';
@@ -239,33 +243,33 @@
                         paketFreenyaini = paketFreenya.join(', ');
                     }
                     $('#tbody-order-menus').append(`
-                <tr id="row-${params.id}" data-id="${params.id}" data-nama="${params.nama_produk}" data-harga="${params.harga_produk}" data-qty="1" data-diskon-satuan="0" data-total="${params.harga_produk}">
+                <tr id="row-${params.id}" data-id="${params.id}" data-row-id="${globalId}" data-nama="${params.nama_produk}" data-harga="${params.harga_produk}" data-qty="1" data-diskon-satuan="0" data-total="${params.harga_produk}">
                     <td>
                         ${params.nama_produk}
                         <br>
                         <small class="text-primary">Rp. ${params.harga_produk}</small>
                         <div class="input-group input-group-sm mt-1">
-                            <input type="text" name="keterangan_satuan" class="form-control rounded-0" placeholder="Keterangan.." value="${paketFreenyaini}">
+                            <input type="text" name="keterangan_satuan" class="form-control rounded-0" data-keterangan="${paketFreenyaini}" placeholder="Keterangan.." value="${paketFreenyaini}">
                         </div>
                     </td>
                     <td class="text-center">
                         <div class="input-group input-group-sm">
                             <span class="input-group-append">
-                                <button type="button" class="btn btn-default btn-xs btn-flat" onclick="decrementMenu(${params.id}, '${params.nama_produk}')"><b>-</b></button>
+                                <button type="button" class="btn btn-default btn-xs btn-flat" onclick="decrementMenu(${globalId}, '${params.nama_produk}')"><b>-</b></button>
                             </span>
                             <input type="text" name="bayar" class="form-control rounded-0" readonly value="${menuQty}">
                             <span class="input-group-append">
-                                <button type="button" class="btn btn-default btn-xs btn-flat" onclick="incrementMenu(${params.id}, '${params.nama_produk}')">+</button>
+                                <button type="button" class="btn btn-default btn-xs btn-flat" onclick="incrementMenu(${globalId}, '${params.nama_produk}')">+</button>
                             </span>
                         </div>
                     </td>
                     <td class="text-center">
                         <div class="input-group input-group-sm">
-                            <input type="number" name="diskon_satuan" oninput="inputNum(this)" class="form-control rounded-0" value="0" onkeyup="diskonSatuanMenu(${params.id}, '${params.nama_produk}', this.value)">
+                            <input type="number" name="diskon_satuan" oninput="inputNum(this)" class="form-control rounded-0" value="0" onkeyup="diskonSatuanMenu(${globalId}, '${params.nama_produk}', this.value)">
                         </div>
                     </td>
                     <td class="text-center">
-                        <button class="btn btn-danger btn-sm" onclick="deleteMenu(${params.id})">
+                        <button class="btn btn-danger btn-sm" onclick="deleteMenu(${globalId})">
                             <i class="fas fa-trash"></i>
                         </button>
                     </td>
@@ -273,33 +277,33 @@
             `);
                 } else {
                     $('#tbody-order-menus').append(`
-                <tr id="row-${params.id}" data-id="${params.id}" data-nama="${params.nama_produk}" data-harga="${params.harga_produk}" data-qty="1" data-diskon-satuan="0" data-total="${params.harga_produk}">
+                <tr id="row-${params.id}" data-id="${params.id}" data-row-id="${globalId}" data-nama="${params.nama_produk}" data-harga="${params.harga_produk}" data-qty="1" data-diskon-satuan="0" data-total="${params.harga_produk}">
                     <td>
                         ${params.nama_produk}
                         <br>
                         <small class="text-primary">Rp. ${params.harga_produk}</small>
                         <div class="input-group input-group-sm mt-1">
-                            <input type="text" name="keterangan_satuan" class="form-control rounded-0" placeholder="Keterangan..">
+                            <input type="text" name="keterangan_satuan" data-keterangan="" class="form-control rounded-0" placeholder="Keterangan..">
                         </div>
                     </td>
                     <td class="text-center">
                         <div class="input-group input-group-sm">
                             <span class="input-group-append">
-                                <button type="button" class="btn btn-default btn-xs btn-flat" onclick="decrementMenu(${params.id}, '${params.nama_produk}')"><b>-</b></button>
+                                <button type="button" class="btn btn-default btn-xs btn-flat" onclick="decrementMenu(${globalId}, '${params.nama_produk}')"><b>-</b></button>
                             </span>
                             <input type="text" name="bayar" class="form-control rounded-0" readonly value="${menuQty}">
                             <span class="input-group-append">
-                                <button type="button" class="btn btn-default btn-xs btn-flat" onclick="incrementMenu(${params.id}, '${params.nama_produk}')">+</button>
+                                <button type="button" class="btn btn-default btn-xs btn-flat" onclick="incrementMenu(${globalId}, '${params.nama_produk}')">+</button>
                             </span>
                         </div>
                     </td>
                     <td class="text-center">
                         <div class="input-group input-group-sm">
-                            <input type="number" name="diskon_satuan" oninput="inputNum(this)" class="form-control rounded-0" value="0" onkeyup="diskonSatuanMenu(${params.id}, '${params.nama_produk}', this.value)">
+                            <input type="number" name="diskon_satuan" oninput="inputNum(this)" class="form-control rounded-0" value="0" onkeyup="diskonSatuanMenu(${globalId}, '${params.nama_produk}', this.value)">
                         </div>
                     </td>
                     <td class="text-center">
-                        <button class="btn btn-danger btn-sm" onclick="deleteMenu(${params.id})">
+                        <button class="btn btn-danger btn-sm" onclick="deleteMenu(${globalId})">
                             <i class="fas fa-trash"></i>
                         </button>
                     </td>
@@ -314,11 +318,12 @@
 
         //  delete menu from table and calculate qty and total price menu ordered
         function deleteMenu(params) {
+            console.log(params);
             var table = document.getElementById("order-menus");
             var index = 0;
 
             for (var i = 1, row; row = table.rows[i]; i++) {
-                var id = row.getAttribute('data-id');
+                var id = row.getAttribute('data-row-id');
 
                 if (id == params) {
                     index = i;
@@ -358,11 +363,12 @@
 
         //  increment qty menu ordered
         function incrementMenu(params, nama_produk) {
+            console.log(params);
             var table = document.getElementById("order-menus");
             var index = 0;
 
             for (var i = 1, row; row = table.rows[i]; i++) {
-                var id = row.getAttribute('data-id');
+                var id = row.getAttribute('data-row-id');
 
                 if (id == params) {
                     index = i;
@@ -373,6 +379,7 @@
             var diskonSatuan = table.rows[index].getAttribute('data-diskon-satuan');
             var total = table.rows[index].getAttribute('data-total');
             var harga = table.rows[index].getAttribute('data-harga');
+            var valueKeterangan = table.rows[index].cells[0].getElementsByTagName('input')[0].getAttribute('data-keterangan');
 
             qty = parseInt(qty) + 1;
             var totalLama = parseInt(total) + parseInt(harga);
@@ -389,7 +396,7 @@
                 <br>
                 ${(diskonSatuan > 0) ? '<small class="text-primary"><s>Rp. ' + (harga * qty) + '</s></small> | <small class="text-danger">Rp. ' + total + '</small>' : '<small class="text-primary">Rp. ' + totalLama + '</small>'}
                 <div class="input-group input-group-sm mt-1">
-                    <input type="text" name="keterangan_satuan" class="form-control rounded-0" placeholder="Keterangan..">
+                    <input type="text" name="keterangan_satuan" data-keterangan="${valueKeterangan}" value="${valueKeterangan}" class="form-control rounded-0" placeholder="Keterangan..">
                 </div>
             </td>
         `;
@@ -417,7 +424,7 @@
             var index = 0;
 
             for (var i = 1, row; row = table.rows[i]; i++) {
-                var id = row.getAttribute('data-id');
+                var id = row.getAttribute('data-row-id');
 
                 if (id == params) {
                     index = i;
@@ -428,6 +435,7 @@
             var diskonSatuan = table.rows[index].getAttribute('data-diskon-satuan');
             var total = table.rows[index].getAttribute('data-total');
             var harga = table.rows[index].getAttribute('data-harga');
+            var valueKeterangan = table.rows[index].cells[0].getElementsByTagName('input')[0].getAttribute('data-keterangan');
 
             if (qty > 1) {
                 qty = parseInt(qty) - 1;
@@ -445,7 +453,7 @@
                     <br>
                     ${(diskonSatuan > 0) ? '<small class="text-primary"><s>Rp. ' + (harga * qty) + '</s></small> | <small class="text-danger">Rp. ' + total + '</small>' : '<small class="text-primary">Rp. ' + totalLama + '</small>'}
                     <div class="input-group input-group-sm mt-1">
-                        <input type="text" name="keterangan_satuan" class="form-control rounded-0" placeholder="Keterangan..">
+                        <input type="text" name="keterangan_satuan" data-keterangan="${valueKeterangan}" value="${valueKeterangan}" class="form-control rounded-0" placeholder="Keterangan..">
                     </div>
                 </td>
             `;
@@ -474,7 +482,7 @@
             var index = 0;
 
             for (var i = 1, row; row = table.rows[i]; i++) {
-                var id = row.getAttribute('data-id');
+                var id = row.getAttribute('data-row-id');
 
                 if (id == params) {
                     index = i;
@@ -485,7 +493,7 @@
             var diskonSatuan = parseInt(diskon);
             var total = table.rows[index].getAttribute('data-total');
             var harga = table.rows[index].getAttribute('data-harga');
-
+            var valueKeterangan = table.rows[index].cells[0].getElementsByTagName('input')[0].getAttribute('data-keterangan');
 
             // if (diskonSatuan >= 1) {
             // console.log(diskonSatuan);
@@ -504,7 +512,7 @@
                     <br>
                     ${(diskonSatuan >= 1) ? '<small class="text-primary"><s>Rp. ' + (harga * qty) + '</s></small> | <small class="text-danger">Rp. ' + total + '</small>' : '<small class="text-primary">Rp. ' + totalLama + '</small>'}
                     <div class="input-group input-group-sm mt-1">
-                        <input type="text" name="keterangan_satuan" class="form-control rounded-0" placeholder="Keterangan..">
+                        <input type="text" name="keterangan_satuan" data-keterangan="${valueKeterangan}" value="${valueKeterangan}" class="form-control rounded-0" placeholder="Keterangan..">
                     </div>
                 </td>
             `;
@@ -894,7 +902,7 @@
 
         // clear selected menus
         function clearSelected() {
-            // console.log(selectedMenus);
+            console.log('batal');
             for (var i = 0; i < selectedMenus.length; i++) {
                 changeOrderedMenus(selectedMenus[i].id, 'batal');
                 menu_terpilih.innerHTML = ` `;