fixed imballaggi worksheet

This commit is contained in:
Claudio 2026-03-20 12:24:22 +01:00
parent f477f393ba
commit 53b990ff40

View File

@ -12,13 +12,12 @@ $worksheet_id = isset($_GET['id']) && is_numeric($_GET['id']) ? (int)$_GET['id']
// AJAX HANDLERS
if ($_SERVER['REQUEST_METHOD'] === 'POST' && isset($_POST['ajax']) && $_POST['ajax'] == '1') {
// Ensure clean JSON output (remove any echoed HTML/notices)
// Ensure clean JSON output
while (ob_get_level()) {
ob_end_clean();
}
header('Content-Type: application/json; charset=utf-8');
header('Content-Type: application/json');
header('Content-Type: application/json; charset=utf-8');
$action = $_POST['action'] ?? '';
@ -45,6 +44,12 @@ if ($_SERVER['REQUEST_METHOD'] === 'POST' && isset($_POST['ajax']) && $_POST['aj
$freq_jig = trim($_POST['control_frequency_jig'] ?? '');
$mode_jig = trim($_POST['control_mode_jig'] ?? '');
// Package data moved to worksheet header
$requested_package_code = trim($_POST['requested_package_code'] ?? '');
$meters_per_package = $_POST['meters_per_package'] !== '' ? (int)$_POST['meters_per_package'] : null;
$meters_per_package_tolerance = trim($_POST['meters_per_package_tolerance'] ?? '');
$meters_per_package_notes = trim($_POST['meters_per_package_notes'] ?? '');
$box_type = trim($_POST['box_type'] ?? '');
$pkg_box = $_POST['packages_or_pieces_per_box'] !== '' ? (int)$_POST['packages_or_pieces_per_box'] : null;
$m_box = $_POST['meters_per_box'] !== '' ? (int)$_POST['meters_per_box'] : null;
@ -73,6 +78,10 @@ if ($_SERVER['REQUEST_METHOD'] === 'POST' && isset($_POST['ajax']) && $_POST['aj
control_frequency_drawing = ?,
control_frequency_jig = ?,
control_mode_jig = ?,
requested_package_code = ?,
meters_per_package = ?,
meters_per_package_tolerance = ?,
meters_per_package_notes = ?,
box_type = ?,
packages_or_pieces_per_box = ?,
meters_per_box = ?,
@ -97,6 +106,10 @@ if ($_SERVER['REQUEST_METHOD'] === 'POST' && isset($_POST['ajax']) && $_POST['aj
$freq_draw !== '' ? $freq_draw : null,
$freq_jig !== '' ? $freq_jig : null,
$mode_jig !== '' ? $mode_jig : null,
$requested_package_code !== '' ? $requested_package_code : null,
$meters_per_package,
$meters_per_package_tolerance !== '' ? $meters_per_package_tolerance : null,
$meters_per_package_notes !== '' ? $meters_per_package_notes : null,
$box_type !== '' ? $box_type : null,
$pkg_box,
$m_box,
@ -117,19 +130,26 @@ if ($_SERVER['REQUEST_METHOD'] === 'POST' && isset($_POST['ajax']) && $_POST['aj
$stmt = $pdo->prepare("
INSERT INTO work_sheets
(idmatrice, worksheet_date, customer_name, profile_type_code, marking,
prod_control_measure_settings, control_frequency_cut, control_frequency_drawing, control_frequency_jig, control_mode_jig,
box_type, packages_or_pieces_per_box, meters_per_box,
pallet_type, boxes_or_packages_per_pallet,
speed_expected_kg_h, speed_actual_kg_h, speed_expected_m_h, speed_actual_m_h,
approved_by, notes)
(
idmatrice, worksheet_date, customer_name, profile_type_code, marking,
prod_control_measure_settings, control_frequency_cut, control_frequency_drawing,
control_frequency_jig, control_mode_jig,
requested_package_code, meters_per_package, meters_per_package_tolerance, meters_per_package_notes,
box_type, packages_or_pieces_per_box, meters_per_box,
pallet_type, boxes_or_packages_per_pallet,
speed_expected_kg_h, speed_actual_kg_h, speed_expected_m_h, speed_actual_m_h,
approved_by, notes
)
VALUES
(?, ?, ?, ?, ?,
?, ?, ?, ?, ?,
?, ?, ?,
?, ?,
?, ?, ?, ?,
?, ?)
(
?, ?, ?, ?, ?,
?, ?, ?, ?, ?,
?, ?, ?, ?,
?, ?, ?,
?, ?,
?, ?, ?, ?,
?, ?
)
");
$stmt->execute([
$idmatrice,
@ -142,6 +162,10 @@ if ($_SERVER['REQUEST_METHOD'] === 'POST' && isset($_POST['ajax']) && $_POST['aj
$freq_draw !== '' ? $freq_draw : null,
$freq_jig !== '' ? $freq_jig : null,
$mode_jig !== '' ? $mode_jig : null,
$requested_package_code !== '' ? $requested_package_code : null,
$meters_per_package,
$meters_per_package_tolerance !== '' ? $meters_per_package_tolerance : null,
$meters_per_package_notes !== '' ? $meters_per_package_notes : null,
$box_type !== '' ? $box_type : null,
$pkg_box,
$m_box,
@ -168,10 +192,9 @@ if ($_SERVER['REQUEST_METHOD'] === 'POST' && isset($_POST['ajax']) && $_POST['aj
exit;
}
$row_id = (int)($_POST['row_id'] ?? 0);
$idmescola = (int)($_POST['idmescola'] ?? 0);
$pos = 0; // auto-assign
$row_id = (int)($_POST['row_id'] ?? 0);
$idmescola = (int)($_POST['idmescola'] ?? 0);
$pos = 0; // auto-assign
if ($idmescola <= 0) {
echo json_encode(['success' => false, 'message' => 'Seleziona una mescola']);
@ -186,43 +209,19 @@ if ($_SERVER['REQUEST_METHOD'] === 'POST' && isset($_POST['ajax']) && $_POST['aj
$lub_type = ($_POST['lubrication_type'] ?? '') !== '' ? $_POST['lubrication_type'] : null;
$lub_note = trim($_POST['lubrication_notes'] ?? '');
$pkg_code = trim($_POST['requested_package_code'] ?? '');
$m_pkg = $_POST['meters_per_package'] !== '' ? (int)$_POST['meters_per_package'] : null;
$m_pkg_note = trim($_POST['meters_per_package_notes'] ?? '');
$m_pkg_tol = trim($_POST['meters_per_package_tolerance'] ?? '');
// Use transaction to keep constraints consistent
$pdo->beginTransaction();
if ($row_id > 0) {
// Auto-assign mix_position = max + 1 for this worksheet
$stmtPos = $pdo->prepare("
SELECT IFNULL(MAX(mix_position), 0) + 1
FROM work_sheet_mescole
WHERE worksheet_id = ?
FOR UPDATE
");
$stmtPos->execute([$worksheet_id]);
$pos = (int)$stmtPos->fetchColumn();
if ($pos <= 0) $pos = 1;
$stmt = $pdo->prepare("
UPDATE work_sheet_mescole SET
idmescola = ?,
mix_weight_g_m = ?,
required_density = ?,
required_hardness_shore_a = ?,
lubrication_type = ?,
lubrication_notes = ?,
requested_package_code = ?,
meters_per_package = ?,
meters_per_package_notes = ?,
meters_per_package_tolerance = ?
WHERE id = ? AND worksheet_id = ?
");
UPDATE work_sheet_mescole SET
idmescola = ?,
mix_weight_g_m = ?,
required_density = ?,
required_hardness_shore_a = ?,
lubrication_type = ?,
lubrication_notes = ?
WHERE id = ? AND worksheet_id = ?
");
$stmt->execute([
$idmescola,
$mix_weight,
@ -230,37 +229,33 @@ if ($_SERVER['REQUEST_METHOD'] === 'POST' && isset($_POST['ajax']) && $_POST['aj
$hardness !== '' ? $hardness : null,
$lub_type,
$lub_note !== '' ? $lub_note : null,
$pkg_code !== '' ? $pkg_code : null,
$m_pkg,
$m_pkg_note !== '' ? $m_pkg_note : null,
$m_pkg_tol !== '' ? $m_pkg_tol : null,
$row_id,
$worksheet_id
]);
$pdo->commit();
echo json_encode(['success' => true]);
exit;
}
// If position already used, auto-assign next (max+1)
$chk = $pdo->prepare("SELECT COUNT(*) FROM work_sheet_mescole WHERE worksheet_id = ? AND mix_position = ?");
$chk->execute([$worksheet_id, $pos]);
if ((int)$chk->fetchColumn() > 0) {
$mx = $pdo->prepare("SELECT IFNULL(MAX(mix_position),0) + 1 FROM work_sheet_mescole WHERE worksheet_id = ?");
$mx->execute([$worksheet_id]);
$pos = (int)$mx->fetchColumn();
}
$stmtPos = $pdo->prepare("
SELECT IFNULL(MAX(mix_position), 0) + 1
FROM work_sheet_mescole
WHERE worksheet_id = ?
FOR UPDATE
");
$stmtPos->execute([$worksheet_id]);
$pos = (int)$stmtPos->fetchColumn();
if ($pos <= 0) $pos = 1;
$stmt = $pdo->prepare("
INSERT INTO work_sheet_mescole
(worksheet_id, idmescola, mix_position, mix_weight_g_m, required_density, required_hardness_shore_a,
lubrication_type, lubrication_notes,
requested_package_code, meters_per_package, meters_per_package_notes, meters_per_package_tolerance)
VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)
(
worksheet_id, idmescola, mix_position, mix_weight_g_m,
required_density, required_hardness_shore_a,
lubrication_type, lubrication_notes
)
VALUES (?, ?, ?, ?, ?, ?, ?, ?)
");
$stmt->execute([
$worksheet_id,
@ -270,11 +265,7 @@ if ($_SERVER['REQUEST_METHOD'] === 'POST' && isset($_POST['ajax']) && $_POST['aj
$density !== '' ? $density : null,
$hardness !== '' ? $hardness : null,
$lub_type,
$lub_note !== '' ? $lub_note : null,
$pkg_code !== '' ? $pkg_code : null,
$m_pkg,
$m_pkg_note !== '' ? $m_pkg_note : null,
$m_pkg_tol !== '' ? $m_pkg_tol : null
$lub_note !== '' ? $lub_note : null
]);
$pdo->commit();
@ -300,7 +291,9 @@ if ($_SERVER['REQUEST_METHOD'] === 'POST' && isset($_POST['ajax']) && $_POST['aj
echo json_encode(['success' => false, 'message' => 'Azione sconosciuta']);
exit;
} catch (Exception $e) {
if ($pdo->inTransaction()) $pdo->rollBack();
if ($pdo->inTransaction()) {
$pdo->rollBack();
}
echo json_encode(['success' => false, 'message' => $e->getMessage()]);
exit;
}
@ -313,7 +306,7 @@ $matrici = $pdo->query("
ORDER BY nome ASC
")->fetchAll(PDO::FETCH_ASSOC);
// Load worksheet lookup options
// Load generic worksheet lookup options
$lookup = [];
$lookupDefault = [];
@ -333,6 +326,33 @@ foreach ($stmt->fetchAll(PDO::FETCH_ASSOC) as $r) {
}
}
// Load packaging items from dedicated table
$packagingLookup = [
'PACKAGING_TYPE' => [],
'BOX' => [],
'PALLET' => []
];
$stmt = $pdo->prepare("
SELECT category, item_name, item_code
FROM packaging_items
WHERE is_active = 1
AND category IN ('PACKAGING_TYPE', 'BOX', 'PALLET')
ORDER BY category ASC, item_name ASC
");
$stmt->execute();
foreach ($stmt->fetchAll(PDO::FETCH_ASSOC) as $r) {
$label = $r['item_name'];
if (!empty($r['item_code'])) {
$label .= ' — ' . $r['item_code'];
}
$packagingLookup[$r['category']][] = [
'value' => $r['item_code'],
'label' => $label
];
}
// Load mescole dropdown for modal
$mescole = $pdo->query("
@ -398,9 +418,25 @@ function ws_options($rows, $selectedValue, $defaultValue = '')
return $html;
}
function packaging_options($rows, $selectedValue = '')
{
$selectedValue = (string)$selectedValue;
$html = '<option value="">--</option>';
if (!$rows) return $html;
foreach ($rows as $r) {
$val = h($r['value']);
$lab = h($r['label']);
$sel = ((string)$r['value'] === $selectedValue) ? ' selected' : '';
$html .= "<option value=\"{$val}\"{$sel}>{$lab}</option>";
}
return $html;
}
$isEdit = ($worksheet_id > 0);
?>
<!doctype html>
<html lang="it">
@ -411,7 +447,6 @@ $isEdit = ($worksheet_id > 0);
<title><?= $isEdit ? 'Modifica Foglio di Lavoro' : 'Nuovo Foglio di Lavoro' ?></title>
<script src="https://code.jquery.com/jquery-3.6.0.min.js"></script>
<script src="https://cdn.jsdelivr.net/npm/sweetalert2@11"></script>
<link rel="stylesheet" href="https://cdn.datatables.net/1.13.6/css/dataTables.bootstrap5.min.css">
@ -422,7 +457,6 @@ $isEdit = ($worksheet_id > 0);
<link href="https://cdn.jsdelivr.net/npm/@ttskch/select2-bootstrap4-theme@1.5.2/dist/select2-bootstrap4.min.css" rel="stylesheet" />
<script src="https://cdn.jsdelivr.net/npm/select2@4.1.0-rc.0/dist/js/select2.min.js"></script>
<style>
body {
font-size: 0.95rem;
@ -492,7 +526,6 @@ $isEdit = ($worksheet_id > 0);
</div>
<div class="card-body">
<!-- HEADER FORM -->
<form id="worksheetHeaderForm">
<input type="hidden" name="id" id="wsId" value="<?= (int)$worksheet_id ?>">
@ -533,7 +566,6 @@ $isEdit = ($worksheet_id > 0);
<select class="form-select" name="marking" id="marking">
<?= ws_options($lookup['marking'] ?? [], $worksheet['marking'] ?? '', $lookupDefault['marking'] ?? '') ?>
</select>
</div>
<div class="col-md-3">
@ -552,53 +584,79 @@ $isEdit = ($worksheet_id > 0);
<select class="form-select" name="control_frequency_cut" id="control_frequency_cut">
<?= ws_options($lookup['control_frequency_cut'] ?? [], $worksheet['control_frequency_cut'] ?? '', $lookupDefault['control_frequency_cut'] ?? '') ?>
</select>
</div>
<div class="col-md-3">
<label class="form-label fw-semibold">Controlli - Disegno</label>
<select class="form-select" name="control_frequency_drawing" id="control_frequency_drawing">
<?= ws_options($lookup['control_frequency_drawing'] ?? [], $worksheet['control_frequency_drawing'] ?? '', $lookupDefault['control_frequency_drawing'] ?? '') ?>
</select>
</div>
<div class="col-md-3">
<label class="form-label fw-semibold">Controlli - Dima</label>
<select class="form-select" name="control_frequency_jig" id="control_frequency_jig">
<?= ws_options($lookup['control_frequency_jig'] ?? [], $worksheet['control_frequency_jig'] ?? '', $lookupDefault['control_frequency_jig'] ?? '') ?>
</select>
</div>
<div class="col-md-3">
<label class="form-label fw-semibold">Modalità dima</label>
<select class="form-select" name="control_mode_jig" id="control_mode_jig">
<?= ws_options($lookup['control_mode_jig'] ?? [], $worksheet['control_mode_jig'] ?? '', $lookupDefault['control_mode_jig'] ?? '') ?>
</select>
</div>
<div class="col-md-4">
<label class="form-label fw-semibold">Codice confezione</label>
<select class="form-select" name="requested_package_code" id="requested_package_code">
<?= packaging_options($packagingLookup['PACKAGING_TYPE'] ?? [], $worksheet['requested_package_code'] ?? '') ?>
</select>
</div>
<div class="col-md-4">
<label class="form-label fw-semibold">Metri per confezione</label>
<input type="number" class="form-control" name="meters_per_package"
value="<?= $worksheet ? h($worksheet['meters_per_package']) : '' ?>">
</div>
<div class="col-md-4">
<label class="form-label fw-semibold">Tolleranza metri/confezione</label>
<input type="text" class="form-control" name="meters_per_package_tolerance"
value="<?= $worksheet ? h($worksheet['meters_per_package_tolerance']) : '' ?>"
placeholder="es. +/- 4m">
</div>
<div class="col-12">
<label class="form-label fw-semibold">Note metri/confezione</label>
<input type="text" class="form-control" name="meters_per_package_notes"
value="<?= $worksheet ? h($worksheet['meters_per_package_notes']) : '' ?>">
</div>
<div class="col-md-3">
<label class="form-label fw-semibold">Scatola (tipo)</label>
<select class="form-select" name="box_type" id="box_type">
<?= ws_options($lookup['box_type'] ?? [], $worksheet['box_type'] ?? '', $lookupDefault['box_type'] ?? '') ?>
<?= packaging_options($packagingLookup['BOX'] ?? [], $worksheet['box_type'] ?? '') ?>
</select>
</div>
<div class="col-md-3">
<label class="form-label fw-semibold"> conf./pezzi per scatola</label>
<input type="number" class="form-control" name="packages_or_pieces_per_box"
value="<?= $worksheet ? h($worksheet['packages_or_pieces_per_box']) : '' ?>">
</div>
<div class="col-md-3">
<label class="form-label fw-semibold">Metri per scatola</label>
<input type="number" class="form-control" name="meters_per_box"
value="<?= $worksheet ? h($worksheet['meters_per_box']) : '' ?>">
</div>
<div class="col-md-3">
<label class="form-label fw-semibold">Bancale (tipo)</label>
<select class="form-select" name="pallet_type" id="pallet_type">
<?= ws_options($lookup['pallet_type'] ?? [], $worksheet['pallet_type'] ?? '', $lookupDefault['pallet_type'] ?? '') ?>
<?= packaging_options($packagingLookup['PALLET'] ?? [], $worksheet['pallet_type'] ?? '') ?>
</select>
</div>
<div class="col-md-3">
@ -612,16 +670,19 @@ $isEdit = ($worksheet_id > 0);
<input type="number" step="0.01" class="form-control" name="speed_expected_kg_h"
value="<?= $worksheet ? h($worksheet['speed_expected_kg_h']) : '' ?>">
</div>
<div class="col-md-3">
<label class="form-label fw-semibold">Vel. effettiva (kg/h)</label>
<input type="number" step="0.01" class="form-control" name="speed_actual_kg_h"
value="<?= $worksheet ? h($worksheet['speed_actual_kg_h']) : '' ?>">
</div>
<div class="col-md-3">
<label class="form-label fw-semibold">Vel. prevista (m/h)</label>
<input type="number" step="0.01" class="form-control" name="speed_expected_m_h"
value="<?= $worksheet ? h($worksheet['speed_expected_m_h']) : '' ?>">
</div>
<div class="col-md-3">
<label class="form-label fw-semibold">Vel. effettiva (m/h)</label>
<input type="number" step="0.01" class="form-control" name="speed_actual_m_h"
@ -645,7 +706,6 @@ $isEdit = ($worksheet_id > 0);
<hr class="my-4">
<!-- MIX ROWS TABLE -->
<div class="d-flex justify-content-between align-items-center mb-2">
<div class="section-title">Mescole associate al foglio</div>
<div class="small-hint">Usa “Aggiungi Mescola” per inserire una o più righe</div>
@ -661,8 +721,6 @@ $isEdit = ($worksheet_id > 0);
<th>Densità</th>
<th>Durezza</th>
<th>Lubr.</th>
<th>Confez.</th>
<th>m/conf.</th>
<th>Azioni</th>
</tr>
</thead>
@ -680,8 +738,6 @@ $isEdit = ($worksheet_id > 0);
<td><?= h($r['required_density'] ?? '-') ?></td>
<td><?= h($r['required_hardness_shore_a'] ?? '-') ?></td>
<td><?= h($r['lubrication_type'] ?? '-') ?></td>
<td><?= h($r['requested_package_code'] ?? '-') ?></td>
<td><?= h($r['meters_per_package'] ?? '-') ?></td>
<td class="text-nowrap">
<button class="btn btn-sm btn-outline-primary edit-mix"
data-row='<?= h(json_encode($r, JSON_UNESCAPED_UNICODE)) ?>'>
@ -735,7 +791,6 @@ $isEdit = ($worksheet_id > 0);
<input type="hidden" name="mix_position" id="mix_position" value="">
<div class="col-md-4">
<label class="form-label fw-semibold">Peso metro mescola (g/m)</label>
<input type="number" step="0.01" class="form-control" name="mix_weight_g_m" id="mix_weight_g_m">
@ -756,7 +811,6 @@ $isEdit = ($worksheet_id > 0);
<select class="form-select" name="lubrication_type" id="lubrication_type">
<?= ws_options($lookup['lubrication_type'] ?? [], '', $lookupDefault['lubrication_type'] ?? '') ?>
</select>
</div>
<div class="col-md-8">
@ -764,29 +818,6 @@ $isEdit = ($worksheet_id > 0);
<input type="text" class="form-control" name="lubrication_notes" id="lubrication_notes">
</div>
<div class="col-md-4">
<label class="form-label fw-semibold">Codice confezione</label>
<select class="form-select" name="requested_package_code" id="requested_package_code">
<?= ws_options($lookup['requested_package_code'] ?? [], '', $lookupDefault['requested_package_code'] ?? '') ?>
</select>
</div>
<div class="col-md-4">
<label class="form-label fw-semibold">Metri per confezione</label>
<input type="number" class="form-control" name="meters_per_package" id="meters_per_package">
</div>
<div class="col-md-4">
<label class="form-label fw-semibold">Tolleranza metri/confezione</label>
<input type="text" class="form-control" name="meters_per_package_tolerance" id="meters_per_package_tolerance" placeholder="es. +/- 4m">
</div>
<div class="col-12">
<label class="form-label fw-semibold">Note metri/confezione</label>
<input type="text" class="form-control" name="meters_per_package_notes" id="meters_per_package_notes">
</div>
<div class="col-12 text-center mt-2">
<button type="submit" class="btn btn-add">💾 Salva Mescola</button>
</div>
@ -801,7 +832,6 @@ $isEdit = ($worksheet_id > 0);
<script>
$(document).ready(function() {
const wsIdInput = $('#wsId');
const btnAddMix = $('#btnAddMix');
@ -826,7 +856,6 @@ $isEdit = ($worksheet_id > 0);
}
});
function enableMixButtonIfSaved() {
const id = parseInt(wsIdInput.val() || '0', 10);
if (id > 0) {
@ -864,8 +893,6 @@ $isEdit = ($worksheet_id > 0);
})
.then(async (r) => {
const text = await r.text();
// Debug: if server returns warnings/HTML, you'll see it in console
try {
return JSON.parse(text);
} catch (err) {
@ -886,13 +913,11 @@ $isEdit = ($worksheet_id > 0);
wsIdInput.val(data.id);
enableMixButtonIfSaved();
// If new, update URL to edit mode
if (!window.location.search.includes('id=')) {
const newUrl = 'manage-worksheet.php?id=' + data.id;
window.history.replaceState({}, '', newUrl);
}
// ✅ What you want: confirm + stay on page + open modal if user wants
Swal.fire({
icon: 'success',
title: 'Testata salvata',
@ -916,7 +941,6 @@ $isEdit = ($worksheet_id > 0);
});
});
// Prepare modal for add
$('#mixModal').on('show.bs.modal', function() {
const wsId = parseInt(wsIdInput.val() || '0', 10);
@ -929,12 +953,12 @@ $isEdit = ($worksheet_id > 0);
return false;
}
// Reset for add by default
$('#mixModalTitle').text('Aggiungi Mescola');
$('#mixForm')[0].reset();
$('#mixRowId').val('0');
$('#mixWorksheetId').val(wsId);
$('#idmescola').prop('disabled', false);
$('#idmescola').prop('disabled', false).val('').trigger('change');
$('#lubrication_type').val('');
});
// Edit mix row
@ -942,32 +966,21 @@ $isEdit = ($worksheet_id > 0);
let row = $(this).attr('data-row');
row = JSON.parse(row);
// Titolo modale
$('#mixModalTitle').text('Modifica Mescola');
// NON resettare in "add"
$('#mixForm')[0].reset();
// Set id riga e worksheet
$('#mixRowId').val(row.id);
$('#mixWorksheetId').val(row.worksheet_id);
// Mescola (se usi select2 devi triggerare change)
$('#idmescola').prop('disabled', false);
$('#idmescola').val(row.idmescola).trigger('change');
// Campi
$('#mix_weight_g_m').val(row.mix_weight_g_m ?? '');
$('#required_density').val(row.required_density ?? '');
$('#required_hardness_shore_a').val(row.required_hardness_shore_a ?? '');
$('#lubrication_type').val(row.lubrication_type ?? '');
$('#lubrication_notes').val(row.lubrication_notes ?? '');
$('#requested_package_code').val(row.requested_package_code ?? '');
$('#meters_per_package').val(row.meters_per_package ?? '');
$('#meters_per_package_tolerance').val(row.meters_per_package_tolerance ?? '');
$('#meters_per_package_notes').val(row.meters_per_package_notes ?? '');
// Apri modale
const modal = new bootstrap.Modal(document.getElementById('mixModal'));
modal.show();
});
@ -988,11 +1001,10 @@ $isEdit = ($worksheet_id > 0);
.then(data => {
if (data.success) {
Swal.fire({
icon: 'success',
title: 'Salvata!',
timer: 800
})
.then(() => location.reload());
icon: 'success',
title: 'Salvata!',
timer: 800
}).then(() => location.reload());
} else {
Swal.fire({
icon: 'error',
@ -1029,11 +1041,10 @@ $isEdit = ($worksheet_id > 0);
.then(data => {
if (data.success) {
Swal.fire({
icon: 'success',
title: 'Eliminata!',
timer: 800
})
.then(() => location.reload());
icon: 'success',
title: 'Eliminata!',
timer: 800
}).then(() => location.reload());
} else {
Swal.fire({
icon: 'error',
@ -1044,7 +1055,6 @@ $isEdit = ($worksheet_id > 0);
});
});
});
});
</script>
</body>