Non puoi selezionare più di 25 argomenti
Gli argomenti devono iniziare con una lettera o un numero, possono includere trattini ('-') e possono essere lunghi fino a 35 caratteri.
357 righe
17 KiB
357 righe
17 KiB
<? |
|
if (isset($this) && is_a($this,"anac")) { |
|
$lock = $this->checkLock("requisiti"); |
|
$dati = $this->getDati(); |
|
$requisiti = anac::getListeSIMOG("CodRequisitoType",$this->info["data_invio_simog"]); |
|
if (empty($dati["requisiti"])) { |
|
$this->addRequisitiObbligatori(); |
|
$dati = $this->getDati(); |
|
} |
|
if (!empty($dati["requisiti"])) { |
|
if (!$lock) { |
|
?> |
|
<form rel="validate" method="post" action="/backend/anac/requisiti/send.php" id="edit-form"> |
|
<input id="token" type="hidden" name="token" value="<?= tokenGen() ?>"> |
|
<input id="codice" type="hidden" name="codice" value="<?= $this->info["codice"] ?>"> |
|
<div id="commands" class="mb-5"> |
|
<div class="commands container-fluid"> |
|
<div class="row"> |
|
<div class="col-12 text-right"> |
|
<button type="button" class="btn btn-sm btn-warning" onClick="editRequisito(0)"> |
|
<span class="fa fa-plus-circle"></span> <?= __("Aggiungi nuovo") ?> |
|
</button> |
|
<? if ($_SESSION["utente"]->permission("simog")) { ?> |
|
<button class="btn btn-sm btn-success" onclick="$('#send').val('S')"><span class="fa fa-paper-plane"></span> <?= __("Invia al SIMOG") ?></button> |
|
<? } ?> |
|
</div> |
|
</div> |
|
</div> |
|
</div> |
|
<? } ?> |
|
<table class="table table-striped table-hover"> |
|
<thead> |
|
<tr> |
|
<th width="80%"><?= __("Requisito") ?></th> |
|
<th class="text-center"><?= __("Obbligatorio") ?></th> |
|
<? if (!$lock) { ?> |
|
<th width="10"></th> |
|
<th width="10"></th> |
|
<? } ?> |
|
</tr> |
|
</thead> |
|
<tbody> |
|
<? |
|
foreach($dati["requisiti"] AS $requisito) { |
|
$obbligatorio = false; |
|
$descrizione = $requisiti[$requisito["codice_dettaglio"]]; |
|
if(strpos($descrizione,"OBBLIGATORIO") !== FALSE) { |
|
$obbligatorio = true; |
|
} |
|
?> |
|
<tr> |
|
<td><?= $descrizione ?></td> |
|
<td class="text-center"><?= $obbligatorio ? __("Si") : __("No") ?></td> |
|
<? if (!$lock && !$obbligatorio) { ?> |
|
<td> |
|
<input type="hidden" value="<?= base64_encode(json_encode($requisito)) ?>" id="requisito-<?= $requisito["codice_dettaglio"] ?>"> |
|
<button type="button" class="btn btn-sm btn-warning" onClick="editRequisito('requisito-<?= $requisito["codice_dettaglio"] ?>')"> |
|
<span class="fa fa-edit"></span> |
|
</button> |
|
</td> |
|
<td> |
|
<button type="button" class="btn btn-danger btn-sm" onClick="elimina(<?= $requisito["codice_dettaglio"] ?>,'anac/requisiti','codice_simog=<?= $this->info["codice"] ?>')"> |
|
<span class="fa fa-times"></span> |
|
</button> |
|
</td> |
|
<? } else { ?> |
|
<td colspan="2"></td> |
|
<? } ?> |
|
</tr> |
|
<? |
|
} |
|
?> |
|
</tbody> |
|
</table> |
|
<? if (!$lock) { ?> |
|
<? if ($_SESSION["utente"]->permission("simog")) { ?> |
|
<button class="btn btn-block btn-success" onclick="$('#send').val('S')"><span class="fa fa-paper-plane"></span> <?= __("Invia al SIMOG") ?></button> |
|
<? } ?> |
|
</form> |
|
<? |
|
$alreadySelected = array_keys($dati["requisiti"]); |
|
$select = ["flag_esclusione"=>"Esclusione","flag_comprova_offerta"=>"Comprova offerta","flag_avvalimento"=>"Avvalimento","flag_bando_tipo"=>"Bando tipo","flag_riservatezza" => "Riservatezza"]; |
|
?> |
|
<!-- Modal --> |
|
<div class="modal fade" id="modal-requisito" tabindex="-1" role="dialog" aria-hidden="true"> |
|
<div class="modal-dialog modal-xl" role="document"> |
|
<div class="modal-content"> |
|
<div class="modal-header"> |
|
<button type="button" class="close" data-dismiss="modal" aria-label="Close"> |
|
<span aria-hidden="true">×</span> |
|
</button> |
|
</div> |
|
<div class="modal-body"> |
|
<form rel="validate" method="post" action="/backend/anac/requisiti/save.php" id="edit-requisito"> |
|
<input type="hidden" name="token" value="<?= tokenGen() ?>"> |
|
<input type="hidden" name="codice" value="<?= $this->info["codice"] ?>"> |
|
<input id="hidden_codice_dettaglio" type="hidden" name="hidden_codice_dettaglio"> |
|
<div class="form-group" id="criterio-select"> |
|
<label for="codice_dettaglio"><?= __("Requisito") ?></label> |
|
<select onChange="checkdescrizione()" class="form-control" id="codice_dettaglio" name="codice_dettaglio"> |
|
<option value=""></option> |
|
<? foreach($requisiti AS $id => $requisito) { |
|
if (in_array($id,$alreadySelected) === false) { ?> |
|
<option value="<?= $id ?>"><?= $requisito ?></option> |
|
<? } |
|
} ?> |
|
</select> |
|
</div> |
|
<? foreach($requisiti AS $id => $requisito) { |
|
if (in_array($id,$alreadySelected) !== false) { ?> |
|
<div class="collapse criterio-titles" id="option-<?= $id ?>"><?= $requisito ?></div> |
|
<? } |
|
} |
|
?> |
|
<div class="form-group" id="div_descrizione"> |
|
<label for="descrizione"><?= __("descrizione") ?></label> |
|
<textarea class="form-control" title="<?= __("descrizione") ?>" id="descrizione" name="descrizione" rel="S;0;0;A"></textarea> |
|
</div> |
|
<div class="form-group"> |
|
<label for="valore"><?= __("Valore minimo") ?></label> |
|
<input class="form-control" title="<?= __("Valore minimo") ?>" id="valore" name="valore" rel="N;0;0;A"> |
|
<div class="alert alert-info p-1"> |
|
<small> |
|
<?= __("Es. se richiesto un Fatturato annuale è possibile indicarne il valore minimo") ?> |
|
</small> |
|
</div> |
|
</div> |
|
<div class="d-flex flex-wrap my-3"> |
|
<?php |
|
foreach($select AS $type => $title) { |
|
$title = __($title); |
|
?> |
|
<div class="col text-center"> |
|
<div class="form-group"> |
|
<label for="type"><?= $title ?></label> |
|
<select id="<?= $type ?>" name="<?= $type ?>" title="<?= $title ?>" rel="S;1;1;A"> |
|
<option value=""><?= __("Seleziona") ?></option> |
|
<option value="S"><?= __("Si") ?></option> |
|
<option value="N"><?= __("No") ?></option> |
|
</select> |
|
</div> |
|
</div> |
|
<? |
|
} |
|
?> |
|
</div> |
|
<div class="border p-3 my-3"> |
|
<div class="d-flex"> |
|
<div class="col form-group text-center"> |
|
<input type="radio" name="allCig" value="S" onClick="clearCIG()"><br> |
|
<?= __("Valido per tutti i CIG") ?> |
|
</div> |
|
<div class="col form-group text-center"> |
|
<input type="radio" name="allCig" value="N" onClick="showCIG()"><br> |
|
<?= __("Valido solo per alcuni CIG") ?> |
|
</div> |
|
</div> |
|
<div class="collapse" id="cigContainer"> |
|
<table class="table table-striped"> |
|
<? |
|
foreach($this->getLotti() AS $lotto) { |
|
?> |
|
<tr> |
|
<td width="10"><input type="checkbox" name="CIG[]" value="<?= $lotto["cig"] ?>" class="cig-checkbox" id="<?= $lotto["cig"] ?>-checkbox"></td> |
|
<td><strong><?= $lotto["cig"] ?></strong> - <?= $lotto["oggetto"] ?></td> |
|
</tr> |
|
<? |
|
} |
|
?> |
|
</table> |
|
</div> |
|
</div> |
|
<div class="text-right mb-2"> |
|
<button type="button" onClick="addDocument()" class="btn btn-info btn-sm"> |
|
<span class="fa fa-file"></span> <?= __("Aggiungi richiesta documento") ?> |
|
</button> |
|
</div> |
|
<div id="documento-corpo"> |
|
</div> |
|
<button class="btn btn-block btn-primary"><span class="fa fa-save"></span> <?= __("Salva") ?></button> |
|
</form> |
|
</div> |
|
</div> |
|
</div> |
|
</div> |
|
<? $id_doc = "#---id---#"; ?> |
|
<div id="document-model" class="collapse"> |
|
<div class="mb-2 card card-body"> |
|
<div class="text-right"> |
|
<button class="btn btn-sm btn-danger" type="button" onClick="$(this).parent().parent().slideUp('fast',function(){ $(this).remove() });"> |
|
<span class="fa fa-times"></span> |
|
</button> |
|
</div> |
|
<div class="form-group"> |
|
<label for="DOCUMENTO[<?= $id_doc ?>][codice_tipo_doc]"><?= __("Tipo documento") ?>*</label> |
|
<select class="not-chosen form-control" title="<?= __("Tipo documento") ?>" name="DOCUMENTO[<?= $id_doc ?>][codice_tipo_doc]" id="DOCUMENTO-<?= $id_doc ?>-codice_tipo_doc" rel="S;0;0;A"> |
|
<option value=""></option> |
|
<? |
|
$tipologie = anac::getListeSIMOG("CodTipoDocType",$this->info["data_invio_simog"]); |
|
foreach($tipologie AS $id_tipologia => $documento) { ?> |
|
<option value="<?= $id_tipologia ?>"><?= $documento ?></option> |
|
<? } ?> |
|
</select> |
|
</div> |
|
<div class="form-group"> |
|
<label for="DOCUMENTO[<?= $id_doc ?>][descrizione_documento]"><?= __("descrizione") ?></label> |
|
<input class="form-control" title="<?= __("descrizione") ?>" name="DOCUMENTO[<?= $id_doc ?>][descrizione_documento]" id="DOCUMENTO-<?= $id_doc ?>-descrizione_documento" rel="N;0;0;A"> |
|
<div class="alert alert-info p-1"> |
|
<small> |
|
<?= __("Da inserire solo in caso di tipologia di documento non codificata") ?> |
|
</small> |
|
</div> |
|
</div> |
|
<div class="form-group"> |
|
<label for="DOCUMENTO[<?= $id_doc ?>][emettitore]"><?= __("Ente emettitore") ?>*</label> |
|
<input class="form-control" title="<?= __("Ente emettitore") ?>" name="DOCUMENTO[<?= $id_doc ?>][emettitore]" id="DOCUMENTO-<?= $id_doc ?>-emettitore" rel="S;0;0;A"> |
|
</div> |
|
<div class="row"> |
|
<div class="col-12 col-lg-3"> |
|
<div class="form-group"> |
|
<label for="DOCUMENTO[<?= $id_doc ?>][telefono]"><?= __("Telefono") ?>*</label> |
|
<input class="form-control" title="<?= __("Telefono") ?>" name="DOCUMENTO[<?= $id_doc ?>][telefono]" id="DOCUMENTO-<?= $id_doc ?>-telefono" rel="S;0;0;A"> |
|
</div> |
|
</div> |
|
<div class="col-12 col-lg-3"> |
|
<div class="form-group"> |
|
<label for="DOCUMENTO[<?= $id_doc ?>][fax]"><?= __("Fax") ?>*</label> |
|
<input class="form-control" title="<?= __("Fax") ?>" name="DOCUMENTO[<?= $id_doc ?>][fax]" id="DOCUMENTO-<?= $id_doc ?>-fax" rel="S;0;0;A"> |
|
</div> |
|
</div> |
|
<div class="col-12 col-lg-3"> |
|
<div class="form-group"> |
|
<label for="DOCUMENTO[<?= $id_doc ?>][mail]"><?= __("E-mail") ?>*</label> |
|
<input class="form-control" title="<?= __("E-mail") ?>" name="DOCUMENTO[<?= $id_doc ?>][mail]" id="DOCUMENTO-<?= $id_doc ?>-mail" rel="S;0;0;E"> |
|
</div> |
|
</div> |
|
<div class="col-12 col-lg-3"> |
|
<div class="form-group"> |
|
<label for="DOCUMENTO[<?= $id_doc ?>][mail_pec]"><?= __("PEC") ?>*</label> |
|
<input class="form-control" title="<?= __("PEC") ?>" name="DOCUMENTO[<?= $id_doc ?>][mail_pec]" id="DOCUMENTO-<?= $id_doc ?>-mail_pec" rel="S;0;0;E"> |
|
</div> |
|
</div> |
|
</div> |
|
</div> |
|
</div> |
|
<!-- Modal --> |
|
<script> |
|
var id_documento = 0; |
|
function addDocument(documento) { |
|
id_documento++; |
|
if (typeof documento === "undefined") { |
|
documento = []; |
|
documento["codice_tipo_doc"] = ""; |
|
documento["descrizione_documento"] = ""; |
|
documento["emettitore"] = ""; |
|
documento["telefono"] = ""; |
|
documento["fax"] = ""; |
|
documento["mail"] = ""; |
|
documento["mail_pec"] = ""; |
|
} |
|
html = $("#document-model").html(); |
|
html = html.replaceAll("<?= $id_doc ?>",id_documento); |
|
$("#documento-corpo").append(html); |
|
$("#DOCUMENTO-"+id_documento+"-codice_tipo_doc").val(documento["codice_tipo_doc"]); |
|
$("#DOCUMENTO-"+id_documento+"-descrizione_documento").val(documento["descrizione_documento"]); |
|
$("#DOCUMENTO-"+id_documento+"-emettitore").val(documento["emettitore"]); |
|
$("#DOCUMENTO-"+id_documento+"-telefono").val(documento["telefono"]); |
|
$("#DOCUMENTO-"+id_documento+"-fax").val(documento["fax"]); |
|
$("#DOCUMENTO-"+id_documento+"-mail").val(documento["mail"]); |
|
$("#DOCUMENTO-"+id_documento+"-mail_pec").val(documento["mail_pec"]); |
|
} |
|
function editRequisito(id) { |
|
id_documento = 0; |
|
values = []; |
|
values["codice_dettaglio"] = ""; |
|
values["descrizione"] = ""; |
|
values["valore"] = ""; |
|
values["flag_esclusione"] = ""; |
|
values["flag_comprova_offerta"] = ""; |
|
values["flag_avvalimento"] = ""; |
|
values["flag_bando_tipo"] = ""; |
|
values["flag_riservatezza"] = ""; |
|
values["DOCUMENTO"] = []; |
|
values["CIG"] = []; |
|
$(".criterio-titles").hide(); |
|
$("#criterio-select").show(); |
|
if (id != 0) { |
|
element = $('#'+id); |
|
json = atob(element.val()); |
|
values = JSON.parse(json); |
|
$("#codice_dettaglio").attr("disabled","disabled").trigger("chosen:updated"); |
|
clearCIG(); |
|
if (typeof values["CIG"] !== "undefined") { |
|
$.each( values["CIG"], function( key, value ) { |
|
$("#"+value+"-checkbox").prop('checked',true); |
|
}); |
|
showCIG(); |
|
} |
|
if (typeof values["DOCUMENTO"] !== "undefined") { |
|
$.each( values["DOCUMENTO"], function( key, value ) { |
|
addDocument(value); |
|
}); |
|
showCIG(); |
|
} |
|
$('#option-'+values["codice_dettaglio"]).show(); |
|
$("#criterio-select").hide(); |
|
} else { |
|
clearCIG(); |
|
$("#codice_dettaglio").removeAttr("disabled").trigger("chosen:updated"); |
|
} |
|
<? |
|
$keys = array_keys($select); |
|
foreach($keys AS $key) { |
|
?> |
|
$("#<?= $key ?>").val(values["<?= $key ?>"]).trigger("chosen:updated"); |
|
<? |
|
} |
|
?> |
|
$("#codice_dettaglio").val(values["codice_dettaglio"]).trigger("chosen:updated"); |
|
$("#hidden_codice_dettaglio").val(values["codice_dettaglio"]); |
|
checkdescrizione(); |
|
$("#descrizione").val(values["descrizione"]); |
|
$("#VALORE").val(values["valore"]); |
|
$("#modal-requisito").modal('show'); |
|
} |
|
function checkdescrizione() { |
|
check = ["36","37","38","39","40","41","58"]; |
|
if ($.inArray($("#codice_dettaglio").val(), check) >= 0) { |
|
$("#div_descrizione").slideDown(); |
|
$("#descrizione").removeAttr("disabled"); |
|
} else { |
|
$("#div_descrizione").slideUp(); |
|
$("#descrizione").attr("disabled","disabled"); |
|
} |
|
} |
|
function clearCIG() { |
|
$("#cigContainer").slideUp(); |
|
$('.cig-checkbox').prop("checked",false); |
|
} |
|
function showCIG() { |
|
$("#cigContainer").slideDown(); |
|
} |
|
</script> |
|
<? |
|
} else { |
|
?><script>$(":input").not(".ignore-lock").attr("disabled","disabled").trigger("chosen:updated");</script><? |
|
} |
|
} else { |
|
?> |
|
<div class="aler alert-danger p-5 text-center"> |
|
<span class="fa fa-exclamation-triangle fa-3x"></span><br> |
|
<?= __("Errore configurazione"); ?> |
|
</div> |
|
<? |
|
} |
|
} |
|
?>
|