Add JS files

This commit is contained in:
2025-05-12 15:45:17 +00:00
parent 7ddd15c4fa
commit 967007b0c7
3239 changed files with 1157078 additions and 0 deletions

View File

@@ -0,0 +1,138 @@
//START:
$(document).ready(
function() {
var checkgen;
// confirm exit
$("#type").prop("disabled", true);
window.onbeforeunload = confirmExit;
// prevent submit by enter press
lockEnter();
//initialize table
InitializeTable();
$('#parent_id').on('inputchange',
function() {
$(".loading_panel").css("display", "block");
setTimeout(function() {
getParentInfo($("#parent_id").val(), 'Accounts');
}, 1000);
});
// kasy
$("#cash").change(function() {
$("#cash_id").val(($("#cash :selected").val()));
getCashCurrency($("#cash :selected").val());
$("#cash").prop("disabled", true);
});
// typ dokumenty
$("#type").change(function() {
$("#type_id").val(($("#type :selected").val()));
});
// kurs NBP
$("#currency").change(function() {
$("#currency_id").val(($("#currency :selected").val()));
getNBPCurrencyExchange($("#currency_id").val());
//$("#currency").prop("disabled", true);
});
//$("#register_date").prop("disabled", true);
$("#assigned_user_name").prop("disabled", true);
//$("#register_date_trigger").hide();
$("#btn_assigned_user_name").hide();
$("#btn_clr_assigned_user_name").hide();
$(".loading_panel").css("display", "none");
if (($("#new_number").val() == true)
&& ($("#duplicate").val() != true)&& ($("#ecmsale").val() != true)) {
checkgen=1;
} else if (($("#new_number").val() == true)
&& ($("#duplicate").val() == true)) {
checkgen=1;
} else if (($("#new_number").val() == true)
&& ($("#ecmsale").val() == true)) {
checkgen=1;
if($("#cash_id").val()!=""){
generateDocNumber();
}
var tmp = new Object();
var tmp2 = [$('#trans_id').val()];
tmp.selection_list=tmp2;
LoadTransaction(tmp);
} else {
checkgen=0;
}
$('#document_no').attr('readonly',false);
if(checkgen==1){
$("#cash").change(function() {
$("#cash_id").val(($("#cash :selected").val()));
generateDocNumber();
});
}
$("#amount").change(function(e){
$(this).val(FormatNumber($(this).val()));
});
});
// handle save
check_form_custom = function(formname,only_check) {
window.onbeforeunload = null;
$(".loading_panel").css("display", "block");
$("#register_date").prop("disabled", false);
$("#assigned_user_name").prop("disabled", false);
$("#type").prop("disabled", false);
$(".loading_panel").css("display", "none");
if(only_check==1) removeFromValidate('EditView', 'amount');
if(only_check!=1) addToValidate('EditView', 'amount', 'id', 'true', 'Kwota jest wymagana!');
if (check_form(formname) == false) {
$("#register_date").prop("disabled", true);
$("#assigned_user_name").prop("disabled", true);
window.onbeforeunload = confirmExit;
$(".loading_panel").css("display", "none");
$("#type").prop("disabled", true);
return false;
} else {
if(only_check!=1){
$("#cash").prop("disabled", false);
$("#type").prop("disabled", false);
$("#currency").prop("disabled", false);
$("#total_transactions").val(UnformatNumber($("#total_transactions").val()));
PrepareTabletoSave();
$('#amount').val(UnformatNumber($('#amount').val()));
} else {
$("#type").prop("disabled", true);
}
return true;
}
};
function confirmExit() {
return "";
}
function lockEnter() {
// prevent default
$(window).keydown(function(event) {
if (event.keyCode == 13 && $(":focus").prop('tagName')!='TEXTAREA') {
event.preventDefault();
return false;
}
});
}

View File

@@ -0,0 +1,6 @@
//START:
$(document).ready(
function() {
$(".loading_panel").css("display", "none");
});

View File

