NonInventPurchasingSystem/CPRNIMS.WebApps/wwwroot/JsFunctions/Canvass/canvassColumnV9.js
2026-01-20 07:44:30 +08:00

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);
}
},
];