You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
527 lines
14 KiB
JavaScript
527 lines
14 KiB
JavaScript
/* DANIEL */
|
|
|
|
/**
|
|
* Menambah baris baru untuk pengisian barang yang akan diretur
|
|
*/
|
|
var b = "b";
|
|
var e = "e";
|
|
var p = "p";
|
|
|
|
var c = 0;
|
|
var baris = 0;
|
|
var kodeBarang ="";
|
|
$(function(){
|
|
/**
|
|
* plugin button operation(disabled and enabled)
|
|
* by Daniel Susanto - susantodaniel@gmail.com
|
|
*/
|
|
jQuery.fn.disabledBtn = function() {
|
|
if(this != null){
|
|
if(this.attr('disabled') == false)
|
|
this.attr('disabled', true);
|
|
}
|
|
}
|
|
|
|
jQuery.fn.enabledBtn = function() {
|
|
if(this != null){
|
|
if(this.attr('disabled') == true)
|
|
this.attr('disabled', false);
|
|
}
|
|
}
|
|
|
|
/**
|
|
* plugin element operation(visible and hidden)
|
|
* by Daniel Susanto - susantodaniel@gmail.com
|
|
*/
|
|
jQuery.fn.invisibleElm = function() {
|
|
if(this != null){
|
|
if(this.css('visibility') == 'visible')
|
|
this.css('visibility', 'hidden');
|
|
}
|
|
}
|
|
|
|
jQuery.fn.visibleElm = function() {
|
|
if(this != null){
|
|
if(this.css('visibility') == 'hidden')
|
|
this.css('visibility', 'visible');
|
|
}
|
|
}
|
|
|
|
$("#tglnota").datepicker({
|
|
dateFormat: "dd-mm-yy",
|
|
showOn: "both",
|
|
buttonImage: "../images/calendar.gif",
|
|
buttonImageOnly: true
|
|
});
|
|
|
|
$("#startDate,#endDate").datepicker({
|
|
beforeShow: customRange,
|
|
dateFormat: "dd-mm-yy",
|
|
showOn: "both",
|
|
buttonImage: "../images/calendar.gif",
|
|
buttonImageOnly: true
|
|
});
|
|
|
|
/*
|
|
* alert function
|
|
* @param String msg message to be displayed
|
|
*/
|
|
var alert = function(msg) {
|
|
$('p#alertmsg').html(msg);
|
|
$('#alert').dialog('open');
|
|
};
|
|
|
|
$('#alert').dialog({
|
|
modal:true,
|
|
autoOpen: false,
|
|
width: 250,
|
|
height: 70,
|
|
overlay: {
|
|
opacity: 0.5,
|
|
background: "black"
|
|
},
|
|
buttons: {
|
|
"Ok": function() {
|
|
$(this).dialog("close");
|
|
}
|
|
}
|
|
});
|
|
|
|
/*
|
|
* confirm function
|
|
* @param String msg message to be displayed
|
|
* @param String operation function name called when 'ok'
|
|
*/
|
|
var confirm = function(msg, operation){
|
|
$('p#confirmMsg').text(msg);
|
|
$('#confirmDialog').dialog({
|
|
modal:true,
|
|
autoOpen: false,
|
|
width: 300,
|
|
height: 100,
|
|
overlay: {
|
|
opacity: 0.5,
|
|
background: "black"
|
|
},
|
|
buttons: {
|
|
"Ok": function() {
|
|
operation();
|
|
$(this).dialog("close");
|
|
$(this).dialog("destroy");
|
|
},
|
|
"Cancel": function() {
|
|
$(this).dialog("close");
|
|
$(this).dialog("destroy");
|
|
}
|
|
}
|
|
});
|
|
|
|
$('#confirmDialog').dialog('open');
|
|
return false;
|
|
};
|
|
|
|
$("#btntambah").bind("click",function(){
|
|
var rc = $('span#idx').text();
|
|
hitungTotal();
|
|
hitungJumlah();
|
|
$('#btnsimpan').enabledBtn();
|
|
$('#btntotal').enabledBtn();
|
|
rc++;
|
|
var tbl = "<table width='100%' border='0' cellpadding='2' id='tdetil' style='background-color:#000;'></table>";
|
|
var bretur = "<tr style='background-color:#FFFFFF;' id='rowdetil"+ c +"'>"
|
|
var btrans = "<tr style='background-color:#FFFFFF;' id='rowdetil"+ rc +"'>"
|
|
+ "<td width='18%' align='center'><select id='kodebarang"+ rc +"' name='kode[]' onChange='ambilKeterangan("+ rc +", "+ b +")' style='width:150px;'>" + kodeBarang +"</select></td>"
|
|
+ "<td width='40%' align='center'><input type='text' name='namabarang[]' id='namabarang"+ rc +"' value='' style='width:400px;' /></td>"
|
|
+ "<td width='9%' align='center'><select id='nomorbarang"+ rc +"' name='nomorbarang[]' onChange='ambilKeteranganNomor("+ rc +")' style='width:60px;'></select></td>"
|
|
+ "<td width='15%' align='center'><input type='text' name='hargabelisatuan[]' id='hargabeli"+ rc +"' value='' onclick='this.select()' style='width:90px;' /></td>"
|
|
+ "<td width='8%' align='center'><input type='text' name='jumlah[]' id='jmlt"+ rc +"' value='0' style='width:50px;' onclick='this.select()'/></td>"
|
|
+ "<td width='7%' align='center'><input type='button' value='hapus' name='fbhapus[]' id='"+ rc +"' class='hapus'/></td></tr>";
|
|
if(rc == 1)
|
|
{
|
|
$("#detiltransfer").append(tbl);
|
|
$("#tdetil").append(btrans);
|
|
} else
|
|
$("#tdetil").append(btrans);
|
|
ambilKeterangan(rc, b);
|
|
// note the present row id
|
|
$('span#barisSekarang').text(rc);
|
|
// note the index row
|
|
$('span#idx').text(rc);
|
|
// add the row count
|
|
var jb = $('span#jbaris').text();
|
|
jb++;
|
|
$('span#jbaris').text(jb);
|
|
// check row count
|
|
var sdata = $('span#banyakData').text();
|
|
if(jb >= sdata) $('#btntambah').disabledBtn();
|
|
});
|
|
|
|
$("#ebtntambah").bind("click",function(){
|
|
var rc = $('span#idx').text();
|
|
hitungTotal();
|
|
hitungJumlah();
|
|
rc++;
|
|
var tbl = "<table width='100%' border='0' cellpadding='2' id='tdetil' style='background-color:#000;'></table>";
|
|
var bretur = "<tr style='background-color:#FFFFFF;' id='rowdetil"+ rc +"'>"
|
|
+ "<td width='18%' align='center'><select id='kodebarang"+ rc +"' name='kode[]' onChange='ambilKeterangan("+ rc +", "+ b +")' style='width:150px;'>" + kodeBarang +"</select></td>"
|
|
+ "<td width='40%' align='center'><input type='text' name='namabarang[]' id='namabarang"+ rc +"' value='' style='width:400px;' /></td>"
|
|
+ "<td width='10%' align='center'><select id='nomorbarang"+ rc +"' name='nomorbarang[]' onChange='ambilKeteranganNomor("+ rc +")' style='width:60px;'></select></td>"
|
|
+ "<td width='12%' align='center'><input type='text' name='hargabelisatuan[]' id='hargabeli"+ rc +"' value='' onclick='this.select()' style='width:90px;' /></td>"
|
|
+ "<td width='10%' align='center'><input type='text' name='jumlah[]' id='jmlt"+ rc +"' value='0' style='width:50px;' onclick='this.select()'/></td>"
|
|
+ "<td width='7%' align='center'><input type='button' value='hapus' name='fbhapus[]' id='"+ rc +"' class='ehapus'/></td></tr>";
|
|
if(rc == 1)
|
|
{
|
|
$("#detilretur").append(tbl);
|
|
$("#tdetil").append(bretur);
|
|
} else
|
|
$("#tdetil").append(bretur);
|
|
ambilKeterangan(rc, b);
|
|
// note the present row id
|
|
$('span#barisSekarang').text(rc);
|
|
// note the index row
|
|
$('span#idx').text(rc);
|
|
// add the row count
|
|
var jb = $('span#jbaris').text();
|
|
jb++;
|
|
$('span#jbaris').text(jb);
|
|
// check row count
|
|
var sdata = $('span#banyakData').text();
|
|
if(jb >= sdata) $('#ebtntambah').disabledBtn();
|
|
});
|
|
|
|
/**
|
|
* Validasi input user
|
|
*/
|
|
var valid = "";
|
|
var cekInput = function() {
|
|
valid = "";
|
|
if(isNaN($('#totaltransfer').val()))
|
|
valid += "Jumlah Harus Angka!";
|
|
};
|
|
|
|
/* save data */
|
|
var simpanData = function(){
|
|
var message = $('#frmtransfer').formToArray();
|
|
$.ajax({ type: "post", dataType: "json", url: "revisifaktur_simpan.php", data: message,
|
|
success: function(result) {
|
|
if (result == 1) {
|
|
alert("Simpan Data berhasil!");
|
|
$('form[name="frmtransfer"]').resetForm();
|
|
$('#btnsimpan').disabledBtn();
|
|
} else
|
|
alert("Simpan Data Gagal!");
|
|
}
|
|
});
|
|
};
|
|
|
|
$("#btnsimpan").click(function(){
|
|
hitungTotal();
|
|
hitungJumlah();
|
|
cekInput();
|
|
if(valid == "") {
|
|
confirm('Anda Yakin Akan Simpan Data?', simpanData);
|
|
} else
|
|
alert(valid);
|
|
});
|
|
|
|
//cek faktur
|
|
$('input[name="nofakturedit"]').bind('blur', function(){
|
|
var postvars = {
|
|
nofaktur : $("input[name='nofakturedit']").val(),
|
|
operation: "cekfaktur",
|
|
status: "ok"
|
|
};
|
|
if ($("input[name='nofakturedit']").val() != "") {
|
|
$.post('../ajaxbarang.php', postvars, function(data) {
|
|
var hasil = eval('('+data+')');
|
|
if (hasil[0] == 1) {
|
|
alert('PERHATIAN,NO.FAKTUR SUDAH ADA!');
|
|
}else{
|
|
alert('No.faktur belum terdaftar,silahkan dilanjut..');
|
|
}
|
|
});
|
|
}
|
|
});
|
|
|
|
/* delete data */
|
|
var ehapusData = function(){
|
|
var brs = $('span#barisSekarang').text();
|
|
// hapus db
|
|
var message = {
|
|
idtransfer:$('#idtransfer').val(),
|
|
jumlah:$('#jmlt'+brs).val(),
|
|
nomor:$('#nomorbarang'+brs).val(),
|
|
harga:$('#hargabeli'+brs).val()
|
|
};
|
|
$.ajax({ type: "post", dataType: "json", url: "revisifaktur_hapus.php", data: message,
|
|
success: function(result) {
|
|
if (result.hasil == 1) {
|
|
alert("Hapus Data berhasil!");
|
|
} else
|
|
alert("Hapus Data Gagal!");
|
|
}
|
|
});
|
|
|
|
$("#rowdetil" + brs).remove();
|
|
$('#ebtntambah').enabledBtn();
|
|
hitungTotal();
|
|
hitungJumlah();
|
|
// minus the row count
|
|
var jb = $('span#jbaris').text();
|
|
jb--;
|
|
$('span#jbaris').text(jb);
|
|
// check row count
|
|
if(jb <= 0) {
|
|
$('#btntotal').disabledBtn();
|
|
$('#btnsimpan').disabledBtn();
|
|
}
|
|
};
|
|
|
|
$('.ehapus').live('click', function() {
|
|
$('span#barisSekarang').text(this.id);
|
|
confirm('Anda Yakin Akan Hapus Baris?', ehapusData);
|
|
});
|
|
var hapusData = function(){
|
|
var brs = $('span#barisSekarang').text();
|
|
$("#rowdetil" + brs).remove();
|
|
$('#btntambah').enabledBtn();
|
|
$('#ebtntambah').enabledBtn();
|
|
hitungTotal();
|
|
hitungJumlah();
|
|
// minus the row count
|
|
var jb = $('span#jbaris').text();
|
|
jb--;
|
|
$('span#jbaris').text(jb);
|
|
// check row count
|
|
// if(jb <= 0) {
|
|
// $('#btnsimpan').disabledBtn();
|
|
// }
|
|
};
|
|
|
|
$('.hapus').live('click', function() {
|
|
$('span#barisSekarang').text(this.id);
|
|
confirm('Anda Yakin Akan Hapus Baris?', hapusData);
|
|
});
|
|
|
|
if($.browser.msie)
|
|
$('input').focus(function(){$(this).addClass('iefocus');}).blur(function(){$(this).removeClass('iefocus');});
|
|
});
|
|
|
|
/**
|
|
* inisialisasi nilai
|
|
*/
|
|
function setNol()
|
|
{
|
|
$('span#idx').text(0);
|
|
$('span#sbaris').text(0);
|
|
$('span#barisSekarang').text(0);
|
|
$('span#jbaris').text(0);
|
|
$('span#banyakData').text(0);
|
|
}
|
|
|
|
function proses(nofaktur)
|
|
{
|
|
var bdata = 0;
|
|
var kdsupp = "";
|
|
var supp = "";
|
|
var pvars = {nofaktur:nofaktur};
|
|
$.post('../umum/ambil_kode_barang.php', pvars, function(data){
|
|
kodeBarang = "";
|
|
var no_barang = eval('('+data+')');
|
|
for(i in no_barang) {
|
|
kodeBarang += "<option value=" + no_barang[i].kode_barang + ">" + no_barang[i].kode_barang + "</option>";
|
|
kdsupp = no_barang[i].kd_supplier;
|
|
supp = no_barang[i].supplier;
|
|
tglnota = no_barang[i].tglnota;
|
|
tglmasuk = no_barang[i].tglmasuk;
|
|
tgljthtempo = no_barang[i].tgljthtempo;
|
|
status = no_barang[i].status;
|
|
keterangan = no_barang[i].keterangan;
|
|
nik = no_barang[i].nik;
|
|
bdata = no_barang[i].jdata;
|
|
}
|
|
$('#kodesupplier').val(kdsupp);
|
|
$('#namasupplier').val(supp);
|
|
$('#tglnota').val(encTgl(tglnota));
|
|
$('#tglmasuk').val(encTgl(tglmasuk));
|
|
$('#tgljthtempo').val(encTgl(tgljthtempo));
|
|
$('#status').val(status);
|
|
$('#keterangan').val(keterangan);
|
|
$('#nik').val(nik);
|
|
$('span#banyakData').text(bdata);
|
|
});
|
|
|
|
$('#btnsimpan').visibleElm();
|
|
$('#btnsimpan').enabledBtn();
|
|
}
|
|
|
|
|
|
/**
|
|
* Mengambil keterangan berdasarkan kode barang tertentu
|
|
* @param int i baris yang akan diambil keterangannya
|
|
*/
|
|
function ambilKeterangan(i, status)
|
|
{
|
|
var postvar = {idbarang:$('#kodebarang' + i).val()};
|
|
if(status == "e") var postvar = {idbarang:$('#kodebarang' + i).val(), nobarang:$('#nomorbarang' + i).val()};
|
|
$.post('../umum/ambil_barang.php', postvar, function(data)
|
|
{
|
|
var keterangan = eval('('+data+')');
|
|
$('#namabarang' + i).val(keterangan[0].nama_barang);
|
|
$('#jmlt' + i).val(keterangan[0].stok);
|
|
var hrgp = decodeHrgP(keterangan[0].harga_beli);
|
|
$('#hargabeli' + i).val(hrgp);
|
|
});
|
|
if(status != "p")
|
|
{
|
|
$.post('../umum/ambil_nomor.php', postvar, function(data)
|
|
{
|
|
var opt = "";
|
|
var nm = eval('('+data+')');
|
|
for(n in nm)
|
|
opt += "<option value="+nm[n].nomor+">"+nm[n].nomor+"</option>";
|
|
if(status == "b")
|
|
$('#nomorbarang' + i).empty();
|
|
$('#nomorbarang' + i).append(opt);
|
|
});
|
|
}
|
|
}
|
|
|
|
/**
|
|
* Mengambil keterangan berdasarkan kode barang dan nomor barang tertentu
|
|
* @param int i baris yang akan diambil keterangannya
|
|
*/
|
|
function ambilKeteranganNomor(i)
|
|
{
|
|
var postvar = {idbarang:$('#kodebarang' + i).val(), nobarang:$('#nomorbarang' + i).val()};
|
|
$.post('../umum/ambil_barang.php', postvar, function(data)
|
|
{
|
|
var keterangan = eval('('+data+')');
|
|
$('#namabarang' + i).val(keterangan[0].nama_barang);
|
|
$('#jmlt' + i).val(keterangan[0].stok);
|
|
var hrgp = decodeHrgP(keterangan[0].harga_beli);
|
|
$('#hargabeli' + i).val(hrgp);
|
|
});
|
|
}
|
|
|
|
/**
|
|
* Menghitung total retur
|
|
*/
|
|
function hitungTotal()
|
|
{
|
|
var total = 0;
|
|
var jb = $('span#idx').text();
|
|
for(var id=1; id<=jb; id++)
|
|
{
|
|
var jm = $("#jmlt" + id).val();
|
|
var hr = $("#hargabeli" + id).val();
|
|
if(jm == null && hr == null) continue;
|
|
else
|
|
{
|
|
var j = parseInt(jm);
|
|
var h = parseInt(hr);
|
|
total += (j * h);
|
|
}
|
|
}
|
|
$("#totaltransfer").val(total);
|
|
}
|
|
|
|
/**
|
|
* Melakukan decode harga pokok
|
|
*/
|
|
function decodeHrgP(strHrgP){
|
|
var i = 0;
|
|
var kode = "";
|
|
for(i=0;i<strHrgP.length;i++){
|
|
kode += dec(strHrgP.substr(i,1));
|
|
}
|
|
return kode;
|
|
}
|
|
function dec(hrg){
|
|
switch(hrg){
|
|
case "B" : return "1";break;
|
|
case "R" : return "2";break;
|
|
case "A" : return "3";break;
|
|
case "W" : return "4";break;
|
|
case "N" : return "5";break;
|
|
case "F" : return "6";break;
|
|
case "O" : return "7";break;
|
|
case "X" : return "8";break;
|
|
case "E" : return "9";break;
|
|
case "S" : return "0";break;
|
|
}
|
|
}
|
|
/**
|
|
* Menghitung jumlah item transfer
|
|
*/
|
|
function hitungJumlah()
|
|
{
|
|
var jum = 0;
|
|
jumlah = 0;
|
|
var jb = $('span#idx').text();
|
|
for(var id=1; id<=jb; id++)
|
|
{
|
|
var jum = $("#jmlt" + id).val();
|
|
if(jum == null) continue;
|
|
else
|
|
jumlah += parseInt(jum);
|
|
}
|
|
$("span#banyakData").val(jumlah);
|
|
}
|
|
|
|
/**
|
|
* Melakukan cek inputan jumlah barang
|
|
*/
|
|
function cekJumlah()
|
|
{
|
|
var jb = $('span#idx').text();
|
|
for(var id=1; id<=jb; id++)
|
|
{
|
|
var inputan = 0;
|
|
|
|
var jm = $("#jmlt" + id).val();
|
|
if(jm == null) continue;
|
|
else
|
|
{
|
|
if(parseInt(jm) == 0) inputan = 1;
|
|
}
|
|
}
|
|
return inputan;
|
|
}
|
|
|
|
/**
|
|
* Melakukan disable elemen setelah disimpan
|
|
*/
|
|
function disableAll()
|
|
{
|
|
document.forms[0].btncari.disabled = true;
|
|
var jb = $('span#idx').text();
|
|
for(var i=1; i<=jb; i++)
|
|
{
|
|
if(document.getElementById('jmlt'+i) != null)
|
|
document.getElementById('jmlt'+i).readOnly = true;
|
|
if(document.getElementById(i) != null)
|
|
document.getElementById(i).disabled = true;
|
|
}
|
|
document.forms[0].tokotujuan.readOnly = true;
|
|
document.forms[0].diskon.readOnly = true;
|
|
|
|
}
|
|
|
|
function encTgl(val){
|
|
var tgl = val;
|
|
var y = tgl.substr(0,4);
|
|
var m = tgl.substr(5,2);
|
|
var d = tgl.substr(8,2);
|
|
var tglBaru = d+"-"+m+"-"+y;
|
|
return tglBaru;
|
|
}
|
|
function decTgl(val){
|
|
var tgl = val;
|
|
var d = tgl.substr(0,2);
|
|
var m = tgl.substr(3,2);
|
|
var y = tgl.substr(6,4);
|
|
var tglBaru = y+"-"+m+"-"+d;
|
|
return tglBaru;
|
|
}
|