@@ -0,0 +1,332 @@
var ajax_url = "index.php?module=EcmNewKpkws&action=javahelper&to_pdf=1";
var tableid='#transactionstable';
function FormatNumber(number, precision) {
if (number < 0)
number = 0;
var precision = precision || 2;
// make string..
number = number + '';
number = number.replace(',', '.');
// round
number = toFixed(number, precision);
// add 1000 sep
var tmp = number.split(".");
var c = '';
for (var i = tmp[0].length; i != -1; i--) {
c += tmp[0].charAt(i);
if ((tmp[0].length - i) == 0 || i == 0)
continue;
if ((tmp[0].length - i) % 3 == 0)
c += '.';
}
// reverse c
c = c.split("").reverse().join("");
return c + ',' + tmp[1];
}
function UnformatNumber(number) {
// make string..
number = number + '';
// remove 1000 sep
number = number.replace('.', '');
// change ',' to '.'
number = number.replace(',', '.');
return parseFloat(number);
}
// round with precision
function toFixed(value, precision) {
var precision = precision || 0, neg = value < 0, power = Math.pow(10,
precision), value = Math.round(value * power), integral = String((neg ? Math.ceil
: Math.floor)(value / power)), fraction = String((neg ? -value
: value)
% power), padding = new Array(Math.max(precision - fraction.length,
0) + 1).join('0');
return precision ? integral + '.' + padding + fraction : integral;
}
function getCashCurrency(cash_id) {
var params = {
cash_id : cash_id,
job : 'getCashCurrency'
};
$.ajax({
type: "POST",
url: ajax_url,
dataType : "json",
success: function(data) {
if (data == '-1') {
} else {
$("#currency_id").val((data.currency_id));
$("#currency").val(data.currency_id);
getNBPCurrencyExchange($("#currency_id").val());
}
},
data: params
});
}
function getParentInfo(parent_id, parent_type) {
var params = {
id : parent_id,
type : parent_type,
job : 'getParentInfo'
};
$.ajax({
type: "POST",
url: ajax_url,
dataType : "json",
success: function(data) {
if (data == '-1') {
alert('Błąd');
$("#parent_name").val('');
$("#parent_id").val('');
} else {
setParentInfo(data);
}
},
data: params
});
}
function setParentInfo(data) {
//pricebooks
if ($("#new_number").val() == false) return; //if edit exists load only pricebooks
if (data.name)
$("#parent_name_copy").val(data.name);
if (data.parent_nip)
$("#parent_nip").val(data.parent_nip);
if (data.parent_address_street)
$("#parent_address_street").val(data.parent_address_street);
if (data.parent_address_city)
$("#parent_address_city").val(data.parent_address_city);
if (data.parent_address_postalcode)
$("#parent_address_postalcode").val(data.parent_address_postalcode);
if (data.parent_address_country)
$("#parent_address_country").val(data.parent_address_country);
if (data.ecmpaymentcondition_id && data.ecmpaymentcondition_name) {
$("#ecmpaymentcondition_id").val(data.ecmpaymentcondition_id);
$("#ecmpaymentcondition_name").val(data.ecmpaymentcondition_name);
}
if (data.ecmdeliverycondition_id && data.ecmdeliverycondition_name) {
$("#ecmdeliverycondition_id").val(data.ecmdeliverycondition_id);
$("#ecmdeliverycondition_name").val(data.ecmdeliverycondition_name);
}
if (data.currency_id)
$("#currency_id option[value=\""+data.currency_id+"\"]").attr('selected', 'selected');
$(".loading_panel").css("display", "none");
}
function generateDocNumber() {
var params = {
job : 'generateDocNumber',
cash_id: $("#cash_id").val(),
type: $("#type_id").val(),
date : $("#register_date").val(),
};
$.ajax({
type : "POST",
url : ajax_url,
dataType : "json",
success : function(data) {
if (data == '-1') {
// try loading again
generateDocNumber();
} else {
$("#document_no").val(data.document_no);
$("#number").val(data.number);
$(".loading_panel").css("display", "none");
}
},
data : params
});
}
function getNBPCurrencyExchange(c_id) {
var date = $("#register_date").val();
var d = date.split(".");
d[0] -= 1;
date = d.join(".");
var params = {
job : 'getNBPCurrencyExchange',
c_id : c_id,
date : date,
};
$.ajax({
type : "POST",
url : ajax_url,
dataType : "json",
async : false,
success : function(data) {
if (data != false) {
$("#currency_value_nbp").val(data);
$("#currency_value").val(data);
} else {
$("#currency_value_nbp").val(0);
$("#currency_value").val(0);
}
},
data : params
});
}
$.event.special.inputchange = {
setup: function() {
var self = this, val;
$.data(this, 'timer', window.setInterval(function() {
val = self.value;
if ( $.data( self, 'cache') != val ) {
$.data( self, 'cache', val );
$( self ).trigger( 'inputchange' );
}
}, 20));
},
teardown: function() {
window.clearInterval( $.data(this, 'timer') );
},
add: function() {
$.data(this, 'cache', this.value);
}
};
function InitializeTable(){
// Initialize appendGrid
$(tableid).appendGrid({
hideRowNumColumn: true,
initRows: 0,
// definicje kolumn
columns: [
{name: 'name', display: 'Transakcja', ctrlClass: 'inputs', ctrlAttr: {maxlength: 100, readonly: 'readonly'},ctrlCss: {width: '99%'}},
{name: 'type', display: 'Typ', type: 'text', ctrlAttr: {maxlength: 100, readonly: 'readonly'}, ctrlCss: {width: '99%','text-align': 'right'}, ctrlClass: 'inputs'},
{name: 'value', display: 'Kwota',type: 'text', ctrlAttr: {maxlength: 100, readonly: 'readonly'}, ctrlCss: {width: '99%','text-align': 'right'}, ctrlClass: 'inputs'},
{name: 'id', display: 'ID', invisible: true},
{name: 'type_id', display: 'ID', invisible: true}
],
// custome guziczki
customGridButtons: {
insert: $('<img>').css('color', 'red').text('Insert').get(0),
// Use a function that create DOM element
moveUp: function (){
var button = document.createElement('img');
button.src = 'modules/EcmQuotes/images/moverowup.gif';
return button;
},
moveDown: function (){
var button = document.createElement('img');
button.src = 'modules/EcmQuotes/images/moverowdown.gif';
return button;
},
remove: function (){
var button = document.createElement('img');
button.src = 'modules/EcmQuotes/images/deleterow.gif';
return button;
}
},
// labele
i18n: {
rowEmpty: 'Tabelka jest pusta'
},
// ukrywanie nie potrzebnych guziczkow
hideButtons: {
removeLast: true,
insert: true,
append: true
},
// akcja po usunieciu rekordu
afterRowRemoved: function (caller, rowIndex) {
CalculateTable();
}
});
// hide css classes
$('thead').removeClass('ui-widget-header');
$('td').removeClass('ui-widget-header');
$('tbody').removeClass('ui-widget-content');
$('td').removeClass('ui-widget-content');
$('tfoot').removeClass('ui-widget-header');
}
function CalculateTable(){
var count = $(tableid).appendGrid('getRowCount');
var total=0;
for (var i = 0; i < count; i++) {
var date = $(tableid).appendGrid('getRowValue', i);
total = total + UnformatNumber(date.value);
}
$("#amount").val(FormatNumber(total));
var result='<table cellspacing="0" cellpadding="0" style="width:50%; height:100%; border: 1px solid rgb(48,192,255);float: right;" id="result_table">'
+'<tbody><tr id="subtotal_tr">'
+'<td style="border-top:0px;" class="positionsLabel">Suma</td>'
+'<td style="border-top:0px;" class="positionsField"><input type="text" value="'+FormatNumber(total)+'" id="total_transactions" name="total_transactions" readonly="readonly" style="border:0px;font-weight:900;width:100%;text-align:right;"></td>'
+'</tr></tbody></table>';
$( "#ResultDiv" ).html(result);
}
function PreventDuplicates(id){
var count = $(tableid).appendGrid('getRowCount');
var result=false;
for (var i = 0; i < count; i++) {
var date = $(tableid).appendGrid('getRowValue', i);
if(date.id==id)result=true;
}
return result;
}
function LoadTransaction(call_back){
if(call_back.name_to_value_array){
var positions=(call_back.name_to_value_array);
}else {
var positions=(call_back.selection_list);
}
$.each(positions, function (idx2, obj2) {
var params = {
job : 'getTransactions',
id : obj2,
};
$.ajax({
type : "POST",
url : ajax_url,
dataType : "json",
async : false,
success : function(data) {
if(PreventDuplicates(data.id)!=true){
$(tableid).appendGrid('appendRow', [{ name: data.name, type: data.type, value: FormatNumber(data.value),id: data.id,type_id: data.type_id }]);
} else {
alert("Transakcja o nazwie "+data.name+" została już dodana!");
}
},
data : params
});
});
CalculateTable();
}
function PrepareTabletoSave(){
var count = $(tableid).appendGrid('getRowCount');
for (var i = 0; i < count; i++) {
var data2 = $(tableid).appendGrid('getRowValue', i);
$(tableid).appendGrid('setCtrlValue', 'value', i, UnformatNumber(data2.value));
}
}

