304 lines
7.9 KiB
JavaScript
304 lines
7.9 KiB
JavaScript
var colPRItem = [
|
|
{ data: 'itemNo' },
|
|
{ data: 'itemName' },
|
|
{ data: 'itemDescription' },
|
|
{ data: 'itemCategoryName' },
|
|
{
|
|
data: null,
|
|
render: function (data, type, row) {
|
|
return renderSupplierWObtns(data, row);
|
|
}
|
|
},
|
|
{ data: 'queue', visible: false },
|
|
{ data: 'prDetailsId', visible: false },
|
|
];
|
|
var colCanvassPerSuppEmail = [
|
|
{
|
|
data: 'prDetailsId',
|
|
title: '<input type="checkbox" class="select-all-CanvassItem-checkbox" />',
|
|
render: function () {
|
|
return '<input type="checkbox" class="select-CanvassItem-checkbox" />';
|
|
},
|
|
orderable: false,
|
|
searchable: false
|
|
},
|
|
{ data: 'prNo' },
|
|
{ data: 'itemNo' },
|
|
{ data: 'itemName' },
|
|
{ data: 'itemDescription' },
|
|
{ data: 'itemCategoryName' },
|
|
{
|
|
data: 'qty',
|
|
render: function (data, type, row, meta) {
|
|
return numberWithCommas(data);
|
|
}
|
|
},
|
|
{
|
|
"data": "dateNeeded",
|
|
"render": function (data) {
|
|
return formatDate(data);
|
|
}
|
|
},
|
|
{
|
|
data: null,
|
|
render: function (data, type, row) {
|
|
return renderItemDetailbtn(data, row);
|
|
}
|
|
}
|
|
];
|
|
var colCanvassPerSupplier = [
|
|
{ data: 'supplierName' },
|
|
{ data: 'emailAddress' },
|
|
{ data: 'aggrePRNo' },
|
|
{ data: 'aggreItemNo' },
|
|
{ data: 'aggreItemName' },
|
|
{
|
|
data: null,
|
|
render: function (data, type, row) {
|
|
return renderCanvassbtn(data, row);
|
|
}
|
|
}
|
|
];
|
|
var colCanvassItemToPrint = [
|
|
{
|
|
data: 'itemNo',
|
|
title: '<input type="checkbox" class="select-all-PrintItem-checkbox" />',
|
|
render: function () {
|
|
return '<input type="checkbox" class="select-PrintItem-checkbox" />';
|
|
},
|
|
orderable: false,
|
|
searchable: false
|
|
},
|
|
{ data: 'itemNo' },
|
|
{ data: 'itemName' },
|
|
{ data: 'specification' },
|
|
{
|
|
data: 'qty',
|
|
render: function (data, type, row, meta) {
|
|
return numberWithCommas(data);
|
|
}
|
|
}
|
|
];
|
|
|
|
var colSupplierItemWOEmail = [
|
|
{
|
|
data: 'supplierId',
|
|
title: '<input type="checkbox" class="select-all-CanvassItem-checkbox" />',
|
|
render: function () {
|
|
return '<input type="checkbox" class="select-CanvassItem-checkbox" />';
|
|
},
|
|
orderable: false,
|
|
searchable: false
|
|
},
|
|
{ data: 'supplierName' },
|
|
{ data: 'emailAddress' },
|
|
{ data: 'address' },
|
|
{ data: 'contactNo' },
|
|
{ data: 'contactPerson' },
|
|
{ data: 'tinNo' },
|
|
{ data: 'leadTime' },
|
|
{ data: 'paymentTerms' },
|
|
{ data: 'vatInc' },
|
|
{ data: 'currency' },
|
|
{
|
|
data: null,
|
|
render: function (data, type, row) {
|
|
return renderSupplierEditbtns(data, row);
|
|
}
|
|
},
|
|
];
|
|
|
|
var colSupplierBid = [
|
|
{ data: 'canvassId' },
|
|
{ data: 'prNo' },
|
|
{ data: 'itemNo' },
|
|
{ data: 'itemName' },
|
|
{ data: 'itemSpecs' },
|
|
{ data: 'itemCategoryName' },
|
|
{
|
|
data: 'qty',
|
|
render: function (data, type, row, meta) {
|
|
return data.toLocaleString();
|
|
}
|
|
},
|
|
{
|
|
data: null,
|
|
render: function (data, type, row) {
|
|
return renderSupBidbtn(data, row);
|
|
}
|
|
},
|
|
{ data: 'dateNeeded', visible: false },
|
|
{ data: 'canvassDetailId', visible: false },
|
|
];
|
|
var colSupplierBidByItem = [
|
|
{
|
|
data: 'price',
|
|
render: function (data, type, row, meta) {
|
|
return parseFloat(data).toFixed(2).toLocaleString();
|
|
}
|
|
},
|
|
{
|
|
data: 'qty',
|
|
render: function (data, type, row, meta) {
|
|
return parseFloat(data).toFixed(2).toLocaleString();
|
|
}
|
|
},
|
|
{ data: 'emailAddress' },
|
|
{ data: 'supplierName' },
|
|
{ data: 'manufacturer' },
|
|
{ data: 'specification' },
|
|
{
|
|
data: null,
|
|
render: function (data, type, row) {
|
|
return renderSuppByItembtn(data, row);
|
|
}
|
|
}
|
|
];
|
|
|
|
var colSupplierBidByItemWithPR = [
|
|
{ data: 'prNo' },
|
|
{ data: 'itemNo' },
|
|
{ data: 'itemName' },
|
|
{ data: 'itemSpecs' },
|
|
{
|
|
data: 'qty',
|
|
render: function (data, type, row, meta) {
|
|
return data.toLocaleString();
|
|
}
|
|
},
|
|
{
|
|
data: 'price',
|
|
render: function (data, type, row, meta) {
|
|
return parseFloat(data).toFixed(2).toLocaleString();
|
|
}
|
|
},
|
|
{ data: 'manufacturer' },
|
|
{ data: 'supplierId', visible: false },
|
|
{ data: 'canvassDetailId', visible: false },
|
|
{ data: 'suggestedSupplier', visible: false },
|
|
];
|
|
var colWOResponse = [
|
|
{ data: 'aggreCanvassNo' },
|
|
{ data: 'aggrePRNo' },
|
|
{ data: 'aggreItemNo' },
|
|
{
|
|
data: 'aggreItemName',
|
|
render: function (data, type, row) {
|
|
if (!data) return '';
|
|
|
|
var items = data.split('<br>'); // Split the items by <br>
|
|
var shortItems = items.slice(0, 3).join('<br>'); // First 3 items
|
|
var fullItems = items.join('<br>'); // All items
|
|
|
|
// If there are 3 or fewer items, show them all without the toggle button
|
|
if (items.length <= 3) {
|
|
return `<span class="item-display">${fullItems}</span>`;
|
|
}
|
|
|
|
// If there are more than 3 items, show the short version with a ...see more button
|
|
return `
|
|
<span class="item-display">${shortItems}</span>
|
|
<button class="toggle-btn" data-full-items="${encodeURIComponent(fullItems)}" data-short-items="${encodeURIComponent(shortItems)}" data-expanded="false">...see more</button>
|
|
`;
|
|
}
|
|
},
|
|
{ data: 'supplierName' },
|
|
{ data: 'emailAddress' },
|
|
{
|
|
data: null,
|
|
render: function (data, type, row) {
|
|
return renderWORespbtn(data, row);
|
|
}
|
|
},
|
|
];
|
|
var colWOResponseById = [
|
|
{ data: 'prNo' },
|
|
{ data: 'itemNo' },
|
|
{ data: 'itemName' },
|
|
{ data: 'itemSpecs' },
|
|
{ data: 'itemCategoryName' },
|
|
{
|
|
data: 'qty',
|
|
render: function (data, type, row, meta) {
|
|
return data.toLocaleString();
|
|
}
|
|
},
|
|
];
|
|
var colSuppItems = [
|
|
{ data: 'itemNo' },
|
|
{ data: 'itemName' },
|
|
{ data: 'aggrePRNo' },
|
|
{ data: 'aggreSupplierName' },
|
|
{ data: 'aggreEmailAddress' },
|
|
{
|
|
data: null,
|
|
render: function (data, type, row) {
|
|
return renderSupplierWObtns(data, row);
|
|
}
|
|
},
|
|
];
|
|
|
|
var colPRItemList = [
|
|
{ data: 'qty' },
|
|
{ data: 'itemNo' },
|
|
{ data: 'itemName' },
|
|
{ data: 'itemDescription' },
|
|
{ data: 'itemCategoryName' },
|
|
];
|
|
var colOnSuppliers = [
|
|
{
|
|
data: null,
|
|
render: function (data, type, row) {
|
|
return renderSuppEditTagbtns(data, row);
|
|
}
|
|
},
|
|
{ data: 'supplierName' },
|
|
{ data: 'emailAddress' },
|
|
{ data: 'address' },
|
|
{ data: 'contactNo' },
|
|
{ data: 'contactPerson' },
|
|
{ data: 'tinNo' },
|
|
{ data: 'leadTime' },
|
|
{ data: 'paymentTerms' },
|
|
{ data: 'vatInc' },
|
|
{ data: 'currency' },
|
|
];
|
|
|
|
var colPRList = [
|
|
{
|
|
data: 'prDetailsId',
|
|
title: '<input type="checkbox" class="select-all-CanvassItem-checkbox" />',
|
|
render: function () {
|
|
return '<input type="checkbox" class="select-CanvassItem-checkbox" />';
|
|
},
|
|
orderable: false,
|
|
searchable: false
|
|
},
|
|
{ data: 'prNo' },
|
|
{
|
|
data: 'qty',
|
|
render: function (data, type, row, meta) {
|
|
return numberWithCommas(data);
|
|
}
|
|
},
|
|
{ data: 'uomName' },
|
|
{ data: 'itemNo' },
|
|
{ data: 'itemName' },
|
|
{ data: 'specification' },
|
|
{ data: 'createdBy' },
|
|
{
|
|
data: 'createdDate',
|
|
render: function (data, type, row) {
|
|
if (type === 'display' && data) {
|
|
return formatDate(data);
|
|
}
|
|
return data;
|
|
}
|
|
},
|
|
{
|
|
data: null,
|
|
render: function (data, type, row) {
|
|
return renderPRItem(data, row);
|
|
}
|
|
},
|
|
]; |