This commit is contained in:
MatteoP 2020-12-18 17:01:12 +01:00
commit 8143dde5a6
3 changed files with 45 additions and 22 deletions

View File

@ -34,9 +34,12 @@ function start_superselect() {
* @param container * @param container
* @returns {*} * @returns {*}
*/ */
function selectOptionRender(data, container) { function optionRendering(data, container) {
let bg; // Aggiunta degli attributi impostati staticamente
selectOptionAttributes(data);
// Impostazione del colore dell'opzione
let bg;
if (data._bgcolor_) { if (data._bgcolor_) {
bg = data._bgcolor_; bg = data._bgcolor_;
} else if ($(data.element).attr("_bgcolor_")) { } else if ($(data.element).attr("_bgcolor_")) {
@ -50,6 +53,29 @@ function selectOptionRender(data, container) {
$(container).css("color", setContrast(bg)); $(container).css("color", setContrast(bg));
} }
return data.text;
}
/**
* Gestisce le operazioni di rendering per le opzioni selezionate del select.
*
* @param data
* @returns {*}
*/
function selectionRendering(data) {
// Aggiunta degli attributi impostati staticamente
selectOptionAttributes(data);
return data.text;
}
/**
* Gestisce le operazioni per l'impostazione dinamica degli attributi per una singola opzione del select.
*
* @param data
* @returns {void}
*/
function selectOptionAttributes(data) {
// Aggiunta degli attributi impostati staticamente // Aggiunta degli attributi impostati staticamente
let attributes = $(data.element).data("select-attributes"); let attributes = $(data.element).data("select-attributes");
if (attributes) { if (attributes) {
@ -57,8 +83,6 @@ function selectOptionRender(data, container) {
data[key] = value; data[key] = value;
} }
} }
return data.text;
} }
/** /**
@ -128,6 +152,9 @@ jQuery.fn.selectAdd = function (values) {
values.forEach(function (item) { values.forEach(function (item) {
if (item.data) { if (item.data) {
item['data-select-attributes'] = JSON.stringify(item.data);
// Retrocompatibilità per l'uso del attributo data su selectData
Object.keys(item.data).forEach(function (element) { Object.keys(item.data).forEach(function (element) {
item['data-' + element] = item.data[element]; item['data-' + element] = item.data[element];
}); });
@ -220,7 +247,8 @@ function initStaticSelectInput(input) {
escapeMarkup: function (text) { escapeMarkup: function (text) {
return text; return text;
}, },
templateResult: selectOptionRender, templateResult: optionRendering,
templateSelection: selectionRendering,
}); });
} }
@ -241,7 +269,8 @@ function initDynamicSelectInput(input) {
escapeMarkup: function (text) { escapeMarkup: function (text) {
return text; return text;
}, },
templateResult: selectOptionRender, templateResult: optionRendering,
templateSelection: selectionRendering,
ajax: { ajax: {
url: globals.rootdir + "/ajax_select.php?op=" + $input.data('source'), url: globals.rootdir + "/ajax_select.php?op=" + $input.data('source'),
dataType: 'json', dataType: 'json',

View File

@ -167,8 +167,9 @@ class Fattura extends Document
if (empty($id_banca_azienda)) { if (empty($id_banca_azienda)) {
$id_banca_azienda = $azienda->{'idbanca_'.$conto}; $id_banca_azienda = $azienda->{'idbanca_'.$conto};
} }
$model->id_banca_azienda = $id_banca_azienda;
} }
$model->id_banca_azienda = $id_banca_azienda;
// Gestione dello Split Payment sulla base dell'anagrafica Controparte // Gestione dello Split Payment sulla base dell'anagrafica Controparte
$split_payment = $anagrafica->split_payment; $split_payment = $anagrafica->split_payment;

View File

@ -32,7 +32,7 @@ include_once __DIR__.'/../../core.php';
{["type": "text", "label": "<?php echo tr('Ricerca con lettore'); ?>", "name": "barcode", "icon-before": "<i class=\"fa fa-barcode\"></i>" ]} {["type": "text", "label": "<?php echo tr('Ricerca con lettore'); ?>", "name": "barcode", "icon-before": "<i class=\"fa fa-barcode\"></i>" ]}
</div> </div>
</div> </div>
<div class="row"> <div class="row">
<div class="col-md-4"> <div class="col-md-4">
{["type": "select", "label": "<?php echo tr('Articolo'); ?>", "name": "idarticolo", "ajax-source": "articoli", "value": "", "required": 1, "select-options": {"permetti_movimento_a_zero": 1, "idanagrafica": <?php echo setting('Azienda predefinita'); ?>, "idsede_partenza": 0, "idsede_destinazione": 0} ]} {["type": "select", "label": "<?php echo tr('Articolo'); ?>", "name": "idarticolo", "ajax-source": "articoli", "value": "", "required": 1, "select-options": {"permetti_movimento_a_zero": 1, "idanagrafica": <?php echo setting('Azienda predefinita'); ?>, "idsede_partenza": 0, "idsede_destinazione": 0} ]}
@ -159,14 +159,13 @@ echo '
function ricercaBarcode(barcode) { function ricercaBarcode(barcode) {
// Ricerca via ajax del barcode negli articoli // Ricerca via ajax del barcode negli articoli
$.get( $.get(globals.rootdir + "/ajax_select.php?op=articoli&search=" + barcode,
globals.rootdir + "/ajax_select.php?op=articoli&search=" + barcode,
function(data){ function(data){
data = JSON.parse(data); data = JSON.parse(data);
// Articolo trovato // Articolo trovato
if(data.results.length === 1) { if(data.results.length === 1) {
var record = data.results[0]; let record = data.results[0];
$("#idarticolo").selectSetNew(record.id, record.text, record); $("#idarticolo").selectSetNew(record.id, record.text, record);
salva($("#aggiungi")); salva($("#aggiungi"));
@ -183,20 +182,14 @@ echo '
async function salva(button) { async function salva(button) {
$("#messages").html(""); $("#messages").html("");
var qta_input = input("qta"); let qta_input = input("qta");
var tipo_movimento = $("#tipo_movimento").val(); let tipo_movimento = $("#tipo_movimento").val();
let valid = await salvaForm(button, "#add-form"); let valid = await salvaForm(button, "#add-form");
if (valid) { if (valid) {
let articolo = $("#idarticolo").selectData(); let articolo = $("#idarticolo").selectData();
if( articolo.descrizione==undefined ){
articolo.descrizione = $( $("#idarticolo").selectData()["element"] ).data("descrizione");
articolo.codice = $( $("#idarticolo").selectData()["element"] ).data("codice");
articolo.um = $( $("#idarticolo").selectData()["element"] ).data("um");
articolo.prezzo_acquisto = $( $("#idarticolo").selectData()["element"] ).data("prezzo_acquisto");
articolo.prezzo_vendita = $( $("#idarticolo").selectData()["element"] ).data("prezzo_vendita");
}
let prezzo_acquisto = parseFloat(articolo.prezzo_acquisto); let prezzo_acquisto = parseFloat(articolo.prezzo_acquisto);
let prezzo_vendita = parseFloat(articolo.prezzo_vendita); let prezzo_vendita = parseFloat(articolo.prezzo_vendita);
@ -219,10 +212,10 @@ echo '
text = "Spostamento"; text = "Spostamento";
qta_rimanente = parseFloat(articolo.qta); qta_rimanente = parseFloat(articolo.qta);
} }
if (articolo.descrizione) { if (articolo.descrizione) {
let testo = $("#info-articolo").html(); let testo = $("#info-articolo").html();
testo = testo.replace("|alert-type|", alert_type) testo = testo.replace("|alert-type|", alert_type)
.replace("|icon|", icon) .replace("|icon|", icon)
.replace("|descrizione|", articolo.descrizione) .replace("|descrizione|", articolo.descrizione)