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

85 lines
4.1 KiB
JavaScript

function updateProgressBar(item) {
if (!item) return; // Handle case where the item is null or undefined
let lastCompletedStep = null;
document.querySelectorAll('.icon-container').forEach(container => {
container.classList.remove('completed');
});
if (item.prCreatedDate) {
document.getElementById('prCreatedDate-Label').innerHTML = item.prCreatedDate;
document.querySelector('#step-prCreatedDate .icon-container').classList.add('completed');
lastCompletedStep = 'step-prCreatedDate';
}
if (item.prApprover1) {
document.getElementById('prApprover1-Label').innerHTML = item.prApprover1;
document.querySelector('#step-prApprover1 .icon-container').classList.add('completed');
lastCompletedStep = 'step-prApprover1';
}
if (item.prApprover2) {
document.getElementById('prApprover2-Label').innerHTML = item.prApprover2;
document.querySelector('#step-prApprover2 .icon-container').classList.add('completed');
lastCompletedStep = 'step-prApprover2';
}
if (item.canvassSubmitedDate) {
document.getElementById('canvassSubmitedDate-Label').innerHTML = item.canvassSubmitedDate;
document.querySelector('#step-canvassSubmitedDate .icon-container').classList.add('completed');
lastCompletedStep = 'step-canvassSubmitedDate';
}
if (item.suppBidDate) {
document.getElementById('suppBidDate-Label').innerHTML = item.suppBidDate;
document.querySelector('#step-suppBidDate .icon-container').classList.add('completed');
lastCompletedStep = 'step-suppBidDate';
}
if (item.canvassApprovedDate) {
document.getElementById('canvassApprovedDate-Label').innerHTML = item.canvassApprovedDate;
document.querySelector('#step-canvassApprovedDate .icon-container').classList.add('completed');
lastCompletedStep = 'step-canvassApprovedDate';
}
if (item.poPreparationDate) {
document.getElementById('poPreparationDate-Label').innerHTML = item.poPreparationDate;
document.querySelector('#step-poPreparationDate .icon-container').classList.add('completed');
lastCompletedStep = 'step-poPreparationDate';
}
if (item.poApprovedDate) {
document.getElementById('poApprovedDate-Label').innerHTML = item.poApprovedDate;
document.querySelector('#step-poApprovedDate .icon-container').classList.add('completed');
lastCompletedStep = 'step-poApprovedDate';
}
if (item.itemArrivedDate) {
document.getElementById('itemArrivedDate-Label').innerHTML = item.itemArrivedDate;
document.querySelector('#step-itemArrivedDate .icon-container').classList.add('completed');
lastCompletedStep = 'step-itemArrivedDate';
}
if (item.receivedDate) {
document.getElementById('receivedDate-Label').innerHTML = item.receivedDate;
document.querySelector('#step-receivedDate .icon-container').classList.add('completed');
lastCompletedStep = 'step-receivedDate';
}
// Additional processing logic for the truck icon positioning
if (lastCompletedStep) {
const lastStepElement = document.getElementById(lastCompletedStep);
const truckIcon = document.getElementById('icon-truck');
if (lastStepElement && truckIcon) {
const stepRect = lastStepElement.getBoundingClientRect();
const containerRect = document.querySelector('.progress-container').getBoundingClientRect();
const leftPosition = stepRect.right - containerRect.left; // Increase the offset as needed
truckIcon.style.left = `${leftPosition}px`;
}
} else {
// If no step is completed, position the truck at the start
const truckIcon = document.getElementById('icon-truck');
truckIcon.style.left = '0px';
}
document.querySelectorAll('.line-container').forEach((lineContainer, index) => {
if (index < document.querySelectorAll('.icon-container.completed').length - 1) {
lineContainer.querySelector('.line').style.backgroundColor = 'orange';
} else {
lineContainer.querySelector('.line').style.backgroundColor = '#ddd';
}
});
}