View File

@@ -0,0 +1,72 @@
columns = new Array();
//define columns
//begin: number
columns[0] = {
'name' : 'number',
'label' : 'Lp.',
'width' : 4,
'content' : new Array(),
};
columns[0]['content'][0] = {'name' : '', 'type': 'text', 'readonly' : true};
//end: number
//begin: code
columns[1] = {
'name' : 'product_',
'label' : 'Kod',
'width' : 6,
'content' : new Array(),
};
columns[1]['content'][0] = {'name' : 'code', 'type': 'hidden', 'readonly' : true};
columns[1]['content'][1] = {'name' : 'id', 'type': 'hidden'};
columns[1]['content'][2] = {'name' : 'link', 'type': 'text', 'readonly' : true};
//end: code
//begin: name
columns[2] = {
'name' : 'name',
'label' : 'Nazwa',
'width' : 20,
'content' : new Array(),
};
columns[2]['content'][0] = {'name' : '', 'type': 'text'};
//end: name
//begin: quantity
columns[3] = {
'name' : 'quantity',
'label' : 'Ilość',
'width' : 5,
'content' : new Array(),
'align' : 'right',
};
columns[3]['content'][0] = {'name' : '', 'type': 'text', 'isNumber' : true, 'onChange' : 'checkProducts();'};
//end: quantity
//begin: unit
columns[4] = {
'name' : 'unit_',
'label' : 'J.M.',
'width' : 5,
'content' : new Array(),
'align' : 'center',
};
columns[4]['content'][0] = {'name' : 'name', 'type': 'text','readonly' : true};
columns[4]['content'][1] = {'name' : 'id', 'type': 'hidden'};
//end: unit
//begin: price
columns[5] = {
'name' : 'price',
'label' : 'Cena',
'width' : 5,
'content' : new Array(),
'align' : 'right',
};
columns[5]['content'][0] = {'name' : '', 'type': 'text', 'isNumber' : true};
//end: price
//begin: total
columns[6] = {
'name' : 'total',
'label' : 'Wartość',
'width' : 5,
'content' : new Array(),
'align' : 'right',
};
columns[6]['content'][0] = {'name' : '', 'type': 'text', 'isNumber' : true};
//end: total

