Files
crm.e5.pl/modules/EcmProducts/javascript/ProductionCopyElements.js
2024-04-27 09:23:34 +02:00

131 lines
4.6 KiB
JavaScript

getCopyElements = function() {
PTABLE = new EcmJsTable(pcolumns, $('#copyProduct'), 'EditView');
PTABLE.customQuickSearch = function(search) {
// clear previous data
this.items = new Array();
// AJAX call
var a = jQuery
.ajax({
type : 'POST',
url : 'index.php?module=EcmProducts&action=ProductionTablesHelper&to_pdf=1',
data : {
job : 'searchProduct',
searchText : search,
},
dataType : 'json',
async : false,
});
return $.parseJSON(a.responseText);
}
PTABLE.setItems(new Array());
PTABLE.getHeaders();
PTABLE.fillTable();
// create butons
var b = $('<input></input>');
b.addClass('button');
b.attr('type', 'button');
b.css('width', '100%');
b.val('Komponenty');
b
.click(function() {
var prod = PTABLE.getItems();
if (prod.length == 0 || !prod[0].product_id
|| prod[0].product_id == "") {
alert('Wybierz produkt źródłowy');
return;
}
if (CTABLE.getItemsCount() > 0)
var keepitems = confirm("Zachować aktualne komponenty?");
var i = jQuery
.ajax({
type : 'POST',
url : 'index.php?module=EcmProducts&action=ProductionTablesHelper&to_pdf=1',
data : {
job : 'getItemsComponents',
prod_id : prod[0].product_id,
},
dataType : 'json',
async : false,
});
var response = $.parseJSON(i.responseText);
if (response.length==0) {alert('Brak komponentów dla '+prod[0].product_code); return;}
if (keepitems) {
var items = CTABLE.getItems();
$.each(response, function(c, i) {
items.push(i)
});
} else
var items = response;
CTABLE.setItems(items);
CTABLE.fillTable();
});
$('#copyButtons').append(b);
$('#copyButtons').append('<br>');
//czynności
var b = $('<input></input>');
b.addClass('button');
b.attr('type', 'button');
b.css('width', '100%');
b.val('Czynności');
b
.click(function() {
var prod = PTABLE.getItems();
if (prod.length == 0 || !prod[0].product_id
|| prod[0].product_id == "") {
alert('Wybierz produkt źródłowy');
return;
}
if (ATABLE.getItemsCount() > 0)
var keepitems = confirm("Zachować aktualne komponenty?");
var i = jQuery
.ajax({
type : 'POST',
url : 'index.php?module=EcmProducts&action=ProductionTablesHelper&to_pdf=1',
data : {
job : 'getItemsActions',
prod_id : prod[0].product_id,
},
dataType : 'json',
async : false,
});
var response = $.parseJSON(i.responseText);
if (response.length==0) {alert('Brak czynności dla '+prod[0].product_code); return;}
if (keepitems) {
var items = ATABLE.getItems();
$.each(response, function(c, i) {
items.push(i)
});
} else
var items = response;
ATABLE.setItems(items);
ATABLE.fillTable();
});
$('#copyButtons').append(b);
}
var pcolumns = new Array();
// end: number
// begin: code
pcolumns[0] = {
'name' : 'product_',
'label' : 'Kopiuj elementy z: ',
'searchTrigger' : true,
'width' : 100, // %
'content' : new Array(),
};
pcolumns[0]['content'][0] = {
'name' : 'id',
'attr' : {
'type' : 'hidden',
}
};
pcolumns[0]['content'][1] = {
'name' : 'code',
'css' : {
'text-align' : 'left',
}
};