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.
508 lines
13 KiB
JavaScript
508 lines
13 KiB
JavaScript
/* DANIEL */
|
|
|
|
/**
|
|
* Menambah baris baru untuk pengisisan 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');
|
|
}
|
|
}
|
|
|
|
$("#tanggal").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;
|
|
};
|
|
|
|
/* event saat button tambah di click */
|
|
$("#btntambah").bind("click",function(){
|
|
var rc = $('span#idx').text();
|
|
$('#btnsimpan').enabledBtn();
|
|
rc++;
|
|
var tbl = "<table width='100%' border='1' cellpadding='2' id='tdetil' style='background-color:#000;'></table>";
|
|
var bretur = "<tr style='background-color:#FFFFFF;' id='rowdetil"+ c +"'>";
|
|
var trdetil = "<tr style='background-color:#FFFFFF; text-align:center;' id='rowdetil"+ rc +"'>"
|
|
+ "<td><input type='button' value='cari' class='caribarang'/><input type='text' name='kodebarang[]' id='kodebarang"+ rc +"' value='' style='width:100px;'/>"
|
|
+ "<input type='hidden' name='kodelama[]' id='kodelama"+ rc +"' value=''/>"
|
|
+ "<input type='hidden' name='idgabungan[]' id='idgabungan"+ rc +"' value=''/></td>"
|
|
+ "<td><input type='text' name='nomor[]' id='nomor"+ rc +"' onblur='cekBarang("+ rc +")' value='' style='width:40px;'/></td>"
|
|
+ "<td><input type='text' name='namabarang[]' id='namabarang"+ rc +"' value='' style='width:250px;' /></td>"
|
|
+ "<td><input type='hidden' name='stok[]' id='stok"+ rc +"' value='' style='width:30px;' readonly='readonly' /><input type='text' name='stokrev[]' id='stokrev"+ rc +"' value='' style='width:30px;' /></td>"
|
|
+ "<td><input type='text' name='hplama[]' id='hplama"+ rc +"' value='' onclick='this.select()' style='width:100px;' readonly='readonly' /></td>"
|
|
+ "<td><input type='text' name='hjlama[]' id='hjlama"+ rc +"' value='' onclick='this.select()' style='width:100px;' readonly='readonly' /></td>"
|
|
+ "<td><input type='text' name='hpbaru[]' id='hpbaru"+ rc +"' value='' onclick='this.select()' style='width:100px;' /></td>"
|
|
+ "<td><input type='text' name='hjbaru[]' id='hjbaru"+ rc +"' value='' onclick='this.select()' style='width:100px;' /></td>"
|
|
+ "<td><input type='button' value='hapus' name='fbhapus[]' id='"+ rc +"' class='hapus'/></td></tr>";
|
|
|
|
$("#tdetil").append(trdetil);
|
|
// 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);
|
|
$('#btnsimpan').enabledBtn();
|
|
$('#kodebarang' + rc).focus();
|
|
});
|
|
|
|
/* event saat button simpan di click */
|
|
$("#btnsimpan").click(function(){
|
|
var valid = cekInput();
|
|
//alert(valid);
|
|
if(valid == "valid") {
|
|
confirm('Anda Yakin Akan Simpan Data?', simpanData);
|
|
} else {
|
|
alert(valid);
|
|
}
|
|
});
|
|
|
|
/* save data */
|
|
var simpanData = function(){
|
|
$('form[name="fubah_hp"]').append("<input type='hidden' name='operation' value='simpan'/>");
|
|
$('form[name="fubah_hp"]').append("<input type='hidden' name='status' value='ok'/>");
|
|
var message = $('form[name="fubah_hp"]').formToArray();
|
|
$.ajax({ type: "post", dataType: "json", url: "fungsi_ubah_hp.php", data: message,
|
|
success: function(result) {
|
|
if (result == "true") {
|
|
alert("Simpan Data berhasil!");
|
|
$('form[name="fubah_hp"]').resetForm();
|
|
} else
|
|
alert("Simpan Data Gagal!");
|
|
}
|
|
});
|
|
};
|
|
|
|
/* event saat button hapus di click */
|
|
$('.hapus').live('click', function() {
|
|
$('span#barisSekarang').text(this.id);
|
|
confirm('Anda Yakin Akan Hapus Baris?', hapusData);
|
|
});
|
|
|
|
/* fungsi untuk menghapus baris */
|
|
var hapusData = function(){
|
|
var brs = $('span#barisSekarang').text();
|
|
$("#rowdetil" + brs).remove();
|
|
$('#btntambah').enabledBtn();
|
|
// minus the row count
|
|
var jb = $('span#jbaris').text();
|
|
jb--;
|
|
$('span#jbaris').text(jb);
|
|
// check row count
|
|
if(jb <= 0) {
|
|
$('#btnsimpan').disabledBtn();
|
|
}
|
|
};
|
|
|
|
/* pencarian barang */
|
|
$('#pencarian').dialog({
|
|
modal:true,
|
|
autoOpen: false,
|
|
width: 700,
|
|
height: 400,
|
|
overlay: {
|
|
opacity: 0.5,
|
|
background: "black"
|
|
},
|
|
buttons: {
|
|
"Cari": function() {
|
|
cariBarang();
|
|
},
|
|
"Tutup": function() {
|
|
$(this).dialog('close');
|
|
}
|
|
}
|
|
});
|
|
|
|
$("#txtkode").keydown(function(e){
|
|
if(e.keyCode == 13) {
|
|
cariBarang();
|
|
}
|
|
});
|
|
$("#txtnama").keydown(function(e){
|
|
if(e.keyCode == 13) {
|
|
cariBarang();
|
|
}
|
|
});
|
|
|
|
/* event saat button cari barang di click */
|
|
$('.caribarang').live('click', function(){
|
|
$("#txtkode").val("");
|
|
$("#txtnama").val("");
|
|
$("#hasilbrg").html("");
|
|
$('#pencarian').dialog('open');
|
|
$("#txtkode").focus();
|
|
return false;
|
|
});
|
|
|
|
/* pencarian supplier */
|
|
$('#pencariansupplier').dialog({
|
|
modal:true,
|
|
autoOpen: false,
|
|
width: 500,
|
|
height: 400,
|
|
overlay: {
|
|
opacity: 0.5,
|
|
background: "black"
|
|
},
|
|
buttons: {
|
|
"Cari": function() {
|
|
cariSupplier();
|
|
},
|
|
"Tutup": function() {
|
|
$(this).dialog('close');
|
|
}
|
|
}
|
|
});
|
|
|
|
$("#txtkodesupplier").keydown(function(e){
|
|
if(e.keyCode == 13) {
|
|
cariSupplier();
|
|
}
|
|
});
|
|
$("#txtnamasupplier").keydown(function(e){
|
|
if(e.keyCode == 13) {
|
|
cariSupplier();
|
|
}
|
|
});
|
|
|
|
/* event saat button cari supplier di click */
|
|
$('input[name="btncari"]').click( function(){
|
|
$("#txtkodesupplier").val("");
|
|
$("#txtnamasupplier").val("");
|
|
$("#hasilsupplier").html("");
|
|
$('#pencariansupplier').dialog('open');
|
|
$("#txtnamasupplier").focus();
|
|
return false;
|
|
});
|
|
|
|
if($.browser.msie)
|
|
$('input').focus(function(){$(this).addClass('iefocus');}).blur(function(){$(this).removeClass('iefocus');});
|
|
});
|
|
|
|
function cariBarang() {
|
|
var postvars = { kode:$("#txtkode").val(),
|
|
nama:$("#txtnama").val(),
|
|
kd_supp:$("#kodesupplier").val(),
|
|
operation: "cari", status: "ok" };
|
|
$.post('fungsi_ubah_hp.php', postvars, function(data) {
|
|
var nota = eval('('+data+')');
|
|
var tabel = "<table width=100% border='0' style='background-color:#000; text-align:center;'>"
|
|
+ "<tr style='background-color:#000; color:#FFF; font-weight:bold;'>"
|
|
+ "<td width=5%>No.</td><td width=25%>Kode Barang</td><td width=30%>Nama</td>"
|
|
+ "<td width=30%>Supplier</td><td width=30%>HP</td><td width=30%>HJ</td></tr>";
|
|
var chasil = 1;
|
|
for(i in nota) {
|
|
tabel += "<tr style='background-color:#FFF;'><td>"+chasil+"</td><td><a href=\"javascript:setKodeBarang('"+nota[i].kode_barang+"')\">"
|
|
+nota[i].kode_barang+"</a></td><td>"+nota[i].nama_barang+"</td><td>"+nota[i].supplier+"</td><td>"+nota[i].hp+"</td><td>"+nota[i].hj+"</td></tr>";
|
|
chasil++;
|
|
}
|
|
tabel += "</table>";
|
|
$("#hasilbrg").html(tabel);
|
|
});
|
|
}
|
|
|
|
/**
|
|
* inisialisasi nilai
|
|
*/
|
|
function setNol() {
|
|
$('span#idx').text(0);
|
|
$('span#sbaris').text(0);
|
|
$('span#barisSekarang').text(0);
|
|
$('span#jbaris').text(0);
|
|
$('span#banyakData').text(0);
|
|
$('#btntambah').disabledBtn();
|
|
$('#btnsimpan').disabledBtn();
|
|
}
|
|
|
|
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;
|
|
bdata = no_barang[i].jdata;
|
|
}
|
|
var postvars = { kd_supp:kdsupp, operation: "get_rhp", status: "ok" };
|
|
$.post('fungsi_ubah_hp.php', postvars, function(data) {
|
|
var dt = eval('('+data+')');
|
|
$('input[name="norhp"]').val(dt);
|
|
});
|
|
$('#kodesupplier').val(kdsupp);
|
|
$('#namasupp').val(supp);
|
|
$('#btntambah').enabledBtn();
|
|
|
|
});
|
|
}
|
|
|
|
/**
|
|
* mengosongkan field di form
|
|
* @param id
|
|
* @return
|
|
*/
|
|
function clearValue(id) {
|
|
//$('#kodebarang' + id).val("");
|
|
$('#nomor' + id).val("");
|
|
$('#namabarang' + id).val("");
|
|
$('#hplama' + id).val("");
|
|
$('#hjlama' + id).val("");
|
|
$('#hpbaru' + id).val("");
|
|
$('#hjbaru' + id).val("");
|
|
}
|
|
|
|
/**
|
|
* memberi nilai pada field kode barang dari hasil pencarian
|
|
* @param kode
|
|
* @return
|
|
*/
|
|
function setKodeBarang(kode) {
|
|
var id = $('#barisSekarang').text();
|
|
clearValue(id);
|
|
$('#kodebarang' + id).val(kode);
|
|
$('#pencarian').dialog('close');
|
|
}
|
|
|
|
/**
|
|
* memberi nilai keterangan dari barang
|
|
* @param kode
|
|
* @param kodelama
|
|
* @param nama
|
|
* @param idgab
|
|
* @param stok
|
|
* @param hp
|
|
* @param hj
|
|
* @return
|
|
*/
|
|
function setNilaiBrg(kode, kodelama, nama, idgab, stok, hp, hj) {
|
|
var id = $('#barisSekarang').text();
|
|
var hrgP = decodeHrgP(hp);
|
|
$('#kodebarang' + id).val(kode);
|
|
$('#kodelama' + id).val(kodelama);
|
|
$('#namabarang' + id).val(nama);
|
|
$('#idgabungan' + id).val(idgab);
|
|
$('#stok' + id).val(stok);
|
|
$('#stokrev' + id).val(stok);
|
|
$('#hplama' + id).val(hrgP);
|
|
$('#hjlama' + id).val(hj);
|
|
$('#hpbaru' + id).val(hrgP);
|
|
$('#hjbaru' + id).val(hj);
|
|
}
|
|
|
|
/**
|
|
* melakukan pengecekan apakah barang tersebut ada atau tidak
|
|
* @param id
|
|
* @return
|
|
*/
|
|
function cekBarang(id) {
|
|
if($('#nomor' + id).val() == ""){
|
|
$('p#alertmsg').html("Nomor Barang harus diisi!");
|
|
$('#alert').dialog('open');
|
|
} else {
|
|
var postvar = {kode:$('#kodebarang' + id).val(),
|
|
nomor:$('#nomor' + id).val(),
|
|
kd_supp: $('#kodesupplier').val(),
|
|
operation: "cek", status: "ok"};
|
|
$.post('fungsi_ubah_hp.php', postvar, function(data) {
|
|
var keterangan = eval('('+data+')');
|
|
if(keterangan == "true") {
|
|
ambilBarang(id);
|
|
} else if(keterangan == "false") {
|
|
$('p#alertmsg').html("Barang tidak ada!");
|
|
$('#alert').dialog('open');
|
|
clearValue(id);
|
|
}
|
|
});
|
|
}
|
|
}
|
|
|
|
/**
|
|
* mengambil data dari barang yang dibutuhkan
|
|
* @param id
|
|
* @return
|
|
*/
|
|
function ambilBarang(id) {
|
|
var postvar = {kode:$('#kodebarang' + id).val(),
|
|
nomor:$('#nomor' + id).val(),
|
|
kd_supp:$("#kodesupplier").val(),
|
|
operation: "ambil", status: "ok"};
|
|
$.post('fungsi_ubah_hp.php', postvar, function(data) {
|
|
var nota = eval('('+data+')');
|
|
if(nota != "") {
|
|
setNilaiBrg(nota[0].kode_barang, nota[0].kode_lama, nota[0].nama_barang, nota[0].id_gabungan, nota[0].stok, nota[0].hp, nota[0].hj);
|
|
}
|
|
});
|
|
}
|
|
|
|
/**
|
|
* melakukan validasi input
|
|
* @return
|
|
*/
|
|
function cekInput() {
|
|
var jb = $('span#idx').text();
|
|
for(var id=1; id<=jb; id++) {
|
|
var jm = $("#hjbaru" + id).val();
|
|
var hp = $("#hpbaru" + id).val();
|
|
var kb = $("#kodebarang" + id).val();
|
|
var no = $("#nomor" + id).val();
|
|
if(jm == null) continue;
|
|
else {
|
|
if(kb == "" || no == "" || hp == ""){
|
|
return "Data Harus Lengkap";
|
|
}
|
|
if(IsNumeric(jm) == false){
|
|
return "HJ Harus Angka!";
|
|
}
|
|
}
|
|
}
|
|
return "valid";
|
|
}
|
|
|
|
/**
|
|
* melakukan pengecekan apakah input tersebut numerik atau bukan
|
|
* @param input
|
|
* @return
|
|
*/
|
|
function IsNumeric(input) {
|
|
return (input - 0) == input && input.length > 0;
|
|
}
|
|
|
|
/**
|
|
*
|
|
* 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;
|
|
}
|
|
}
|