golf_backend/app/Views/credit_points_list.php
venkateswaran ubuntu a098635f9b susee
2023-09-04 13:12:32 +05:30

460 lines
16 KiB
PHP
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<style>
.dataTables_filter{
margin-top: -35px;
}
.buttons-csv{
background-color: white;
color: #002B60;
border-color: #000;
}
.test {
box-shadow: 0 2px 6px 0 rgba(0,86,193,.5);
cursor: pointer;
color: #fff;
font-size: 15px;
padding: 10px;
width: 55px;
height: 25px;
line-height: 8px;
background: #00B4D5;
border-radius: 5px;
font-weight: 500;
display: block;
}
/* th{
text-align: center;
} */
</style>
<!-- start page title -->
<input id="empName" type="hidden" value="<?php echo $fname." ".$lname; ?> "><input id="empId" type="hidden" value=" <?php echo $id; ?>">
<div class="row">
<div class="col-12">
<div class="page-title-box page-title-box-alt">
<a href="<?php echo base_url().'members_list'; ?>" title="Back" ><i class="mdi mdi-keyboard-backspace" style="font-size: 35px;"></i></a>
<h4 class="page-title">Member Name : <?php echo $fname." ".$lname; ?> (Total Credits : <?php echo $avaiable_credit; ?>)</h4>
<div class="page-title-right">
<ol class="breadcrumb m-0">
<li class="breadcrumb-item manage-credits" >
<button type="button" class="btn btn-primary waves-effect waves-light">Manage Credits</button>
</li>
<!-- <li class="breadcrumb-item"><a href="javascript: void(0);">Tables</a></li>
<li class="breadcrumb-item active">Datatables</li> -->
</ol>
</div>
</div>
</div>
</div>
<!-- end page title -->
<div class="row">
<div class="col-12">
<div class="card">
<div class="card-body">
<input hidden id="costHidden" value="">
<!-- <h4 class="header-title">Buttons example</h4>
<p class="text-muted font-13 mb-4">
</p> -->
<table id="datatable-buttons" class="table table-striped dt-responsive nowrap w-100">
<thead>
<tr>
<th hidden>id</th>
<th style="text-align: center;">Order Id</th>
<th style="text-align: center;">Order Date</th>
<th style="text-align: center;">Expiry Date</th>
<th style="text-align: center;">Credit Transactions</th>
<th style="text-align: center;">Credit Balance</th>
<th style="text-align: center;">Remarks</th>
</tr>
</thead>
<tbody>
<?php foreach ($credit_data as $row)
{ ?>
<tr>
<td hidden><?php echo $row['id'];?></td>
<td style="text-align: center;"><?php echo $row['order_id'];?></td>
<td style="text-align: center;"><?php $date = new DateTime($row['created_at']); echo $date->format('M d , Y'); ?></td>
<td style="text-align: center;"><?php
if($row['running_balance'] + $row['used_points'] == 0)
{
echo '-';
}
else
{
$expirydate = new DateTime($row['expiring_date']); echo $expirydate->format('M d , Y');
}
?></td>
<td style="text-align: center;">
<?php
if($row['running_balance'] + $row['used_points'] == 0)
{
$balance = "- ".$row['credit_points'];
}else{
$balance = "+ ".$row['credit_points'];
}
echo $balance;
?>
</td>
<td style="text-align: center;"> <?php echo $row['avaiable_credit'];?> </td>
<td style="text-align: center;"> <?php if($row['remark'] != null && $row['remark'] != ''){ echo $row['remark']; }else{echo "-";};?> </td>
</tr>
<?php } ?>
</tbody>
</table>
</div> <!-- end card body-->
</div> <!-- end card -->
</div><!-- end col-->
</div>
<!-- end row-->
<!-- Modal content for the Large example -->
<!-- <div class="modal fade" id="bs-example-modal-lg" tabindex="-1" role="dialog" aria-labelledby="myLargeModalLabel" aria-hidden="true">
<div class="modal-dialog modal-lg" id="modalname">
<div class="modal-content">
<div class="modal-header">
<h4 class="modal-title" id="myLargeModalLabel"></h4>
<button type="button" class="close" data-dismiss="modal" aria-hidden="true">×</button>
</div>
<div id="plus" class="plus-ico" style="font-size:25px;text-align: end;padding-right: 40px;"></div>
<div class="modal-body" id="model-table" ></div>
</div>
</div>
</div>
</div> -->
<!-- Modal content for the Large example -->
<div class="modal fade" id="bs-example-modal-lg" tabindex="-1" role="dialog" aria-labelledby="myLargeModalLabel" aria-hidden="true">
<div class="modal-dialog modal-lg" id="modalname">
<div class="modal-content">
<div class="modal-header">
<h4 class="modal-title" id="myLargeModalLabel"></h4>
<button type="button" class="close" data-dismiss="modal" aria-hidden="true">×</button>
</div>
<div class="modal-body" id="model-table" ></div>
</div>
</div>
</div>
</div>
<script>
$(document).on('click','.manage-credits',function(){
var rule_key = '14';
$.ajax({
url:"<?= base_url(); ?>get_pack_list",
method: 'GET',
success: function(response) {
pack=[];
res = JSON.parse(response);
res.data.forEach((val,index) => {
pack[index] = `<option value="${val.id}">${val.package_name}</option>`;
});
addForm = `<div class="myform">
<form id="myform" method="POST" action="<?= base_url(); ?>add_creditsModel">
<input id="member_id" type="hidden" name="member_id" value="${ $('#empId').val() }">
<div class="row" style="width:80%;margin:auto;">
<div class="mb-1 mt-2 col-md-4 ">
<label >Add Credit points</label>
<input type="radio" class="add_or_sub" id="add" name="add_or_sub" value="add" checked>
</div>
<div class="mb-1 mt-2 col-md-4 ">
<label >Deduct Credit Points</label>
<input type="radio" class="add_or_sub" id="sub" name="add_or_sub" value="sub">
</div>
<div class="mb-1 mt-2 col-md-12 changeClass">
<label class="form-label">Pack</label>
<select name="package_name" id="packs" class="form-control">
<option value="CreditPoints">Custom credit points</option>
${pack}
</select>
</div>
<div id="count_hide_show" class="mb-1 mt-2"></div>
<div class="mb-1 mt-2 col-md-4">
<label class="form-label">Credit Points<span style="color: red;margin-left: 4px;">*</label>
<input type="number" class="form-control" min="1" name="credit_points" id="credit" required value="1" onkeypress = "return matchnum(event)">
</div>
<div class="mb-1 mt-2 col-md-4">
<label class="form-label">Cost($)<span style="color: red;margin-left: 4px;">*</label>
<input type="number" class="form-control" name="cost" id="cost" onkeypress = "return matchnum(event)" required value="${res.OnePackValue[0]['value']}">
</div>
<div class="mb-1 mt-2 col-md-4">
<label class="form-label">Transaction Method<span style="color: red;margin-left: 4px;">*</label>
<select name="method" id="method" class="form-control" required>
<option value="Others">Others</option>
<option value="card">Card</option>
<option value="cash">Cash</option>
</select>
</div>
<div class="mb-1 mt-2 col-md-12">
<label for="remarks" class="form-label">Remarks<span style="color: red;margin-left: 4px;">*</span></label>
<input type="text" class="form-control" id="remarks" name="remarks" required maxlength="30">
<span style="color: red;margin-left: 4px;"><i>Remarks must be 30 characters</i></span>
</div>
</div>
<div style="text-align:center;margin-top:30px;"><button type="submit" class="btn btn-primary waves-effect waves-light" id="button">Add</button></div>
</form>
</div>`
$('#myLargeModalLabel').html("Manage Credits For "+$('#empName').val()+" ")
$('#model-table').html(addForm);
$('#bs-example-modal-lg').modal('show');
$('#costHidden').val(res.OnePackValue[0]['value'])
$('#credit').on('keyup', function(){
var CrieditCount = $(this).val();
var cost = res.OnePackValue[0]['value'];
var costcount = cost * CrieditCount;
$('#cost').val(costcount);
if (CrieditCount == 0)
{
$('#button').prop('disabled', true);
}
else
{
$('#button').prop('disabled', false);
}
});
$('#method').on('click', function(){
if($(this).val() == 'Others')
{
$('#remarks').prop('required', true);
$('label[for="remarks"]').html('Remarks<span style="color: red;margin-left: 4px;">*</span>');
}
else
{
$('#remarks').prop('required', false);
$('label[for="remarks"]').text('Remarks');
}
});
$('#credit').on('click', function(){
if($('#packs').val() == 'CreditPoints')
{
var CrieditCount = $(this).val();
var cost = res.OnePackValue[0]['value'];
var costcount = cost * CrieditCount;
$('#cost').val(costcount);
if (CrieditCount == 0 || CrieditCount == "")
{
$('#button').prop('disabled', true);
}
else
{
$('#button').prop('disabled', false);
}
}
});
if ($('#credit').val() == 0)
{
$('#button').hide();
}
else
{
$('#button').show();
}
},
error: function(xhr, status, error) {
// Handle the error here
console.error(error);
}
});
});
</script>
<script>
$(document).on('change','#packs',function(){
id = $(this).val();
$.ajax({
url:"<?= base_url(); ?>get_pack_list",
method: 'POST',
data: { 'id' : id },
success: function(response) {
res = JSON.parse(response);
console.log(res)
if( res.data.length > 0)
{
$('.changeClass').removeClass('col-md-12').addClass('col-md-8');
count_hide_show = `<label class="form-label">Count</label><input type="number" class="form-control" name="count" min="1" value="1" onKeyDown="return false" id="count">`;
$('#count_hide_show').show();
$("#count_hide_show").addClass("col-md-4");
$('#count_hide_show').html(count_hide_show);
$('#credit').val(res.data[0]['credit']);
$('#credit').attr('readonly', true);
$('#cost').val(Number(res.data[0]['cost']).toFixed(2));
$('#cost').attr('readonly', true);
$('#count').on('input', function() {
var countValue = $(this).val();
var calculatedCredit = res.data[0]['credit'] * countValue;
$('#credit').val(calculatedCredit);
var calculatedCost = Number(res.data[0]['cost']).toFixed(2) * countValue
$('#cost').val(calculatedCost);
});
}
else
{
$('.changeClass').removeClass('col-md-8').addClass('col-md-12');
$('#count_hide_show').removeClass('col-md-4');
$('#count_hide_show').html('');
$('#credit').removeAttr('readonly');
$('#credit').val('1');
$('#cost').val(res.OnePackValue[0]['value']);
$('#cost').removeAttr('readonly');
}
},
error: function(xhr, status, error) {
// Handle the error here
console.error(error);
}
});
});
</script>
<script>
$(document).ready(function() {
$('#datatable-buttons').DataTable({
"order": [[0, 'desc']], // Set initial sorting to descending on the first column
"dom": 'Bfrtip', // Show export buttons
buttons: [
{
extend: 'pdfHtml5',
title: 'Member Name : <?php echo $fname." ".$lname; ?> (Total Credits : <?php echo $avaiable_credit; ?>)', // Set your custom PDF title here
text: 'PDF',
customize: function(doc) {
doc.content[1].table.body.forEach(function(row) {
row.splice(0, 1); // Remove the first column (ID column)
});
}
},
{
extend: 'print',
title: 'Member Name : <?php echo $fname." ".$lname; ?> (Total Credits : <?php echo $avaiable_credit; ?>)', // Set your custom print title here
text: 'Print',
customize: function(win) {
$(win.document.body).find('table').find('th:first-child, td:first-child').remove();
}
},
{
extend: 'copy',
text: 'Copy', // Set the title for the Copy button
titleAttr: 'Copy', // Set the tooltip for the Copy button
exportOptions: {
columns: ':not(:first-child)' // Exclude the first column (ID column)
}
},
{
extend: 'csv',
text: 'CSV', // Set the title for the CSV button
title: 'Member Name : <?php echo $fname." ".$lname; ?> (Total Credits : <?php echo $avaiable_credit; ?>)', // Set your custom print title here
exportOptions: {
columns: ':not(:first-child)' // Exclude the first column (ID column)
}
}
]
});
});
function matchnum(event)
{
var charcode;
charcode = event.which || event.keyCode;
if(charcode>= 48 && charcode <= 57)return true; //only numbers
return false;
}
$(document).on('change','.add_or_sub',function(){
var selectedValue = $('input[name="add_or_sub"]:checked').val();
// alert(selectedValue)
packSel = $('#packs').val();
if (selectedValue === 'sub') {
$("#packs").val(""); // Clear the Pack select
$("#packs").val("CreditPoints");
$('#count').val("")
$('#method option[value="card"]').hide();
$('#method option[value="cash"]').hide();
$('#method').val("Others")
$("#packs option[value='6']").hide();
$("#packs option[value='7']").hide();
$('#count_hide_show').hide();
$('#remarks').prop('required', true);
$("#credit").val("1"); // Reset Credit to 1 (you can set it to any default value)
$("#cost").val($("#costHidden").val());
$('#credit').prop('readonly', false);
$('#cost').prop('readonly', false);
$('.changeClass').removeClass('col-md-8').addClass('col-md-12');
$('label[for="remarks"]').html('Remarks<span style="color: red;margin-left: 4px;">*</span>');
} else {
$("#packs").val("CreditPoints");
$('#method option[value="card"]').show();
$('#method option[value="cash"]').show();
$("#packs option[value='6']").show();
$("#packs option[value='7']").show();
// $('#remarks').prop('required', false);
$("#cost").val($("#costHidden").val());
// $('label[for="remarks"]').text('Remarks');
$('#remarks').prop('required', true);
$('label[for="remarks"]').html('Remarks<span style="color: red;margin-left: 4px;">*</span>');
if(packSel == 'CreditPoints'){
$('#count_hide_show').hide();
}
else
{
$('#count_hide_show').show();
}
}
if($(this).val() == 'sub')
{
$('#button').html('Deduct');
}else{
$('#button').html('Add');
}
});
</script>