View File

@@ -0,0 +1,89 @@
columns = new Array();
//define columns
//begin: number
columns[0] = {
'name' : 'number',
'label' : 'Lp.',
'width' : 4,
'content' : new Array(),
};
columns[0]['content'][0] = {'name' : '', 'type': 'text', 'readonly' : true};
//end: number
//begin: code
columns[1] = {
'name' : 'product_',
'label' : 'Kod',
'width' : 6,
'content' : new Array(),
};
columns[1]['content'][0] = {'name' : 'code', 'type': 'hidden', 'readonly' : true};
columns[1]['content'][1] = {'name' : 'id', 'type': 'hidden'};
columns[1]['content'][2] = {'name' : 'link', 'type': 'text', 'readonly' : true};
columns[1]['content'][3] = {'name' : 'category_id', 'type': 'hidden'};
//end: code
//begin: name
columns[2] = {
'name' : 'name',
'label' : 'Nazwa',
'width' : 20,
'content' : new Array(),
};
columns[2]['content'][0] = {'name' : '', 'type': 'text'};
//end: name
//begin: quantity
columns[3] = {
'name' : 'quantity',
'label' : 'Ilość',
'width' : 5,
'content' : new Array(),
'align' : 'right',
};
columns[3]['content'][0] = {'name' : '', 'type': 'text', 'isNumber' : true, 'onChange' : 'checkProducts();', 'precision' : '4'};
//end: quantity
//begin: unit
columns[4] = {
'name' : 'unit_',
'label' : 'J.M.',
'width' : 5,
'content' : new Array(),
'align' : 'center',
};
columns[4]['content'][0] = {'name' : 'name', 'type': 'text','readonly' : true};
columns[4]['content'][1] = {'name' : 'id', 'type': 'hidden'};
//end: unit
//begin: stock_state
columns[5] = {
'name' : 'stock_state',
'label' : 'Stan',
'width' : 5,
'content' : new Array(),
'align' : 'right',
};
columns[5]['content'][0] = {'name' : '', 'type': 'text', 'isNumber' : true};
//end: stock_state
//begin: price
columns[6] = {
'name' : 'price_',
'label' : 'Ceny',
'width' : 5,
'content' : new Array(),
'align' : 'right',
'display' : 'none',
};
columns[6]['content'][0] = {'name' : 'netto', 'type': 'hidden', 'isNumber' : true};
columns[6]['content'][1] = {'name' : 'brutto', 'type': 'hidden', 'isNumber' : true};
columns[6]['content'][2] = {'name' : 'total_netto', 'type': 'hidden', 'isNumber' : true};
columns[6]['content'][3] = {'name' : 'total_brutto', 'type': 'hidden', 'isNumber' : true};
columns[6]['content'][4] = {'name' : 'total_vat', 'type': 'hidden', 'isNumber' : true};
columns[6]['content'][5] = {'name' : 'vat', 'type': 'hidden', 'isNumber' : true};
columns[6]['content'][6] = {'name' : 'ecmvat_id', 'type': 'hidden', 'isNumber' : true};
columns[6]['content'][7] = {'name' : 'ecmvat_name', 'type': 'hidden', 'isNumber' : true};
columns[6]['content'][8] = {'name' : 'ecmvat_value', 'type': 'hidden', 'isNumber' : true};
//end: price
//begin: options
columns[7] = {
'name' : 'options',
'label' : 'Opcje',
'width' : 3,
'content' : new Array(),
};