initial commit

This commit is contained in:
Ivan
2024-05-15 16:27:22 +03:00
commit b34ea0b94c
28 changed files with 19735 additions and 0 deletions

View File

@ -0,0 +1,212 @@
const createTable = () => {
const table = document.getElementById("applicationsTable");
const tbody = table.querySelector("tbody");
// Очищаем таблицу
tbody.innerHTML = "";
applications.forEach((application) => {
const row = document.createElement("tr");
row.setAttribute("onclick", `openApplication(${application.id});`);
// Добавляем ячейки с данными
const id = document.createElement("td");
id.textContent = application.id;
row.appendChild(id);
const status = document.createElement("td");
status.textContent = application.status;
row.appendChild(status);
const type = document.createElement("td");
type.textContent = application.type;
row.appendChild(type);
const worker = document.createElement("td");
worker.textContent = application.worker;
row.appendChild(worker);
const legal = document.createElement("td");
legal.innerHTML = application.legal;
row.appendChild(legal);
const date = document.createElement("td");
const rawDate = new Date(application.date);
const formattedDate = `${rawDate.getDate().toString().padStart(2, "0")}/${(
rawDate.getMonth() + 1
)
.toString()
.padStart(2, "0")}/${rawDate.getFullYear()}`;
date.textContent = formattedDate;
row.appendChild(date);
const finaldate = document.createElement("td");
if (application.finaldate) {
const rawFinalDate = new Date(application.finaldate);
const formattedfinalDate = `${rawFinalDate
.getDate()
.toString()
.padStart(2, "0")}/${(rawFinalDate.getMonth() + 1)
.toString()
.padStart(2, "0")}/${rawFinalDate.getFullYear()}`;
finaldate.textContent = formattedfinalDate;
} else {
finaldate.textContent = "";
}
row.appendChild(finaldate);
const car = document.createElement("td");
if (application.car) {
let carText = application.car.replace(/"/g, '"');
carText = JSON.parse(carText).join(", ");
car.textContent = carText;
}
row.appendChild(car);
tbody.appendChild(row);
});
};
document.addEventListener("DOMContentLoaded", function () {
createTable();
});
function getCookie(name) {
var cookies = document.cookie.split(";");
for (var i = 0; i < cookies.length; i++) {
var cookie = cookies[i].trim();
if (cookie.startsWith(name + "=")) {
return cookie.substring(name.length + 1);
}
}
return null;
}
function requestUpdate() {
document.getElementById("applicationsTable").style.filter =
"brightness(0.85)";
const formData = new FormData();
formData.append("searchText", document.getElementById("table-search").value);
formData.append(
"page",
parseInt(document.getElementById("page-number").textContent)
);
const requestOptions = {
method: "POST",
headers: {
Authorization: getCookie("token"),
},
body: formData,
};
fetch(API_SERVER + "/forms/getapplications", requestOptions)
.then((response) => {
document.getElementById("applicationsTable").style.filter =
"brightness(1)";
if (response.ok) {
return response.json();
} else {
console.error("Ошибка при отправке POST запроса.");
return "Ошибка при отправке запроса.";
}
})
.then((data) => {
applications.splice(0, applications.length);
applications.push(
...data.applications.map((item) => ({
id: item.id,
status: item.Статус,
type: item.Видаявки,
worker: item.Работник,
date: item.Датааявки,
finaldate: item.Дата_решения,
legal: item.Организация,
car: item.Авто_госомер,
}))
);
createTable();
totalMax = Math.ceil(data.totalCount / 15);
if (totalMax === 0) {
totalMax = 1;
}
var currentPage = parseInt(pageNumberInput.textContent, 10);
if (currentPage > totalMax) {
pageNumberInput.textContent = totalMax;
requestUpdate();
}
})
.catch((error) => {
console.error("Ошибка при отправке запроса:", error);
});
}
// function closeForm() {
// var formContainer = $("#form-bg");
// var fform = $("#form");
// formContainer.removeClass("active");
// fform.removeClass("form-animation");
// $("body").css("overflow", "auto");
// }
// document.addEventListener("DOMContentLoaded", function () {
// const form = document.getElementById("add-form");
// form.addEventListener("submit", function (event) {
// event.preventDefault();
// const deleteConfirmation = document.getElementById("addInformation");
// const closeButton = document.getElementById("closeButton");
// const mark = document.getElementById("success-mark");
// closeForm();
// closeButton.style.display = "none";
// deleteConfirmation.style.display = "flex";
// mark.style.display = "none";
// const formData = new FormData(form);
// form.reset();
// fetch(API_SERVER + "/user", {
// method: "POST",
// headers: {
// Authorization: getCookie("token"),
// },
// body: formData,
// })
// .then((response) => response.json())
// .then((data) => {
// showMessage("Пользователь успешно добавлен", true);
// })
// .catch((error) => {
// showMessage("Не удалось добавить пользователя", false);
// console.error("Ошибка:", error);
// });
// });
// });
// function addUser() {
// var formContainer = $("#form-bg");
// var form = $("#form");
// formContainer.addClass("active");
// form.addClass("form-animation");
// $("body").css("overflow", "hidden");
// }
// $(document).ready(function () {
// // Закрывает popup форму
// $("#close-form-btn").click(function () {
// closeForm();
// });
// // Функция для закрытия формы
// function closeForm() {
// var formContainer = $("#form-bg");
// var form = $("#form");
// formContainer.removeClass("active");
// form.removeClass("form-animation");
// $("body").css("overflow", "auto");
// }
// });

View File

@ -0,0 +1,36 @@
function toggleDropdown(dropdownId) {
$(".dropdown-help")
.not("#" + dropdownId)
.removeClass("is-visible");
setTimeout(function () {
$(".dropdown-help")
.not("#" + dropdownId)
.css("display", "none");
}, 200);
const dropdownHelp = $("#" + dropdownId);
if (dropdownHelp.hasClass("is-visible")) {
event.preventDefault();
dropdownHelp.removeClass("is-visible");
setTimeout(function () {
dropdownHelp.css("display", "none");
}, 200);
} else {
event.preventDefault();
dropdownHelp.css("display", "inline-flex");
dropdownHelp.addClass("is-visible");
}
}
$(document).on("click", function (event) {
if ($(event.target).closest(".help-button").length) {
return;
} else {
if (!$(event.target).closest(".dropdown-help").length) {
$(".dropdown-help").removeClass("is-visible");
setTimeout(function () {
$(".dropdown-help").css("display", "none");
}, 200);
}
}
});

10965
static/scripts/jquery.min.js vendored Normal file

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,144 @@
const createTable = () => {
const table = document.getElementById("passesTable");
const tbody = table.querySelector("tbody");
// Очищаем таблицу
tbody.innerHTML = "";
passes.forEach((pass) => {
const row = document.createElement("tr");
row.setAttribute("onclick", `openPass(${pass.id});`);
// Добавляем ячейки с данными
const id = document.createElement("td");
id.textContent = pass.id;
row.appendChild(id);
const status = document.createElement("td");
status.textContent = pass.status;
row.appendChild(status);
const date = document.createElement("td");
const rawDate = new Date(pass.date);
const formattedDate = `${rawDate.getDate().toString().padStart(2, "0")}/${(
rawDate.getMonth() + 1
)
.toString()
.padStart(2, "0")}/${rawDate.getFullYear()}`;
date.textContent = formattedDate;
row.appendChild(date);
const type = document.createElement("td");
type.textContent = pass.type;
row.appendChild(type);
const worker = document.createElement("td");
worker.textContent = pass.name;
row.appendChild(worker);
const legal = document.createElement("td");
legal.innerHTML = pass.legal;
row.appendChild(legal);
const finaldate = document.createElement("td");
if (pass.finaldate) {
const rawFinalDate = new Date(pass.finaldate);
const formattedfinalDate = `${rawFinalDate
.getDate()
.toString()
.padStart(2, "0")}/${(rawFinalDate.getMonth() + 1)
.toString()
.padStart(2, "0")}/${rawFinalDate.getFullYear()}`;
finaldate.textContent = formattedfinalDate;
} else {
finaldate.textContent = "";
}
row.appendChild(finaldate);
const address = document.createElement("td");
address.textContent = pass.address;
row.appendChild(address);
const car = document.createElement("td");
if (pass.car) {
let carText = pass.car.replace(/&quot;/g, '"');
carText = JSON.parse(carText).join(", ");
car.textContent = carText;
}
row.appendChild(car);
tbody.appendChild(row);
});
};
document.addEventListener("DOMContentLoaded", function () {
createTable();
});
function getCookie(name) {
var cookies = document.cookie.split(";");
for (var i = 0; i < cookies.length; i++) {
var cookie = cookies[i].trim();
if (cookie.startsWith(name + "=")) {
return cookie.substring(name.length + 1);
}
}
return null;
}
function requestUpdate() {
document.getElementById("passesTable").style.filter = "brightness(0.85)";
const formData = new FormData();
formData.append("searchText", document.getElementById("table-search").value);
formData.append(
"page",
parseInt(document.getElementById("page-number").textContent)
);
const requestOptions = {
method: "POST",
headers: {
Authorization: getCookie("token"),
},
body: formData,
};
fetch(API_SERVER + "/passes/getpasses", requestOptions)
.then((response) => {
document.getElementById("passesTable").style.filter = "brightness(1)";
if (response.ok) {
return response.json();
} else {
console.error("Ошибка при отправке POST запроса.");
return "Ошибка при отправке запроса.";
}
})
.then((data) => {
passes.splice(0, passes.length);
passes.push(
...data.passes.map((item) => ({
id: item.id,
status: item.Состояние,
date: item.Дата_выдачи,
finaldate: item.Действиео,
type: item.Вид_пропуска,
name: item.Работник,
legal: item.Организация,
address: item.Зонаоступа,
car: item.Авто_госомер,
tmcname: item.Наименование,
}))
);
createTable();
totalMax = Math.ceil(data.totalCount / 15);
if (totalMax === 0) {
totalMax = 1;
}
var currentPage = parseInt(pageNumberInput.textContent, 10);
if (currentPage > totalMax) {
pageNumberInput.textContent = totalMax;
requestUpdate();
}
})
.catch((error) => {
console.error("Ошибка при отправке запроса:", error);
});
}

134
static/scripts/tso-table.js Normal file
View File

@ -0,0 +1,134 @@
const createTable = () => {
const table = document.getElementById("passesTable");
const tbody = table.querySelector("tbody");
// Очищаем таблицу
tbody.innerHTML = "";
passes.forEach((pass) => {
const row = document.createElement("tr");
row.setAttribute("onclick", `openPass(${pass.id});`);
// Добавляем ячейки с данными
const id = document.createElement("td");
id.textContent = pass.id;
row.appendChild(id);
const status = document.createElement("td");
status.textContent = pass.status;
row.appendChild(status);
const date = document.createElement("td");
const rawDate = new Date(pass.date);
const formattedDate = `${rawDate.getDate().toString().padStart(2, "0")}/${(
rawDate.getMonth() + 1
)
.toString()
.padStart(2, "0")}/${rawDate.getFullYear()}`;
date.textContent = formattedDate;
row.appendChild(date);
const type = document.createElement("td");
type.textContent = pass.type;
row.appendChild(type);
const object = document.createElement("td");
object.textContent = pass.object;
row.appendChild(object);
const editdate = document.createElement("td");
if (pass.editdate) {
const rawFinalDate = new Date(pass.editdate);
const formattedfinalDate = `${rawFinalDate
.getDate()
.toString()
.padStart(2, "0")}/${(rawFinalDate.getMonth() + 1)
.toString()
.padStart(2, "0")}/${rawFinalDate.getFullYear()}`;
editdate.textContent = formattedfinalDate;
} else {
editdate.textContent = "";
}
row.appendChild(editdate);
const executor = document.createElement("td");
executor.textContent = pass.executor;
row.appendChild(executor);
tbody.appendChild(row);
});
};
document.addEventListener("DOMContentLoaded", function () {
createTable();
});
function getCookie(name) {
var cookies = document.cookie.split(";");
for (var i = 0; i < cookies.length; i++) {
var cookie = cookies[i].trim();
if (cookie.startsWith(name + "=")) {
return cookie.substring(name.length + 1);
}
}
return null;
}
function requestUpdate() {
document.getElementById("passesTable").style.filter = "brightness(0.85)";
const formData = new FormData();
// formData.append("searchText", document.getElementById("table-search").value);
formData.append(
"page",
parseInt(document.getElementById("page-number").textContent)
);
const requestOptions = {
method: "POST",
headers: {
Authorization: getCookie("token"),
},
body: formData,
};
fetch(API_SERVER + "/passes/gettso", requestOptions)
.then((response) => {
document.getElementById("passesTable").style.filter = "brightness(1)";
if (response.ok) {
return response.json();
} else {
console.error("Ошибка при отправке POST запроса.");
return "Ошибка при отправке запроса.";
}
})
.then((data) => {
passes.splice(0, passes.length);
passes.push(
...data.passes.map((item) => ({
id: item.id,
status: item.Состояние,
object: item.Объект,
fabula: item.Фабула,
type: item.Видеисправности,
date: item.Дата_подачи,
editdate: item.Дата_изменения,
who: item.Кто_подал,
executor: item.Исполнитель,
events: item.Мероприятия,
}))
);
createTable();
totalMax = Math.ceil(data.totalCount / 15);
if (totalMax === 0) {
totalMax = 1;
}
var currentPage = parseInt(pageNumberInput.textContent, 10);
if (currentPage > totalMax) {
pageNumberInput.textContent = totalMax;
requestUpdate();
}
})
.catch((error) => {
console.error("Ошибка при отправке запроса:", error);
});
}

View File

@ -0,0 +1,259 @@
const createTable = () => {
const table = document.getElementById("usersTable");
const legalsTable = document.getElementById("legalsTable");
const tbody = table.querySelector("tbody");
const legalsTbody = legalsTable.querySelector("tbody");
// Очищаем таблицу
tbody.innerHTML = "";
legalsTbody.innerHTML = "";
users.forEach((user) => {
const row = document.createElement("tr");
if (user.isblocked === "true" || user.isblocked === true) {
row.setAttribute("style", `background: rgba(255, 69, 58, 0.3)`);
}
row.setAttribute("onclick", `openUser(${user.id});`);
// Добавляем ячейки с данными
const id = document.createElement("td");
id.textContent = user.id;
row.appendChild(id);
const surname = document.createElement("td");
surname.textContent = user.surname;
row.appendChild(surname);
const name = document.createElement("td");
name.textContent = user.name;
row.appendChild(name);
const secondname = document.createElement("td");
secondname.textContent = user.secondname;
row.appendChild(secondname);
const role = document.createElement("td");
if (user.role) {
role.textContent = user.role;
} else {
role.textContent = "Гость";
}
row.appendChild(role);
const phone = document.createElement("td");
phone.textContent = user.phone;
row.appendChild(phone);
const email = document.createElement("td");
email.textContent = user.email;
row.appendChild(email);
const sub = document.createElement("td");
sub.textContent = user.sub;
row.appendChild(sub);
const department = document.createElement("td");
department.textContent = user.department;
row.appendChild(department);
tbody.appendChild(row);
});
legals.forEach((legal) => {
const legalsRow = document.createElement("tr");
legalsRow.setAttribute("onclick", `openLegal(${legal.id});`);
// Добавляем ячейки с данными
const id = document.createElement("td");
id.textContent = legal.id;
legalsRow.appendChild(id);
const name = document.createElement("td");
name.innerHTML = legal.name;
legalsRow.appendChild(name);
const inn = document.createElement("td");
inn.textContent = legal.inn;
legalsRow.appendChild(inn);
const ogrn = document.createElement("td");
ogrn.textContent = legal.ogrn;
legalsRow.appendChild(ogrn);
const address = document.createElement("td");
address.textContent = legal.address;
legalsRow.appendChild(address);
const realaddress = document.createElement("td");
realaddress.textContent = legal.realaddress;
legalsRow.appendChild(realaddress);
const email = document.createElement("td");
email.textContent = legal.email;
legalsRow.appendChild(email);
legalsTbody.appendChild(legalsRow);
});
};
document.addEventListener("DOMContentLoaded", function () {
createTable();
});
function getCookie(name) {
var cookies = document.cookie.split(";");
for (var i = 0; i < cookies.length; i++) {
var cookie = cookies[i].trim();
if (cookie.startsWith(name + "=")) {
return cookie.substring(name.length + 1);
}
}
return null;
}
function requestUpdate() {
document.getElementById("usersTable").style.filter = "brightness(0.85)";
document.getElementById("legalsTable").style.filter = "brightness(0.85)";
const formData = new FormData();
formData.append("searchText", document.getElementById("table-search").value);
formData.append(
"page",
parseInt(document.getElementById("page-number").textContent)
);
const requestOptions = {
method: "POST",
headers: {
Authorization: getCookie("token"),
},
body: formData,
};
fetch(API_SERVER + "/users/getusers", requestOptions)
.then((response) => {
document.getElementById("usersTable").style.filter = "brightness(1)";
document.getElementById("legalsTable").style.filter = "brightness(1)";
if (response.ok) {
return response.json();
} else {
console.error("Ошибка при отправке POST запроса.");
return "Ошибка при отправке запроса.";
}
})
.then((data) => {
users.splice(0, users.length);
legals.splice(0, legals.length);
users.push(
...data.people.map((item) => ({
id: item.id,
name: item.Имя,
surname: item.Фамилия,
secondname: item.Отчество,
role: item.Должность,
sub: item.Субподряд,
department: item.Цех,
email: item.Email,
phone: item.Телефон,
isblocked: item.Черный_список,
}))
);
legals.push(
...data.legals.map((item) => ({
id: item.id,
name: item.Наименование,
inn: item.ИНН,
ogrn: item.ОГРН,
address: item.Юридический_адрес,
realaddress: item.Фактический_адрес,
email: item.Email,
}))
);
createTable();
peopleMax = Math.ceil(data.totalCountPeople / 15);
legalsMax = Math.ceil(data.totalCountLegal / 15);
if (peopleMax === 0) {
peopleMax = 1;
}
if (legalsMax === 0) {
legalsMax = 1;
}
var currentPage = parseInt(pageNumberInput.textContent, 10);
if (tableType === "People") {
if (currentPage > peopleMax) {
pageNumberInput.textContent = peopleMax;
requestUpdate();
}
} else {
if (currentPage > legalsMax) {
pageNumberInput.textContent = legalsMax;
requestUpdate();
}
}
})
.catch((error) => {
console.error("Ошибка при отправке запроса:", error);
});
}
// function closeForm() {
// var formContainer = $("#form-bg");
// var fform = $("#form");
// formContainer.removeClass("active");
// fform.removeClass("form-animation");
// $("body").css("overflow", "auto");
// }
// document.addEventListener("DOMContentLoaded", function () {
// const form = document.getElementById("add-form");
// form.addEventListener("submit", function (event) {
// event.preventDefault();
// const deleteConfirmation = document.getElementById("addInformation");
// const closeButton = document.getElementById("closeButton");
// const mark = document.getElementById("success-mark");
// closeForm();
// closeButton.style.display = "none";
// deleteConfirmation.style.display = "flex";
// mark.style.display = "none";
// const formData = new FormData(form);
// form.reset();
// fetch(API_SERVER + "/user", {
// method: "POST",
// headers: {
// Authorization: getCookie("token"),
// },
// body: formData,
// })
// .then((response) => response.json())
// .then((data) => {
// showMessage("Пользователь успешно добавлен", true);
// })
// .catch((error) => {
// showMessage("Не удалось добавить пользователя", false);
// console.error("Ошибка:", error);
// });
// });
// });
// function addUser() {
// var formContainer = $("#form-bg");
// var form = $("#form");
// formContainer.addClass("active");
// form.addClass("form-animation");
// $("body").css("overflow", "hidden");
// }
// $(document).ready(function () {
// // Закрывает popup форму
// $("#close-form-btn").click(function () {
// closeForm();
// });
// // Функция для закрытия формы
// function closeForm() {
// var formContainer = $("#form-bg");
// var form = $("#form");
// formContainer.removeClass("active");
// form.removeClass("form-animation");
// $("body").css("overflow", "auto");
// }
// });