120 lines
4.0 KiB
JavaScript
120 lines
4.0 KiB
JavaScript
const select = document.getElementById("lawyersSelect");
|
|
const specializationId = document.getElementById("specializationLabel").dataset.id;
|
|
const specializationInput = document.getElementById("specializationInput");
|
|
const lawyerTable = document.getElementById("lawyerTable");
|
|
const updateBtn = document.getElementById("update-button");
|
|
|
|
var lawyers = [];
|
|
var specialization = null;
|
|
|
|
window.addEventListener("load", async () => {
|
|
try {
|
|
const lawyersResponse = await $.ajax({
|
|
url: `/lawyers/getallbyuserandspecialization?specialization=${specializationId}`,
|
|
type: "GET",
|
|
contentType: "json"
|
|
});
|
|
lawyers = lawyersResponse;
|
|
|
|
lawyers.forEach((lawyer) => {
|
|
createLawyerOption(lawyer);
|
|
});
|
|
|
|
const specializationResponse = await $.ajax({
|
|
url: `/specializations/get?id=${specializationId}`,
|
|
type: 'GET',
|
|
contentType: 'json'
|
|
});
|
|
specialization = specializationResponse;
|
|
fillSpecializationInput(specialization);
|
|
} catch (error) {
|
|
console.error(error);
|
|
}
|
|
});
|
|
|
|
|
|
updateBtn.addEventListener("click", () => {
|
|
if (select.selectedIndex === -1) {
|
|
return;
|
|
}
|
|
|
|
var lawyer = lawyers.find(x => x.id === parseInt(select.value));
|
|
lawyer.specializationId = specialization.id;
|
|
|
|
$.ajax({
|
|
url: "/lawyers/update",
|
|
type: "POST",
|
|
contentType: "application/json",
|
|
data: JSON.stringify(lawyer)
|
|
}).done(() => {
|
|
window.location.href = "/Home/Specializations";
|
|
});
|
|
})
|
|
|
|
const createLawyerOption = (lawyer) => {
|
|
const option = document.createElement("option");
|
|
option.value = lawyer.id;
|
|
option.innerHTML = lawyer.name + " " + lawyer.surname + " " + lawyer.patronymic + ", " + lawyer.experience;
|
|
select.appendChild(option);
|
|
select.selectedIndex = -1;
|
|
}
|
|
|
|
const fillSpecializationInput = (specialization) => {
|
|
specializationInput.value = specialization.name
|
|
}
|
|
|
|
select.addEventListener("change", () => {
|
|
lawyerTable.innerHTML = "";
|
|
|
|
const createRow = (label, value) => {
|
|
const tr = document.createElement('tr');
|
|
const tdLabel = document.createElement('td');
|
|
tdLabel.innerHTML = label;
|
|
const tdValue = document.createElement('td');
|
|
tdValue.innerHTML = value;
|
|
|
|
tr.appendChild(tdLabel);
|
|
tr.appendChild(document.createElement('td'));
|
|
tr.appendChild(document.createElement('td'));
|
|
tr.appendChild(tdValue);
|
|
|
|
return tr;
|
|
};
|
|
|
|
const lawyer = lawyers.find(x => x.id === parseInt(select.value));
|
|
|
|
const trName = createRow("Имя:", lawyer.name);
|
|
const trSurname = createRow("Фамилия:", lawyer.surname);
|
|
const trPatronymic = createRow("Отчество:", lawyer.patronymic);
|
|
const trExperience = createRow("Опыт работы:", lawyer.experience);
|
|
|
|
const trSpecializationName = document.createElement('tr');
|
|
const tdSpecializationNameField = document.createElement('td');
|
|
tdSpecializationNameField.innerHTML = "Специализация:";
|
|
const tdNewSpecializationName = document.createElement('td');
|
|
tdNewSpecializationName.innerHTML = specialization.name;
|
|
const tdArrowSpecializationName = document.createElement('td');
|
|
tdArrowSpecializationName.innerHTML = "-->";
|
|
const tdSpecializationName = createRow("", lawyer.specializationName);
|
|
|
|
trSpecializationName.appendChild(tdSpecializationNameField);
|
|
trSpecializationName.appendChild(tdNewSpecializationName);
|
|
trSpecializationName.appendChild(tdArrowSpecializationName);
|
|
trSpecializationName.appendChild(tdSpecializationName);
|
|
|
|
lawyerTable.append(
|
|
trName,
|
|
trSurname,
|
|
trPatronymic,
|
|
trExperience,
|
|
trSpecializationName
|
|
);
|
|
});
|
|
|
|
const formatDate = (dateString) => {
|
|
const date = new Date(dateString);
|
|
const year = date.getFullYear();
|
|
const month = ('0' + (date.getMonth() + 1)).slice(-2);
|
|
const day = ('0' + date.getDate()).slice(-2);
|
|
return `${year}-${month}-${day}`;
|
|
}; |