218 lines
14 KiB
PHP
218 lines
14 KiB
PHP
<?= $this->extend('layouts/main') ?>
|
|
|
|
|
|
|
|
<?= $this->section('part_body') ?>
|
|
|
|
|
|
<div class="container" role="main" >
|
|
|
|
<!-- Page Header -->
|
|
<br />
|
|
<h3>Gestione spese</h3>
|
|
<br />
|
|
<!-- Pulsante ADD spostato sulla tabella
|
|
<p>
|
|
Per inserire un nuovo record:
|
|
<button class="btn btn-success btn-sm" data-toggle="tooltip" title="Crea nuovo record" onclick="add_record()">
|
|
<svg class="bi bi-plus" width="1em" height="1em" viewBox="0 0 16 16" fill="currentColor" xmlns="http://www.w3.org/2000/svg"><path fill-rule="evenodd" d="M8 3.5a.5.5 0 0 1 .5.5v4a.5.5 0 0 1-.5.5H4a.5.5 0 0 1 0-1h3.5V4a.5.5 0 0 1 .5-.5z"/><path fill-rule="evenodd" d="M7.5 8a.5.5 0 0 1 .5-.5h4a.5.5 0 0 1 0 1H8.5V12a.5.5 0 0 1-1 0V8z"/></svg>
|
|
Nuovo
|
|
</button>
|
|
</p>
|
|
<br />
|
|
-->
|
|
|
|
<!-- Introduzione tabella: -->
|
|
<p>Elenco di tutte le spese (<?= $pager->getTotalRecords() ?> records) inserite, che soddisfano il filtro seguente:</p>
|
|
|
|
<?= $this->include('cmpnts/filter/filter_spese', ) ?>
|
|
|
|
<?= $pager->links() ?>
|
|
|
|
|
|
<!-- Tabella -->
|
|
<table class="table table-striped">
|
|
<thead class="thead-dark">
|
|
<tr>
|
|
<th>
|
|
<a data-toggle="tooltip" title="Order by ID <?php echo ($sortDir=='ASC' ? 'DESC' : 'ASC'); ?>" onclick="sort_tab('spIDSpesa','<?php echo ($sortDir=='ASC' ? 'DESC' : 'ASC'); ?>')">
|
|
<?php if ($sortCol=='spIDSpesa'): ?>
|
|
<?php if ($sortDir=='ASC'): ?>
|
|
<svg class="bi bi-arrow-up-short" width="1em" height="1em" viewBox="0 0 16 16" fill="currentColor" xmlns="http://www.w3.org/2000/svg"><path fill-rule="evenodd" d="M8 5.5a.5.5 0 0 1 .5.5v5a.5.5 0 0 1-1 0V6a.5.5 0 0 1 .5-.5z"/><path fill-rule="evenodd" d="M7.646 4.646a.5.5 0 0 1 .708 0l3 3a.5.5 0 0 1-.708.708L8 5.707 5.354 8.354a.5.5 0 1 1-.708-.708l3-3z"/></svg>
|
|
<?php else: ?>
|
|
<svg class="bi bi-arrow-down-short" width="1em" height="1em" viewBox="0 0 16 16" fill="currentColor" xmlns="http://www.w3.org/2000/svg"><path fill-rule="evenodd" d="M4.646 7.646a.5.5 0 0 1 .708 0L8 10.293l2.646-2.647a.5.5 0 0 1 .708.708l-3 3a.5.5 0 0 1-.708 0l-3-3a.5.5 0 0 1 0-.708z"/><path fill-rule="evenodd" d="M8 4.5a.5.5 0 0 1 .5.5v5a.5.5 0 0 1-1 0V5a.5.5 0 0 1 .5-.5z"/></svg>
|
|
<?php endif; ?>
|
|
<?php endif; ?>
|
|
ID
|
|
</a>
|
|
</th>
|
|
<th>
|
|
<a data-toggle="tooltip" title="Order by Lavoratore <?php echo ($sortDir=='ASC' ? 'DESC' : 'ASC'); ?>" onclick="sort_tab('lvNickname','<?php echo ($sortDir=='ASC' ? 'DESC' : 'ASC'); ?>')">
|
|
<?php if ($sortCol=='lvNickname'): ?>
|
|
<?php if ($sortDir=='ASC'): ?>
|
|
<svg class="bi bi-arrow-up-short" width="1em" height="1em" viewBox="0 0 16 16" fill="currentColor" xmlns="http://www.w3.org/2000/svg"><path fill-rule="evenodd" d="M8 5.5a.5.5 0 0 1 .5.5v5a.5.5 0 0 1-1 0V6a.5.5 0 0 1 .5-.5z"/><path fill-rule="evenodd" d="M7.646 4.646a.5.5 0 0 1 .708 0l3 3a.5.5 0 0 1-.708.708L8 5.707 5.354 8.354a.5.5 0 1 1-.708-.708l3-3z"/></svg>
|
|
<?php else: ?>
|
|
<svg class="bi bi-arrow-down-short" width="1em" height="1em" viewBox="0 0 16 16" fill="currentColor" xmlns="http://www.w3.org/2000/svg"><path fill-rule="evenodd" d="M4.646 7.646a.5.5 0 0 1 .708 0L8 10.293l2.646-2.647a.5.5 0 0 1 .708.708l-3 3a.5.5 0 0 1-.708 0l-3-3a.5.5 0 0 1 0-.708z"/><path fill-rule="evenodd" d="M8 4.5a.5.5 0 0 1 .5.5v5a.5.5 0 0 1-1 0V5a.5.5 0 0 1 .5-.5z"/></svg>
|
|
<?php endif; ?>
|
|
<?php endif; ?>
|
|
Lavoratore
|
|
</a>
|
|
</th>
|
|
<th>
|
|
<a data-toggle="tooltip" title="Order by Commessa <?php echo ($sortDir=='ASC' ? 'DESC' : 'ASC'); ?>" onclick="sort_tab('coNome','<?php echo ($sortDir=='ASC' ? 'DESC' : 'ASC'); ?>')">
|
|
<?php if ($sortCol=='coNome'): ?>
|
|
<?php if ($sortDir=='ASC'): ?>
|
|
<svg class="bi bi-arrow-up-short" width="1em" height="1em" viewBox="0 0 16 16" fill="currentColor" xmlns="http://www.w3.org/2000/svg"><path fill-rule="evenodd" d="M8 5.5a.5.5 0 0 1 .5.5v5a.5.5 0 0 1-1 0V6a.5.5 0 0 1 .5-.5z"/><path fill-rule="evenodd" d="M7.646 4.646a.5.5 0 0 1 .708 0l3 3a.5.5 0 0 1-.708.708L8 5.707 5.354 8.354a.5.5 0 1 1-.708-.708l3-3z"/></svg>
|
|
<?php else: ?>
|
|
<svg class="bi bi-arrow-down-short" width="1em" height="1em" viewBox="0 0 16 16" fill="currentColor" xmlns="http://www.w3.org/2000/svg"><path fill-rule="evenodd" d="M4.646 7.646a.5.5 0 0 1 .708 0L8 10.293l2.646-2.647a.5.5 0 0 1 .708.708l-3 3a.5.5 0 0 1-.708 0l-3-3a.5.5 0 0 1 0-.708z"/><path fill-rule="evenodd" d="M8 4.5a.5.5 0 0 1 .5.5v5a.5.5 0 0 1-1 0V5a.5.5 0 0 1 .5-.5z"/></svg>
|
|
<?php endif; ?>
|
|
<?php endif; ?>
|
|
Commessa
|
|
</a>
|
|
</th>
|
|
<th>
|
|
<a data-toggle="tooltip" title="Order by Data <?php echo ($sortDir=='ASC' ? 'DESC' : 'ASC'); ?>" onclick="sort_tab('spData','<?php echo ($sortDir=='ASC' ? 'DESC' : 'ASC'); ?>')">
|
|
<?php if ($sortCol=='spData'): ?>
|
|
<?php if ($sortDir=='ASC'): ?>
|
|
<svg class="bi bi-arrow-up-short" width="1em" height="1em" viewBox="0 0 16 16" fill="currentColor" xmlns="http://www.w3.org/2000/svg"><path fill-rule="evenodd" d="M8 5.5a.5.5 0 0 1 .5.5v5a.5.5 0 0 1-1 0V6a.5.5 0 0 1 .5-.5z"/><path fill-rule="evenodd" d="M7.646 4.646a.5.5 0 0 1 .708 0l3 3a.5.5 0 0 1-.708.708L8 5.707 5.354 8.354a.5.5 0 1 1-.708-.708l3-3z"/></svg>
|
|
<?php else: ?>
|
|
<svg class="bi bi-arrow-down-short" width="1em" height="1em" viewBox="0 0 16 16" fill="currentColor" xmlns="http://www.w3.org/2000/svg"><path fill-rule="evenodd" d="M4.646 7.646a.5.5 0 0 1 .708 0L8 10.293l2.646-2.647a.5.5 0 0 1 .708.708l-3 3a.5.5 0 0 1-.708 0l-3-3a.5.5 0 0 1 0-.708z"/><path fill-rule="evenodd" d="M8 4.5a.5.5 0 0 1 .5.5v5a.5.5 0 0 1-1 0V5a.5.5 0 0 1 .5-.5z"/></svg>
|
|
<?php endif; ?>
|
|
<?php endif; ?>
|
|
Il
|
|
</a>
|
|
</th>
|
|
<th>
|
|
<a data-toggle="tooltip" title="Order by Importo <?php echo ($sortDir=='ASC' ? 'DESC' : 'ASC'); ?>" onclick="sort_tab('spImporto','<?php echo ($sortDir=='ASC' ? 'DESC' : 'ASC'); ?>')">
|
|
<?php if ($sortCol=='spImporto'): ?>
|
|
<?php if ($sortDir=='ASC'): ?>
|
|
<svg class="bi bi-arrow-up-short" width="1em" height="1em" viewBox="0 0 16 16" fill="currentColor" xmlns="http://www.w3.org/2000/svg"><path fill-rule="evenodd" d="M8 5.5a.5.5 0 0 1 .5.5v5a.5.5 0 0 1-1 0V6a.5.5 0 0 1 .5-.5z"/><path fill-rule="evenodd" d="M7.646 4.646a.5.5 0 0 1 .708 0l3 3a.5.5 0 0 1-.708.708L8 5.707 5.354 8.354a.5.5 0 1 1-.708-.708l3-3z"/></svg>
|
|
<?php else: ?>
|
|
<svg class="bi bi-arrow-down-short" width="1em" height="1em" viewBox="0 0 16 16" fill="currentColor" xmlns="http://www.w3.org/2000/svg"><path fill-rule="evenodd" d="M4.646 7.646a.5.5 0 0 1 .708 0L8 10.293l2.646-2.647a.5.5 0 0 1 .708.708l-3 3a.5.5 0 0 1-.708 0l-3-3a.5.5 0 0 1 0-.708z"/><path fill-rule="evenodd" d="M8 4.5a.5.5 0 0 1 .5.5v5a.5.5 0 0 1-1 0V5a.5.5 0 0 1 .5-.5z"/></svg>
|
|
<?php endif; ?>
|
|
<?php endif; ?>
|
|
Importo
|
|
</a>
|
|
</th>
|
|
<th>
|
|
<a data-toggle="tooltip" title="Order by DaRimborsare <?php echo ($sortDir=='ASC' ? 'DESC' : 'ASC'); ?>" onclick="sort_tab('spDaRimborsare','<?php echo ($sortDir=='ASC' ? 'DESC' : 'ASC'); ?>')">
|
|
<?php if ($sortCol=='spDaRimborsare'): ?>
|
|
<?php if ($sortDir=='ASC'): ?>
|
|
<svg class="bi bi-arrow-up-short" width="1em" height="1em" viewBox="0 0 16 16" fill="currentColor" xmlns="http://www.w3.org/2000/svg"><path fill-rule="evenodd" d="M8 5.5a.5.5 0 0 1 .5.5v5a.5.5 0 0 1-1 0V6a.5.5 0 0 1 .5-.5z"/><path fill-rule="evenodd" d="M7.646 4.646a.5.5 0 0 1 .708 0l3 3a.5.5 0 0 1-.708.708L8 5.707 5.354 8.354a.5.5 0 1 1-.708-.708l3-3z"/></svg>
|
|
<?php else: ?>
|
|
<svg class="bi bi-arrow-down-short" width="1em" height="1em" viewBox="0 0 16 16" fill="currentColor" xmlns="http://www.w3.org/2000/svg"><path fill-rule="evenodd" d="M4.646 7.646a.5.5 0 0 1 .708 0L8 10.293l2.646-2.647a.5.5 0 0 1 .708.708l-3 3a.5.5 0 0 1-.708 0l-3-3a.5.5 0 0 1 0-.708z"/><path fill-rule="evenodd" d="M8 4.5a.5.5 0 0 1 .5.5v5a.5.5 0 0 1-1 0V5a.5.5 0 0 1 .5-.5z"/></svg>
|
|
<?php endif; ?>
|
|
<?php endif; ?>
|
|
Rimborso
|
|
</a>
|
|
</th>
|
|
<th>
|
|
<a data-toggle="tooltip" title="Order by Descrizione <?php echo ($sortDir=='ASC' ? 'DESC' : 'ASC'); ?>" onclick="sort_tab('spDescrizione','<?php echo ($sortDir=='ASC' ? 'DESC' : 'ASC'); ?>')">
|
|
<?php if ($sortCol=='spDescrizione'): ?>
|
|
<?php if ($sortDir=='ASC'): ?>
|
|
<svg class="bi bi-arrow-up-short" width="1em" height="1em" viewBox="0 0 16 16" fill="currentColor" xmlns="http://www.w3.org/2000/svg"><path fill-rule="evenodd" d="M8 5.5a.5.5 0 0 1 .5.5v5a.5.5 0 0 1-1 0V6a.5.5 0 0 1 .5-.5z"/><path fill-rule="evenodd" d="M7.646 4.646a.5.5 0 0 1 .708 0l3 3a.5.5 0 0 1-.708.708L8 5.707 5.354 8.354a.5.5 0 1 1-.708-.708l3-3z"/></svg>
|
|
<?php else: ?>
|
|
<svg class="bi bi-arrow-down-short" width="1em" height="1em" viewBox="0 0 16 16" fill="currentColor" xmlns="http://www.w3.org/2000/svg"><path fill-rule="evenodd" d="M4.646 7.646a.5.5 0 0 1 .708 0L8 10.293l2.646-2.647a.5.5 0 0 1 .708.708l-3 3a.5.5 0 0 1-.708 0l-3-3a.5.5 0 0 1 0-.708z"/><path fill-rule="evenodd" d="M8 4.5a.5.5 0 0 1 .5.5v5a.5.5 0 0 1-1 0V5a.5.5 0 0 1 .5-.5z"/></svg>
|
|
<?php endif; ?>
|
|
<?php endif; ?>
|
|
Descrizione
|
|
</a>
|
|
</th>
|
|
<th>
|
|
<button class="btn btn-success btn-sm" data-toggle="tooltip" title="Crea nuovo record" onclick="add_record()">
|
|
<!-- <svg class="bi bi-plus" width="1em" height="1em" viewBox="0 0 16 16" fill="currentColor" xmlns="http://www.w3.org/2000/svg"><path fill-rule="evenodd" d="M8 3.5a.5.5 0 0 1 .5.5v4a.5.5 0 0 1-.5.5H4a.5.5 0 0 1 0-1h3.5V4a.5.5 0 0 1 .5-.5z"/><path fill-rule="evenodd" d="M7.5 8a.5.5 0 0 1 .5-.5h4a.5.5 0 0 1 0 1H8.5V12a.5.5 0 0 1-1 0V8z"/></svg> -->
|
|
Nuovo
|
|
</button>
|
|
</th>
|
|
</tr>
|
|
</thead>
|
|
<tbody>
|
|
<?php foreach ($dataset as $item) : ?>
|
|
<tr>
|
|
<td><?= $item->spIDspesa ?></td>
|
|
<td data-toggle="tooltip" title="<?= $item->lvCognome ?> <?= $item->lvNome ?>"><?= $item->lvNickname ?></td>
|
|
<td data-toggle="tooltip" title="<?= $item->coDescrizione ?>"><?= $item->coNome ?></td>
|
|
<td><?= $item->spData ?></td>
|
|
<td><?= number_format( $item->spImporto, 4) ?></td>
|
|
<td><?= ($item->spDaRimborsare ? 'Da Rimborsare' : 'No Rimborso') ?></td>
|
|
<td><?= $item->spDescrizione ?></td>
|
|
<td>
|
|
<div class="btn-group" role="group" aria-label="Basic example">
|
|
<button type="button" class="btn btn-outline-success btn-sm" data-toggle="tooltip" title="Edit Record" onclick="edit_record('<?= $item->spIDspesa ?>')">
|
|
<svg class="bi bi-pencil" width="1em" height="1em" viewBox="0 0 16 16" fill="currentColor" xmlns="http://www.w3.org/2000/svg"><path fill-rule="evenodd" d="M11.293 1.293a1 1 0 0 1 1.414 0l2 2a1 1 0 0 1 0 1.414l-9 9a1 1 0 0 1-.39.242l-3 1a1 1 0 0 1-1.266-1.265l1-3a1 1 0 0 1 .242-.391l9-9zM12 2l2 2-9 9-3 1 1-3 9-9z"/><path fill-rule="evenodd" d="M12.146 6.354l-2.5-2.5.708-.708 2.5 2.5-.707.708zM3 10v.5a.5.5 0 0 0 .5.5H4v.5a.5.5 0 0 0 .5.5H5v.5a.5.5 0 0 0 .5.5H6v-1.5a.5.5 0 0 0-.5-.5H5v-.5a.5.5 0 0 0-.5-.5H3z"/></svg>
|
|
</button>
|
|
<button type="button" class="btn btn-outline-danger btn-sm" data-toggle="tooltip" title="Delete Record" onclick="delete_record('<?= $item->spIDspesa ?>')">
|
|
<svg class="bi bi-trash" width="1em" height="1em" viewBox="0 0 16 16" fill="currentColor" xmlns="http://www.w3.org/2000/svg"><path d="M5.5 5.5A.5.5 0 0 1 6 6v6a.5.5 0 0 1-1 0V6a.5.5 0 0 1 .5-.5zm2.5 0a.5.5 0 0 1 .5.5v6a.5.5 0 0 1-1 0V6a.5.5 0 0 1 .5-.5zm3 .5a.5.5 0 0 0-1 0v6a.5.5 0 0 0 1 0V6z"/><path fill-rule="evenodd" d="M14.5 3a1 1 0 0 1-1 1H13v9a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V4h-.5a1 1 0 0 1-1-1V2a1 1 0 0 1 1-1H6a1 1 0 0 1 1-1h2a1 1 0 0 1 1 1h3.5a1 1 0 0 1 1 1v1zM4.118 4L4 4.059V13a1 1 0 0 0 1 1h6a1 1 0 0 0 1-1V4.059L11.882 4H4.118zM2.5 3V2h11v1h-11z"/></svg>
|
|
</button>
|
|
</div>
|
|
</td>
|
|
</tr>
|
|
<?php endforeach; ?>
|
|
</tbody>
|
|
</table>
|
|
|
|
<?= $pager->links() ?>
|
|
|
|
<br />
|
|
<br />
|
|
<p>
|
|
Per esportare tutte le spese che soddisfano il filtro indicato:
|
|
<button class="btn btn-success btn-sm" data-toggle="tooltip" title="Esporta i records in CSV" onclick="export_records_csv()">
|
|
<svg class="bi bi-cloud-download" width="1em" height="1em" viewBox="0 0 16 16" fill="currentColor" xmlns="http://www.w3.org/2000/svg"><path d="M4.887 5.2l-.964-.165A2.5 2.5 0 1 0 3.5 10H6v1H3.5a3.5 3.5 0 1 1 .59-6.95 5.002 5.002 0 1 1 9.804 1.98A2.501 2.501 0 0 1 13.5 11H10v-1h3.5a1.5 1.5 0 0 0 .237-2.981L12.7 6.854l.216-1.028a4 4 0 1 0-7.843-1.587l-.185.96z"/><path fill-rule="evenodd" d="M5 12.5a.5.5 0 0 1 .707 0L8 14.793l2.293-2.293a.5.5 0 1 1 .707.707l-2.646 2.646a.5.5 0 0 1-.708 0L5 13.207a.5.5 0 0 1 0-.707z"/><path fill-rule="evenodd" d="M8 6a.5.5 0 0 1 .5.5v8a.5.5 0 0 1-1 0v-8A.5.5 0 0 1 8 6z"/></svg>
|
|
CSV
|
|
</button>
|
|
</p>
|
|
<br />
|
|
|
|
</div>
|
|
|
|
|
|
<br />
|
|
<br />
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<script type="text/javascript">
|
|
|
|
function add_record() {
|
|
//alert("<?php echo base_url('/Spese/add/'); ?>");
|
|
window.location = "<?php echo base_url('/Spese/add/'); ?>";
|
|
}
|
|
|
|
function edit_record(id) {
|
|
//alert("<?php echo base_url('/Spese/edit/'); ?>/" + id);
|
|
window.location = "<?php echo base_url('/Spese/edit/'); ?>/" + id;
|
|
|
|
}
|
|
|
|
function delete_record(id) {
|
|
var cnfrm = confirm('Confermi la cancellazione del record ' + id + ' ?');
|
|
if (cnfrm) {
|
|
//alert("<?php echo base_url('/Spese/delete/'); ?>/" + id);
|
|
window.location = "<?php echo base_url('/Spese/delete/'); ?>/" + id;
|
|
}
|
|
}
|
|
|
|
function export_records_csv(){
|
|
var cnfrm = confirm('Confermi la richiesta di esportare i valori filtrati ?\r\n L\'operazione potrebbe richiedere del tempo.');
|
|
if (cnfrm) {
|
|
//alert("<?php echo base_url('/Spese/export_csv/'); ?>");
|
|
window.location = "<?php echo base_url('/Spese/export_csv/'); ?>";
|
|
}
|
|
}
|
|
|
|
function sort_tab(field, val){
|
|
//alert("<?php echo base_url('/Orari/set_order/spese'); ?>/" + field + "/" + val);
|
|
window.location = "<?php echo base_url('/dashboard/set_order/spese'); ?>/" + field + "/" + val;
|
|
}
|
|
|
|
</script>
|
|
|
|
|
|
<?= $this->endSection() ?>
|