302 lines
11 KiB
PHP
302 lines
11 KiB
PHP
|
<!-- DataTables -->
|
|||
|
<link rel="stylesheet"
|
|||
|
href="<?php echo base_url('bower_components/datatables.net-bs/css/dataTables.bootstrap.min.css') ?>">
|
|||
|
<link rel="stylesheet" type="text/css" href="https://cdn.jsdelivr.net/npm/daterangepicker/daterangepicker.css"/>
|
|||
|
<link rel="stylesheet" type="text/css" href="https://cdn.datatables.net/buttons/1.6.2/css/buttons.dataTables.min.css">
|
|||
|
<link rel="stylesheet" href="<?php echo base_url('bower_components/toastr/toastr.css') ?>">
|
|||
|
<div class="content-wrapper">
|
|||
|
<?php
|
|||
|
?>
|
|||
|
<!-- Content Header (Page header) -->
|
|||
|
<section class="content-header">
|
|||
|
|
|||
|
<h1>
|
|||
|
<?php echo isset($category) ? 'Wallet' : $this->lang->line('Gestion des wallets') ; echo ' '.$network.' - '.$country
|
|||
|
.' :: '.$this->lang->line('subscriptions_history'); ?>
|
|||
|
<!-- <input type="button" class="btn btn-primary pull-right" id="Bactiver"-->
|
|||
|
<!-- value="Activer/Désactiver le(s) réseau(x)" />-->
|
|||
|
</h1>
|
|||
|
<?php
|
|||
|
$site_url = base_url();
|
|||
|
|
|||
|
if ($alert == "ok") {
|
|||
|
|
|||
|
if (!$success == "ok") {
|
|||
|
?>
|
|||
|
<div class='alert alert-danger alert-dismissible col-xs-6'>
|
|||
|
<button type='button' class='close' data-dismiss='alert' aria-hidden='true'>×</button>
|
|||
|
<h4><i class='icon fa fa-ban'></i> Erreur!</h4>
|
|||
|
<?php echo $message; ?>
|
|||
|
</div>
|
|||
|
|
|||
|
<?php
|
|||
|
} else {
|
|||
|
?>
|
|||
|
<div class="alert alert-success alert-dismissible col-xs-6">
|
|||
|
<button type="button" class="close" data-dismiss="alert" aria-hidden="true">×</button>
|
|||
|
<h4><i class="icon fa fa-check"></i> Success!</h4>
|
|||
|
<?php echo $message; ?>
|
|||
|
</div>
|
|||
|
|
|||
|
<?php
|
|||
|
}
|
|||
|
}
|
|||
|
?>
|
|||
|
</section>
|
|||
|
<section class="content">
|
|||
|
<div class="row">
|
|||
|
<div class="col-md-4 col-sm-6 col-xs-12">
|
|||
|
<div class="info-box">
|
|||
|
<span class="info-box-icon bg-aqua"><i class="ion ion-android-time"></i></span>
|
|||
|
<div class="info-box-content">
|
|||
|
<span class="info-box-text"><?php echo $this->lang->line('Période') ?> </span>
|
|||
|
<span class="info-box-number">
|
|||
|
<input id="picker"
|
|||
|
style="background: #fff; cursor: pointer; padding: 1px 1px; border: 1px solid #ccc; width: 100%"
|
|||
|
data-category="<?php echo isset($category) ? $category : null ?>"
|
|||
|
type="text" name="daterange"
|
|||
|
data-lang="<?php echo $this->session->userdata('site_lang') ?>"
|
|||
|
value="<?php echo ($startDate != null & $endDate != null) ? $startDate . ' - ' . $endDate : '' ?>"/>
|
|||
|
|
|||
|
</span>
|
|||
|
<span> Format : <?php echo $this->session->userdata('site_lang') === 'french' ? 'Jour - Mois - Année ' : 'Year - Month - Day' ?> </span>
|
|||
|
</div>
|
|||
|
</div>
|
|||
|
</div>
|
|||
|
|
|||
|
|
|||
|
</div>
|
|||
|
<div class="row">
|
|||
|
<div class="col-xs-12">
|
|||
|
<div class="box">
|
|||
|
<div class="box-header">
|
|||
|
<h3 class="box-title"><?php echo $this->lang->line('export_transaction_history') ?></h3>
|
|||
|
</div>
|
|||
|
<div class="box-body" style="overflow-x:auto;">
|
|||
|
|
|||
|
<table id="subscriptions" class="table table-bordered table-striped">
|
|||
|
<thead>
|
|||
|
<tr>
|
|||
|
<th align='center'>#</th>
|
|||
|
<th align='center'>ID</th>
|
|||
|
<th><?php echo $this->lang->line('Nom') ?></th>
|
|||
|
<th><?php echo $this->lang->line('Contact') ?></th>
|
|||
|
<th><?php echo $this->lang->line('number_of_months') ?></th>
|
|||
|
<th><?php echo $this->lang->line('number_of_beneficiaries') ?></th>
|
|||
|
<th><?php echo $this->lang->line('bonus_amount') ?></th>
|
|||
|
<th><?php echo $this->lang->line('state') ?></th>
|
|||
|
<th align='center'>Date</th>
|
|||
|
<th align='center'>Action</th>
|
|||
|
</tr>
|
|||
|
</thead>
|
|||
|
</table>
|
|||
|
</div>
|
|||
|
</div>
|
|||
|
</div>
|
|||
|
</div>
|
|||
|
</section>
|
|||
|
|
|||
|
|
|||
|
</div>
|
|||
|
<!-- jQuery 3 -->
|
|||
|
<script src="<?php echo base_url('bower_components/jquery/dist/jquery.min.js') ?>"></script>
|
|||
|
<!-- Bootstrap 3.3.7 -->
|
|||
|
<script src="<?php echo base_url('bower_components/bootstrap/dist/js/bootstrap.min.js') ?>"></script>
|
|||
|
<!-- DataTables -->
|
|||
|
<script src="<?php echo base_url('bower_components/datatables.net/js/jquery.dataTables.min.js') ?>"></script>
|
|||
|
<script src="<?php echo base_url('bower_components/datatables.net-bs/js/dataTables.bootstrap.min.js') ?>"></script>
|
|||
|
<!-- SlimScroll -->
|
|||
|
<script src="<?php echo base_url('bower_components/jquery-slimscroll/jquery.slimscroll.min.js') ?>"></script>
|
|||
|
<!-- FastClick -->
|
|||
|
<script src="<?php echo base_url('bower_components/fastclick/lib/fastclick.js') ?>"></script>
|
|||
|
<!-- AdminLTE App -->
|
|||
|
<script src="<?php echo base_url('dist/js/adminlte.min.js') ?>"></script>
|
|||
|
<!-- AdminLTE for demo purposes -->
|
|||
|
<script src="<?php echo base_url('dist/js/demo.js') ?>"></script>
|
|||
|
|
|||
|
<script type="text/javascript" src="https://cdn.jsdelivr.net/momentjs/latest/moment-with-locales.min.js"></script>
|
|||
|
<script type="text/javascript" src="https://cdn.jsdelivr.net/npm/daterangepicker/daterangepicker.min.js"></script>
|
|||
|
<script type="text/javascript" src="https://cdn.datatables.net/plug-ins/1.10.19/sorting/datetime-moment.js"></script>
|
|||
|
<script type="text/javascript" src="https://cdn.datatables.net/plug-ins/1.10.20/dataRender/datetime.js"></script>
|
|||
|
<script type="text/javascript" src="https://cdn.datatables.net/buttons/1.6.2/js/dataTables.buttons.min.js"></script>
|
|||
|
<script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/jszip/3.1.3/jszip.min.js"></script>
|
|||
|
<script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/pdfmake/0.1.53/pdfmake.min.js"></script>
|
|||
|
<script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/pdfmake/0.1.53/vfs_fonts.js"></script>
|
|||
|
<script type="text/javascript" src="https://cdn.datatables.net/buttons/1.6.2/js/buttons.html5.min.js"></script>
|
|||
|
<script type="text/javascript" src="https://cdn.datatables.net/buttons/1.6.2/js/buttons.print.min.js"></script>
|
|||
|
<script type="text/javascript" src="https://cdn.datatables.net/buttons/1.6.2/js/buttons.colVis.min.js"></script>
|
|||
|
<script src="<?php echo base_url('dist/js/sweetalert2.js') ?>"></script>
|
|||
|
<script src="<?php echo base_url('bower_components/toastr/toastr.js') ?>"></script>
|
|||
|
|
|||
|
|
|||
|
<script>
|
|||
|
$(function () {
|
|||
|
const lang = $('#picker').data('lang');
|
|||
|
const format = lang === 'french' ? 'fr' : 'en';
|
|||
|
moment.updateLocale(moment.locale(format), {invalidDate: ""}); // Blank text when is invalid date
|
|||
|
|
|||
|
var table = $('#subscriptions').DataTable({
|
|||
|
// Processing indicator
|
|||
|
"processing": true,
|
|||
|
"language": {
|
|||
|
"processing": "<?= $this->lang->line('loading') ?>",
|
|||
|
"emptyTable" : "<?= $this->lang->line('Aucune transaction') ?>"
|
|||
|
},
|
|||
|
// DataTables server-side processing mode
|
|||
|
"serverSide": true,
|
|||
|
// Initial no order.
|
|||
|
"order": [],
|
|||
|
// Load data from an Ajax source
|
|||
|
"ajax": {
|
|||
|
"url": "<?php echo base_url('pagination/InsuranceSubscription/getLists'); ?>",
|
|||
|
"data":{
|
|||
|
"startDate" : "<?= $startDate?>",
|
|||
|
"endDate" : "<?= $endDate?>",
|
|||
|
"id_network" : "<?= $id_network ?>",
|
|||
|
"currentURL" : "<?= current_url()?>"
|
|||
|
},
|
|||
|
"type": "POST"
|
|||
|
},
|
|||
|
"aaSorting": [[8, "desc"]],
|
|||
|
"columnDefs": [{
|
|||
|
"targets": [8],
|
|||
|
// "orderable": false,
|
|||
|
render: $.fn.dataTable.render.moment('YYYY-MM-DD HH:mm:ss', 'D MMMM YYYY HH:mm:ss', format)
|
|||
|
}],
|
|||
|
dom: 'Bfrtip',
|
|||
|
"buttons": [
|
|||
|
'pageLength',
|
|||
|
{
|
|||
|
"extend": 'excelHtml5',
|
|||
|
title: "<?= $this->lang->line('Historique des subscriptions') ?>",
|
|||
|
// exportOptions: {
|
|||
|
// columns: [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17]
|
|||
|
// },
|
|||
|
customizeData: function (data) {
|
|||
|
for (var i = 0; i < data.body.length; i++) {
|
|||
|
for (var j = 0; j < data.body[i].length; j++) {
|
|||
|
// data.body[i][j] = '\u200C' + data.body[i][j];
|
|||
|
if ([3, 4, 5,].includes(j)) {
|
|||
|
// Get the value and strip the non numeric characters
|
|||
|
// var value = $(this).text();
|
|||
|
value = data.body[i][j].replace(',', ".")
|
|||
|
data.body[i][j] = Number(value.replace(/[^0-9\.-]+/g, ""));
|
|||
|
}
|
|||
|
}
|
|||
|
}
|
|||
|
},
|
|||
|
trim: false,
|
|||
|
"action": newexportaction
|
|||
|
},
|
|||
|
{
|
|||
|
extend: 'csvHtml5',
|
|||
|
title: "<?= $this->lang->line('Historique des subscriptions') ?>",
|
|||
|
exportOptions: {
|
|||
|
columns: [0, 1, 2, 3, 4, 5, 6, 7, 8]
|
|||
|
},
|
|||
|
customizeData: function (data) {
|
|||
|
for (var i = 0; i < data.body.length; i++) {
|
|||
|
for (var j = 0; j < data.body[i].length; j++) {
|
|||
|
// data.body[i][j] = '\u200C' + data.body[i][j];
|
|||
|
if ([3, 4, 5, 10, 11, 12, 13, 14,15].includes(j)) {
|
|||
|
// Get the value and strip the non numeric characters
|
|||
|
// var value = $(this).text();
|
|||
|
value = data.body[i][j].replace(',', ".")
|
|||
|
data.body[i][j] = Number(value.replace(/[^0-9\.-]+/g, ""));
|
|||
|
}
|
|||
|
}
|
|||
|
}
|
|||
|
},
|
|||
|
trim: false,
|
|||
|
"action": newexportaction
|
|||
|
},
|
|||
|
{
|
|||
|
extend: 'pdfHtml5',
|
|||
|
orientation: 'landscape',
|
|||
|
pageSize: 'LEGAL',
|
|||
|
title: "<?= $this->lang->line('Historique des subscriptions') ?>",
|
|||
|
exportOptions: {
|
|||
|
columns: [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17]
|
|||
|
},
|
|||
|
trim: false,
|
|||
|
"action": newexportaction
|
|||
|
},
|
|||
|
// 'colvis'
|
|||
|
]
|
|||
|
});
|
|||
|
|
|||
|
table.buttons().container()
|
|||
|
.appendTo('#example_wrapper .col-sm-6:eq(0)');
|
|||
|
|
|||
|
});
|
|||
|
</script>
|
|||
|
|
|||
|
<script type="text/javascript">
|
|||
|
var startDate;
|
|||
|
var endDate;
|
|||
|
|
|||
|
$(function () {
|
|||
|
const lang = $('#picker').data('lang');
|
|||
|
const category = $('#picker').data('category');
|
|||
|
const id_network = "<?= $id_network?>";
|
|||
|
$('input[name="daterange"]').daterangepicker({
|
|||
|
opens: 'left',
|
|||
|
autoUpdateInput: false,
|
|||
|
locale: {
|
|||
|
format: lang === 'french' ? 'DD-MM-YYYY' : 'YYYY-MM-DD',
|
|||
|
cancelLabel: 'Clear'
|
|||
|
}
|
|||
|
}, function (start, end, label) {
|
|||
|
const debut = start.format('YYYY-MM-DD');
|
|||
|
const fin = end.format('YYYY-MM-DD');
|
|||
|
if(category)
|
|||
|
window.location = "<?php echo current_url()?>" + "?history=insurance-subscriptions" + "&d=" + debut + "&f=" + fin;
|
|||
|
else
|
|||
|
window.location = "<?php echo current_url()?>" + "?id="+id_network+"&history=insurance-subscriptions" + "&d=" + debut + "&f=" + fin;
|
|||
|
|
|||
|
});
|
|||
|
|
|||
|
$('input[name="daterange"]').on('cancel.daterangepicker', function(ev, picker) {
|
|||
|
//do something, like clearing an input
|
|||
|
$('#daterange').val('');
|
|||
|
if(category)
|
|||
|
window.location = "<?php echo current_url()?>" + "?history=insurance-subscriptions";
|
|||
|
else
|
|||
|
window.location = "<?php echo current_url()?>" + "?id="+id_network+"&history=insurance-subscriptions";
|
|||
|
});
|
|||
|
});
|
|||
|
|
|||
|
</script>
|
|||
|
<script>
|
|||
|
$(document).on("click", "#cancel", function () {
|
|||
|
const id_transaction = $(this).data('id-transaction');
|
|||
|
$.ajax({
|
|||
|
url : '<?php echo base_url('Gestion/cancelIlinkTransation')?>',
|
|||
|
type : 'POST',
|
|||
|
dataType : 'json',
|
|||
|
data: {"id_transaction": id_transaction},
|
|||
|
async:true,
|
|||
|
success : function(data){
|
|||
|
if(data){
|
|||
|
Swal.fire({
|
|||
|
icon: 'success',
|
|||
|
title: "<?php echo $this->lang->line('canceled_transaction')?>",
|
|||
|
text: "<?php echo $this->lang->line('informations_updated')?>",
|
|||
|
timer: 3000
|
|||
|
}).then(()=>{
|
|||
|
location.reload();
|
|||
|
});
|
|||
|
// alert("Les informations ont été mises à jour.") ? "" : location.reload();
|
|||
|
}else{
|
|||
|
toastr.error("<?php echo $this->lang->line('error_message')?>" , "<?php echo $this->lang->line('request_error')?>");
|
|||
|
}
|
|||
|
},
|
|||
|
|
|||
|
error : function(resultat, statut, erreur){
|
|||
|
console.log(resultat+" "+erreur);
|
|||
|
toastr.error("<?php echo $this->lang->line('error_message')?>" , "<?php echo $this->lang->line('request_error')?>");
|
|||
|
}
|
|||
|
});
|
|||
|
});
|
|||
|
</script>
|