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

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