50 lines
1.5 KiB
JavaScript
50 lines
1.5 KiB
JavaScript
$.ajaxSetup({
|
|
headers: {
|
|
"X-CSRF-TOKEN": $('meta[name="csrf-token"]').attr("content"),
|
|
},
|
|
});
|
|
let tableContainer = $("#opnames-table");
|
|
let url = tableContainer.data("url");
|
|
let table = $("#opnames-table").DataTable({
|
|
processing: true,
|
|
serverSide: true,
|
|
ajax: url,
|
|
columns: [
|
|
{ data: "dealer_name", name: "dealer.name" },
|
|
{ data: "user_name", name: "user.name" },
|
|
{ data: "opname_date", name: "opname_date" },
|
|
{ data: "action", name: "action", orderable: false, searchable: false },
|
|
],
|
|
});
|
|
$(document).on("click", ".btn-product-stock-dealers", function () {
|
|
const productId = $(this).data("id");
|
|
const productName = $(this).data("name");
|
|
const ajaxUrl = $(this).data("url");
|
|
|
|
// Set product name in modal title
|
|
$("#product-name-title").text(productName);
|
|
|
|
// Initialize or reload DataTable inside modal
|
|
$("#dealer-stock-table").DataTable({
|
|
destroy: true, // reinit if exists
|
|
processing: true,
|
|
serverSide: true,
|
|
ajax: {
|
|
url: ajaxUrl,
|
|
data: {
|
|
product_id: productId,
|
|
},
|
|
},
|
|
columns: [
|
|
{ data: "dealer_name", name: "dealer_name" },
|
|
{ data: "system_stock", name: "system_stock" },
|
|
{ data: "physical_stock", name: "physical_stock" },
|
|
{ data: "difference", name: "difference" },
|
|
{ data: "opname_date", name: "opname_date" },
|
|
],
|
|
});
|
|
|
|
// Show the modal
|
|
$("#dealerStockModal").modal("show");
|
|
});
|