Skip to content

Commit 88b3637

Browse files
committed
fix: aggiunta seriali
1 parent 4afe827 commit 88b3637

1 file changed

Lines changed: 89 additions & 35 deletions

File tree

modules/articoli/plugins/articoli.lotti.php

Lines changed: 89 additions & 35 deletions
Original file line numberDiff line numberDiff line change
@@ -36,39 +36,57 @@
3636
// Inserimento seriali
3737
echo '
3838
<div class="nav-tabs-custom">
39-
<ul class="nav nav-tabs nav-justified">
40-
<li class="active"><a class="nav-link" href="#generazione" data-widget="tab">'.tr('Generazione multipla').'</a></li>
41-
<li><a class="nav-link" href="#inserimento" data-widget="tab">'.tr('Inserimento singolo').'</a></li>
39+
<ul class="nav nav-tabs" style="width: 100%; display: table; table-layout: fixed;">
40+
<li class="active" style="display: table-cell; width: 50%;"><a class="nav-link" href="#generazione" data-toggle="tab" style="display: block; text-align: center;">'.tr('Generazione multipla').'</a></li>
41+
<li style="display: table-cell; width: 50%;"><a class="nav-link" href="#inserimento" data-toggle="tab" style="display: block; text-align: center;">'.tr('Inserimento singolo').'</a></li>
4242
</ul>
43-
43+
<br>
4444
<div class="tab-content">
4545
<form action="" method="post" role="form" class="tab-pane active" id="generazione">
4646
<input type="hidden" name="backto" value="record-edit">
4747
<input type="hidden" name="op" value="generate_serials">
4848
<input type="hidden" name="id_module" value="'.$id_module.'">
4949
<input type="hidden" name="id_record" value="'.$id_record.'">
5050
51+
<div class="row">
52+
<div class="col-md-12">
53+
<h4><i class="fa fa-magic"></i> '.tr('Generazione automatica seriali').'</h4>
54+
<hr>
55+
</div>
56+
</div>
57+
5158
<div class="row">
5259
<div class="col-md-5">
53-
{[ "type": "text", "label": "'.tr('Inizio').'", "name": "serial_start", "extra": "onkeyup=\"$(\'#serial_end\').val( $(this).val()); ricalcola_generazione();\"" ]}
60+
{[ "type": "text", "label": "'.tr('Seriale iniziale').'", "name": "serial_start", "extra": "onkeyup=\"$(\'#serial_end\').val( $(this).val()); ricalcola_generazione();\"", "placeholder": "'.tr('Es: ABC001').'" ]}
5461
</div>
5562
5663
<div class="col-md-2 text-center" style="padding-top: 20px;">
5764
<i class="fa fa-arrow-circle-right fa-2x"></i>
5865
</div>
5966
6067
<div class="col-md-5">
61-
{[ "type": "text", "label": "'.tr('Fine').'", "name": "serial_end", "extra": "onkeyup=\"ricalcola_generazione();\"" ]}
68+
{[ "type": "text", "label": "'.tr('Seriale finale').'", "name": "serial_end", "extra": "onkeyup=\"ricalcola_generazione();\"", "placeholder": "'.tr('Es: ABC010').'" ]}
69+
</div>
70+
</div>
71+
72+
<div class="row">
73+
<div class="col-md-12">
74+
<small class="help-block">'.tr('Inserisci il range di seriali da generare automaticamente. Il sistema creerà tutti i seriali compresi tra quello iniziale e finale.').'</small>
6275
</div>
6376
</div>
6477
6578
<div class="row">
66-
<div class="col-md-9">
67-
<p class="text-danger">'.tr('Totale prodotti da inserire').': <span id="totale_generazione">0</span></p>
79+
<div class="col-md-6">
80+
<div class="alert alert-info">
81+
<i class="fa fa-info-circle"></i>
82+
<strong>'.tr('Totale seriali da generare').': <span id="totale_generazione" class="badge badge-primary">0</span></strong>
83+
</div>
6884
</div>
6985
70-
<div class="col-md-3 text-right">
71-
<button type="button" class="btn btn-primary" onclick="addSerial(\'#generazione\', $(\'#totale_generazione\').text())"><i class="fa fa-plus"></i> '.tr('Aggiungi').'</button>
86+
<div class="col-md-6 text-right">
87+
<button type="button" class="btn btn-success btn-lg" onclick="addSerial(\'#generazione\', $(\'#totale_generazione\').text())">
88+
<i class="fa fa-magic"></i> '.tr('Genera seriali').'
89+
</button>
7290
</div>
7391
</div>
7492
</form>
@@ -81,17 +99,32 @@
8199
82100
<div class="row">
83101
<div class="col-md-12">
84-
{[ "type": "select", "label": "'.tr('Nuovi seriali').'", "name": "serials[]", "extra": "onchange=\"ricalcola_inserimento();\"", "multiple": 1, "values": [] ]}
102+
<h4><i class="fa fa-barcode"></i> '.tr('Inserimento seriali').'</h4>
103+
<hr>
85104
</div>
86105
</div>
87106
88107
<div class="row">
89-
<div class="col-md-9">
90-
<p class="text-danger">'.tr('Totale prodotti da inserire').': <span id="totale_inserimento">0</span></p>
108+
<div class="col-md-12">
109+
<div class="form-group">
110+
<label>'.tr('Nuovi seriali').'</label>
111+
<small class="help-block">'.tr('Digita i seriali e premi Invio o virgola per aggiungerli alla lista. Puoi inserire più seriali separandoli con virgole.').'</small>
112+
{[ "type": "select", "name": "serials[]", "extra": "onchange=\"ricalcola_inserimento();\"", "multiple": 1, "values": [] ]}
113+
</div>
91114
</div>
115+
</div>
92116
93-
<div class="col-md-3 text-right">
94-
<button type="button" class="btn btn-primary" onclick="addSerial(\'#inserimento\', $(\'#totale_inserimento\').text())"><i class="fa fa-plus"></i> '.tr('Aggiungi').'</button>
117+
<div class="row">
118+
<div class="col-md-6">
119+
<div class="alert alert-info">
120+
<i class="fa fa-info-circle"></i>
121+
<strong>'.tr('Totale seriali da inserire').': <span id="totale_inserimento" class="badge badge-primary">0</span></strong>
122+
</div>
123+
</div>
124+
<div class="col-md-6 text-right">
125+
<button type="button" class="btn btn-success btn-lg" onclick="addSerial(\'#inserimento\', $(\'#totale_inserimento\').text())">
126+
<i class="fa fa-plus"></i> '.tr('Inserisci seriali').'
127+
</button>
95128
</div>
96129
</div>
97130
</form>
@@ -165,19 +198,19 @@
165198
elseif (!empty($acquisto['id_riga_ddt'])) {
166199
$module = 'Ddt in entrata';
167200

168-
$query = 'SELECT
169-
*,
201+
$query = 'SELECT
202+
*,
170203
`dt_tipiddt_lang`.`title` AS tipo_documento,
171204
`dt_tipiddt`.`dir` AS `dir`,
172205
`dt_ddt`.`numero` AS numero,
173206
`dt_ddt`.`data` AS data,
174207
`dt_ddt`.`numero_esterno` AS numero_esterno
175-
FROM
208+
FROM
176209
`dt_righe_ddt`
177-
INNER JOIN `dt_ddt` ON `dt_righe_ddt`.`idddt` = `dt_ddt`.`id`
210+
INNER JOIN `dt_ddt` ON `dt_righe_ddt`.`idddt` = `dt_ddt`.`id`
178211
INNER JOIN `dt_tipiddt` ON `dt_ddt`.`idtipoddt` = `dt_tipiddt`.`id`
179212
LEFT JOIN `dt_tipiddt_lang` ON (`dt_tipiddt`.`id` = `dt_tipiddt_lang`.`id_record` AND `dt_tipiddt_lang`.`id_lang` = '.prepare(Models\Locale::getDefault()->id).')
180-
WHERE
213+
WHERE
181214
`dt_righe_ddt`.`id`='.prepare($acquisto['id_riga_ddt']);
182215
$data = $dbo->fetchArray($query);
183216

@@ -189,19 +222,19 @@
189222
$module = 'Ordini cliente';
190223

191224
// Ricerca inserimenti su ordini
192-
$query = 'SELECT
193-
*,
194-
`or_tipiordine_lang`.`title` AS tipo_documento,
225+
$query = 'SELECT
226+
*,
227+
`or_tipiordine_lang`.`title` AS tipo_documento,
195228
`or_tipiordine`.`dir`,
196229
`or_ordini`.`numero`,
197230
`or_ordini`.`numero_esterno`,
198231
`or_ordini`.`data`
199-
FROM
200-
`or_righe_ordini`
232+
FROM
233+
`or_righe_ordini`
201234
INNER JOIN `or_ordini` ON `or_righe_ordini`.`idordine`=`or_ordini`.`id`
202235
INNER JOIN `or_tipiordine` ON `or_ordini`.`idtipoordine`=`or_tipiordine`.`id`
203236
LEFT JOIN `or_tipiordine_lang` ON (`or_tipiordine`.`id` = `or_tipiordine_lang`.`id_record` AND `or_tipiordine_lang`.`id_lang` = '.prepare(Models\Locale::getDefault()->id).')
204-
WHERE
237+
WHERE
205238
`or_righe_ordini`.`id`='.prepare($acquisto['id_riga_ordine']);
206239
$data = $dbo->fetchArray($query);
207240

@@ -275,19 +308,19 @@
275308
elseif (!empty($vendita['id_riga_ddt'])) {
276309
$module = 'Ddt in uscita';
277310

278-
$query = 'SELECT
279-
*,
311+
$query = 'SELECT
312+
*,
280313
`dt_tipiddt_lang`.`title` AS tipo_documento,
281314
`dt_tipiddt`.`dir`,
282315
`dt_ddt`.`numero`,
283316
`dt_ddt`.`numero_esterno`,
284317
`dt_ddt`.`data`
285-
FROM
318+
FROM
286319
`dt_righe_ddt`
287320
INNER JOIN `dt_ddt` ON `dt_righe_ddt`.`idddt`=`dt_ddt`.`id`
288321
INNER JOIN `dt_tipiddt` ON `dt_ddt`.`idtipoddt`=`dt_tipiddt`.`id`
289322
LEFT JOIN `dt_tipiddt_lang` ON (`dt_tipiddt_lang`.`id_record`=`dt_tipiddt`.`id` AND `dt_tipiddt_lang`.`id_lang`='.prepare(Models\Locale::getDefault()->id).')
290-
WHERE
323+
WHERE
291324
`dt_righe_ddt`.`id`='.prepare($vendita['id_riga_ddt']);
292325
$data = $dbo->fetchArray($query);
293326

@@ -299,19 +332,19 @@
299332
$module = 'Ordini cliente';
300333

301334
// Ricerca inserimenti su ordini
302-
$query = 'SELECT
303-
*,
335+
$query = 'SELECT
336+
*,
304337
`or_tipiordine_lang`.`title` AS tipo_ordine,
305338
`or_tipiordine`.`dir`,
306339
`or_ordini`.`numero`,
307340
`or_ordini`.`numero_esterno`,
308341
`or_ordini`.`data`
309-
FROM
342+
FROM
310343
`or_righe_ordini`
311344
INNER JOIN `or_ordini` ON `or_righe_ordini`.`idordine`=`or_ordini`.`id`
312345
INNER JOIN `or_tipiordine` ON `or_ordini`.`idtipoordine`=`or_tipiordine`.`id`
313346
LEFT JOIN `or_tipiordine_lang` ON (`or_tipiordine_lang`.`id_record`=`or_tipiordine`.`id` AND `or_tipiordine_lang`.`id_lang`='.prepare(Models\Locale::getDefault()->id).')
314-
WHERE
347+
WHERE
315348
`or_righe_ordini`.`id`='.prepare($vendita['id_riga_ordine']);
316349
$data = $dbo->fetchArray($query);
317350

@@ -428,6 +461,27 @@
428461
tags: true,
429462
tokenSeparators: [\',\']
430463
});
464+
465+
// Gestione cambio tab per far funzionare il tab "Inserimento singolo"
466+
$(\'a[data-toggle="tab"]\').on(\'shown.bs.tab\', function (e) {
467+
var target = $(e.target).attr("href");
468+
if (target === "#inserimento") {
469+
// Reinizializza il campo serials quando si apre il tab inserimento
470+
setTimeout(function() {
471+
if (!$("#serials").hasClass("select2-hidden-accessible")) {
472+
$("#serials").select2({
473+
theme: "bootstrap4",
474+
language: "it",
475+
allowClear: true,
476+
tags: true,
477+
tokenSeparators: [\',\']
478+
});
479+
}
480+
ricalcola_inserimento();
481+
}, 100);
482+
}
483+
});
484+
431485
});
432486
433487
function addSerial(form_id, numero) {
@@ -441,7 +495,7 @@ function addSerial(form_id, numero) {
441495
showCancelButton: true,
442496
confirmButtonText: "'.tr('Continua').'"
443497
}).then(function (result) {
444-
if ($("div[id^=bs-popup").is(":visible")) {
498+
if ($("div[id^=bs-popup").is(":visible")) {
445499
salvaForm($(form_id), {
446500
}).then(function(response) {
447501
$(form_id).closest("div[id^=bs-popup").modal("hide");

0 commit comments

Comments
 (0)