/******************************************************************* PHP Class : /Controller/Promo/BelidiscController Description : Promo Beli & Diskon Created By : Siau Pheng (siaupheng@3fonia.com). Created Date : September 28th, 2014. Last Modified : October 29th, 2026. (c) 3FONIA Software; WWW.3FONIA.COM. *******************************************************************/ var PromoBeliDiscJS = { PHP: '', KODE: '', index: function(q){ $('#butTambah').click(() => this.promo_tambah()); $('#butUbah').click(() => this.promo_ubah()); $('#butHapus').click(() => this.promo_hapus()); $('#butSimpan').click(() => this.promo_simpan()); $('#butBatal').click(() => this.promo_batal()); this.data_query('master', 'view', ((typeof(q)!=='undefined') ? q : '')); }, promo_brow: function(){ var _isi = new String('
 
'); this.winBPromo = FoniaJS.showWindow('BPromo', 'Daftar Promo', _isi, 'xl', '', () => { $('#winBPromo') .find('#Cari_Promo').keydown((e) => { var key = e.keyCode || e.which || 0; if (key==13 && e.target.value!='') this.data_query('brow-promo'); }).end() .find('#butSearch').click(() => this.data_query('brow-promo')).end() .find('#butAll').click(() => { $('#winBPromo').find('#Cari_Promo').val(''); this.data_query('brow-promo'); }); this.data_query('brow-promo'); }); }, promo_select: function(acell){ FoniaJS.closeWindow(this.winBPromo); $('#Grup_PromoID').val(acell[0]); this.data_query('master', 'view'); }, promo_tambah: function(){ this.data_query('master', 'add'); }, promo_ubah: function(){ if ($('#Grup_PromoID').val() == 0){ FoniaJS.showError("Silakan pilih Nama Promo !"); return; } this.data_query('master', 'edit'); }, promo_hapus: function(){ if ($('#Grup_PromoID').val() == 0){ FoniaJS.showError("Silakan pilih Nama Promo !"); return; } FoniaJS.showConfirm('Konfirmasi', 'Yakin akan hapus '+$('#Promo_Nama').val()+' ?', () => { new Request({ url: this.PHP + '/proses_delete', sendParam: ['Grup_PromoID'], onSuccess: (ajson) => { if (ajson.status === true){ $('#Grup_PromoID').val(0); this.data_query('master', 'view'); FoniaJS.showInfo('Proses hapus data sukses!'); } else { FoniaJS.showInfo('Ada masalah dalam proses hapus data!'); } } }).send(); }, 'danger'); }, promo_simpan: function(mode){ this.data_query('master', 'save'); }, promo_batal: function(){ FoniaJS.showConfirm('Konfirmasi', 'Yakin akan membatalkan ?', () => { this.data_query('master', 'cancel'); $('#Grup_PromoID').val(0); }, 'danger'); }, produk_brow: function(){ var _isi = new String('
 
'); 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); this.detail_produk('insert', 0, acell[0], acell[1], '0'); }, detail_produk: function(mode, PromoID, InvID, SatuanID, Kode_Varian){ new Request({ url: this.PHP + '/form_produk', sendParam: ['mode','mode_detail='+mode,'Grup_PromoID','PromoID='+PromoID,'InvID='+InvID,'SatuanID='+SatuanID,'Kode_Varian='+Kode_Varian], onSuccess: (ajson) => { this.winDetail = FoniaJS.showWindow('Detail', 'Detail Barang Promo', ajson.html, 'lg', [{},{i:'butBatal'},{i:'butWSimpan',v:'Simpan',c:'success'}], () => { $('#winDetail') //select_all, clear_all .find('#butWSimpan').click(() => this.detail_simpan()); FoniaJS.AutoComplete('#Nama_Produk', this.PHP + '/auto_produk', ['Grup_PromoID'], {'selectFunc':this.Produk_Comp}); $('#Nama_Produk').click(() => $('#Nama_Produk').select()); this.update_items(InvID, SatuanID); FoniaJS.setFocus('#Nama_Produk'); }); } }).send(); }, detail_tambah: function() { this.detail_produk('insert', 0, 0, 0, '0'); }, detail_ubah: function(acell){ this.detail_produk('update', acell[0], acell[1], acell[2], acell[3]); }, detail_hapus: function(acell){ FoniaJS.showConfirm('Konfirmasi', 'Hapus item "'+acell[5]+'" ?', () => { new Request.JSONF({ url: this.PHP + '/table_detail', sendParam: ['mode','mode_detail=delete','Grup_PromoID','PromoID='+acell[0]], }).send(); }, 'danger'); }, detail_simpan: function(){ if ($('#InvID').val() == 0) { FoniaJS.showError('Silakan masukkan Nama Barang Promo !'); return; } new Request.JSONF({ url: this.PHP + '/table_detail', sendParam: ['mode','mode_detail','Grup_PromoID','PromoID','InvID','SatuanID','Kode_Varian'], onSuccess: () => FoniaJS.closeWindow(this.winDetail) }).send(); }, varian_show: function(){ new Request.JSONF({ url: this.PHP + '/form_varian', sendParam: ['InvID','SatuanID','Kode_Varian'] }).send(); }, data_query: function(tipe, mode, kd_tx){ if (tipe=="master"){ mode = (mode) ? mode : ''; var sparam = ['mode='+mode,'Grup_PromoID'+((typeof(kd_tx)!=='undefined')?'='+kd_tx:'')]; if (-1 !== mode.search(/save/i)) sparam = ['mode='+mode,'Grup_PromoID','CabID','Grup_MemberID','Qty_Kali','Tipe_Promo','Promo_Nama','Promo_Minggu','Promo_Disc','Tgl_Mulai','Tgl_Akhir','Aktif']; new Request({ url: this.PHP + '/form_master', sendParam: sparam, onSuccess: (ajson) => { $('#divTXMaster').html(ajson.html); $('#butBrow').click(() => this.promo_brow()); this.data_query('tabel-detail'); if ($.inArray($("#mode").val(),['add','edit']) !== -1) { $('#butBrow').prop('disabled', true).removeClass('btn-info').addClass('btn-secondary'); $('#butTambah').addClass('d-none'); $('#butUbah').addClass('d-none'); $('#butHapus').addClass('d-none'); $('#butSimpan').removeClass('d-none'); $('#butBatal').removeClass('d-none'); } else { $('#butBrow').prop('disabled', false).removeClass('btn-secondary').addClass('btn-info'); $('#butTambah').removeClass('d-none'); $('#butUbah').removeClass('d-none'); $('#butHapus').removeClass('d-none'); $('#butSimpan').addClass('d-none'); $('#butBatal').addClass('d-none'); } if ($('#Grup_PromoID').val() == 0) { $('#butUbah').prop('disabled', true); $('#butHapus').prop('disabled', true); } } }).send(); } else if (tipe=="tabel-detail"){ new Request.JSONF({ url: this.PHP + '/table_detail', sendParam: ['mode','Grup_PromoID'] }).send(); } else if (tipe=="brow-promo"){ new Request.JSONF({ url: this.PHP + '/brow_promo', sendParam: ['Cari_Promo'], onSuccess: () => FoniaJS.setFocus('#Cari_Promo') }).send(); } else if (tipe=="brow-produk"){ new Request.JSONF({ url: this.PHP + '/brow_produk', sendParam: ['Cari_Produk','Grup_PromoID'], onSuccess: () => FoniaJS.setFocus('#Cari_Produk') }).send(); } }, Produk_Comp: function(item){ $('#InvID').val(item.value); $('#Nama_Produk').val(item.text); PromoBeliDiscJS.update_items(item.value, item.data); }, update_items: function(InvID, SatuanID){ new Request.JSONF({ url: this.PHP + '/option_satuan', sendParam: ['InvID='+InvID,'SatuanID='+SatuanID], onSuccess: () => this.varian_show() }).send(); } };