Advertisement
Guest User

Untitled

a guest
Dec 7th, 2019
170
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 5.84 KB | None | 0 0
  1. <?php
  2. $sql = "SELECT *
  3. FROM bahan a, kategori_bahan b, satuan c
  4. WHERE a.id_kategori_bahan=b.id_kategori_bahan AND a.id_satuan = c.id_satuan
  5. ORDER BY nm_bahan ASC";
  6. $result = mysqli_query($koneksi, $sql);
  7. ?>
  8.  
  9. <table class="table-bordered table item" id="t1">
  10. <thead>
  11. <tr>
  12. <th width="35%" class="text-center">Nama Barang</th>
  13. <th width="19%" class="text-center">Harga</th>
  14. <th width="12%" class="text-center">Qty</th>
  15. <th width="14%" class="text-center">Satuan</th>
  16. <th width="20%" class="text-center">Total Harga</th>
  17. <th><button type="button" class="btn btn-success btn-sm addRow">+</button></th>
  18. </tr>
  19. </thead>
  20. <tbody>
  21. <tr class="item">
  22. <td>
  23. <select onchange="changeValue(this)" class="selectReason" id="reason" name="reasontxt[]" required>
  24. <option value="" selected="" disabled="">-- Silahkan Pilih --</option>
  25. <optgroup label="Nama Bahan Baku">
  26. <?php
  27. while ($row = mysqli_fetch_array($result)) {
  28. echo '<option value="' . $row['nm_bahan'] . '">' . $row['nm_bahan'] . '</option>';
  29. }
  30. ?>
  31. </optgroup>
  32. </select>
  33. </td>
  34.  
  35. <td>
  36. <input type="text" name="harga[]" placeholder="Harga" class="harga form-control price amount" onkeypress="return hanyaAngka(event)" autocomplete="off" required />
  37. </td>
  38. <td>
  39. <input type="text" name="qty[]" placeholder="Qty" class="form-control qnty amount" value="0" onkeypress="return hanyaAngka(event)" autocomplete="off" required />
  40. </td>
  41. <td>
  42. <input type="text" name="satuan[]" placeholder="Satuan" class="satuan form-control" onkeypress="return hanyaAngka(event)" readonly>
  43. </td>
  44. <td>
  45. <input type="text" name="harga_total[]" placeholder="Total Harga" class="form-control totalharga" onkeypress="return hanyaAngka(event)" autocomplete="off" readonly />
  46. </td>
  47. </tr>
  48. </tbody>
  49. </table>
  50.  
  51. <script type="text/javascript">
  52.  
  53. <?php
  54. $jsArray = "var prdName = new Array();\n";
  55.  
  56. mysqli_data_seek($result, 0);
  57.  
  58. while ($row = mysqli_fetch_array($result)) {
  59. $jsArray .= "prdName['" . $row['nm_bahan'] . "'] = {id_satuan:'" . addslashes($row['nm_satuan']) . "', harga:'".addslashes($row['harga'])."'};\n";
  60. }
  61.  
  62. echo $jsArray;
  63. ?>
  64.  
  65. function changeValue(selection){
  66. var id = selection.value;
  67. var row = $(selection).closest(".item");
  68.  
  69. row.find(".harga").value = prdName[id].harga;
  70. row.find(".satuan").value = prdName[id].id_satuan;
  71. }
  72.  
  73. function calcAll() {
  74.  
  75. $(".item").each(function () {
  76. var qnty = 0;
  77. var price = 0;
  78. var totalharga = 0;
  79. var diskon = 0;
  80. var uangmuka = 0;
  81.  
  82. if (!isNaN(parseInt($(this).find(".qnty").val()))) {
  83. qnty = parseInt($(this).find(".qnty").val());
  84. }
  85. if (!isNaN(parseInt($(this).find(".price").val()))) {
  86. price = parseInt($(this).find(".price").val());
  87. }
  88. if (!isNaN(parseInt($(this).find(".uangmuka").val()))) {
  89. uangmuka = parseInt($(this).find(".uangmuka").val());
  90. }
  91. if (!isNaN(parseInt($(this).find(".diskon").val()))) {
  92. diskon = parseInt($(this).find(".diskon").val());
  93. }
  94.  
  95.  
  96. totalharga = qnty * price;
  97. $(this).find(".totalharga").val(totalharga.toFixed());
  98. });
  99.  
  100. var sum = 0;
  101. $(".totalharga").each(function () {
  102. if (!isNaN(this.value) && this.value.length != 0) {
  103. sum += parseInt(this.value);
  104. }
  105. });
  106. $("#subtotal").val(sum.toFixed());
  107.  
  108.  
  109. var diskon = 0;
  110. if (!isNaN(parseInt($("#diskon").val()))) {
  111. diskon = parseInt($("#diskon").val());
  112. }
  113.  
  114.  
  115. var total = 0;
  116. if (!isNaN(parseInt($("#total").val()))) {
  117. total = parseInt($("#total").val());
  118. }
  119. total = sum - (sum*(diskon/100));
  120. $("#total").val(total.toFixed());
  121. }
  122.  
  123. window.onload=function(){
  124.  
  125. $(document).ready(function () {
  126.  
  127. var r = 1;
  128. $('.addRow').click(function () {
  129. r++;
  130. $('#t1').append('<tr id="row' + r + '" class="item"><td><select onchange="changeValue(this)" class="selectReason" id="reason" name="reasontxt[]" required><option value="" selected="" disabled="">-- Silahkan Pilih --</option><optgroup label="Nama Bahan Baku"><?php mysqli_data_seek($result, 0); while ($row = mysqli_fetch_array($result)) { echo '<option value="' . $row['nm_bahan'] . '">' . $row['nm_bahan'] . '</option>'; }?></optgroup></select></td><td><input type="text" name="harga[]" placeholder="Harga" class="harga form-control price amount" onkeypress="return hanyaAngka(event)" autocomplete="off" required /></td><td><input type="text" name="qty[]" placeholder="Qty" class="form-control qnty amount" value="0" onkeypress="return hanyaAngka(event)" autocomplete="off" required /></td><td><input type="text" name="satuan[]" placeholder="Satuan" class="satuan form-control" onkeypress="return hanyaAngka(event)" readonly/></td><td><input type="text" name="harga_total[]" placeholder="Total Harga" class="form-control totalharga" onkeypress="return hanyaAngka(event)" autocomplete="off" readonly /></td><td><button type="button" name="remove" id="' + r + '" class="btn btn-danger btn-sm btn_remove">x</button></td></tr>');
  131. $(".selectReason").select2({dropdownParent: $('#TambahData .modal-content'),width:'100%'});
  132. });
  133.  
  134. $(document).on('click', '.btn_remove', function () {
  135. var button_id = $(this).attr("id");
  136. $('#row' + button_id + '').remove();
  137. calcAll();
  138. });
  139.  
  140. $(document).on("keyup", ".amount", calcAll);
  141. });
  142.  
  143. }
  144. </script>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement