Aggiunto creazione al volo referente e contratto in creazione attività

This commit is contained in:
MatteoPistorello 2022-02-16 17:47:19 +01:00
parent e500120591
commit cfc351d418
4 changed files with 74 additions and 2 deletions

View File

@ -39,6 +39,11 @@ switch (post('op')) {
$contratto = Contratto::build($anagrafica, post('nome'));
// Salvataggio informazioni sul rinnovo
$contratto->idstato = post('idstato');
$contratto->validita = post('validita');
$contratto->tipo_validita = post('tipo_validita');
$contratto->data_accettazione = post('data_accettazione') ?: null;
$contratto->data_conclusione = post('data_conclusione') ?: null;
$contratto->rinnovabile = post('rinnovabile');
$contratto->rinnovo_automatico = post('rinnovo_automatico');
$contratto->giorni_preavviso_rinnovo = post('giorni_preavviso_rinnovo');
@ -47,6 +52,10 @@ switch (post('op')) {
$id_record = $contratto->id;
if (isAjaxRequest()) {
echo json_encode(['id' => $id_record, 'text' => 'Contratto '.$contratto->numero.' del '.dateFormat($contratto->data_bozza).' - '.$contratto->nome]);
}
flash()->info(tr('Aggiunto contratto numero _NUM_!', [
'_NUM_' => $contratto['numero'],
]));

View File

@ -21,6 +21,8 @@ include_once __DIR__.'/../../core.php';
$id_anagrafica = !empty(get('idanagrafica')) ? get('idanagrafica') : $user['idanagrafica'];
$stati = get('pianificabile') ? 'SELECT id, descrizione FROM co_staticontratti WHERE is_pianificabile=1' : 'SELECT id, descrizione FROM co_staticontratti';
echo '
<form action="" method="post" id="add-form">
<input type="hidden" name="op" value="add">
@ -39,10 +41,33 @@ echo '
</div>
</div>
<div class="row">
<div class="col-md-3">
{[ "type": "select", "label": "'.tr('Stato').'", "name": "idstato", "required": 1, "values": "query='.$stati.'" ]}
</div>
<div class="col-md-3">
{[ "type": "date", "label": "'.tr('Data accettazione').'", "name": "data_accettazione" ]}
</div>
<div class="col-md-3">
{[ "type": "date", "label": "'.tr('Data conclusione').'", "name": "data_conclusione" ]}
</div>
<div class="col-md-3">
{[ "type": "number", "label": "'.tr('Validità contratto').'", "name": "validita", "decimals": "0", "icon-after": "choice|period|'.$record['tipo_validita'].'", "help": "'.tr('Il campo Validità contratto viene utilizzato per il calcolo della Data di conclusione del contratto').'" ]}
</div>
</div>
<!-- Informazioni rinnovo -->
<div class="box box-primary">
<div class="box box-primary collapsable collapsed-box">
<div class="box-header">
<h3 class="box-title">'.tr('Informazioni per rinnovo').'</h3>
<div class="box-tools pull-right">
<button type="button" class="btn btn-box-tool" data-widget="collapse">
<i class="fa fa-plus"></i>
</button>
</div>
</div>
<div class="box-body">
@ -84,4 +109,13 @@ echo '
input("ore_preavviso_rinnovo").setDisabled(disabled);
input("rinnovo_automatico").setDisabled(disabled);
});
$("#data_conclusione").on("dp.change", function (e) {
let data_accettazione = $("#data_accettazione");
data_accettazione.data("DateTimePicker").maxDate(e.date);
if(data_accettazione.data("DateTimePicker").date() > e.date){
data_accettazione.data("DateTimePicker").date(e.date);
}
});
</script>';

View File

