first commit

This commit is contained in:
2026-01-22 11:06:19 +07:00
commit c877faf5a0
168 changed files with 19843 additions and 0 deletions
+128
View File
@@ -0,0 +1,128 @@
/*******************************************************************
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 Html5QrcodeScanner('qr-reader', { fps: 10, qrbox: 250, rememberLastUsedCamera: true, supportedScanTypes: [Html5QrcodeScanType.SCAN_TYPE_CAMERA] });
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">&nbsp;</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();
}
};