131 lines
5.4 KiB
JavaScript
131 lines
5.4 KiB
JavaScript
/*******************************************************************
|
|
|
|
PHP Class : /Controller/Inv/OpnamebarangController
|
|
Description : Transaksi Penyesuaian Stok Per Barang
|
|
Created By : Siau Pheng ([email protected]).
|
|
Created Date : October 22nd, 2014.
|
|
Last Modified : October 11th, 2026, 2026.
|
|
|
|
(c) 3FONIA Software; WWW.3FONIA.COM.
|
|
|
|
*******************************************************************/
|
|
|
|
var OpnameBarangJS = {
|
|
PHP: '',
|
|
KODE: '',
|
|
html5QrcodeScanner: null,
|
|
|
|
index: function(){
|
|
$('#butSimpan').click(() => this.proses_save());
|
|
$('#butBrow').click(() => this.produk_brow());
|
|
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 + '/auto_produk', [], {'selectFunc': this.Produk_Comp});
|
|
FoniaJS.setFocus('#Nama_Produk');
|
|
}
|
|
},
|
|
|
|
proses_save: function(){
|
|
if ($('#InvID').val()==0) {
|
|
FoniaJS.showError('Silakan masukkan Nama Produk!');
|
|
return;
|
|
}
|
|
new Request({
|
|
url: this.PHP + '/proses_simpan',
|
|
sendParam: ['InvID','SatuanID','VarianID','Stok_Fisik','Harga_Beli','PPN'],
|
|
onSuccess: (ajson) => {
|
|
if (ajson.status === true){
|
|
FoniaJS.showInfo('Sukses simpan penyesuaian Stok !');
|
|
$('#InvID, #SatuanID, #VarianID, #Harga_Beli #PPN').val(0);
|
|
$('#Nama_Produk, #Kode_Barang, #Nama_Barang, #Nama_Satuan').val('');
|
|
$('#Stok_Sistem, #Stok_Fisik').val('0.00');
|
|
if (FoniaJS.WEB_MOBILE){
|
|
this.html5QrcodeScanner.resume();
|
|
} else FoniaJS.setFocus('Nama_Produk');
|
|
}
|
|
}
|
|
}).send();
|
|
},
|
|
|
|
ScanSukses: function(decodedText, decodedResult){
|
|
new Request({
|
|
url: OpnameBarangJS.PHP + '/scan_produk',
|
|
sendParam: ['Cari_Produk='+decodedText],
|
|
onSuccess: (ajson) => {
|
|
$('#InvID').val(ajson.InvID);
|
|
$('#SatuanID').val(ajson.SatuanID);
|
|
$('#VarianID').val(ajson.VarianID);
|
|
$('#Harga_Beli').val(ajson.Harga_Beli);
|
|
$('#Kode_Barang').val(ajson.Kode_Barang);
|
|
$('#Nama_Barang').val(ajson.Nama_Barang);
|
|
$('#Nama_Satuan').val(ajson.Nama_Satuan);
|
|
$('#Stok_Sistem').val(ajson.Stok_Sistem);
|
|
$('#PPN').val(ajson.PPN);
|
|
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, 'xl', '', () => {
|
|
$('#winBProduk')
|
|
.find('#Cari_Produk').keydown((e) => {
|
|
var key = e.keyCode || e.which || 0;
|
|
if (key==13 && e.target.value!='') this.data_query('brow-produk');
|
|
}).end()
|
|
.find('#butSearch').click(() => this.data_query('brow-produk')).end()
|
|
.find('#butAll').click(() => {
|
|
$('#winBProduk').find('#Cari_Produk').val('');
|
|
this.data_query('brow-produk');
|
|
});
|
|
this.data_query('brow-produk');
|
|
});
|
|
},
|
|
|
|
produk_select: function(acell){
|
|
FoniaJS.closeWindow(this.winBProduk);
|
|
$('#InvID').val(acell[0]);
|
|
$('#SatuanID').val(acell[1]);
|
|
$('#VarianID').val(acell[2]);
|
|
$('#Harga_Beli').val(acell[7]);
|
|
$('#Kode_Barang').val(acell[3]+' / '+acell[4]);
|
|
$('#Nama_Barang').val(acell[5]);
|
|
$('#Nama_Satuan').val(acell[6]);
|
|
$('#Stok_Sistem').val(acell[8]);
|
|
$('#PPN').val(acell[9]);
|
|
FoniaJS.setFocus('#Stok_Fisik');
|
|
},
|
|
|
|
data_query: function(tipe){
|
|
if (tipe=="brow-produk"){
|
|
new Request.JSONF({
|
|
url: this.PHP + '/brow_produk',
|
|
sendParam: ['Cari_Produk'],
|
|
onSuccess: () => FoniaJS.setFocus('#Cari_Produk')
|
|
}).send();
|
|
}
|
|
},
|
|
|
|
Produk_Comp: function(item){
|
|
// Cari by SKU + Barcode
|
|
// Satuan : Varian : SKU + Barcode : Harga_Pokok : Satuan : PPN : Stok
|
|
var adata = item.data.split(':');
|
|
$('#InvID').val(item.value);
|
|
$('#SatuanID').val(adata[0]);
|
|
$('#VarianID').val(adata[1]);
|
|
$('#Harga_Beli').val(adata[3]);
|
|
$('#Kode_Barang').val(adata[2]);
|
|
$('#Nama_Barang').val(item.text);
|
|
$('#Nama_Satuan').val(adata[4]);
|
|
$('#Stok_Sistem').val(adata[6]);
|
|
$('#PPN').val(adata[5]);
|
|
FoniaJS.setFocus('#Stok_Fisik');
|
|
}
|
|
|
|
};
|