@ -199,6 +199,7 @@ switch (post('op')) {
$intervento->id_preventivo = post('idpreventivo');
$intervento->id_contratto = post('idcontratto');
$intervento->id_ordine = post('idordine');
$intervento->idreferente = post('idreferente');
$intervento->richiesta = post('richiesta');
$intervento->idsede_destinazione = $idsede_destinazione;
$intervento->data_scadenza = $data_scadenza;

View File

@ -183,7 +183,7 @@ echo '
</div>
<div class="col-md-4">
{[ "type": "select", "label": "'.tr('Contratto').'", "name": "idcontratto", "value": "'.$id_contratto.'", "ajax-source": "contratti", "readonly": "'.(empty($id_contratto) ? 0 : 1).'", "select-options": '.json_encode(['idanagrafica' => $id_anagrafica]).' ]}
{[ "type": "select", "label": "'.tr('Contratto').'", "name": "idcontratto", "value": "'.$id_contratto.'", "ajax-source": "contratti", "readonly": "'.(empty($id_contratto) ? 0 : 1).'", "select-options": '.json_encode(['idanagrafica' => $id_anagrafica]).', "icon-after": "add|'.Modules::get('Contratti')['id'].'|pianificabile=1&idanagrafica='.$id_anagrafica.'" ]}
</div>
<div class="col-md-4">
@ -191,6 +191,12 @@ echo '
</div>
</div>
<div class="row">
<div class="col-md-4">
{[ "type": "select", "label": "'.tr('Referente').'", "name": "idreferente", "ajax-source": "referenti", "select-options": '.json_encode(['idanagrafica' => $id_anagrafica, 'idclientefinale' => $id_cliente_finale]).', "icon-after": "add|'.Modules::get('Anagrafiche')['id'].'|id_plugin='.Plugins::get('Referenti')['id'].'&id_parent='.$id_anagrafica.'" ]}
</div>
</div>
<div class="row">
<div class="col-md-4">
{[ "type": "timestamp", "label": "'.tr('Data/ora richiesta').'", "name": "data_richiesta", "required": 1, "value": "'.($data_richiesta ?: '-now-').'" ]}
@ -401,6 +407,7 @@ if (!empty($id_intervento)) {
input("idpreventivo").disable();
input("idcontratto").disable();
input("idordine").disable();
input("idreferente").disable();
input("idimpianti").disable();
input("componenti").disable();
input("idanagrafica").disable();
@ -433,6 +440,8 @@ echo '
var contratto = input("idcontratto");
var preventivo = input("idpreventivo");
var ordine = input("idordine");
var referente = input("idreferente");
var cliente_finale = input("idclientefinale");
$(document).ready(function() {
if(!anagrafica.get()){
@ -440,6 +449,7 @@ echo '
preventivo.disable();
contratto.disable();
ordine.disable();
referente.disable();
input("idimpianti").disable();
input("componenti").disable();
} else{
@ -494,6 +504,9 @@ echo '
ordine.setDisabled(selected)
.getElement().selectReset(placeholder);
referente.setDisabled(selected)
.getElement().selectReset(placeholder);
input("idimpianti").setDisabled(selected);
let data = anagrafica.getData();
@ -520,8 +533,23 @@ echo '
plus_impianto = $(".modal #idimpianti").parent().find(".btn");
plus_impianto.attr("onclick", plus_impianto.attr("onclick").replace(/id_anagrafica=[0-9]*/, "id_anagrafica=" + value));
plus_contratto = $(".modal #idcontratto").parent().find(".btn");
plus_contratto.attr("onclick", plus_contratto.attr("onclick").replace(/idanagrafica=[0-9]*/, "idanagrafica=" + value));
plus_referente = $(".modal #idreferente").parent().find(".btn");
plus_referente.attr("onclick", plus_referente.attr("onclick").replace(/id_parent=[0-9]*/, "id_parent=" + value));
});
//gestione del cliente finale
cliente_finale.change(function() {
updateSelectOption("idclientefinale", $(this).val());
session_set("superselect,idclientefinale", $(this).val(), 0);
referente.getElement()
.selectReset("'.tr("Seleziona un'opzione").'");
});
// Gestione della modifica della sede selezionato
sede.change(function() {
updateSelectOption("idsede_destinazione", $(this).val());