571 lines
14 KiB
JavaScript
571 lines
14 KiB
JavaScript
var colPOApprovalByPRNo = [
|
|
{ data: 'itemNo' },
|
|
{ data: 'itemName' },
|
|
{ data: 'itemSpecs' },
|
|
{
|
|
data: 'qty',
|
|
render: function (data, type, row, meta) {
|
|
return data.toLocaleString();
|
|
}
|
|
},
|
|
{ data: 'emailAddress' },
|
|
{ data: 'supplierName' },
|
|
{ data: 'manufacturer' },
|
|
{ data: 'price' },
|
|
{
|
|
data: null,
|
|
render: function (data, type, row) {
|
|
return renderSuppbtn(data, row);
|
|
}
|
|
},
|
|
{ data: 'supplierId', visible: false },
|
|
{ data: 'canvassDetailId', visible: false },
|
|
];
|
|
var colPOApproval = [
|
|
{
|
|
data: 'poNo',
|
|
className: 'text-center align-middle',
|
|
render: function (data) {
|
|
return '<input type="checkbox" class="selected-Item-checkbox" />';
|
|
}
|
|
},
|
|
{ data: 'poType' },
|
|
{ data: 'poNo' },
|
|
{ data: 'aggrePRNo' },
|
|
{ data: 'aggreItemNo' },
|
|
{ data: 'aggreItemName' },
|
|
{ data: 'itemCategoryName' },
|
|
{ data: 'supplierName' },
|
|
{
|
|
data: null,
|
|
render: function (data, type, row) {
|
|
return renderForPObtn(data, row);
|
|
}
|
|
}
|
|
];
|
|
var colForPO = [
|
|
{ data: 'aggrePRNo' },
|
|
{ data: 'aggreItemNo' },
|
|
{ data: 'aggreItemName' },
|
|
{ data: 'itemCategoryName' },
|
|
{ data: 'supplierName' },
|
|
{
|
|
data: null,
|
|
render: function (data, type, row) {
|
|
return renderForPObtn(data, row);
|
|
}
|
|
}
|
|
];
|
|
|
|
var colCustomPO = [
|
|
{
|
|
data: null,
|
|
render: function (data, type, row) {
|
|
return renderDelItem(data, row);
|
|
}
|
|
},
|
|
{ data: 'prNo' },
|
|
{ data: 'qty' },
|
|
{ data: 'uomName' },
|
|
{ data: 'itemNo' },
|
|
{ data: 'itemName' },
|
|
{ data: 'specification' },
|
|
{ data: 'unitPrice' },
|
|
{
|
|
data: 'totalAmount',
|
|
render: function (data, type, row) {
|
|
return numberWithCommas(data);
|
|
}
|
|
},
|
|
];
|
|
var colDefCustomPO = [
|
|
{
|
|
targets: [2],
|
|
render: function (data, type, row) {
|
|
return '<input type="number" class="qty" style="width:70px;text-align:center;" value="' + data + '" min="1" required />';
|
|
}
|
|
},
|
|
{
|
|
targets: [6],
|
|
render: function (data, type, row) {
|
|
const cleanedData = data
|
|
?.replace(/\s+/g, ' ')
|
|
.replace(/\.([^\s])/g, '. $1')
|
|
.trim();
|
|
|
|
return `
|
|
<textarea
|
|
class="specification auto-resize"
|
|
style="width:100%; text-align:justify; text-justify:inter-word; resize:none; overflow:hidden; min-height:50px; border:1px solid #ccc; padding:8px;"
|
|
required
|
|
>${cleanedData}</textarea>
|
|
`;
|
|
},
|
|
},
|
|
{
|
|
targets: [7],
|
|
render: function (data, type, row) {
|
|
return '<input type="number" class="unitPrice" style="width:100px;text-align:center;" value="' + data + '" min="1" required />';
|
|
},
|
|
}
|
|
];
|
|
var colPOPRList = [
|
|
{
|
|
data: 'prDetailsId',
|
|
title: '<input type="checkbox" class="select-all-item-checkbox" />',
|
|
render: function () {
|
|
return '<input type="checkbox" class="select-item-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: 'itemDescription' },
|
|
{ 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);
|
|
}
|
|
},
|
|
];
|
|
var colOtherCharges = [
|
|
{
|
|
data: 'otherChargesId',
|
|
render: function (data) {
|
|
return '<input type="checkbox" class="selected-Item-checkbox" data-otherchargesid="' + data + '" />';
|
|
}
|
|
},
|
|
{ data: 'otherChargesName' },
|
|
{ data: 'amount' },
|
|
{
|
|
data: null,
|
|
render: function (data, type, row) {
|
|
return renderOtherChargebtn(data, row);
|
|
}
|
|
}
|
|
];
|
|
var colIncoterms = [
|
|
{ data: 'incotermsName' },
|
|
{
|
|
data: null,
|
|
render: function (data, type, row) {
|
|
return renderIncotermsbtn(data, row);
|
|
}
|
|
}
|
|
];
|
|
var colDefOtherCharges = [
|
|
{
|
|
targets: [2], // Amount column
|
|
render: function (data, type, row) {
|
|
return '<input type="number" class="o-amount" style="width:120px;text-align:center;" value="' + data + '" min="1" required />';
|
|
}
|
|
}
|
|
];
|
|
var colSIPOPerSuppEmail = [
|
|
{
|
|
data: 'qty',
|
|
className: 'qty text-right',
|
|
render: function (data, type, row) {
|
|
return numberWithCommas(row.qty);
|
|
}
|
|
},
|
|
{
|
|
data: 'uomName',
|
|
className: 'uomName'
|
|
},
|
|
{
|
|
data: 'itemNo',
|
|
className: 'itemNo'
|
|
},
|
|
{
|
|
data: 'itemDescription',
|
|
className: 'itemDescription'
|
|
},
|
|
{
|
|
data: 'unitPrice',
|
|
className: 'unitPrice',
|
|
render: function (data, type, row) {
|
|
return row.itemCategoryName + numberWithCommas(row.unitPrice);
|
|
}
|
|
},
|
|
{
|
|
data: 'totalAmount',
|
|
className: 'totalAmount',
|
|
render: function (data, type, row) {
|
|
return row.itemCategoryName + numberWithCommas(parseFloat(row.qty) * parseFloat(row.unitPrice));
|
|
}
|
|
}
|
|
];
|
|
var colImportPOPerSuppEmail = [
|
|
{ data: 'prNo' },
|
|
{ data: 'itemNo' },
|
|
{ data: 'itemDescription' },
|
|
{ data: 'uomName' },
|
|
{
|
|
data: 'qty',
|
|
render: function (data, type, row, meta) {
|
|
return data.toLocaleString();
|
|
}
|
|
},
|
|
{ data: 'unitPrice' },
|
|
{ data: 'unitPrice' },
|
|
{ data: 'totalAmount', visible: false },
|
|
{ data: 'supplierName', visible: false },
|
|
{ data: 'supplierAddress', visible: false },
|
|
{ data: 'terms', visible: false },
|
|
{ data: 'deliveryDate', visible: false }
|
|
];
|
|
var colPOItemDetail = [
|
|
{ data: 'prNo' },
|
|
{ data: 'itemNo' },
|
|
{ data: 'itemName' },
|
|
{ data: 'itemDescription' },
|
|
{
|
|
data: null,
|
|
render: function (data, type, row) {
|
|
return renderPOItemDetail(data, row);
|
|
}
|
|
},
|
|
];
|
|
var colApprovedPO = [
|
|
{ data: 'poNo' },
|
|
{ data: 'poTypeId' },
|
|
{ data: 'aggrePRNo' },
|
|
{ data: 'aggreItemNo' },
|
|
{ data: 'aggreItemName' },
|
|
{ data: 'itemCategoryName' },
|
|
{ data: 'supplierName' },
|
|
{
|
|
data: null,
|
|
render: function (data, type, row) {
|
|
return renderApprovedPOlbtn(data, row);
|
|
}
|
|
},
|
|
{ data: 'emailAddress', visible: false },
|
|
{ data: 'canvassDetailId', visible: false },
|
|
];
|
|
var colApprovedSIPOPerSuppEmail = [
|
|
{
|
|
data: 'qty',
|
|
className: 'qty',
|
|
render: function (data, type, row) {
|
|
return numberWithCommas(row.qty);
|
|
}
|
|
},
|
|
{
|
|
data: 'uomName',
|
|
className: 'uomName'
|
|
},
|
|
{
|
|
data: 'itemNo',
|
|
className: 'itemNo'
|
|
},
|
|
{
|
|
data: 'itemDescription',
|
|
className: 'itemDescription'
|
|
},
|
|
{
|
|
data: 'unitPrice',
|
|
className: 'unitPrice',
|
|
render: function (data, type, row) {
|
|
return row.itemCategoryName + numberWithCommas(row.unitPrice);
|
|
}
|
|
},
|
|
{
|
|
data: 'totalAmount',
|
|
className: 'totalAmount',
|
|
render: function (data, type, row) {
|
|
return row.itemCategoryName + numberWithCommas(parseFloat(row.qty) * parseFloat(row.unitPrice));
|
|
}
|
|
}
|
|
];
|
|
var colApprovedLocalPerSuppEmail = [
|
|
{
|
|
data: 'qty',
|
|
className: 'qty',
|
|
render: function (data, type, row) {
|
|
return numberWithCommas(row.qty);
|
|
}
|
|
},
|
|
{
|
|
data: 'uomName',
|
|
className: 'uomName'
|
|
},
|
|
{
|
|
data: 'itemNo',
|
|
className: 'itemNo'
|
|
},
|
|
{
|
|
data: 'itemDescription',
|
|
className: 'itemDescription'
|
|
},
|
|
{
|
|
data: 'unitPrice',
|
|
className: 'unitPrice',
|
|
render: function (data, type, row) {
|
|
return row.itemCategoryName + numberWithCommas(row.unitPrice);
|
|
}
|
|
},
|
|
{
|
|
data: 'totalAmount',
|
|
className: 'totalAmount',
|
|
render: function (data, type, row) {
|
|
return row.itemCategoryName + numberWithCommas(parseFloat(row.qty) * parseFloat(row.unitPrice));
|
|
}
|
|
}
|
|
];
|
|
var colApprovedImportPOPerSuppEmail = [
|
|
{ data: 'prNo' },
|
|
{ data: 'itemNo' },
|
|
{ data: 'itemDescription' },
|
|
{ data: 'uomName' },
|
|
{
|
|
data: 'qty',
|
|
render: function (data, type, row) {
|
|
return numberWithCommas(row.qty);
|
|
}
|
|
},
|
|
{
|
|
data: 'unitPrice',
|
|
render: function (data, type, row) {
|
|
return numberWithCommas(row.unitPrice);
|
|
}
|
|
},
|
|
{
|
|
data: 'totalAmount',
|
|
render: function (data, type, row) {
|
|
// Calculate totalAmount if not provided by the server
|
|
return numberWithCommas((parseFloat(row.qty) * parseFloat(row.unitPrice)));
|
|
}
|
|
},
|
|
];
|
|
|
|
var colCreatedPO = [
|
|
{ data: 'poNo' },
|
|
{ data: 'poTypeId' },
|
|
{ data: 'aggrePRNo' },
|
|
{ data: 'aggreItemNo' },
|
|
{ data: 'aggreItemName' },
|
|
{ data: 'itemCategoryName' },
|
|
{ data: 'supplierName' },
|
|
{
|
|
data: null,
|
|
render: function (data, type, row) {
|
|
return renderCreatedPO(data, row);
|
|
}
|
|
}
|
|
];
|
|
var colMyCreatedPO = [
|
|
{ data: 'poNo' },
|
|
{ data: 'poTypeId' },
|
|
{ data: 'aggrePRNo' },
|
|
{ data: 'aggreItemNo' },
|
|
{ data: 'aggreItemName' },
|
|
{ data: 'itemCategoryName' },
|
|
{ data: 'supplierName' },
|
|
{
|
|
data: null,
|
|
render: function (data, type, row) {
|
|
return renderMyCreatedPO(data, row);
|
|
}
|
|
}
|
|
];
|
|
|
|
var colSuppBidByItem = [
|
|
{
|
|
data: 'price',
|
|
render: function (data, type, row, meta) {
|
|
return numberWithCommas(data);
|
|
}
|
|
},
|
|
{
|
|
data: 'qty',
|
|
render: function (data, type, row, meta) {
|
|
return numberWithCommas(data);
|
|
}
|
|
},
|
|
{ data: 'emailAddress' },
|
|
{ data: 'supplierName' },
|
|
{ data: 'manufacturer' },
|
|
{ data: 'specification' },
|
|
{
|
|
data: null,
|
|
render: function (data, type, row) {
|
|
return renderSuppBidbtn(data, row);
|
|
}
|
|
}
|
|
];
|
|
var colBiddingApproval = [
|
|
{ data: 'canvassId' },
|
|
{ data: 'prNo' },
|
|
{ data: 'itemNo' },
|
|
{ data: 'itemName' },
|
|
{ data: 'itemDescription' },
|
|
{ data: 'itemCategoryName' },
|
|
{
|
|
data: null,
|
|
render: function (data, type, row) {
|
|
return renderForPOItembtn(data, row);
|
|
}
|
|
},
|
|
{ data: 'dateNeeded', visible: false },
|
|
{ data: 'canvassDetailId', visible: false },
|
|
{ data: 'poDetailId', visible: false },
|
|
];
|
|
|
|
var colCentralPO = [
|
|
{ data: 'poNo' },
|
|
{ data: 'poTypeId' },
|
|
{ data: 'appsId' },
|
|
{ data: 'createdBy' },
|
|
{
|
|
data: 'createdDate',
|
|
type: 'date-custom',
|
|
render: function (data, type, row) {
|
|
if (type === 'display' && data) {
|
|
return formatDateTime(data);
|
|
}
|
|
return data;
|
|
}
|
|
},
|
|
{ data: 'cpoNoId', visible: false },
|
|
];
|
|
var colDocRequired = [
|
|
{
|
|
data: 'docRequirementId',
|
|
render: function () {
|
|
return '<input type="checkbox" class="select-DocRequired-checkbox" />';
|
|
}
|
|
},
|
|
{ data: 'docName' },
|
|
{
|
|
data: null,
|
|
render: function (data, type, row) {
|
|
return renderDocReqbtn(data, row);
|
|
}
|
|
},
|
|
]
|
|
//#Reports
|
|
var colOnPRPODeptReports = [
|
|
{ data: 'department' },
|
|
{
|
|
data: 'prItemCount',
|
|
render: function (data, type, row) {
|
|
return numberWithCommas(data);
|
|
}
|
|
},
|
|
{
|
|
data: 'poItemCount',
|
|
render: function (data, type, row) {
|
|
return numberWithCommas(data);
|
|
}
|
|
},
|
|
{
|
|
data: 'rrItemCount',
|
|
render: function (data, type, row) {
|
|
return numberWithCommas(data);
|
|
}
|
|
},
|
|
{
|
|
data: 'wopoItemCount',
|
|
render: function (data, type, row) {
|
|
return numberWithCommas(data);
|
|
}
|
|
},
|
|
{ data: 'poCompletionPercent' },
|
|
{ data: 'rrCompletionPercent' },
|
|
]
|
|
var colOnPRPOItemReports = [
|
|
{ data: 'itemNo' },
|
|
{ data: 'itemName' },
|
|
{ data: 'department' },
|
|
{ data: 'prNo' },
|
|
{
|
|
data: 'prDate',
|
|
render: function (data, type, row) {
|
|
if (type === 'display' && data) {
|
|
return formatDate(data);
|
|
}
|
|
return data;
|
|
}
|
|
},
|
|
{
|
|
data: 'qty',
|
|
render: function (data, type, row, meta) {
|
|
return numberWithCommas(data);
|
|
}
|
|
},
|
|
{ data: 'poNo' },
|
|
{
|
|
data: 'poDate',
|
|
render: function (data, type, row) {
|
|
if (type === 'display' && data) {
|
|
return formatDate(data);
|
|
}
|
|
return data;
|
|
}
|
|
},
|
|
{
|
|
data: 'poQty',
|
|
render: function (data, type, row, meta) {
|
|
return numberWithCommas(data);
|
|
}
|
|
},
|
|
{ data: 'rrNo' },
|
|
{
|
|
data: 'rrDate',
|
|
render: function (data, type, row) {
|
|
if (type === 'display' && data) {
|
|
return formatDate(data);
|
|
}
|
|
return data;
|
|
}
|
|
},
|
|
{
|
|
data: 'quantityReceived',
|
|
render: function (data, type, row, meta) {
|
|
return numberWithCommas(data);
|
|
}
|
|
}
|
|
]
|
|
|
|
var colIncomingItem = [
|
|
{ data: 'poNo' },
|
|
{ data: 'supplierName' },
|
|
{ data: 'createdBy' },
|
|
{ data: 'aggreItemName' },
|
|
{ data: 'aggreQty' },
|
|
{
|
|
data: 'deliveryDate',
|
|
render: function (data, type, row) {
|
|
return formatDate(data);
|
|
}
|
|
},
|
|
{
|
|
data: null,
|
|
render: function (data, type, row) {
|
|
return renderDelIncShip(data, row);
|
|
}
|
|
}
|
|
];
|
|
|