async function setupProjectCodeAutocomplete() {
const input = document.getElementById('projectCode');
let debounceTimer;
input.addEventListener('input', function (e) {
clearTimeout(debounceTimer);
const searchTerm = e.target.value;
if (searchTerm.length < 2) return;
debounceTimer = setTimeout(async () => {
try {
// Replace with your actual API endpoint
const response = await fetch(`/api/projects/search?term=${encodeURIComponent(searchTerm)}`);
const projects = await response.json();
const datalist = document.getElementById('projectCodeList');
datalist.innerHTML = '';
projects.forEach(project => {
const option = document.createElement('option');
option.value = project.code;
option.textContent = `${project.code} - ${project.name}`;
datalist.appendChild(option);
});
} catch (error) {
console.error('Error fetching project codes:', error);
}
}, 300);
});
}
function populateItemCategSelect() {
$.ajax({
url: "/ItemMgmt/GetItemCateg",
success: function (response) {
if (response && response.success && Array.isArray(response.data)) {
var $itemCategorySelect = $('#itemCategorySelect');
$itemCategorySelect.empty();
response.data.forEach(function (item) {
var option = $('')
.attr('value', item.itemCategoryId)
.text(item.itemCategoryName);
$itemCategorySelect.append(option);
});
if (response.data.length > 0) {
var firstItem = response.data[0];
$itemCategorySelect.val(firstItem.itemCategoryId);
$('#ItemCategory2Id').val(firstItem.itemCategoryId);
}
} else {
console.error('Invalid data format received:', response);
}
},
error: function (error) {
console.error('Error fetching item categories:', error);
}
});
$('#itemCategorySelect').on('change', function () {
var selectedCategoryId = $(this).val();
$('#ItemCategory2Id').val(selectedCategoryId);
});
}
function populateItemCateg() {
$.ajax({
url: "/ItemMgmt/GetItemCateg",
success: function (data) {
if (data && data.success && Array.isArray(data.data)) {
var categs = data.data;
$('#ItemCategory').empty();
$('#ItemCategory').append($('