128 lines
4.9 KiB
JavaScript
128 lines
4.9 KiB
JavaScript
/*******************************************************************
|
|
|
|
App. Name : INVENTORY AND SALES SYSTEMS
|
|
Module : /apps/js/iss/opname_barang.js
|
|
Desc. : JS - Transaksi Penyesuaian Stok Per Barang
|
|
Created By : Siau Pheng ([email protected]).
|
|
Created Date : October 22nd, 2014.
|
|
Last Modified : September 21st, 2025.
|
|
|
|
(c) 2014 - 2025, 3FONIA Software; WWW.3FONIA.COM.
|
|
|
|
*******************************************************************/
|
|
|
|
var OpnameBarangJS = {
|
|
PHP: '',
|
|
KODE: '',
|
|
html5QrcodeScanner: null,
|
|
|
|
loading: function(){
|
|
$('#butSimpan').click(function(){this.proses_save();}.bind(this));
|
|
$('#butBrow').click(function(){this.produk_brow();}.bind(this));
|
|
if (FoniaJS.WEB_MOBILE){
|
|
html5QrcodeScanner = new Html5Qrcode('qr-reader');
|
|
html5QrcodeScanner.start({ facingMode: 'environment' }, { fps: 10, qrbox: 250 }, OpnameBarangJS.ScanSukses);
|
|
} else {
|
|
FoniaJS.AutoComplete('#Nama_Produk', this.PHP, ['data=auto-produk'], {'selectFunc': OpnameBarangJS.Produk_Comp});
|
|
FoniaJS.setFocus('#Nama_Produk');
|
|
}
|
|
},
|
|
|
|
proses_save: function(){
|
|
if ($('#InvID').val()==0) {
|
|
FoniaJS.showError('Silakan masukkan Nama Produk!');
|
|
return;
|
|
}
|
|
new Request.JSON({
|
|
url: this.PHP,
|
|
sendParam: ['data=simpan-opname','InvID','Stok_Fisik'],
|
|
onSuccess: function(ares){
|
|
if (ares.Status){
|
|
FoniaJS.showInfo('Sukses simpan penyesuaian Stok !');
|
|
$('#InvID').val(0);
|
|
$('.form-control').val('')
|
|
if (FoniaJS.WEB_MOBILE){
|
|
this.html5QrcodeScanner.resume();
|
|
} else FoniaJS.setFocus('Nama_Produk');
|
|
}
|
|
}.bind(this)
|
|
}).send();
|
|
},
|
|
|
|
ScanSukses: function(decodedText, decodedResult){
|
|
new Request.JSON({
|
|
url: OpnameBarangJS.PHP,
|
|
sendParam: ['data=scan-produk','Cari_Produk='+decodedText],
|
|
onSuccess: function(ajson){
|
|
$('#InvID').val(ajson.InvID);
|
|
$('#Kode_Barang').val(ajson.Kode_Barang);
|
|
$('#Nama_Barang').val(ajson.Nama_Barang);
|
|
$('#Nama_Satuan').val(ajson.Nama_Satuan);
|
|
$('#Stok_Sistem').val(ajson.Stok_Sistem);
|
|
FoniaJS.setFocus('#Stok_Fisik');
|
|
}
|
|
}).send();
|
|
this.html5QrcodeScanner.pause();
|
|
},
|
|
|
|
produk_brow: function(){
|
|
var _isi = new String('<div class="row mb-1"><div class="col"><div class="input-group"><input class="form-control" id="Cari_Produk" placeholder="Kunci Pencarian" type="text"><button class="btn btn-info shadow-none" type="button" id="butSearch">Cari</button><button class="btn btn-secondary shadow-none" type="button" id="butAll">Semua</button></div></div></div><div id="divBrowProduk"> </div>');
|
|
this.winBProduk = FoniaJS.showWindow('BProduk', 'Daftar Barang', _isi, 900, '', function(){
|
|
$('#winBProduk')
|
|
.find('#Cari_Produk').keydown(function(e){
|
|
var key = e.keyCode || e.which || 0;
|
|
if (key==13 && e.target.value!='') this.data_query('brow-produk');
|
|
}.bind(this)).end()
|
|
.find('#butSearch').click(function(e){
|
|
this.data_query('brow-produk');
|
|
}.bind(this)).end()
|
|
.find('#butAll').click(function(){
|
|
$('#winBProduk').find('#Cari_Produk').val('');
|
|
this.data_query('brow-produk');
|
|
}.bind(this));
|
|
this.data_query('brow-produk');
|
|
}.bind(this));
|
|
},
|
|
|
|
produk_select: function(acell){
|
|
FoniaJS.closeWindow(this.winBProduk);
|
|
$('#InvID').val(acell[0]);
|
|
$('#Kode_Barang').val(acell[1]+' / '+acell[2]);
|
|
$('#Nama_Barang').val(acell[5]);
|
|
$('#Nama_Satuan').val(acell[6]);
|
|
OpnameBarangJS.update_Stok();
|
|
},
|
|
|
|
data_query: function(tipe){
|
|
if (tipe=="brow-produk"){
|
|
new Request.JSONF({
|
|
url: this.PHP,
|
|
sendParam: ['data=brow-produk','Cari_Produk'],
|
|
onSuccess: function(){
|
|
FoniaJS.setFocus('#Cari_Produk');
|
|
}
|
|
}).send();
|
|
}
|
|
},
|
|
|
|
Produk_Comp: function(item){
|
|
var adata = item.data.split(':');
|
|
$('#InvID').val(item.value);
|
|
$('#Kode_Barang').val(adata[0]);
|
|
$('#Nama_Barang').val(adata[1]);
|
|
$('#Nama_Satuan').val(adata[2]);
|
|
OpnameBarangJS.update_Stok();
|
|
},
|
|
|
|
update_Stok: function(){
|
|
new Request.JSONF({
|
|
url: this.PHP,
|
|
sendParam: ['data=cek_stok','InvID'],
|
|
onSuccess: function(){
|
|
FoniaJS.setFocus('#Stok_Fisik');
|
|
}
|
|
}).send();
|
|
}
|
|
|
|
};
|