Advertisement
Guest User

Transaksi.php

a guest
Feb 17th, 2019
79
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 24.75 KB | None | 0 0
  1. <?php $this->load->view('include/header'); ?>
  2. <?php $this->load->view('include/navbar'); ?>
  3.  
  4. <style>
  5. .footer {
  6. margin-bottom: 22px;
  7. }
  8. .panel-primary .form-group {
  9. margin-bottom: 10px;
  10. }
  11. .form-control {
  12. border-radius: 0px;
  13. box-shadow: none;
  14. }
  15. .error_validasi { margin-top: 0px; }
  16. </style>
  17.  
  18. <?php
  19. $level = $this->session->userdata('ap_level');
  20. $readonly = '';
  21. $disabled = '';
  22. if($level !== 'admin')
  23. {
  24. $readonly = 'readonly';
  25. $disabled = 'disabled';
  26. }
  27. ?>
  28.  
  29. <div class="container-fluid">
  30. <div class="panel panel-default">
  31. <div class="panel-body">
  32.  
  33. <div class='row'>
  34. <div class='col-sm-3'>
  35. <div class="panel panel-primary">
  36. <div class="panel-heading"><i class='fa fa-file-text-o fa-fw'></i> Informasi Nota</div>
  37. <div class="panel-body">
  38.  
  39. <div class="form-horizontal">
  40. <div class="form-group">
  41. <label class="col-sm-4 control-label">No. Nota</label>
  42. <div class="col-sm-8">
  43. <input type='text' name='nomor_nota' class='form-control input-sm' id='nomor_nota' value="<?php echo strtoupper(uniqid()).$this->session->userdata('ap_id_user'); ?>" <?php echo $readonly; ?>>
  44. </div>
  45. </div>
  46. <div class="form-group">
  47. <label class="col-sm-4 control-label">Tanggal</label>
  48. <div class="col-sm-8">
  49. <input type='text' name='tanggal' class='form-control input-sm' id='tanggal' value="<?php echo date('Y-m-d H:i:s'); ?>" <?php echo $disabled; ?>>
  50. </div>
  51. </div>
  52. <div class="form-group">
  53. <label class="col-sm-4 control-label">Kasir</label>
  54. <div class="col-sm-8">
  55. <select name='id_kasir' id='id_kasir' class='form-control input-sm' <?php echo $disabled; ?>>
  56. <?php
  57. if($kasirnya->num_rows() > 0)
  58. {
  59. foreach($kasirnya->result() as $k)
  60. {
  61. $selected = '';
  62. if($k->id_user == $this->session->userdata('ap_id_user')){
  63. $selected = 'selected';
  64. }
  65.  
  66. echo "<option value='".$k->id_user."' ".$selected.">".$k->nama."</option>";
  67. }
  68. }
  69. ?>
  70. </select>
  71. </div>
  72. </div>
  73. </div>
  74.  
  75. </div>
  76. </div>
  77. <div class="panel panel-primary" id='PelangganArea'>
  78. <div class="panel-heading"><i class='fa fa-user'></i> Informasi Pelanggan</div>
  79. <div class="panel-body">
  80. <div class="form-group">
  81. <label>Pelanggan</label>
  82. <a href="<?php echo site_url('penjualan/tambah-pelanggan'); ?>" class='pull-right' id='TambahPelanggan'>Tambah Baru ?</a>
  83. <a href="" data-toggle="modal" data-target="#exampleModal">
  84. Tambah Excel
  85. </a>
  86. <select name='id_pelanggan' id='id_pelanggan' class='form-control input-sm' style='cursor: pointer;'>
  87. <option value=''>-- Umum --</option>
  88. <?php
  89. if($pelanggan->num_rows() > 0)
  90. {
  91. foreach($pelanggan->result() as $p)
  92. {
  93. echo "<option value='".$p->id_pelanggan."'>".$p->nama."</option>";
  94. }
  95. }
  96. ?>
  97. </select>
  98. </div>
  99.  
  100.  
  101. <div class="modal fade" id="exampleModal" tabindex="-1" role="dialog" aria-labelledby="exampleModalLabel" aria-hidden="true">
  102. <div class="modal-dialog" role="document">
  103. <div class="modal-content">
  104. <div class="modal-header">
  105. <h5 class="modal-title" id="exampleModalLabel">Tambah File Excel</h5>
  106. <button type="button" class="close" data-dismiss="modal" aria-label="Close">
  107. <span aria-hidden="true">&times;</span>
  108. </button>
  109. </div>
  110. <div class="modal-body">
  111.  
  112. <form action="<?php echo site_url('penjualan/pelanggan_tambahexcel') ?>"
  113. method="post" enctype="multipart/form-data">
  114. <div class='form-group'>
  115. <label>File Pelanggan</label>
  116. <input type='file' name='pelanggan' class='form-control'>
  117. </div>
  118. </div>
  119. <div class="modal-footer">
  120. <button type="button" class="btn btn-secondary" data-dismiss="modal">Close</button>
  121. <input type="submit" class="btn btn-primary" value="Simpann">
  122. </div>
  123. </form>
  124. </div>
  125. </div>
  126. </div>
  127.  
  128. <div class="form-horizontal">
  129. <div class="form-group">
  130. <label class="col-sm-4 control-label">Nomor RS</label>
  131. <div class="col-sm-8">
  132. <div id='telp_pelanggan'><small><i>Tidak ada</i></small></div>
  133. </div>
  134. </div>
  135. <div class="form-group">
  136. <label class="col-sm-4 control-label">Alamat</label>
  137. <div class="col-sm-8">
  138. <div id='alamat_pelanggan'><small><i>Tidak ada</i></small></div>
  139. </div>
  140. </div>
  141. <div class="form-group">
  142. <label class="col-sm-4 control-label">Pemilik</label>
  143. <div class="col-sm-8">
  144. <div id='info_tambahan_pelanggan'><small><i>Tidak ada</i></small></div>
  145. </div>
  146. </div>
  147. </div>
  148.  
  149. </div>
  150. </div>
  151. </div>
  152. <div class='col-sm-9'>
  153. <h5 class='judul-transaksi'>
  154. <i class='fa fa-shopping-cart fa-fw'></i> Penjualan <i class='fa fa-angle-right fa-fw'></i> Transaksi
  155. <a href="<?php echo site_url('penjualan/transaksi'); ?>" class='pull-right'><i class='fa fa-refresh fa-fw'></i> Refresh Halaman</a>
  156. </h5>
  157. <table class='table table-bordered' id='TabelTransaksi'>
  158. <thead>
  159. <tr>
  160. <th style='width:35px;'>#</th>
  161. <th style='width:210px;'>Kode Barang</th>
  162. <th>Nama Barang</th>
  163. <th style='width:120px;'>Harga</th>
  164. <th style='width:75px;'>Qty</th>
  165. <th style='width:125px;'>Sub Total</th>
  166. <th style='width:40px;'></th>
  167. </tr>
  168. </thead>
  169. <tbody></tbody>
  170. </table>
  171.  
  172. <div class='alert alert-info TotalBayar'>
  173. <button id='BarisBaru' class='btn btn-default pull-left'><i class='fa fa-plus fa-fw'></i> Baris Baru </button>
  174. <h2>Total : <span id='TotalBayar'>Rp. 0</span></h2>
  175. <input type="hidden" id='TotalBayarHidden'>
  176. </div>
  177.  
  178. <div class='row'>
  179. <div class='col-sm-7'>
  180. <textarea name='catatan' id='catatan' class='form-control' rows='2' placeholder="Catatan Transaksi (Jika Ada)" style='resize: vertical; width:83%;'></textarea>
  181.  
  182. <br />
  183. </div>
  184. <div class='col-sm-5'>
  185. <div class="form-horizontal">
  186. <div class="form-group">
  187. <label class="col-sm-6 control-label">Bayar</label>
  188. <div class="col-sm-6">
  189. <input type='text' name='cash' id='UangCash' class='form-control' onkeypress='return check_int(event)'>
  190. </div>
  191. </div>
  192. <div class="form-group">
  193. <label class="col-sm-6 control-label">Kembali</label>
  194. <div class="col-sm-6">
  195. <input type='text' id='UangKembali' class='form-control' disabled>
  196. </div>
  197. </div>
  198. <div class='row'>
  199. <div class='col-sm-6' style='padding-right: 0px;'>
  200. <button type='button' class='btn btn-warning btn-block' id='CetakStruk'>
  201. <i class='fa fa-print'></i> Cetak
  202. </button>
  203. </div>
  204. <div class='col-sm-6'>
  205. <button type='button' class='btn btn-primary btn-block' id='Simpann'>
  206. <i class='fa fa-floppy-o'></i> Simpan
  207. </button>
  208. </div>
  209. </div>
  210. </div>
  211. </div>
  212. </div>
  213.  
  214. <br />
  215. </div>
  216. </div>
  217.  
  218. </div>
  219. </div>
  220. </div>
  221.  
  222. <p class='footer'><?php echo config_item('web_footer'); ?></p>
  223.  
  224. <link rel="stylesheet" type="text/css" href="<?php echo config_item('plugin'); ?>datetimepicker/jquery.datetimepicker.css"/>
  225. <script src="<?php echo config_item('plugin'); ?>datetimepicker/jquery.datetimepicker.js"></script>
  226. <script src="<?php echo config_item('js'); ?>jquery.mask.js"></script>
  227. <script>
  228.  
  229. // $('#UangCash').mask('000.000.000', { reverse: true });
  230.  
  231. $('#tanggal').datetimepicker({
  232. lang:'en',
  233. timepicker:true,
  234. format:'Y-m-d H:i:s'
  235. });
  236.  
  237. $('#UangCash').inputmask("numeric", {
  238. radixPoint: ".",
  239. groupSeparator: ".",
  240. digits: 2,
  241. autoGroup: true,
  242. prefix: 'Rp ',
  243. rightAlign: false,
  244. oncleared: function () { self.Value(''); }
  245. });
  246.  
  247. $(document).ready(function(){
  248.  
  249. for(B=1; B<=1; B++){
  250. BarisBaru();
  251. }
  252.  
  253. $('#id_pelanggan').change(function(){
  254. if($(this).val() !== '')
  255. {
  256. $.ajax({
  257. url: "<?php echo site_url('penjualan/ajax-pelanggan'); ?>",
  258. type: "POST",
  259. cache: false,
  260. data: "id_pelanggan="+$(this).val(),
  261. dataType:'json',
  262. success: function(json){
  263. $('#telp_pelanggan').html(json.telp);
  264. $('#alamat_pelanggan').html(json.alamat);
  265. $('#info_tambahan_pelanggan').html(json.info_tambahan);
  266. }
  267. });
  268. }
  269. else
  270. {
  271. $('#telp_pelanggan').html('<small><i>Tidak ada</i></small>');
  272. $('#alamat_pelanggan').html('<small><i>Tidak ada</i></small>');
  273. $('#info_tambahan_pelanggan').html('<small><i>Tidak ada</i></small>');
  274. }
  275. });
  276.  
  277. $('#BarisBaru').click(function(){
  278. BarisBaru();
  279. });
  280.  
  281. $("#TabelTransaksi tbody").find('input[type=text],textarea,select').filter(':visible:first').focus();
  282. });
  283.  
  284. function BarisBaru()
  285. {
  286. var Nomor = $('#TabelTransaksi tbody tr').length + 1;
  287. var Baris = "<tr>";
  288. Baris += "<td>"+Nomor+"</td>";
  289. Baris += "<td>";
  290. Baris += "<input type='text' class='form-control' name='kode_barang[]' id='pencarian_kode' placeholder='Ketik Kode / Nama Barang'>";
  291. Baris += "<div id='hasil_pencarian'></div>";
  292. Baris += "</td>";
  293. Baris += "<td></td>";
  294. Baris += "<td>";
  295. Baris += "<input type='hidden' name='harga_satuan[]'>";
  296. Baris += "<span></span>";
  297. Baris += "</td>";
  298. Baris += "<td><input type='text' class='form-control' id='jumlah_beli' name='jumlah_beli[]' onkeypress='return check_int(event)' disabled></td>";
  299. Baris += "<td>";
  300. Baris += "<input type='hidden' name='sub_total[]'>";
  301. Baris += "<span></span>";
  302. Baris += "</td>";
  303. Baris += "<td><button class='btn btn-default' id='HapusBaris'><i class='fa fa-times' style='color:red;'></i></button></td>";
  304. Baris += "</tr>";
  305.  
  306. $('#TabelTransaksi tbody').append(Baris);
  307.  
  308. $('#TabelTransaksi tbody tr').each(function(){
  309. $(this).find('td:nth-child(2) input').focus();
  310. });
  311.  
  312. HitungTotalBayar();
  313. }
  314.  
  315. $(document).on('click', '#HapusBaris', function(e){
  316. e.preventDefault();
  317. $(this).parent().parent().remove();
  318.  
  319. var Nomor = 1;
  320. $('#TabelTransaksi tbody tr').each(function(){
  321. $(this).find('td:nth-child(1)').html(Nomor);
  322. Nomor++;
  323. });
  324.  
  325. HitungTotalBayar();
  326. });
  327.  
  328. function AutoCompleteGue(Lebar, KataKunci, Indexnya)
  329. {
  330. $('div#hasil_pencarian').hide();
  331. var Lebar = Lebar + 25;
  332.  
  333. var Registered = '';
  334. $('#TabelTransaksi tbody tr').each(function(){
  335. if(Indexnya !== $(this).index())
  336. {
  337. if($(this).find('td:nth-child(2) input').val() !== '')
  338. {
  339. Registered += $(this).find('td:nth-child(2) input').val() + ',';
  340. }
  341. }
  342. });
  343.  
  344. if(Registered !== ''){
  345. Registered = Registered.replace(/,\s*$/,"");
  346. }
  347.  
  348. $.ajax({
  349. url: "<?php echo site_url('penjualan/ajax-kode'); ?>",
  350. type: "POST",
  351. cache: false,
  352. data:'keyword=' + KataKunci + '&registered=' + Registered,
  353. dataType:'json',
  354. success: function(json){
  355. if(json.status == 1)
  356. {
  357. $('#TabelTransaksi tbody tr:eq('+Indexnya+') td:nth-child(2)').find('div#hasil_pencarian').css({ 'width' : Lebar+'px' });
  358. $('#TabelTransaksi tbody tr:eq('+Indexnya+') td:nth-child(2)').find('div#hasil_pencarian').show('fast');
  359. $('#TabelTransaksi tbody tr:eq('+Indexnya+') td:nth-child(2)').find('div#hasil_pencarian').html(json.datanya);
  360. }
  361. if(json.status == 0)
  362. {
  363. $('#TabelTransaksi tbody tr:eq('+Indexnya+') td:nth-child(3)').html('');
  364. $('#TabelTransaksi tbody tr:eq('+Indexnya+') td:nth-child(4) input').val('');
  365. $('#TabelTransaksi tbody tr:eq('+Indexnya+') td:nth-child(4) span').html('');
  366. $('#TabelTransaksi tbody tr:eq('+Indexnya+') td:nth-child(5) input').prop('disabled', true).val('');
  367. $('#TabelTransaksi tbody tr:eq('+Indexnya+') td:nth-child(6) input').val(0);
  368. $('#TabelTransaksi tbody tr:eq('+Indexnya+') td:nth-child(6) span').html('');
  369. }
  370. }
  371. });
  372.  
  373. HitungTotalBayar();
  374. }
  375.  
  376. $(document).on('keyup', '#pencarian_kode', function(e){
  377. if($(this).val() !== '')
  378. {
  379. var charCode = e.which || e.keyCode;
  380. if(charCode == 40)
  381. {
  382. if($('#TabelTransaksi tbody tr:eq('+$(this).parent().parent().index()+') td:nth-child(2)').find('div#hasil_pencarian li.autocomplete_active').length > 0)
  383. {
  384. var Selanjutnya = $('#TabelTransaksi tbody tr:eq('+$(this).parent().parent().index()+') td:nth-child(2)').find('div#hasil_pencarian li.autocomplete_active').next();
  385. $('#TabelTransaksi tbody tr:eq('+$(this).parent().parent().index()+') td:nth-child(2)').find('div#hasil_pencarian li.autocomplete_active').removeClass('autocomplete_active');
  386.  
  387. Selanjutnya.addClass('autocomplete_active');
  388. }
  389. else
  390. {
  391. $('#TabelTransaksi tbody tr:eq('+$(this).parent().parent().index()+') td:nth-child(2)').find('div#hasil_pencarian li:first').addClass('autocomplete_active');
  392. }
  393. }
  394. else if(charCode == 38)
  395. {
  396. if($('#TabelTransaksi tbody tr:eq('+$(this).parent().parent().index()+') td:nth-child(2)').find('div#hasil_pencarian li.autocomplete_active').length > 0)
  397. {
  398. var Sebelumnya = $('#TabelTransaksi tbody tr:eq('+$(this).parent().parent().index()+') td:nth-child(2)').find('div#hasil_pencarian li.autocomplete_active').prev();
  399. $('#TabelTransaksi tbody tr:eq('+$(this).parent().parent().index()+') td:nth-child(2)').find('div#hasil_pencarian li.autocomplete_active').removeClass('autocomplete_active');
  400.  
  401. Sebelumnya.addClass('autocomplete_active');
  402. }
  403. else
  404. {
  405. $('#TabelTransaksi tbody tr:eq('+$(this).parent().parent().index()+') td:nth-child(2)').find('div#hasil_pencarian li:first').addClass('autocomplete_active');
  406. }
  407. }
  408. else if(charCode == 13)
  409. {
  410. var Field = $('#TabelTransaksi tbody tr:eq('+$(this).parent().parent().index()+') td:nth-child(2)');
  411. var Kodenya = Field.find('div#hasil_pencarian li.autocomplete_active span#kodenya').html();
  412. var Barangnya = Field.find('div#hasil_pencarian li.autocomplete_active span#barangnya').html();
  413. var Harganya = Field.find('div#hasil_pencarian li.autocomplete_active span#harganya').html();
  414.  
  415. Field.find('div#hasil_pencarian').hide();
  416. Field.find('input').val(Kodenya);
  417.  
  418. $('#TabelTransaksi tbody tr:eq('+$(this).parent().parent().index()+') td:nth-child(3)').html(Barangnya);
  419. $('#TabelTransaksi tbody tr:eq('+$(this).parent().parent().index()+') td:nth-child(4) input').val(Harganya);
  420. $('#TabelTransaksi tbody tr:eq('+$(this).parent().parent().index()+') td:nth-child(4) span').html(to_rupiah(Harganya));
  421. $('#TabelTransaksi tbody tr:eq('+$(this).parent().parent().index()+') td:nth-child(5) input').removeAttr('disabled').val(1);
  422. $('#TabelTransaksi tbody tr:eq('+$(this).parent().parent().index()+') td:nth-child(6) input').val(Harganya);
  423. $('#TabelTransaksi tbody tr:eq('+$(this).parent().parent().index()+') td:nth-child(6) span').html(to_rupiah(Harganya));
  424.  
  425. var IndexIni = $(this).parent().parent().index() + 1;
  426. var TotalIndex = $('#TabelTransaksi tbody tr').length;
  427. if(IndexIni == TotalIndex){
  428. BarisBaru();
  429.  
  430. $('html, body').animate({ scrollTop: $(document).height() }, 0);
  431. }
  432. else {
  433. $('#TabelTransaksi tbody tr:eq('+$(this).parent().parent().index()+') td:nth-child(5) input').focus();
  434. }
  435. }
  436. else
  437. {
  438. AutoCompleteGue($(this).width(), $(this).val(), $(this).parent().parent().index());
  439. }
  440. }
  441. else
  442. {
  443. $('#TabelTransaksi tbody tr:eq('+$(this).parent().parent().index()+') td:nth-child(2)').find('div#hasil_pencarian').hide();
  444. }
  445.  
  446. HitungTotalBayar();
  447. });
  448.  
  449. $(document).on('click', '#daftar-autocomplete li', function(){
  450. $(this).parent().parent().parent().find('input').val($(this).find('span#kodenya').html());
  451.  
  452. var Indexnya = $(this).parent().parent().parent().parent().index();
  453. var NamaBarang = $(this).find('span#barangnya').html();
  454. var Harganya = $(this).find('span#harganya').html();
  455.  
  456. $('#TabelTransaksi tbody tr:eq('+Indexnya+') td:nth-child(2)').find('div#hasil_pencarian').hide();
  457. $('#TabelTransaksi tbody tr:eq('+Indexnya+') td:nth-child(3)').html(NamaBarang);
  458. $('#TabelTransaksi tbody tr:eq('+Indexnya+') td:nth-child(4) input').val(Harganya);
  459. $('#TabelTransaksi tbody tr:eq('+Indexnya+') td:nth-child(4) span').html(to_rupiah(Harganya));
  460. $('#TabelTransaksi tbody tr:eq('+Indexnya+') td:nth-child(5) input').removeAttr('disabled').val(1);
  461. $('#TabelTransaksi tbody tr:eq('+Indexnya+') td:nth-child(6) input').val(Harganya);
  462. $('#TabelTransaksi tbody tr:eq('+Indexnya+') td:nth-child(6) span').html(to_rupiah(Harganya));
  463.  
  464. var IndexIni = Indexnya + 1;
  465. var TotalIndex = $('#TabelTransaksi tbody tr').length;
  466. if(IndexIni == TotalIndex){
  467. BarisBaru();
  468. $('html, body').animate({ scrollTop: $(document).height() }, 0);
  469. }
  470. else {
  471. $('#TabelTransaksi tbody tr:eq('+Indexnya+') td:nth-child(5) input').focus();
  472. }
  473.  
  474. HitungTotalBayar();
  475. });
  476.  
  477. $(document).on('keyup', '#jumlah_beli', function(){
  478. var Indexnya = $(this).parent().parent().index();
  479. var Harga = $('#TabelTransaksi tbody tr:eq('+Indexnya+') td:nth-child(4) input').val();
  480. var JumlahBeli = $(this).val();
  481. var KodeBarang = $('#TabelTransaksi tbody tr:eq('+Indexnya+') td:nth-child(2) input').val();
  482.  
  483. $.ajax({
  484. url: "<?php echo site_url('barang/cek-stok'); ?>",
  485. type: "POST",
  486. cache: false,
  487. data: "kode_barang="+encodeURI(KodeBarang)+"&stok="+JumlahBeli,
  488. dataType:'json',
  489. success: function(data){
  490. if(data.status == 1)
  491. {
  492. var SubTotal = parseInt(Harga) * parseInt(JumlahBeli);
  493. if(SubTotal > 0){
  494. var SubTotalVal = SubTotal;
  495. SubTotal = to_rupiah(SubTotal);
  496. } else {
  497. SubTotal = '';
  498. var SubTotalVal = 0;
  499. }
  500.  
  501. $('#TabelTransaksi tbody tr:eq('+Indexnya+') td:nth-child(6) input').val(SubTotalVal);
  502. $('#TabelTransaksi tbody tr:eq('+Indexnya+') td:nth-child(6) span').html(SubTotal);
  503. HitungTotalBayar();
  504. }
  505. if(data.status == 0)
  506. {
  507. $('.modal-dialog').removeClass('modal-lg');
  508. $('.modal-dialog').addClass('modal-sm');
  509. $('#ModalHeader').html('Oops !');
  510. $('#ModalContent').html(data.pesan);
  511. $('#ModalFooter').html("<button type='button' class='btn btn-primary' data-dismiss='modal' autofocus>Ok, Saya Mengerti</button>");
  512. $('#ModalGue').modal('show');
  513.  
  514. $('#TabelTransaksi tbody tr:eq('+Indexnya+') td:nth-child(5) input').val('1');
  515. }
  516. }
  517. });
  518. });
  519.  
  520. $(document).on('keydown', '#jumlah_beli', function(e){
  521. var charCode = e.which || e.keyCode;
  522. if(charCode == 9){
  523. var Indexnya = $(this).parent().parent().index() + 1;
  524. var TotalIndex = $('#TabelTransaksi tbody tr').length;
  525. if(Indexnya == TotalIndex){
  526. BarisBaru();
  527. return false;
  528. }
  529. }
  530.  
  531. HitungTotalBayar();
  532. });
  533.  
  534. $(document).on('keyup', '#UangCash', function(){
  535. HitungTotalKembalian();
  536. });
  537.  
  538. function HitungTotalBayar()
  539. {
  540. var Total = 0;
  541. $('#TabelTransaksi tbody tr').each(function(){
  542. if($(this).find('td:nth-child(6) input').val() > 0)
  543. {
  544. var SubTotal = $(this).find('td:nth-child(6) input').val();
  545. Total = parseInt(Total) + parseInt(SubTotal);
  546. }
  547. });
  548.  
  549. $('#TotalBayar').html(to_rupiah(Total));
  550. $('#TotalBayarHidden').val(Total);
  551.  
  552. $('#UangCash').val('');
  553. $('#UangKembali').val('');
  554. }
  555.  
  556. function HitungTotalKembalian()
  557. {
  558. var Cash = $('#UangCash').val();
  559. Cash = Cash.replace(/,/g, '');
  560. var TotalBayar = $('#TotalBayarHidden').val();
  561.  
  562. if(parseInt(Cash) >= parseInt(TotalBayar)){
  563. var Selisih = parseInt(Cash) - parseInt(TotalBayar);
  564. $('#UangKembali').val(to_rupiah(Selisih));
  565. } else {
  566. $('#UangKembali').val('');
  567. }
  568. }
  569.  
  570. function to_rupiah(angka){
  571. var rev = parseInt(angka, 10).toString().split('').reverse().join('');
  572. var rev2 = '';
  573. for(var i = 0; i < rev.length; i++){
  574. rev2 += rev[i];
  575. if((i + 1) % 3 === 0 && i !== (rev.length - 1)){
  576. rev2 += '.';
  577. }
  578. }
  579. return 'Rp. ' + rev2.split('').reverse().join('');
  580. }
  581.  
  582. function check_int(evt) {
  583. var charCode = ( evt.which ) ? evt.which : event.keyCode;
  584. return ( charCode >= 48 && charCode <= 57 || charCode == 8 );
  585. }
  586.  
  587. $(document).on('keydown', 'body', function(e){
  588. var charCode = ( e.which ) ? e.which : event.keyCode;
  589.  
  590. if(charCode == 118) //F7
  591. {
  592. BarisBaru();
  593. return false;
  594. }
  595.  
  596. if(charCode == 119) //F8
  597. {
  598. $('#UangCash').focus();
  599. return false;
  600. }
  601.  
  602. if(charCode == 120) //F9
  603. {
  604. CetakStruk();
  605. return false;
  606. }
  607.  
  608. if(charCode == 121) //F10
  609. {
  610. $('.modal-dialog').removeClass('modal-lg');
  611. $('.modal-dialog').addClass('modal-sm');
  612. $('#ModalHeader').html('Konfirmasi');
  613. $('#ModalContent').html("Apakah anda yakin ingin menyimpan transaksi ini ?");
  614. $('#ModalFooter').html("<button type='button' class='btn btn-primary' id='SimpanTransaksi'>Ya, saya yakin</button><button type='button' class='btn btn-default' data-dismiss='modal'>Batal</button>");
  615. $('#ModalGue').modal('show');
  616.  
  617. setTimeout(function(){
  618. $('button#SimpanTransaksi').focus();
  619. }, 500);
  620.  
  621. return false;
  622. }
  623. });
  624.  
  625. $(document).on('click', '#Simpann', function(){
  626. $('.modal-dialog').removeClass('modal-lg');
  627. $('.modal-dialog').addClass('modal-sm');
  628. $('#ModalHeader').html('Konfirmasi');
  629. $('#ModalContent').html("Apakah anda yakin ingin menyimpan transaksi ini ?");
  630. $('#ModalFooter').html("<button type='button' class='btn btn-primary' id='SimpanTransaksi'>Ya, saya yakin</button><button type='button' class='btn btn-default' data-dismiss='modal'>Batal</button>");
  631. $('#ModalGue').modal('show');
  632.  
  633. setTimeout(function(){
  634. $('button#SimpanTransaksi').focus();
  635. }, 500);
  636. });
  637.  
  638. $(document).on('click', 'button#SimpanTransaksi', function(){
  639. SimpanTransaksi();
  640. });
  641.  
  642. $(document).on('click', 'button#CetakStruk', function(){
  643. CetakStruk();
  644. });
  645.  
  646. function SimpanTransaksi()
  647. {
  648. var FormData = "nomor_nota="+encodeURI($('#nomor_nota').val());
  649. FormData += "&tanggal="+encodeURI($('#tanggal').val());
  650. FormData += "&id_kasir="+$('#id_kasir').val();
  651. FormData += "&id_pelanggan="+$('#id_pelanggan').val();
  652. FormData += "&" + $('#TabelTransaksi tbody input').serialize();
  653. FormData += "&cash="+$('#UangCash').val();
  654. FormData += "&catatan="+encodeURI($('#catatan').val());
  655. FormData += "&grand_total="+$('#TotalBayarHidden').val();
  656.  
  657. $.ajax({
  658. url: "<?php echo site_url('penjualan/transaksi'); ?>",
  659. type: "POST",
  660. cache: false,
  661. data: FormData,
  662. dataType:'json',
  663. success: function(data){
  664. if(data.status == 1)
  665. {
  666. alert(data.pesan);
  667. window.location.href="<?php echo site_url('penjualan/transaksi'); ?>";
  668. }
  669. else
  670. {
  671. $('.modal-dialog').removeClass('modal-lg');
  672. $('.modal-dialog').addClass('modal-sm');
  673. $('#ModalHeader').html('Oops !');
  674. $('#ModalContent').html(data.pesan);
  675. $('#ModalFooter').html("<button type='button' class='btn btn-primary' data-dismiss='modal' autofocus>Ok</button>");
  676. $('#ModalGue').modal('show');
  677. }
  678. }
  679. });
  680. }
  681.  
  682. $(document).on('click', '#TambahPelanggan', function(e){
  683. e.preventDefault();
  684.  
  685. $('.modal-dialog').removeClass('modal-sm');
  686. $('.modal-dialog').removeClass('modal-lg');
  687. $('#ModalHeader').html('Tambah Pelanggan');
  688. $('#ModalContent').load($(this).attr('href'));
  689. $('#ModalGue').modal('show');
  690. });
  691.  
  692.  
  693.  
  694. function CetakStruk()
  695. {
  696. if($('#TotalBayarHidden').val() > 0)
  697. {
  698. if($('#UangCash').val() !== '')
  699. {
  700. var FormData = "nomor_nota="+encodeURI($('#nomor_nota').val());
  701. FormData += "&tanggal="+encodeURI($('#tanggal').val());
  702. FormData += "&id_kasir="+$('#id_kasir').val();
  703. FormData += "&id_pelanggan="+$('#id_pelanggan').val();
  704. FormData += "&" + $('#TabelTransaksi tbody input').serialize();
  705. FormData += "&cash="+$('#UangCash').val();
  706. FormData += "&catatan="+encodeURI($('#catatan').val());
  707. FormData += "&grand_total="+$('#TotalBayarHidden').val();
  708.  
  709. window.open("<?php echo site_url('penjualan/transaksi-cetak/?'); ?>" + FormData,'_blank');
  710. }
  711. else
  712. {
  713. $('.modal-dialog').removeClass('modal-lg');
  714. $('.modal-dialog').addClass('modal-sm');
  715. $('#ModalHeader').html('Oops !');
  716. $('#ModalContent').html('Harap masukan Total Bayar');
  717. $('#ModalFooter').html("<button type='button' class='btn btn-primary' data-dismiss='modal' autofocus>Ok</button>");
  718. $('#ModalGue').modal('show');
  719. }
  720. }
  721. else
  722. {
  723. $('.modal-dialog').removeClass('modal-lg');
  724. $('.modal-dialog').addClass('modal-sm');
  725. $('#ModalHeader').html('Oops !');
  726. $('#ModalContent').html('Harap pilih barang terlebih dahulu');
  727. $('#ModalFooter').html("<button type='button' class='btn btn-primary' data-dismiss='modal' autofocus>Ok</button>");
  728. $('#ModalGue').modal('show');
  729.  
  730. }
  731. }
  732. </script>
  733.  
  734. <?php $this->load->view('include/footer'); ?>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement