var SelectedTab = ""; var TabsMainBlock = false; var Components; $(document).ready(function () { $.tablesorter.addParser({ id: "production_date", is: function () { return false; }, format: function (s, table, cell) { return $(cell).find("input[id^=production-date]").val() || "2222-01-01"; }, parsed: false, type: "text" }); $("#allTable").tablesorter({ sortList: [[3, 1]], theme: "blue", widthFixed: true, widgets: ["filter", "zebra", "stickyHeaders"], fixedWidth: true, widgetOptions: { resizable: false, filter_formatter: { 7: function (cell, index) { return $.tablesorter.filterFormatter.select2(cell, index, { match: true }); }, 8: function (cell, index) { return $.tablesorter.filterFormatter.select2(cell, index, { match: true }); }, 9: function (cell, index) { return $.tablesorter.filterFormatter.select2(cell, index, { match: true }); }, 10: function (cell, index) { return $.tablesorter.filterFormatter.select2(cell, index, { match: true }); }, 12: function (cell, index) { return $.tablesorter.filterFormatter.select2(cell, index, { match: true }); }, 13: function (cell, index) { return $.tablesorter.filterFormatter.select2(cell, index, { match: true }); }, }, filter_functions: { 3: function (e, f, i) { return f.includes(i); } } }, headers: { 3: { sorter: "production_date" }, }, }); $("#allTable").bind('filterEnd', function () { localStorage.setItem("productionSchedule_filter", $.tablesorter.getFilters($("#allTable"))); }); $("#allTable").bind("sortEnd", function () { try { localStorage.setItem('productionSchedule_sort', $("#allTable")[0].config.sortList[0][0] + "|" + $("#allTable")[0].config.sortList[0][1]); } catch (e) {} }); setTimeout(() => { const filters = localStorage.getItem("productionSchedule_filter"); if (filters) { $.tablesorter.setFilters($('#allTable'), filters.split(','), true); } const sort = localStorage.getItem("productionSchedule_sort"); if (sort) { try { var tmp = sort.split("|"); $("#allTable")[0].config.sortList = [[parseInt(tmp[0]), parseInt(tmp[1])]]; $.tablesorter.sortOn($("#allTable")[0].config, [[parseInt(tmp[0]), parseInt(tmp[1])]]); } catch (e) { } } }, 500); $("#selectAll").click(function () { if (this.checked) { $(".allCheck").prop("checked", true); } else { $(".allCheck").prop("checked", false); } }); $("#duplicateBtn").click(() => duplicatePositions()); $("#deleteBtn").click(() => { removePositions(); }); $("#excelBtn").click(() => { exportExcel(); }); $("#pdfBtn").click(() => { window.alert("In progress."); }); $("#productionBtn").click(() => { window.alert("In progress."); }); $("#createInsideOrder").click(createInsideOrder); }); function SetTab(tab_name) { if (TabsMainBlock) { return; } var TabMenu = document.getElementById("groupTabsPanels"); var tabs = TabMenu.getElementsByTagName("li"); for (var i = 0; i < tabs.length; i++) { if ((tab_name + "_menu") === tabs[i].id) { tabs[i].className = "active"; tabs[i].getElementsByTagName("a")[0].className = "current"; } else { tabs[i].className = ""; tabs[i].getElementsByTagName("a")[0].className = ""; } } var prev = document.getElementById(SelectedTab); var curr = document.getElementById(tab_name); prev.style.display = "none"; curr.style.display = ""; SelectedTab = tab_name; if (SelectedTab === "3") { } if (SelectedTab === "2") { getRawMaterials(); } if (SelectedTab === "1") { } } function getRawMaterials() { var ids = []; $("input.allCheck:checkbox:checked").each(function () { // check if this element is visible on site if ($(this).parent().parent().css("display") === "table-row") { ids.push($(this).val()); } }); if (ids.length === 0) { window.alert("Wybierz pozycje zamówień"); SetTab("1"); return; } showLoader(); var url = $(location).attr("href") + "&to_pdf=1&ajaxAction=getRawMaterials"; $.ajax({ method: "post", url: url, data: { ids }, success: function (data) { var result = JSON.parse(data); Components = result; drawRawMaterials(result); //drawComponents(result); //updateComponentsPositions(); hideLoader(); }, error: function () { window.alert("Błąd ładowania surowców"); hideLoader(); } }); } function drawRawMaterials(data) { $("#rawMaterialsTableContainer").html(rawMaterialsTablePrototype()); data.forEach((el, index) => { var tr = $(""); tr.append(""); tr.append("" + (index + 1) + ""); tr.append("" + el.code + ""); tr.append("" + el.name + ""); tr.append("" + el.quantity + ""); tr.append("" + el.unit + ""); tr.append("" + el.stockState + ""); tr.append("" + el.stockAddress + ""); $("#rawMaterialsTable > tbody").append(tr); }); $("#rawMaterialsTable").tablesorter({ theme: "blue", widthFixed: true, widgets: ["filter", "stickyHeaders"], sortList: [[2, 0]], }); $("#rawMaterialsTable").bind("filterEnd", function (event, config) { updateRawMaterialsPositions(); }); $("#rawMaterialsTable").bind("sortEnd", function (event, config) { updateRawMaterialsPositions(); $("#rawMaterialsTable tfoot").find("td").each(function () { $(this).css("background-color", "white"); }); }); $("#selectAllRawMaterials").attr('checked', false); $("#selectAllRawMaterials").click(function () { if (this.checked) { $(".rawMaterialCheck").prop('checked', true); } else { $(".rawMaterialCheck").prop('checked', false); } }); } function rawMaterialsTablePrototype() { return '
PozycjaIndeksNazwaIlośćJM.StanAdres magazynowy
'; } function updateRawMaterialsPositions() { var i = 0; $("#rawMaterialsTable").find("tr").each(function (index) { if (index >= 2 && $(this).css('display') === 'table-row' && $(this).find("td").length > 3) { i++; $($(this).find("td")[1]).html(i); } }); } function editQty(id) { $("#edit-" + id).css("display", "none"); $("#qty-" + id).css("display", "none"); $("#qtyInput-" + id).css("display", "inline"); $("#qtyInput-" + id).select(); $("#save-" + id).css("display", "inline-block"); } function saveQty(id) { showLoader("Trwa aktualizacja..."); $("#edit-" + id).css("display", "inline-block"); $("#qty-" + id).css("display", "inline"); $("#qtyInput-" + id).css("display", "none"); $("#save-" + id).css("display", "none"); $.ajax({ method: "get", url: $(location).attr("href") + "&to_pdf=1&ajaxAction=saveQty&id=" + id + "&qty=" + $("#qtyInput-" + id).val(), success: function () { $("#qty-" + id).html($("#qtyInput-" + id).val()); hideLoader(); }, }); } function duplicatePositions() { var ids = []; $("input.allCheck:checkbox:checked").each(function () { ids.push($(this).val()); }); if (ids.length === 0) { window.alert("Wybierz pozycje zamówień"); return; } var userResponse = window.confirm("Zduplikować pozycje?"); if (!userResponse) { return; } showLoader("Duplikowanie..."); $.ajax({ method: "get", url: $(location).attr("href") + "&to_pdf=1&ajaxAction=duplicatePositions&ids=" + ids.join("|"), success: function () { window.location.reload(); }, }); } function removePositions() { var ids = []; $("input.allCheck:checkbox:checked").each(function () { ids.push($(this).val()); }); if (ids.length === 0) { window.alert("Wybierz pozycje zamówień"); return; } var userResponse = window.confirm("Usunąć pozycje?"); if (!userResponse) { return; } showLoader("Usuwanie..."); $.ajax({ method: "get", url: $(location).attr("href") + "&to_pdf=1&ajaxAction=removePositions&ids=" + ids.join("|"), success: function () { window.location.reload(); }, }); } function saveProductionDate(id) { $.ajax({ method: "get", url: $(location).attr("href") + "&to_pdf=1&ajaxAction=saveProductionDate&id=" + id + "&date=" + $("#production-date-" + id).val(), }); } function editDescription(id) { $("#edit-description-" + id).css("display", "none"); $("#description-" + id).css("display", "none"); $("#descriptionInput-" + id).css("display", "inline"); $("#descriptionInput-" + id).select(); $("#save-description-" + id).css("display", "inline-block"); } function saveDescription(id) { $("#edit-description-" + id).css("display", "inline-block"); $("#description-" + id).css("display", "inline"); $("#descriptionInput-" + id).css("display", "none"); $("#save-description-" + id).css("display", "none"); $.ajax({ method: "get", url: $(location).attr("href") + "&to_pdf=1&ajaxAction=saveProductDescription&id=" + id + "&description=" + $("#descriptionInput-" + id).val(), success: function () { $("#description-" + id).html($("#descriptionInput-" + id).val()); }, }); } function showLoader(msg = "Pobieranie danych") { $.blockUI({ css: { border: "none", padding: "15px", backgroundColor: "#000", "-webkit-border-radius": "10px", "-moz-border-radius": "10px", opacity: 0.5, "font-weight": "bold", "font-size": "16px", color: "#fff", }, message: msg }); } function hideLoader() { $.unblockUI(); } function exportExcel() { showLoader("Generowanie pliku..."); $.ajax({ method: "get", url: $(location).attr("href") + "&to_pdf=1&ajaxAction=exportExcel", success: function (data) { window.console.log(data); }, }); } function createInsideOrder() { var ids = []; $('input.allCheck:checkbox:checked').each(function () { ids.push($(this).val()); }); if (ids.length === 0) { alert('Wybierz pozycje.'); return; } var products = []; ids.forEach(el => { const qty = parseFloat($("#qtyInput-" + el).val().trim()); const id = $("#productId-" + el).val(); products.push(id + "|" + qty); }); $("#insideOrderProducts").val(products.join('*')); $("#createInsideOrderForm").submit(); }