Получение со склада через карточку инструмента

This commit is contained in:
2025-12-10 08:30:46 +03:00
parent 7bfa5b5f4a
commit 197a4d0b1e
5 changed files with 52 additions and 6 deletions
+30 -2
View File
@@ -1732,7 +1732,15 @@ async function showToolkitDetailsModal(item) {
${Object.entries(toolkitStocks.toolboxes).map(([key, value]) => `
<tr>
<td style="width: 60%"><strong>${key}:</strong></td>
<td>${value.count} шт.</td>
<td>${value.count} шт.${value.id && accessData.available_own_toolbox ? `
<button class="btn btn-sm btn-outline-success" data-action="get"
data-toolbox_id="${value.id}" data-id="${item.id}"
data-available="${value.count}" data-totalcost="${value.totalCost}"
title="Получить">
<i class="bi bi-box-arrow-in-down"></i>
</button>
` : ''}
</td>
<td class="fw-bold">${value.placement || ''}</td>
</tr>
`).join('')}
@@ -1754,6 +1762,24 @@ async function showToolkitDetailsModal(item) {
</div>
`;
// Добавляем обработчики для кнопок в строке
modal.querySelectorAll('button[data-action]').forEach(button => {
button.addEventListener('click', async (e) => {
e.stopPropagation();
const action = e.currentTarget.dataset.action;
const id = e.currentTarget.dataset.id;
const toolboxId = e.currentTarget.dataset.toolbox_id;
const available = e.currentTarget.dataset.available;
const totalQuantity = available;
const title = item.title;
const totalCost = e.currentTarget.dataset.totalcost;
const skipRefresh = true;
const selectedItem = { id, toolboxId, available, totalQuantity, title, totalCost, skipRefresh };
await showOperationModal(action, selectedItem);
modal.querySelector('button[data-bs-dismiss="modal"]').click();
});
});
document.body.appendChild(modal);
const bsModal = new bootstrap.Modal(modal);
@@ -1874,7 +1900,9 @@ async function showOperationModal(operation, selectedItem) {
if (success) {
bsModal.hide();
showInfo(`Запрос на ${operationTitles[operation]} успешно создан`, 'success');
await loadToolboxContent(selectedItem.toolboxId);
if (!selectedItem.skipRefresh) {
await loadToolboxContent(selectedItem.toolboxId);
}
} else {
showError('Ошибка выполнения операции');
resetButton();