340 lines
13 KiB
JavaScript
340 lines
13 KiB
JavaScript
function viewPRWOCanvass() {
|
|
loader = $('#overlay, #loader');
|
|
$('#addItemWOCanvass').modal('show');
|
|
$('#addItemWOCanvass').css('z-index', 1065);
|
|
cleanupColumnSearch('#PRItemTable');
|
|
if (!isLoaded) {
|
|
tableName = '#PRItemTable';
|
|
totalSelectedLabel = $('#totalSelected');
|
|
|
|
clearTableSelection(tableName, selectedProductsMap, () => {
|
|
totalSelectedLabel.text(0);
|
|
}, 'selected-row', '.select-all-CanvassItem-checkbox');
|
|
|
|
tableElement = $(tableName);
|
|
tableDestroy($(tableName));
|
|
|
|
PRItemTable = tableElement.DataTable({
|
|
ajax: $.extend({
|
|
url: '/POMgmt/GetPRWOCanvass',
|
|
}, beforeComplete(loader)),
|
|
language: {
|
|
emptyTable: "No record available"
|
|
},
|
|
columns: colPOPRList,
|
|
pageLength: 5,
|
|
lengthMenu: [[5, 10, 25, 50, 100, -1], [5, 10, 25, 50, 100, "All"]],
|
|
initComplete: function () {
|
|
initializeTableSelectionWithDuplicateCheck({
|
|
tableName: tableName,
|
|
dataTable: PRItemTable,
|
|
selectedItemsMap: selectedProductsMap,
|
|
idKey: 'prDetailsId',
|
|
idKey2: 'itemNo',
|
|
checkboxClass: '.select-item-checkbox',
|
|
selectAllClass: '.select-all-item-checkbox',
|
|
selectedRowClass: 'selected-row',
|
|
updateCountCallback: function () {
|
|
totalSelectedLabel.text(getSelectedCount(selectedProductsMap));
|
|
}
|
|
});
|
|
initializeSearchAndSelection(PRItemTable);
|
|
},
|
|
});
|
|
isLoaded = true;
|
|
} else {
|
|
setTimeout(() => {
|
|
PRItemTable.draw();
|
|
initializeSearchAndSelection(PRItemTable);
|
|
}, 100);
|
|
}
|
|
}
|
|
function initializeSearchAndSelection(PRItemTable) {
|
|
initializeColumnSearch({
|
|
tableId: '#PRItemTable',
|
|
dataTable: PRItemTable,
|
|
searchableColumns: [
|
|
{
|
|
columnIndex: 1,
|
|
columnName: 'PR No',
|
|
placeholder: 'Enter PR Number...',
|
|
searchType: 'text',
|
|
searchMode: 'exact',
|
|
width: '150px'
|
|
},
|
|
{
|
|
columnIndex: 4,
|
|
columnName: 'Item No',
|
|
placeholder: 'Enter Item Number...',
|
|
searchType: 'text',
|
|
searchMode: 'exact',
|
|
width: '150px'
|
|
},
|
|
{
|
|
columnIndex: 5,
|
|
columnName: 'Item Name',
|
|
placeholder: 'Enter Item Name...',
|
|
searchType: 'text',
|
|
searchMode: 'contains',
|
|
width: '200px'
|
|
},
|
|
{
|
|
columnIndex: 7,
|
|
columnName: 'Created By',
|
|
placeholder: 'Select Creator...',
|
|
searchType: 'select',
|
|
searchMode: 'exact',
|
|
width: '150px'
|
|
}
|
|
]
|
|
});
|
|
|
|
const uniqueSearchClass = 'column-search-input-PRItemTable';
|
|
|
|
populateSelectOptions(PRItemTable, 7, '.' + uniqueSearchClass + '[data-column="7"]');
|
|
|
|
restoreSearchFromURL(uniqueSearchClass, '#PRItemTable');
|
|
}
|
|
function viewPRForTagging(data,Query) {
|
|
loader = $('#overlay, #loader');
|
|
$('#viewPRForTagging').modal('show');
|
|
$('#viewPRForTagging').css('z-index', 1065);
|
|
if (data.supplierId) {
|
|
$('#supplierId').val(data.supplierId);
|
|
document.getElementById('t-supplierName').innerHTML = data.supplierName
|
|
SupplierId = $('#supplierId').val();
|
|
}
|
|
|
|
tableName = '#ItemForTaggingTable';
|
|
totalSelectedLabel = $('#totalSelTag');
|
|
cleanupColumnSearch(tableName);
|
|
|
|
clearTableSelection(tableName, selectedProductsMap, () => {
|
|
totalSelectedLabel.text(0);
|
|
}, 'selected-row', '.select-all-CanvassItem-checkbox');
|
|
tableElement = $(tableName);
|
|
tableDestroy($(tableName));
|
|
|
|
PRItemTable = tableElement.DataTable({
|
|
ajax: $.extend({
|
|
url: '/CanvassMgmt/GetMyPRWOCanvass',
|
|
type: 'GET',
|
|
data: { Query, SupplierId },
|
|
}, beforeComplete(loader)),
|
|
language: {
|
|
emptyTable: "No record available"
|
|
},
|
|
columns: colPRList,
|
|
pageLength: 5,
|
|
lengthMenu: [[5, 10, 25, 50, 100, -1], [5, 10, 25, 50, 100, "All"]],
|
|
initComplete: function () {
|
|
initializeTableSelection({
|
|
tableName: tableName,
|
|
dataTable: PRItemTable,
|
|
selectedItemsMap: selectedProductsMap,
|
|
idKey: 'prDetailsId',
|
|
idKey2: 'batchNo',
|
|
checkboxClass: '.select-CanvassItem-checkbox',
|
|
selectAllClass: '.select-all-CanvassItem-checkbox',
|
|
selectedRowClass: 'selected-row',
|
|
updateCountCallback: function () {
|
|
totalSelectedLabel.text(getSelectedCount(selectedProductsMap));
|
|
}
|
|
});
|
|
initializeColumnSearch({
|
|
tableId: tableName,
|
|
dataTable: PRItemTable,
|
|
searchableColumns: [
|
|
{
|
|
columnIndex: 1,
|
|
columnName: 'PR No',
|
|
placeholder: 'Enter PR Number...',
|
|
searchType: 'text',
|
|
searchMode: 'exact',
|
|
width: '150px'
|
|
},
|
|
{
|
|
columnIndex: 4,
|
|
columnName: 'Item No',
|
|
placeholder: 'Enter Item Number...',
|
|
searchType: 'text',
|
|
searchMode: 'exact',
|
|
width: '150px'
|
|
},
|
|
{
|
|
columnIndex: 5,
|
|
columnName: 'Item Name',
|
|
placeholder: 'Enter Item Name...',
|
|
searchType: 'text',
|
|
searchMode: 'contains',
|
|
width: '200px'
|
|
},
|
|
{
|
|
columnIndex: 7,
|
|
columnName: 'PR By',
|
|
placeholder: 'Select PRBy...',
|
|
searchType: 'select',
|
|
searchMode: 'exact',
|
|
width: '150px'
|
|
}
|
|
]
|
|
});
|
|
const uniqueSearchClass = 'column-search-input-ItemForTaggingTable';
|
|
|
|
populateSelectOptions(PRItemTable, 7, '.' + uniqueSearchClass + '[data-column="7"]');
|
|
},
|
|
});
|
|
}
|
|
function viewPRItemDetail(data) {
|
|
loader = $('#overlay, #loader').css('z-index', 1070);
|
|
$("#uomName").on('keyup', function () {
|
|
populateUOM();
|
|
});
|
|
let PRDetailsId = data.prDetailsId;
|
|
$.ajax($.extend({
|
|
url: '/POMgmt/GetPRWOCanvass',
|
|
type: 'GET',
|
|
data: { PRDetailsId },
|
|
success: function (data) {
|
|
if (data && data.data && data.data.length > 0) {
|
|
|
|
var item = data.data[0];
|
|
|
|
$('#itemName').val(item.itemName);
|
|
$('#itemDescription').val(item.itemDescription);
|
|
$('#specification').val(item.specification);
|
|
$('#itemQty').val(item.qty);
|
|
$('#uomName').val(item.uomName);
|
|
$('#uomId').val(item.uomId);
|
|
$('#prDetailsId').val(item.prDetailsId);
|
|
$('#denied-itemNo').val(item.itemNo);
|
|
|
|
var itemPicturePath = item.itemAttachPath;
|
|
if (!itemPicturePath || itemPicturePath === 'N/A' || itemPicturePath === 'None') {
|
|
$('#itemPictureImage').attr('src', '/Content/Common/empty.jpg');
|
|
} else {
|
|
var imageUrl = item.urlImg + itemPicturePath;
|
|
// Set the image source
|
|
$('#itemPictureImage').attr('src', imageUrl);
|
|
}
|
|
|
|
$('#viewPRItemDetail').modal('show');
|
|
$('#viewPRItemDetail').css('z-index', 1070);
|
|
} else {
|
|
console.log('Data is null or undefined');
|
|
}
|
|
},
|
|
error: errorHandler
|
|
}, beforeComplete(loader)));
|
|
}
|
|
function viewPOItemDetail(data) {
|
|
loader = $('#overlay, #loader').css('z-index', 1070);
|
|
$("#uomName").on('keyup', function () {
|
|
populateUOM();
|
|
});
|
|
let PONo = data.poNo;
|
|
let PRDetailsId = data.prDetailsId;
|
|
$.ajax($.extend({
|
|
url: '/POMgmt/GetPOItemDetail',
|
|
type: 'GET',
|
|
data: { PRDetailsId, PONo },
|
|
success: function (data) {
|
|
if (data && data.data && data.data.length > 0) {
|
|
|
|
var item = data.data[0];
|
|
|
|
$('#itemName').val(item.itemName);
|
|
$('#itemDescription').val(item.itemDescription);
|
|
$('#specification').val(item.specification);
|
|
$('#itemQty').val(item.qty);
|
|
$('#uomName').val(item.uomName);
|
|
$('#uomId').val(item.uomId);
|
|
$('#unitPrice').val(item.unitPrice);
|
|
$('#prDetailsId').val(item.prDetailsId);
|
|
$('#c-poRemarks').val(item.remarks);
|
|
$('#P-paymentTerms').val(item.paymentTerms);
|
|
$('#P-paymentTermsId').val(item.paymentTermsId);
|
|
$('#P-portOfDischarge').val(item.portOfDischarge);
|
|
$('#P-portOfDischarge-id').val(item.podId);
|
|
|
|
$("#P-paymentTerms").on('keyup', function () {
|
|
popTerms();
|
|
});
|
|
var poTypeId = $('#potype-cancel').val();
|
|
if (poTypeId == 3) {
|
|
document.getElementById('P-portOfDischarge').style.display = 'flex';
|
|
document.getElementById('pod-label').style.display = 'flex';
|
|
$("#P-portOfDischarge").on('keyup', function () {
|
|
popPortOfDisCharge();
|
|
});
|
|
} else {
|
|
document.getElementById('P-portOfDischarge').style.display = 'none';
|
|
document.getElementById('pod-label').style.display = 'none';
|
|
}
|
|
// Check if item picture path is null or empty
|
|
var itemPicturePath = item.itemAttachPath;
|
|
if (!itemPicturePath || itemPicturePath === 'N/A' || itemPicturePath === 'None') {
|
|
$('#itemPictureImage').attr('src', '/Content/Common/empty.jpg');
|
|
} else {
|
|
var imageUrl = item.urlImg + itemPicturePath;
|
|
// Set the image source
|
|
$('#itemPictureImage').attr('src', imageUrl);
|
|
}
|
|
$('#viewPOItemDetail').modal('show');
|
|
$('#viewPOItemDetail').css('z-index', 1070);
|
|
} else {
|
|
console.log('Data is null or undefined');
|
|
}
|
|
},
|
|
error: errorHandler
|
|
}, beforeComplete(loader)));
|
|
}
|
|
function populateUOM() {
|
|
$("#uomName").autocomplete({
|
|
source: function (request, response) {
|
|
$.ajax({
|
|
url: "/ItemMgmt/GetItemUOM",
|
|
data: { query: request.term },
|
|
success: function (result) {
|
|
if (result && result.success && Array.isArray(result.data)) {
|
|
|
|
var formattedData = result.data.map(item => ({
|
|
label: item.label || '', // Use an empty string if undefined
|
|
value: item.value !== undefined && item.value !== null ? item.value.toString() : ''
|
|
}));
|
|
|
|
// console.log('formattedData value:', formattedData);
|
|
response(formattedData);
|
|
} else {
|
|
console.error('Invalid data format received:', result);
|
|
response([]); // Return an empty array to clear the dropdown
|
|
}
|
|
}
|
|
});
|
|
},
|
|
minLength: 2,
|
|
select: function (event, ui) {
|
|
$('#uomName').val(ui.item.label);
|
|
$('#uomId').val(ui.item.value);
|
|
return false;
|
|
},
|
|
focus: function (event, ui) {
|
|
event.preventDefault();
|
|
},
|
|
open: function () {
|
|
var dropdown = $(".ui-autocomplete");
|
|
|
|
dropdown.css({
|
|
"max-height": "200px",
|
|
"overflow-y": "auto"
|
|
});
|
|
},
|
|
messages: {
|
|
noResults: '',
|
|
results: function (count) {
|
|
return count + (count > 1 ? ' results' : ' result');
|
|
}
|
|
}
|
|
});
|
|
}
|